{"version":3,"file":"script/bundle-swedish-private.ac01b10d20.js","mappings":"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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/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://touchweb/./node_modules/react-redux/es/hooks/useSelector.js","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/apps/registration/components/common/form/form-parts.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/atoms/space/space.tsx","webpack://touchweb/./src/components/bank-id/state/bank-id/reducer.ts","webpack://touchweb/./src/components/bottom-sheet/bottom-sheet.module.scss","webpack://touchweb/./src/components/bottom-sheet/bottom-sheet.tsx","webpack://touchweb/./src/components/dialog/dialog-modal.tsx","webpack://touchweb/./src/components/scrollable-modal/header-with-close-button.module.scss","webpack://touchweb/./src/components/scrollable-modal/header-with-close-button.tsx","webpack://touchweb/./src/components/scrollable-modal/overlay.module.scss","webpack://touchweb/./src/components/scrollable-modal/overlay.tsx","webpack://touchweb/./src/components/scrollable-modal/scrollable-modal-content.module.scss","webpack://touchweb/./src/components/scrollable-modal/scrollable-modal-content.tsx","webpack://touchweb/./src/components/scrollable-modal/scrollable-modal.tsx","webpack://touchweb/./src/components/transitions/transitions.jsx","webpack://touchweb/./src/constants/cookies.ts","webpack://touchweb/./src/hooks/use-is-mobile.ts","webpack://touchweb/./src/localization/countries.js","webpack://touchweb/./src/localization/format-price.ts","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/multi-currency/selectors.ts","webpack://touchweb/./src/state/shipping-region/actions.js","webpack://touchweb/./src/state/shipping-region/reducer.ts","webpack://touchweb/./src/utils/format.js","webpack://touchweb/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://touchweb/./node_modules/@radix-ui/react-dialog/dist/index.mjs","webpack://touchweb/./node_modules/@radix-ui/react-slot/dist/index.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\"};","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context = ReactReduxContext) {\n const useStore = // @ts-ignore\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport const useDispatch = /*#__PURE__*/createDispatchHook();","import { useCallback, useDebugValue, useRef } from 'react';\nimport { createReduxContextHook, useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { ReactReduxContext } from '../components/Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStoreWithSelector = notInitialized;\nexport const initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nconst refEquality = (a, b) => a === b;\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context = ReactReduxContext) {\n const useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : createReduxContextHook(context);\n return function useSelector(selector, equalityFnOrOptions = {}) {\n const {\n equalityFn = refEquality,\n stabilityCheck = undefined,\n noopCheck = undefined\n } = typeof equalityFnOrOptions === 'function' ? {\n equalityFn: equalityFnOrOptions\n } : equalityFnOrOptions;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(`You must pass a function as an equality function to useSelector`);\n }\n }\n\n const {\n store,\n subscription,\n getServerState,\n stabilityCheck: globalStabilityCheck,\n noopCheck: globalNoopCheck\n } = useReduxContext();\n const firstRun = useRef(true);\n const wrappedSelector = useCallback({\n [selector.name](state) {\n const selected = selector(state);\n\n if (process.env.NODE_ENV !== 'production') {\n const finalStabilityCheck = typeof stabilityCheck === 'undefined' ? globalStabilityCheck : stabilityCheck;\n\n if (finalStabilityCheck === 'always' || finalStabilityCheck === 'once' && firstRun.current) {\n const toCompare = selector(state);\n\n if (!equalityFn(selected, toCompare)) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' + '\\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization', {\n state,\n selected,\n selected2: toCompare,\n stack\n });\n }\n }\n\n const finalNoopCheck = typeof noopCheck === 'undefined' ? globalNoopCheck : noopCheck;\n\n if (finalNoopCheck === 'always' || finalNoopCheck === 'once' && firstRun.current) {\n // @ts-ignore\n if (selected === state) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', {\n stack\n });\n }\n }\n\n if (firstRun.current) firstRun.current = false;\n }\n\n return selected;\n }\n\n }[selector.name], [selector, globalStabilityCheck, stabilityCheck]);\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, wrappedSelector, equalityFn);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport const useSelector = /*#__PURE__*/createSelectorHook();","'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 React from 'react';\n\nimport 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((details) => {\n if (details.firstName) {\n // Null firstname indicates a hidden identity (e.g. 880504-3307). Do not auto fill those\n form.update((f) => {\n f.autoFillFailed = false;\n });\n\n form.setFromGenerated('FirstName', details.firstName);\n form.setFromGenerated('LastName', details.lastName);\n form.setFromGenerated('StreetName', details.address);\n form.setFromGenerated('Town', details.city);\n form.setFromGenerated('ZipCode', details.zipCode);\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 = [\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 copyfor,\n rulesSet,\n 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 isValid(fieldNames) {\n const fieldsToCheck = fieldNames || this.fieldNames();\n const state = fieldsToCheck.map(\n (key) => this.fields[key] && this.fields[key].isValid\n );\n return state.reduce((previous, current) => previous && current, 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 hasFieldsSetFromUserInput(fieldNames) {\n const fieldsToCheck = fieldNames || this.fieldNames();\n const state = fieldsToCheck.map(\n (key) => this.fields[key] && this.fields[key].isSetFromUserInput\n );\n return state.reduce((previous, current) => previous || current, 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","export 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 = decodeURIComponent(\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","import React from 'react';\n\nexport 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","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Card = ({ padding, className, children, ...otherProps }) => {\n return (\n \n {children}\n \n );\n};\nCard.propTypes = {\n padding: PropTypes.bool\n};\nCard.defaultProps = {\n padding: true\n};\n\nconst Heading = ({ className, children, ...otherProps }) => {\n return (\n \n {children}\n \n );\n};\n\nconst Footer = ({ className, children, ...otherProps }) => {\n return (\n \n {children}\n \n );\n};\n\nexport { Card, Heading, Footer };\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 React from 'react';\nimport { 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 React from 'react';\nimport { 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 React from 'react';\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 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 React from 'react';\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 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 React, { 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 React, { 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 React from 'react';\nimport 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 React, { 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 React, { 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 React, { 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 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 React from 'react';\nimport 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","import React from 'react';\n\nconst Terms = (props) => {\n const { onChange, accepts, termsError } = props;\n const termsUrl = 'https://info.tradera.com/sakerhetscenter/anvandaravtal/';\n const privacyUrl =\n 'https://info.tradera.com/sakerhetscenter/integritetspolicy/';\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

\n {form.get('FirstName')} {form.get('LastName')}\n

\n

{form.get('StreetName')}

\n

\n {form.get('ZipCode')} {form.get('Town')}\n

\n
\n \n

\n Informationen är hämtad från publika källor. Du har möjlighet\n att ändra dina uppgifter senare under Inställningar\n

\n \n );\n};\n","import React, { Fragment } from 'react';\nimport FormField from '../swedish-private-v2/form-field';\nimport { Heading } from '../../common/form/form-parts';\n\nexport const ManualPersonalDetails = (props) => {\n const { form } = props;\n return (\n \n Personuppgifter\n
\n \n \n
\n \n
\n \n \n
\n \n
\n );\n};\n","// src/errors.ts\nvar PersonnummerError = class extends Error {\n constructor() {\n super(\"Invalid swedish personal identity number\");\n }\n};\n\n// src/utils.ts\nvar compareAsc = (dateLeft, dateRight) => {\n const diff = dateLeft.getTime() - dateRight.getTime();\n return diff < 0 ? -1 : diff > 0 ? 1 : diff;\n};\nvar diffInYears = (dateLeft, dateRight) => {\n const sign = compareAsc(dateLeft, dateRight);\n const yearDiff = Math.abs(dateLeft.getFullYear() - dateRight.getFullYear());\n dateLeft.setFullYear(dateLeft.getFullYear() - sign * yearDiff);\n const isLastYearNotFull = compareAsc(dateLeft, dateRight) === -sign;\n const result = sign * (yearDiff - +isLastYearNotFull);\n return result === 0 ? 0 : result;\n};\nvar luhn = (str) => {\n let sum = 0;\n str += \"\";\n for (let i = 0, l = str.length; i < l; i++) {\n let v = parseInt(str[i]);\n v *= 2 - i % 2;\n if (v > 9) {\n v -= 9;\n }\n sum += v;\n }\n return Math.ceil(sum / 10) * 10 - sum;\n};\nvar testDate = (year, month, day) => {\n month -= 1;\n const date = new Date(year, month, day);\n return !(date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day);\n};\n\n// src/index.ts\nvar Personnummer = class {\n /**\n * Personnummer constructor.\n *\n * @param {string} pin\n * @param {object} options\n */\n constructor(pin, options) {\n /**\n * Personnummer century.\n *\n * @var {string}\n */\n this._century = \"\";\n /**\n * Personnummer full year.\n *\n * @var {string}\n */\n this._fullYear = \"\";\n /**\n * Personnummer year.\n *\n * @var {string}\n */\n this._year = \"\";\n /**\n * Personnummer month.\n *\n * @var {string}\n */\n this._month = \"\";\n /**\n * Personnummer day.\n *\n * @var {string}\n */\n this._day = \"\";\n /**\n * Personnummer seperator.\n *\n * @var {string}\n */\n this._sep = \"\";\n /**\n * Personnumer first three of the last four numbers.\n *\n * @var {string}\n */\n this._num = \"\";\n /**\n * The last number of the personnummer.\n *\n * @var {string}\n */\n this._check = \"\";\n this.parse(pin, {\n allowCoordinationNumber: true,\n allowInterimNumber: false,\n ...options\n });\n }\n /**\n * Get century.\n *\n * @return {string}\n */\n get century() {\n return this._century;\n }\n /**\n * Get age.\n *\n * @return {string}\n */\n get fullYear() {\n return this._fullYear;\n }\n /**\n * Get age.\n *\n * @return {string}\n */\n get year() {\n return this._year;\n }\n /**\n * Get month.\n *\n * @return {string}\n */\n get month() {\n return this._month;\n }\n /**\n * Get day.\n *\n * @return {string}\n */\n get day() {\n return this._day;\n }\n /**\n * Get sep.\n *\n * @return {string}\n */\n get sep() {\n return this._sep;\n }\n /**\n * Get num.\n *\n * @return {string}\n */\n get num() {\n return this._num;\n }\n /**\n * Get check.\n *\n * @return {string}\n */\n get check() {\n return this._check;\n }\n /**\n * Parse personnummer.\n *\n * @param {string} pin\n * @param {object} options\n *\n * @return {Personnummer}\n */\n static parse(pin, options) {\n return new Personnummer(pin, options);\n }\n /**\n * Validate a Swedish personal identity number.\n *\n * @param {string} str\n * @param {object} options\n *\n * @return {boolean}\n */\n static valid(pin, options) {\n try {\n Personnummer.parse(pin, options);\n return true;\n } catch (e) {\n return false;\n }\n }\n /**\n * Parse personnummer and set class properties.\n *\n * @param {string} pin\n * @param {object} options\n */\n parse(pin, options) {\n if (pin.length < 10 || pin.length > 13) {\n throw new PersonnummerError();\n }\n const reg = /^(\\d{2}){0,1}(\\d{2})(\\d{2})(\\d{2})([+-]?)((?!000)\\d{3}|[TRSUWXJKLMN]\\d{2})(\\d)$/;\n const match = reg.exec(pin);\n if (!match) {\n throw new PersonnummerError();\n }\n const century = match[1];\n const year = match[2];\n const month = match[3];\n const day = match[4];\n const sep = match[5];\n const num = match[6];\n const check = match[7];\n if (typeof century === \"undefined\" || !century.length) {\n const d = /* @__PURE__ */ new Date();\n let baseYear = 0;\n if (sep === \"+\") {\n this._sep = \"+\";\n baseYear = d.getFullYear() - 100;\n } else {\n this._sep = \"-\";\n baseYear = d.getFullYear();\n }\n this._century = (\"\" + (baseYear - (baseYear - parseInt(year)) % 100)).substr(0, 2);\n } else {\n this._century = century;\n if ((/* @__PURE__ */ new Date()).getFullYear() - parseInt(century + year, 10) < 100) {\n this._sep = \"-\";\n } else {\n this._sep = \"+\";\n }\n }\n this._year = year;\n this._fullYear = this._century + year;\n this._month = month;\n this._day = day;\n this._num = num;\n this._check = check;\n if (!this.valid()) {\n throw new PersonnummerError();\n }\n if (!(options == null ? void 0 : options.allowCoordinationNumber) && this.isCoordinationNumber()) {\n throw new PersonnummerError();\n }\n if (!(options == null ? void 0 : options.allowInterimNumber) && this.isInterimNumber()) {\n throw new PersonnummerError();\n }\n }\n /**\n * Validate a Swedish personal identity number.\n *\n * @return {boolean}\n */\n valid() {\n const valid = luhn(\n this.year + this.month + this.day + this.num.replace(/[TRSUWXJKLMN]/, \"1\")\n ) === +this.check && !!this.check;\n if (valid && testDate(parseInt(this.century + this.year), +this.month, +this.day)) {\n return valid;\n }\n return valid && testDate(parseInt(this.century + this.year), +this.month, +this.day - 60);\n }\n /**\n * Format a Swedish personal identity number as one of the official formats,\n * A long format or a short format.\n *\n * If the input number could not be parsed a empty string will be returned.\n *\n * @param {boolean} longFormat\n *\n * @return {string}\n */\n format(longFormat = false) {\n if (longFormat) {\n return `${this.century}${this.year}${this.month}${this.day}${this.num}${this.check}`;\n }\n return `${this.year}${this.month}${this.day}${this.sep}${this.num}${this.check}`;\n }\n /**\n * Get age from a Swedish personal identity number.\n *\n * @return {number}\n */\n getAge() {\n const date = this.getDate();\n return diffInYears(new Date(Date.now()), date);\n }\n /**\n * Get date from a Swedish personal identity number.\n *\n * @return {Date}\n */\n getDate() {\n let ageDay = +this.day;\n if (this.isCoordinationNumber()) {\n ageDay -= 60;\n }\n const ageDate = this.century + this.year + \"-\" + this.month + \"-\" + (ageDay < 10 ? \"0\" + ageDay : ageDay);\n return new Date(ageDate);\n }\n /**\n * Check if a Swedish personal identity number is a interim number or not.\n *\n * @return {boolean}\n */\n isInterimNumber() {\n return /[TRSUWXJKLMN]/.test(this.num[0]);\n }\n /**\n * Check if a Swedish personal identity number is a coordination number or not.\n *\n * @return {boolean}\n */\n isCoordinationNumber() {\n return testDate(\n parseInt(this.century + this.year),\n +this.month,\n +this.day - 60\n );\n }\n /**\n * Check if a Swedish personal identity number is for a female.\n *\n * @return {boolean}\n */\n isFemale() {\n return !this.isMale();\n }\n /**\n * Check if a Swedish personal identity number is for a male.\n *\n * @return {boolean}\n */\n isMale() {\n const sexDigit = parseInt(this.num.substr(-1));\n return sexDigit % 2 === 1;\n }\n};\nvar src_default = Personnummer;\nexport {\n src_default as default\n};\n","import React from 'react';\nimport FormField from '../swedish-private-v2/form-field';\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 Personnummer from 'personnummer';\nimport { FormFooterLogo } from 'tradera/apps/registration/components/common/form/form-footer-logo';\n\nexport const SwedishPrivateFormStep2 = ({\n form,\n autoFillFeatureEnabled,\n onNavigate,\n onChangeAcceptsTerms,\n acceptsTerms,\n isNativeAppContext,\n termsError\n}) => {\n const autoFilled =\n autoFillFeatureEnabled &&\n !form.autoFillFailed &&\n !form.hasFieldsSetFromUserInput(\n PersonalDetailsAutoFill.autoFilledFields\n );\n const addressValid = form.isValid(PersonalDetailsAutoFill.autoFilledFields);\n const showAutoFilledPersonalDetails = autoFilled && addressValid;\n const showManualPersonalDetails = !autoFilled || !addressValid;\n const personalNumber = form.fields['PersonalNumber'];\n const age = Personnummer.parse(personalNumber.value).getAge();\n const isUnderage = age < 18;\n return (\n <>\n
\n
\n {showAutoFilledPersonalDetails && (\n (window.location.hash = '#')}\n />\n )}\n Välj användarnamn\n \n {showManualPersonalDetails && (\n \n )}\n \n \n
\n \n Registrera\n \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 React from 'react';\nimport 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';\n\nexport const SwedishPrivateFacebook = (props) => {\n const {\n form,\n autoFillFeatureEnabled,\n onNavigate,\n onChangeAcceptsTerms,\n acceptsTerms,\n termsError\n } = props;\n const autoFilled = autoFillFeatureEnabled && !form.autoFillFailed;\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 \n {showAutoFilledPersonalDetails && (\n \n )}\n {showManualPersonalDetails && (\n \n )}\n \n \n \n Registrera\n \n
\n
\n \n
\n \n );\n};\n","import React from 'react';\nimport 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';\n\nexport const SwedishPrivateApple = (props) => {\n const {\n form,\n autoFillFeatureEnabled,\n onNavigate,\n onChangeAcceptsTerms,\n acceptsTerms,\n isNativeAppContext,\n termsError\n } = props;\n const autoFilled = autoFillFeatureEnabled && !form.autoFillFailed;\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 \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 React from 'react';\nimport 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';\n\nexport const SwedishPrivateGoogle = (props) => {\n const {\n form,\n autoFillFeatureEnabled,\n onNavigate,\n onChangeAcceptsTerms,\n acceptsTerms,\n isNativeAppContext,\n termsError\n } = props;\n const autoFilled = autoFillFeatureEnabled && !form.autoFillFailed;\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 \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 React from 'react';\nimport 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';\n\nexport const SwedishPrivateKlarna = (props) => {\n const {\n form,\n autoFillFeatureEnabled,\n onNavigate,\n onChangeAcceptsTerms,\n acceptsTerms,\n isNativeAppContext,\n termsError\n } = props;\n const autoFilled = autoFillFeatureEnabled && !form.autoFillFailed;\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 \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 React from 'react';\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 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 React from 'react';\nimport { 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 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 if (this.props.autoFillFeatureEnabled) {\n this.state.form.onValidation(this.autoFill.onValidation);\n }\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 React from 'react';\nimport 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 React, { 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 React, { forwardRef } from 'react';\nimport { classNames } from 'tradera/utils/class-names';\nimport type { OnlyAs, PolyRefFunction } from 'react-polymorphed';\n\nconst polyRef = forwardRef as PolyRefFunction;\n\ntype Gap = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport type SpaceProps = {\n /**\n * Default: 'horizontal'\n */\n direction?: 'horizontal' | 'vertical';\n /**\n * Default: 'center' for horizontal, 'start' for vertical\n */\n align?: 'start' | 'center' | 'end' | 'normal' | 'baseline';\n /**\n * Default: 'start'\n */\n justify?: 'start' | 'center' | 'end' | 'between' | 'around';\n /**\n * Gap sizes as defined by Blueprint. Default: 1. Can be a single value or an array of two values for horizontal and vertical gaps.\n */\n gap?: Gap | [Gap, Gap];\n /**\n * Default: false\n */\n wrap?: boolean;\n /**\n * Default: false\n * If true, the component will be rendered as an inline-flex element.\n */\n inline?: boolean;\n grow?: boolean;\n\n children: React.ReactNode;\n} & React.HTMLAttributes;\n\n/**\n * A component to use when you want to space out elements in a row or column.\n * Example:\n * \n * \n * \n * \n */\nexport const Space = polyRef<\n 'div',\n SpaceProps,\n OnlyAs<'div' | 'section' | 'article' | 'label' | 'span' | 'fieldset'>\n>(\n (\n {\n as: Component = 'div',\n direction = 'horizontal',\n align: alignProp,\n gap = 1,\n wrap = false,\n inline = false,\n className,\n children,\n justify,\n grow,\n ...rest\n },\n ref\n ) => {\n const defaultAlign = direction === 'horizontal' ? 'center' : 'normal';\n const align = alignProp ?? defaultAlign;\n\n const gapX = Array.isArray(gap) ? gap[0] : gap ?? 1;\n const gapY = Array.isArray(gap) ? gap[1] : gap ?? 1;\n\n const gapClass = `gap-x-${gapX} gap-y-${gapY}`;\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};\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};\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 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","// extracted by mini-css-extract-plugin\nexport default {\"bottom-sheet\":\"bottom-sheet--T8ySt\",\"bottomSheet\":\"bottom-sheet--T8ySt\",\"sheet-container\":\"sheet-container--EDmi2\",\"sheetContainer\":\"sheet-container--EDmi2\",\"onTop\":\"onTop--LH1pc\"};","import 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\ntype 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 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","// extracted by mini-css-extract-plugin\nexport default {\"header\":\"header--dRmsc\"};","import React from 'react';\nimport CloseIcon from '@tradera/blueprint/theme/icons2/close.svg?jsx';\nimport { Button } from 'tradera/components/atoms/button/button';\nimport styles from './header-with-close-button.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\n\ntype ButtonProps = React.ComponentProps;\n\ntype HeaderWithCloseButtonProps = {\n title?: string | React.ReactNode;\n border?: boolean;\n onClose?: ButtonProps['onClick'];\n menu?: React.ReactElement;\n};\n\nexport const HeaderWithCloseButton = ({\n onClose,\n title,\n border,\n menu\n}: HeaderWithCloseButtonProps) => {\n return (\n \n {menu ||
}\n\n

\n {title}\n

\n\n }\n />\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"overlay--JbHYZ\"};","import React, { useCallback, useEffect } from 'react';\nimport styles from './overlay.module.scss';\nimport { classNames } from 'tradera/utils/class-names';\n\ntype OverlayProps = {\n children?: React.ReactChild;\n closeModalCallback?: () => void;\n className?: string;\n style?: React.CSSProperties;\n};\n\nexport const Overlay = ({\n closeModalCallback,\n children,\n className,\n style\n}: OverlayProps) => {\n const closeOnEscape = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n closeModalCallback?.();\n }\n },\n [closeModalCallback]\n );\n\n useEffect(() => {\n window.addEventListener('keydown', closeOnEscape);\n\n return () => {\n window.removeEventListener('keydown', closeOnEscape);\n };\n }, [closeOnEscape]);\n\n return (\n closeModalCallback?.()}>\n {children}\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"footer\":\"footer--Ntrwy\",\"close-button\":\"close-button--k3Qep\",\"closeButton\":\"close-button--k3Qep\",\"shadow\":\"shadow--J8WIz\",\"small-scrollbar\":\"small-scrollbar--Fytfe\",\"smallScrollbar\":\"small-scrollbar--Fytfe\"};","import React, { 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 noPadding?: boolean;\n};\n\nexport const ScrollableModalContent = ({\n children,\n footer,\n header,\n className,\n title,\n onClose,\n forceZIndex,\n innerClassName = '',\n noPadding\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 React from 'react';\nimport 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 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 noPadding?: 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 noPadding,\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 React from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nexport const Expand = ({ children, ...props }) => (\n \n {children}\n \n);\n\nexport const EnterFrom = ({\n children,\n from,\n unmountOnExit = true,\n ...props\n}) => (\n \n {children}\n \n);\n\nexport const EnterFade = ({ children, unmountOnExit = true, ...props }) => (\n \n {children}\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_PURCHASES: {\n key: 'MyTradera_ListViewType_' + PAGE_LIST_TYPES.BUYER_PURCHASES,\n default: 'Normal',\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_SOLD: {\n key: 'MyTradera_ListViewType_' + PAGE_LIST_TYPES.SELLER_SOLD,\n default: 'Normal',\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';\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_BUYER_PURCHASES.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 [MYTRADERA_DEFAULT_COOKIES.LIST_VIEW_TYPE_SELLER_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};\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];\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","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","import { formatNumberWithSeparators } from 'tradera/utils/format';\n\nexport type Price = string | number;\n\ntype FormatPriceOptions = {\n currency: string;\n preferredCurrency: string;\n style: string;\n currencyDisplay: string;\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 { 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 type { RootState } from '../configure-store';\nimport { defaultCurrency } from './reducer';\n\nexport const selectCurrencies = (state: RootState) =>\n state.multiCurrency.currencies;\n\nexport const selectPreferredCurrency = (state: RootState) =>\n state.multiCurrency.preferredCurrency ||\n state.multiCurrency.currencies.find((c) => c.code === 'SEK') ||\n defaultCurrency;\n\nexport const selectIsPreferredCurrencySEK = (state: RootState) =>\n selectPreferredCurrency(state)?.code === 'SEK';\n\nexport const selectShowCurrencySelection = (state: RootState) =>\n !!(\n state.multiCurrency.enabled &&\n state.multiCurrency.preferredCurrency &&\n state.multiCurrency.currencies &&\n state.multiCurrency.currencies.length > 0\n );\n","import cookieUtil from 'tradera/utils/cookie';\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 = (countryCodeIso2) => (dispatch) => {\n dispatch(setShippingCountry({ countryCodeIso2 }));\n};\n\nexport const removeShippingCountryCookieIfSwedish =\n (geolocation) => (dispatch) => {\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, getState) => {\n if (\n selectIsLoadingAvailableShippingCountries(getState()) ||\n selectHasLoadedAvailableShippingCountries(getState())\n ) {\n return;\n }\n\n dispatch(beginLoadingAvailableShippingOptions());\n const { shippingCountries } = await fetchAvailableShippingCountries();\n dispatch(setAvailableShippingCountries({ shippingCountries }));\n };\n\nexport const onLocalizationShippingRegionSelected =\n ({ countryCodeIso2, currencyCode, toLocalizedUrl }) =>\n (dispatch) => {\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) =>\n getCountryCodeFromLanguage(selectPreferredLanguageCode(state));\n\nexport const initializeFromInitData = (initData) => (dispatch, 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 (gdprSettings, ssrCookieUtil) => (dispatch, 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 { swedishTimeZoneDate } from 'tradera/utils/date';\n\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 = (endDateInput, t, nowDateInput, dayjs) => {\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 = (number, separator = '\\u2006') => {\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() {\n try {\n Number(0).toLocaleString('i');\n } catch (e) {\n return e.name === 'RangeError';\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\nexport const formatSellerDsrAverage = (value, locale = 'sv-SE') => {\n return value?.toLocaleString(locale, {\n minimumFractionDigits: 1,\n maximumFractionDigits: 1\n });\n};\n\nexport const getCurrencySymbol = (locale, overrideOptions = {}) => {\n const defaultOptions = {\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 })\n .replace(/\\d/g, '')\n .trim();\n};\n\nexport const formatDateWithDayOfWeek = (dateString, locale) => {\n if (!isLocaleFormattingSupportedInBrowser) {\n return dateString;\n }\n\n const options = {\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) => {\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 = (orderNr) =>\n formatItemId(Number.parseInt(orderNr));\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import $67UHm$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useRef as $67UHm$useRef, createElement as $67UHm$createElement, useCallback as $67UHm$useCallback, forwardRef as $67UHm$forwardRef, Children as $67UHm$Children, useEffect as $67UHm$useEffect, Fragment as $67UHm$Fragment} from \"react\";\nimport {composeEventHandlers as $67UHm$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useComposedRefs as $67UHm$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $67UHm$createContextScope, createContext as $67UHm$createContext} from \"@radix-ui/react-context\";\nimport {useId as $67UHm$useId} from \"@radix-ui/react-id\";\nimport {useControllableState as $67UHm$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {DismissableLayer as $67UHm$DismissableLayer} from \"@radix-ui/react-dismissable-layer\";\nimport {FocusScope as $67UHm$FocusScope} from \"@radix-ui/react-focus-scope\";\nimport {Portal as $67UHm$Portal} from \"@radix-ui/react-portal\";\nimport {Presence as $67UHm$Presence} from \"@radix-ui/react-presence\";\nimport {Primitive as $67UHm$Primitive} from \"@radix-ui/react-primitive\";\nimport {useFocusGuards as $67UHm$useFocusGuards} from \"@radix-ui/react-focus-guards\";\nimport {RemoveScroll as $67UHm$RemoveScroll} from \"react-remove-scroll\";\nimport {hideOthers as $67UHm$hideOthers} from \"aria-hidden\";\nimport {Slot as $67UHm$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DIALOG_NAME = 'Dialog';\nconst [$5d3850c4d0b4e6c7$var$createDialogContext, $5d3850c4d0b4e6c7$export$cc702773b8ea3e41] = $67UHm$createContextScope($5d3850c4d0b4e6c7$var$DIALOG_NAME);\nconst [$5d3850c4d0b4e6c7$var$DialogProvider, $5d3850c4d0b4e6c7$var$useDialogContext] = $5d3850c4d0b4e6c7$var$createDialogContext($5d3850c4d0b4e6c7$var$DIALOG_NAME);\nconst $5d3850c4d0b4e6c7$export$3ddf2d174ce01153 = (props)=>{\n const { __scopeDialog: __scopeDialog , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , modal: modal = true } = props;\n const triggerRef = $67UHm$useRef(null);\n const contentRef = $67UHm$useRef(null);\n const [open = false, setOpen] = $67UHm$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogProvider, {\n scope: __scopeDialog,\n triggerRef: triggerRef,\n contentRef: contentRef,\n contentId: $67UHm$useId(),\n titleId: $67UHm$useId(),\n descriptionId: $67UHm$useId(),\n open: open,\n onOpenChange: setOpen,\n onOpenToggle: $67UHm$useCallback(()=>setOpen((prevOpen)=>!prevOpen\n )\n , [\n setOpen\n ]),\n modal: modal\n }, children);\n};\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$3ddf2d174ce01153, {\n displayName: $5d3850c4d0b4e6c7$var$DIALOG_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$TRIGGER_NAME = 'DialogTrigger';\nconst $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...triggerProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = $67UHm$useComposedRefs(forwardedRef, context.triggerRef);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.button, $67UHm$babelruntimehelpersesmextends({\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n }, triggerProps, {\n ref: composedTriggerRef,\n onClick: $67UHm$composeEventHandlers(props.onClick, context.onOpenToggle)\n }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$2e1e1122cf0cba88, {\n displayName: $5d3850c4d0b4e6c7$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$PORTAL_NAME = 'DialogPortal';\nconst [$5d3850c4d0b4e6c7$var$PortalProvider, $5d3850c4d0b4e6c7$var$usePortalContext] = $5d3850c4d0b4e6c7$var$createDialogContext($5d3850c4d0b4e6c7$var$PORTAL_NAME, {\n forceMount: undefined\n});\nconst $5d3850c4d0b4e6c7$export$dad7c95542bacce0 = (props)=>{\n const { __scopeDialog: __scopeDialog , forceMount: forceMount , children: children , container: container } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$PORTAL_NAME, __scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$PortalProvider, {\n scope: __scopeDialog,\n forceMount: forceMount\n }, $67UHm$Children.map(children, (child)=>/*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n present: forceMount || context.open\n }, /*#__PURE__*/ $67UHm$createElement($67UHm$Portal, {\n asChild: true,\n container: container\n }, child))\n ));\n};\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$dad7c95542bacce0, {\n displayName: $5d3850c4d0b4e6c7$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$OVERLAY_NAME = 'DialogOverlay';\nconst $5d3850c4d0b4e6c7$export$bd1d06c79be19e17 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const portalContext = $5d3850c4d0b4e6c7$var$usePortalContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, props.__scopeDialog);\n const { forceMount: forceMount = portalContext.forceMount , ...overlayProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n present: forceMount || context.open\n }, /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogOverlayImpl, $67UHm$babelruntimehelpersesmextends({}, overlayProps, {\n ref: forwardedRef\n }))) : null;\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$bd1d06c79be19e17, {\n displayName: $5d3850c4d0b4e6c7$var$OVERLAY_NAME\n});\nconst $5d3850c4d0b4e6c7$var$DialogOverlayImpl = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...overlayProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, __scopeDialog);\n return(/*#__PURE__*/ // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n $67UHm$createElement($67UHm$RemoveScroll, {\n as: $67UHm$Slot,\n allowPinchZoom: true,\n shards: [\n context.contentRef\n ]\n }, /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.div, $67UHm$babelruntimehelpersesmextends({\n \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n }, overlayProps, {\n ref: forwardedRef // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n ,\n style: {\n pointerEvents: 'auto',\n ...overlayProps.style\n }\n }))));\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$CONTENT_NAME = 'DialogContent';\nconst $5d3850c4d0b4e6c7$export$b6d9565de1e068cf = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const portalContext = $5d3850c4d0b4e6c7$var$usePortalContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n const { forceMount: forceMount = portalContext.forceMount , ...contentProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n present: forceMount || context.open\n }, context.modal ? /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentModal, $67UHm$babelruntimehelpersesmextends({}, contentProps, {\n ref: forwardedRef\n })) : /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentNonModal, $67UHm$babelruntimehelpersesmextends({}, contentProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$b6d9565de1e068cf, {\n displayName: $5d3850c4d0b4e6c7$var$CONTENT_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentModal = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n const contentRef = $67UHm$useRef(null);\n const composedRefs = $67UHm$useComposedRefs(forwardedRef, context.contentRef, contentRef); // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n $67UHm$useEffect(()=>{\n const content = contentRef.current;\n if (content) return $67UHm$hideOthers(content);\n }, []);\n return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentImpl, $67UHm$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs // we make sure focus isn't trapped once `DialogContent` has been closed\n ,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: $67UHm$composeEventHandlers(props.onCloseAutoFocus, (event)=>{\n var _context$triggerRef$c;\n event.preventDefault();\n (_context$triggerRef$c = context.triggerRef.current) === null || _context$triggerRef$c === void 0 || _context$triggerRef$c.focus();\n }),\n onPointerDownOutside: $67UHm$composeEventHandlers(props.onPointerDownOutside, (event)=>{\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick; // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\n }) // When focus is trapped, a `focusout` event may still happen.\n ,\n onFocusOutside: $67UHm$composeEventHandlers(props.onFocusOutside, (event)=>event.preventDefault()\n )\n }));\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentNonModal = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = $67UHm$useRef(false);\n const hasPointerDownOutsideRef = $67UHm$useRef(false);\n return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentImpl, $67UHm$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event)=>{\n var _props$onCloseAutoFoc;\n (_props$onCloseAutoFoc = props.onCloseAutoFocus) === null || _props$onCloseAutoFoc === void 0 || _props$onCloseAutoFoc.call(props, event);\n if (!event.defaultPrevented) {\n var _context$triggerRef$c2;\n if (!hasInteractedOutsideRef.current) (_context$triggerRef$c2 = context.triggerRef.current) === null || _context$triggerRef$c2 === void 0 || _context$triggerRef$c2.focus(); // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event)=>{\n var _props$onInteractOuts, _context$triggerRef$c3;\n (_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === 'pointerdown') hasPointerDownOutsideRef.current = true;\n } // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target;\n const targetIsTrigger = (_context$triggerRef$c3 = context.triggerRef.current) === null || _context$triggerRef$c3 === void 0 ? void 0 : _context$triggerRef$c3.contains(target);\n if (targetIsTrigger) event.preventDefault(); // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) event.preventDefault();\n }\n }));\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentImpl = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , trapFocus: trapFocus , onOpenAutoFocus: onOpenAutoFocus , onCloseAutoFocus: onCloseAutoFocus , ...contentProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, __scopeDialog);\n const contentRef = $67UHm$useRef(null);\n const composedRefs = $67UHm$useComposedRefs(forwardedRef, contentRef); // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (beacuse of the `Portal`)\n $67UHm$useFocusGuards();\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Fragment, null, /*#__PURE__*/ $67UHm$createElement($67UHm$FocusScope, {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus\n }, /*#__PURE__*/ $67UHm$createElement($67UHm$DismissableLayer, $67UHm$babelruntimehelpersesmextends({\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n }, contentProps, {\n ref: composedRefs,\n onDismiss: ()=>context.onOpenChange(false)\n }))), false);\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$TITLE_NAME = 'DialogTitle';\nconst $5d3850c4d0b4e6c7$export$16f7638e4a34b909 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...titleProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$TITLE_NAME, __scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.h2, $67UHm$babelruntimehelpersesmextends({\n id: context.titleId\n }, titleProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$16f7638e4a34b909, {\n displayName: $5d3850c4d0b4e6c7$var$TITLE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DESCRIPTION_NAME = 'DialogDescription';\nconst $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...descriptionProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$DESCRIPTION_NAME, __scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.p, $67UHm$babelruntimehelpersesmextends({\n id: context.descriptionId\n }, descriptionProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$94e94c2ec2c954d5, {\n displayName: $5d3850c4d0b4e6c7$var$DESCRIPTION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$CLOSE_NAME = 'DialogClose';\nconst $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n const { __scopeDialog: __scopeDialog , ...closeProps } = props;\n const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CLOSE_NAME, __scopeDialog);\n return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.button, $67UHm$babelruntimehelpersesmextends({\n type: \"button\"\n }, closeProps, {\n ref: forwardedRef,\n onClick: $67UHm$composeEventHandlers(props.onClick, ()=>context.onOpenChange(false)\n )\n }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac, {\n displayName: $5d3850c4d0b4e6c7$var$CLOSE_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ function $5d3850c4d0b4e6c7$var$getState(open) {\n return open ? 'open' : 'closed';\n}\nconst $5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME = 'DialogTitleWarning';\nconst [$5d3850c4d0b4e6c7$export$69b62a49393917d6, $5d3850c4d0b4e6c7$var$useWarningContext] = $67UHm$createContext($5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME, {\n contentName: $5d3850c4d0b4e6c7$var$CONTENT_NAME,\n titleName: $5d3850c4d0b4e6c7$var$TITLE_NAME,\n docsSlug: 'dialog'\n});\nconst $5d3850c4d0b4e6c7$var$TitleWarning = ({ titleId: titleId })=>{\n const titleWarningContext = $5d3850c4d0b4e6c7$var$useWarningContext($5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n $67UHm$useEffect(()=>{\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) throw new Error(MESSAGE);\n }\n }, [\n MESSAGE,\n titleId\n ]);\n return null;\n};\nconst $5d3850c4d0b4e6c7$var$DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\nconst $5d3850c4d0b4e6c7$var$DescriptionWarning = ({ contentRef: contentRef , descriptionId: descriptionId })=>{\n const descriptionWarningContext = $5d3850c4d0b4e6c7$var$useWarningContext($5d3850c4d0b4e6c7$var$DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n $67UHm$useEffect(()=>{\n var _contentRef$current;\n const describedById = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.getAttribute('aria-describedby'); // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [\n MESSAGE,\n contentRef,\n descriptionId\n ]);\n return null;\n};\nconst $5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9 = $5d3850c4d0b4e6c7$export$3ddf2d174ce01153;\nconst $5d3850c4d0b4e6c7$export$41fb9f06171c75f4 = $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88;\nconst $5d3850c4d0b4e6c7$export$602eac185826482c = $5d3850c4d0b4e6c7$export$dad7c95542bacce0;\nconst $5d3850c4d0b4e6c7$export$c6fdb837b070b4ff = $5d3850c4d0b4e6c7$export$bd1d06c79be19e17;\nconst $5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2 = $5d3850c4d0b4e6c7$export$b6d9565de1e068cf;\nconst $5d3850c4d0b4e6c7$export$f99233281efd08a0 = $5d3850c4d0b4e6c7$export$16f7638e4a34b909;\nconst $5d3850c4d0b4e6c7$export$393edc798c47379d = $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5;\nconst $5d3850c4d0b4e6c7$export$f39c2d165cd861fe = $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac;\n\n\n\n\nexport {$5d3850c4d0b4e6c7$export$cc702773b8ea3e41 as createDialogScope, $5d3850c4d0b4e6c7$export$3ddf2d174ce01153 as Dialog, $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88 as DialogTrigger, $5d3850c4d0b4e6c7$export$dad7c95542bacce0 as DialogPortal, $5d3850c4d0b4e6c7$export$bd1d06c79be19e17 as DialogOverlay, $5d3850c4d0b4e6c7$export$b6d9565de1e068cf as DialogContent, $5d3850c4d0b4e6c7$export$16f7638e4a34b909 as DialogTitle, $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5 as DialogDescription, $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac as DialogClose, $5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9 as Root, $5d3850c4d0b4e6c7$export$41fb9f06171c75f4 as Trigger, $5d3850c4d0b4e6c7$export$602eac185826482c as Portal, $5d3850c4d0b4e6c7$export$c6fdb837b070b4ff as Overlay, $5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2 as Content, $5d3850c4d0b4e6c7$export$f99233281efd08a0 as Title, $5d3850c4d0b4e6c7$export$393edc798c47379d as Description, $5d3850c4d0b4e6c7$export$f39c2d165cd861fe as Close, $5d3850c4d0b4e6c7$export$69b62a49393917d6 as WarningProvider};\n//# sourceMappingURL=index.mjs.map\n","import $9IrjX$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $9IrjX$forwardRef, Children as $9IrjX$Children, isValidElement as $9IrjX$isValidElement, createElement as $9IrjX$createElement, cloneElement as $9IrjX$cloneElement, Fragment as $9IrjX$Fragment} from \"react\";\nimport {composeRefs as $9IrjX$composeRefs} from \"@radix-ui/react-compose-refs\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$8c6ed5c666ac1360 = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n const childrenArray = $9IrjX$Children.toArray(children);\n const slottable = childrenArray.find($5e63c961fc1ce211$var$isSlottable);\n if (slottable) {\n // the new element to render is the one passed as a child of `Slottable`\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child)=>{\n if (child === slottable) {\n // because the new element will be the one rendered, we are only interested\n // in grabbing its children (`newElement.props.children`)\n if ($9IrjX$Children.count(newElement) > 1) return $9IrjX$Children.only(null);\n return /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? newElement.props.children : null;\n } else return child;\n });\n return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n ref: forwardedRef\n }), /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? /*#__PURE__*/ $9IrjX$cloneElement(newElement, undefined, newChildren) : null);\n }\n return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n ref: forwardedRef\n }), children);\n});\n$5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName = 'Slot';\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$var$SlotClone = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n if (/*#__PURE__*/ $9IrjX$isValidElement(children)) return /*#__PURE__*/ $9IrjX$cloneElement(children, {\n ...$5e63c961fc1ce211$var$mergeProps(slotProps, children.props),\n ref: forwardedRef ? $9IrjX$composeRefs(forwardedRef, children.ref) : children.ref\n });\n return $9IrjX$Children.count(children) > 1 ? $9IrjX$Children.only(null) : null;\n});\n$5e63c961fc1ce211$var$SlotClone.displayName = 'SlotClone';\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 = ({ children: children })=>{\n return /*#__PURE__*/ $9IrjX$createElement($9IrjX$Fragment, null, children);\n};\n/* ---------------------------------------------------------------------------------------------- */ function $5e63c961fc1ce211$var$isSlottable(child) {\n return /*#__PURE__*/ $9IrjX$isValidElement(child) && child.type === $5e63c961fc1ce211$export$d9f1ccf0bdb05d45;\n}\nfunction $5e63c961fc1ce211$var$mergeProps(slotProps, childProps) {\n // all child props should override\n const overrideProps = {\n ...childProps\n };\n for(const propName in childProps){\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n // if the handler exists on both, we compose them\n if (slotPropValue && childPropValue) overrideProps[propName] = (...args)=>{\n childPropValue(...args);\n slotPropValue(...args);\n };\n else if (slotPropValue) overrideProps[propName] = slotPropValue;\n } else if (propName === 'style') overrideProps[propName] = {\n ...slotPropValue,\n ...childPropValue\n };\n else if (propName === 'className') overrideProps[propName] = [\n slotPropValue,\n childPropValue\n ].filter(Boolean).join(' ');\n }\n return {\n ...slotProps,\n ...overrideProps\n };\n}\nconst $5e63c961fc1ce211$export$be92b6f5f03c0fe9 = $5e63c961fc1ce211$export$8c6ed5c666ac1360;\n\n\n\n\nexport {$5e63c961fc1ce211$export$8c6ed5c666ac1360 as Slot, $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 as Slottable, $5e63c961fc1ce211$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.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 === 33 ? \"braintree-web-drop-in\" : chunkId) + \".\" + {\"33\":\"fb79a1cf46\",\"69\":\"f5fc22c49f\"}[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 = 63;","__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\t63: 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,4,6,7,14,5,10,9,15], () => (__webpack_require__(2030)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","createDispatchHook","context","useStore","dispatch","useDispatch","useSyncExternalStoreWithSelector","initializeUseSelector","fn","refEquality","a","b","createSelectorHook","useReduxContext","selector","equalityFnOrOptions","equalityFn","stabilityCheck","noopCheck","store","subscription","getServerState","globalStabilityCheck","globalNoopCheck","wrappedSelector","useRef","useCallback","name","state","selectedState","addNestedSub","getState","useDebugValue","useSelector","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","details","firstName","update","f","autoFillFailed","setFromGenerated","lastName","address","city","zipCode","catch","autoFilledFields","forEach","remove","isPhoneNumber","str","test","isAllowedLatinCharactersWithNumbers","_activeForm","_activeField","_activeStep","addEventListener","_trackEvent","EventEmitter","subscribe","payload","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","map","reduce","previous","current","hasError","some","hasFieldsSetFromUserInput","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","dateSaved","Date","now","JSON","stringify","_checkStateExpirationTime","storedState","parse","storedDate","parseJwt","token","base64","jsonPayload","decodeURIComponent","atob","charCodeAt","toString","join","w","saved","savedListener","onGoogleNativeLogin","onGoogleNativeLoginSetListener","listener","GoogleLogin","googleAppId","console","appId","email","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","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","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","Card","_ref","padding","otherProps","_objectWithoutProperties","_excluded","propTypes","defaultProps","Heading","_excluded2","_extends","assign","target","source","prototype","hasOwnProperty","styles","props","React","SwedishPrivateProviderEmailRequired","helpUrl","isNativeAppContext","providerName","_Fragment","Button","theme","fluid","ArrowLefticon","FormFooterLogo","SwedishPrivateProviderEmailExists","SwedishPrivateProviderIdExists","SwedishPrivateFormAccountCreatedWithProvider","redirectLink","provider","userIcon","header","InputText","Component","super","onBlur","render","_this$props","type","rest","ErrorsList","index","Fragment","title","dangerouslySetInnerHTML","__html","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","isMobile","useIsMobile","wasMobile","_useState2","_slicedToArray","useState","googleButtonInitialized","setGoogleButtonInitialized","selectLocale","useEffect","accounts","initialize","client_id","renderButton","text","shape","offsetWidth","ref","KlarnaButton","round","KlarnaKIcon","fixedIcon","nonBrandedText","FacebookButton","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","onChangePerson","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","autoFillFeatureEnabled","onChangeAcceptsTerms","acceptsTerms","autoFilled","addressValid","showAutoFilledPersonalDetails","showManualPersonalDetails","isUnderage","hash","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","FirstName","LastName","StreetName","ZipCode","Town","FacebookFirstName","setStepFromLocationHash","forceFormUpdate","headers","common","antiForgeryToken","initializeLocation","facebookAuthData","isLoading","facebookAuthenticated","appleAuthData","appleAuthenticated","googleAuthData","googleAuthenticated","klarnaAuthData","forceUpdate","funnelStart","returnToFirstInvalidStep","deregister","removeEventListener","currentStep","step2","facebookStart","appleStart","googleStart","klarnaStart","submit","submitWithProvider","finishFacebookRegistration","manualReview","onEmailExists","emailExists","facebookId","provideproviderName","finishAppleRegistration","finishGoogleRegistration","finishKlarnaRegistration","waitForCountSessionId","sessionId","submissionData","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","_ref$direction","direction","alignProp","_ref$gap","gap","_ref$wrap","wrap","_ref$inline","inline","justify","grow","gapClass","Array","isArray","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","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","HeaderWithCloseButton","border","menu","CloseIcon","closeOnEscape","ScrollableModalContent","footer","forceZIndex","_ref$innerClassName","innerClassName","noPadding","_useInView2","useInView","initialInView","threshold","scrollableContentRef","isScrollableContentEntirelyVisible","hasScroll","setHasScroll","head","zIndex","_ref$maxWidth","_ref$bottomSheetFullH","bottomSheetFullHeight","dialogModalProps","DialogModal","flexBasis","_ref2$unmountOnExit","unmountOnExit","CSSTransition","_ref3$unmountOnExit","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_PURCHASES","BUYER_PURCHASES","LIST_VIEW_TYPE_BUYER_ITEMS_LOST","BUYER_ITEMS_LOST","LIST_VIEW_TYPE_SELLER_ACTIVE","SELLER_ACTIVE","LIST_VIEW_TYPE_SELLER_SOLD","SELLER_SOLD","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","COOKIE_CATEGORIES","Essential","Performance","Functional","CATEGORIZED_COOKIES","COOKIE_DEFAULT_CATEGORY","useMediaQuery","bannedCountries","Set","removeBannedCountries","country","has","countryCodeIso2","toLowerCase","removeBannedCountryCodes","getAvailableCountries","countries","mapCountryCodeToCountryKey","sort","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","formatPrice","price","inputLocale","overrideOptions","currency","preferredCurrency","currencyDisplay","startsWith","useGrouping","minimumFractionDigits","maximumFractionDigits","roundUp","priceAsNumber","decimalFactorForRounding","pow","isLocaleFormattingSupportedInBrowser","formattedPrice","toLocaleString","formatNumberWithSeparators","toLocaleStringSupportsLocales","Intl","NumberFormat","selectAvailableLanguages","language","available","selectPreferredLanguage","createSelector","languageCodeIso2","preferred","selectPreferredLanguageCode","_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","multiCurrencySlice","_action$payload","_action$payload$curre","setPreferredCurrency","_multiCurrencySlice$a","selectPreferredCurrency","multiCurrency","updateShippingRegion","setShippingCountry","getAvailableShippingCountries","selectIsLoadingAvailableShippingCountries","selectHasLoadedAvailableShippingCountries","beginLoadingAvailableShippingOptions","shippingCountries","fetchAvailableShippingCountries","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$","number","separator","$5d3850c4d0b4e6c7$var$DIALOG_NAME","$5d3850c4d0b4e6c7$var$createDialogContext","$5d3850c4d0b4e6c7$export$cc702773b8ea3e41","$5d3850c4d0b4e6c7$var$DialogProvider","$5d3850c4d0b4e6c7$var$useDialogContext","$5d3850c4d0b4e6c7$export$3ddf2d174ce01153","__scopeDialog","openProp","modal","triggerRef","contentRef","setOpen","prop","defaultProp","contentId","titleId","descriptionId","onOpenToggle","prevOpen","$5d3850c4d0b4e6c7$var$PORTAL_NAME","$5d3850c4d0b4e6c7$var$PortalProvider","$5d3850c4d0b4e6c7$var$usePortalContext","$5d3850c4d0b4e6c7$export$dad7c95542bacce0","container","child","present","asChild","$5d3850c4d0b4e6c7$var$OVERLAY_NAME","$5d3850c4d0b4e6c7$export$bd1d06c79be19e17","forwardedRef","portalContext","overlayProps","$5d3850c4d0b4e6c7$var$DialogOverlayImpl","allowPinchZoom","shards","div","$5d3850c4d0b4e6c7$var$getState","$5d3850c4d0b4e6c7$var$CONTENT_NAME","$5d3850c4d0b4e6c7$export$b6d9565de1e068cf","contentProps","$5d3850c4d0b4e6c7$var$DialogContentModal","$5d3850c4d0b4e6c7$var$DialogContentNonModal","composedRefs","$5d3850c4d0b4e6c7$var$DialogContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","_context$triggerRef$c","focus","originalEvent","detail","ctrlLeftClick","button","ctrlKey","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","_props$onCloseAutoFoc","_context$triggerRef$c2","defaultPrevented","onInteractOutside","_props$onInteractOuts","_context$triggerRef$c3","contains","onOpenAutoFocus","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","role","$5d3850c4d0b4e6c7$var$TITLE_NAME","$5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME","$5d3850c4d0b4e6c7$export$69b62a49393917d6","$5d3850c4d0b4e6c7$var$useWarningContext","contentName","titleName","docsSlug","$5e63c961fc1ce211$export$8c6ed5c666ac1360","slotProps","childrenArray","toArray","slottable","$5e63c961fc1ce211$var$isSlottable","newElement","newChildren","count","only","$5e63c961fc1ce211$var$SlotClone","displayName","$5e63c961fc1ce211$var$mergeProps","$5e63c961fc1ce211$export$d9f1ccf0bdb05d45","childProps","overrideProps","propName","slotPropValue","childPropValue","args","Boolean","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","m","amdO","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","n","getter","__esModule","getPrototypeOf","mode","ns","create","def","getOwnPropertyNames","definition","chunkId","promises","u","miniCssF","g","globalThis","Function","hmd","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","appendChild","toStringTag","nmd","paths","p","installedChunks","installedChunkData","promise","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}