{"version":3,"file":"script/bundle-swedish-private.d6c1372a27.js","mappings":"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JkrB,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJnuB,GAAI,aACJouB,GAAI,aACJC,GAAI,aACJzQ,GAAI,aACJ0Q,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,G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","sources":["webpack://touchweb/webpack/runtime/chunk loaded","webpack://touchweb/webpack/runtime/create fake namespace object","webpack://touchweb/webpack/runtime/load script","webpack://touchweb/./src/components/dialog/dialog-modal.module.scss","webpack://touchweb/./src/apps/registration/messages/error-messages.js","webpack://touchweb/./src/apps/registration/services/login-signup-analytics.js","webpack://touchweb/./src/apps/registration/components/common/form/blocking-loader.jsx","webpack://touchweb/./src/apps/registration/components/forms/format-personal-id.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/personal-details-autofill.js","webpack://touchweb/./src/apps/registration/services/lookup-personal-number.js","webpack://touchweb/./src/apps/registration/helpers/validate.js","webpack://touchweb/./src/apps/registration/services/form-tracker.js","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/form.js","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/local-form-store.js","webpack://touchweb/./src/apps/registration/helpers/parse-jwt.js","webpack://touchweb/./src/apps/registration/helpers/social-auth/google.js","webpack://touchweb/./src/apps/registration/helpers/social-auth/apple.js","webpack://touchweb/./src/apps/registration/helpers/social-auth/facebook.js","webpack://touchweb/./src/apps/registration/helpers/social-auth/klarna.js","webpack://touchweb/./src/apps/registration/components/icons.jsx","webpack://touchweb/./src/blueprint/theme/icons/arrow-left.svg","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-provider-email-required.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-provider-email-exists.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-provider-id-exists.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-form-account-created-with-provider.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/input-text.jsx","webpack://touchweb/./src/apps/registration/components/common/form/errors-list.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/form-error-list.jsx","webpack://touchweb/./src/blueprint/theme/icons/help.svg","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/form-field.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/input-personal-id.jsx","webpack://touchweb/./src/blueprint/theme/icons-colored/google.svg","webpack://touchweb/./src/blueprint/theme/icons/warning.svg","webpack://touchweb/./src/apps/registration/components/forms/google-signup-button.jsx","webpack://touchweb/./src/blueprint/theme/icons-colored/klarna-k.svg","webpack://touchweb/./src/components/social-buttons/social-buttons.module.scss","webpack://touchweb/./src/blueprint/theme/icons2/facebook.svg","webpack://touchweb/./src/blueprint/theme/icons2/network-apple.svg","webpack://touchweb/./src/components/social-buttons/social-buttons.tsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-form-step-1.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/terms.js","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-v2/marketing.tsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/auto-filled-personal-details.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/manual-personal-details.jsx","webpack://touchweb/./node_modules/personnummer/dist/esm/index.js","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-form-step-2.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-facebook.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-apple.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-google.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-klarna.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-manual-review.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-wait-for-account-creation.jsx","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-form-account-created.jsx","webpack://touchweb/./src/apps/registration/helpers/social-auth/providers.js","webpack://touchweb/./src/apps/registration/components/forms/swedish-private-form/swedish-private-form.jsx","webpack://touchweb/./src/apps/registration/swedish-private.jsx","webpack://touchweb/./src/components/atoms/heading/heading.tsx","webpack://touchweb/./src/components/bank-id/state/bank-id/reducer.ts","webpack://touchweb/./src/components/bottom-sheet/bottom-sheet.tsx","webpack://touchweb/./src/components/dialog/dialog-modal.tsx","webpack://touchweb/./src/components/scrollable-modal/scrollable-modal-content.tsx","webpack://touchweb/./src/components/scrollable-modal/scrollable-modal.tsx","webpack://touchweb/./src/constants/cookies.ts","webpack://touchweb/./src/hooks/use-is-mobile.ts","webpack://touchweb/./src/lang/translate.tsx","webpack://touchweb/./src/localization/countries.js","webpack://touchweb/./src/localization/countrycode.js","webpack://touchweb/./src/localization/format-price.ts","webpack://touchweb/./src/services/toasts.tsx","webpack://touchweb/./src/state/language/selectors.ts","webpack://touchweb/./src/state/member/reducer.ts","webpack://touchweb/./src/state/multi-currency/reducer.ts","webpack://touchweb/./src/state/shipping-region/actions.ts","webpack://touchweb/./src/state/shipping-region/reducer.ts","webpack://touchweb/./src/utils/cookie-helpers.ts","webpack://touchweb/./src/utils/format.ts","webpack://touchweb/./node_modules/react-toastify/dist/react-toastify.esm.mjs","webpack://touchweb/webpack/bootstrap","webpack://touchweb/webpack/runtime/amd options","webpack://touchweb/webpack/runtime/compat get default export","webpack://touchweb/webpack/runtime/define property getters","webpack://touchweb/webpack/runtime/ensure chunk","webpack://touchweb/webpack/runtime/get javascript chunk filename","webpack://touchweb/webpack/runtime/get mini-css chunk filename","webpack://touchweb/webpack/runtime/global","webpack://touchweb/webpack/runtime/harmony module decorator","webpack://touchweb/webpack/runtime/hasOwnProperty shorthand","webpack://touchweb/webpack/runtime/make namespace object","webpack://touchweb/webpack/runtime/node module decorator","webpack://touchweb/webpack/runtime/runtimeId","webpack://touchweb/webpack/runtime/publicPath","webpack://touchweb/webpack/runtime/jsonp chunk loading","webpack://touchweb/webpack/runtime/nonce","webpack://touchweb/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};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"touchweb:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"overlay--oPnuk\",\"content\":\"content--RfzmQ\",\"onTop\":\"onTop--zLYcS\",\"mobile-alert\":\"mobile-alert--UZTYG\",\"mobileAlert\":\"mobile-alert--UZTYG\",\"mobile-fullscreen\":\"mobile-fullscreen--Lkyhh\",\"mobileFullscreen\":\"mobile-fullscreen--Lkyhh\"};","'use strict';\n\nconst ERROR_MESSAGES = {\n sv: {\n EMAIL_IN_USE:\n 'E-postadress används redan Glömt lösenord?',\n ALIAS_IN_USE: 'Användarnamnet är upptaget',\n ALIAS_CONTAINS_RESERVED_WORD: 'Ogiltigt användarnamn',\n PERSONALID_IN_USE:\n 'Ditt personnummer finns redan registrerat hos Tradera. Få tillgång till ditt konto här',\n ORGANIZATION_NUMBER_IN_USE: 'Det här organisationsnumret används redan',\n INVALID_EMAIL: 'Ogiltig e-postadress',\n INVALID_PERSONALID: 'Ogiltigt personnummer',\n INVALID_PHONENUMBER: 'Ogiltigt telefonnummer',\n INVALID_ALIAS: 'Ogiltigt användarnamn',\n INVALID_FIRSTNAME: 'Förnamnet är ogiltigt',\n INVALID_LASTNAME: 'Efternamnet är ogiltigt',\n INVALID_STREETNAME: 'Gatuadressen är ogiltigt',\n INVALID_ZIPCODE: 'Ogiltigt postnummer',\n INVALID_TOWN: 'Ogiltig Ort',\n INVALID_COMPANYNAME: 'Företagsnamnet är ogiltigt',\n REQUIRED_FIELD: 'Detta fält är tvingande',\n REQUIRED_EMAIL: 'Du behöver ange din e-postadress',\n REQUIRED_PERSONALID: 'Du behöver ange ditt personnummer',\n REQUIRED_FIRSTNAME: 'Du behöver ange ditt förnamn',\n REQUIRED_LASTNAME: 'Du behöver ange ditt efternamn',\n REQUIRED_ALIAS: 'Du behöver ange ett användarnamn',\n REQUIRED_STREETNAME: 'Du behöver ange din gatuadress',\n REQUIRED_ZIPCODE: 'Du behöver ange ditt postnummer',\n REQUIRED_TOWN: 'Du behöver ange din ort',\n REQUIRED_PHONENUMBER:\n 'Ange ditt telefonnummer. Du kommer att använda det om du behöver återställa ditt lösenord',\n REQUIRED_COMPANYNAME: 'Du behöver ange företagets namn',\n MINLENGTH: '',\n MINLENGTH_FIRSTNAME: 'Förnamnet är för kort',\n MINLENGTH_LASTNAME: 'Efternamnet är för kort',\n MINLENGTH_COMPANYNAME: 'Företagets namn är för kort',\n MINLENGTH_ALIAS: 'Användarnamnet är för kort',\n MINLENGTH_STREETNAME: 'Gatuadressen är för kort',\n MINLENGTH_TOWN: 'Orten är för kort',\n MAXLENGTH: '',\n MAXLENGTH_EMAIL: 'Din e-postadress får max vara 255 tecken',\n MAXLENGTH_FIRSTNAME: 'Ditt förnamn får max vara 30 tecken',\n MAXLENGTH_LASTNAME: 'Ditt efternamn får max vara 30 tecken',\n MAXLENGTH_COMPANYNAME: 'Ditt företagsnamn får vara max 40 tecken',\n MAXLENGTH_ALIAS: 'Ditt användarnamn får max vara 50 tecken',\n MAXLENGTH_STREETNAME: 'Din gatuadress får max vara 50 tecken',\n MAXLENGTH_TOWN: 'Din ort får max vara 36 tecken',\n INVALID_LENGTH_EMAIL: 'Din e-postadress måste vara 5-255 tecken',\n INVALID_LENGTH_FIRSTNAME: 'Ditt förnamn måste vara 1-30 tecken',\n INVALID_LENGTH_LASTNAME: 'Ditt efternamn måste vara 1-30 tecken',\n INVALID_LENGTH_COMPANYNAME: 'Ditt företagsnamn måste vara 2-40 tecken',\n INVALID_LENGTH_ALIAS: 'Ditt användarnamn måste vara 2-50 tecken',\n INVALID_LENGTH_STREETNAME: 'Din gatuadress måste vara 1-50 tecken',\n INVALID_LENGTH_TOWN: 'Din ort måste vara 1-36 tecken',\n PERSONAL_NUMBER_UNDER_AGE:\n 'Du behöver vara 16 år för att skapa ett konto',\n PAYPAL_NOT_VERIFIED:\n 'This e-mail address is not PayPal verified. Please make sure that your name and e-mail address is identical to the information registered with PayPal and that you have followed the steps for verification.',\n INVALID_CHARACTERS: 'Endast latinska tecken är tillåtna.',\n FACEBOOK_ID_IN_USE: 'Facebook ID är upptaget',\n FACEBOOK_ID_DOES_NOT_MATCH_TOKEN:\n 'Din Facebook-session är ogiltig, vänligen logga in igen.',\n EMAIL_ADDRESS_DOES_NOT_MATCH_FACEBOOK_TOKEN:\n 'Din Facebook-session är ogiltig, vänligen logga in igen.',\n FACEBOOK_USER_ACCESS_TOKEN_INVALID:\n 'Din Facebook-session är ogiltig, vänligen logga in igen.',\n FACEBOOK_USER_ACCESS_TOKEN_EXPIRED:\n 'Din Facebook-session har löpt ut, vänligen logga in igen för att fortsätta.',\n FACEBOOK_USER_ACCESS_TOKEN_MISSING_REQUIRED_SCOPE_PUBLIC_PROFILE:\n 'Din Facebook-session är ogiltig, vänligen logga in igen.'\n },\n en: {\n EMAIL_IN_USE:\n 'This email is already taken. Did you forget your password?',\n ALIAS_IN_USE: 'This username is already taken',\n ALIAS_CONTAINS_RESERVED_WORD: 'Invalid username',\n INVALID_EMAIL: 'Invalid email address',\n INVALID_PERSONALID: 'Invalid personal ID',\n INVALID_PHONENUMBER: 'Invalid phone number',\n INVALID_ALIAS: 'Invalid username',\n INVALID_FIRSTNAME: 'Invalid firstname',\n INVALID_LASTNAME: 'Invalid last name',\n INVALID_STREETNAME: 'Invalid street name',\n INVALID_ZIPCODE: 'Invalid zipcode',\n INVALID_TOWN: 'Invalid town',\n INVALID_COUNTRY: 'Invalid country',\n INVALID_COMPANYNAME: 'Invalid company name',\n REQUIRED_FIELD: 'This field is required',\n REQUIRED_EMAIL: 'Email address is required',\n REQUIRED_PERSONALID: 'Personal ID is required',\n REQUIRED_FIRSTNAME: 'First name is required',\n REQUIRED_LASTNAME: 'Last name is required',\n REQUIRED_ALIAS: 'Username is required',\n REQUIRED_STREETNAME: 'Street is required',\n REQUIRED_ZIPCODE: 'Zipcode is required',\n REQUIRED_TOWN: 'Town is required',\n REQUIRED_COUNTRY: 'Country is required',\n REQUIRED_PHONENUMBER: 'Phone number is required',\n REQUIRED_COMPANYNAME: 'Company name is required',\n MINLENGTH: '',\n MINLENGTH_FIRSTNAME: 'First name is too short',\n MINLENGTH_LASTNAME: 'Last name is too short',\n MINLENGTH_COMPANYNAME: 'Company name is too short',\n MINLENGTH_ALIAS: 'Username is too short',\n MINLENGTH_STREETNAME: 'Street is too short',\n MINLENGTH_TOWN: 'Town is too short',\n MAXLENGTH: '',\n MAXLENGTH_EMAIL: 'Email address should be max 255 characters',\n MAXLENGTH_FIRSTNAME: 'First name should be max 30 characters',\n MAXLENGTH_LASTNAME: 'Last name should be max 30 characters',\n MAXLENGTH_COMPANYNAME: 'Company name should be max 40 characters',\n MAXLENGTH_ALIAS: 'Username should be max 50 characters',\n MAXLENGTH_STREETNAME: 'Street should be max 50 characters',\n MAXLENGTH_TOWN: 'Town should be max 36 characters',\n INVALID_LENGTH_EMAIL: 'Email address should be 5-255 characters',\n INVALID_LENGTH_FIRSTNAME: 'First name should be 1-30 characters',\n INVALID_LENGTH_LASTNAME: 'Last name should be 1-30 characters',\n INVALID_LENGTH_COMPANYNAME: 'Company name should be 2-40 characters',\n INVALID_LENGTH_ALIAS: 'Username should be 2-50 characters',\n INVALID_LENGTH_STREETNAME: 'Street should be 1-50 characters',\n INVALID_LENGTH_TOWN: 'Town should be 1-36 characters',\n PERSONAL_NUMBER_UNDER_AGE: '',\n PAYPAL_NOT_VERIFIED:\n 'This e-mail address is not PayPal verified. Please make sure that your name and e-mail address is identical to the information registered with PayPal and that you have followed the steps for verification.',\n INVALID_CHARACTERS: 'Only Latin characters are allowed.',\n FACEBOOK_ID_IN_USE: 'Facebook ID is already taken',\n FACEBOOK_ID_DOES_NOT_MATCH_TOKEN:\n 'Your Facebook session is invalid, please log in again.',\n EMAIL_ADDRESS_DOES_NOT_MATCH_FACEBOOK_TOKEN:\n 'Your Facebook session is invalid, please log in again.',\n FACEBOOK_USER_ACCESS_TOKEN_INVALID:\n 'Your Facebook session is invalid, please log in again.',\n FACEBOOK_USER_ACCESS_TOKEN_EXPIRED:\n 'Your Facebook session has expired, please log in again.',\n FACEBOOK_USER_ACCESS_TOKEN_MISSING_REQUIRED_SCOPE_PUBLIC_PROFILE:\n 'Your Facebook session is invalid, please log in again.'\n }\n};\n\nmodule.exports = ERROR_MESSAGES;\n","/*\n TouchWeb and UserRegistration share this state in the sessionStorage.\n Any changes in key names or logic needs to be synced on the other side.\n*/\n\nclass AnalyticsStorage {\n constructor(key = '') {\n this._key = key;\n this.set = (value = '') => {\n sessionStorage.setItem(this._key, value);\n };\n this.setIfEmpty = (value = '') => {\n if (!sessionStorage.getItem(this._key)) {\n sessionStorage.setItem(this._key, value);\n }\n };\n this.get = () => {\n const value = sessionStorage.getItem(this._key);\n return value ? value : undefined;\n };\n this.clear = () => {\n sessionStorage.removeItem(this._key);\n };\n }\n}\n\nexport const flow = new AnalyticsStorage('tradera.loginSignup.flow');\nexport const method = new AnalyticsStorage('tradera.loginSignup.method');\n\nexport const FLOW = {\n LOGIN: 'login',\n SIGNUP: 'signup',\n SIGNUP_FOREIGN: 'signup_foreign',\n UNKNOWN: 'unknown'\n};\nexport const METHOD = {\n PASSWORD: 'password',\n FACEBOOK: 'facebook',\n APPLE: 'apple',\n GOOGLE: 'google',\n KLARNA: 'klarna',\n UNKNOWN: 'unknown'\n};\n\nexport function trackEvent(event = '', memberId = 0, validationError = '') {\n const data = {\n event: event,\n method: method.get() || METHOD.UNKNOWN,\n 'initial-flow': flow.get() || FLOW.UNKNOWN\n };\n if (memberId) {\n data['member-id'] = '' + memberId;\n }\n if (validationError) {\n data['validation-error'] = validationError;\n }\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(data);\n}\n","import LoadIcon from '@tradera/blueprint/theme/icons2/loading.svg?jsx';\n\nconst BlockingLoader = () => {\n return (\n
\n \n
\n );\n};\n\nexport default BlockingLoader;\n","'use strict';\n\nconst personalIdFormat = /^(\\d{2})?(\\d{6})-?(\\d{4})$/;\n\nexport default function formatPersonalId(value) {\n return value.replace(/ /g, '').replace(personalIdFormat, '$2-$3');\n}\n","/* eslint-disable better-mutation/no-mutation */\n\nimport LookupPersonalNumber from '../../../services/lookup-personal-number';\nimport formatPersonalId from '../format-personal-id';\nimport { isServer } from 'tradera/utils/nextjs';\n\nif (isServer) {\n // Do not remove this without also removing the disable of eslint better-mutation/no-mutation at top of file.\n throw new Error(\n 'This implementation is not compatible with SSR as global properties are shared between server instances'\n );\n}\n\nexport default class PersonalDetailsAutoFill {\n constructor() {\n this.onValidation = this.onValidation.bind(this);\n this.autoFilledValue = null;\n }\n\n onValidation(form, field) {\n const fieldState = form.fields[field];\n if (field !== 'PersonalNumber') {\n return;\n }\n if (!fieldState.isValid) {\n this.clearPersonalDetails(form);\n return;\n }\n const formattedValue = formatPersonalId(fieldState.value);\n\n if (this.autoFilledValue === formattedValue) {\n return;\n }\n this.autoFilledValue = formattedValue;\n this.lookupPersonalDetails(form, formattedValue);\n }\n\n lookupPersonalDetails(form, personalNumber) {\n LookupPersonalNumber(personalNumber)\n .then((result) => {\n if (result.hasDetails) {\n form.setFromGenerated('AutoPersonalDetails', true);\n form.update((f) => {\n f.autoFillFailed = false;\n });\n } else {\n form.update((f) => {\n f.autoFillFailed = true;\n });\n }\n return;\n })\n .catch(() => {\n form.update((f) => {\n f.autoFillFailed = true;\n });\n });\n }\n\n clearPersonalDetails(form) {\n this.autoFilledValue = null;\n PersonalDetailsAutoFill.autoFilledFields.forEach((f) => form.remove(f));\n }\n}\n\nPersonalDetailsAutoFill.autoFilledFields = ['AutoPersonalDetails'];\n\nPersonalDetailsAutoFill.manuallyFilledFields = [\n 'FirstName',\n 'LastName',\n 'StreetName',\n 'Town',\n 'ZipCode'\n];\n","import Axios from 'axios';\n\nexport default function (personalNumber) {\n return Axios.post('/register/api/personal-details', {\n value: personalNumber\n }).then((result) => result.data);\n}\n","/* eslint-disable better-mutation/no-mutation */\n\nimport * as Validator from 'validator';\nimport ErrorMessages from '../messages/error-messages';\nimport Axios from 'axios';\n\nconst isPhoneNumber = (str) => {\n return /^(\\+?\\d{2})?[\\d\\- ]+$/.test(str);\n};\n\nconst isAllowedLatinCharacters = (str) => {\n return /^[\\u0041-\\u024F -:]+$/.test(str);\n};\n\nconst isAllowedLatinCharactersWithNumbers = (str) => {\n return /^[0-9\\u0041-\\u024F -:]+$/.test(str);\n};\n\nexport default function Validate(value, rules, asyncUrl, lang = 'sv') {\n var errors = [];\n var copyfor;\n var rulesSet;\n var currentRule;\n\n var extractedRules = rules.split(':');\n\n if (extractedRules.length > 1) {\n copyfor = extractedRules[0].split('=')[1];\n rulesSet = extractedRules[1].split(';');\n } else {\n rulesSet = rules.split(';');\n }\n\n for (var i = 0; i < rulesSet.length; i++) {\n currentRule = rulesSet[i];\n var code;\n\n if (currentRule === 'required') {\n if (value === '') {\n if (\n copyfor &&\n ErrorMessages[lang]['REQUIRED_' + copyfor.toUpperCase()]\n ) {\n code = 'REQUIRED_' + copyfor.toUpperCase();\n } else {\n code = 'REQUIRED_FIELD';\n }\n }\n }\n\n if (currentRule.indexOf('minlength') > -1) {\n const start = currentRule.indexOf('[') + 1;\n const end = currentRule.indexOf(']');\n const minlength = currentRule.slice(start, end);\n\n if (value.length < minlength) {\n if (\n copyfor &&\n ErrorMessages[lang]['MINLENGTH_' + copyfor.toUpperCase()]\n ) {\n code = 'MINLENGTH_' + copyfor.toUpperCase();\n } else {\n code = 'MINLENGTH';\n }\n }\n }\n\n if (currentRule.indexOf('maxlength') > -1) {\n const start = currentRule.indexOf('[') + 1;\n const end = currentRule.indexOf(']');\n const maxlength = currentRule.slice(start, end);\n\n if (value.length > maxlength) {\n if (\n copyfor &&\n ErrorMessages[lang]['MAXLENGTH_' + copyfor.toUpperCase()]\n ) {\n code = 'MAXLENGTH_' + copyfor.toUpperCase();\n } else {\n code = 'MAXLENGTH';\n }\n }\n }\n\n if (currentRule === 'latinonly') {\n if (!isAllowedLatinCharacters(value)) {\n code = 'INVALID_CHARACTERS';\n }\n }\n\n if (currentRule === 'latinwithnumbers') {\n if (!isAllowedLatinCharactersWithNumbers(value)) {\n code = 'INVALID_CHARACTERS';\n }\n }\n\n if (currentRule === 'email') {\n if (!Validator.isEmail(value)) {\n code = copyfor\n ? 'INVALID_' + copyfor.toUpperCase()\n : 'INVALID_EMAIL';\n }\n }\n\n if (currentRule === 'phone') {\n if (!isPhoneNumber(value)) {\n code = copyfor\n ? 'INVALID_' + copyfor.toUpperCase()\n : 'INVALID_PHONENUMBER';\n }\n }\n\n if (currentRule === 'personalid') {\n const rawValue = value.replace('-', '').replace(/ /g, '');\n if (!Validator.isNumeric(rawValue) || rawValue.length !== 10) {\n code = copyfor\n ? 'INVALID_' + copyfor.toUpperCase()\n : 'PERSONALID';\n }\n }\n\n if (currentRule === 'zipcode') {\n const rawValue = value.replace(/[ -]/g, '');\n if (!Validator.isNumeric(rawValue) || rawValue.length !== 5) {\n code = copyfor\n ? 'INVALID_' + copyfor.toUpperCase()\n : 'INVALID_ZIPCODE';\n }\n }\n\n if (code) {\n errors.push({\n code: code,\n description: ErrorMessages[lang][code],\n async: false\n });\n }\n\n if (errors.length > 0) {\n return new Promise(function (resolve) {\n resolve({\n isValid: false,\n errors: errors\n });\n });\n }\n }\n\n if (asyncUrl) {\n return Axios.post(asyncUrl, {\n value: value.trim()\n })\n .then(() => {\n return {\n isValid: true,\n errors: errors\n };\n })\n .catch((err) => {\n if (\n err.response &&\n err.response.data &&\n err.response.status === 400\n ) {\n errors.push({\n code: err.response.data.code,\n description:\n ErrorMessages[lang][err.response.data.code],\n async: true\n });\n\n return {\n isValid: false,\n errors: errors\n };\n }\n });\n }\n\n return new Promise((resolve) => {\n resolve({\n isValid: true,\n errors: errors\n });\n });\n}\n","/* eslint-disable better-mutation/no-mutation */\n\n'use strict';\n\nimport EventEmitter from '../helpers/event-emitter';\nimport GoogleTagManager from './google-tag-manager';\n\nexport default (function () {\n var _activeForm;\n var _activeField;\n var _activeStep;\n\n window.addEventListener('beforeunload', () => {\n if (_activeField) {\n _trackEvent('Page Exit on field: ' + _activeField);\n } else {\n _trackEvent('Page Exit');\n }\n });\n\n EventEmitter.subscribe('Form:Loaded', (payload) => {\n _activeForm = payload.name;\n _activeStep = payload.step;\n _trackEvent('Init');\n GoogleTagManager.trackPageView();\n });\n\n EventEmitter.subscribe('Form:Field:Focused', (payload) => {\n _activeField = payload.fieldName;\n _trackEvent('Focused on field: ' + payload.fieldName, '');\n });\n\n EventEmitter.subscribe('Form:Field:Blurred', (payload) => {\n _trackEvent(\n 'Left field: ' + payload.fieldName,\n payload.value.length > 0 ? 'Had value' : 'No value'\n );\n });\n\n EventEmitter.subscribe('Form:Field:AsyncValidationFailed', (payload) => {\n _trackEvent('Entered ' + payload.errorCode);\n });\n\n EventEmitter.subscribe('Form:Navigation:Success', (payload) => {\n if (_activeStep !== undefined && _activeStep !== payload.step) {\n _trackEvent(\n 'Navigation',\n 'Step ' + _activeStep + ' to Step ' + payload.step\n );\n GoogleTagManager.trackPageView();\n }\n\n _activeStep = payload.step;\n });\n\n EventEmitter.subscribe('Form:Navigation:Failure', (payload) => {\n payload.errors.forEach((error) => {\n _trackEvent(\n 'Navigation',\n 'Step ' +\n payload.step +\n ' to Step ' +\n (payload.step + 1) +\n ' - Validation failed - ' +\n error.errorCode\n );\n });\n });\n\n EventEmitter.subscribe('Form:Submit:Success', (payload) => {\n _trackEvent('Submit Form', 'Success', payload.memberId);\n GoogleTagManager.trackPageView();\n });\n\n EventEmitter.subscribe('Form:Submit:Failure', (payload) => {\n payload.errors.forEach((error) => {\n _trackEvent(\n 'Submit Form',\n 'Validation failed - ' + (error.errorCode || error.code)\n );\n });\n });\n\n var _trackEvent = function (action, label, memberId = 0) {\n if (_activeForm !== undefined) {\n GoogleTagManager.trackEvent({\n category: 'User Registration - ' + _activeForm,\n action: action,\n label: label ? label : '',\n memberId: memberId\n });\n }\n };\n\n return {};\n})();\n","'use strict';\n\nimport Validator from '../../../helpers/validate';\nimport FormTracker from '../../../services/form-tracker';\n\nexport default class Form {\n constructor(rules) {\n this.fields = {};\n this.rules = rules;\n this.validationCallbacks = [];\n this.changeCallbacks = [];\n this.pendingValidations = Promise.resolve(true);\n this.initValidators();\n this.attempted = false;\n this.attemptedCallbacks = [];\n this.formTracker = FormTracker;\n }\n\n trim(fieldName) {\n const field = this.fields[fieldName];\n if (!field || typeof field.value !== 'string') {\n return;\n }\n const value = field.value;\n if (typeof value !== 'string') {\n return;\n }\n // eslint-disable-next-line better-mutation/no-mutation\n field.value = value.trim();\n }\n\n onFirstAttempt(callback) {\n if (this.attempted) {\n return false;\n } else {\n this.attemptedCallbacks.push(callback);\n return true;\n }\n }\n\n attempt(field) {\n this.enableValidation(field);\n if (!this.attempted) {\n this.attempted = true;\n this.attemptedCallbacks.forEach((cb) => cb());\n }\n }\n\n setFromGenerated(field, value) {\n this._set(field, value, false);\n this.enableValidation(field);\n }\n\n setFromUserInput(field, value) {\n this._set(field, value, true);\n }\n\n _set(field, value, isSetFromUserInput = true) {\n if (value === this.get(field)) {\n return;\n }\n this.updateField(field, {\n value: value,\n isValidationPending: true,\n isSetFromUserInput: isSetFromUserInput,\n errors: []\n });\n const validation = this.validate(field).then((result) => {\n const currentValue = this.get(field);\n if (result.value !== currentValue) {\n return;\n }\n this.updateField(field, {\n isValid: result.isValid,\n errors: result.errors,\n isValidationPending: false\n });\n this.triggerOnValidation(field);\n return;\n });\n this.pendingValidations = Promise.all([\n this.pendingValidations,\n validation\n ]);\n }\n\n get(field) {\n const f = this.fields[field];\n return f ? f.value : null;\n }\n\n remove(field) {\n delete this.fields[field];\n this.triggerOnChange(field);\n }\n\n update(action) {\n action(this);\n this.triggerOnChange(null);\n }\n\n addError(field, error) {\n this.updateField(field, {\n errors: [error],\n isValid: false\n });\n this.triggerOnChange(field);\n }\n\n fieldNames() {\n return Object.keys(this.fields);\n }\n\n updateField(field, update) {\n this.fields = {\n ...this.fields,\n [field]: {\n ...this.fields[field],\n ...update\n }\n };\n this.triggerOnChange(field);\n }\n\n waitForValidation(callback, fields) {\n const fieldNames = fields || this.fieldNames();\n fieldNames.forEach((x) => {\n this.enableValidation(x);\n });\n // eslint-disable-next-line\n this.pendingValidations.then(callback).catch(() => {});\n }\n\n /** @param {string[]} fieldNames */\n isValid(fieldNames) {\n const fieldsToCheck = fieldNames || this.fieldNames();\n for (const field of fieldsToCheck) {\n if (!this.fields[field] || !this.fields[field].isValid) {\n return false;\n }\n }\n return true;\n }\n\n hasError(fieldName, errorCode) {\n const field = this.fields[fieldName];\n if (!field || !field.errors || field.errors.length === 0) {\n return false;\n }\n return field.errors.some((x) => x.code === errorCode);\n }\n\n /**\n * Returns true if any of the fields in the array has been set from user input.\n * @param {string[]} fieldNames\n */\n hasAnyFieldSetFromUserInput(fieldNames) {\n const fieldsToCheck = fieldNames || this.fieldNames();\n for (const field of fieldsToCheck) {\n if (this.fields[field] && this.fields[field].isSetFromUserInput) {\n return true;\n }\n }\n return false;\n }\n\n enableValidation(field) {\n this.updateField(field, {\n isValidationEnabled: true\n });\n }\n\n onChange(callback) {\n this.changeCallbacks.push(callback);\n }\n\n removeOnChange(callback) {\n this.changeCallbacks = this.changeCallbacks.filter(\n (x) => x !== callback\n );\n }\n\n triggerOnChange(field) {\n this.changeCallbacks.forEach((c) => c(this, field));\n }\n\n onValidation(callback) {\n this.validationCallbacks.push(callback);\n }\n\n removeOnValidation(callback) {\n this.validationCallbacks = this.validationCallbacks.filter(\n (x) => x !== callback\n );\n }\n\n triggerOnValidation(field) {\n this.validationCallbacks.forEach((c) => c(this, field));\n }\n\n initValidators() {\n Object.keys(this.rules).forEach((field) => {\n const rule = this.rules[field];\n // eslint-disable-next-line better-mutation/no-mutation\n rule.validate = () => {\n const value = this.get(field);\n return Validator(value, rule.rules, rule.async).then(\n (result) => ({\n field: field,\n value: value,\n ...result\n })\n );\n };\n });\n }\n\n validate(field) {\n const value = this.get(field);\n const rule = this.rules[field];\n if (!rule) {\n return new Promise((resolve) =>\n resolve({\n field: field,\n value: value,\n isValid: true\n })\n );\n }\n return rule.validate();\n }\n}\n","import Form from './form';\n\nconst sessionStorageKey = 'tradera.signup.form';\n\nexport default class LocalFormStore {\n constructor() {\n this.saveState = this.saveState.bind(this);\n this.restoreState = this.restoreState.bind(this);\n }\n\n saveState(form, field) {\n try {\n this._initializeState();\n if (this._get(field) !== (form.get(field) || '')) {\n this.state.fields[field] = form.get(field);\n this.state.dateSaved = Date.now();\n sessionStorage.setItem(\n sessionStorageKey,\n JSON.stringify(this.state)\n );\n }\n } catch (err) {\n // do nothing\n }\n }\n\n restoreState(form = new Form()) {\n try {\n this._initializeState();\n if (!this._checkStateExpirationTime()) {\n this.clear();\n return;\n }\n Object.keys(this.state.fields).forEach((field) => {\n const value = this._get(field);\n form.setFromGenerated(field, value);\n });\n } catch (err) {\n // do nothing\n }\n }\n\n clear() {\n try {\n sessionStorage.removeItem(sessionStorageKey);\n this.state = null;\n } catch (err) {\n // do nothing\n }\n }\n\n _get(field) {\n return this.state.fields[field] || '';\n }\n\n _initializeState() {\n if (this.state) {\n return;\n }\n const storedState = sessionStorage.getItem(sessionStorageKey);\n if (storedState) {\n this.state = JSON.parse(storedState);\n } else {\n this.state = { fields: {} };\n }\n }\n\n _checkStateExpirationTime() {\n var storedDate = this.state.dateSaved;\n var diff = storedDate ? (Date.now() - storedDate) / 1000 : 61;\n return diff < 60 ? true : false;\n }\n}\n","import { safeDecodeURIComponent } from 'tradera/utils/safe-decode-uri-component';\n\nexport const parseJwt = (token) => {\n if (!token) {\n return null;\n }\n // Copied from https://stackoverflow.com/a/38552302\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = safeDecodeURIComponent(\n window\n .atob(base64)\n .split('')\n .map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))\n .join('')\n );\n\n return JSON.parse(jsonPayload);\n};\n","/* eslint-disable better-mutation/no-mutation */\n\nimport { isServer } from 'tradera/utils/nextjs';\nimport { parseJwt } from 'tradera/apps/registration/helpers/parse-jwt';\n\nif (isServer) {\n // Do not remove this without also removing the disable of eslint better-mutation/no-mutation at top of file.\n throw new Error(\n 'This implementation is not compatible with SSR as global properties are shared between server instances'\n );\n}\n\n// these functions are available in the android/ios app code base\n(function (w) {\n if (!w) {\n return;\n }\n let saved = null;\n let savedListener = null;\n w.onGoogleNativeLogin = (err, data) => {\n if (savedListener) {\n savedListener(err, data);\n } else {\n saved = { err: err, data: data };\n }\n };\n w.onGoogleNativeLoginSetListener = (listener) => {\n savedListener = listener;\n if (saved) {\n savedListener(saved.err, saved.data);\n saved = null;\n }\n };\n})(window);\n\nexport default class GoogleLogin {\n constructor(googleAppId) {\n !googleAppId &&\n console.error('GoogleLogin.googleAppId is required but was empty');\n this.appId = googleAppId;\n this.email = null;\n this.firstName = null;\n this.lastName = null;\n }\n\n /**\n * indicate if the google auth lib is available in the web context\n */\n isLoaded() {\n return window.google ? true : false;\n }\n\n onNativeInitiatedLogin(callback) {\n if (!window) {\n return;\n }\n window.onGoogleNativeLoginSetListener((err, data) => {\n if (err) {\n console.error(\n 'Google Native Initiated login failed',\n err,\n data\n );\n this._save(null);\n } else {\n this._save(data);\n callback(data);\n }\n });\n }\n\n async login(options = { native: false }) {\n if (window && options.native) {\n return new Promise((resolve, reject) => {\n window.onGoogleNativeLoginSetListener((err, data) => {\n if (err || !data) {\n console.error('Google Native login failed', err, data);\n this._save(null);\n reject(err ? err : 'Aborted');\n } else {\n if (!data.userId) {\n data.userId = parseJwt(data.accessToken)?.sub;\n }\n if (!data.lastName) {\n data.lastName = parseJwt(\n data.accessToken\n )?.family_name;\n }\n this._save(data);\n resolve(data);\n }\n });\n window.document.location.href =\n 'tradera://register/google?callbackFunc=onGoogleNativeLogin';\n });\n } else {\n const response = parseJwt(options.providerData.credential);\n return {\n accessToken: options.providerData.credential,\n email: response.email,\n firstName: response.given_name,\n lastName: response.family_name,\n userId: response.sub\n };\n }\n }\n\n _save(data) {\n if (!data) {\n this.email = null;\n this.firstName = null;\n this.lastName = null;\n } else {\n this.email = data.email;\n this.firstName = data.firstName;\n this.lastName = data.lastName;\n }\n }\n}\n","/* eslint-disable better-mutation/no-mutation */\n\nimport { localStore } from 'tradera/utils/storage';\nimport { STORAGE_KEYS } from 'tradera/constants/storage';\nimport { isServer } from 'tradera/utils/nextjs';\nimport { parseJwt } from '../parse-jwt';\n\nif (isServer) {\n // Do not remove this without also removing the disable of eslint better-mutation/no-mutation at top of file.\n throw new Error(\n 'This implementation is not compatible with SSR as global properties are shared between server instances'\n );\n}\n\n(function (w) {\n if (!w) {\n return;\n }\n let saved = null;\n let savedListener = null;\n w.onAppleNativeLogin = (err, data) => {\n if (savedListener) {\n savedListener(err, data);\n } else {\n saved = { err: err, data: data };\n }\n };\n w.onAppleNativeLoginSetListener = (listener) => {\n savedListener = listener;\n if (saved) {\n savedListener(saved.err, saved.data);\n saved = null;\n }\n };\n})(window);\n\nexport default class AppleLogin {\n constructor(appleAppId) {\n !appleAppId &&\n console.error('AppleLogin.appleAppId is required but was empty');\n this.appId = appleAppId;\n this.email = null;\n this.firstName = null;\n this.lastName = null;\n\n const storedUser = localStore.getItem(STORAGE_KEYS.APPLE_ID_USER);\n if (storedUser) {\n this.email = storedUser.email;\n this.firstName = storedUser.name?.firstName;\n this.lastName = storedUser.name?.lastName;\n }\n }\n\n isLoaded() {\n return window.AppleID && !!window.AppleID.auth.init;\n }\n\n onNativeInitiatedLogin(callback) {\n if (!window) {\n return;\n }\n window.onAppleNativeLoginSetListener((err, data) => {\n if (err) {\n console.error('Apple Native Initiated login failed', err, data);\n this._save(null);\n } else {\n this._save(data);\n callback(data);\n }\n });\n }\n\n login(options = { native: false }) {\n if (window && options.native) {\n return new Promise((resolve, reject) => {\n window.onAppleNativeLoginSetListener((err, data) => {\n if (err || !data) {\n console.error('Apple Native login failed', err, data);\n this._save(null);\n reject(err ? err : 'Aborted');\n } else {\n if (!data.email) {\n data.email = parseJwt(data.accessToken)?.email;\n }\n if (!data.userId) {\n data.userId = parseJwt(data.accessToken)?.sub;\n }\n this._save(data);\n resolve(data);\n }\n });\n window.document.location.href =\n 'tradera://register/apple?callbackFunc=onAppleNativeLogin';\n });\n } else {\n window.AppleID.auth.init({\n clientId: this.appId,\n scope: 'name email',\n redirectURI: location.origin + '/login',\n state: '',\n usePopup: true\n });\n\n return window.AppleID.auth.signIn().then((signInResponse) => {\n if (signInResponse.user) {\n this.email = signInResponse.user.email;\n this.firstName = signInResponse.user.name.firstName;\n this.lastName = signInResponse.user.name.lastName;\n }\n const accessToken = signInResponse.authorization?.id_token;\n if (!this.email) {\n this.email = parseJwt(accessToken)?.email;\n }\n this.userId = accessToken && parseJwt(accessToken)?.sub;\n const data = {\n accessToken: accessToken,\n email: this.email,\n firstName: this.firstName,\n lastName: this.lastName,\n userId: this.userId\n };\n return data;\n });\n }\n }\n\n _save(data) {\n if (!data) {\n this.email = null;\n this.firstName = null;\n this.lastName = null;\n } else {\n this.email = data.email;\n this.firstName = data.firstName;\n this.lastName = data.lastName;\n }\n }\n}\n","/* eslint-disable better-mutation/no-mutation */\n\nimport Axios from 'axios';\nimport { isServer } from 'tradera/utils/nextjs';\n\nif (isServer) {\n // Do not remove this without also removing the disable of eslint better-mutation/no-mutation at top of file.\n throw new Error(\n 'This implementation is not compatible with SSR as global properties are shared between server instances'\n );\n}\n\n(function (w) {\n if (!w) {\n return;\n }\n let saved = null;\n let savedListener = null;\n w.onFacebookNativeLogin = (err, data) => {\n if (savedListener) {\n savedListener(err, data);\n } else {\n saved = { err: err, data: data };\n }\n };\n w.onFacebookNativeLoginSetListener = (listener) => {\n savedListener = listener;\n if (saved) {\n savedListener(saved.err, saved.data);\n saved = null;\n }\n };\n})(window);\n\nexport default class FacebookLogin {\n constructor(facebookAppId) {\n !facebookAppId &&\n console.error('FacebookLogin.appId is required but was empty');\n this.appId = facebookAppId;\n this.userId = null;\n this.firstName = null;\n }\n\n isLoaded() {\n return window.FB && !!window.FB.init;\n }\n\n onNativeInitiatedLogin(callback) {\n const w = window;\n if (!w) {\n return;\n }\n w.onFacebookNativeLoginSetListener((err, data) => {\n if (err) {\n console.error(\n 'Facebook Native Initiated login failed',\n err,\n data\n );\n this._save(null);\n } else {\n data.userId = data.userID;\n this._save(data);\n callback(data);\n }\n });\n }\n\n login(options = { native: false }) {\n const w = window;\n if (w && options.native) {\n return new Promise((resolve, reject) => {\n w.onFacebookNativeLoginSetListener((err, data) => {\n if (err || !data) {\n console.error(\n 'Facebook Native login failed',\n err,\n data\n );\n this._save(null);\n reject(err ? err : 'Aborted');\n } else {\n data.userId = data.userID;\n this._save(data);\n resolve(data);\n }\n });\n w.document.location.href =\n 'tradera://register/facebook?callbackFunc=onFacebookNativeLogin';\n });\n } else {\n window.FB.init({\n appId: this.appId,\n version: 'v3.3'\n });\n\n return new Promise((resolve, reject) => {\n window.FB.login(this._onLogin(resolve, reject), {\n scope: 'public_profile,email',\n auth_type: 'rerequest'\n });\n });\n }\n }\n\n _save(data) {\n if (!data) {\n this.userId = null;\n this.firstName = null;\n } else {\n this.userId = data.userID;\n this.firstName = data.firstName;\n this.lastName = data.lastName;\n }\n }\n\n _onLogin(resolve, reject) {\n return (loginData) => {\n if (loginData.status !== 'connected') {\n // User pressed cancel in facebook popup. Login unsuccessful\n return reject();\n }\n window.FB.api(\n '/me?fields=email,first_name,last_name,link',\n 'get',\n null,\n (profileData) => {\n Axios.post('/register/api/facebook', {\n id: loginData.authResponse.userID,\n token: loginData.authResponse.accessToken\n })\n .then(() => {\n const data = {\n accessToken: loginData.authResponse.accessToken,\n userId: loginData.authResponse.userID,\n email: profileData.email,\n firstName: profileData.first_name,\n lastName: profileData.last_name\n };\n this._save(data);\n resolve(data);\n return;\n })\n .catch((err) => {\n console.error(err);\n this._save(null);\n reject(err);\n });\n }\n );\n };\n }\n}\n","/* eslint-disable better-mutation/no-mutation */\n\nimport { isServer } from 'tradera/utils/nextjs';\nimport { parseJwt } from 'tradera/apps/registration/helpers/parse-jwt';\nimport { loadScript } from 'tradera/utils/script';\nimport * as ga from '../../services/login-signup-analytics';\n\nif (isServer) {\n // Do not remove this without also removing the disable of eslint better-mutation/no-mutation at top of file.\n throw new Error(\n 'This implementation is not compatible with SSR as global properties are shared between server instances'\n );\n}\n\n// these functions are available in the android/ios app code base\n(function (w) {\n if (!w) {\n return;\n }\n let saved = null;\n let savedListener = null;\n w.onKlarnaNativeLogin = (err, data) => {\n if (savedListener) {\n savedListener(err, data);\n } else {\n saved = { err: err, data: data };\n }\n };\n w.onKlarnaNativeLoginSetListener = (listener) => {\n savedListener = listener;\n if (saved) {\n savedListener(saved.err, saved.data);\n saved = null;\n }\n };\n})(window);\n\nexport default class KlarnaLogin {\n constructor(klarnaAppId, klarnaEnvironment, locale, authenticateCallback) {\n !klarnaAppId &&\n console.error('KlarnaLogin.klarnaAppId is required but was empty');\n !klarnaEnvironment &&\n console.error(\n 'KlarnaLogin.klarnaEnvironment is required but was empty'\n );\n this.locale = locale;\n this.appId = klarnaAppId;\n this.environment = klarnaEnvironment;\n this.email = null;\n this.firstName = null;\n this.lastName = null;\n this.personalNumber = null;\n this.streetName = null;\n this.zipCode = null;\n this.town = null;\n this.phoneNumber = null;\n this.idToken = null;\n this.accessToken = null;\n this.refreshToken = null;\n\n const redirectUri = new URL(\n '/register',\n window.location.origin\n ).toString();\n\n loadScript(`https://x.klarnacdn.net/sign-in-with-klarna/v1/lib.js`, {\n dataAttributes: {\n 'client-id': this.appId,\n market: 'SE',\n scope: 'offline_access profile email billing_address phone national_identification_number create_payment_session',\n environment: this.environment,\n 'on-sign-in': 'onKlarnaSignIn',\n 'on-error': 'onKlarnaSignInError',\n locale: this.locale || 'sv-SE',\n 'redirect-uri': redirectUri\n }\n });\n\n window.onKlarnaSignIn = async (tokens) => {\n const { id_token, refresh_token } = tokens;\n this.idToken = id_token;\n this.refreshToken = refresh_token;\n\n const result = await this.login({ native: false });\n authenticateCallback(result);\n };\n\n window.onKlarnaSignInError = () => {\n ga.trackEvent('user-signup-klarna-error');\n return;\n };\n }\n\n onNativeInitiatedLogin(callback) {\n if (!window) {\n return;\n }\n window.onKlarnaNativeLoginSetListener((err, data) => {\n if (err) {\n console.error(\n 'Klarna Native Initiated login failed',\n err,\n data\n );\n this._save(null);\n } else {\n this._save(data);\n callback(data);\n }\n });\n }\n\n async login(options = { native: false }) {\n if (window && options.native) {\n return new Promise((resolve, reject) => {\n window.onKlarnaNativeLoginSetListener((err, data) => {\n if (err || !data) {\n console.error('Klarna Native login failed', err, data);\n this._save(null);\n reject(err ? err : 'Aborted');\n } else {\n const idToken = parseJwt(data.idToken);\n if (!data.email) {\n data.email = idToken?.email;\n }\n if (!data.userId) {\n data.userId = idToken?.sub;\n }\n if (!data.lastName) {\n data.lastName = idToken?.family_name;\n }\n if (!data.firstName) {\n data.firstName = idToken?.given_name;\n }\n if (!data.nationalIdentificationNumber) {\n data.personalNumber =\n idToken?.national_identification_number?.substring(\n 2\n );\n }\n if (!data.phone) {\n data.phoneNumber = idToken?.phone;\n }\n if (!data.town) {\n data.town = idToken?.billing_address?.city;\n }\n if (!data.streetName) {\n data.streetName =\n idToken?.billing_address?.street_address;\n }\n if (!data.zipCode) {\n data.zipCode =\n idToken?.billing_address?.postal_code?.replace(\n /\\s+/g,\n ''\n );\n }\n\n //Explicitly overwrites the accessToken with the idToken\n //TODO rename accessToken to data.accessToken to data.idToken\n if (data.idToken) {\n data.accessToken = data.idToken;\n }\n\n this._save(data);\n resolve(data);\n }\n });\n window.document.location.href =\n 'tradera://register/klarna?callbackFunc=onKlarnaNativeLogin';\n });\n } else {\n const idToken = parseJwt(this.idToken);\n return {\n accessToken: this.idToken, //TODO rename accessToken to idToken\n refreshToken: this.refreshToken,\n email: idToken.email,\n firstName: idToken.given_name,\n lastName: idToken.family_name,\n personalNumber:\n idToken.national_identification_number?.substring(2),\n phoneNumber: idToken.phone,\n town: idToken.billing_address.city,\n streetName: idToken.billing_address.street_address,\n zipCode: idToken.billing_address.postal_code?.replace(\n /\\s+/g,\n ''\n ),\n userId: idToken.sub\n };\n }\n }\n\n _save(data) {\n if (!data) {\n this.email = null;\n this.firstName = null;\n this.lastName = null;\n this.personalNumber = null;\n this.streetName = null;\n this.zipCode = null;\n this.town = null;\n this.phoneNumber = null;\n this.userId = null;\n this.accessToken = null;\n } else {\n this.accessToken = data.accessToken;\n this.email = data.email;\n this.firstName = data.firstName;\n this.lastName = data.lastName;\n this.personalNumber = data.personalNumber;\n this.streetName = data.streetName;\n this.zipCode = data.zipCode;\n this.town = data.town;\n this.phoneNumber = data.phoneNumber;\n this.userId = data.userId;\n }\n }\n}\n","export const FACEBOOK_BLUE = '#4267b2';\n\nexport function FacebookIcon({ size = 16, white = false }) {\n const color = white ? '#ffffff' : FACEBOOK_BLUE;\n return (\n \n \n \n );\n}\n\nexport function FacebookProfileIcon({ facebookUserId = '', size = 64 }) {\n if (facebookUserId) {\n return (\n \n );\n } else {\n return ;\n }\n}\n\nexport function ProfileIcon({ size = 64 }) {\n const height = size;\n const width = size;\n return (\n \n \n \n \n \n \n );\n}\n\nexport function CheckSymbol({ size = 16, color = 'currentColor' }) {\n const height = size;\n const width = (size * 31) / 24;\n return (\n \n \n \n \n \n );\n}\n\nexport function BackSymbol({ size = 16, color = 'currentColor' }) {\n const height = size;\n const width = (size * 8) / 12;\n return (\n \n \n \n \n \n );\n}\n\nexport function HelpSymbol({ size = 16, color = 'currentColor' }) {\n const height = size;\n const width = size;\n return (\n \n \n \n \n \n );\n}\n\nexport function WarningSymbol({ size = 16, color = 'currentColor' }) {\n const height = size;\n const width = (size * 31) / 30;\n return (\n \n \n \n \n \n );\n}\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.4 16a.4.4 0 01-.23-.1l-7.4-7.65c-.16-.16-.16-.32 0-.48l7.4-7.65c.15-.16.31-.16.47 0l2.25 2.33c.15.16.15.32 0 .48L7.95 8.01l4.94 5.09c.15.16.15.32 0 .48l-2.26 2.33a.4.4 0 01-.23.09z\"\n})));","import { Heading } from '../../common/form/form-parts';\nimport ArrowLefticon from '@tradera/blueprint/theme/icons/arrow-left.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\n\nexport const SwedishPrivateProviderEmailRequired = (props) => {\n const { helpUrl, isNativeAppContext, providerName } = props;\n return (\n <>\n
\n
\n Vi behöver din epost\n
\n Som en del av en smidig och trygg tjänst är det viktigt att\n vi har en e-postadress som är verifierad av {providerName}.\n
\n
\n \n Om du vill slippa detta kan du istället{' '}\n \n registrera dig utan {providerName}\n \n .\n \n
\n \n
\n Har du problem? Kontakta oss\n
\n {!isNativeAppContext && (\n
\n Har du hamnat fel?{' '}\n GÃ¥ tillbaka till Tradera\n
\n )}\n
\n
\n \n
\n \n );\n};\n","import { ProfileIcon } from '../../icons';\nimport { Heading } from '../../common/form/form-parts';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\n\nexport const SwedishPrivateProviderEmailExists = (props) => {\n const { providerName } = props;\n return (\n <>\n
\n
\n
\n \n
\n Logga in\n

\n Jippi! Du finns redan på Tradera!\n

\n
\n Ditt {providerName}-konto är registrerat med en epostadress\n som redan finns på Tradera. Logga in med ditt\n Tradera-lösenord för att koppla ihop kontona.\n
\n \n
\n Har du problem? Kontakta oss\n
\n
\n
\n \n
\n \n );\n};\n","import { Heading } from '../../common/form/form-parts';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\n\nexport const SwedishPrivateProviderIdExists = (props) => {\n const { providerName } = props;\n return (\n <>\n
\n
\n \n Ditt {providerName}-konto är redan kopplat till Tradera\n \n
\n Vill du logga in istället?\n
\n \n
\n Har du problem? Kontakta oss\n
\n
\n
\n \n
\n \n );\n};\n","import { Heading } from '../../common/form/form-parts';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\n\nexport const SwedishPrivateFormAccountCreatedWithProvider = (props) => {\n const {\n isNativeAppContext,\n helpUrl,\n firstName,\n redirectLink,\n provider,\n providerName,\n userIcon\n } = props;\n\n const header =\n providerName == 'None'\n ? 'Du kan nu logga in på Tradera'\n : `Du kan nu logga in med ${providerName} på Tradera`;\n return (\n <>\n
\n
\n
{userIcon}
\n {firstName ? `Hej ${firstName}!` : `Hej!`}\n
{header}
\n \n {isNativeAppContext ? 'Fortsätt' : 'Gå till Tradera'}\n \n
\n Har du problem? Kontakta oss\n
\n
\n
\n \n
\n \n );\n};\n","import { Component } from 'react';\n\nexport default class InputText extends Component {\n constructor(props) {\n super(props);\n this.onChange = this.onChange.bind(this);\n this.onBlur = this.onBlur.bind(this);\n }\n\n render() {\n const { type, ...rest } = this.props;\n return (\n \n );\n }\n\n onChange(e) {\n this.props.onChange(e.target.value);\n }\n\n onBlur() {\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n }\n}\n","import { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nconst ErrorsList = (props) => {\n const { errors, ...otherProps } = props;\n if (errors) {\n return (\n

\n {errors.map((error, index) => (\n \n \n
\n
\n ))}\n

\n );\n } else {\n return null;\n }\n};\n\nErrorsList.propTypes = {\n errors: PropTypes.array\n};\n\nexport default ErrorsList;\n","import ErrorsList from '../../common/form/errors-list';\n\nconst FormErrorList = (props) => {\n const { form, field, ...otherProps } = props;\n const formField = form.fields[field] || { isValid: true };\n if (formField.isValid || !formField.isValidationEnabled) {\n return null;\n }\n return ;\n};\n\nexport default FormErrorList;\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 34 34\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 2c4.12 0 7.65 1.47 10.59 4.41A14.44 14.44 0 0132 17c0 4.14-1.46 7.68-4.4 10.6C24.69 30.55 21.15 32 17 32s-7.68-1.46-10.6-4.4C3.45 24.69 2 21.15 2 17S3.46 9.32 6.4 6.4A14.46 14.46 0 0117 2zm0 26.25a2.41 2.41 0 001.77-.73 2.41 2.41 0 00.73-1.77 2.41 2.41 0 00-.73-1.77 2.41 2.41 0 00-1.77-.73 2.41 2.41 0 00-1.77.73 2.41 2.41 0 00-.73 1.77c0 .7.24 1.28.73 1.77a2.41 2.41 0 001.77.73zm1.88-8.75c0-.32.17-.64.52-.94a8.71 8.71 0 011.25-.88c.48-.3.97-.63 1.46-1.01.48-.38.9-.92 1.25-1.61.34-.7.52-1.5.52-2.44 0-1.82-.66-3.32-1.98-4.5A7.11 7.11 0 0017 6.39c-1.11 0-2.19.26-3.23.78a7.9 7.9 0 00-2.29 1.58l-.73.76 2.5 2.5.57-.52c.25-.21.7-.49 1.36-.83a3.96 3.96 0 011.82-.52c.9 0 1.65.25 2.24.76.59.5.89 1.09.89 1.73 0 .56-.26 1.06-.79 1.52a8.24 8.24 0 01-1.71 1.14 5.4 5.4 0 00-1.72 1.4 3.31 3.31 0 00-.78 2.2v1.24h3.75v-.62z\"\n})));","import { Component } from 'react';\nimport InputText from './input-text';\nimport FormErrorList from './form-error-list';\nimport HelpIcon from '@tradera/blueprint/theme/icons/help.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\n\nexport default class FormField extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showHint: false\n };\n }\n\n componentDidMount() {\n const { form, field } = this.props;\n if (!form.fields[field]) {\n form.setFromUserInput(field, '');\n }\n }\n\n toggleHint() {\n this.setState({\n showHint: !this.state.showHint\n });\n }\n\n handleHintClick = (event) => {\n event.preventDefault();\n this.toggleHint();\n };\n\n handleBlur(field) {\n this.props.form.attempt(field);\n }\n\n fieldState(form, field) {\n const formField = form.fields[field] || {\n isValid: false,\n isValidationEnabled: false\n };\n const classNames = ['input-text'];\n const icon = null;\n if (formField.isValidationEnabled && formField.isValidationPending) {\n classNames.push('input-text-validation-pending');\n } else if (formField.isValidationEnabled && !formField.isValid) {\n classNames.push('is-invalid');\n } else if (formField.isValid) {\n classNames.push('is-valid');\n }\n return {\n classNames: classNames.join(' '),\n icon\n };\n }\n\n render() {\n const {\n form,\n field,\n hint,\n inputComponent,\n placeholder,\n className,\n containerClassName,\n ...otherProps\n } = this.props;\n const { showHint } = this.state;\n const Input = inputComponent || InputText;\n const fieldState = this.fieldState(form, field);\n\n return (\n
\n
\n
\n
\n \n form.setFromUserInput(\n field,\n e.currentTarget.value\n )\n }\n onBlur={() => this.handleBlur(field)}\n {...otherProps}\n />\n {fieldState.icon}\n
\n
\n {hint && (\n \n \n \n )}\n
\n {hint && showHint && (\n
\n

\n {hint}\n

\n
\n )}\n \n
\n );\n }\n}\n","import { Component } from 'react';\nimport formatPersonalId from '../format-personal-id';\n\nexport default class InputPersonalId extends Component {\n constructor(props) {\n super(props);\n this.onChange = this.onChange.bind(this);\n this.onBlur = this.onBlur.bind(this);\n }\n\n render() {\n const { ...rest } = this.props;\n return (\n \n );\n }\n\n onBlur(e) {\n const value = e.target.value;\n const formatedValue = formatPersonalId(value || '');\n if (this.value !== formatedValue && this.props.onChange) {\n this.props.onChange(formatedValue);\n }\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n }\n\n onChange(e) {\n if (this.props.onChange) {\n this.props.onChange(e.target.value);\n }\n }\n}\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"g\", {\n clipRule: \"evenodd\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.7 8.2c0-.6-.1-1.1-.1-1.6H8.2v3h4.2c-.2 1-.7 1.8-1.6 2.4v2h2.5c1.6-1.4 2.4-3.4 2.4-5.8z\",\n fill: \"#4285f4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.2 15.9c2.1 0 3.9-.7 5.2-1.9l-2.5-2c-.7.5-1.6.8-2.7.8-2.1 0-3.8-1.4-4.4-3.2H1.1v2c1.3 2.5 4 4.3 7.1 4.3z\",\n fill: \"#34a853\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.8 9.5c-.2-.5-.3-1-.3-1.5s.1-1 .2-1.5v-2H1.1C.6 5.5.3 6.7.3 8s.3 2.5.8 3.5z\",\n fill: \"#fbbc05\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.2 3.3c1.2 0 2.2.4 3 1.2l2.3-2.3A7.48 7.48 0 008.2.1a7.9 7.9 0 00-7 4.3l2.6 2c.6-1.8 2.3-3.1 4.4-3.1z\",\n fill: \"#ea4335\"\n}))));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 34 34\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.63 27.49a2.9 2.9 0 01-.1 3.02C30.9 31.5 30 32 28.84 32H5.14c-1.15 0-2.04-.5-2.67-1.5a3.05 3.05 0 01-.14-3.01L14.2 3.74A2.97 2.97 0 0116.99 2c1.3 0 2.23.58 2.78 1.74zm-16.5-17.36v10.62h3.74V10.12zM17 28.86a2.4 2.4 0 001.76-.73 2.41 2.41 0 00.73-1.77c0-.69-.24-1.28-.73-1.77a2.4 2.4 0 00-1.76-.73c-.7 0-1.29.25-1.77.73a2.41 2.41 0 00-.73 1.77c0 .7.24 1.29.73 1.77a2.4 2.4 0 001.77.73z\"\n})));","import { useEffect, useState, useRef } from 'react';\nimport useIsMobile from 'tradera/hooks/use-is-mobile';\nimport { useSelector } from 'react-redux';\nimport { selectLocale } from 'tradera/state/language/selectors';\n\nexport const GoogleSignupButton = ({ googleAppId, onCallback }) => {\n const divRef = useRef(null);\n const isMobile = useIsMobile();\n const wasMobile = useRef(isMobile);\n\n const [googleButtonInitialized, setGoogleButtonInitialized] =\n useState(false);\n\n const locale = useSelector(selectLocale);\n\n useEffect(() => {\n if (!window.google) return;\n\n if (!googleButtonInitialized) {\n window.google.accounts.id.initialize({\n client_id: googleAppId,\n callback: onCallback\n });\n\n setGoogleButtonInitialized(true);\n }\n\n const renderButton = () => {\n window.google.accounts.id.renderButton(divRef.current, {\n theme: 'outline',\n size: 'medium',\n type: 'standard',\n text: 'continue_with',\n locale: locale,\n shape: 'rectangular',\n width: divRef.current.offsetWidth\n });\n };\n\n if (wasMobile.current !== isMobile) {\n renderButton();\n\n wasMobile.current = isMobile;\n\n return;\n }\n\n if (googleButtonInitialized) return;\n\n renderButton();\n }, [\n googleAppId,\n onCallback,\n locale,\n googleButtonInitialized,\n divRef,\n isMobile\n ]);\n\n return
;\n};\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 80 69\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.79 39.15A54.83 54.83 0 0051 21.2 54.15 54.15 0 0055.24 0H39.49a39.13 39.13 0 01-4.26 17.9 39.78 39.78 0 01-12 14.08L17 36.56 41.15 69H61L38.7 39.15h.09zM0 69h16V0H0v69zm71.48-16a8.17 8.17 0 00-4.71 1.52 8.91 8.91 0 00-3.13 4.05 9.5 9.5 0 00-.47 5.2 9.17 9.17 0 002.33 4.6 8.36 8.36 0 004.35 2.46 8.06 8.06 0 004.9-.52A8.63 8.63 0 0078.58 67 9.38 9.38 0 0080 62c0-1.18-.22-2.35-.65-3.45a9.05 9.05 0 00-1.84-2.92 8.48 8.48 0 00-2.77-1.95 8.09 8.09 0 00-3.26-.68z\",\n fill: \"#000\"\n}), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M0 0h80v69H0z\"\n})))));","// extracted by mini-css-extract-plugin\nexport default {\"round\":\"round--FaPER\",\"klarna\":\"klarna--QCjnG\",\"facebook\":\"facebook--dQZU4\"};","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.7 0H1.3C.6 0 0 .6 0 1.3v21.4c0 .7.6 1.3 1.3 1.3h11.5v-9.3H9.7v-3.6h3.1V8.4c0-3.1 1.9-4.8 4.7-4.8 1.3 0 2.5.1 2.8.1V7h-1.9c-1.5 0-1.8.7-1.8 1.8v2.3h3.6l-.5 3.6h-3.1V24h6.1c.7 0 1.3-.6 1.3-1.3V1.3c0-.7-.6-1.3-1.3-1.3z\"\n})));","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 8.5c0-.6.2-1.2.5-1.7s.7-1 1.3-1.3c-.4-.5-.8-.9-1.3-1.2s-1.1-.4-1.7-.4c-1.2-.2-2.4.7-3.1.7-.6 0-1.6-.7-2.7-.7-.7 0-1.3.2-1.9.6s-1 .8-1.3 1.4C.4 8.4 1.4 12 2.8 14c.7 1 1.5 2.1 2.5 2 1 0 1.4-.7 2.6-.7 1.2 0 1.6.7 2.6.6 1.1 0 1.8-1 2.4-2 .5-.7.9-1.5 1.1-2.3-.6-.3-1.2-.7-1.6-1.3-.2-.4-.4-1.1-.4-1.8zm-2-5.9c.6-.7.9-1.6.8-2.6-.9.1-1.7.5-2.3 1.2-.3.4-.6.7-.7 1.2-.2.4-.2.8-.2 1.3.5 0 .9-.1 1.3-.3.4-.2.8-.5 1.1-.8z\"\n})));","import type React from 'react';\nimport { Button } from '../atoms/button/button';\nimport KlarnaKIcon from '@tradera/blueprint/theme/icons-colored/klarna-k.svg?jsx';\nimport { classNames } from 'tradera/utils/class-names';\nimport styles from './social-buttons.module.scss';\nimport FacebookIcon from '@tradera/blueprint/theme/icons2/facebook.svg?jsx';\nimport AppleIcon from '@tradera/blueprint/theme/icons2/network-apple.svg?jsx';\n\nexport type SocialButtonProps = React.PropsWithChildren<{\n disabled?: boolean;\n loading?: boolean;\n className?: string;\n round?: boolean;\n onClick?: (event: React.MouseEvent) => void;\n tabIndex?: number;\n}>;\n\nexport const KlarnaButton = ({\n round,\n className,\n children,\n ...props\n}: SocialButtonProps) => {\n return (\n }\n fixedIcon={!round}\n theme=\"light\"\n round={round}\n size={round ? 'md' : 'sm'}\n nonBrandedText\n className={classNames(className, styles.klarna, {\n [styles.round]: round\n })}\n {...props}>\n {children}\n \n );\n};\n\nexport const FacebookButton = ({\n round,\n className,\n children,\n ...props\n}: SocialButtonProps) => {\n return (\n }\n fixedIcon={!round}\n round={round}\n size={round ? 'md' : 'sm'}\n nonBrandedText\n className={classNames(className, styles.facebook, {\n [styles.round]: round\n })}\n {...props}>\n {children}\n \n );\n};\n\nexport const AppleButton = ({\n round,\n className,\n children,\n ...props\n}: SocialButtonProps) => {\n return (\n }\n fixedIcon={!round}\n round={round}\n size={round ? 'md' : 'sm'}\n nonBrandedText\n className={classNames(className, {\n [styles.round]: round\n })}\n {...props}>\n {children}\n \n );\n};\n","import FormField from '../swedish-private-v2/form-field';\nimport InputPersonalId from '../swedish-private-v2/input-personal-id';\nimport FormHeader, { SwedenCountryCode } from '../../common/form/form-header';\nimport { Heading } from '../../common/form/form-parts';\nimport GoogleIcon from '@tradera/blueprint/theme/icons-colored/google.svg?jsx';\nimport WarningIcon from '@tradera/blueprint/theme/icons/warning.svg?jsx';\nimport { FormFooter } from '../../common/form/form-footer';\nimport { useTranslator, useUrlLocalizer } from 'tradera/lang/translate';\nimport { getAvailableUserRegistrationCountries } from 'tradera/apps/registration/helpers/get-available-user-registration-countries';\nimport { SelectCountry } from '../../common/form/select-country';\nimport { GoogleSignupButton } from '../google-signup-button';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport {\n AppleButton,\n FacebookButton,\n KlarnaButton\n} from 'tradera/components/social-buttons/social-buttons';\n\nexport const SwedishPrivateFormStep1 = (props) => {\n const {\n appleEnabled,\n appleNotLoaded,\n facebookEnabled,\n facebookNotLoaded,\n form,\n googleEnabled,\n googleNotLoaded,\n klarnaEnabled,\n klarnaNotLoaded,\n isNativeAppContext,\n onAppleStart,\n onFacebookStart,\n onGoogleStart,\n onKlarnaStart,\n onNavigate\n } = props;\n const { t } = useTranslator();\n const { toLocalizedUrl } = useUrlLocalizer();\n const availableCountries = getAvailableUserRegistrationCountries(t);\n return (\n <>\n \n
\n
\n Skapa konto gratis\n

\n Välkommen till Sveriges största marknadsplats.\n

\n {\n window.location.href = `${toLocalizedUrl(\n '/register/foreign-private'\n )}?countryCode=${selectedValue}`;\n }}\n selectedCountryCodeIso2={SwedenCountryCode}\n />\n {(facebookEnabled ||\n appleEnabled ||\n googleEnabled ||\n klarnaEnabled) && (\n
\n
\n
\n {googleEnabled && (\n <>\n {isNativeAppContext ? (\n }\n fixedIcon>\n Fortsätt med Google\n \n ) : (\n \n )}\n {googleNotLoaded && (\n
\n \n \n Google-inloggning kunde\n inte startas. Ladda om\n sidan eller registrera\n dig med e-postadress\n ovan.\n \n
\n )}\n \n )}\n {klarnaEnabled && (\n <>\n \n Fortsätt med Klarna\n \n {klarnaNotLoaded && (\n
\n \n \n Klarna-inloggning kunde\n inte startas. Ladda om\n sidan eller registrera\n dig med e-postadress\n ovan.\n \n
\n )}\n \n )}\n {appleEnabled && (\n <>\n \n Fortsätt med Apple\n \n {appleNotLoaded && (\n
\n \n \n Apple-inloggning kunde\n inte startas. Ladda om\n sidan eller registrera\n dig med e-postadress\n ovan.\n \n
\n )}\n \n )}\n {facebookEnabled && (\n <>\n \n Fortsätt med Facebook\n \n {facebookNotLoaded && (\n
\n \n \n Facebook-inloggning\n kunde inte startas.\n Ladda om sidan eller\n registrera dig med\n e-postadress ovan.\n \n
\n )}\n \n )}\n
\n
\n \n \n eller\n \n
\n
\n )}\n \n \n \n Skapa nytt konto\n \n
\n
\n \n \n );\n};\n","const Terms = (props) => {\n const { onChange, accepts, termsError } = props;\n const termsUrl =\n 'https://www.tradera.com/support/_/terms/terms-and-conditions/';\n const privacyUrl =\n 'https://www.tradera.com/support/_/terms/Privacy-Statement/';\n\n return (\n
\n
\n onChange(e.target.checked)}\n defaultChecked={accepts}\n />\n \n
\n {termsError && (\n
\n Du måste godkänna användaravtalet\n
\n )}\n
\n );\n};\n\nexport default Terms;\n","import React from 'react';\nimport * as blueshift from '../../../helpers/blueshift';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { useIsFeatureEnabled } from 'tradera/hooks/use-is-feature-enabled';\nimport { ScrollableModal } from 'tradera/components/scrollable-modal/scrollable-modal';\nimport { Trans, useTranslator } from 'tradera/lang/translate';\nimport { Heading } from 'tradera/components/atoms/heading/heading';\n\ntype MarketingProps = { isDefaultChecked?: boolean };\n\nexport const Marketing = ({ isDefaultChecked = true }: MarketingProps) => {\n const { t } = useTranslator();\n const [show, setShow] = React.useState(false);\n const isModalEnabled = useIsFeatureEnabled('registration-marketing-modal');\n return (\n <>\n
\n \n blueshift.setAcceptsMarketing(e.target.checked)\n }\n defaultChecked={\n !isDefaultChecked\n ? false\n : blueshift.getAcceptsMarketing()\n }\n />\n \n
\n {isModalEnabled && (\n setShow(true)}\n theme=\"link\">\n {t('registration_howYourDataIsUsed_label')}\n \n )}\n setShow(false)}\n mobileBottomSheet\n show={show}\n title={t('marketing_registration_modal_heading')}>\n ,\n readMoreLink: \n
\n
\n
\n {!isNativeAppContext && (\n
\n Har du hamnat fel?{' '}\n GÃ¥ tillbaka till Tradera\n
\n )}\n \n
\n \n );\n};\n","import FormField from '../swedish-private-v2/form-field';\nimport InputPersonalId from '../swedish-private-v2/input-personal-id';\nimport PersonalDetailsAutoFill from '../swedish-private-v2/personal-details-autofill';\nimport { FacebookProfileIcon } from '../../icons';\nimport Terms from '../swedish-private-v2/terms';\nimport { Marketing } from '../swedish-private-v2/marketing';\nimport { Heading } from '../../common/form/form-parts';\nimport { AutoFilledPersonalDetails } from './auto-filled-personal-details';\nimport { ManualPersonalDetails } from './manual-personal-details';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\nimport { AliasSuggestions } from '../../common/alias-suggestions';\n\nexport const SwedishPrivateFacebook = (props) => {\n const { form, onNavigate, onChangeAcceptsTerms, acceptsTerms, termsError } =\n props;\n const autoFilled =\n !form.autoFillFailed &&\n !form.hasAnyFieldSetFromUserInput(\n PersonalDetailsAutoFill.manuallyFilledFields\n );\n const firstName = form.get('FacebookFirstName') || form.get('FirstName');\n const facebookUserId = form.get('FacebookId');\n const addressValid = form.isValid(PersonalDetailsAutoFill.autoFilledFields);\n const showAutoFilledPersonalDetails =\n autoFilled && addressValid && form.isValid(['PersonalNumber']);\n const showManualPersonalDetails =\n (!autoFilled || !addressValid) && form.isValid(['PersonalNumber']);\n return (\n <>\n
\n
\n
\n \n
\n {firstName ? `Hej ${firstName}!` : `Hej!`}\n

\n Nu behöver du bara komplettera din profil med följande info:\n

\n \n form.setFromUserInput('Alias', alias)}\n />\n \n {showAutoFilledPersonalDetails && (\n \n )}\n {showManualPersonalDetails && (\n \n )}\n \n \n \n Registrera\n \n
\n
\n \n
\n \n );\n};\n","import FormField from '../swedish-private-v2/form-field';\nimport InputPersonalId from '../swedish-private-v2/input-personal-id';\nimport PersonalDetailsAutoFill from '../swedish-private-v2/personal-details-autofill';\nimport Terms from '../swedish-private-v2/terms';\nimport { Marketing } from '../swedish-private-v2/marketing';\nimport { Heading } from '../../common/form/form-parts';\nimport { AutoFilledPersonalDetails } from './auto-filled-personal-details';\nimport { ManualPersonalDetails } from './manual-personal-details';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\nimport { AliasSuggestions } from '../../common/alias-suggestions';\n\nexport const SwedishPrivateApple = (props) => {\n const {\n form,\n onNavigate,\n onChangeAcceptsTerms,\n acceptsTerms,\n isNativeAppContext,\n termsError\n } = props;\n const autoFilled =\n !form.autoFillFailed &&\n !form.hasAnyFieldSetFromUserInput(\n PersonalDetailsAutoFill.manuallyFilledFields\n );\n const firstName = form.get('FirstName');\n const addressValid = form.isValid(PersonalDetailsAutoFill.autoFilledFields);\n const showAutoFilledPersonalDetails =\n autoFilled && addressValid && form.isValid(['PersonalNumber']);\n const showManualPersonalDetails =\n (!autoFilled || !addressValid) && form.isValid(['PersonalNumber']);\n return (\n <>\n
\n
\n {firstName ? `Hej ${firstName}!` : `Hej!`}\n

\n Nu behöver du bara komplettera din profil med följande info:\n

\n \n form.setFromUserInput('Alias', alias)}\n />\n \n {showAutoFilledPersonalDetails && (\n \n )}\n {showManualPersonalDetails && (\n \n )}\n \n \n \n Registrera\n \n {!isNativeAppContext && (\n
\n Har du hamnat fel?{' '}\n GÃ¥ tillbaka till Tradera\n
\n )}\n
\n
\n \n
\n \n );\n};\n","import FormField from '../swedish-private-v2/form-field';\nimport InputPersonalId from '../swedish-private-v2/input-personal-id';\nimport PersonalDetailsAutoFill from '../swedish-private-v2/personal-details-autofill';\nimport Terms from '../swedish-private-v2/terms';\nimport { Marketing } from '../swedish-private-v2/marketing';\nimport { Heading } from '../../common/form/form-parts';\nimport { AutoFilledPersonalDetails } from './auto-filled-personal-details';\nimport { ManualPersonalDetails } from './manual-personal-details';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\nimport { AliasSuggestions } from '../../common/alias-suggestions';\n\nexport const SwedishPrivateGoogle = (props) => {\n const {\n form,\n onNavigate,\n onChangeAcceptsTerms,\n acceptsTerms,\n isNativeAppContext,\n termsError\n } = props;\n const autoFilled =\n !form.autoFillFailed &&\n !form.hasAnyFieldSetFromUserInput(\n PersonalDetailsAutoFill.manuallyFilledFields\n );\n const firstName = form.get('GoogleFirstName') || form.get('FirstName');\n const addressValid = form.isValid(PersonalDetailsAutoFill.autoFilledFields);\n const showAutoFilledPersonalDetails =\n autoFilled && addressValid && form.isValid(['PersonalNumber']);\n const showManualPersonalDetails =\n (!autoFilled || !addressValid) && form.isValid(['PersonalNumber']);\n return (\n <>\n
\n
\n {firstName ? `Hej ${firstName}!` : `Hej!`}\n

\n Nu behöver du bara komplettera din profil med följande info:\n

\n \n form.setFromUserInput('Alias', alias)}\n />\n \n {showAutoFilledPersonalDetails && (\n \n )}\n {showManualPersonalDetails && (\n \n )}\n \n \n \n Registrera\n \n {!isNativeAppContext && (\n
\n Har du hamnat fel?{' '}\n GÃ¥ tillbaka till Tradera\n
\n )}\n
\n
\n \n
\n \n );\n};\n","import FormField from '../swedish-private-v2/form-field';\nimport InputPersonalId from '../swedish-private-v2/input-personal-id';\nimport PersonalDetailsAutoFill from '../swedish-private-v2/personal-details-autofill';\nimport Terms from '../swedish-private-v2/terms';\nimport { Marketing } from '../swedish-private-v2/marketing';\nimport { Heading } from '../../common/form/form-parts';\nimport { AutoFilledPersonalDetails } from './auto-filled-personal-details';\nimport { ManualPersonalDetails } from './manual-personal-details';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\nimport { AliasSuggestions } from '../../common/alias-suggestions';\n\nexport const SwedishPrivateKlarna = (props) => {\n const {\n form,\n onNavigate,\n onChangeAcceptsTerms,\n acceptsTerms,\n isNativeAppContext,\n termsError\n } = props;\n const autoFilled =\n !form.autoFillFailed &&\n !form.hasAnyFieldSetFromUserInput(\n PersonalDetailsAutoFill.manuallyFilledFields\n );\n const firstName = form.get('KlarnaFirstName') || form.get('FirstName');\n const addressValid = form.isValid(PersonalDetailsAutoFill.autoFilledFields);\n const showAutoFilledPersonalDetails =\n autoFilled && addressValid && form.isValid(['PersonalNumber']);\n const showManualPersonalDetails =\n (!autoFilled || !addressValid) && form.isValid(['PersonalNumber']);\n return (\n <>\n
\n
\n {firstName ? `Hej ${firstName}!` : `Hej!`}\n

\n Nu behöver du bara komplettera din profil med följande info:\n

\n \n form.setFromUserInput('Alias', alias)}\n />\n \n {showAutoFilledPersonalDetails && (\n \n )}\n {showManualPersonalDetails && (\n \n )}\n \n \n \n Registrera\n \n {!isNativeAppContext && (\n
\n Har du hamnat fel?{' '}\n GÃ¥ tillbaka till Tradera\n
\n )}\n
\n
\n \n
\n \n );\n};\n","import { Heading } from '../../common/form/form-parts';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\n\nexport const SwedishPrivateManualReview = (props) => {\n const { successfulSubmissionData, helpUrl } = props;\n return (\n <>\n
\n
\n Vi håller på att verifiera dina uppgifter\n
\n Ditt konto kommer att aktiveras så fort det har granskats.\n Vi skickar ett e-postmeddelande till{' '}\n {successfulSubmissionData.emailAddress} så fort det är\n klart. Under tiden kan du fortsätta använda Tradera som\n oinloggad.\n
\n \n GÃ¥ till Tradera\n \n
\n Har du problem? Kontakta oss\n
\n
\n
\n \n
\n \n );\n};\n","import React from 'react';\nimport Axios from 'axios';\nimport BlockingLoader from '../../common/form/blocking-loader';\nimport { Heading } from '../../common/form/form-parts';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\n\nexport class SwedishPrivateWaitForAccountCreation extends React.Component {\n componentDidMount() {\n this.checkStatus();\n }\n\n componentWillUnmount() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n }\n\n checkStatus() {\n const successData = this.props.successfulSubmissionData || {};\n Axios.get(`/register/api/account/status/${successData.memberId}`)\n .then((resp) => {\n switch (resp.data) {\n case 'Pending':\n this.timeout = setTimeout(\n this.checkStatus.bind(this),\n 500\n );\n return;\n case 'ManualReview':\n this.props.onManualReview();\n return;\n case 'Approved':\n this.props.onNavigate();\n return;\n default:\n this.props.onManualReview();\n return;\n }\n })\n .catch(() => {});\n }\n\n render() {\n return (\n <>\n
\n
\n Ditt konto skapas\n
\n \n
\n
\n Har du problem?{' '}\n Kontakta oss\n
\n
\n
\n \n
\n \n );\n }\n}\n","import { Heading } from '../../common/form/form-parts';\nimport CheckBadgeIcon from '@tradera/blueprint/theme/icons2/check-badge.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\n\nexport const SwedishPrivateFormAccountCreated = (props) => {\n const {\n successfulSubmissionData: { emailAddress, redirectLink },\n helpUrl,\n isNativeAppContext\n } = props;\n\n return (\n <>\n
\n
\n
\n \n
\n Tack! Vänligen kolla din e-post\n
\n Du får inom kort ditt lösenord skickat till din e-postadress\n ({emailAddress}).\n
\n
\n Inte fått något lösenord? Beroende på dina\n e-postinställningar kan mejlet hamnat i skräppostmappen. I\n vissa fall kan det ta upp till 24h innan kontot är godkänt\n på grund av verifiering av dina uppgifter.\n
\n\n \n {isNativeAppContext ? 'Fortsätt' : 'Klar'}\n \n
\n Har du problem? Kontakta oss\n
\n
\n
\n \n
\n \n );\n};\n","export const PROVIDERS = {\n FACEBOOK: 'facebook',\n APPLE: 'apple',\n GOOGLE: 'google',\n KLARNA: 'klarna'\n};\n\nexport const PROVIDER_NAMES = {\n [PROVIDERS.FACEBOOK]: 'Facebook',\n [PROVIDERS.APPLE]: 'Apple',\n [PROVIDERS.GOOGLE]: 'Google',\n [PROVIDERS.KLARNA]: 'Klarna'\n};\n\nexport const FUNNEL_PASSWORD = 'password';\nexport const FUNNEL_APPLE = PROVIDERS.APPLE;\nexport const FUNNEL_FACEBOOK = PROVIDERS.FACEBOOK;\nexport const FUNNEL_GOOGLE = PROVIDERS.GOOGLE;\nexport const FUNNEL_KLARNA = PROVIDERS.KLARNA;\n","/* eslint-disable better-mutation/no-mutation */\n\nimport React from 'react';\nimport Axios from 'axios';\nimport * as blueshift from '../../../helpers/blueshift';\nimport * as ga from '../../../services/login-signup-analytics';\nimport GoogleTagManager from '../../../services/google-tag-manager';\nimport ErrorMessages from '../../../messages/error-messages';\nimport BlockingLoader from '../../common/form/blocking-loader';\nimport PersonalDetailsAutoFill from '../swedish-private-v2/personal-details-autofill';\nimport Form from '../swedish-private-v2/form';\nimport LocalFormStore from '../swedish-private-v2/local-form-store';\nimport Google from '../../../helpers/social-auth/google';\nimport Apple from '../../../helpers/social-auth/apple';\nimport Facebook from '../../../helpers/social-auth/facebook';\nimport Klarna from '../../../helpers/social-auth/klarna';\nimport { FacebookProfileIcon } from '../../icons';\nimport { SwedishPrivateProviderEmailRequired } from './swedish-private-provider-email-required';\nimport { SwedishPrivateProviderEmailExists } from './swedish-private-provider-email-exists';\nimport { SwedishPrivateProviderIdExists } from './swedish-private-provider-id-exists';\nimport { SwedishPrivateFormAccountCreatedWithProvider } from './swedish-private-form-account-created-with-provider';\nimport { SwedishPrivateFormStep1 } from './swedish-private-form-step-1';\nimport { SwedishPrivateFormStep2 } from './swedish-private-form-step-2';\nimport { SwedishPrivateFacebook } from './swedish-private-facebook';\nimport { SwedishPrivateApple } from './swedish-private-apple';\nimport { SwedishPrivateGoogle } from './swedish-private-google';\nimport { SwedishPrivateKlarna } from './swedish-private-klarna';\nimport { SwedishPrivateManualReview } from './swedish-private-manual-review';\nimport { SwedishPrivateWaitForAccountCreation } from './swedish-private-wait-for-account-creation';\nimport { SwedishPrivateFormAccountCreated } from './swedish-private-form-account-created';\nimport { isServer } from 'tradera/utils/nextjs';\nimport {\n FUNNEL_APPLE,\n FUNNEL_FACEBOOK,\n FUNNEL_GOOGLE,\n FUNNEL_KLARNA,\n FUNNEL_PASSWORD,\n PROVIDERS,\n PROVIDER_NAMES\n} from 'tradera/apps/registration/helpers/social-auth/providers';\nimport { waitForCountSessionId } from 'tradera/apps/registration/components/common/kount-session-id-awaiter';\n\nif (isServer) {\n // Do not remove this without also removing the disable of eslint better-mutation/no-mutation at top of file.\n throw new Error(\n 'This implementation may not compatible with SSR where global properties are shared between server instances'\n );\n}\n\nexport class SwedishPrivateForm extends React.Component {\n constructor(props) {\n super(props);\n this.autoFill = new PersonalDetailsAutoFill();\n this.formStore = new LocalFormStore();\n this.facebook = new Facebook(props.facebookAppId);\n this.apple = new Apple(props.appleAppId);\n this.google = new Google(props.googleAppId);\n this.klarna = new Klarna(\n props.klarnaAppId,\n props.klarnaEnvironment,\n 'sv-SE',\n (res) => this.klarnaAuthenticated(res)\n );\n this.funnel = null;\n\n this.state = {\n step: '/step/1',\n acceptsTerms: false,\n termsError: false,\n form: new Form({\n EmailAddress: {\n rules: 'copyfor=email:required;email;minlength[5];maxlength[255]',\n async: '/register/api/validate/email'\n },\n PersonalNumber: {\n rules: 'copyfor=personalid:required;personalid',\n async: '/register/api/validate/personal-number'\n },\n Alias: {\n rules: 'copyfor=alias:required;minlength[2];maxlength[50];latinwithnumbers',\n async: '/register/api/validate/alias'\n },\n FacebookId: {\n rules: '',\n async: '/register/api/validate/facebook-id'\n },\n PhoneNumber: {\n rules: 'copyfor=phonenumber:required;phone;minlength[8];maxlength[15]'\n },\n AutoPersonalDetails: {\n rules: 'copyfor=autopersonaldetails:required'\n },\n FirstName: {\n rules: 'copyfor=firstname:required;minlength[2];maxlength[30];latinonly'\n },\n LastName: {\n rules: 'copyfor=lastname:required;minlength[2];maxlength[30];latinonly'\n },\n StreetName: {\n rules: 'copyfor=streetname:required;latinwithnumbers'\n },\n ZipCode: {\n rules: 'copyfor=zipcode:required;zipcode'\n },\n Town: {\n rules: 'copyfor=town:required;latinonly'\n },\n FacebookFirstName: {\n rules: ''\n }\n })\n };\n\n this.setStepFromLocationHash = this.setStepFromLocationHash.bind(this);\n this.forceFormUpdate = this.forceFormUpdate.bind(this);\n }\n\n componentDidMount() {\n Axios.defaults.headers.common['X-Xsrf-Token'] =\n this.props.antiForgeryToken;\n\n this.formStore.restoreState(this.state.form);\n this.state.form.onChange(this.forceFormUpdate);\n this.state.form.onChange(this.formStore.saveState);\n\n this.state.form.onValidation(this.autoFill.onValidation);\n\n this.initializeLocation();\n\n ga.method.setIfEmpty(ga.METHOD.UNKNOWN);\n ga.flow.set(ga.FLOW.SIGNUP);\n ga.trackEvent('user-signup-step-1');\n\n this.state.form.onValidation((form, field) => {\n const fieldState = form.fields[field];\n if (\n fieldState.isValid ||\n !fieldState.errors ||\n fieldState.errors.length === 0\n ) {\n return;\n }\n fieldState.errors.forEach((e) => {\n if (e.async && e.code === 'ALIAS_IN_USE') {\n ga.trackEvent('user-signup-fail', 0, 'alias-exists');\n } else if (e.async && e.code === 'INVALID_PERSONALID') {\n ga.trackEvent(\n 'user-signup-fail',\n 0,\n 'invalid-personnummer'\n );\n } else {\n // ga.trackEvent('user-signup-fail', 0, 'other');\n }\n });\n });\n\n if (this.props.isNativeAppContext) {\n this.facebook.onNativeInitiatedLogin((facebookAuthData) => {\n if (facebookAuthData) {\n ga.method.set(ga.METHOD.FACEBOOK);\n ga.trackEvent('user-signup-step-2');\n\n this.setState({ isLoading: true });\n this.facebookAuthenticated(facebookAuthData);\n }\n });\n this.apple.onNativeInitiatedLogin((appleAuthData) => {\n if (appleAuthData) {\n ga.method.set(ga.METHOD.APPLE);\n ga.trackEvent('user-signup-step-2');\n\n this.setState({ isLoading: true });\n this.appleAuthenticated(appleAuthData);\n }\n });\n this.google.onNativeInitiatedLogin((googleAuthData) => {\n if (googleAuthData) {\n ga.method.set(ga.METHOD.GOOGLE);\n ga.trackEvent('user-signup-step-2');\n\n this.setState({ isLoading: true });\n this.googleAuthenticated(googleAuthData);\n }\n });\n this.klarna.onNativeInitiatedLogin((klarnaAuthData) => {\n if (klarnaAuthData) {\n ga.method.set(ga.METHOD.KLARNA);\n ga.trackEvent('user-signup-step-2');\n\n this.setState({ isLoading: true });\n this.klarnaAuthenticated(klarnaAuthData);\n }\n });\n }\n }\n\n forceFormUpdate() {\n this.forceUpdate();\n }\n\n funnelStart(funnel) {\n if (this.funnel === funnel) {\n return;\n }\n\n this.funnel = funnel;\n Axios.post(\n `/register/api/register/swedish-private/funnel-start/${funnel}`\n );\n }\n\n initializeLocation() {\n switch (window.location.hash) {\n case '#/confirm':\n case '#/apple/pending':\n case '#/google/pending':\n case '#/klarna/pending':\n case '#/facebook/pending':\n case '#/manual-review':\n try {\n const successfulSubmissionData = JSON.parse(\n sessionStorage.getItem('successfulSubmissionData')\n );\n this.setState({\n successfulSubmissionData: successfulSubmissionData\n });\n this.setStepFromLocationHash();\n } catch (e) {\n window.location.hash = '#/step/1';\n }\n break;\n case '#/step/2':\n this.setState({ isLoading: true });\n this.state.form.waitForValidation(() => {\n this.returnToFirstInvalidStep();\n this.setStepFromLocationHash();\n this.setState({ isLoading: false });\n });\n break;\n default:\n this.state.form.onFirstAttempt(() =>\n this.funnelStart(FUNNEL_PASSWORD)\n );\n window.location.hash = '#/step/1';\n break;\n }\n window.addEventListener('hashchange', this.setStepFromLocationHash);\n }\n\n setStepFromLocationHash() {\n this.setState({ step: window.location.hash.replace('#', '') });\n GoogleTagManager.trackPageView();\n }\n\n componentWillUnmount() {\n this.state.form.removeOnChange(this.forceFormUpdate);\n this.state.form.removeOnChange(this.formStore.saveState);\n this.autoFill.deregister(this.autoFill.onValidation);\n\n window.removeEventListener('hashchange', this.setStepFromLocationHash);\n }\n\n render() {\n return (\n <>\n {this.currentStep()}\n {this.state.isLoading && }\n \n );\n }\n\n currentStep() {\n const successData = this.state.successfulSubmissionData || {};\n\n switch (this.state.step) {\n case '/step/1':\n default:\n return (\n this.step2()}\n onFacebookStart={() => this.facebookStart()}\n facebookNotLoaded={this.state.facebookNotLoaded}\n onAppleStart={() => this.appleStart()}\n appleNotLoaded={this.state.appleNotLoaded}\n onGoogleStart={(providerData) =>\n this.googleStart(providerData)\n }\n googleNotLoaded={this.state.googleNotLoaded}\n onKlarnaStart={(providerData) =>\n this.klarnaStart(providerData)\n }\n klarnaNotLoaded={this.state.klarnaNotLoaded}\n isNativeAppContext={this.props.isNativeAppContext}\n />\n );\n case '/step/2':\n return (\n this.submit()}\n onChangeAcceptsTerms={(v) =>\n this.setState({\n acceptsTerms: v,\n termsError: false\n })\n }\n acceptsTerms={this.state.acceptsTerms}\n termsError={this.state.termsError}\n />\n );\n case '/confirm':\n return (\n \n );\n case '/manual-review':\n return (\n \n );\n case '/facebook':\n return (\n \n this.submitWithProvider(PROVIDERS.FACEBOOK)\n }\n onChangeAcceptsTerms={(v) =>\n this.setState({\n acceptsTerms: v,\n termsError: false\n })\n }\n acceptsTerms={this.state.acceptsTerms}\n termsError={this.state.termsError}\n />\n );\n case '/facebook/pending':\n return (\n this.finishFacebookRegistration()}\n onManualReview={() => this.manualReview()}\n onEmailExists={() =>\n this.emailExists(PROVIDERS.FACEBOOK)\n }\n />\n );\n case '/facebook/confirm':\n return (\n \n }\n />\n );\n case '/facebook/id-exists':\n return (\n \n );\n case '/facebook/email-exists':\n return (\n \n );\n case '/facebook/email-required':\n return (\n \n );\n case '/apple':\n return (\n \n this.submitWithProvider(PROVIDERS.APPLE)\n }\n onChangeAcceptsTerms={(v) =>\n this.setState({\n acceptsTerms: v,\n termsError: false\n })\n }\n acceptsTerms={this.state.acceptsTerms}\n termsError={this.state.termsError}\n />\n );\n case '/apple/pending':\n return (\n this.finishAppleRegistration()}\n onManualReview={() => this.manualReview()}\n onEmailExists={() => this.emailExists(PROVIDERS.APPLE)}\n />\n );\n case '/apple/confirm':\n return (\n \n );\n case '/apple/id-exists':\n return (\n \n );\n case '/apple/email-exists':\n return (\n \n );\n\n case '/google':\n return (\n \n this.submitWithProvider(PROVIDERS.GOOGLE)\n }\n onChangeAcceptsTerms={(v) =>\n this.setState({\n acceptsTerms: v,\n termsError: false\n })\n }\n acceptsTerms={this.state.acceptsTerms}\n termsError={this.state.termsError}\n />\n );\n case '/google/pending':\n return (\n this.finishGoogleRegistration()}\n onManualReview={() => this.manualReview()}\n onEmailExists={() => this.emailExists(PROVIDERS.GOOGLE)}\n />\n );\n case '/google/confirm':\n return (\n \n );\n case '/google/id-exists':\n return (\n \n );\n case '/google/email-exists':\n return (\n \n );\n\n case '/klarna':\n return (\n \n this.submitWithProvider(PROVIDERS.KLARNA)\n }\n onChangeAcceptsTerms={(v) =>\n this.setState({\n acceptsTerms: v,\n termsError: false\n })\n }\n acceptsTerms={this.state.acceptsTerms}\n termsError={this.state.termsError}\n />\n );\n case '/klarna/pending':\n return (\n this.finishKlarnaRegistration()}\n onManualReview={() => this.manualReview()}\n onEmailExists={() => this.emailExists(PROVIDERS.KLARNA)}\n />\n );\n case '/klarna/confirm':\n return (\n \n );\n case '/klarna/id-exists':\n return (\n \n );\n case '/klarna/email-exists':\n return (\n \n );\n }\n }\n\n submit() {\n this.setState({ isLoading: true });\n ga.trackEvent('user-signup-submit');\n\n this.state.form.waitForValidation(() => {\n if (!this.state.form.isValid()) {\n this.setState({ isLoading: false });\n return;\n }\n\n this.state.form.trim('Alias');\n this.state.form.trim('EmailAddress');\n\n waitForCountSessionId()\n .then((sessionId) => {\n const submissionData = this.state.form.fieldNames().reduce(\n (formData, field) => ({\n ...formData,\n [field]: this.state.form.get(field)\n }),\n {\n terms: this.state.acceptsTerms,\n sessionId: sessionId\n }\n );\n\n return Axios.post(this.props.url, submissionData, {\n validateStatus: false\n });\n })\n .then((response) => {\n if (\n response.status >= 400 &&\n response.data &&\n response.data.errors\n ) {\n this.setState({ isLoading: false });\n this.setValidationErrors(response.data.errors);\n return;\n }\n\n this.formStore.clear();\n this.setState({\n successfulSubmissionData: response.data\n });\n try {\n sessionStorage.setItem(\n 'successfulSubmissionData',\n JSON.stringify(response.data)\n );\n } catch (e) {\n // DO NOTHING\n }\n ga.trackEvent(\n 'user-signup-success',\n response.data.memberId\n );\n blueshift.triggerUserSignedUpEvent(\n response.data.memberId,\n response.data.emailAddress\n );\n window.location.hash = '/confirm';\n this.setState({ isLoading: false });\n return;\n })\n .catch((err) => {\n console.error('Submission (Email/Password) failed', err);\n });\n });\n }\n\n submitWithProvider(provider) {\n this.setState({ isLoading: true });\n ga.trackEvent('user-signup-submit');\n\n this.state.form.waitForValidation(() => {\n if (!this.state.form.isValid()) {\n this.setState({ isLoading: false });\n return;\n }\n\n const submissionData = this.state.form.fieldNames().reduce(\n (formData, field) => ({\n ...formData,\n [field]: this.state.form.get(field)\n }),\n { terms: this.state.acceptsTerms }\n );\n\n Axios.post(this.props.url, submissionData, {\n validateStatus: false\n })\n .then((response) => {\n if (\n response.status >= 400 &&\n response.data &&\n response.data.errors\n ) {\n this.setState({ isLoading: false });\n this.setValidationErrors(response.data.errors);\n return;\n }\n\n this.formStore.clear();\n try {\n sessionStorage.setItem(\n 'successfulSubmissionData',\n JSON.stringify(response.data)\n );\n } catch (e) {\n //DO NOTHING\n }\n\n this.setState(\n {\n successfulSubmissionData: response.data,\n isLoading: false\n },\n () => (window.location.hash = `/${provider}/pending`)\n );\n return;\n })\n .catch((err) => {\n console.error(\n `Submission (${PROVIDER_NAMES[provider]}) failed`,\n err\n );\n });\n });\n }\n\n loginWithFacebook() {\n Axios.post('/login/facebook/verify', {\n AccessToken: this.state.form.get('FacebookUserAccessToken'),\n UserId: this.state.form.get('FacebookId')\n })\n .then((res) => {\n ga.trackEvent(\n 'user-login-success',\n res && res.data && res.data.memberId\n );\n this.setState({ isLoading: false });\n window.location.hash = '/facebook/confirm';\n return;\n })\n .catch((err) => {\n ga.trackEvent(\n 'user-login-fail',\n null,\n err && err.data && err.data.error\n );\n this.setState({ isLoading: false });\n console.error('/login/facebook/verify failed', err);\n window.location.hash = '/facebook/confirm';\n });\n }\n\n loginOrPairWithApple() {\n Axios.post('/login/apple/verify', {\n AccessToken: this.state.form.get('AppleUserAccessToken'),\n UserId: 'NOT_IN_USE'\n })\n .then((res) => {\n ga.trackEvent(\n 'user-login-success',\n res && res.data && res.data.memberId\n );\n window.location.hash = '/apple/confirm';\n return;\n })\n .catch(() => {\n this.pairExistingAccountWithApple();\n });\n }\n\n pairExistingAccountWithApple() {\n Axios.post('/login/apple/verify', {\n AccessToken: this.state.form.get('AppleUserAccessToken'),\n UserId: 'NOT_IN_USE'\n })\n .then((res) => {\n ga.trackEvent(\n 'user-login-through-registration-success',\n res && res.data && res.data.memberId\n );\n window.location.href =\n '/login?connect=apple&connectmatch=email';\n return;\n })\n .catch((err) => {\n ga.trackEvent(\n 'user-login-through-registration-fail',\n null,\n err && err.data && err.data.error\n );\n window.location.href =\n '/login?connect=apple&connectmatch=email';\n });\n }\n\n loginOrPairWithGoogle() {\n Axios.post('/login/google/verify', {\n AccessToken: this.state.form.get('GoogleUserAccessToken'),\n UserId: 'NOT_IN_USE'\n })\n .then((res) => {\n ga.trackEvent(\n 'user-login-success',\n res && res.data && res.data.memberId\n );\n window.location.hash = '/google/confirm';\n return;\n })\n .catch(() => {\n this.pairExistingAccountWithGoogle();\n });\n }\n\n loginOrPairWithKlarna() {\n Axios.post('/login/klarna/verify', {\n AccessToken: this.state.form.get('KlarnaIdToken'),\n RefreshToken: this.state.form.get('KlarnaRefreshToken'),\n UserId: this.state.form.get('KlarnaId')\n })\n .then((res) => {\n ga.trackEvent(\n 'user-login-success',\n res && res.data && res.data.memberId\n );\n window.location.hash = '/klarna/confirm';\n return;\n })\n .catch((err) => {\n if (err.response?.data?.returnUrl) {\n window.location.href = err.response.data.returnUrl;\n } else {\n this.pairExistingAccountWithKlarna();\n }\n });\n }\n\n pairExistingAccountWithGoogle() {\n Axios.post('/login/google/verify', {\n AccessToken: this.state.form.get('GoogleUserAccessToken'),\n UserId: 'NOT_IN_USE'\n })\n .then((res) => {\n ga.trackEvent(\n 'user-login-through-registration-success',\n res && res.data && res.data.memberId\n );\n window.location.href =\n '/login?connect=google&connectmatch=email';\n return;\n })\n .catch((err) => {\n ga.trackEvent(\n 'user-login-through-registration-fail',\n null,\n err && err.data && err.data.error\n );\n window.location.href =\n '/login?connect=google&connectmatch=email';\n });\n }\n\n pairExistingAccountWithKlarna() {\n Axios.post('/login/klarna/verify', {\n AccessToken: this.state.form.get('KlarnaIdToken'),\n RefreshToken: this.state.form.get('KlarnaRefreshToken'),\n UserId: this.state.form.get('KlarnaId')\n })\n .then((res) => {\n ga.trackEvent(\n 'user-login-through-registration-success',\n res && res.data && res.data.memberId\n );\n window.location.href =\n '/login?connect=klarna&connectmatch=email';\n return;\n })\n .catch((err) => {\n ga.trackEvent(\n 'user-login-through-registration-fail',\n null,\n err && err.data && err.data.error\n );\n window.location.href =\n '/login?connect=klarna&connectmatch=email';\n });\n }\n\n finishFacebookRegistration() {\n const successData = this.state.successfulSubmissionData || {};\n ga.trackEvent('user-signup-success', successData.memberId);\n blueshift.triggerUserSignedUpEvent(\n successData.memberId,\n successData.emailAddress\n );\n\n Axios.post('/login/facebook/verify', {\n AccessToken: this.state.form.get('FacebookUserAccessToken'),\n UserId: this.state.form.get('FacebookId')\n })\n .then(() => {\n window.location.hash = '/facebook/confirm';\n return;\n })\n .catch((err) => {\n window.location.hash = '/facebook/confirm';\n console.error('/login/facebook/verify failed', err);\n });\n }\n\n finishAppleRegistration() {\n const successData = this.state.successfulSubmissionData || {};\n ga.trackEvent('user-signup-success', successData.memberId);\n blueshift.triggerUserSignedUpEvent(\n successData.memberId,\n successData.emailAddress\n );\n\n Axios.post('/login/apple/verify', {\n AccessToken: this.state.form.get('AppleUserAccessToken'),\n UserId: 'NOT_IN_USE'\n })\n .then(() => {\n window.location.hash = '/apple/confirm';\n return;\n })\n .catch((err) => {\n window.location.hash = '/apple/confirm';\n console.error('/login/apple/verify failed', err);\n });\n }\n\n finishGoogleRegistration() {\n const successData = this.state.successfulSubmissionData || {};\n ga.trackEvent('user-signup-success', successData.memberId);\n blueshift.triggerUserSignedUpEvent(\n successData.memberId,\n successData.emailAddress\n );\n\n Axios.post('/login/google/verify', {\n AccessToken: this.state.form.get('GoogleUserAccessToken'),\n UserId: 'NOT_IN_USE'\n })\n .then(() => {\n window.location.hash = '/google/confirm';\n return;\n })\n .catch((err) => {\n window.location.hash = '/google/confirm';\n console.error('/login/google/verify failed', err);\n });\n }\n\n finishKlarnaRegistration() {\n const successData = this.state.successfulSubmissionData || {};\n ga.trackEvent('user-signup-success', successData.memberId);\n blueshift.triggerUserSignedUpEvent(\n successData.memberId,\n successData.emailAddress\n );\n\n Axios.post('/login/klarna/verify', {\n AccessToken: this.state.form.get('KlarnaIdToken'),\n RefreshToken: this.state.form.get('KlarnaRefreshToken'),\n UserId: this.state.form.get('KlarnaId')\n })\n .then(() => {\n window.location.hash = '/klarna/confirm';\n return;\n })\n .catch((err) => {\n window.location.hash = '/klarna/confirm';\n console.error('/login/klarna/verify failed', err);\n });\n }\n\n manualReview() {\n const successData = this.state.successfulSubmissionData || {};\n ga.trackEvent(\n 'user-signup-success',\n successData.memberId,\n 'credit-safe'\n );\n blueshift.triggerUserSignedUpEvent(\n successData.memberId,\n successData.emailAddress\n );\n window.location.hash = '/manual-review';\n }\n\n emailExists(provider) {\n ga.trackEvent('user-signup-fail', 0, 'email-exists');\n window.location.hash = `/${provider}/email-exists`;\n }\n\n setValidationErrors(errors) {\n errors\n .filter(({ code }) => code !== 'REQUIRED_TERMS')\n .forEach((error) => {\n this.state.form.addError(error.field, {\n code: error.code,\n description: ErrorMessages['sv'][error.code]\n });\n });\n\n const termsError = errors.find(({ code }) => code === 'REQUIRED_TERMS');\n\n if (termsError) {\n this.setState({ termsError: true });\n }\n\n this.returnToFirstInvalidStep();\n }\n\n returnToFirstInvalidStep() {\n if (!this.state.form.isValid(['EmailAddress', 'PersonalNumber'])) {\n window.location.hash = '';\n }\n }\n\n step2() {\n const fields = ['EmailAddress', 'PersonalNumber'];\n this.setState({ isLoading: true });\n this.state.form.waitForValidation(() => {\n this.setState({ isLoading: false });\n if (!this.state.form.isValid(fields)) {\n return;\n }\n\n ga.method.set(ga.METHOD.PASSWORD);\n ga.trackEvent('user-signup-step-2');\n window.location.hash = '/step/2';\n }, fields);\n }\n\n facebookStart() {\n if (!this.facebook.isLoaded() && !this.props.isNativeAppContext) {\n this.setState({ facebookNotLoaded: true });\n ga.trackEvent('user-signup-facebook-error');\n return;\n }\n ga.method.set(ga.METHOD.FACEBOOK);\n ga.trackEvent('user-signup-step-2');\n\n this.setState({ isLoading: true });\n this.facebook\n .login({ native: this.props.isNativeAppContext })\n .then((result) => {\n const auth = this.facebookAuthenticated(result);\n return auth;\n })\n .catch((err) => {\n console.error('Failed logging in to Facebook', err);\n this.setState({ isLoading: false });\n });\n }\n\n appleStart() {\n if (!this.apple.isLoaded() && !this.props.isNativeAppContext) {\n this.setState({ appleNotLoaded: true });\n ga.trackEvent('user-signup-apple-error');\n return;\n }\n ga.method.set(ga.METHOD.APPLE);\n ga.trackEvent('user-signup-step-2');\n\n this.setState({ isLoading: true });\n this.apple\n .login({ native: this.props.isNativeAppContext })\n .then((result) => {\n const auth = this.appleAuthenticated(result);\n return auth;\n })\n .catch((err) => {\n console.error('Failed logging in to Apple', err);\n this.setState({ isLoading: false });\n });\n }\n\n async googleStart(providerData) {\n if (!this.google.isLoaded() && !this.props.isNativeAppContext) {\n this.setState({ googleNotLoaded: true });\n ga.trackEvent('user-signup-google-error');\n return;\n }\n ga.method.set(ga.METHOD.GOOGLE);\n ga.trackEvent('user-signup-step-2');\n\n this.setState({ isLoading: true });\n try {\n const result = await this.google.login({\n native: this.props.isNativeAppContext,\n providerData\n });\n this.googleAuthenticated(result);\n } catch (err) {\n console.error('Failed logging in to Google', err);\n } finally {\n this.setState({ isLoading: false });\n }\n }\n\n async klarnaStart() {\n ga.method.set(ga.METHOD.KLARNA);\n ga.trackEvent('user-signup-step-2');\n\n this.setState({ isLoading: true });\n try {\n if (!this.props.isNativeAppContext) {\n await window.Klarna.SignIn.onButtonClick();\n } else {\n const result = await this.klarna.login({ native: true });\n this.klarnaAuthenticated(result);\n }\n } catch (err) {\n console.error('Failed logging in to Klarna', err);\n } finally {\n this.setState({ isLoading: false });\n }\n }\n\n facebookAuthenticated(\n data = { userId: '', accessToken: '', email: '', firstName: '' }\n ) {\n if (!data.email) {\n this.setState({ isLoading: false });\n window.location.hash = '/facebook/email-required';\n ga.trackEvent('user-signup-fail', 0, 'email-is-required-from-fb');\n return;\n }\n\n this.state.form.setFromGenerated('EmailAddress', data.email);\n this.state.form.setFromGenerated('FirstName', data.firstName);\n this.state.form.setFromGenerated('FacebookId', data.userId);\n this.state.form.setFromGenerated(\n 'FacebookUserAccessToken',\n data.accessToken\n );\n this.state.form.setFromGenerated('FacebookFirstName', data.firstName);\n\n const onValidatedCallback = () => {\n if (this.state.form.hasError('FacebookId', 'FACEBOOK_ID_IN_USE')) {\n this.loginWithFacebook();\n return;\n }\n if (this.state.form.hasError('EmailAddress', 'EMAIL_IN_USE')) {\n window.location.href =\n '/login?connect=facebook&connectmatch=email';\n return;\n }\n\n this.setState({ isLoading: false });\n this.funnelStart(FUNNEL_FACEBOOK);\n ga.trackEvent('user-signup-step-3');\n };\n\n window.location.hash = '/facebook';\n this.state.form.waitForValidation(onValidatedCallback, [\n 'EmailAddress',\n 'FacebookId'\n ]);\n }\n\n appleAuthenticated(data = { accessToken: '', email: '', firstName: '' }) {\n if (!data.email) {\n this.setState({ isLoading: false });\n window.location.href = '/login?connect=apple&connectmatch=email';\n return;\n }\n\n this.state.form.setFromGenerated('EmailAddress', data.email);\n this.state.form.setFromGenerated('FirstName', data.firstName);\n this.state.form.setFromGenerated(\n 'AppleUserAccessToken',\n data.accessToken\n );\n\n const onValidatedCallback = () => {\n if (this.state.form.hasError('EmailAddress', 'EMAIL_IN_USE')) {\n this.setState({ isLoading: false });\n this.loginOrPairWithApple();\n return;\n }\n\n window.location.hash = '/apple';\n\n this.setState({ isLoading: false });\n this.funnelStart(FUNNEL_APPLE);\n ga.trackEvent('user-signup-step-3');\n };\n\n this.state.form.waitForValidation(onValidatedCallback, [\n 'EmailAddress'\n ]);\n }\n\n googleAuthenticated(data = { accessToken: '', email: '', firstName: '' }) {\n if (!data.email) {\n this.setState({ isLoading: false });\n window.location.href = '/login?connect=google&connectmatch=email';\n return;\n }\n\n this.state.form.setFromGenerated('EmailAddress', data.email);\n this.state.form.setFromGenerated('FirstName', data.firstName);\n this.state.form.setFromGenerated(\n 'GoogleUserAccessToken',\n data.accessToken\n );\n this.state.form.setFromGenerated('GoogleFirstName', data.firstName);\n\n const onValidatedCallback = () => {\n if (this.state.form.hasError('EmailAddress', 'EMAIL_IN_USE')) {\n this.setState({ isLoading: false });\n this.loginOrPairWithGoogle();\n return;\n }\n\n window.location.hash = '/google';\n\n this.setState({ isLoading: false });\n this.funnelStart(FUNNEL_GOOGLE);\n ga.trackEvent('user-signup-step-3');\n };\n this.state.form.waitForValidation(onValidatedCallback, [\n 'EmailAddress'\n ]);\n }\n\n klarnaAuthenticated(\n data = {\n accessToken: '',\n refreshToken: '',\n userId: '',\n email: '',\n personalNumber: '',\n firstName: '',\n lastName: '',\n town: '',\n streetName: '',\n zipCode: '',\n phoneNumber: ''\n }\n ) {\n if (!data.email) {\n this.setState({ isLoading: false });\n window.location.href = '/login?connect=klarna&connectmatch=email';\n return;\n }\n\n this.state.form.setFromGenerated('EmailAddress', data.email);\n this.state.form.setFromGenerated('KlarnaIdToken', data.accessToken);\n this.state.form.setFromGenerated(\n 'KlarnaRefreshToken',\n data.refreshToken\n );\n this.state.form.setFromGenerated('KlarnaId', data.userId);\n\n if (data.personalNumber)\n this.state.form.setFromGenerated(\n 'PersonalNumber',\n data.personalNumber\n );\n if (data.firstName)\n this.state.form.setFromGenerated('FirstName', data.firstName);\n if (data.lastName)\n this.state.form.setFromGenerated('LastName', data.lastName);\n if (data.town) this.state.form.setFromGenerated('Town', data.town);\n if (data.streetName)\n this.state.form.setFromGenerated('StreetName', data.streetName);\n if (data.zipCode)\n this.state.form.setFromGenerated('ZipCode', data.zipCode);\n if (data.phoneNumber)\n this.state.form.setFromGenerated('PhoneNumber', data.phoneNumber);\n\n const onValidatedCallback = () => {\n if (this.state.form.hasError('EmailAddress', 'EMAIL_IN_USE')) {\n this.setState({ isLoading: false });\n this.loginOrPairWithKlarna();\n return;\n }\n\n window.location.hash = '/klarna';\n\n this.setState({ isLoading: false });\n this.funnelStart(FUNNEL_KLARNA);\n ga.trackEvent('user-signup-step-3');\n };\n this.state.form.waitForValidation(onValidatedCallback, [\n 'EmailAddress'\n ]);\n }\n}\n","import ReactDOM from 'react-dom/client';\nimport { SwedishPrivateForm } from './components/forms/swedish-private-form/swedish-private-form';\nimport './main.scss';\nimport { ProviderWithGlobalStore } from 'tradera/state/configure-store';\nimport { bootLanguages } from 'tradera/lang/boot-languages';\nimport { UserRegWrapper } from 'tradera/apps/registration/components/common/user-reg-wrapper';\n\nbootLanguages();\n\nconst root = ReactDOM.createRoot(document.getElementById('app-form'));\nroot.render(\n \n \n \n \n \n);\n","import { classNames } from 'tradera/utils/class-names';\nimport type React from 'react';\nimport { forwardRef } from 'react';\nimport type { PolyRefFunction, OnlyAs } from 'react-polymorphed';\n\nimport styles from './heading.module.scss';\n\nconst polyRef = forwardRef as PolyRefFunction;\n\ntype HeadingSize =\n | 'stockholm'\n | 'madrid'\n | 'berlin'\n | 'london'\n | 'amsterdam'\n | 'paris';\n\nconst HeadingSizesMap: Record = {\n h1: 'stockholm', // default: 35, large: 42\n h2: 'madrid', // default: 21, large: 28\n h3: 'berlin', // default: 16, large: 21\n h4: 'london', // default: 16, large: 16\n h5: 'paris' // default: 14, large: 14\n};\n\nexport type HeadingProps = {\n /**\n * You don't necessarily need to use this prop, setting `as` should get you a good default size.\n * You can override the size from `as` by using this prop.\n *\n * - stockholm: small screen: 35px, large screen: 42px\n * - madrid: small screen: 21px, large screen: 28px\n * - berlin: small screen: 16px, large screen: 21px\n * - london: small screen: 16px, large screen: 16px\n * - paris: small screen: 14px, large screen: 14px\n */\n size?: HeadingSize;\n className?: string;\n /**\n * Defaults to `left`\n */\n align?: 'left' | 'center' | 'right';\n branded?: boolean;\n children?: React.ReactNode;\n};\n\n/**\n * Heading component\n *\n * Use this for setting creating heading elements. Use \"as\" to set semantically correct heading level, and use \"size\" to override the default size per heading level.\n *\n * @example\n * \n * My heading\n * \n *\n * @example\n * \n * A centered branded heading\n * \n */\nexport const Heading = polyRef<\n 'h1',\n HeadingProps,\n OnlyAs<'h1' | 'h2' | 'h3' | 'h4' | 'h5'>\n>(\n (\n {\n as: Component = 'h1',\n size: sizeProp,\n children,\n align,\n branded = false,\n className,\n ...props\n },\n ref\n ) => {\n const size = (sizeProp ||\n HeadingSizesMap[Component as HeadingSize]) as HeadingSize;\n\n return (\n \n {children}\n \n );\n }\n);\n","import { createSlice } from '@reduxjs/toolkit';\nimport type { ErrorMessageCodes } from './error-message-codes';\nimport { ModalState } from './modal-state';\n\nexport type BankIdSlice = {\n qrData?: string | null;\n errorCode?: ErrorMessageCodes | null;\n modalState: ModalState;\n autoStartToken?: string | null;\n bankIdOrderRef?: string | null;\n contactSsn?: string | null;\n organizationNumber?: string | null;\n purpose: string | null;\n memberId: number | null;\n};\n\nconst initialState: BankIdSlice = {\n qrData: null,\n errorCode: null,\n modalState: ModalState.CLOSED,\n autoStartToken: null,\n bankIdOrderRef: null,\n contactSsn: null,\n organizationNumber: null,\n purpose: null,\n memberId: null\n};\n\nexport const bankIdSlice = createSlice({\n name: 'BankId',\n initialState,\n reducers: {\n reset: () => {\n return { ...initialState };\n },\n completed: (state) => {\n return { ...state, modalState: ModalState.COMPLETED };\n },\n setError: (state, { payload }) => {\n return {\n ...state,\n errorCode: payload,\n modalState: ModalState.ERROR\n };\n },\n inProgress: (state, { payload }) => {\n return {\n ...state,\n autoStartToken: payload.autoStartToken || state.autoStartToken,\n bankIdOrderRef: payload.bankIdOrderRef || state.bankIdOrderRef,\n contactSsn: payload.contactSsn || state.contactSsn,\n organizationNumber:\n payload.organizationNumber || state.organizationNumber,\n qrData: payload.qrData\n };\n },\n startAuth: (state, { payload }) => {\n return {\n ...state,\n ...initialState, // Reset any previous BankID verification\n purpose: payload.purpose,\n memberId: payload.memberId || null,\n modalState: ModalState.IN_PROGRESS\n };\n },\n close: (state) => {\n return {\n ...state,\n modalState: ModalState.CLOSED\n };\n }\n }\n});\n\nexport const { reset, completed, setError, inProgress, startAuth, close } =\n bankIdSlice.actions;\n\nexport default bankIdSlice.reducer;\n","import type React from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport {\n EnterFrom,\n EnterFade\n} from 'tradera/components/transitions/transitions';\nimport { Overlay } from 'tradera/components/scrollable-modal/overlay';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport styles from './bottom-sheet.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\n\nexport type BottomSheetProps = React.PropsWithChildren<{\n show: boolean;\n onDismiss?: () => void;\n maxHeight?: string | number;\n inlineStyle?: React.CSSProperties;\n className?: string;\n onTop?: boolean;\n bottomAnchor?: number;\n}>;\n\nexport const BottomSheet = ({\n children,\n show,\n onDismiss,\n onTop,\n className,\n inlineStyle = {},\n maxHeight = '100%',\n bottomAnchor\n}: BottomSheetProps) => (\n \n {show && (\n \n \n \n )}\n {show && (\n \n \n \n \n {children}\n
\n
\n \n \n )}\n \n);\n","/**\n * Using an accessible dialog or \"modal\" window. From Radix UI\n * https://www.radix-ui.com/docs/primitives/components/dialog\n */\nimport type React from 'react';\nimport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogContent\n} from '@radix-ui/react-dialog';\nimport MediaQuery from 'react-responsive';\n\nimport { BREAKPOINT_SIZES, BREAKPOINTS } from 'tradera/constants/breakpoints';\nimport styles from './dialog-modal.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\n\nconst mobileOnlyProps = { maxWidth: BREAKPOINT_SIZES[BREAKPOINTS.SM].max };\nconst desktopOnlyProps = { minWidth: BREAKPOINT_SIZES[BREAKPOINTS.MD].min };\nconst allDeviceProps = { minWidth: BREAKPOINT_SIZES[BREAKPOINTS.XS].min };\n\nexport type DialogModalProps = {\n children: React.ReactNode;\n className?: string;\n desktop?: boolean;\n dismissOnOverlayClick?: boolean;\n mediaQuery?: {\n minWidth?: number;\n maxWidth?: number;\n };\n mobile?: boolean;\n mobileFullscreen?: boolean;\n onDismiss?: () => void;\n onTop?: boolean;\n style?: React.CSSProperties;\n overlayClassNames?: string;\n};\n\nconst DialogModal = ({\n children,\n className,\n desktop,\n dismissOnOverlayClick = true,\n mediaQuery,\n mobile,\n mobileFullscreen = true,\n onTop,\n onDismiss,\n style,\n overlayClassNames\n}: DialogModalProps) => {\n const getDefaultMediaProps = () => {\n if (mobile && desktop) {\n return allDeviceProps;\n }\n if (mobile) {\n return mobileOnlyProps;\n }\n if (desktop) {\n return desktopOnlyProps;\n }\n return allDeviceProps;\n };\n\n let mediaQueryProps;\n if (!mediaQuery) {\n mediaQueryProps = getDefaultMediaProps();\n } else {\n mediaQueryProps = mediaQuery;\n }\n\n return (\n \n {\n if (!open && onDismiss) {\n onDismiss();\n }\n }}>\n \n \n e.preventDefault()\n }>\n {children}\n \n \n \n \n \n );\n};\n\nexport default DialogModal;\n","import type React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useInView } from 'react-intersection-observer';\nimport styles from './scrollable-modal-content.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\nimport { HeaderWithCloseButton } from './header-with-close-button';\n\nexport type ScrollableModalContentProps = {\n children: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Just want a HeaderWithCloseButton? Use `title` instead.\n */\n header?: React.ReactNode;\n /**\n * If title is provided, a HeaderWithCloseButton along with it will be rendered.\n * Remember to pass `onClose` as well!\n */\n title?: string;\n className?: string;\n innerClassName?: string;\n /**\n * If true, the content will be rendered with a higher z-index than the footer.\n */\n forceZIndex?: boolean;\n onClose?: () => void;\n} & (\n | {\n padding?: boolean;\n paddingX?: never;\n paddingTop?: never;\n paddingBottom?: never;\n }\n | {\n padding?: never;\n paddingX?: boolean;\n paddingTop?: boolean;\n paddingBottom?: boolean;\n }\n);\n\nexport const ScrollableModalContent = ({\n children,\n footer,\n header,\n className,\n title,\n onClose,\n forceZIndex,\n innerClassName = '',\n padding = true,\n paddingX = true,\n paddingTop = true,\n paddingBottom = true\n}: ScrollableModalContentProps) => {\n const inViewOptions = { initialInView: true, threshold: 1 };\n const [scrollableContentRef, isScrollableContentEntirelyVisible] =\n useInView(inViewOptions);\n const [hasScroll, setHasScroll] = useState(false);\n\n useEffect(() => {\n setHasScroll(!isScrollableContentEntirelyVisible);\n }, [isScrollableContentEntirelyVisible]);\n\n const head = header ? (\n header\n ) : title ? (\n \n ) : null;\n\n return (\n \n {head}\n \n \n {children}\n
\n
\n {footer && (\n \n {footer}\n
\n )}\n
\n );\n};\n","import type { DialogModalProps } from 'tradera/components/dialog/dialog-modal';\nimport DialogModal from 'tradera/components/dialog/dialog-modal';\nimport useIsMobile from 'tradera/hooks/use-is-mobile';\nimport { BottomSheet } from 'tradera/components/bottom-sheet/bottom-sheet';\nimport type { ScrollableModalContentProps } from './scrollable-modal-content';\nimport { ScrollableModalContent } from './scrollable-modal-content';\nimport { classNames } from 'tradera/utils/class-names';\n\nexport type ScrollableModalProps = Pick<\n ScrollableModalContentProps,\n 'children' | 'footer' | 'onClose' | 'title' | 'header' | 'forceZIndex'\n> &\n Pick<\n ScrollableModalContentProps,\n 'padding' | 'paddingX' | 'paddingTop' | 'paddingBottom'\n > &\n DialogModalProps & {\n /**\n * For example \"40rem\" or \"60vw\". It will be used like this: `min(${maxWidth}, 100%) for mobile and `min(${maxWidth}, 80vw)` for desktop\n */\n maxWidth?: string;\n /**\n * For example \"80vh\". It will be used like this: `min(${maxHeight}, 100%)` for mobile and `min(${maxHeight}, 80vh)` for desktop\n */\n maxHeight?: string;\n /**\n * If true, the modal will be rendered as a bottom sheet on mobile\n */\n mobileBottomSheet?: boolean;\n /**\n * If true, the bottom sheet will be rendered as full height\n */\n bottomSheetFullHeight?: boolean;\n show: boolean;\n onTop?: boolean;\n className?: string;\n };\n\n/**\n *\n * @example\n * const [show, setShow] = useState(false);\n *\n * const handleOnClose = () => {\n * setShow(false);\n * };\n *\n * \n Ok, got it\n }>\n * This is the content of the modal!\n * \n */\nexport const ScrollableModal = ({\n header,\n children,\n footer,\n onClose,\n title,\n maxWidth = '40rem',\n maxHeight = '80vh',\n mobileBottomSheet,\n onTop,\n bottomSheetFullHeight = false,\n forceZIndex,\n show,\n padding = true,\n paddingX,\n paddingTop,\n paddingBottom,\n className,\n ...dialogModalProps\n}: ScrollableModalProps) => {\n const isMobile = useIsMobile();\n\n const content = (\n \n {children}\n \n );\n\n if (mobileBottomSheet && isMobile) {\n return (\n \n {content}\n \n );\n }\n\n if (!show) return null;\n\n return (\n \n {content}\n \n );\n};\n","import { PAGE_LIST_TYPES } from 'tradera/apps/my-tradera/app/constants/list-types';\n\n/**\n * @returns {object} list of default cookies that could be set in Touchweb\n * @desc\n * key: Cookie Name\n * default: Default Value if not set\n * length: Time to be stored (months)\n */\nexport const DEFAULT_COOKIES = {\n ITEM_LAYOUT: {\n key: 'Srp_Item_Layout',\n default: 'layout-grid',\n length: 365\n },\n SITE_LAYOUT: {\n key: 'Srp_Site_Layout',\n default: 'site-width-default',\n length: 365\n }\n};\n\nexport const MYTRADERA_DEFAULT_COOKIES = {\n LIST_VIEW_TYPE: {\n key: 'MyTradera_ListViewType',\n default: 'Basic',\n length: 14\n },\n ITEMS_PER_PAGE: {\n key: 'MyTradera_ItemsPerPage',\n default: '15',\n length: 14\n },\n SHOW_FILTERS: {\n key: 'MyTradera_ShowFiltersToolbar',\n default: 'hidden',\n length: 14\n },\n LIST_VIEW_TYPE_BUYER_ACTIVE_ITEMS: {\n key: 'MyTradera_ListViewType_' + PAGE_LIST_TYPES.BUYER_ACTIVE_ITEMS,\n default: 'Basic',\n length: 14\n },\n LIST_VIEW_TYPE_BUYER_ITEMS_LOST: {\n key: 'MyTradera_ListViewType_' + PAGE_LIST_TYPES.BUYER_ITEMS_LOST,\n default: 'Basic',\n length: 14\n },\n LIST_VIEW_TYPE_SELLER_ACTIVE: {\n key: 'MyTradera_ListViewType_' + PAGE_LIST_TYPES.SELLER_ACTIVE,\n default: 'Basic',\n length: 14\n },\n LIST_VIEW_TYPE_SELLER_NOT_SOLD: {\n key: 'MyTradera_ListViewType_' + PAGE_LIST_TYPES.SELLER_NOT_SOLD,\n default: 'Basic',\n length: 14\n }\n};\n\nexport const APP_DOWNLOAD_MODAL_DISMISSED = 'app_download_modal_dismissed';\nexport const GDPR_CONSENT_COOKIE = 'gdpr_consent_v1';\nexport const FORCE_GEO_DEV = 'force-geo-dev';\nexport const ITEMS_PER_PAGE = 'ITEMS_PER_PAGE';\nexport const LIST_VIEW_TYPE = 'LIST_VIEW_TYPE';\nexport const MOBILE_OPT_IN_TAGS = 'mobile-opt-in-tags';\nexport const NATIVE_APP_ENVIRONMENT = 'native-app-environment';\nexport const PREFERRED_CURRENCY = 'preferred_currency';\nexport const REGION_PICKER_DISMISSED = 'region_picker_dismissed_session';\nexport const S = 's';\nexport const SHIPPING_COUNTRY = 'shipping_country';\nexport const SHOW_FILTERS = 'SHOW_FILTERS';\nexport const SIGNUP_REFERRAL_PATH = 'signup_referral_path';\nexport const SOLD_VIEW_PICKLIST = 'sold_view_picklist';\nexport const TEST = 'test';\nexport const SAVE_SEARCH_MODAL_DISMISSED = 'save_search_modal_dismissed';\nexport const USERPREFERENCES = 'UserPreferences';\nexport const CART_ID = 'cartId';\nexport const VIEWPORT_WIDTH = 'viewport-width';\nexport const SHIP_TO_SWEDEN_DISCLAIMER_DISMISSED =\n 'ship-to-sweden-disclaimer-dismissed';\nexport const HAS_LOGGED_IN = 'has-logged-in';\nexport const EXPERIMENT_BUCKET = 'experiment_bucket';\nexport const PRODUCT_COMMUNICATION_DISMISSED =\n 'product_communication_dismissed';\nexport const WISH_LIST_NOTIFICATION_DISPLAY_COUNT =\n 'wish-list-nudge-notification-display-count';\nexport const WISH_LIST_NOTIFICATION_HIDDEN =\n 'wish-list-nudge-notification-hidden';\nexport const RECENTLY_VIEWED_ITEM_IDS = 'recently-viewed-items';\nexport const RECENT_SEARCHES = 'recent-searches';\nexport const SAVED_SEARCHES = 'saved-searches';\nexport const ENTERED_FASHION_PAGE = 'entered-fashion-page';\n\n// Social login cookies -->\nexport const APPLE_ATTEMPTED_ID = 'apple_attempted_id';\nexport const APPLE_ATTEMPTED_TOKEN = 'apple_attempted_token';\n\nexport const FACEBOOK_ATTEMPTED_ID = 'fb_attempted_id';\nexport const FACEBOOK_ATTEMPTED_TOKEN = 'fb_attempted_token';\n\nexport const GOOGLE_ATTEMPTED_ID = 'google_attempted_id';\nexport const GOOGLE_ATTEMPTED_TOKEN = 'google_attempted_token';\n\nexport const KLARNA_ATTEMPTED_ID = 'klarna_attempted_id';\nexport const KLARNA_ATTEMPTED_TOKEN = 'klarna_attempted_token';\nexport const KLARNA_ATTEMPTED_REFRESH_TOKEN = 'klarna_attempted_refresh_token';\n// <-- Social login cookies\n\nexport const COOKIE_CATEGORIES = {\n Essential: 1,\n Performance: 2,\n Functional: 3,\n Marketing: 4\n};\n\nexport const COLLECT_SSN_MODAL_DISMISSED = 'collect-ssn-modal-dismissed';\nexport const TRADERA_PAY_CONSENT_MODAL_DISMISSED =\n 'tradera-pay-consent-modal-dismissed';\nexport const HAS_SEEN_COMBINEDSHIPPING_MODAL =\n 'has-seen-combined-shipping-modal';\n\n/**\n * all cookies that are used by tradera must be categorized in the array below.\n */\nexport const CATEGORIZED_COOKIES = {\n [GDPR_CONSENT_COOKIE]: COOKIE_CATEGORIES.Essential,\n [NATIVE_APP_ENVIRONMENT]: COOKIE_CATEGORIES.Essential,\n [TEST]: COOKIE_CATEGORIES.Essential, // Unit test cookie\n\n [EXPERIMENT_BUCKET]: COOKIE_CATEGORIES.Performance,\n\n [APP_DOWNLOAD_MODAL_DISMISSED]: COOKIE_CATEGORIES.Functional,\n [DEFAULT_COOKIES.ITEM_LAYOUT.key]: COOKIE_CATEGORIES.Functional,\n [DEFAULT_COOKIES.SITE_LAYOUT.key]: COOKIE_CATEGORIES.Functional,\n [FORCE_GEO_DEV]: COOKIE_CATEGORIES.Functional,\n [HAS_LOGGED_IN]: COOKIE_CATEGORIES.Functional,\n [ITEMS_PER_PAGE]: COOKIE_CATEGORIES.Functional,\n [LIST_VIEW_TYPE]: COOKIE_CATEGORIES.Functional,\n [MOBILE_OPT_IN_TAGS]: COOKIE_CATEGORIES.Functional,\n [MYTRADERA_DEFAULT_COOKIES.ITEMS_PER_PAGE.key]:\n COOKIE_CATEGORIES.Functional,\n [MYTRADERA_DEFAULT_COOKIES.LIST_VIEW_TYPE.key]:\n COOKIE_CATEGORIES.Functional,\n [MYTRADERA_DEFAULT_COOKIES.SHOW_FILTERS.key]: COOKIE_CATEGORIES.Functional,\n [PREFERRED_CURRENCY]: COOKIE_CATEGORIES.Functional,\n [REGION_PICKER_DISMISSED]: COOKIE_CATEGORIES.Functional,\n [S]: COOKIE_CATEGORIES.Functional, // saved search\n [SHIPPING_COUNTRY]: COOKIE_CATEGORIES.Essential,\n [SHOW_FILTERS]: COOKIE_CATEGORIES.Functional,\n [SIGNUP_REFERRAL_PATH]: COOKIE_CATEGORIES.Functional,\n [SOLD_VIEW_PICKLIST]: COOKIE_CATEGORIES.Functional,\n [USERPREFERENCES]: COOKIE_CATEGORIES.Functional,\n [SAVE_SEARCH_MODAL_DISMISSED]: COOKIE_CATEGORIES.Functional,\n [CART_ID]: COOKIE_CATEGORIES.Functional,\n [VIEWPORT_WIDTH]: COOKIE_CATEGORIES.Functional,\n [SHIP_TO_SWEDEN_DISCLAIMER_DISMISSED]: COOKIE_CATEGORIES.Functional,\n [MYTRADERA_DEFAULT_COOKIES.LIST_VIEW_TYPE_BUYER_ACTIVE_ITEMS.key]:\n COOKIE_CATEGORIES.Functional,\n [MYTRADERA_DEFAULT_COOKIES.LIST_VIEW_TYPE_BUYER_ITEMS_LOST.key]:\n COOKIE_CATEGORIES.Functional,\n [MYTRADERA_DEFAULT_COOKIES.LIST_VIEW_TYPE_SELLER_ACTIVE.key]:\n COOKIE_CATEGORIES.Functional,\n [MYTRADERA_DEFAULT_COOKIES.LIST_VIEW_TYPE_SELLER_NOT_SOLD.key]:\n COOKIE_CATEGORIES.Functional,\n [PRODUCT_COMMUNICATION_DISMISSED]: COOKIE_CATEGORIES.Functional,\n [WISH_LIST_NOTIFICATION_DISPLAY_COUNT]: COOKIE_CATEGORIES.Functional,\n [WISH_LIST_NOTIFICATION_HIDDEN]: COOKIE_CATEGORIES.Functional,\n [COLLECT_SSN_MODAL_DISMISSED]: COOKIE_CATEGORIES.Functional,\n [TRADERA_PAY_CONSENT_MODAL_DISMISSED]: COOKIE_CATEGORIES.Functional,\n [HAS_SEEN_COMBINEDSHIPPING_MODAL]: COOKIE_CATEGORIES.Functional,\n [RECENTLY_VIEWED_ITEM_IDS]: COOKIE_CATEGORIES.Functional,\n [RECENT_SEARCHES]: COOKIE_CATEGORIES.Functional,\n [APPLE_ATTEMPTED_ID]: COOKIE_CATEGORIES.Essential,\n [APPLE_ATTEMPTED_TOKEN]: COOKIE_CATEGORIES.Essential,\n [FACEBOOK_ATTEMPTED_ID]: COOKIE_CATEGORIES.Essential,\n [FACEBOOK_ATTEMPTED_TOKEN]: COOKIE_CATEGORIES.Essential,\n [GOOGLE_ATTEMPTED_ID]: COOKIE_CATEGORIES.Essential,\n [GOOGLE_ATTEMPTED_TOKEN]: COOKIE_CATEGORIES.Essential,\n [KLARNA_ATTEMPTED_ID]: COOKIE_CATEGORIES.Essential,\n [KLARNA_ATTEMPTED_TOKEN]: COOKIE_CATEGORIES.Essential,\n [KLARNA_ATTEMPTED_REFRESH_TOKEN]: COOKIE_CATEGORIES.Essential,\n [SAVED_SEARCHES]: COOKIE_CATEGORIES.Functional,\n [ENTERED_FASHION_PAGE]: COOKIE_CATEGORIES.Functional\n};\n\nexport const COOKIE_DEFAULT_CATEGORY = COOKIE_CATEGORIES.Functional;\n\n/**\n * List of cookies which are OK for any JavaScript to access. Never add cookies\n * that would be a security risk if exposed to third party scripts.\n */\nexport const COOKIES_REQUIRED_FOR_SSR_EXPOSED_TO_JS_IN_BROWSER = [\n CART_ID,\n EXPERIMENT_BUCKET,\n FORCE_GEO_DEV,\n GDPR_CONSENT_COOKIE,\n REGION_PICKER_DISMISSED,\n PRODUCT_COMMUNICATION_DISMISSED,\n SHIPPING_COUNTRY,\n RECENTLY_VIEWED_ITEM_IDS,\n RECENT_SEARCHES,\n DEFAULT_COOKIES.SITE_LAYOUT.key,\n DEFAULT_COOKIES.ITEM_LAYOUT.key,\n SAVED_SEARCHES\n];\n\nconst DAY_IN_MILLISECONDS = 1000 * 60 * 60 * 24;\nexport const YEAR_IN_MILLISECONDS = DAY_IN_MILLISECONDS * 365;\n","import { useMediaQuery } from 'react-responsive';\nimport { BREAKPOINT_SIZES } from 'tradera/constants/breakpoints';\n\nconst useIsMobile = () =>\n useMediaQuery({\n minWidth: BREAKPOINT_SIZES.XS.min,\n maxWidth: BREAKPOINT_SIZES.SM.max\n });\n\nexport default useIsMobile;\n","import React, { useRef } from 'react';\nimport { toLocalizedUrl } from 'tradera/utils/url';\nimport {\n NS_TOUCHWEB,\n I18N_FRONTEND_NAMESPACES,\n TRANS_SUFFIX\n} from './constants.mjs';\nimport { isServer } from 'tradera/utils/nextjs';\nimport { useAppSelector as useSelector } from 'tradera/state/hooks';\n\n// eslint-disable-next-line no-restricted-imports\nimport {\n type TFunction,\n type TranslationProps,\n useTranslation,\n Trans as TransComponent,\n I18nextProvider as NextI18nextProvider\n} from 'react-i18next';\nimport type { i18n } from 'i18next';\nimport type { RootState } from 'tradera/state/configure-store';\nimport { selectPreferredLanguageCode } from 'tradera/state/language/selectors';\nimport type { AddTranslation } from 'tradera/lang/translations-context';\nimport { useAddTranslation } from 'tradera/lang/translations-context';\nimport { useQuery } from 'tradera/hooks/use-query';\n\nexport type TranslationFunction = TFunction;\n\nexport const I18nextProvider = NextI18nextProvider;\n\nconst createWrappedT =\n (\n i18nObject: i18n,\n t: TranslationFunction,\n addTranslation: AddTranslation,\n language: string,\n hasLoadedAllTranslations: boolean,\n throwOnTransSuffix?: boolean,\n isShowingTranslationKeysEnabled?: boolean\n ) =>\n (\n i18nKey: string,\n options?: TranslationProps | string,\n ...args: object[]\n ) => {\n if (\n typeof i18nKey === 'string' &&\n i18nKey.endsWith(TRANS_SUFFIX) &&\n throwOnTransSuffix\n ) {\n throw new Error(\n `t function keys should not have \"Trans\" suffix, got key \"${i18nKey}\". Use Trans component instead.`\n );\n }\n const translation = t(\n i18nKey,\n // @ts-expect-error: TS2698 because I have no idea how these types from/using i18n work\n { ...options, lng: language, hasLoadedAllTranslations },\n ...args\n );\n if (isServer) {\n addTranslationForHydration(\n i18nKey,\n options,\n language,\n i18nObject,\n addTranslation\n );\n }\n return isShowingTranslationKeysEnabled ? i18nKey : translation;\n };\n\nconst isQueryToggleEnabled = (query: string | null) => {\n if (query === null) return false;\n return ['1', 'true', ''].includes(query);\n};\n\n/**\n * i18next translation wrappers for translating static text in react components\n * When to use what?\n * -----\n * 1. For functional components use `useTranslator()` hook\n * 2. For class components use `withTranslator()` HOC\n */\n\n/**\n * Translation hook, wrapper for react-i18next\n */\nexport const useTranslator = () => {\n const addTranslation = useAddTranslation();\n const [isShowingTranslationKeysEnabledQuery] = useQuery('translation-keys');\n const isShowingTranslationKeysEnabled = isQueryToggleEnabled(\n isShowingTranslationKeysEnabledQuery\n );\n const language = useSelector(selectPreferredLanguageCode);\n const loadedLanguages =\n useSelector((state: RootState) => state.status?.loadedLanguages) || [];\n const hasLoadedAllTranslations = loadedLanguages.includes(language);\n const { t, ready, i18n } = useTranslation(I18N_FRONTEND_NAMESPACES);\n const wrappedT: TranslationFunction = React.useMemo(\n () =>\n createWrappedT(\n i18n,\n t,\n addTranslation,\n language,\n hasLoadedAllTranslations,\n true,\n isShowingTranslationKeysEnabled\n ),\n [\n hasLoadedAllTranslations,\n i18n,\n t,\n addTranslation,\n language,\n isShowingTranslationKeysEnabled\n ]\n );\n return { t: ready ? wrappedT : () => '...', i18n };\n};\n\nconst addTranslationForHydration = (\n i18nKey: string,\n options = {},\n language: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n: any,\n addTranslation: AddTranslation\n) => {\n const { key, namespaces } = i18n.translator.extractFromKey(\n i18nKey,\n options\n );\n const namespace = namespaces[namespaces.length - 1];\n const { res, exactUsedKey } = i18n.translator.resolve(key, {\n ...options,\n lng: language,\n ns: namespace\n });\n const pluralizedKey = exactUsedKey || i18nKey;\n\n addTranslation(namespace, pluralizedKey, res);\n};\n\nexport type WithTranslatorProps = ReturnType['t'];\n\n/**\n * Translation HOC, wrapper for react-i18next\n */\nexport function withTranslator<\n TComponent extends WithTranslatorProps = WithTranslatorProps\n>(\n WrappedComponent: React.ComponentType\n): React.ComponentType {\n function WithTranslator(\n props: Omit\n ) {\n const { t } = useTranslator();\n return ;\n }\n\n WithTranslator.displayName = `withTranslator(${\n WrappedComponent.displayName || WrappedComponent.name\n }`;\n return WithTranslator;\n}\n\nexport type WithUrlLocalizerProps = ReturnType<\n typeof useUrlLocalizer\n>['toLocalizedUrl'];\n\n/**\n * Localization HOC, wrapper for URL-localizer\n * @param {Component} WrappedComponent\n */\nexport function withUrlLocalizer<\n TComponent extends WithUrlLocalizerProps = WithUrlLocalizerProps\n>(WrappedComponent: React.ComponentType) {\n function WithUrlLocalizer(\n props: Omit\n ) {\n const { toLocalizedUrl } = useUrlLocalizer();\n return ;\n }\n\n WithUrlLocalizer.displayName = `withUrlLocalizer(${\n WrappedComponent.displayName || WrappedComponent.name\n }`;\n\n return WithUrlLocalizer;\n}\n\n/**\n * Current language hook, wrapper for react-i18next\n */\nexport const useCurrentLanguage = () => {\n const preferredLanguage = useSelector(selectPreferredLanguageCode);\n // Using language from Redux instead of i18n.language since that\n // will always be 'sv' if we don't clone the instance.\n return {\n language: preferredLanguage\n };\n};\n\n/**\n * Returns function to append language prefix to link\n */\nexport const useUrlLocalizer = () => {\n const preferredLanguage = useSelector(selectPreferredLanguageCode);\n const urlLocalizer = useRef(function toLocalizedUrlWrapper(\n url: T\n ): T | string {\n return toLocalizedUrl(url, preferredLanguage);\n });\n return {\n toLocalizedUrl: urlLocalizer.current\n };\n};\n\nexport type TransProps = Omit<\n React.ComponentProps,\n 'i18nKey'\n> & {\n i18nKey: string;\n};\n\nexport const Trans = (props: TransProps) => {\n const addTranslation = useAddTranslation();\n const language = useSelector(selectPreferredLanguageCode);\n const [isShowingTranslationKeysEnabledQuery] = useQuery('translation-keys');\n const isShowingTranslationKeysEnabled = isQueryToggleEnabled(\n isShowingTranslationKeysEnabledQuery\n );\n const loadedLanguages =\n useSelector((state: RootState) => state.status?.loadedLanguages) || [];\n const hasLoadedAllTranslations = loadedLanguages.includes(language);\n const { t, ready, i18n } = useTranslation(I18N_FRONTEND_NAMESPACES);\n const { i18nKey, children, defaults } = props;\n const wrappedT = React.useMemo(\n () =>\n createWrappedT(\n i18n,\n t,\n addTranslation,\n language,\n hasLoadedAllTranslations,\n false,\n isShowingTranslationKeysEnabled\n ),\n [\n hasLoadedAllTranslations,\n i18n,\n t,\n addTranslation,\n language,\n isShowingTranslationKeysEnabled\n ]\n );\n\n // TODO: since we don't have TS everywhere we still need to check these things, when we have TS we can use TS to enforce most of it instead instead\n\n if (!i18nKey) {\n throw new Error('Trans component key must have a i18nKey property');\n }\n if (!i18nKey.endsWith(TRANS_SUFFIX)) {\n throw new Error(\n `Trans component key must have the \"Trans\" suffix, got key \"${i18nKey}\"`\n );\n }\n if (children) {\n throw new Error(\n `Trans component must not have children, use components or t('${i18nKey}') function instead`\n );\n }\n if (defaults) {\n throw new Error(\n 'Trans components must not have defaults, use lokalise instead.'\n );\n }\n if (!ready) {\n return <>...;\n }\n return ;\n};\n","const bannedCountries = new Set([\n 'af',\n 'bi',\n 'by',\n 'cd',\n 'cf',\n 'cu',\n 'fx',\n 'gn',\n 'gw',\n 'iq',\n 'ir',\n 'kp',\n 'lb',\n 'ly',\n 'ml',\n 'mm',\n 'ng',\n 'ni',\n 'ru',\n 'sd',\n 'so',\n 'ss',\n 'sy',\n 'tn',\n 'ua',\n 've',\n 'ye',\n 'zw'\n]);\n\nconst euCountries = new Set([\n 'at',\n 'be',\n 'bg',\n 'cy',\n 'cz',\n 'de',\n 'dk',\n 'ee',\n 'es',\n 'fi',\n 'fr',\n 'gr',\n 'hr',\n 'hu',\n 'ie',\n 'it',\n 'lt',\n 'lu',\n 'lv',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'se',\n 'si',\n 'sk'\n]);\n\nexport const removeBannedCountries = (country) =>\n !bannedCountries.has(country.countryCodeIso2.toLowerCase());\n\nexport const removeBannedCountryCodes = (countryCodeIso2) =>\n !bannedCountries.has(countryCodeIso2.toLowerCase());\n\nexport const getAvailableCountries = (t) => {\n return Object.keys(countries)\n .filter(removeBannedCountryCodes)\n .map((code) => ({\n code,\n name: t(mapCountryCodeToCountryKey(code))\n }))\n .sort((a, b) => (a.name > b.name ? 1 : -1));\n};\n\nexport const countryIsInEU = (countryCode) =>\n euCountries.has(countryCode.toLowerCase());\n\n// We map this way to ensure that each key in lokalise is present in code.\n// This allows us to clean up unnecessary codes in the future.\nexport const mapCountryCodeToCountryKey = (countryCode) => {\n const lokaliseKey = countries[countryCode.toLowerCase()];\n if (!lokaliseKey)\n throw `CountryCode ${countryCode} has no mapping to lokalise key`;\n return lokaliseKey;\n};\n\nexport const countries = {\n ad: 'country_ad',\n ae: 'country_ae',\n af: 'country_af',\n ag: 'country_ag',\n ai: 'country_ai',\n al: 'country_al',\n am: 'country_am',\n an: 'country_an',\n ao: 'country_ao',\n aq: 'country_aq',\n ar: 'country_ar',\n as: 'country_as',\n at: 'country_at',\n au: 'country_au',\n aw: 'country_aw',\n ax: 'country_ax',\n az: 'country_az',\n ba: 'country_ba',\n bb: 'country_bb',\n bd: 'country_bd',\n be: 'country_be',\n bf: 'country_bf',\n bg: 'country_bg',\n bh: 'country_bh',\n bi: 'country_bi',\n bj: 'country_bj',\n bm: 'country_bm',\n bn: 'country_bn',\n bo: 'country_bo',\n br: 'country_br',\n bs: 'country_bs',\n bt: 'country_bt',\n bv: 'country_bv',\n bw: 'country_bw',\n by: 'country_by',\n bz: 'country_bz',\n ca: 'country_ca',\n cc: 'country_cc',\n cd: 'country_cd',\n cf: 'country_cf',\n cg: 'country_cg',\n ch: 'country_ch',\n ci: 'country_ci',\n ck: 'country_ck',\n cl: 'country_cl',\n cm: 'country_cm',\n cn: 'country_cn',\n co: 'country_co',\n cr: 'country_cr',\n cu: 'country_cu',\n cv: 'country_cv',\n cx: 'country_cx',\n cy: 'country_cy',\n cz: 'country_cz',\n de: 'country_de',\n dj: 'country_dj',\n dk: 'country_dk',\n dm: 'country_dm',\n do: 'country_do',\n dz: 'country_dz',\n ec: 'country_ec',\n ee: 'country_ee',\n eg: 'country_eg',\n eh: 'country_eh',\n er: 'country_er',\n es: 'country_es',\n et: 'country_et',\n fi: 'country_fi',\n fj: 'country_fj',\n fk: 'country_fk',\n fm: 'country_fm',\n fo: 'country_fo',\n fr: 'country_fr',\n fx: 'country_fx',\n ga: 'country_ga',\n gb: 'country_gb',\n gd: 'country_gd',\n ge: 'country_ge',\n gf: 'country_gf',\n gh: 'country_gh',\n gi: 'country_gi',\n gl: 'country_gl',\n gm: 'country_gm',\n gn: 'country_gn',\n gp: 'country_gp',\n gq: 'country_gq',\n gr: 'country_gr',\n gs: 'country_gs',\n gt: 'country_gt',\n gu: 'country_gu',\n gw: 'country_gw',\n gy: 'country_gy',\n hk: 'country_hk',\n hm: 'country_hm',\n hn: 'country_hn',\n hr: 'country_hr',\n ht: 'country_ht',\n hu: 'country_hu',\n id: 'country_id',\n ie: 'country_ie',\n il: 'country_il',\n in: 'country_in',\n io: 'country_io',\n iq: 'country_iq',\n ir: 'country_ir',\n is: 'country_is',\n it: 'country_it',\n jm: 'country_jm',\n jo: 'country_jo',\n jp: 'country_jp',\n ke: 'country_ke',\n kg: 'country_kg',\n kh: 'country_kh',\n ki: 'country_ki',\n km: 'country_km',\n kn: 'country_kn',\n kp: 'country_kp',\n kr: 'country_kr',\n kw: 'country_kw',\n ky: 'country_ky',\n kz: 'country_kz',\n la: 'country_la',\n lb: 'country_lb',\n lc: 'country_lc',\n li: 'country_li',\n lk: 'country_lk',\n lr: 'country_lr',\n ls: 'country_ls',\n lt: 'country_lt',\n lu: 'country_lu',\n lv: 'country_lv',\n ly: 'country_ly',\n ma: 'country_ma',\n mc: 'country_mc',\n md: 'country_md',\n mg: 'country_mg',\n mh: 'country_mh',\n mk: 'country_mk',\n ml: 'country_ml',\n mm: 'country_mm',\n mn: 'country_mn',\n mo: 'country_mo',\n mp: 'country_mp',\n mq: 'country_mq',\n mr: 'country_mr',\n ms: 'country_ms',\n mt: 'country_mt',\n mu: 'country_mu',\n mv: 'country_mv',\n mw: 'country_mw',\n mx: 'country_mx',\n my: 'country_my',\n mz: 'country_mz',\n na: 'country_na',\n nc: 'country_nc',\n ne: 'country_ne',\n nf: 'country_nf',\n ng: 'country_ng',\n ni: 'country_ni',\n nl: 'country_nl',\n no: 'country_no',\n np: 'country_np',\n nr: 'country_nr',\n nu: 'country_nu',\n nz: 'country_nz',\n om: 'country_om',\n pa: 'country_pa',\n pe: 'country_pe',\n pf: 'country_pf',\n pg: 'country_pg',\n ph: 'country_ph',\n pk: 'country_pk',\n pl: 'country_pl',\n pm: 'country_pm',\n pn: 'country_pn',\n pr: 'country_pr',\n ps: 'country_ps',\n pt: 'country_pt',\n pw: 'country_pw',\n py: 'country_py',\n qa: 'country_qa',\n re: 'country_re',\n ro: 'country_ro',\n ru: 'country_ru',\n rs: 'country_rs',\n rw: 'country_rw',\n sa: 'country_sa',\n sb: 'country_sb',\n sc: 'country_sc',\n sd: 'country_sd',\n se: 'country_se',\n sg: 'country_sg',\n sh: 'country_sh',\n si: 'country_si',\n sj: 'country_sj',\n sk: 'country_sk',\n sl: 'country_sl',\n sm: 'country_sm',\n sn: 'country_sn',\n so: 'country_so',\n sr: 'country_sr',\n st: 'country_st',\n sv: 'country_sv',\n sy: 'country_sy',\n sz: 'country_sz',\n tc: 'country_tc',\n td: 'country_td',\n tf: 'country_tf',\n tg: 'country_tg',\n th: 'country_th',\n tj: 'country_tj',\n tk: 'country_tk',\n tl: 'country_tl',\n tm: 'country_tm',\n tn: 'country_tn',\n to: 'country_to',\n tr: 'country_tr',\n tt: 'country_tt',\n tv: 'country_tv',\n tw: 'country_tw',\n tz: 'country_tz',\n ua: 'country_ua',\n ug: 'country_ug',\n um: 'country_um',\n us: 'country_us',\n uy: 'country_uy',\n uz: 'country_uz',\n va: 'country_va',\n vc: 'country_vc',\n ve: 'country_ve',\n vg: 'country_vg',\n vi: 'country_vi',\n vn: 'country_vn',\n vu: 'country_vu',\n wf: 'country_wf',\n ws: 'country_ws',\n ye: 'country_ye',\n yt: 'country_yt',\n yu: 'country_yu',\n za: 'country_za',\n zm: 'country_zm',\n zw: 'country_zw'\n};\n","export const isSwedenCountryCodeOrUndefined = (countryCodeIso2) =>\n countryCodeIso2 === undefined ||\n countryCodeIso2 === null ||\n countryCodeIso2.toLowerCase() === 'se';\n\nexport const isSwedenCountryNameOrUndefined = (countryName) =>\n countryName === undefined ||\n countryName === null ||\n countryName.toLowerCase() === 'sweden';\n\nexport const isDenmarkCountryCode = (countryCodeIso2) =>\n !isSwedenCountryCodeOrUndefined(countryCodeIso2) &&\n countryCodeIso2.toLowerCase() === 'dk';\n\nexport const isNetherlandsCountryCode = (countryCodeIso2) =>\n !isSwedenCountryCodeOrUndefined(countryCodeIso2) &&\n countryCodeIso2.toLowerCase() === 'nl';\n\nexport const areCountryCodesIso2Equal = (first, second) =>\n (first || 'SE').toUpperCase() === (second || 'SE').toUpperCase();\n","import { formatNumberWithSeparators } from 'tradera/utils/format';\n\nexport type Price = string | number;\n\ntype FormatPriceOptions = {\n currency: string;\n preferredCurrency: string;\n style: 'decimal' | 'currency' | 'percent' | 'unit';\n currencyDisplay: 'code' | 'symbol' | 'narrowSymbol' | 'name';\n useGrouping: boolean;\n roundUp: boolean;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n};\n\nexport type OverrideFormatPriceOptions = Partial;\n\nexport const formatPrice = (\n price: Price,\n inputLocale: string | null,\n overrideOptions: OverrideFormatPriceOptions = {}\n): string => {\n const locale = inputLocale || 'sv-SE';\n const defaultOptions: FormatPriceOptions = {\n style: 'currency',\n currency: 'SEK',\n preferredCurrency: 'SEK',\n currencyDisplay:\n locale.startsWith('sv') &&\n (overrideOptions.currency || 'SEK') === 'SEK' &&\n (overrideOptions.preferredCurrency || 'SEK') === 'SEK'\n ? 'symbol'\n : 'code',\n useGrouping: false,\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n roundUp: false\n };\n const options = {\n ...defaultOptions,\n ...overrideOptions\n };\n let priceAsNumber = typeof price !== 'number' ? parseInt(price) : price;\n\n if (options.roundUp) {\n const decimalFactorForRounding = Math.pow(\n 10,\n options.maximumFractionDigits\n );\n priceAsNumber =\n Math.ceil(priceAsNumber * decimalFactorForRounding) /\n decimalFactorForRounding;\n }\n\n if (!isLocaleFormattingSupportedInBrowser) {\n const suffix =\n options.currencyDisplay === 'code' && options.currency === 'SEK'\n ? 'kr'\n : options.currency;\n return `${priceAsNumber} ${suffix}`;\n }\n\n const formattedPrice = priceAsNumber.toLocaleString(locale, options);\n return formatNumberWithSeparators(formattedPrice);\n};\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\nfunction toLocaleStringSupportsLocales() {\n try {\n Number(0).toLocaleString('i');\n } catch (e: unknown) {\n return (\n e !== null &&\n typeof e === 'object' &&\n 'name' in e &&\n e.name === 'RangeError'\n );\n }\n return false;\n}\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\nfunction toLocaleStringSupportsOptions() {\n return !!(\n typeof Intl === 'object' &&\n Intl &&\n typeof Intl.NumberFormat === 'function'\n );\n}\n\nconst isLocaleFormattingSupportedInBrowser =\n toLocaleStringSupportsLocales() && toLocaleStringSupportsOptions();\n","import { createElement } from 'react';\nimport { toast } from 'react-toastify';\n\nimport { ItemToast } from 'tradera/components/toasts/item-toast';\nimport { MessageToast } from 'tradera/components/toasts/message-toast';\nimport { isServer } from 'tradera/utils/nextjs';\nimport { webApiClient } from '../utils/http';\nimport { createQueue } from './toast-queue';\nimport type { ItemBasicInfoApiResponse } from 'tradera/state/services/types/webapi-browse-generated';\n\nconst queuedToasts = createQueue();\n\nconst openNextToast = async () => {\n if (isServer) {\n return;\n }\n if (queuedToasts.isInProgress()) {\n return;\n }\n const nextItem = queuedToasts.next();\n if (nextItem) {\n try {\n const queueLength = queuedToasts.getLength();\n const toastOptions = {\n autoClose: Math.max(2, 5 - queueLength) * 1000,\n onClose: () => {\n queuedToasts.notifyDone();\n openNextToast();\n }\n };\n if (nextItem.eventData.itemId) {\n const response =\n await webApiClient.get(\n `/browse/item-basic-info/${nextItem.eventData.itemId}`\n );\n const { imageUrl, itemUrl, shortDescription } =\n response.data.item || {};\n toast(\n // TODO: convert to JSX when we have a proper story for this\n createElement(ItemToast, {\n imageUrl,\n itemUrl,\n shortDescription,\n type: nextItem.type,\n eventData: nextItem.eventData\n }),\n toastOptions\n );\n } else if (nextItem.eventData.message) {\n const { message, header, messageData, headerData } =\n nextItem.eventData;\n toast(\n ,\n { ...toastOptions, type: nextItem.eventData.type }\n );\n }\n } catch (e) {\n queuedToasts.notifyDone();\n openNextToast();\n throw e;\n }\n }\n};\n\nconst handleNotification = async (\n type: string,\n eventData:\n | {\n message: string;\n header?: string | null;\n messageData: unknown;\n headerData: unknown;\n type: (typeof toast.TYPE)[keyof typeof toast.TYPE] | string;\n }\n | {\n itemId: number;\n newLeadingBidAmount?: number;\n price?: number;\n timeLeftMinutes?: number;\n },\n ttlInMinutes = 10\n) => {\n if (document.visibilityState !== 'visible') {\n // We don't want to show messages if page is not visible. If we do they will queue up!\n return;\n }\n queuedToasts.add({ type, eventData }, ttlInMinutes);\n openNextToast();\n};\n\nexport const showItemOutbiddedToast = (\n itemId: number,\n newLeadingBidAmount: number\n) =>\n handleNotification('ItemOutbidded', {\n itemId,\n newLeadingBidAmount\n });\n\nexport const showItemFirstBidToast = (itemId: number) =>\n handleNotification('ItemFirstBid', { itemId });\n\nexport const showItemSoldToast = (itemId: number, price: number) =>\n handleNotification('ItemSold', { itemId, price });\n\nexport const showItemWonToast = (itemId: number, price: number) =>\n handleNotification('ItemWon', { itemId, price });\n\nexport const showItemPaidToast = (itemId: number) =>\n handleNotification('ItemPaid', { itemId });\n\nexport const showItemWishListReminderToast = (\n itemId: number,\n timeLeftMinutes: number\n) =>\n handleNotification(\n 'ItemWishListReminder',\n { itemId, timeLeftMinutes },\n timeLeftMinutes > 10 ? 10 : 2\n );\n\n/**\n *\n * @param message The message translation key\n * @param header The header translation key\n * @param messageData Any data that's needed for the message translation key\n * @param headerData Any data that's needed for the header translation key\n */\nexport const showSuccessToast = (\n message: string,\n header?: string,\n messageData: unknown = null,\n headerData: unknown = null\n) => {\n handleNotification('Message', {\n message,\n header,\n messageData,\n headerData,\n type: toast.TYPE.SUCCESS\n });\n};\n\nexport const showErrorToast = (\n message: string,\n header?: string | null,\n messageData: unknown = null,\n headerData: unknown = null\n) => {\n handleNotification('Message', {\n header,\n message,\n messageData,\n headerData,\n type: toast.TYPE.ERROR\n });\n};\n\nexport const showInfoToast = (\n message: string,\n header?: string,\n messageData = null,\n headerData = null\n) => {\n handleNotification('Message', {\n message,\n header,\n messageData,\n headerData,\n type: toast.TYPE.INFO\n });\n};\n\n// export const ToastTestButton = () => (\n// {\n// e.preventDefault();\n// showItemWishListReminderToast(85391643, 3);\n// showItemOutbiddedToast(85391639, 99);\n// showItemFirstBidToast(85391639);\n// showItemSoldToast(85391639, 1234);\n// showItemWonToast(85391639, 1234);\n// showItemPaidToast(85391639);\n// }}>\n// Test\n// \n// );\n","import { DEFAULT_LANGUAGE } from 'tradera/lang/constants.mjs';\nimport type { RootState } from '../configure-store';\nimport { createSelector } from '@reduxjs/toolkit';\n\nexport const selectAvailableLanguages = (state: RootState) =>\n state.language.available;\n\nexport const selectAvailableLanguageCodesIso2 = createSelector(\n selectAvailableLanguages,\n (available) => available?.map((x) => x.languageCodeIso2)\n);\n\nexport const selectPreferredLanguage = (state: RootState) =>\n state.language.preferred;\n\nexport const selectPreferredLanguageCode = (state: RootState) =>\n state?.language?.preferred?.languageCodeIso2 || DEFAULT_LANGUAGE;\n\nexport const selectLocale = (state: RootState) => {\n const language = selectPreferredLanguageCode(state);\n const country = state.language.memberCountryCodeIso2 || 'SE';\n\n return `${language}-${country}`;\n};\n\nexport const selectIsForeignLanguageActivated = (state: RootState) =>\n selectPreferredLanguage(state)?.languageCodeIso2 !== DEFAULT_LANGUAGE;\n\nexport const selectAutomaticTranslationPreferred = (\n state: RootState\n): boolean => state.language.automaticTranslationPreferred ?? true;\n","/* eslint-disable better-mutation/no-mutation */\n\nimport { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport { getInitialState } from './get-initial-state';\nimport type { InitData } from 'tradera/state/init-data/types';\nimport type { MemberSessionDataApiResponse } from '../services/types/webapi-member-generated';\n\nexport type MemberState = {\n // from init-data\n memberCountryCodeIso2: string;\n isCompany: boolean;\n cleanedMemberAlias: string | null;\n facebookId: string | null;\n isLoggedIn: boolean;\n hasLoggedIn: boolean; // TGL-369 Add cookie tracking if a member has logged in at least once\n memberAlias: string | null;\n memberId: number;\n memberDetailedSellerRatingAverage: number; // float\n memberCountry: string | null;\n memberEmail: string | null;\n memberEmailMd5: string | null;\n memberEmailSha256: string | null;\n memberFirstName: string | null;\n memberLastName: string | null;\n memberBirthdate: string | null;\n memberTown: string | null;\n memberHeroImage: {\n max: string | null;\n med: string | null;\n min: string | null;\n };\n hasTraderaPay: boolean;\n age: number | null;\n gender: string | null;\n registrationDate: string | null;\n memberIsBuyer: boolean;\n memberIsSeller: boolean;\n // from reducer state\n isFetchingGeolocation: boolean;\n geolocation: {\n isoCode: string;\n } | null; //KATS: Do we have this type for this that we can use?\n currencyCode: string | null;\n permissions: MemberSessionDataApiResponse['permissions'];\n isImpersonationSession: boolean;\n blueshiftEventSignature: string | null;\n memberIdHash: string | null;\n automaticTranslationPreferred: boolean;\n memberState: number;\n isTrustedMember: boolean;\n};\n\nconst initialState: MemberState = {\n isLoggedIn: false,\n hasLoggedIn: false,\n isFetchingGeolocation: false,\n isImpersonationSession: false,\n geolocation: null,\n memberHeroImage: {\n max: null,\n med: null,\n min: null\n },\n memberCountryCodeIso2: '',\n isCompany: false,\n cleanedMemberAlias: null,\n facebookId: null,\n memberAlias: null,\n memberDetailedSellerRatingAverage: 0,\n memberCountry: null,\n memberEmail: null,\n memberEmailMd5: null,\n memberEmailSha256: null,\n memberFirstName: null,\n memberLastName: null,\n memberBirthdate: null,\n memberTown: null,\n hasTraderaPay: false,\n age: null,\n gender: null,\n registrationDate: null,\n memberIsBuyer: false,\n memberIsSeller: false,\n memberId: 0,\n currencyCode: null,\n permissions: null,\n blueshiftEventSignature: null,\n memberIdHash: null,\n automaticTranslationPreferred: false,\n memberState: -1,\n isTrustedMember: false\n};\n\nconst memberSlice = createSlice({\n name: 'member',\n initialState,\n reducers: {\n initializeFromInitData: (state, action: PayloadAction) => {\n return { ...state, ...getInitialState(action.payload) };\n },\n initialize: (\n state,\n action: PayloadAction\n ) => {\n return { ...state, ...action.payload };\n },\n setIsFetchingGeolocation: (state, action) => {\n state.isFetchingGeolocation = action.payload.isFetchingGeolocation;\n },\n setIsImpersonationSession: (state, action: PayloadAction) => {\n state.isImpersonationSession = action.payload;\n },\n setGeolocation: (state, action) => {\n state.geolocation = action.payload;\n },\n failedLoadingGeolocation: (state) => {\n state.geolocation = null;\n state.isFetchingGeolocation = false;\n },\n setMemberHeroImage: (state, action: PayloadAction) => {\n state.memberHeroImage.max = action.payload;\n state.memberHeroImage.med = action.payload;\n state.memberHeroImage.min = action.payload;\n },\n setHasLoggedIn: (state, action: PayloadAction) => {\n state.hasLoggedIn = action.payload;\n },\n setMemberActive: (state) => {\n state.memberState = 2000;\n }\n }\n});\n\nexport const {\n initialize,\n setIsFetchingGeolocation,\n setIsImpersonationSession,\n setGeolocation,\n failedLoadingGeolocation,\n setMemberHeroImage,\n initializeFromInitData,\n setHasLoggedIn,\n setMemberActive\n} = memberSlice.actions;\n\nexport default memberSlice.reducer;\n","import { type PayloadAction, createSlice } from '@reduxjs/toolkit';\n\nexport type Currency = {\n code: string;\n rate: number;\n valueDate: string;\n updatedDate: string;\n symbolSuffix: string;\n shortName: string;\n longName: string;\n decimals: number;\n};\n\nexport const defaultCurrency: Currency = {\n code: 'SEK',\n rate: 1,\n valueDate: '0000-01-01',\n updatedDate: '0000-01-01T00:00:00.0000000Z',\n symbolSuffix: 'kr',\n shortName: 'SEK',\n longName: 'Svensk krona',\n decimals: 0\n};\n\ntype MultiCurrencyState = {\n enabled: boolean;\n currencies: Currency[];\n preferredCurrency: Currency | null;\n};\n\nconst initialState: MultiCurrencyState = {\n enabled: false,\n currencies: [],\n preferredCurrency: null\n};\n\nconst resolveCurrency = (\n enabled: boolean,\n currencyCode: string | undefined,\n currencies: Currency[]\n) => {\n if (!enabled || !currencyCode) {\n return null;\n }\n return (\n currencies.find((currency) => currency.code === currencyCode) || null\n );\n};\n\nconst multiCurrencySlice = createSlice({\n name: 'multiCurrency',\n initialState,\n reducers: {\n initialize: (\n state,\n action: PayloadAction<{\n enabled: boolean;\n preferredCurrency: string;\n currencies?: Currency[];\n }>\n ) => {\n const {\n currencies = [],\n enabled,\n preferredCurrency\n } = action.payload;\n\n return {\n ...state,\n enabled,\n currencies,\n preferredCurrency: resolveCurrency(\n enabled,\n preferredCurrency,\n currencies\n )\n };\n },\n setPreferredCurrency: (\n state,\n { payload }: PayloadAction<{ currencyCode: string }>\n ) => {\n const { enabled, currencies } = state;\n\n return {\n ...state,\n preferredCurrency: resolveCurrency(\n enabled,\n payload.currencyCode,\n currencies\n )\n };\n }\n }\n});\n\nexport const { initialize, setPreferredCurrency } = multiCurrencySlice.actions;\nexport default multiCurrencySlice.reducer;\n","import cookieUtil, { type CookieUtil } from 'tradera/utils/cookie';\nimport type { AppDispatch, GetState, RootState } from '../configure-store';\nimport type { InitData } from 'tradera/state/init-data/types';\nimport {\n REGION_PICKER_DISMISSED,\n SHIPPING_COUNTRY\n} from 'tradera/constants/cookies';\nimport { fetchAvailableShippingCountries } from './api';\nimport {\n selectHasLoadedAvailableShippingCountries,\n selectIsLoadingAvailableShippingCountries\n} from './selectors';\n\nimport {\n beginLoadingAvailableShippingOptions,\n initialize,\n setAvailableShippingCountries,\n setDefaultShippingCountry,\n setShippingCountry\n} from './reducer';\nimport { setPreferredCurrencyThunk } from 'tradera/state/multi-currency/actions';\nimport { setPreferredLanguage } from 'tradera/state/language/actions';\nimport Analytics from 'packages/analytics';\nimport {\n getCountryCodeFromLanguage,\n getLanguageFromCountryCode\n} from 'tradera/localization/languagecode';\nimport { getInitialState } from './initial-state';\nimport GdprSettings from 'tradera/utils/gdpr-settings';\nimport { selectPreferredLanguageCode } from 'tradera/state/language/selectors';\nimport { selectMemberCountryCodeIso2 } from 'tradera/state/member/selectors';\n\nexport const updateShippingRegion =\n (countryCodeIso2: string) => (dispatch: AppDispatch) => {\n dispatch(setShippingCountry({ countryCodeIso2 }));\n };\n\nexport const removeShippingCountryCookieIfSwedish =\n (geolocation: { isoCode: string }) => (dispatch: AppDispatch) => {\n if (\n geolocation.isoCode === 'SE' &&\n cookieUtil.hasCookie(SHIPPING_COUNTRY)\n ) {\n cookieUtil.eraseCookie(SHIPPING_COUNTRY);\n dispatch(setDefaultShippingCountry());\n }\n };\n\nexport const getAvailableShippingCountries =\n () => async (dispatch: AppDispatch, getState: GetState) => {\n if (\n selectIsLoadingAvailableShippingCountries(getState()) ||\n selectHasLoadedAvailableShippingCountries(getState())\n ) {\n return;\n }\n\n dispatch(beginLoadingAvailableShippingOptions());\n const response = await fetchAvailableShippingCountries();\n const shippingCountries = response?.shippingCountries || [];\n dispatch(setAvailableShippingCountries({ shippingCountries }));\n };\n\nexport const onLocalizationShippingRegionSelected =\n ({\n countryCodeIso2,\n currencyCode,\n toLocalizedUrl\n }: {\n countryCodeIso2: string;\n currencyCode: string;\n toLocalizedUrl: (url: string) => string;\n }) =>\n (dispatch: AppDispatch) => {\n const languageCodeIso2 = getLanguageFromCountryCode(countryCodeIso2);\n\n Analytics.trackEvent({\n category: 'Top navigation',\n action: 'Localization menu tooltip',\n label: `Set localization region - ${countryCodeIso2}`\n });\n\n dispatch(getAvailableShippingCountries()); //make sure we have loaded countries\n dispatch(updateShippingRegion(countryCodeIso2));\n dispatch(setPreferredCurrencyThunk(currencyCode));\n dispatch(setPreferredLanguage(languageCodeIso2, toLocalizedUrl));\n };\n\nconst getFallbackShippingCountry = (state: RootState) =>\n getCountryCodeFromLanguage(selectPreferredLanguageCode(state));\n\nexport const initializeFromInitData =\n (initData: InitData) => (dispatch: AppDispatch, getState: GetState) => {\n const memberCountryCodeIso2 = initData.memberCountryCodeIso2;\n const initialState = getInitialState({\n memberCountryCodeIso2,\n isFunctionalCookiesEnabled: GdprSettings.isFunctionalEnabled(),\n hasRegionPickerDismissedCookie: cookieUtil.hasCookie(\n REGION_PICKER_DISMISSED\n ),\n shippingCountryCookieValue: cookieUtil.readCookie(SHIPPING_COUNTRY),\n fallbackShippingCountry: getFallbackShippingCountry(getState())\n });\n dispatch(initialize(initialState));\n };\n\nexport const initializeFromState =\n (\n gdprSettings: { isFunctionalEnabled: () => boolean },\n ssrCookieUtil: CookieUtil\n ) =>\n (dispatch: AppDispatch, getState: GetState) => {\n const memberCountryCodeIso2 = selectMemberCountryCodeIso2(getState());\n const initialState = getInitialState({\n memberCountryCodeIso2,\n isFunctionalCookiesEnabled: gdprSettings.isFunctionalEnabled(),\n hasRegionPickerDismissedCookie: ssrCookieUtil.hasCookie(\n REGION_PICKER_DISMISSED\n ),\n shippingCountryCookieValue:\n ssrCookieUtil.readCookie(SHIPPING_COUNTRY),\n fallbackShippingCountry: getFallbackShippingCountry(getState())\n });\n dispatch(initialize(initialState));\n };\n","/* eslint-disable better-mutation/no-mutation */\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\nimport cookieUtil from 'tradera/utils/cookie';\nimport {\n REGION_PICKER_DISMISSED,\n SHIPPING_COUNTRY\n} from 'tradera/constants/cookies';\n\nconst yearInMilliseconds = 1000 * 60 * 60 * 24 * 365;\n\ntype ShippingCountry = {\n countryCodeIso2: string;\n};\n\ntype ShippingRegionState = {\n shippingCountry: ShippingCountry;\n shippingCountryCookieValue: string;\n availableShippingCountries: unknown[];\n availableShippingCountryCodes: string[];\n hasLoadedAvailableShippingCountries: boolean;\n isLoadingAvailableShippingCountries: boolean;\n regionPickerDismissed: boolean;\n};\n\nconst shippingRegionSlice = createSlice({\n name: 'shippingRegion',\n initialState: {} as ShippingRegionState,\n reducers: {\n initialize: (_state, { payload }) => {\n return { ...payload };\n },\n setShippingCountry: {\n reducer: (state, action: PayloadAction) => {\n const { countryCodeIso2 } = action.payload;\n state.shippingCountry = {\n countryCodeIso2: toUpperCase(countryCodeIso2)\n };\n state.shippingCountryCookieValue = countryCodeIso2;\n },\n prepare: (payload) => {\n const { countryCodeIso2 } = payload;\n const expireDate = new Date(\n new Date().getTime() + yearInMilliseconds\n );\n cookieUtil.createCookie(\n SHIPPING_COUNTRY,\n countryCodeIso2,\n expireDate\n );\n return { payload };\n }\n },\n setDefaultShippingCountry: (state) => {\n state.shippingCountry = { countryCodeIso2: 'SE' };\n },\n setAvailableShippingCountries: (\n state,\n action: PayloadAction<{ shippingCountries: ShippingCountry[] }>\n ) => {\n state.availableShippingCountries = action.payload.shippingCountries;\n state.availableShippingCountryCodes =\n action.payload.shippingCountries.map(\n (shippingCountry) => shippingCountry.countryCodeIso2\n );\n state.hasLoadedAvailableShippingCountries = true;\n state.isLoadingAvailableShippingCountries = false;\n },\n beginLoadingAvailableShippingOptions: (state) => {\n state.isLoadingAvailableShippingCountries = true;\n },\n dismissLocalizationRegionPicker: {\n reducer: (state) => {\n state.regionPickerDismissed = true;\n },\n prepare: (payload) => {\n cookieUtil.createCookie(REGION_PICKER_DISMISSED, true);\n return { payload };\n }\n }\n }\n});\n\nconst toUpperCase = (countryCodeIso2 = '') => countryCodeIso2.toUpperCase();\n\nexport const {\n initialize,\n setShippingCountry,\n setAvailableShippingCountries,\n beginLoadingAvailableShippingOptions,\n dismissLocalizationRegionPicker,\n setDefaultShippingCountry\n} = shippingRegionSlice.actions;\nexport default shippingRegionSlice.reducer;\n","import cookie from 'cookie';\n\nexport const getCookieFromString = (cookieString: string, key: string) =>\n cookie.parse(cookieString)[key] || null;\n\n/**\n * Helper function for cookie and GDPR utilities do NOT use this directly. Use the cookie\n * utility instead as that is GDPR compliant.\n * @returns\n */\nexport const getCookieFromBrowser = (key: string) =>\n getCookieFromString(window.document.cookie, key);\n\n/**\n * Helper function for cookie and GDPR utilities do NOT use this directly. Use the cookie\n * utility instead as that is GDPR compliant.\n * @returns\n */\nexport const setCookieToBrowser = (s: string) => {\n window.document.cookie = s;\n};\n","import type { Dayjs } from 'dayjs';\nimport type { TranslationFunction } from 'tradera/lang/translate';\nimport { swedishTimeZoneDate } from 'tradera/utils/date';\n/**\n * NOTE: there's a hook useFormatEndDate in src/hooks/use-format-end-date.ts\n * that will help out with dayjs and translation func\n */\nexport const formatEndDate = (\n endDateInput: string | Date,\n t: TranslationFunction,\n nowDateInput: string | Date,\n dayjs: () => Dayjs\n): string => {\n if (!endDateInput || !nowDateInput) return '';\n\n const endDate = swedishTimeZoneDate(endDateInput, dayjs);\n const now = swedishTimeZoneDate(nowDateInput, dayjs);\n if (endDate.isSameOrAfter(now.add(1, 'week'), 'day')) {\n return endDate.format('D MMM HH:mm');\n }\n if (endDate.isSameOrAfter(now.add(2, 'day'), 'day')) {\n return endDate.format('ddd HH:mm');\n }\n if (endDate.isSameOrAfter(now.add(1, 'day'))) {\n return `${t('vip_tomorrow')} ${endDate.format('HH:mm')}`;\n }\n if (endDate.isSameOrAfter(now.add(1, 'minute'))) {\n const hours = endDate.diff(now, 'hour');\n const minutes = endDate.diff(now, 'minute') % 60;\n const timeParts = [];\n if (hours > 0) {\n timeParts.push(t('vip_hours', { count: hours }));\n }\n if (minutes > 0) {\n timeParts.push(t('vip_minutes', { count: minutes }));\n }\n return timeParts.join(' ');\n }\n if (endDate.isAfter(now)) {\n return t('vip_less_than_1_min_left');\n }\n return t('vip_ended');\n};\n\nexport const formatNumberWithSeparators = (\n number: number | string,\n separator: string = '\\u2006'\n): string => {\n return number\n .toString()\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1' + separator);\n};\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\nfunction toLocaleStringSupportsLocales(): boolean {\n try {\n Number(0).toLocaleString('i');\n } catch (e) {\n return e instanceof RangeError;\n }\n return false;\n}\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\nfunction toLocaleStringSupportsOptions(): boolean {\n return !!(\n typeof Intl === 'object' &&\n Intl &&\n typeof Intl.NumberFormat === 'function'\n );\n}\n\nconst isLocaleFormattingSupportedInBrowser: boolean =\n toLocaleStringSupportsLocales() && toLocaleStringSupportsOptions();\n\nexport const formatSellerDsrAverage = (\n value?: number | null,\n locale: string = 'sv-SE'\n): string | undefined => {\n return value?.toLocaleString(locale, {\n minimumFractionDigits: 1,\n maximumFractionDigits: 1\n });\n};\n\ntype CurrencyOptions = Intl.NumberFormatOptions & {\n preferredCurrency?: string;\n};\n\nexport const getCurrencySymbol = (\n locale: string,\n overrideOptions: CurrencyOptions = {}\n): string => {\n const defaultOptions: Intl.NumberFormatOptions = {\n style: 'currency',\n currency: 'SEK',\n currencyDisplay:\n locale.startsWith('sv') &&\n (overrideOptions.currency || 'SEK') === 'SEK' &&\n (overrideOptions.preferredCurrency || 'SEK') === 'SEK'\n ? 'symbol'\n : 'code',\n useGrouping: false,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n };\n return (0)\n .toLocaleString(locale, {\n ...defaultOptions,\n ...overrideOptions\n } as Intl.NumberFormatOptions)\n .replace(/\\d/g, '')\n .trim();\n};\n\nexport const formatDateWithDayOfWeek = (\n dateString: string,\n locale: string\n): string => {\n if (!isLocaleFormattingSupportedInBrowser) {\n return dateString;\n }\n\n const options: Intl.DateTimeFormatOptions = {\n weekday: 'long',\n year: undefined,\n month: 'long',\n day: 'numeric'\n };\n return new Intl.DateTimeFormat(locale, options).format(\n Date.parse(dateString)\n );\n};\n\nexport const formatItemId = (itemId?: number): string | undefined => {\n if (!itemId || !Number.isInteger(itemId)) return undefined;\n\n return itemId.toLocaleString('sv-SE'); // Groupings of 3 separated by spaces\n};\n\nexport const formatOrderNumber = (\n orderNr?: string | number\n): string | undefined =>\n formatItemId(\n typeof orderNr === 'string' ? Number.parseInt(orderNr) : orderNr\n );\n","'use client';\nimport t,{isValidElement as e,useRef as n,useLayoutEffect as o,useEffect as s,cloneElement as a,useReducer as r,useState as i,forwardRef as l}from\"react\";import c from\"clsx\";const u=t=>\"number\"==typeof t&&!isNaN(t),d=t=>\"string\"==typeof t,p=t=>\"function\"==typeof t,m=t=>d(t)||p(t)?t:null,f=t=>e(t)||d(t)||p(t)||u(t);function g(t,e,n){void 0===n&&(n=300);const{scrollHeight:o,style:s}=t;requestAnimationFrame(()=>{s.minHeight=\"initial\",s.height=o+\"px\",s.transition=`all ${n}ms`,requestAnimationFrame(()=>{s.height=\"0\",s.padding=\"0\",s.margin=\"0\",setTimeout(e,n)})})}function h(e){let{enter:a,exit:r,appendPosition:i=!1,collapse:l=!0,collapseDuration:c=300}=e;return function(e){let{children:u,position:d,preventExitTransition:p,done:m,nodeRef:f,isIn:h}=e;const y=i?`${a}--${d}`:a,v=i?`${r}--${d}`:r,T=n(0);return o(()=>{const t=f.current,e=y.split(\" \"),n=o=>{o.target===f.current&&(t.dispatchEvent(new Event(\"d\")),t.removeEventListener(\"animationend\",n),t.removeEventListener(\"animationcancel\",n),0===T.current&&\"animationcancel\"!==o.type&&t.classList.remove(...e))};t.classList.add(...e),t.addEventListener(\"animationend\",n),t.addEventListener(\"animationcancel\",n)},[]),s(()=>{const t=f.current,e=()=>{t.removeEventListener(\"animationend\",e),l?g(t,m,c):m()};h||(p?e():(T.current=1,t.className+=` ${v}`,t.addEventListener(\"animationend\",e)))},[h]),t.createElement(t.Fragment,null,u)}}function y(t,e){return null!=t?{content:t.content,containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,status:e}:{}}const v={list:new Map,emitQueue:new Map,on(t,e){return this.list.has(t)||this.list.set(t,[]),this.list.get(t).push(e),this},off(t,e){if(e){const n=this.list.get(t).filter(t=>t!==e);return this.list.set(t,n),this}return this.list.delete(t),this},cancelEmit(t){const e=this.emitQueue.get(t);return e&&(e.forEach(clearTimeout),this.emitQueue.delete(t)),this},emit(t){this.list.has(t)&&this.list.get(t).forEach(e=>{const n=setTimeout(()=>{e(...[].slice.call(arguments,1))},0);this.emitQueue.has(t)||this.emitQueue.set(t,[]),this.emitQueue.get(t).push(n)})}},T=e=>{let{theme:n,type:o,...s}=e;return t.createElement(\"svg\",{viewBox:\"0 0 24 24\",width:\"100%\",height:\"100%\",fill:\"colored\"===n?\"currentColor\":`var(--toastify-icon-color-${o})`,...s})},E={info:function(e){return t.createElement(T,{...e},t.createElement(\"path\",{d:\"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z\"}))},warning:function(e){return t.createElement(T,{...e},t.createElement(\"path\",{d:\"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z\"}))},success:function(e){return t.createElement(T,{...e},t.createElement(\"path\",{d:\"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z\"}))},error:function(e){return t.createElement(T,{...e},t.createElement(\"path\",{d:\"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z\"}))},spinner:function(){return t.createElement(\"div\",{className:\"Toastify__spinner\"})}};function C(t){const[,o]=r(t=>t+1,0),[l,c]=i([]),g=n(null),h=n(new Map).current,T=t=>-1!==l.indexOf(t),C=n({toastKey:1,displayedToast:0,count:0,queue:[],props:t,containerId:null,isToastActive:T,getToast:t=>h.get(t)}).current;function b(t){let{containerId:e}=t;const{limit:n}=C.props;!n||e&&C.containerId!==e||(C.count-=C.queue.length,C.queue=[])}function I(t){c(e=>null==t?[]:e.filter(e=>e!==t))}function _(){const{toastContent:t,toastProps:e,staleId:n}=C.queue.shift();O(t,e,n)}function L(t,n){let{delay:s,staleId:r,...i}=n;if(!f(t)||function(t){return!g.current||C.props.enableMultiContainer&&t.containerId!==C.props.containerId||h.has(t.toastId)&&null==t.updateId}(i))return;const{toastId:l,updateId:c,data:T}=i,{props:b}=C,L=()=>I(l),N=null==c;N&&C.count++;const M={...b,style:b.toastStyle,key:C.toastKey++,...Object.fromEntries(Object.entries(i).filter(t=>{let[e,n]=t;return null!=n})),toastId:l,updateId:c,data:T,closeToast:L,isIn:!1,className:m(i.className||b.toastClassName),bodyClassName:m(i.bodyClassName||b.bodyClassName),progressClassName:m(i.progressClassName||b.progressClassName),autoClose:!i.isLoading&&(R=i.autoClose,w=b.autoClose,!1===R||u(R)&&R>0?R:w),deleteToast(){const t=y(h.get(l),\"removed\");h.delete(l),v.emit(4,t);const e=C.queue.length;if(C.count=null==l?C.count-C.displayedToast:C.count-1,C.count<0&&(C.count=0),e>0){const t=null==l?C.props.limit:1;if(1===e||1===t)C.displayedToast++,_();else{const n=t>e?e:t;C.displayedToast=n;for(let t=0;tt in E)(o)&&(i=E[o](l))),i}(M),p(i.onOpen)&&(M.onOpen=i.onOpen),p(i.onClose)&&(M.onClose=i.onClose),M.closeButton=b.closeButton,!1===i.closeButton||f(i.closeButton)?M.closeButton=i.closeButton:!0===i.closeButton&&(M.closeButton=!f(b.closeButton)||b.closeButton);let x=t;e(t)&&!d(t.type)?x=a(t,{closeToast:L,toastProps:M,data:T}):p(t)&&(x=t({closeToast:L,toastProps:M,data:T})),b.limit&&b.limit>0&&C.count>b.limit&&N?C.queue.push({toastContent:x,toastProps:M,staleId:r}):u(s)?setTimeout(()=>{O(x,M,r)},s):O(x,M,r)}function O(t,e,n){const{toastId:o}=e;n&&h.delete(n);const s={content:t,props:e};h.set(o,s),c(t=>[...t,o].filter(t=>t!==n)),v.emit(4,y(s,null==s.props.updateId?\"added\":\"updated\"))}return s(()=>(C.containerId=t.containerId,v.cancelEmit(3).on(0,L).on(1,t=>g.current&&I(t)).on(5,b).emit(2,C),()=>{h.clear(),v.emit(3,C)}),[]),s(()=>{C.props=t,C.isToastActive=T,C.displayedToast=l.length}),{getToastToRender:function(e){const n=new Map,o=Array.from(h.values());return t.newestOnTop&&o.reverse(),o.forEach(t=>{const{position:e}=t.props;n.has(e)||n.set(e,[]),n.get(e).push(t)}),Array.from(n,t=>e(t[0],t[1]))},containerRef:g,isToastActive:T}}function b(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientX:t.clientX}function I(t){return t.targetTouches&&t.targetTouches.length>=1?t.targetTouches[0].clientY:t.clientY}function _(t){const[o,a]=i(!1),[r,l]=i(!1),c=n(null),u=n({start:0,x:0,y:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,boundingRect:null,didMove:!1}).current,d=n(t),{autoClose:m,pauseOnHover:f,closeToast:g,onClick:h,closeOnClick:y}=t;function v(e){if(t.draggable){\"touchstart\"===e.nativeEvent.type&&e.nativeEvent.preventDefault(),u.didMove=!1,document.addEventListener(\"mousemove\",_),document.addEventListener(\"mouseup\",L),document.addEventListener(\"touchmove\",_),document.addEventListener(\"touchend\",L);const n=c.current;u.canCloseOnClick=!0,u.canDrag=!0,u.boundingRect=n.getBoundingClientRect(),n.style.transition=\"\",u.x=b(e.nativeEvent),u.y=I(e.nativeEvent),\"x\"===t.draggableDirection?(u.start=u.x,u.removalDistance=n.offsetWidth*(t.draggablePercent/100)):(u.start=u.y,u.removalDistance=n.offsetHeight*(80===t.draggablePercent?1.5*t.draggablePercent:t.draggablePercent/100))}}function T(e){if(u.boundingRect){const{top:n,bottom:o,left:s,right:a}=u.boundingRect;\"touchend\"!==e.nativeEvent.type&&t.pauseOnHover&&u.x>=s&&u.x<=a&&u.y>=n&&u.y<=o?C():E()}}function E(){a(!0)}function C(){a(!1)}function _(e){const n=c.current;u.canDrag&&n&&(u.didMove=!0,o&&C(),u.x=b(e),u.y=I(e),u.delta=\"x\"===t.draggableDirection?u.x-u.start:u.y-u.start,u.start!==u.x&&(u.canCloseOnClick=!1),n.style.transform=`translate${t.draggableDirection}(${u.delta}px)`,n.style.opacity=\"\"+(1-Math.abs(u.delta/u.removalDistance)))}function L(){document.removeEventListener(\"mousemove\",_),document.removeEventListener(\"mouseup\",L),document.removeEventListener(\"touchmove\",_),document.removeEventListener(\"touchend\",L);const e=c.current;if(u.canDrag&&u.didMove&&e){if(u.canDrag=!1,Math.abs(u.delta)>u.removalDistance)return l(!0),void t.closeToast();e.style.transition=\"transform 0.2s, opacity 0.2s\",e.style.transform=`translate${t.draggableDirection}(0)`,e.style.opacity=\"1\"}}s(()=>{d.current=t}),s(()=>(c.current&&c.current.addEventListener(\"d\",E,{once:!0}),p(t.onOpen)&&t.onOpen(e(t.children)&&t.children.props),()=>{const t=d.current;p(t.onClose)&&t.onClose(e(t.children)&&t.children.props)}),[]),s(()=>(t.pauseOnFocusLoss&&(document.hasFocus()||C(),window.addEventListener(\"focus\",E),window.addEventListener(\"blur\",C)),()=>{t.pauseOnFocusLoss&&(window.removeEventListener(\"focus\",E),window.removeEventListener(\"blur\",C))}),[t.pauseOnFocusLoss]);const O={onMouseDown:v,onTouchStart:v,onMouseUp:T,onTouchEnd:T};return m&&f&&(O.onMouseEnter=C,O.onMouseLeave=E),y&&(O.onClick=t=>{h&&h(t),u.canCloseOnClick&&g()}),{playToast:E,pauseToast:C,isRunning:o,preventExitTransition:r,toastRef:c,eventHandlers:O}}function L(e){let{closeToast:n,theme:o,ariaLabel:s=\"close\"}=e;return t.createElement(\"button\",{className:`Toastify__close-button Toastify__close-button--${o}`,type:\"button\",onClick:t=>{t.stopPropagation(),n(t)},\"aria-label\":s},t.createElement(\"svg\",{\"aria-hidden\":\"true\",viewBox:\"0 0 14 16\"},t.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z\"})))}function O(e){let{delay:n,isRunning:o,closeToast:s,type:a=\"default\",hide:r,className:i,style:l,controlledProgress:u,progress:d,rtl:m,isIn:f,theme:g}=e;const h=r||u&&0===d,y={...l,animationDuration:`${n}ms`,animationPlayState:o?\"running\":\"paused\",opacity:h?0:1};u&&(y.transform=`scaleX(${d})`);const v=c(\"Toastify__progress-bar\",u?\"Toastify__progress-bar--controlled\":\"Toastify__progress-bar--animated\",`Toastify__progress-bar-theme--${g}`,`Toastify__progress-bar--${a}`,{\"Toastify__progress-bar--rtl\":m}),T=p(i)?i({rtl:m,type:a,defaultClassName:v}):c(v,i);return t.createElement(\"div\",{role:\"progressbar\",\"aria-hidden\":h?\"true\":\"false\",\"aria-label\":\"notification timer\",className:T,style:y,[u&&d>=1?\"onTransitionEnd\":\"onAnimationEnd\"]:u&&d<1?null:()=>{f&&s()}})}const N=n=>{const{isRunning:o,preventExitTransition:s,toastRef:r,eventHandlers:i}=_(n),{closeButton:l,children:u,autoClose:d,onClick:m,type:f,hideProgressBar:g,closeToast:h,transition:y,position:v,className:T,style:E,bodyClassName:C,bodyStyle:b,progressClassName:I,progressStyle:N,updateId:M,role:R,progress:w,rtl:x,toastId:$,deleteToast:k,isIn:P,isLoading:B,iconOut:D,closeOnClick:A,theme:z}=n,F=c(\"Toastify__toast\",`Toastify__toast-theme--${z}`,`Toastify__toast--${f}`,{\"Toastify__toast--rtl\":x},{\"Toastify__toast--close-on-click\":A}),H=p(T)?T({rtl:x,position:v,type:f,defaultClassName:F}):c(F,T),S=!!w||!d,q={closeToast:h,type:f,theme:z};let Q=null;return!1===l||(Q=p(l)?l(q):e(l)?a(l,q):L(q)),t.createElement(y,{isIn:P,done:k,position:v,preventExitTransition:s,nodeRef:r},t.createElement(\"div\",{id:$,onClick:m,className:H,...i,style:E,ref:r},t.createElement(\"div\",{...P&&{role:R},className:p(C)?C({type:f}):c(\"Toastify__toast-body\",C),style:b},null!=D&&t.createElement(\"div\",{className:c(\"Toastify__toast-icon\",{\"Toastify--animate-icon Toastify__zoom-enter\":!B})},D),t.createElement(\"div\",null,u)),Q,t.createElement(O,{...M&&!S?{key:`pb-${M}`}:{},rtl:x,theme:z,delay:d,isRunning:o,isIn:P,closeToast:h,hide:g,type:f,style:N,className:I,controlledProgress:S,progress:w||0})))},M=function(t,e){return void 0===e&&(e=!1),{enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:e}},R=h(M(\"bounce\",!0)),w=h(M(\"slide\",!0)),x=h(M(\"zoom\")),$=h(M(\"flip\")),k=l((e,n)=>{const{getToastToRender:o,containerRef:a,isToastActive:r}=C(e),{className:i,style:l,rtl:u,containerId:d}=e;function f(t){const e=c(\"Toastify__toast-container\",`Toastify__toast-container--${t}`,{\"Toastify__toast-container--rtl\":u});return p(i)?i({position:t,rtl:u,defaultClassName:e}):c(e,m(i))}return s(()=>{n&&(n.current=a.current)},[]),t.createElement(\"div\",{ref:a,className:\"Toastify\",id:d},o((e,n)=>{const o=n.length?{...l}:{...l,pointerEvents:\"none\"};return t.createElement(\"div\",{className:f(e),style:o,key:`container-${e}`},n.map((e,o)=>{let{content:s,props:a}=e;return t.createElement(N,{...a,isIn:r(a.toastId),style:{...a.style,\"--nth\":o+1,\"--len\":n.length},key:`toast-${a.key}`},s)}))}))});k.displayName=\"ToastContainer\",k.defaultProps={position:\"top-right\",transition:R,autoClose:5e3,closeButton:L,pauseOnHover:!0,pauseOnFocusLoss:!0,closeOnClick:!0,draggable:!0,draggablePercent:80,draggableDirection:\"x\",role:\"alert\",theme:\"light\"};let P,B=new Map,D=[],A=1;function z(){return\"\"+A++}function F(t){return t&&(d(t.toastId)||u(t.toastId))?t.toastId:z()}function H(t,e){return B.size>0?v.emit(0,t,e):D.push({content:t,options:e}),e.toastId}function S(t,e){return{...e,type:e&&e.type||t,toastId:F(e)}}function q(t){return(e,n)=>H(e,S(t,n))}function Q(t,e){return H(t,S(\"default\",e))}Q.loading=(t,e)=>H(t,S(\"default\",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...e})),Q.promise=function(t,e,n){let o,{pending:s,error:a,success:r}=e;s&&(o=d(s)?Q.loading(s,n):Q.loading(s.render,{...n,...s}));const i={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},l=(t,e,s)=>{if(null==e)return void Q.dismiss(o);const a={type:t,...i,...n,data:s},r=d(e)?{render:e}:e;return o?Q.update(o,{...a,...r}):Q(r.render,{...a,...r}),s},c=p(t)?t():t;return c.then(t=>l(\"success\",r,t)).catch(t=>l(\"error\",a,t)),c},Q.success=q(\"success\"),Q.info=q(\"info\"),Q.error=q(\"error\"),Q.warning=q(\"warning\"),Q.warn=Q.warning,Q.dark=(t,e)=>H(t,S(\"default\",{theme:\"dark\",...e})),Q.dismiss=t=>{B.size>0?v.emit(1,t):D=D.filter(e=>null!=t&&e.options.toastId!==t)},Q.clearWaitingQueue=function(t){return void 0===t&&(t={}),v.emit(5,t)},Q.isActive=t=>{let e=!1;return B.forEach(n=>{n.isToastActive&&n.isToastActive(t)&&(e=!0)}),e},Q.update=function(t,e){void 0===e&&(e={}),setTimeout(()=>{const n=function(t,e){let{containerId:n}=e;const o=B.get(n||P);return o&&o.getToast(t)}(t,e);if(n){const{props:o,content:s}=n,a={delay:100,...o,...e,toastId:e.toastId||t,updateId:z()};a.toastId!==t&&(a.staleId=t);const r=a.render||s;delete a.render,H(r,a)}},0)},Q.done=t=>{Q.update(t,{progress:1})},Q.onChange=t=>(v.on(4,t),()=>{v.off(4,t)}),Q.POSITION={TOP_LEFT:\"top-left\",TOP_RIGHT:\"top-right\",TOP_CENTER:\"top-center\",BOTTOM_LEFT:\"bottom-left\",BOTTOM_RIGHT:\"bottom-right\",BOTTOM_CENTER:\"bottom-center\"},Q.TYPE={INFO:\"info\",SUCCESS:\"success\",WARNING:\"warning\",ERROR:\"error\",DEFAULT:\"default\"},v.on(2,t=>{P=t.containerId||t,B.set(P,t),D.forEach(t=>{v.emit(0,t.content,t.options)}),D=[]}).on(3,t=>{B.delete(t.containerId||t),0===B.size&&v.off(0).off(1).off(5)});export{R as Bounce,$ as Flip,E as Icons,w as Slide,k as ToastContainer,x as Zoom,g as collapseToast,h as cssTransition,Q as toast,_ as useToast,C as useToastContainer};\n//# sourceMappingURL=react-toastify.esm.mjs.map\n","// 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","__webpack_require__.amdO = {};","// 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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"script/chunks/chunk.\" + (chunkId === 36 ? \"braintree-web-drop-in\" : chunkId) + \".\" + {\"15\":\"09cddc39e1\",\"36\":\"80c03f3d13\",\"70\":\"b474bffceb\",\"71\":\"5d4c37ded8\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\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__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\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};","__webpack_require__.j = 64;","__webpack_require__.p = \"//static.tradera.net/touchweb/static/output/\";","// 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\t64: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\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[\"webpackChunktouchweb\"] = self[\"webpackChunktouchweb\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [1,0,2,3,5,13,32,4,6,7,10,14], () => (__webpack_require__(2158)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","module","exports","sv","EMAIL_IN_USE","ALIAS_IN_USE","ALIAS_CONTAINS_RESERVED_WORD","PERSONALID_IN_USE","ORGANIZATION_NUMBER_IN_USE","INVALID_EMAIL","INVALID_PERSONALID","INVALID_PHONENUMBER","INVALID_ALIAS","INVALID_FIRSTNAME","INVALID_LASTNAME","INVALID_STREETNAME","INVALID_ZIPCODE","INVALID_TOWN","INVALID_COMPANYNAME","REQUIRED_FIELD","REQUIRED_EMAIL","REQUIRED_PERSONALID","REQUIRED_FIRSTNAME","REQUIRED_LASTNAME","REQUIRED_ALIAS","REQUIRED_STREETNAME","REQUIRED_ZIPCODE","REQUIRED_TOWN","REQUIRED_PHONENUMBER","REQUIRED_COMPANYNAME","MINLENGTH","MINLENGTH_FIRSTNAME","MINLENGTH_LASTNAME","MINLENGTH_COMPANYNAME","MINLENGTH_ALIAS","MINLENGTH_STREETNAME","MINLENGTH_TOWN","MAXLENGTH","MAXLENGTH_EMAIL","MAXLENGTH_FIRSTNAME","MAXLENGTH_LASTNAME","MAXLENGTH_COMPANYNAME","MAXLENGTH_ALIAS","MAXLENGTH_STREETNAME","MAXLENGTH_TOWN","INVALID_LENGTH_EMAIL","INVALID_LENGTH_FIRSTNAME","INVALID_LENGTH_LASTNAME","INVALID_LENGTH_COMPANYNAME","INVALID_LENGTH_ALIAS","INVALID_LENGTH_STREETNAME","INVALID_LENGTH_TOWN","PERSONAL_NUMBER_UNDER_AGE","PAYPAL_NOT_VERIFIED","INVALID_CHARACTERS","FACEBOOK_ID_IN_USE","FACEBOOK_ID_DOES_NOT_MATCH_TOKEN","EMAIL_ADDRESS_DOES_NOT_MATCH_FACEBOOK_TOKEN","FACEBOOK_USER_ACCESS_TOKEN_INVALID","FACEBOOK_USER_ACCESS_TOKEN_EXPIRED","FACEBOOK_USER_ACCESS_TOKEN_MISSING_REQUIRED_SCOPE_PUBLIC_PROFILE","en","INVALID_COUNTRY","REQUIRED_COUNTRY","AnalyticsStorage","constructor","_this","key","arguments","length","undefined","this","_key","set","value","sessionStorage","setItem","setIfEmpty","getItem","get","clear","removeItem","flow","method","FLOW","METHOD","trackEvent","memberId","validationError","data","event","window","dataLayer","push","BlockingLoader","_jsx","className","children","LoadIcon","personalIdFormat","formatPersonalId","replace","isServer","Error","PersonalDetailsAutoFill","onValidation","bind","autoFilledValue","form","field","fieldState","fields","isValid","clearPersonalDetails","formattedValue","lookupPersonalDetails","personalNumber","Axios","then","result","LookupPersonalNumber","hasDetails","setFromGenerated","update","f","autoFillFailed","catch","autoFilledFields","forEach","remove","manuallyFilledFields","isPhoneNumber","str","test","isAllowedLatinCharactersWithNumbers","_activeForm","_activeField","_activeStep","addEventListener","_trackEvent","EventEmitter","subscribe","payload","name","step","GoogleTagManager","trackPageView","fieldName","errorCode","errors","error","code","action","label","category","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","i","Symbol","toPrimitive","call","TypeError","String","Number","_toPrimitive","configurable","writable","Form","rules","validationCallbacks","changeCallbacks","pendingValidations","Promise","resolve","initValidators","attempted","attemptedCallbacks","formTracker","FormTracker","trim","onFirstAttempt","callback","attempt","enableValidation","cb","_set","setFromUserInput","isSetFromUserInput","updateField","isValidationPending","validation","validate","currentValue","triggerOnValidation","all","triggerOnChange","addError","fieldNames","waitForValidation","x","fieldsToCheck","hasError","some","hasAnyFieldSetFromUserInput","isValidationEnabled","onChange","removeOnChange","c","removeOnValidation","rule","asyncUrl","lang","copyfor","rulesSet","currentRule","extractedRules","split","ErrorMessages","toUpperCase","indexOf","start","end","minlength","slice","maxlength","Validator","rawValue","description","async","err","response","status","sessionStorageKey","LocalFormStore","saveState","restoreState","_initializeState","_get","state","dateSaved","Date","now","JSON","stringify","_checkStateExpirationTime","storedState","parse","storedDate","parseJwt","token","base64","jsonPayload","safeDecodeURIComponent","atob","map","charCodeAt","toString","join","w","saved","savedListener","onGoogleNativeLogin","onGoogleNativeLoginSetListener","listener","GoogleLogin","googleAppId","console","appId","email","firstName","lastName","isLoaded","google","onNativeInitiatedLogin","_save","options","native","reject","_parseJwt","_parseJwt2","userId","accessToken","sub","family_name","document","location","href","providerData","credential","given_name","onAppleNativeLogin","onAppleNativeLoginSetListener","AppleLogin","appleAppId","storedUser","localStore","STORAGE_KEYS","APPLE_ID_USER","_storedUser$name","_storedUser$name2","AppleID","auth","init","login","clientId","scope","redirectURI","origin","usePopup","signIn","signInResponse","_signInResponse$autho","_parseJwt4","user","authorization","id_token","_parseJwt3","onFacebookNativeLogin","onFacebookNativeLoginSetListener","FacebookLogin","facebookAppId","FB","userID","version","_onLogin","auth_type","loginData","api","profileData","id","authResponse","first_name","last_name","onKlarnaNativeLogin","onKlarnaNativeLoginSetListener","KlarnaLogin","klarnaAppId","klarnaEnvironment","locale","authenticateCallback","environment","streetName","zipCode","town","phoneNumber","idToken","refreshToken","redirectUri","URL","loadScript","dataAttributes","market","onKlarnaSignIn","tokens","refresh_token","onKlarnaSignInError","ga","_idToken$national_ide","_idToken$billing_addr","_idToken$billing_addr2","_idToken$billing_addr3","_idToken$billing_addr4","nationalIdentificationNumber","national_identification_number","substring","phone","billing_address","city","street_address","postal_code","_idToken$national_ide2","_idToken$billing_addr5","FacebookProfileIcon","_ref2","_ref2$facebookUserId","facebookUserId","_ref2$size","size","src","width","height","style","borderRadius","alt","ProfileIcon","_ref3","_ref3$size","xmlns","viewBox","_jsxs","fill","cx","cy","d","_extends","assign","target","source","prototype","hasOwnProperty","_ref","styles","props","_objectWithoutProperties","_excluded","React","SwedishPrivateProviderEmailRequired","helpUrl","isNativeAppContext","providerName","_Fragment","Heading","Button","theme","fluid","ArrowLefticon","FormFooterLogo","SwedishPrivateProviderEmailExists","SwedishPrivateProviderIdExists","SwedishPrivateFormAccountCreatedWithProvider","redirectLink","provider","userIcon","header","InputText","Component","super","onBlur","render","_this$props","type","rest","ErrorsList","otherProps","index","Fragment","title","dangerouslySetInnerHTML","__html","propTypes","formField","FormField","handleHintClick","preventDefault","toggleHint","showHint","componentDidMount","setState","handleBlur","classNames","icon","_this$props2","hint","inputComponent","placeholder","containerClassName","Input","currentTarget","tabIndex","onClick","HelpIcon","pointerEvents","FormErrorList","InputPersonalId","_objectDestructuringEmpty","formatedValue","clipRule","fillRule","GoogleSignupButton","onCallback","divRef","useRef","isMobile","useIsMobile","wasMobile","_useState2","_slicedToArray","useState","googleButtonInitialized","setGoogleButtonInitialized","useSelector","selectLocale","useEffect","accounts","initialize","client_id","renderButton","current","text","shape","offsetWidth","ref","KlarnaButton","round","KlarnaKIcon","fixedIcon","nonBrandedText","FacebookButton","_excluded2","FacebookIcon","AppleButton","_excluded3","AppleIcon","SwedishPrivateFormStep1","appleEnabled","appleNotLoaded","facebookEnabled","facebookNotLoaded","googleEnabled","googleNotLoaded","klarnaEnabled","klarnaNotLoaded","onAppleStart","onFacebookStart","onGoogleStart","onKlarnaStart","onNavigate","useTranslator","toLocalizedUrl","useUrlLocalizer","availableCountries","getAvailableUserRegistrationCountries","FormHeader","showLanguageMenu","SelectCountry","onCountrySelected","selectedValue","selectedCountryCodeIso2","SwedenCountryCode","variant","disabled","GoogleIcon","WarningIcon","transform","bottom","left","FormFooter","registerLink","isCompanyLink","accepts","termsError","checked","defaultChecked","htmlFor","rel","Marketing","_ref$isDefaultChecked","isDefaultChecked","_React$useState2","show","setShow","isModalEnabled","useIsFeatureEnabled","blueshift","ScrollableModal","maxWidth","maxHeight","onClose","mobileBottomSheet","Trans","i18nKey","components","heading","as","readMoreLink","AutoFilledPersonalDetails","ManualPersonalDetails","PersonnummerError","compareAsc","dateLeft","dateRight","diff","getTime","testDate","year","month","day","date","getFullYear","getMonth","getDate","Personnummer","pin","_century","_fullYear","_year","_month","_day","_sep","_num","_check","allowCoordinationNumber","allowInterimNumber","century","fullYear","sep","num","check","static","match","exec","parseInt","baseYear","substr","valid","isCoordinationNumber","isInterimNumber","sum","l","v","Math","ceil","luhn","format","longFormat","getAge","sign","yearDiff","abs","setFullYear","diffInYears","ageDay","ageDate","isFemale","isMale","src_default","SwedishPrivateFormStep2","onChangeAcceptsTerms","acceptsTerms","autoFilled","addressValid","showAutoFilledPersonalDetails","showManualPersonalDetails","isUnderage","AliasSuggestions","alias","onSelect","Terms","SwedishPrivateFacebook","SwedishPrivateApple","SwedishPrivateGoogle","SwedishPrivateKlarna","SwedishPrivateManualReview","successfulSubmissionData","emailAddress","SwedishPrivateWaitForAccountCreation","checkStatus","componentWillUnmount","timeout","clearTimeout","successData","resp","setTimeout","onManualReview","SwedishPrivateFormAccountCreated","_props$successfulSubm","CheckBadgeIcon","PROVIDERS","PROVIDER_NAMES","FUNNEL_APPLE","FUNNEL_FACEBOOK","FUNNEL_GOOGLE","FUNNEL_KLARNA","SwedishPrivateForm","autoFill","formStore","facebook","Facebook","apple","Apple","Google","klarna","Klarna","res","klarnaAuthenticated","funnel","EmailAddress","PersonalNumber","Alias","FacebookId","PhoneNumber","AutoPersonalDetails","FirstName","LastName","StreetName","ZipCode","Town","FacebookFirstName","setStepFromLocationHash","forceFormUpdate","headers","common","antiForgeryToken","initializeLocation","facebookAuthData","isLoading","facebookAuthenticated","appleAuthData","appleAuthenticated","googleAuthData","googleAuthenticated","klarnaAuthData","forceUpdate","funnelStart","hash","returnToFirstInvalidStep","deregister","removeEventListener","currentStep","step2","facebookStart","appleStart","googleStart","klarnaStart","submit","submitWithProvider","finishFacebookRegistration","manualReview","onEmailExists","emailExists","facebookId","provideproviderName","finishAppleRegistration","finishGoogleRegistration","finishKlarnaRegistration","waitForCountSessionId","sessionId","submissionData","reduce","formData","terms","url","validateStatus","setValidationErrors","loginWithFacebook","AccessToken","UserId","loginOrPairWithApple","pairExistingAccountWithApple","loginOrPairWithGoogle","pairExistingAccountWithGoogle","loginOrPairWithKlarna","RefreshToken","_err$response","_err$response$data","returnUrl","pairExistingAccountWithKlarna","find","SignIn","onButtonClick","onValidatedCallback","bootLanguages","ReactDOM","getElementById","ProviderWithGlobalStore","UserRegWrapper","injectAppProps","isHybridAppContext","polyRef","forwardRef","HeadingSizesMap","h1","h2","h3","h4","h5","_ref$as","sizeProp","align","_ref$branded","branded","reset","initialState","qrData","modalState","ModalState","CLOSED","autoStartToken","bankIdOrderRef","contactSsn","organizationNumber","purpose","bankIdSlice","createSlice","reducers","completed","COMPLETED","setError","ERROR","startAuth","IN_PROGRESS","close","_bankIdSlice$actions","actions","BottomSheet","onDismiss","onTop","_ref$inlineStyle","inlineStyle","_ref$maxHeight","bottomAnchor","TransitionGroup","component","mountOnEnter","EnterFade","in","Overlay","closeModalCallback","EnterFrom","from","RemoveScroll","forwardProps","sheetContainer","bottomSheet","mobileOnlyProps","BREAKPOINT_SIZES","BREAKPOINTS","SM","max","desktopOnlyProps","minWidth","MD","min","allDeviceProps","XS","desktop","_ref$dismissOnOverlay","dismissOnOverlayClick","mediaQuery","mobile","_ref$mobileFullscreen","mobileFullscreen","overlayClassNames","mediaQueryProps","MediaQuery","Dialog","defaultOpen","onOpenChange","open","DialogPortal","forceMount","DialogOverlay","overlay","mobileAlert","DialogContent","content","onPointerDownOutside","ScrollableModalContent","footer","forceZIndex","_ref$innerClassName","innerClassName","_ref$padding","padding","_ref$paddingX","paddingX","_ref$paddingTop","paddingTop","_ref$paddingBottom","paddingBottom","_useInView2","useInView","initialInView","threshold","scrollableContentRef","isScrollableContentEntirelyVisible","hasScroll","setHasScroll","head","HeaderWithCloseButton","border","smallScrollbar","zIndex","shadow","_ref$maxWidth","_ref$bottomSheetFullH","bottomSheetFullHeight","dialogModalProps","DialogModal","flexBasis","DEFAULT_COOKIES","default","MYTRADERA_DEFAULT_COOKIES","LIST_VIEW_TYPE","ITEMS_PER_PAGE","SHOW_FILTERS","LIST_VIEW_TYPE_BUYER_ACTIVE_ITEMS","PAGE_LIST_TYPES","BUYER_ACTIVE_ITEMS","LIST_VIEW_TYPE_BUYER_ITEMS_LOST","BUYER_ITEMS_LOST","LIST_VIEW_TYPE_SELLER_ACTIVE","SELLER_ACTIVE","LIST_VIEW_TYPE_SELLER_NOT_SOLD","SELLER_NOT_SOLD","GDPR_CONSENT_COOKIE","FORCE_GEO_DEV","NATIVE_APP_ENVIRONMENT","REGION_PICKER_DISMISSED","SHIPPING_COUNTRY","CART_ID","EXPERIMENT_BUCKET","PRODUCT_COMMUNICATION_DISMISSED","WISH_LIST_NOTIFICATION_DISPLAY_COUNT","WISH_LIST_NOTIFICATION_HIDDEN","RECENTLY_VIEWED_ITEM_IDS","RECENT_SEARCHES","SAVED_SEARCHES","COOKIE_CATEGORIES","Essential","Performance","Functional","CATEGORIZED_COOKIES","COOKIE_DEFAULT_CATEGORY","useMediaQuery","createWrappedT","i18nObject","addTranslation","language","hasLoadedAllTranslations","throwOnTransSuffix","isShowingTranslationKeysEnabled","endsWith","TRANS_SUFFIX","_len","args","Array","translation","lng","addTranslationForHydration","isQueryToggleEnabled","query","includes","useAddTranslation","isShowingTranslationKeysEnabledQuery","useQuery","selectPreferredLanguageCode","_state$status","loadedLanguages","_useTranslation","useTranslation","I18N_FRONTEND_NAMESPACES","ready","i18n","wrappedT","_i18n$translator$extr","translator","extractFromKey","namespaces","namespace","_i18n$translator$reso","ns","exactUsedKey","preferredLanguage","_state$status2","_useTranslation2","defaults","TransComponent","NS_TOUCHWEB","bannedCountries","Set","removeBannedCountries","country","has","countryCodeIso2","toLowerCase","removeBannedCountryCodes","getAvailableCountries","countries","mapCountryCodeToCountryKey","sort","a","b","countryCode","lokaliseKey","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cu","cv","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","fi","fj","fk","fm","fo","fr","fx","gb","gd","ge","gf","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","ie","il","io","iq","ir","is","it","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","ru","rs","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","st","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tr","tt","tv","tw","tz","ua","ug","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm","zw","isSwedenCountryCodeOrUndefined","isDenmarkCountryCode","toLocaleString","toLocaleStringSupportsLocales","Intl","NumberFormat","createQueue","selectAvailableLanguages","available","selectPreferredLanguage","createSelector","languageCodeIso2","preferred","_state$language","_state$language$prefe","DEFAULT_LANGUAGE","memberCountryCodeIso2","selectAutomaticTranslationPreferred","_state$language$autom","automaticTranslationPreferred","memberSlice","isLoggedIn","hasLoggedIn","isFetchingGeolocation","isImpersonationSession","geolocation","memberHeroImage","med","isCompany","cleanedMemberAlias","memberAlias","memberDetailedSellerRatingAverage","memberCountry","memberEmail","memberEmailMd5","memberEmailSha256","memberFirstName","memberLastName","memberBirthdate","memberTown","hasTraderaPay","age","gender","registrationDate","memberIsBuyer","memberIsSeller","currencyCode","permissions","blueshiftEventSignature","memberIdHash","memberState","isTrustedMember","initializeFromInitData","getInitialState","setIsFetchingGeolocation","setIsImpersonationSession","setGeolocation","failedLoadingGeolocation","setMemberHeroImage","setHasLoggedIn","setMemberActive","_memberSlice$actions","defaultCurrency","rate","valueDate","updatedDate","symbolSuffix","shortName","longName","decimals","resolveCurrency","enabled","currencies","currency","multiCurrencySlice","preferredCurrency","_action$payload","_action$payload$curre","setPreferredCurrency","_multiCurrencySlice$a","updateShippingRegion","dispatch","setShippingCountry","getAvailableShippingCountries","getState","selectIsLoadingAvailableShippingCountries","selectHasLoadedAvailableShippingCountries","beginLoadingAvailableShippingOptions","fetchAvailableShippingCountries","shippingCountries","setAvailableShippingCountries","getFallbackShippingCountry","getCountryCodeFromLanguage","initData","isFunctionalCookiesEnabled","GdprSettings","isFunctionalEnabled","hasRegionPickerDismissedCookie","cookieUtil","hasCookie","shippingCountryCookieValue","readCookie","fallbackShippingCountry","shippingRegionSlice","_state","reducer","shippingCountry","prepare","expireDate","createCookie","setDefaultShippingCountry","availableShippingCountries","availableShippingCountryCodes","hasLoadedAvailableShippingCountries","isLoadingAvailableShippingCountries","dismissLocalizationRegionPicker","regionPickerDismissed","_shippingRegionSlice$","getCookieFromBrowser","getCookieFromString","cookieString","cookie","setCookieToBrowser","s","formatNumberWithSeparators","number","separator","RangeError","u","isNaN","p","m","h","enter","exit","appendPosition","collapse","collapseDuration","position","preventExitTransition","done","nodeRef","isIn","y","T","n","dispatchEvent","Event","classList","add","scrollHeight","requestAnimationFrame","minHeight","transition","margin","g","containerId","toastId","list","Map","emitQueue","on","off","delete","cancelEmit","emit","E","info","warning","success","spinner","C","toastKey","displayedToast","count","queue","isToastActive","getToast","limit","I","_","toastContent","toastProps","staleId","shift","O","L","delay","enableMultiContainer","updateId","N","M","toastStyle","fromEntries","entries","closeToast","toastClassName","bodyClassName","progressClassName","autoClose","R","deleteToast","iconOut","onOpen","closeButton","getToastToRender","values","newestOnTop","reverse","containerRef","targetTouches","clientX","clientY","delta","removalDistance","canCloseOnClick","canDrag","boundingRect","didMove","pauseOnHover","closeOnClick","draggable","nativeEvent","getBoundingClientRect","draggableDirection","draggablePercent","offsetHeight","top","right","opacity","once","pauseOnFocusLoss","hasFocus","onMouseDown","onTouchStart","onMouseUp","onTouchEnd","onMouseEnter","onMouseLeave","playToast","pauseToast","isRunning","toastRef","eventHandlers","ariaLabel","stopPropagation","hide","controlledProgress","progress","rtl","animationDuration","animationPlayState","defaultClassName","role","hideProgressBar","bodyStyle","progressStyle","$","k","P","B","D","A","z","F","H","S","q","Q","displayName","defaultProps","loading","promise","pending","dismiss","warn","dark","clearWaitingQueue","isActive","POSITION","TOP_LEFT","TOP_RIGHT","TOP_CENTER","BOTTOM_LEFT","BOTTOM_RIGHT","BOTTOM_CENTER","TYPE","INFO","SUCCESS","WARNING","DEFAULT","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","amdO","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","getPrototypeOf","mode","create","def","getOwnPropertyNames","definition","chunkId","promises","miniCssF","globalThis","Function","hmd","prop","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","appendChild","toStringTag","nmd","paths","installedChunks","installedChunkData","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}