{"version":3,"file":"script/bundle-swedish-private.23e0da525d.js","mappings":"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C,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJroC,GAAI,aACJsoC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,a,yjCC1TD,MAAMC,EAAc,SA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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/breakpoints.ts","webpack://touchweb/./src/constants/cookies.js","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/@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/**\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useDispatch` hook bound to the specified context.\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/**\n * A hook to access the redux `dispatch` function.\n *\n * @returns {any|function} redux store's `dispatch` function\n *\n * @example\n *\n * import React, { useCallback } from 'react'\n * import { useDispatch } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const dispatch = useDispatch()\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\n * return (\n *
\n * {value}\n * \n *
\n * )\n * }\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/**\n * Hook factory, which creates a `useSelector` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useSelector` hook bound to the specified context.\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 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 });\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 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 }\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/**\n * A hook to access the redux store's state. This hook takes a selector function\n * as an argument. The selector is called with the store state.\n *\n * This hook takes an optional equality comparison function as the second parameter\n * that allows you to customize the way the selected state is compared to determine\n * whether the component needs to be re-rendered.\n *\n * @param {Function} selector the selector function\n * @param {Function=} equalityFn the function that will be used to determine equality\n *\n * @returns {any} the selected state\n *\n * @example\n *\n * import React from 'react'\n * import { useSelector } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const counter = useSelector(state => state.counter)\n * return
{counter}
\n * }\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 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 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 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 iconConfig={{\n variant: 'fixed'\n }}>\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 constructor(ssn, options) {\n this._century = \"\";\n this._fullYear = \"\";\n this._year = \"\";\n this._month = \"\";\n this._day = \"\";\n this._sep = \"\";\n this._num = \"\";\n this._check = \"\";\n this.parse(ssn, options);\n }\n get century() {\n return this._century;\n }\n get fullYear() {\n return this._fullYear;\n }\n get year() {\n return this._year;\n }\n get month() {\n return this._month;\n }\n get day() {\n return this._day;\n }\n get sep() {\n return this._sep;\n }\n get num() {\n return this._num;\n }\n get check() {\n return this._check;\n }\n static parse(ssn, options) {\n return new Personnummer(ssn, options);\n }\n static valid(ssn, options) {\n try {\n Personnummer.parse(ssn, options);\n return true;\n } catch (e) {\n return false;\n }\n }\n parse(ssn, options) {\n const reg = /^(\\d{2}){0,1}(\\d{2})(\\d{2})(\\d{2})([+\\-]?)((?!000)\\d{3})(\\d)$/;\n const match = reg.exec(ssn);\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 = 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 (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 }\n valid() {\n const valid = luhn(this.year + this.month + this.day + this.num) === +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 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 getAge() {\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 diffInYears(new Date(Date.now()), new Date(ageDate));\n }\n isCoordinationNumber() {\n return testDate(parseInt(this.century + this.year), +this.month, +this.day - 60);\n }\n isFemale() {\n return !this.isMale();\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 BPOINT from '@tradera/blueprint/theme/scss/export/breakpoints.module.scss';\n\n// Explicit list of breakpoints for code completion\nexport enum BREAKPOINTS {\n XS = 'XS',\n SM = 'SM',\n MD = 'MD',\n LG = 'LG',\n XL = 'XL'\n}\n\nexport type BreakpointWidth = {\n name: BREAKPOINTS;\n min: number;\n max: number;\n};\n\nexport const BREAKPOINT_SIZES: Record =\n Object.fromEntries(\n Object.entries(BPOINT)\n .filter(([bp]) => BREAKPOINTS[bp as keyof typeof BREAKPOINTS])\n .map(([name, size], index, entries) => {\n const min = parseInt(size, 10);\n // Look ahead to next breakpoint entry and get its size minus one as current breakpoint's max size\n const max =\n index + 1 in entries\n ? parseInt(entries[index + 1][1], 10) - 1\n : 99999;\n return [\n name as keyof typeof BREAKPOINTS,\n {\n min,\n max,\n name: name as BREAKPOINTS\n }\n ];\n })\n );\n","import { PAGE_LIST_TYPES } from 'tradera/apps/my-tradera/app/constants/list-types';\n\n/**\n * @returns {object} list of default cookies that could be set in Touchweb\n * @desc\n * key: Cookie Name\n * default: Default Value if not set\n * length: Time to be stored (months)\n */\nexport const DEFAULT_COOKIES = {\n ITEM_LAYOUT: {\n key: 'Srp_Item_Layout',\n default: 'layout-grid',\n length: 365\n },\n SITE_LAYOUT: {\n key: 'Srp_Site_Layout',\n default: 'site-width-default',\n length: 365\n }\n};\n\nexport const MYTRADERA_DEFAULT_COOKIES = {\n LIST_VIEW_TYPE: {\n key: 'MyTradera_ListViewType',\n default: 'Basic',\n length: 14\n },\n ITEMS_PER_PAGE: {\n key: 'MyTradera_ItemsPerPage',\n default: '15',\n length: 14\n },\n SHOW_FILTERS: {\n key: 'MyTradera_ShowFiltersToolbar',\n default: 'hidden',\n length: 14\n },\n LIST_VIEW_TYPE_BUYER_ACTIVE_ITEMS: {\n key: 'MyTradera_ListViewType_' + PAGE_LIST_TYPES.BUYER_ACTIVE_ITEMS,\n default: 'Basic',\n length: 14\n },\n LIST_VIEW_TYPE_BUYER_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 CURRENCY_SELECTED_BY_USER = 'currency_selected_by_user';\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';\nexport const HAS_SEEN_ONBOARDING_AUTOMATICSHIPPING_MODAL =\n 'has-seen-onboarding-automatic-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 [CURRENCY_SELECTED_BY_USER]: 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 [HAS_SEEN_ONBOARDING_AUTOMATICSHIPPING_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];\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","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 === 35 ? \"braintree-web-drop-in\" : chunkId) + \".\" + {\"35\":\"c127b8aa84\",\"72\":\"8c1fdb12bc\"}[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 = 66;","__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\t66: 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, [2,1,0,3,4,6,7,16,5,10,9,15], () => (__webpack_require__(2015)))\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","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","i","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","arg","input","hint","prim","Symbol","toPrimitive","res","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","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","r","d","Card","_ref","padding","otherProps","_objectWithoutProperties","_excluded","propTypes","defaultProps","Heading","_excluded2","_extends","assign","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","e","ErrorsList","index","Fragment","title","dangerouslySetInnerHTML","__html","formField","FormField","handleHintClick","preventDefault","toggleHint","showHint","componentDidMount","setState","handleBlur","classNames","icon","_this$props2","inputComponent","placeholder","containerClassName","Input","currentTarget","tabIndex","onClick","HelpIcon","pointerEvents","FormErrorList","InputPersonalId","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","FacebookButton","FacebookIcon","AppleButton","_excluded3","AppleIcon","SwedishPrivateFormStep1","appleEnabled","appleNotLoaded","facebookEnabled","facebookNotLoaded","googleEnabled","googleNotLoaded","klarnaEnabled","klarnaNotLoaded","onAppleStart","onFacebookStart","onGoogleStart","onKlarnaStart","onNavigate","t","useTranslator","toLocalizedUrl","useUrlLocalizer","availableCountries","getAvailableUserRegistrationCountries","FormHeader","showLanguageMenu","SelectCountry","onCountrySelected","selectedValue","selectedCountryCodeIso2","SwedenCountryCode","variant","disabled","GoogleIcon","iconConfig","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","ssn","_century","_fullYear","_year","_month","_day","_sep","_num","_check","century","fullYear","sep","num","check","static","match","exec","parseInt","baseYear","substr","valid","sum","l","v","Math","ceil","luhn","format","longFormat","getAge","ageDay","isCoordinationNumber","ageDate","sign","yearDiff","abs","setFullYear","diffInYears","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","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","fromEntries","entries","BPOINT","bp","_ref4","DEFAULT_COOKIES","ITEM_LAYOUT","default","SITE_LAYOUT","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","o","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":""}