{"version":3,"file":"5608.js","mappings":"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SAAU,qBAEZ8iB,KAAM,CACJ5iB,KAAM,iCACNF,SAAU,QAEZ+iB,uBAAwB,CACtB7iB,KAAM,iCACNF,SAAU,iCAEZgjB,4BAA6B,CAC3B9iB,KAAM,2CACNF,SAAU,0BAEZijB,4BAA6B,CAC3B/iB,KAAM,oDACNF,SAAU,iDAEZkjB,2BAA4B,CAC1BhjB,KAAM,mDACNF,SAAU,2JAEZmjB,2BAA4B,CAC1BjjB,KAAM,sDACNF,SAAU,mCAEZojB,yBAA0B,CACxBljB,KAAM,sDACNF,SAAU,+BAEZqjB,gCAAiC,CAC/BnjB,KAAM,mDACNF,SAAU,iEAEZsO,SAAU,CACRpO,KAAM,uBACNF,SAAU,a,wBChId,IAAIsG,EAAM,CACT,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,GACA,IAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,cAAe,CACd,MACA,KAED,cAAe,CACd,KACA,MAED,cAAe,CACd,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,eAAgB,CACf,KACA,MAED,eAAgB,CACf,MACA,MAED,eAAgB,CACf,MACA,MAED,eAAgB,CACf,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,KAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,IAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,cAAe,CACd,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,IAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,cAAe,CACd,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,KACA,MAED,WAAY,CACX,MACA,MAED,WAAY,CACX,MACA,KAED,WAAY,CACX,MACA,OAGF,SAASgd,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEnd,EAAKid,GAC9B,OAAOzoB,QAAQC,UAAU4X,MAAK,WAC7B,IAAI+Q,EAAI,IAAI/U,MAAM,uBAAyB4U,EAAM,KAEjD,MADAG,EAAE5Y,KAAO,mBACH4Y,CACP,IAGD,IAAIC,EAAMrd,EAAIid,GAAM5R,EAAKgS,EAAI,GAC7B,OAAOH,EAAoBE,EAAEC,EAAI,IAAIhR,MAAK,WACzC,OAAO6Q,EAAoBtd,EAAEyL,EAAI,GAClC,GACD,CACA2R,EAAoB5D,KAAO,WAAa,OAAOxgB,OAAOwgB,KAAKpZ,EAAM,EACjEgd,EAAoB3R,GAAK,MACzBiS,EAAOC,QAAUP,C","sources":["webpack:///./App/services.ts","webpack:///./App/context.ts","webpack:///./App/index.tsx","webpack:///./Signup/constants.ts","webpack:///./Signup/HelmetHeaders.tsx","webpack:///./Signup/styled.tsx","webpack:///./Signup/IconWithText.tsx","webpack:///./Signup/queries.ts","webpack:///./Signup/hooks.ts","webpack:///./Signup/mutations.ts","webpack:///./Signup/components/countryFlag/styled.ts","webpack:///./Signup/components/countryFlag/useFlagImgSrc.ts","webpack:///./Signup/components/countryFlag/CountryFlagOption.tsx","webpack:///./Signup/components/countryFlag/CountryFlagSummary.tsx","webpack:///./Signup/components/FirstStepForm.tsx","webpack:///./Signup/businessAnalysisUtils.ts","webpack:///./Signup/components/SecondStepForm.tsx","webpack:///./Signup/components/ThirdStepForm/index.tsx","webpack:///./Signup/index.tsx","webpack:///./Signup/translations.ts","webpack:///./Signup/utils.ts","webpack:///./shared/helpers/helpers.tsx","webpack:///./shared/labels/Labels.ts","webpack:///./shared/images/flags/ lazy ^\\.\\/.*\\.svg$ namespace object"],"sourcesContent":["import {AuthError} from '@planday-corp/core/services/Auth';\nimport Service from '@planday-corp/core/services/Service';\nimport {AuthService} from '@planday-corp/core/services/protocols';\n\nexport class AnonymousAuth\n extends Service\n implements AuthService\n{\n static defaultSettings = {\n allowAnonymous: true,\n };\n\n async initialize() {\n this.rejectEvent(\n 'authenticated',\n 'Anonymous auth will never authenticate.'\n );\n }\n\n getUser(): never {\n throw AuthError.notAuthenticatedError();\n }\n\n getToken(): never {\n return this.getUser();\n }\n\n getSubjectId() {\n return this.getUser();\n }\n\n isAuthenticated() {\n return Promise.resolve(false);\n }\n\n signin() {\n return Promise.reject('Signin not possible for anonymous auth.');\n }\n\n signout() {\n return Promise.reject('Signout not possible for anonymous auth.');\n }\n}\n","import {AnonymousAuth} from './services';\nimport {ApplicationInsights} from '@microsoft/applicationinsights-web';\nimport {\n Api,\n Config,\n ConsoleLogger,\n Globalization,\n JSONStorage,\n MessageHub,\n Router,\n StorageCache,\n Telemetry,\n RealmCache,\n TranslationsApi,\n} from '@planday-corp/core/services';\nimport Notifications from '@planday-corp/core/services/Notifications';\nimport {QueryClient} from '@tanstack/react-query';\n\nexport type EnforcedLanguageSetting =\n Globalization['settings']['enforcedLanguage'];\n\ninterface AnonymousContextProps {\n /*\n * Pre-enable logger for debugging\n */\n isDebug?: boolean;\n /**\n * Translation categories\n */\n categories?: string[];\n /*\n * Router-type of the React Router\n */\n routerType?: 'Hash' | 'Browser';\n\n /*\n * Enforced language for the app, by default it will use the browser's language\n * requirement is to read the language from the url subpath\n */\n enforcedLanguage?: EnforcedLanguageSetting;\n}\n\nfunction initiateTelemetry(\n appInsights: ApplicationInsights,\n sessionJSONStorage: JSONStorage\n) {\n // Our telemetry service only works if the appInsights object is attached to the window object\n // This is a workaround to make it work\n\n // @ts-ignore\n window.appInsights = appInsights;\n // @ts-ignore\n window.appInsights.version = appInsights.snippet.version;\n\n return new Telemetry({origin}, {storage: sessionJSONStorage});\n}\n\nexport const config = new Config({\n sources: [window.DevConfig, window.PlandayConfig],\n});\n\nexport function createAzureAppInsightsContext(\n config: Config,\n props: AnonymousContextProps\n) {\n const clientId = config.get('clientId');\n const {\n isDebug = false,\n routerType = 'Hash',\n categories = [],\n enforcedLanguage,\n } = props;\n const localJSONStorage = new JSONStorage({storageType: 'local'});\n const sessionJSONStorage = new JSONStorage({storageType: 'session'});\n const logger = new ConsoleLogger(\n {isEnabled: isDebug ? true : undefined},\n {storage: sessionJSONStorage}\n );\n\n const appInsights = new ApplicationInsights({\n config: {\n enableCorsCorrelation: true,\n instrumentationKey: config.get(\n 'applicationInsights.instrumentationKey'\n ),\n },\n });\n\n appInsights.loadAppInsights();\n appInsights.trackPageView({name: 'PortalSignup.PageLoaded'});\n\n const router = new Router({type: routerType});\n const cache = new StorageCache({name: 'test'}, {storage: localJSONStorage});\n const transientCache = new RealmCache({name: 'transient_cache'});\n\n const telemetry = initiateTelemetry(appInsights, sessionJSONStorage);\n\n const messageHub = new MessageHub({}, {logger});\n const auth = new AnonymousAuth();\n\n const translationsApi = new TranslationsApi(\n {\n serverUrl: config.get('internalServices.translationsApiUrl'),\n clientId: config.get('clientId'),\n version: 'v1.0',\n subpath: 'translations',\n },\n {auth}\n );\n\n const globalization = new Globalization(\n {\n categories,\n clientId,\n isAnonymous: true,\n enforcedLanguage,\n },\n {auth, cache, transientCache, translationsApi}\n );\n\n const _logger = logger.create('Common-Context');\n _logger.log('Auth type:', Object.prototype.toString.call(auth));\n\n const notifications = new Notifications();\n\n return {\n messageHub,\n globalization,\n logger,\n router,\n auth,\n cache,\n telemetry,\n localJSONStorage,\n sessionJSONStorage,\n notifications,\n translationsApi,\n };\n}\n\nexport function createAppContext(enforcedLanguage?: EnforcedLanguageSetting) {\n const context = createAzureAppInsightsContext(config, {\n routerType: 'Browser',\n categories: [\n 'CommonTerms',\n 'Onboarding',\n 'CommonFormatting',\n 'SignUp',\n 'Countries',\n ],\n isDebug: process.env.NODE_ENV === 'development',\n enforcedLanguage,\n });\n\n const queryClient = new QueryClient();\n\n const signupApi = new Api(\n {\n serverUrl: config.get('internalServices.signupApiUrl'),\n clientId: config.get('clientId'),\n },\n {auth: context.auth}\n );\n\n return {\n ...context,\n queryClient,\n config,\n signupApi,\n };\n}\n","import {config, createAppContext, EnforcedLanguageSetting} from './context';\nimport {Translate} from '@planday-corp/globalization';\nimport {AppProvider} from '@planday-corp/react-app';\nimport ToastManager from '@planday-corp/react-app/components/ToastManager';\nimport ToastProvider from '@planday-corp/react-app/components/ToastProvider';\nimport CSSReset from '@planday-corp/ui/global/CSSReset';\nimport Fonts from '@planday-corp/ui/global/Fonts';\nimport UIProvider from '@planday-corp/ui/global/UIProvider';\nimport {grey05} from '@planday-corp/ui/styles/colors';\nimport {QueryClientProvider} from '@tanstack/react-query';\nimport {ReactQueryDevtools} from '@tanstack/react-query-devtools';\nimport React, {PropsWithChildren, Suspense, useMemo} from 'react';\nimport {createGlobalStyle} from 'styled-components';\n\n// Soft export of types\n// It's important that only types are exported to avoid breaking code splitting\nexport type AppContext = ReturnType;\nexport const IS_DEVELOPMENT = process.env.NODE_ENV === 'development';\n\n// This is a workaround specifically for PlandaySignup, not to affect current XeroSignup behavior\n// In XeroSignup we're using instance of Api class, but it cannot be instantiated without correct serviceUrl\n// In PlandaySignup we need to be able to call BE (self) on any dynamic environment, and not stick to hardcoded staging configuration\n// To achieve that we're utilizing fetch API, and calling root path directly\n// For full development experience (for .NET devs) frontend should, by default call \"https://localhost:5738\"\n\nexport const SIGNUP_API_URL = IS_DEVELOPMENT\n ? config.get('internalServices.signupApiUrl')\n : '';\n\nconst GlobalStyles = createGlobalStyle`\n body, html, #root {\n height: 100%;\n margin: 0;\n overflow-y: auto;\n background-color: ${grey05};\n }\n`;\n\ninterface AppProps {\n enforcedLanguage?: EnforcedLanguageSetting;\n}\n\nexport default function App(props: PropsWithChildren) {\n const context = useMemo(\n () => createAppContext(props.enforcedLanguage),\n [props.enforcedLanguage]\n );\n\n return (\n \n }\n >\n \n \n \n \n \n \n {props.children}\n \n \n \n \n \n \n \n \n );\n}\n","import {industryTranslations as labels} from './translations';\nimport {EnforcedLanguageSetting} from '~/App/context';\n\nexport const industry = [\n {\n label: labels.hospitality.hospitality,\n isTitle: true,\n items: [\n {\n label: labels.hospitality.hotels,\n value: 'Hotels',\n },\n {\n label: labels.hospitality.cafeRestaurant,\n value: 'Café & Restaurant',\n },\n {\n label: labels.hospitality.barPubNightclub,\n value: 'Bar, Pub & Nightclub',\n },\n {\n label: labels.hospitality.cateringCanteen,\n value: 'Catering & Canteen',\n },\n ],\n },\n {\n label: labels.retail.retail,\n isTitle: true,\n items: [\n {\n label: labels.retail.retailStore,\n value: 'Retail Store',\n },\n {\n label: labels.retail.bakery,\n value: 'Bakery',\n },\n {\n label: labels.retail.barberShopsBeautySalons,\n value: 'Barber Shops & Beauty Salons',\n },\n ],\n },\n {\n label: labels.professionalServices.professionalServices,\n isTitle: true,\n items: [\n {\n label: labels.professionalServices.realEstate,\n value: 'Real Estate',\n },\n {\n label: labels.professionalServices.cleaningServices,\n value: 'Cleaning Services',\n },\n {\n label: labels.professionalServices.security,\n value: 'Security',\n },\n {\n label: labels.professionalServices.staffingAndRecruiting,\n value: 'Staffing and Recruiting',\n },\n {\n label: labels.professionalServices.callCenterTelemarketing,\n value: 'Call Center & Telemarketing',\n },\n {\n label:\n labels.professionalServices.facilitiesManagementCommercialCleaning,\n value: 'Facilities Management & Commercial Cleaning',\n },\n ],\n },\n {\n label: labels.entertainmentLeisure.entertainmentLeisure,\n isTitle: true,\n items: [\n {\n label: labels.entertainmentLeisure.entertainmentCinemasFunParks,\n value: 'Entertainment, Cinemas & Fun Parks',\n },\n {\n label: labels.entertainmentLeisure.eventsEventManagement,\n value: 'Events & Event Management',\n },\n {\n label: labels.entertainmentLeisure.museumsAndInstitutions,\n value: 'Museums and Institutions',\n },\n {\n label: labels.entertainmentLeisure.performingArts,\n value: 'Performing Arts',\n },\n ],\n },\n {\n label: labels.healthcareMedical.healthcareMedical,\n isTitle: true,\n items: [\n {\n label: labels.healthcareMedical.elderlyCareServices,\n value: 'Elderly Care Services',\n },\n {\n label: labels.healthcareMedical.dentalOffices,\n value: 'Dental Offices',\n },\n {\n label: labels.healthcareMedical.hospitalsClinics,\n value: 'Hospitals & Clinics',\n },\n {\n label: labels.healthcareMedical.drugStoresPharmacies,\n value: 'Drug Stores & Pharmacies',\n },\n {\n label: labels.healthcareMedical.veterinaryServices,\n value: 'Veterinary Services',\n },\n ],\n },\n {\n label: labels.wellnessFitness.wellnessFitness,\n isTitle: true,\n items: [\n {\n label: labels.wellnessFitness.fitnessDanceFacilities,\n value: 'Fitness & Dance Facilities',\n },\n {\n label: labels.wellnessFitness.sports,\n value: 'Sports',\n },\n ],\n },\n {\n label: labels.education.education,\n isTitle: true,\n items: [\n {\n label: labels.education.collegesUniversities,\n value: 'Colleges & Universities',\n },\n {\n label: labels.education.primarySecondaryEducation,\n value: 'Primary or Secondary Education',\n },\n {\n label: labels.education.childcare,\n value: 'Childcare',\n },\n ],\n },\n {\n label: labels.finance.finance,\n isTitle: true,\n items: [\n {\n label: labels.finance.accounting,\n value: 'Accounting',\n },\n {\n label: labels.finance.insurance,\n value: 'Insurance',\n },\n {\n label: labels.finance.banking,\n value: 'Banking',\n },\n ],\n },\n\n {\n label: labels.mediaCommunications.mediaCommunications,\n isTitle: true,\n items: [\n {\n label: labels.mediaCommunications.advertising,\n value: 'Advertising',\n },\n {\n label: labels.mediaCommunications.media,\n value: 'Media',\n },\n {\n label: labels.mediaCommunications.press,\n value: 'Press',\n },\n ],\n },\n\n {\n label: labels.transportation.transportation,\n isTitle: true,\n items: [\n {\n label: labels.transportation.logisticsAndSupplyChain,\n value: 'Logistics and Supply Chain',\n },\n {\n label: labels.transportation.warehousing,\n value: 'Warehousing',\n },\n {\n label: labels.transportation.transportation,\n value: 'Transportation',\n },\n ],\n },\n {\n label: labels.softwareITServices.softwareITServices,\n isTitle: true,\n items: [\n {\n label: labels.softwareITServices.software,\n value: 'Software',\n },\n ],\n },\n {\n label: labels.other.other,\n isTitle: true,\n items: [\n {\n label: labels.other.construction,\n value: 'Construction',\n },\n {\n label: labels.other.manufacturing,\n value: 'Manufacturing',\n },\n {\n label: labels.other.municipality,\n value: 'Municipality',\n },\n {\n label: labels.other.nonProfitCharitableOrganizations,\n value: 'Non-Profit & Charitable Organizations',\n },\n {\n label: labels.other.other,\n value: 'Other',\n },\n ],\n },\n];\n\nexport const noOfEmployees = [\n {\n label: '1-9',\n value: '1-9',\n },\n {\n label: '10-19',\n value: '10-19',\n },\n {\n label: '20-29',\n value: '20-29',\n },\n {\n label: '30-39',\n value: '30-39',\n },\n {\n label: '40-49',\n value: '40-49',\n },\n {\n label: '50-99',\n value: '50-99',\n },\n {\n label: '100-249',\n value: '100-249',\n },\n {\n label: '250+',\n value: '250+',\n },\n];\n\nexport const SUPPORTED_LANGUAGES = [\n 'en',\n 'da',\n 'sv',\n 'no',\n 'de',\n 'fr',\n 'it',\n 'es',\n];\n\nexport const langToLocaleDict: Record<\n (typeof SUPPORTED_LANGUAGES)[number],\n EnforcedLanguageSetting\n> = {\n en: 'en-GB',\n da: 'da-DK',\n sv: 'sv-SE',\n no: 'nb-NO',\n de: 'de-DE',\n fr: 'fr-FR',\n it: 'it-IT',\n es: 'es-ES',\n};\n\nexport const TRACKING_QUERY_PARAMS = [\n 'gclid',\n 'gaid',\n 'utm_campaign',\n 'utm_source',\n 'utm_medium',\n 'entryReferrerUrl',\n];\n\n/**\n * \n \"Czech\": 14,\n \"Danish\": 1,\n \"German\": 6,\n \"Greek\": 15,\n \"English\": 2,\n \"Spanish\": 11,\n \"Finnish\": 16,\n \"French\": 9,\n \"Italian\": 10,\n \"Japanese\": 17,\n \"Dutch\": 12,\n \"Norwegian\": 4,\n \"Polish\": 8,\n \"Swedish\": 5,\n \"Thai\": 22,\n \"English_UK\": 19,\n \"Portuguese\": 13,\n \"Chinese_SG\": 21\n */\n\nexport const ENGLISH_UK_LANGUAGE_ID = 19;\n\nexport const MOBILE_BREAKPOINT = 480;\n","import {SUPPORTED_LANGUAGES} from './constants';\nimport {labels} from './translations';\nimport {getLangFromUrl} from './utils';\nimport {useGlobalization} from '@planday-corp/globalization';\nimport Helmet from 'react-helmet';\n\nexport const Headers = () => {\n const {i18n} = useGlobalization();\n const language = getLangFromUrl();\n\n return (\n \n \n {i18n.t(labels.title)}\n \n \n {SUPPORTED_LANGUAGES.map(lang => {\n const lowerCaseLang = lang.toLowerCase();\n return (\n \n );\n })}\n \n \n \n \n \n );\n};\n","import {MOBILE_BREAKPOINT} from './constants';\nimport Button from '@planday-corp/ui/actions/Button';\nimport TextField from '@planday-corp/ui/forms/fields/TextField';\nimport Text from '@planday-corp/ui/text/Text';\nimport styled from 'styled-components';\n\nexport const StyledFlexContainer = styled.div`\n display: flex;\n`;\n\nexport const StyledContainer = styled.div`\n display: flex;\n gap: 1rem;\n justify-content: center;\n`;\n\nexport const StyledForm = styled.form`\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n @media (max-width: ${MOBILE_BREAKPOINT}px) {\n gap: 0;\n }\n`;\n\nexport const StyledTextField = styled(TextField)`\n flex: 1;\n`;\n\nexport const WideButton = styled(Button)`\n width: 100%;\n`;\n\nexport const FormHeader = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 1rem;\n`;\n\nexport const FlexStartText = styled(Text)`\n align-self: flex-start;\n`;\n","import {StyledFlexContainer} from './styled';\nimport {IconName} from '@planday-corp/ui/icons/Icon';\nimport Icon from '@planday-corp/ui/icons/Icon';\nimport {Color} from '@planday-corp/ui/styles/colors';\nimport Text from '@planday-corp/ui/text/Text';\nimport {Label} from '@planday-corp/ui/types';\nimport {styled} from 'styled-components';\n\nconst StyledIcon = styled(Icon)`\n margin-right: 0.5rem;\n`;\n\nexport default function IconWithText({\n text,\n icon,\n color = 'black',\n className,\n}: {\n text: Label;\n icon: IconName;\n color?: Color;\n className?: string;\n}) {\n return (\n \n \n \n \n );\n}\n","import {Country, PhonePrefix, PortalLanguage} from './types';\nimport {useQuery} from '@tanstack/react-query';\nimport {useEffect, useState} from 'react';\nimport isEmail from 'sane-email-validation';\nimport {SIGNUP_API_URL} from '~/App';\n\nconst INFINITE_CACHE_PARAMS = {\n staleTime: Infinity,\n gcTime: Infinity,\n};\n\nfunction useDebouncedValue(value: T, delay: number) {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => setDebouncedValue(value), delay);\n return () => clearTimeout(handler); // Cleanup on value change or unmount\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nexport const usePredictAliasQuery = (companyName?: string) => {\n const debouncedCompanyName = useDebouncedValue(companyName, 500);\n return useQuery>({\n queryKey: ['predictAlias', debouncedCompanyName],\n queryFn: async () => {\n if (!companyName) return '';\n const response = await fetch(\n `${SIGNUP_API_URL}/signup/predictPortalAlias/${companyName}`,\n {\n headers: {\n Accept: 'application/json',\n },\n }\n );\n return response.json();\n },\n });\n};\n\nexport const useEmailAlreadyInUseQuery = (email?: string) => {\n const debouncedEmail = useDebouncedValue(email, 500);\n\n return useQuery<{isEmailUsed: boolean}, {status: number}>({\n queryKey: ['isEmailUsed', debouncedEmail],\n retry: false,\n queryFn: async () => {\n const response = await fetch(\n `${SIGNUP_API_URL}/common/checkEmail/${email}`\n );\n\n if (response.status === 409) {\n return {isEmailUsed: true};\n }\n\n return {isEmailUsed: false};\n },\n enabled: !!debouncedEmail && isEmail(debouncedEmail),\n });\n};\n\nexport const usePhonePrefixesQuery = () => {\n return useQuery({\n queryKey: ['phonePrefixes'],\n queryFn: async () => {\n const response = await fetch(`${SIGNUP_API_URL}/common/phonePrefixes`);\n return await response.json();\n },\n ...INFINITE_CACHE_PARAMS,\n });\n};\n\nexport const useCountryQuery = (locale: string) => {\n return useQuery({\n queryKey: ['country', locale],\n queryFn: async () => {\n const response = await fetch(`${SIGNUP_API_URL}/common/countries`, {\n headers: {\n 'Accept-Language': locale,\n },\n });\n return await response.json();\n },\n ...INFINITE_CACHE_PARAMS,\n });\n};\n\nexport const usePortalLanguagesQuery = (locale: string) => {\n return useQuery({\n queryKey: ['languages', locale],\n queryFn: async () => {\n const response = await fetch(`${SIGNUP_API_URL}/common/languages`, {\n headers: {\n 'Accept-Language': locale,\n },\n });\n return await response.json();\n },\n ...INFINITE_CACHE_PARAMS,\n });\n};\n","import {TRACKING_QUERY_PARAMS} from './constants';\nimport {SignupRequestResponse, useSignupRequestMutation} from './mutations';\nimport {\n useCountryQuery,\n usePhonePrefixesQuery,\n usePortalLanguagesQuery,\n} from './queries';\nimport {errorMessages} from './translations';\nimport {\n CombinedCountryData,\n CreatePortalResponse,\n PortalLanguage,\n SignupForm,\n} from './types';\nimport {useNormalizedQueryParams} from './utils';\nimport Intercom from '@intercom/messenger-js-sdk';\nimport {HubConnection} from '@microsoft/signalr';\nimport {useGlobalization} from '@planday-corp/globalization';\nimport {useService, useTelemetry} from '@planday-corp/react-app';\nimport {Option} from '@planday-corp/ui/types';\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {AppContext} from '~/App';\nimport {socketConnection} from '~/shared/helpers/helpers';\n\nexport const useCombinedCountryData = () => {\n const {l10n} = useGlobalization();\n\n const {data: countries, isLoading: isLoadingCountries} = useCountryQuery(\n l10n.locale\n );\n\n const {data: phonePrefixes, isLoading: isLoadingPhonePrefixes} =\n usePhonePrefixesQuery();\n\n const isLoading = isLoadingPhonePrefixes || isLoadingCountries;\n\n const mappedData = React.useMemo(() => {\n if (phonePrefixes && countries) {\n return phonePrefixes.map(phonePrefix => {\n const country = countries.find(\n country => country.code === phonePrefix.shortName\n );\n\n return {\n prefixNumber: phonePrefix.phonePrefix,\n countryCode: phonePrefix.shortName,\n countryName: country?.name,\n };\n });\n }\n return [];\n }, [phonePrefixes, countries]);\n\n return {isLoading, data: mappedData};\n};\n\ninterface AzureAppInsightsTrackingOpts {\n keyPrefix?: string;\n}\n\nexport const useFieldValueChangeMonitoring = () => {\n const [value, setValue] = useState();\n\n const monitorValue = (currentValue: number | string | undefined) => {\n setValue(currentValue);\n };\n\n const isValueDirty = (currentValue: number | string | undefined) => {\n return value !== currentValue;\n };\n\n return {value, monitorValue, isValueDirty};\n};\n\nexport const useAzureAppInsightsTracking = (\n opts?: AzureAppInsightsTrackingOpts\n) => {\n const telemetry = useTelemetry();\n\n const normalizedQueryParams = useNormalizedQueryParams(TRACKING_QUERY_PARAMS);\n\n const track = (\n name: string,\n properties?: Record\n ) => {\n telemetry.track({\n name: opts?.keyPrefix ? `${opts.keyPrefix}.${name}` : name,\n properties: {\n source: 'PlandaySignup',\n ...properties,\n ...normalizedQueryParams,\n },\n });\n };\n\n return {\n track,\n };\n};\n\ntype Steps = 'firstStep' | 'secondStep' | 'thirdStep';\nexport const useSignUpTrackingEvents = () => {\n const {track} = useAzureAppInsightsTracking({keyPrefix: 'PortalSignup'});\n\n return {\n firstName: () => track('FilledOutFirstName'),\n lastName: () => track('FilledOutLastName'),\n email: () => track('FilledOutEmail'),\n countryCode: (code: string) => track('SelectedCountryCode', {code}),\n portalLanguage: (language: string) =>\n track('SelectedPortalLanguageId', {language}),\n phoneNumber: () => track('FilledOutPhoneNumber'),\n password: () => track('FilledOutPassword'),\n acceptTerms: () => track('AcceptedTerms'),\n businessName: () => track('FilledOutBusinessName'),\n country: (country: string) => track('FilledOutCountry', {country}),\n industry: (industry: string) => track('FilledOutIndustry', {industry}),\n employeeSize: (size: string) => track('FilledOutEmployeeSize', {size}),\n next: (step: Steps) => track('ClickedNextButton', {step}),\n previous: (step: Steps) => track('ClickedPreviousButton', {step}),\n createButton: () => track('ClickedCreateButton'),\n portalReady: (portalId: string) => track('PortalReady', {portalId}),\n };\n};\n\nexport const useCreatePortal = (\n form: SignupForm,\n context: AppContext\n): {\n status: 'pending' | 'success' | 'error';\n signupRequestResponse?: SignupRequestResponse['outputModel'];\n error?: string;\n createPortalResponse: CreatePortalResponse | null;\n} => {\n const {mutate, error: mutationError, data} = useSignupRequestMutation();\n const {i18n} = useGlobalization();\n const requestId = data?.outputModel?.requestId;\n const connection = useRef(null);\n const [portalStatus, setPortalStatus] = useState<\n 'pending' | 'success' | 'error'\n >('pending');\n const [wsError, setWsError] = useState(null);\n const [createPortalResponse, setCreatePortalResponse] = useState(null);\n\n useEffect(() => {\n if (mutationError) {\n setPortalStatus('error');\n }\n });\n const createWebSocketConnection = useCallback(async () => {\n if (!requestId) return;\n\n try {\n const newConnection = socketConnection(context);\n if (!newConnection) {\n throw new Error('Failed to initialize WebSocket connection');\n }\n\n newConnection.on('onPending', () => setPortalStatus('pending'));\n newConnection.on('onSuccess', response => {\n setPortalStatus('success');\n setCreatePortalResponse(response);\n });\n newConnection.on('onFailure', (errorMsg: string) => {\n setPortalStatus('error');\n setWsError(errorMsg);\n });\n\n await newConnection.start();\n await newConnection.invoke('Subscribe', requestId);\n connection.current = newConnection;\n } catch (err) {\n console.error('WebSocket connection failed:', err);\n setWsError(`${i18n.t(errorMessages.generic)}`);\n }\n }, [requestId]);\n\n useEffect(() => {\n mutate(form);\n }, []);\n\n useEffect(() => {\n if (!connection.current && requestId) {\n createWebSocketConnection();\n }\n return () => {\n connection.current?.stop();\n };\n }, [createWebSocketConnection, requestId]);\n\n return {\n status: portalStatus,\n signupRequestResponse: data?.outputModel,\n error: wsError || data?.failureMessage || mutationError?.statusText,\n createPortalResponse,\n };\n};\n\nexport const getDeviceCategory = () => {\n const ua = navigator.userAgent.toLowerCase();\n\n if (ua.includes('mobi')) {\n return 'mobile';\n } else if (\n ua.includes('tablet') ||\n (ua.includes('ipad') && !ua.includes('mobi'))\n ) {\n return 'tablet'; // Includes tablets\n } else {\n return 'desktop'; // Default to desktop\n }\n};\n\nexport const useIntercom = () => {\n const {config} = useService();\n\n useEffect(() => {\n Intercom({\n app_id: config.get('intercomAppId'),\n // Hardcoded to EU region since our only region is in the EU\n region: 'eu',\n });\n }, [config]);\n};\n\nexport const useWindowDimensions = () => {\n const [dimensions, setDimensions] = useState({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n useEffect(() => {\n const handleResize = () => {\n setDimensions({width: window.innerWidth, height: window.innerHeight});\n };\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return dimensions;\n};\n\nexport const usePortalLanguagesData = (): {\n portalLanguageOptions: Option[];\n portalLanguages: PortalLanguage[];\n} => {\n const {l10n} = useGlobalization();\n const {data} = usePortalLanguagesQuery(l10n.locale);\n\n return {\n portalLanguageOptions:\n data?.map(language => ({\n label: language.name,\n value: language.id,\n })) || [],\n portalLanguages: data || [],\n };\n};\n","import {TRACKING_QUERY_PARAMS} from './constants';\nimport {getDeviceCategory} from './hooks';\nimport {SignupForm} from './types';\nimport {useNormalizedQueryParams} from './utils';\nimport {useMutation} from '@tanstack/react-query';\nimport {ErrorResponse} from 'react-router-dom';\nimport {SIGNUP_API_URL} from '~/App';\n\nexport interface SignupRequestResponse {\n isSuccess: boolean;\n failureMessage?: string;\n outputModel?: {\n requestId?: string;\n status?: 'SUCCESSFUL' | 'FAILED';\n autoLoginUrl?: string;\n portalUrl?: string;\n portalId?: 0;\n };\n}\n\nexport const useSignupRequestMutation = () => {\n const normalizedQueryParams = useNormalizedQueryParams(TRACKING_QUERY_PARAMS);\n\n return useMutation({\n mutationFn: async (form: SignupForm) => {\n const response = await fetch(`${SIGNUP_API_URL}/signup`, {\n method: 'POST',\n body: JSON.stringify({\n ...form,\n ...normalizedQueryParams,\n source: 1,\n consentToMarketing: true,\n acceptRules: true,\n leadSource: 'Web&Marketing',\n firstEntryPoint: 'free trial form',\n conversionUrl: window.location.href,\n entryReferrerUrl:\n normalizedQueryParams?.entryReferrerUrl || document.referrer,\n conversionDeviceCategory: getDeviceCategory(),\n timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(`Signup request failed: ${response.statusText}`);\n }\n\n return response.json();\n },\n });\n};\n","import styled, {css} from 'styled-components';\n\nconst StyledSummaryStyles = css`\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 0.25rem;\n`;\n\nexport const StyledSummary = styled.summary`\n ${StyledSummaryStyles};\n\n gap: 0.5rem;\n`;\n\nconst dropdownWrapperStyles = css`\n ${StyledSummaryStyles};\n > * {\n margin-right: 0.2rem;\n\n &:last-child {\n margin-right: 0;\n }\n }\n`;\n\nexport const StyledDropdownOptionWrapper = styled.div`\n ${dropdownWrapperStyles};\n margin-right: 0.25rem;\n gap: 0.5rem;\n`;\n\nexport const StyledImg = styled.img`\n width: 1.25rem;\n height: 1rem;\n object-fit: cover;\n`;\n\nexport const FlagPlaceholder = styled.div`\n width: 1.25rem;\n height: 1rem;\n`;\n\nexport const StyledDropdownWrapper = styled.div`\n ${dropdownWrapperStyles};\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: auto;\n padding-left: 0.5rem;\n gap: 0.5rem;\n`;\n","import {useEffect, useState} from 'react';\n\nexport const useFlagImgSrc = (countryCode?: string) => {\n const [imageSrc, setImageSrc] = useState();\n\n useEffect(() => {\n let isCancelled = false;\n\n if (countryCode) {\n import(`~/shared/images/flags/${countryCode.toUpperCase()}.svg`)\n .then(result => {\n if (!isCancelled) {\n setImageSrc(result.default);\n }\n })\n .catch(() => {\n isCancelled = true;\n setImageSrc(undefined);\n });\n }\n\n return () => {\n isCancelled = true;\n };\n }, [countryCode]);\n\n return imageSrc;\n};\n","import {CombinedCountryData} from '../../types';\nimport {\n FlagPlaceholder,\n StyledDropdownOptionWrapper,\n StyledImg,\n} from './styled';\nimport {useFlagImgSrc} from './useFlagImgSrc';\nimport {CustomDropdownOptionProps} from '@planday-corp/ui/forms/Dropdown';\nimport DropdownOption, {\n DropdownOptionLabel,\n} from '@planday-corp/ui/forms/DropdownOption';\nimport Text from '@planday-corp/ui/text/Text';\nimport React from 'react';\n\ninterface Props {\n option: CustomDropdownOptionProps;\n countriesPhoneData: CombinedCountryData[];\n}\nexport default function CountryFlagOption({option, countriesPhoneData}: Props) {\n const countryData = countriesPhoneData.find(\n country => country.prefixNumber === option.value\n );\n\n const {prefixNumber, countryName, countryCode = ''} = countryData || {};\n const flagImgSrc = useFlagImgSrc(countryCode);\n\n return (\n \n \n \n {flagImgSrc ? (\n \n ) : (\n \n )}\n {countryName && }\n {prefixNumber && }\n \n \n \n );\n}\n","import {FlagPlaceholder, StyledDropdownWrapper, StyledImg} from './styled';\nimport {useFlagImgSrc} from './useFlagImgSrc';\nimport Text from '@planday-corp/ui/text/Text';\nimport React from 'react';\nimport {CombinedCountryData} from '~/Signup/types';\n\ninterface Props {\n value: string | undefined;\n onClick: () => void;\n countriesPhoneData: CombinedCountryData[];\n}\n\nexport default function CountryFlagSummary({\n value,\n onClick,\n countriesPhoneData,\n}: Props) {\n const countryData = countriesPhoneData.find(\n country => country.countryCode === value\n );\n const {prefixNumber, countryName, countryCode} = countryData || {};\n\n const flagImgSrc = useFlagImgSrc(countryCode);\n\n return (\n \n {flagImgSrc ? (\n \n ) : (\n \n )}\n {countryCode && }\n \n );\n}\n","import {SIGNUP_FORM_STEPS} from '..';\nimport {LABELS} from '../../shared/labels/Labels';\nimport {\n useCombinedCountryData,\n useFieldValueChangeMonitoring,\n usePortalLanguagesData,\n useSignUpTrackingEvents,\n} from '../hooks';\nimport {useEmailAlreadyInUseQuery} from '../queries';\nimport {\n StyledContainer,\n StyledForm,\n FlexStartText,\n WideButton,\n} from '../styled';\nimport {labels, validationLabels} from '../translations';\nimport {BaseFormProps, SignupForm} from '../types';\nimport {\n localizeDefaultData,\n usePhonePrefixOptions,\n validationRules,\n} from '../utils';\nimport CountryFlagOption from './countryFlag/CountryFlagOption';\nimport CountryFlagSummary from './countryFlag/CountryFlagSummary';\nimport {Translate, useGlobalization} from '@planday-corp/globalization';\nimport {\n useValidation,\n validate as v,\n ValidationRules,\n} from '@planday-corp/react-model';\nimport Link from '@planday-corp/ui/actions/Link';\nimport Grid from '@planday-corp/ui/forms/Grid';\nimport SelectField from '@planday-corp/ui/forms/fields/SelectField';\nimport TextField from '@planday-corp/ui/forms/fields/TextField';\nimport Icon from '@planday-corp/ui/icons/Icon';\nimport InlineSpinner from '@planday-corp/ui/indicators/InlineSpinner';\nimport Text from '@planday-corp/ui/text/Text';\nimport {useEffect, useState} from 'react';\nimport styled from 'styled-components';\n\nconst PREFIX_FIELD_WIDTH = '7.5rem';\n\nconst StyledIcon = styled(Icon)`\n cursor: pointer;\n`;\n\nconst GRID_GAP = '1rem';\n\nconst CustomCell = styled.div<{$width: string}>`\n flex: 0 0 calc(${props => props.$width} - ${GRID_GAP});\n width: calc(${props => props.$width} - ${GRID_GAP});\n margin-right: ${GRID_GAP};\n`;\n\ninterface PersonForm {\n email: string;\n firstName: string;\n lastName: string;\n password: string;\n phoneNumber: number;\n termsAndConditions: boolean;\n marketingCommunications: boolean;\n phonePrefixOptions: string;\n phoneCountryCodePrefix: string;\n portalLanguageId: number;\n}\n\nconst rules: ValidationRules> = {\n email: [v.required({}), validationRules.email()],\n firstName: v.required(),\n lastName: v.required(),\n password: [v.required(), validationRules.password()],\n phoneNumber: [v.required(), validationRules.phone()],\n portalLanguageId: v.required(),\n};\n\nexport default function FirstStepForm(props: BaseFormProps) {\n const [showPassword, setShowPassword] = useState(false);\n const {i18n} = useGlobalization();\n const {form, setStep, update} = props;\n const {l10n} = useGlobalization();\n\n const {data, isLoading: isLoadingEmailAlreadyInUse} =\n useEmailAlreadyInUseQuery(form.email);\n const {data: countriesPhoneData, isLoading: isLoadingCombinedData} =\n useCombinedCountryData();\n\n const isLoading = isLoadingEmailAlreadyInUse || isLoadingCombinedData;\n const emailErrorMessage = data?.isEmailUsed\n ? validationLabels.email.inUse\n : '';\n const track = useSignUpTrackingEvents();\n const {monitorValue, isValueDirty} = useFieldValueChangeMonitoring();\n\n const {portalLanguageOptions, portalLanguages} = usePortalLanguagesData();\n\n useEffect(() => {\n if (\n !form.companyName &&\n !form.phoneCountryCodePrefix &&\n !form.portalLanguageId\n ) {\n localizeDefaultData({countriesPhoneData, portalLanguages, update, l10n});\n }\n }, [countriesPhoneData, portalLanguages]);\n\n const {validate, errors} = useValidation(form, rules);\n\n const handleNextStep = () => {\n if (validate() && !isLoading && !emailErrorMessage) {\n update(true, 'termsAndConditions');\n track.next('secondStep');\n setStep(SIGNUP_FORM_STEPS.second);\n }\n };\n\n const phonePrefixOptions = usePhonePrefixOptions(countriesPhoneData);\n\n const getTextWithLinks = () => {\n return (\n \n {i18n.getText(labels.dataProcessing)}\n ,\n \n {i18n.getText(labels.privacyPolicy)}\n ,\n \n {i18n.getText(labels.trialTerms)}\n ,\n \n {i18n.getText(labels.generalTerms)}\n ,\n ]}\n />\n );\n };\n\n const onPhonePrefixChange = (value: string, name: string) => {\n update(value, name as keyof SignupForm);\n track.countryCode(value);\n const selectedCountry = countriesPhoneData.find(\n country => country.prefixNumber === value\n );\n if (selectedCountry) {\n update(selectedCountry.countryCode, 'countryCode');\n }\n };\n\n return (\n <>\n \n {labels.firstStepTitle}\n \n \n monitorValue(form.firstName)}\n onBlur={() => isValueDirty(form.firstName) && track.firstName()}\n onChange={(value, name) => update(value, name as keyof SignupForm)}\n />\n monitorValue(form.lastName)}\n onBlur={() => isValueDirty(form.lastName) && track.lastName()}\n onChange={(value, name) => update(value, name as keyof SignupForm)}\n />\n\n : undefined}\n isRequired={true}\n helpText={labels.emailSuggestion}\n value={form.email}\n onFocus={() => monitorValue(form.email)}\n onBlur={() => isValueDirty(form.email) && track.email()}\n onChange={update}\n />\n \n \n (\n \n )}\n renderSummary={({onClick}) => (\n \n )}\n onChange={onPhonePrefixChange}\n />\n \n \n monitorValue(form.phoneNumber)}\n onBlur={() =>\n isValueDirty(form.phoneNumber) && track.phoneNumber()\n }\n onChange={update}\n />\n \n \n monitorValue(form.password)}\n onBlur={() => isValueDirty(form.password) && track.password()}\n suffix={\n setShowPassword(!showPassword)}\n />\n }\n type={showPassword ? 'text' : 'password'}\n onChange={update}\n />\n {\n track.portalLanguage(\n portalLanguages.find(language => language.id === value)?.uiCultureName || ''\n );\n update(value, name);\n }}\n options={portalLanguageOptions}\n />\n \n {getTextWithLinks()}\n \n \n \n \n \n \n );\n}\n","declare global {\n interface Window {\n // Dreamdata tracking tool for marketing analysis\n dreamdata?: {\n /**\n * Identifies a user in the Dreamdata system.\n * @param id - The user ID (can be null).\n * @param data - Additional user data, such as email.\n */\n identify?: (id: string | null, data: {email: string}) => void;\n\n /**\n * Tracks an event in the Dreamdata system.\n * @param event - The name of the event to track.\n */\n track?: (event: string) => void;\n };\n\n // Google Tag Manager's data layer for tracking events\n dataLayer?: Array>;\n }\n}\n\nexport async function sendSuccessEventToMarketingTrackingTool(email: string) {\n if (email) {\n await window.dreamdata?.identify?.(null, {email});\n }\n\n window.dreamdata?.track?.('Free Trial success');\n}\n\nexport const GTM_EVENTS = {\n FORM_SUBMITTED: () => {\n if (window?.dataLayer) {\n window.dataLayer.push({event: 'formSubmit', formId: 'signup_trial'});\n }\n },\n};\n","import {SIGNUP_FORM_STEPS} from '..';\nimport {GTM_EVENTS} from '../businessAnalysisUtils';\nimport {industry, noOfEmployees} from '../constants';\nimport {useFieldValueChangeMonitoring, useSignUpTrackingEvents} from '../hooks';\nimport {useCountryQuery, usePredictAliasQuery} from '../queries';\nimport {\n StyledContainer,\n StyledForm,\n FlexStartText,\n FormHeader,\n} from '../styled';\nimport {businessLabels, labels} from '../translations';\nimport {BaseFormProps} from '../types';\nimport {useMapAndSortCountries} from '../utils';\nimport {Translate, useGlobalization} from '@planday-corp/globalization';\nimport {\n useValidation,\n validate as v,\n ValidationRules,\n} from '@planday-corp/react-model';\nimport Button from '@planday-corp/ui/actions/Button';\nimport Field from '@planday-corp/ui/forms/Field';\nimport CheckboxField from '@planday-corp/ui/forms/fields/CheckboxField';\nimport SelectField from '@planday-corp/ui/forms/fields/SelectField';\nimport TextField from '@planday-corp/ui/forms/fields/TextField';\nimport InlineSpinner from '@planday-corp/ui/indicators/InlineSpinner';\nimport Text from '@planday-corp/ui/text/Text';\nimport styled from 'styled-components';\n\ninterface BusinessForm {\n companyName: string;\n countryCode: string;\n industry: string;\n employees: string;\n}\n\nconst rules: ValidationRules> = {\n companyName: [v.required()],\n countryCode: [v.required()],\n industry: [v.required()],\n employees: [v.required()],\n};\n\nexport default function SecondStepForm({form, update, setStep}: BaseFormProps) {\n const {l10n} = useGlobalization();\n\n const {data: countries, isLoading: isCountryQueryLoading} = useCountryQuery(\n l10n.locale\n );\n\n const {data: alias, isLoading: isAliasPredictionLoading} =\n usePredictAliasQuery(form.companyName);\n\n const mappedCountries = useMapAndSortCountries(countries);\n\n const track = useSignUpTrackingEvents();\n const {monitorValue, isValueDirty} = useFieldValueChangeMonitoring();\n\n const isLoading = isCountryQueryLoading || isAliasPredictionLoading;\n const {validate, errors} = useValidation(form, rules);\n\n const handleNextStep = () => {\n if (validate() && !isLoading) {\n track.next('thirdStep');\n GTM_EVENTS.FORM_SUBMITTED();\n setStep(SIGNUP_FORM_STEPS.third);\n }\n };\n\n const handlePreviousStep = () => {\n track.previous('firstStep');\n setStep(SIGNUP_FORM_STEPS.first);\n };\n\n return (\n <>\n \n \n {labels.secondStepTitle}\n \n {labels.secondStepSubtitle}\n \n \n : undefined}\n label={businessLabels.businessName}\n helpText={\n isAliasPredictionLoading\n ? ''\n : alias\n ? `https://${alias}.planday.com`\n : businessLabels.businessNameHelpText\n }\n isRequired={true}\n value={form.companyName}\n onFocus={() => monitorValue(form.companyName)}\n onBlur={() => isValueDirty(form.companyName) && track.businessName()}\n onChange={update}\n />\n {\n track.countryCode(value);\n update(value, name);\n }}\n isLoading={isCountryQueryLoading}\n options={mappedCountries}\n />\n {\n track.industry(value);\n update(value, name);\n }}\n options={industry}\n />\n {\n track.employeeSize(value);\n update(value, name);\n }}\n options={noOfEmployees}\n />\n\n \n \n \n \n \n \n \n\n \n \n\n \n \n \n );\n}\n\nconst StyledButtonWrapper = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n width: 100%;\n`;\n","import {SIGNUP_FORM_STEPS} from '../..';\nimport {sendSuccessEventToMarketingTrackingTool} from '../../businessAnalysisUtils';\nimport {useCreatePortal, useSignUpTrackingEvents} from '../../hooks';\nimport {labels, errorMessages} from '../../translations';\nimport {BaseFormProps, SignupForm} from '../../types';\nimport {Translate} from '@planday-corp/globalization';\nimport {useService} from '@planday-corp/react-app';\nimport Button from '@planday-corp/ui/actions/Button';\nimport ProgressBar from '@planday-corp/ui/indicators/ProgressBar';\nimport Text from '@planday-corp/ui/text/Text';\nimport {useEffect, useState} from 'react';\nimport styled from 'styled-components';\nimport {AppContext} from '~/App';\nimport errorImagePath from '~/shared/images/error.svg';\nimport plandayLogo from '~/shared/images/plandayLogoWhite.svg';\n\nconst Container = styled.div`\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2rem;\n align-self: center;\n margin: 0 auto;\n max-width: 25rem;\n`;\n\nconst StyledProgressBar = styled(ProgressBar)`\n @media (min-width: 25rem) {\n width: 23rem;\n }\n`;\n\nconst StyledButton = styled(Button)`\n width: 100%;\n`;\n\nconst StyledErrorImg = styled.img`\n display: block;\n max-width: 12.5rem;\n margin: 0 auto;\n`;\n\nconst StyledLogo = styled.img`\n width: 12rem;\n height: auto;\n margin-bottom: 1rem;\n`;\n\ninterface SignupScreenProps {\n form: SignupForm;\n setStep: BaseFormProps['setStep'];\n}\n\nexport default function ThirdStepForm(props: SignupScreenProps) {\n const {form, setStep} = props;\n const track = useSignUpTrackingEvents();\n const [isSimulationStarted, setIsSimulationStarted] = useState(false);\n const context = useService();\n const [showErrorView, setShowErrorView] = useState(false);\n\n const {status, error, createPortalResponse} = useCreatePortal(form, context);\n\n useEffect(() => {\n if (status === 'error' || error) {\n setShowErrorView(true);\n }\n });\n\n useEffect(() => {\n setIsSimulationStarted(true);\n }, []);\n\n useEffect(() => {\n if (status === 'success' && createPortalResponse?.autoLoginUrl) {\n const stringifiedPortalId = createPortalResponse.portalId\n ? createPortalResponse.portalId.toString()\n : '';\n track.portalReady(stringifiedPortalId);\n sendSuccessEventToMarketingTrackingTool(form.email);\n // Timeout to allow progress bar animation to finish smoothly\n setTimeout(() => {\n window.location.assign(\n createPortalResponse.autoLoginUrl?.toString() || ''\n );\n }, 1000);\n }\n }, [status, createPortalResponse]);\n\n return (\n \n \n {showErrorView ? (\n <>\n \n \n {errorMessages.LoadingError}\n \n setStep(SIGNUP_FORM_STEPS.first)}\n type=\"primary\"\n >\n \n \n \n ) : (\n <>\n \n {labels.title}\n \n \n \n )}\n \n );\n}\n","import plandayLogo from '../shared/images/plandayLogoWhite.svg';\nimport {Headers} from './HelmetHeaders';\nimport IconWithText from './IconWithText';\nimport FirstStepForm from './components/FirstStepForm';\nimport SecondStepForm from './components/SecondStepForm';\nimport ThirdStepForm from './components/ThirdStepForm';\nimport {MOBILE_BREAKPOINT} from './constants';\nimport {useIntercom, useWindowDimensions} from './hooks';\nimport {labels} from './translations';\nimport {SignupForm} from './types';\nimport {useModel} from '@planday-corp/react-model';\nimport Stepper from '@planday-corp/ui/indicators/Stepper';\nimport {Color, white} from '@planday-corp/ui/styles/colors';\nimport Text from '@planday-corp/ui/text/Text';\nimport {useState} from 'react';\nimport styled, {css} from 'styled-components';\nimport backgroundPath from '~/shared/images/signupBackground.svg';\n\nconst smallDevices = (style: string) => `\n @media (max-width: 1023px) {\n ${style}\n }`;\n\nconst StyledBackground = styled.div`\n background: ${white};\n display: flex;\n min-height: 100%;\n background: url(${backgroundPath});\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n ${smallDevices(`padding: 1rem;`)}\n`;\n\nconst ColumnLayout = styled.div`\n display: flex;\n gap: 2rem;\n width: 100%;\n margin: 0 auto;\n ${smallDevices(\n `flex-direction: column-reverse;\n justify-content: flex-end;`\n )}\n`;\n\nconst Column = styled.div<{$width?: string; $background?: Color}>`\n display: flex;\n padding: 1rem;\n flex-basis: ${({$width}) => $width || '50%'};\n ${({$background}) =>\n $background &&\n css`\n background: ${$background};\n `}\n justify-content: center;\n align-items: center;\n ${smallDevices(\n `flex-grow: 0;\n max-height: fit-content;\n margin: 0 auto;`\n )}\n`;\n\nconst FormWrapper = styled.div`\n display: flex;\n width: 100%;\n gap: 2rem;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 33.5rem;\n padding: 2rem;\n ${smallDevices(\n `padding: 1rem;\n gap: 1rem;\n width: fit-content;\n max-width: 33.5rem;`\n )}\n`;\n\nconst StyledLogo = styled.img`\n width: 12rem;\n height: auto;\n position: absolute;\n top: 1.5rem;\n right: 1.5rem;\n ${smallDevices(\n `position: static;\n margin-top: 1rem;\n margin-bottom: 0;`\n )}\n`;\n\nconst DescriptionContainer = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst DescriptionTextWrapper = styled.div`\n ${smallDevices(`display: none;`)}\n`;\n\nconst StyledText = styled(Text)`\n margin-bottom: 1rem;\n`;\n\nconst StyledIconWithText = styled(IconWithText)`\n margin-bottom: 1rem;\n`;\n\nexport const EMPTY_FORM: Partial = {\n email: '',\n password: '',\n companyName: '',\n countryCode: '',\n phoneNumber: undefined,\n industry: '',\n employees: '',\n firstName: '',\n lastName: '',\n termsAndConditions: undefined,\n phoneCountryCodePrefix: '',\n marketingCommunicationsAccepted: true,\n};\n\nexport const SIGNUP_FORM_STEPS = {\n first: 0,\n second: 1,\n third: 2,\n} as const;\n\nexport default function Signup() {\n const [step, setStep] = useState<0 | 1 | 2>(SIGNUP_FORM_STEPS.first);\n const {data: form, update} = useModel(EMPTY_FORM);\n const {width: windowWidth} = useWindowDimensions();\n\n useIntercom();\n\n return (\n <>\n \n \n {step === SIGNUP_FORM_STEPS.third ? (\n \n ) : (\n \n \n \n = MOBILE_BREAKPOINT ? 'horizontal' : 'vertical'\n }\n />\n {step === SIGNUP_FORM_STEPS.first && (\n \n )}\n {step === SIGNUP_FORM_STEPS.second && (\n \n )}\n \n \n \n \n \n \n \n {labels.title}\n \n\n \n\n \n \n \n \n \n )}\n \n \n );\n}\n","export const labels = {\n title: {\n term: 'SignUp.PlandaySignupTitle',\n fallback: 'Start your 30-day free trial',\n },\n firstStepTitle: {\n term: 'SignUp.FirstStepTitle',\n fallback: 'Create your Planday account',\n },\n descriptionPoint1: {\n term: 'SignUp.Step1_ValueStatement1',\n fallback: 'Get started instantly—no commitment, no credit card!',\n },\n descriptionPoint2: {\n term: 'SignUp.Step1_ValueStatement2',\n fallback: 'Explore all of Planday’s features at no cost.',\n },\n secondStepTitle: {\n term: 'SignUp.SecondStepTitle',\n fallback: 'Tell us about your business',\n },\n secondStepSubtitle: {\n term: 'SignUp.SecondStepSubtitle',\n fallback:\n 'With a few details, we can start shaping Planday for your business.',\n },\n headerDescription: {\n term: 'SignUp.HeaderDescription',\n fallback: 'Signup for a 30 day trial with planday',\n },\n firstName: {\n term: 'CommonTerms.Firstname',\n fallback: 'First name',\n },\n lastName: {\n term: 'CommonTerms.Lastname',\n fallback: 'Last name',\n },\n email: {\n term: 'CommonTerms.Email',\n fallback: 'Email',\n },\n emailSuggestion: {\n term: 'SignUp.EmailSuggestion',\n fallback:\n 'We suggest you use your business email, as you’ll use this to log into your account.',\n },\n phoneNumber: {\n term: 'SignUp.PhoneNumber',\n fallback: 'Phone number',\n },\n password: {\n term: 'CommonTerms.Password',\n fallback: 'Password',\n },\n termsAndConditions: {\n term: 'SignUp.LegalPolicies_Consent',\n fallback:\n 'By clicking Agree and Continue, you confirm that you have read and accept our {0}, {1}, {2} and the {3} and consent to receiving sales communications via phone, email, or the Planday App during your 30-day trial. You can unsubscribe at any time.',\n },\n next: {\n term: 'CommonTerms.Next',\n fallback: 'Next',\n },\n firstStepCTA: {\n term: 'SignUp.FirstStepCTA',\n fallback: 'Agree and continue',\n },\n dataProcessing: {\n term: 'SignUp.DataProcessing',\n fallback: 'Data Processing Agreement',\n },\n dataProccesingLinks: {\n term: 'SignUp.DataProcessingLinks',\n fallback:\n 'https://brandfolder.xero.com/YP89N00Y/as/np4txjj74hwmt5x83mz989c/Data_Processing_Agreement_EN',\n },\n privacyPolicy: {\n term: 'SignUp.PrivacyPolicy',\n fallback: 'Privacy Policy',\n },\n privacyPolicyLinks: {\n term: 'SignUp.PrivacyPolicyLinks',\n fallback:\n 'https://brandfolder.xero.com/YP89N00Y/as/g8kfwh9hfp44vfjmjn83389m/Privacy_Policy_UK',\n },\n trialTerms: {\n term: 'SignUp.TrialTerms',\n fallback: 'Trial Terms',\n },\n trialTermsLinks: {\n term: 'SignUp.TrialTermsLinks',\n fallback:\n 'https://brandfolder.xero.com/YP89N00Y/as/84jhgn586phqtgm9csn5vs58/Trial_Terms_2023_UK',\n },\n generalTerms: {\n term: 'SignUp.GeneralTerms',\n fallback: 'General Terms',\n },\n generalTermsLinks: {\n term: 'SignUp.GeneralTermsLinks',\n fallback:\n 'https://brandfolder.xero.com/YP89N00Y/as/96qr2txfr32qbv25853m9xkt/General_Subscription_Terms_and_Conditions_UK',\n },\n marketingCommunications: {\n term: 'SignUp.MarketingConsent',\n fallback:\n 'By checking this box, you agree to receive newsletters, offers and updates about Planday products and services via email, phone, or the Planday app after your trial period. You can unsubscribe at any time.',\n },\n marketingCommunicationDuringTrial: {\n term: 'SignUp.MarketingCommunicationDuringTrial',\n fallback:\n 'By starting a free trial of Planday, you consent to receiving sales communications via phone, mail or the Planday App during your 30 day trial. You can unsubscribe at any time.',\n },\n stepperStep1: {term: 'SignUp.Stepper_YourAccount', fallback: 'Your account'},\n stepperStep2: {\n term: 'SignUp.Stepper_YourBusiness',\n fallback: 'Your business',\n },\n stepperStep3: {term: 'SignUp.Stepper_YourTeam', fallback: 'Your team'},\n\n loadingErrorCTA: {\n term: 'SignUp.LoadingErrorCTA',\n fallback: 'Go to step 1',\n },\n portalLanguage: {\n term: 'SignUp.Label_PortalLanguage',\n fallback: 'Language',\n },\n portalLanguageHelpText: {\n term: 'SignUp.UsageDescription_Language',\n fallback:\n 'Your preferred language for using Planday, and receiving support.',\n },\n};\n\nexport const businessLabels = {\n title: {\n term: 'SignUp.BusinessFormTitle',\n fallback: 'Tell us about your business',\n },\n subTitle: {\n term: 'SignUp.BusinessFormSubTitle',\n fallback:\n 'With a few details, we can start shaping Planday for your business.',\n },\n businessName: {\n term: 'SignUp.BusinessName',\n fallback: 'What’s your business called?',\n },\n businessNameHelpText: {\n term: 'SignUp.BusinessNameHelpText',\n fallback: 'Your business’s login link will appear here.',\n },\n businessLocation: {\n term: 'SignUp.BusinessLocation',\n fallback: 'Where is your business located?',\n },\n businessLocationHelpText: {\n term: 'SignUp.BusinessLocationHelpText',\n fallback:\n 'We’ll use this for country specific setup (e.g. currency, date & time format, etc.).',\n },\n businessType: {\n term: 'SignUp.BusinessType',\n fallback: 'What type of business is it?',\n },\n businessTypeHelpText: {\n term: 'SignUp.BusinessTypeHelpText',\n fallback:\n 'This will help us fine-tune your experience to suit your business.',\n },\n employeesNumber: {\n term: 'SignUp.BusinessEmployeesNumber',\n fallback: 'How many employees do you have?',\n },\n previous: {\n term: 'CommonTerms.Previous',\n fallback: 'Previous',\n },\n};\n\nexport const industryTranslations = {\n hospitality: {\n hospitality: {\n term: 'SignUp.Industry_Hospitality',\n fallback: 'Hospitality',\n },\n hotels: {\n term: 'SignUp.Industry_Hotels',\n fallback: 'Hotels',\n },\n cafeRestaurant: {\n term: 'SignUp.Industry_CafeRestaurant',\n fallback: 'Café & Restaurant',\n },\n barPubNightclub: {\n term: 'SignUp.Industry_BarPubNightclub',\n fallback: 'Bar, Pub & Nightclub',\n },\n cateringCanteen: {\n term: 'SignUp.Industry_CateringCanteen',\n fallback: 'Catering & Canteen',\n },\n },\n retail: {\n retail: {\n term: 'SignUp.Industry_Retail',\n fallback: 'Retail',\n },\n retailStore: {\n term: 'SignUp.Industry_RetailStore',\n fallback: 'Retail Store',\n },\n bakery: {\n term: 'SignUp.Industry_Bakery',\n fallback: 'Bakery',\n },\n barberShopsBeautySalons: {\n term: 'SignUp.Industry_BarberShopsBeautySalons',\n fallback: 'Barber Shops & Beauty Salons',\n },\n },\n professionalServices: {\n professionalServices: {\n term: 'SignUp.Industry_ProfessionalServices',\n fallback: 'Professional Services',\n },\n realEstate: {\n term: 'SignUp.Industry_RealEstate',\n fallback: 'Real Estate',\n },\n cleaningServices: {\n term: 'SignUp.Industry_CleaningServices',\n fallback: 'Cleaning Services',\n },\n security: {\n term: 'SignUp.Industry_Security',\n fallback: 'Security',\n },\n staffingAndRecruiting: {\n term: 'SignUp.Industry_StaffingAndRecruiting',\n fallback: 'Staffing and Recruiting',\n },\n callCenterTelemarketing: {\n term: 'SignUp.Industry_CallCenterTelemarketing',\n fallback: 'Call Center & Telemarketing',\n },\n facilitiesManagementCommercialCleaning: {\n term: 'SignUp.Industry_FacilitiesManagementCommercialCleaning',\n fallback: 'Facilities Management & Commercial Cleaning',\n },\n },\n entertainmentLeisure: {\n entertainmentLeisure: {\n term: 'SignUp.Industry_EntertainmentLeisure',\n fallback: 'Entertainment & Leisure',\n },\n entertainmentCinemasFunParks: {\n term: 'SignUp.Industry_EntertainmentCinemasFunParks',\n fallback: 'Entertainment, Cinemas & Fun Parks',\n },\n eventsEventManagement: {\n term: 'SignUp.Industry_EventsEventManagement',\n fallback: 'Events & Event Management',\n },\n museumsAndInstitutions: {\n term: 'SignUp.Industry_MuseumsAndInstitutions',\n fallback: 'Museums and Institutions',\n },\n performingArts: {\n term: 'SignUp.Industry_PerformingArts',\n fallback: 'Performing Arts',\n },\n },\n healthcareMedical: {\n healthcareMedical: {\n term: 'SignUp.Industry_HealthcareMedical',\n fallback: 'Healthcare & Medical',\n },\n elderlyCareServices: {\n term: 'SignUp.Industry_ElderlyCareServices',\n fallback: 'Elderly Care Services',\n },\n dentalOffices: {\n term: 'SignUp.Industry_DentalOffices',\n fallback: 'Dental Offices',\n },\n hospitalsClinics: {\n term: 'SignUp.Industry_HospitalsClinics',\n fallback: 'Hospitals & Clinics',\n },\n drugStoresPharmacies: {\n term: 'SignUp.Industry_DrugStoresPharmacies',\n fallback: 'Drug Stores & Pharmacies',\n },\n veterinaryServices: {\n term: 'SignUp.Industry_VeterinaryServices',\n fallback: 'Veterinary Services',\n },\n },\n wellnessFitness: {\n wellnessFitness: {\n term: 'SignUp.Industry_WellnessFitness',\n fallback: 'Wellness & Fitness',\n },\n fitnessDanceFacilities: {\n term: 'SignUp.Industry_FitnessDanceFacilities',\n fallback: 'Fitness & Dance Facilities',\n },\n sports: {\n term: 'SignUp.Industry_Sports',\n fallback: 'Sports',\n },\n },\n education: {\n education: {\n term: 'SignUp.Industry_Education',\n fallback: 'Education',\n },\n collegesUniversities: {\n term: 'SignUp.Industry_CollegesUniversities',\n fallback: 'Colleges & Universities',\n },\n primarySecondaryEducation: {\n term: 'SignUp.Industry_PrimarySecondaryEducation',\n fallback: 'Primary or Secondary Education',\n },\n childcare: {\n term: 'SignUp.Industry_Childcare',\n fallback: 'Childcare',\n },\n },\n finance: {\n finance: {\n term: 'SignUp.Industry_Finance',\n fallback: 'Finance',\n },\n accounting: {\n term: 'SignUp.Industry_Accounting',\n fallback: 'Accounting',\n },\n insurance: {\n term: 'SignUp.Industry_Insurance',\n fallback: 'Insurance',\n },\n banking: {\n term: 'SignUp.Industry_Banking',\n fallback: 'Banking',\n },\n },\n mediaCommunications: {\n mediaCommunications: {\n term: 'SignUp.Industry_MediaCommunications',\n fallback: 'Media & Communications',\n },\n advertising: {\n term: 'SignUp.Industry_Advertising',\n fallback: 'Advertising',\n },\n media: {\n term: 'SignUp.Industry_Media',\n fallback: 'Media',\n },\n press: {\n term: 'SignUp.Industry_Press',\n fallback: 'Press',\n },\n },\n transportation: {\n transportation: {\n term: 'SignUp.Industry_Transportation',\n fallback: 'Transportation',\n },\n logisticsAndSupplyChain: {\n term: 'SignUp.Industry_LogisticsAndSupplyChain',\n fallback: 'Logistics & Supply Chain',\n },\n warehousing: {\n term: 'SignUp.Industry_Warehousing',\n fallback: 'Warehousing',\n },\n },\n softwareITServices: {\n softwareITServices: {\n term: 'SignUp.Industry_SoftwareITServices',\n fallback: 'Software & IT Services',\n },\n software: {\n term: 'SignUp.Industry_Software',\n fallback: 'Software',\n },\n },\n other: {\n other: {\n term: 'SignUp.Industry_Other',\n fallback: 'Other',\n },\n construction: {\n term: 'SignUp.Industry_Construction',\n fallback: 'Construction',\n },\n manufacturing: {\n term: 'SignUp.Industry_Manufacturing',\n fallback: 'Manufacturing',\n },\n municipality: {\n term: 'SignUp.Industry_Municipality',\n fallback: 'Municipality',\n },\n nonProfitCharitableOrganizations: {\n term: 'SignUp.Industry_NonProfitCharitableOrganizations',\n fallback: 'Non-Profit & Charitable Organizations',\n },\n },\n};\n\nexport const signupScreenLabels = {\n title: {\n term: 'SignUp.SignUpScreenTitle',\n fallback: 'Please wait while we set up your trial',\n },\n};\n\nexport const validationLabels = {\n email: {\n invalid: {\n term: 'SignUp.Validation_EmailInvalid',\n fallback: 'Invalid email',\n },\n inUse: {\n term: 'SignUp.Validation_EmailInUse',\n fallback: 'Email already in use',\n },\n },\n password: {\n term: 'SignUp.Validation_Password',\n fallback: 'Password must be at least 8 characters',\n },\n phone: {\n term: 'SignUp.Validation_Phone',\n fallback: 'Invalid phone number',\n },\n companyName: {\n term: 'SignUp.Validation_CompanyName',\n fallback: 'Company name is not available',\n },\n};\n\nexport const errorMessages = {\n generic: {\n term: 'CommonTerms.GenericErrorMessage',\n fallback: 'An error occurred. Please try again.',\n },\n required: {\n term: 'CommonTerms.Generic_RequiredField',\n fallback: 'Required Field',\n },\n LoadingError: {\n term: 'SignUp.LoadingError',\n fallback:\n 'Sorry, something went wrong when we tried creating your account. Please try to sign up again.',\n },\n};\n","import {\n ENGLISH_UK_LANGUAGE_ID,\n langToLocaleDict,\n SUPPORTED_LANGUAGES,\n} from './constants';\nimport {validationLabels, errorMessages} from './translations';\nimport {\n CombinedCountryData,\n Country,\n PortalLanguage,\n SignupForm,\n} from './types';\nimport {L10n, useGlobalization} from '@planday-corp/globalization';\nimport {ValidateFn} from '@planday-corp/react-model';\nimport {orderBy} from 'lodash';\nimport {useMemo} from 'react';\nimport {useSearchParams} from 'react-router-dom';\nimport isEmail from 'sane-email-validation';\n\nexport const validationRules = {\n email: (): ValidateFn => {\n return (model, prop) => {\n const value = model[prop];\n\n if (typeof value === 'string' && !isEmail(value)) {\n return validationLabels.email.invalid;\n }\n };\n },\n password: (): ValidateFn => {\n return (model, prop) => {\n const value = model[prop];\n\n if (typeof value === 'string' && value.length < 8) {\n return validationLabels.password;\n }\n };\n },\n phone: (): ValidateFn => {\n return (model, prop) => {\n const value = model[prop];\n\n if (isNaN(Number(value))) {\n return validationLabels.phone;\n }\n };\n },\n emailInUse: (isUsed?: boolean) => {\n return () => {\n if (isUsed === true) {\n return validationLabels.email.inUse;\n }\n };\n },\n termsAndConditions: (): ValidateFn<\n T,\n P\n > => {\n return (model, prop) => {\n const value = model[prop];\n\n if (value !== true) {\n return errorMessages.required;\n }\n };\n },\n};\n\nexport const localizeDefaultData = ({\n countriesPhoneData,\n portalLanguages,\n update,\n l10n,\n}: {\n countriesPhoneData: CombinedCountryData[];\n portalLanguages: PortalLanguage[];\n update: (value: string | number, name: keyof SignupForm) => void;\n l10n: L10n;\n}) => {\n if (!countriesPhoneData?.length || !portalLanguages?.length) {\n return;\n }\n\n let currentCountryCode = l10n.locale.split('-')[1].toUpperCase();\n\n if (currentCountryCode === 'GB') {\n currentCountryCode = 'UK';\n }\n\n const matchingCountry = countriesPhoneData.find(\n country => country.countryCode.toUpperCase() === currentCountryCode\n );\n\n const matchingLanguage = portalLanguages.find(\n language =>\n language.uiCultureName.toLocaleLowerCase() ===\n l10n.locale.toLocaleLowerCase()\n )?.id;\n\n if (matchingCountry) {\n update(matchingCountry.prefixNumber, 'phoneCountryCodePrefix');\n update(matchingCountry.countryCode, 'countryCode');\n }\n\n if (matchingLanguage) {\n update(matchingLanguage, 'portalLanguageId');\n } else {\n update(ENGLISH_UK_LANGUAGE_ID, 'portalLanguageId');\n }\n};\n\nexport const useMapAndSortCountries = (countries?: Country[]) => {\n const {i18n} = useGlobalization();\n return useMemo(\n () =>\n countries\n ? orderBy(countries, ['name'], ['asc']).map(country => ({\n value: country.code,\n label: i18n.t({\n term: `Countries.${country.name}`,\n fallback: country.name,\n }),\n }))\n : [],\n [countries, i18n]\n );\n};\n\nconst sortIgnoringSpecialCharacters = (a: string, b: string): number => {\n return a.localeCompare(b, 'en', {sensitivity: 'base'});\n};\n\nexport const usePhonePrefixOptions = (\n countriesPhoneData?: CombinedCountryData[]\n) => {\n const {i18n} = useGlobalization();\n return useMemo(() => {\n if (!countriesPhoneData?.length) {\n return [];\n }\n const sortedData = [...countriesPhoneData].sort((a, b) =>\n sortIgnoringSpecialCharacters(\n i18n.t(`Countries.${a.countryCode}`),\n i18n.t(`Countries.${b.countryCode}`)\n )\n );\n return sortedData.map(item => ({\n label: `${i18n.t({\n term: `Countries.${item.countryCode}`,\n fallback: item.countryName,\n })}`,\n value: item.prefixNumber,\n }));\n }, [countriesPhoneData, i18n]);\n};\n\nexport const getLangFromUrl = () => {\n const path = window.location.pathname;\n const urlLanguage = path\n .split('/')\n ?.find(p => SUPPORTED_LANGUAGES.includes(p));\n\n if (urlLanguage) {\n return urlLanguage;\n } else {\n return new Intl.Locale(navigator?.language)?.language || 'en';\n }\n};\n\nexport const getLocaleFromUrl = () => langToLocaleDict[getLangFromUrl()];\n\nexport function snakeToCamel(str: string): string {\n return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n\nexport const useNormalizedQueryParams = (keysToPick?: string[]) => {\n const [searchParams] = useSearchParams();\n const paramsDictionary = Object.fromEntries(\n new URLSearchParams(searchParams)\n );\n\n return Object.keys(paramsDictionary)\n .filter(k => !keysToPick || keysToPick.includes(k))\n .reduce(\n (acc: Record, k) => {\n acc[snakeToCamel(k)] = paramsDictionary[k];\n return acc;\n },\n {} as Record\n );\n};\n","import {HubConnection, HubConnectionBuilder} from '@microsoft/signalr';\nimport {eventChannel} from 'redux-saga';\nimport {AppContext, AppStore} from '~/XeroSignup/sagas';\nimport {Country, KeyValue} from '~/XeroSignup/types/Types';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const formatPhonePrefixes = (prefixOptions: any) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return prefixOptions.map((prefix: any) => {\n return {\n id: prefix.id,\n value: prefix.phonePrefix,\n label: `${prefix.shortName} ${prefix.phonePrefix}`,\n };\n });\n};\n\nexport const formatCountries = (countryOptions: Country[]) => {\n return countryOptions.map((country: Country) => {\n return {\n id: country.id,\n value: country.code,\n label: country.name,\n };\n });\n};\n\nexport const getTimeZones = () => {\n // for now only support au\n return [\n {value: 'Australia/Adelaide', label: `UTC +(09:30/10:30) Adelaide`},\n {value: 'Australia/Brisbane', label: `UTC +10 Brisbane`},\n {\n value: 'Australia/Sydney',\n label: `UTC +(10/11) Canberra, Melbourne, Sydney`,\n },\n {value: 'Australia/Darwin', label: `UTC +9:30 Darwin`},\n {value: 'Australia/Perth', label: `UTC +8 Perth`},\n ];\n};\n\nexport const setValidationRules = (\n formData: KeyValue,\n validationRules: KeyValue\n) => {\n const {formMetadata} = formData;\n const {settings} = formMetadata;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n settings.map((data: any) => {\n if (data.name === 'Email') {\n validationRules.item.email = {\n required: true,\n pattern: 'email',\n };\n }\n\n if (data.name === 'Password') {\n validationRules.item.password = {\n required: true,\n pattern: 'password',\n };\n }\n\n if (data.name === 'CountryCode') {\n validationRules.item.countryCode = {\n required: true,\n };\n }\n });\n};\n\nexport function socketConnection(context: AppContext) {\n const {signupApi} = context;\n\n try {\n const connection = new HubConnectionBuilder()\n .withUrl(`${signupApi.settings.serverUrl}/signup/status`)\n .build();\n return connection;\n } catch (error) {\n // tslint:disable-next-line\n console.log('Failed to connect to Hubs:', error);\n }\n}\n\nexport function getEventChannel(store: AppStore, connection: HubConnection) {\n const signUpState = store.getState().xeroSignup;\n\n return eventChannel<{status: 'failure' | 'success'; portalUrl?: string}>(\n emit => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const successHandler = ({autoLoginUrl}: any) => {\n emit({status: 'success', portalUrl: autoLoginUrl});\n };\n\n const failureHandler = () => {\n emit({status: 'failure'});\n };\n\n connection.on('onSuccess', successHandler);\n connection.on('onFailure', failureHandler);\n\n const unsubscribe = () => {\n connection.send('Unsubscribe', signUpState.signupRequestId).then(() =>\n // tslint:disable-next-line\n console.log('Unsubscribed from Hubs')\n );\n };\n\n return unsubscribe;\n }\n );\n}\n","import {TermDescriptor} from '@planday-corp/globalization';\n\nexport const LABELS: {\n [key: string]: TermDescriptor;\n} = {\n signupToPlanday: {\n term: 'SignUp.ExternalSignup_Xero_Header',\n fallback: 'Start your free Planday trial using your Xero account details',\n },\n theFormIsPrefilled: {\n term: 'SignUp.ExternalSignup_Xero_Description',\n fallback:\n 'The form is pre-filled with details from your Xero account. Please enter the additional information required to sign up for Planday.',\n },\n firstName: {\n term: 'SignUp.FirstName',\n fallback: 'First name',\n },\n lastName: {\n term: 'SignUp.LastName',\n fallback: 'Last name',\n },\n password: {term: 'SignUp.Password', fallback: 'Password'},\n userNameEmail: {\n term: 'SignUp.Email',\n fallback: 'Username (Email)',\n },\n phoneCountryCodePrefix: {\n term: 'SignUp.CountryCode',\n fallback: 'Country code',\n },\n country: {term: 'SignUp.Country', fallback: 'Country'},\n phoneNumber: {term: 'SignUp.Phone', fallback: 'Phone'},\n companyName: {term: 'SignUp.Company', fallback: 'Company Name'},\n industry: {\n term: 'SignUp.Industry',\n fallback: 'Industry',\n },\n employees: {term: 'SignUp.Employees', fallback: 'Employees'},\n signup: {term: 'SignUp.SignUpCTA_button', fallback: 'Sign up'},\n connectYourXeroOrganisation: {\n term: 'SignUp.AuthorizationPage_ModalTitle',\n fallback: 'Connect your Xero organisation to Planday',\n },\n xeroOrganisations: {\n term: 'SignUp.AuthorizationPage_XeroOrganisations',\n fallback: 'Xero organisations',\n },\n continue: {\n term: 'CommonTerms.Continue',\n fallback: 'Continue',\n },\n loginModalTitle: {\n term: 'SignUp.AuthorizationPage_LoginModal_Title',\n fallback: 'Log in to Planday',\n },\n loginBtn: {\n term: 'CommonTerms.Login',\n fallback: 'Log in',\n },\n signupModalTitle: {\n term: 'SignUp.AuthorizationPage_SignupModal_Title',\n fallback: 'Sign up to Planday',\n },\n signupBtn: {\n term: 'CommonTerms.XeroSignup',\n fallback: 'Sign up',\n },\n linkChooseAnotherOrg: {\n term: 'SignUp.AuthorizationPage_ChooseDifferentOrganisation',\n fallback: 'Connect a different Xero organisation',\n },\n errorScreenTitle: {\n term: 'SignUp.ErrorScreen_XeroAccessDenied_Title',\n fallback: 'Unable to connect you to Planday',\n },\n errorScreenBody: {\n term: 'SignUp.ErrorScreen_XeroAccessDenied_Description',\n fallback:\n 'We were unable to connect Planday with your Xero account. To reconnect, go back and try again.',\n },\n errorScreenBtn: {\n term: 'SignUp.ErrorScreen_XeroAccessDenied_Btn',\n fallback: 'Go back and try again',\n },\n termsAndConditionsCheckboxText: {\n term: 'SignUp.TermsAndConditions_CheckboxText',\n fallback:\n 'I have read and agree to the Trial Terms, Privacy Policy, Terms & Conditions, End User License Agreement and Data Processing Agreement.',\n },\n seeAllDocuments: {\n term: 'SignUp.TermsAndConditions_SeeAllDocuments',\n fallback: 'See all documents',\n },\n here: {\n term: 'SignUp.TermsAndConditions_Here',\n fallback: 'here',\n },\n termsAndConditionsLink: {\n term: 'SignUp.TermsAndConditions_Link',\n fallback: 'https://www.planday.com/legal',\n },\n termsAndConditionsAriaTitle: {\n term: 'SignUp.TermsAndConditions_Link_AriaTitle',\n fallback: 'See all documents here',\n },\n onboardingExampleStepsTitle: {\n term: 'Onboarding.Setup_XeroToPlanday_ExampleSteps_title',\n fallback: 'Get ready to schedule your employees smarter:',\n },\n onboardingExampleStepsList: {\n term: 'Onboarding.Setup_XeroToPlanday_ExampleSteps_list',\n fallback: `Import your employees' data from Xero to Planday;Enable the relevant Awards to cover your employees;Prepare for payroll with Planday and Xero connected`,\n },\n onboardingStatusInProgress: {\n term: 'Onboarding.Setup_XeroToPlanday_ProgressStatus_title',\n fallback: 'Building your Planday system...',\n },\n onboardingStatusFinished: {\n term: 'Onboarding.Setup_XeroToPlanday_FinishedStatus_title',\n fallback: 'You can now set Planday up!',\n },\n onboardingAutoRedirectCountdown: {\n term: 'Onboarding.Setup_XeroToPlanday_RedirectCountdown',\n fallback: 'You will be redirected to your Planday system in {0} seconds.',\n },\n timeZone: {\n term: 'CommonTerms.TimeZone',\n fallback: 'Time zone',\n },\n};\n","var map = {\n\t\"./AD.svg\": [\n\t\t38917,\n\t\t8917\n\t],\n\t\"./AE.svg\": [\n\t\t41668,\n\t\t1668\n\t],\n\t\"./AF.svg\": [\n\t\t12471,\n\t\t2471\n\t],\n\t\"./AG.svg\": [\n\t\t7142,\n\t\t7142\n\t],\n\t\"./AI.svg\": [\n\t\t60288,\n\t\t288\n\t],\n\t\"./AL.svg\": [\n\t\t46093,\n\t\t6093\n\t],\n\t\"./AM.svg\": [\n\t\t98732,\n\t\t8732\n\t],\n\t\"./AO.svg\": [\n\t\t63118,\n\t\t3118\n\t],\n\t\"./AR.svg\": [\n\t\t77755,\n\t\t7755\n\t],\n\t\"./AS.svg\": [\n\t\t8938,\n\t\t8938\n\t],\n\t\"./AT.svg\": [\n\t\t38037,\n\t\t8037\n\t],\n\t\"./AU.svg\": [\n\t\t52,\n\t\t52\n\t],\n\t\"./AW.svg\": [\n\t\t1398,\n\t\t1398\n\t],\n\t\"./AX.svg\": [\n\t\t75169,\n\t\t5169\n\t],\n\t\"./AZ.svg\": [\n\t\t73443,\n\t\t3443\n\t],\n\t\"./BA.svg\": [\n\t\t35969,\n\t\t5969\n\t],\n\t\"./BB.svg\": [\n\t\t54226,\n\t\t4226\n\t],\n\t\"./BD.svg\": [\n\t\t59612,\n\t\t9612\n\t],\n\t\"./BE.svg\": [\n\t\t88157,\n\t\t8157\n\t],\n\t\"./BF.svg\": [\n\t\t76062,\n\t\t6062\n\t],\n\t\"./BG.svg\": [\n\t\t38639,\n\t\t8639\n\t],\n\t\"./BH.svg\": [\n\t\t80488,\n\t\t488\n\t],\n\t\"./BI.svg\": [\n\t\t45881,\n\t\t5881\n\t],\n\t\"./BJ.svg\": [\n\t\t19882,\n\t\t9882\n\t],\n\t\"./BL.svg\": [\n\t\t30228,\n\t\t228\n\t],\n\t\"./BM.svg\": [\n\t\t91509,\n\t\t1509\n\t],\n\t\"./BN.svg\": [\n\t\t56169,\n\t\t8550\n\t],\n\t\"./BO.svg\": [\n\t\t18087,\n\t\t8087\n\t],\n\t\"./BQ-BO.svg\": [\n\t\t50879,\n\t\t879\n\t],\n\t\"./BQ-SA.svg\": [\n\t\t2810,\n\t\t2810\n\t],\n\t\"./BQ-SE.svg\": [\n\t\t41478,\n\t\t1478\n\t],\n\t\"./BR.svg\": [\n\t\t78370,\n\t\t8370\n\t],\n\t\"./BS.svg\": [\n\t\t8947,\n\t\t8947\n\t],\n\t\"./BT.svg\": [\n\t\t52204,\n\t\t2204\n\t],\n\t\"./BV.svg\": [\n\t\t93294,\n\t\t3294\n\t],\n\t\"./BW.svg\": [\n\t\t31231,\n\t\t1231\n\t],\n\t\"./BY.svg\": [\n\t\t3849,\n\t\t3849\n\t],\n\t\"./BZ.svg\": [\n\t\t61914,\n\t\t1914\n\t],\n\t\"./CA.svg\": [\n\t\t79234,\n\t\t9234\n\t],\n\t\"./CC.svg\": [\n\t\t63648,\n\t\t3648\n\t],\n\t\"./CD.svg\": [\n\t\t29535,\n\t\t9535\n\t],\n\t\"./CF.svg\": [\n\t\t49453,\n\t\t9453\n\t],\n\t\"./CG.svg\": [\n\t\t50508,\n\t\t508\n\t],\n\t\"./CH.svg\": [\n\t\t77387,\n\t\t7387\n\t],\n\t\"./CI.svg\": [\n\t\t62778,\n\t\t2778\n\t],\n\t\"./CK.svg\": [\n\t\t26648,\n\t\t6648\n\t],\n\t\"./CL.svg\": [\n\t\t15831,\n\t\t5831\n\t],\n\t\"./CM.svg\": [\n\t\t1446,\n\t\t1446\n\t],\n\t\"./CN.svg\": [\n\t\t23877,\n\t\t3877\n\t],\n\t\"./CO.svg\": [\n\t\t72708,\n\t\t2708\n\t],\n\t\"./CR.svg\": [\n\t\t57569,\n\t\t7569\n\t],\n\t\"./CU.svg\": [\n\t\t44190,\n\t\t4190\n\t],\n\t\"./CV.svg\": [\n\t\t98365,\n\t\t8365\n\t],\n\t\"./CW.svg\": [\n\t\t8892,\n\t\t8892\n\t],\n\t\"./CX.svg\": [\n\t\t72059,\n\t\t2059\n\t],\n\t\"./CY.svg\": [\n\t\t11690,\n\t\t1690\n\t],\n\t\"./CZ.svg\": [\n\t\t3065,\n\t\t3065\n\t],\n\t\"./DE.svg\": [\n\t\t73983,\n\t\t3983\n\t],\n\t\"./DJ.svg\": [\n\t\t71096,\n\t\t1096\n\t],\n\t\"./DK.svg\": [\n\t\t46601,\n\t\t6601\n\t],\n\t\"./DM.svg\": [\n\t\t66167,\n\t\t6167\n\t],\n\t\"./DO.svg\": [\n\t\t39589,\n\t\t9589\n\t],\n\t\"./DZ.svg\": [\n\t\t23240,\n\t\t3240\n\t],\n\t\"./EC.svg\": [\n\t\t66398,\n\t\t6398\n\t],\n\t\"./EE.svg\": [\n\t\t27856,\n\t\t7856\n\t],\n\t\"./EG.svg\": [\n\t\t44562,\n\t\t4562\n\t],\n\t\"./EH.svg\": [\n\t\t81845,\n\t\t1845\n\t],\n\t\"./ER.svg\": [\n\t\t21567,\n\t\t1567\n\t],\n\t\"./ES.svg\": [\n\t\t83630,\n\t\t3630\n\t],\n\t\"./ET.svg\": [\n\t\t49105,\n\t\t9105\n\t],\n\t\"./FI.svg\": [\n\t\t51645,\n\t\t1645\n\t],\n\t\"./FJ.svg\": [\n\t\t89022,\n\t\t9022\n\t],\n\t\"./FK.svg\": [\n\t\t25423,\n\t\t5423\n\t],\n\t\"./FM.svg\": [\n\t\t6401,\n\t\t6401\n\t],\n\t\"./FO.svg\": [\n\t\t21027,\n\t\t1027\n\t],\n\t\"./FR.svg\": [\n\t\t54726,\n\t\t4726\n\t],\n\t\"./GA.svg\": [\n\t\t2726,\n\t\t2726\n\t],\n\t\"./GB-ENG.svg\": [\n\t\t5466,\n\t\t5466\n\t],\n\t\"./GB-NIR.svg\": [\n\t\t93401,\n\t\t3401\n\t],\n\t\"./GB-SCT.svg\": [\n\t\t95816,\n\t\t5816\n\t],\n\t\"./GB-WLS.svg\": [\n\t\t8302,\n\t\t8302\n\t],\n\t\"./GD.svg\": [\n\t\t25643,\n\t\t5643\n\t],\n\t\"./GE.svg\": [\n\t\t6586,\n\t\t6586\n\t],\n\t\"./GF.svg\": [\n\t\t5321,\n\t\t5321\n\t],\n\t\"./GG.svg\": [\n\t\t70456,\n\t\t456\n\t],\n\t\"./GH.svg\": [\n\t\t73343,\n\t\t3343\n\t],\n\t\"./GI.svg\": [\n\t\t68590,\n\t\t8590\n\t],\n\t\"./GL.svg\": [\n\t\t85683,\n\t\t5683\n\t],\n\t\"./GM.svg\": [\n\t\t23042,\n\t\t3042\n\t],\n\t\"./GN.svg\": [\n\t\t77585,\n\t\t7585\n\t],\n\t\"./GP.svg\": [\n\t\t42407,\n\t\t2407\n\t],\n\t\"./GQ.svg\": [\n\t\t32905,\n\t\t5286\n\t],\n\t\"./GR.svg\": [\n\t\t96533,\n\t\t6533\n\t],\n\t\"./GT.svg\": [\n\t\t3963,\n\t\t3963\n\t],\n\t\"./GU.svg\": [\n\t\t86122,\n\t\t6122\n\t],\n\t\"./GW.svg\": [\n\t\t22600,\n\t\t2600\n\t],\n\t\"./GY.svg\": [\n\t\t69150,\n\t\t9150\n\t],\n\t\"./HK.svg\": [\n\t\t36429,\n\t\t6429\n\t],\n\t\"./HN.svg\": [\n\t\t50624,\n\t\t624\n\t],\n\t\"./HR.svg\": [\n\t\t90388,\n\t\t388\n\t],\n\t\"./HT.svg\": [\n\t\t99274,\n\t\t9274\n\t],\n\t\"./HU.svg\": [\n\t\t68091,\n\t\t8091\n\t],\n\t\"./ID.svg\": [\n\t\t40461,\n\t\t461\n\t],\n\t\"./IE.svg\": [\n\t\t60748,\n\t\t748\n\t],\n\t\"./IL.svg\": [\n\t\t60965,\n\t\t965\n\t],\n\t\"./IM.svg\": [\n\t\t6244,\n\t\t6244\n\t],\n\t\"./IN.svg\": [\n\t\t33015,\n\t\t3015\n\t],\n\t\"./IO.svg\": [\n\t\t61830,\n\t\t1830\n\t],\n\t\"./IQ.svg\": [\n\t\t8592,\n\t\t8592\n\t],\n\t\"./IR.svg\": [\n\t\t70083,\n\t\t83\n\t],\n\t\"./IS.svg\": [\n\t\t32146,\n\t\t2146\n\t],\n\t\"./IT.svg\": [\n\t\t66077,\n\t\t6077\n\t],\n\t\"./JE.svg\": [\n\t\t14213,\n\t\t4213\n\t],\n\t\"./JM.svg\": [\n\t\t39789,\n\t\t9789\n\t],\n\t\"./JO.svg\": [\n\t\t19871,\n\t\t9871\n\t],\n\t\"./JP.svg\": [\n\t\t11656,\n\t\t1656\n\t],\n\t\"./KE.svg\": [\n\t\t84598,\n\t\t4598\n\t],\n\t\"./KG.svg\": [\n\t\t83860,\n\t\t3860\n\t],\n\t\"./KH.svg\": [\n\t\t16995,\n\t\t6995\n\t],\n\t\"./KI.svg\": [\n\t\t2354,\n\t\t2354\n\t],\n\t\"./KM.svg\": [\n\t\t82110,\n\t\t2110\n\t],\n\t\"./KN.svg\": [\n\t\t36285,\n\t\t6285\n\t],\n\t\"./KP.svg\": [\n\t\t15307,\n\t\t5307\n\t],\n\t\"./KR.svg\": [\n\t\t68809,\n\t\t8809\n\t],\n\t\"./KW.svg\": [\n\t\t10628,\n\t\t628\n\t],\n\t\"./KY.svg\": [\n\t\t17154,\n\t\t7154\n\t],\n\t\"./KZ.svg\": [\n\t\t37521,\n\t\t7521\n\t],\n\t\"./LA.svg\": [\n\t\t42523,\n\t\t2523\n\t],\n\t\"./LB.svg\": [\n\t\t61160,\n\t\t1160\n\t],\n\t\"./LC.svg\": [\n\t\t42905,\n\t\t2905\n\t],\n\t\"./LI.svg\": [\n\t\t84291,\n\t\t4291\n\t],\n\t\"./LK.svg\": [\n\t\t16641,\n\t\t6641\n\t],\n\t\"./LR.svg\": [\n\t\t9016,\n\t\t9016\n\t],\n\t\"./LS.svg\": [\n\t\t84521,\n\t\t4521\n\t],\n\t\"./LT.svg\": [\n\t\t41286,\n\t\t1286\n\t],\n\t\"./LU.svg\": [\n\t\t4087,\n\t\t4087\n\t],\n\t\"./LV.svg\": [\n\t\t99492,\n\t\t9492\n\t],\n\t\"./LY.svg\": [\n\t\t89619,\n\t\t9619\n\t],\n\t\"./MA.svg\": [\n\t\t53380,\n\t\t3380\n\t],\n\t\"./MC.svg\": [\n\t\t82118,\n\t\t2118\n\t],\n\t\"./MD.svg\": [\n\t\t11561,\n\t\t1561\n\t],\n\t\"./ME.svg\": [\n\t\t7320,\n\t\t7320\n\t],\n\t\"./MF.svg\": [\n\t\t58059,\n\t\t8059\n\t],\n\t\"./MG.svg\": [\n\t\t43450,\n\t\t3450\n\t],\n\t\"./MH.svg\": [\n\t\t30125,\n\t\t125\n\t],\n\t\"./MK.svg\": [\n\t\t81774,\n\t\t1774\n\t],\n\t\"./ML.svg\": [\n\t\t80273,\n\t\t273\n\t],\n\t\"./MM.svg\": [\n\t\t44320,\n\t\t4320\n\t],\n\t\"./MN.svg\": [\n\t\t65075,\n\t\t5075\n\t],\n\t\"./MO.svg\": [\n\t\t59906,\n\t\t9906\n\t],\n\t\"./MP.svg\": [\n\t\t99221,\n\t\t9221\n\t],\n\t\"./MQ.svg\": [\n\t\t26612,\n\t\t6612\n\t],\n\t\"./MR.svg\": [\n\t\t91175,\n\t\t1175\n\t],\n\t\"./MS.svg\": [\n\t\t27350,\n\t\t7350\n\t],\n\t\"./MT.svg\": [\n\t\t83737,\n\t\t3737\n\t],\n\t\"./MU.svg\": [\n\t\t1992,\n\t\t1992\n\t],\n\t\"./MV.svg\": [\n\t\t52731,\n\t\t2731\n\t],\n\t\"./MW.svg\": [\n\t\t92362,\n\t\t2362\n\t],\n\t\"./MX.svg\": [\n\t\t79037,\n\t\t9037\n\t],\n\t\"./MY.svg\": [\n\t\t89564,\n\t\t9564\n\t],\n\t\"./MZ.svg\": [\n\t\t68591,\n\t\t8591\n\t],\n\t\"./NA.svg\": [\n\t\t13661,\n\t\t3661\n\t],\n\t\"./NC.svg\": [\n\t\t22063,\n\t\t2063\n\t],\n\t\"./NE.svg\": [\n\t\t68417,\n\t\t8417\n\t],\n\t\"./NF.svg\": [\n\t\t79730,\n\t\t9730\n\t],\n\t\"./NG.svg\": [\n\t\t17667,\n\t\t7667\n\t],\n\t\"./NI.svg\": [\n\t\t86869,\n\t\t6869\n\t],\n\t\"./NL.svg\": [\n\t\t12936,\n\t\t2936\n\t],\n\t\"./NO.svg\": [\n\t\t94299,\n\t\t6680\n\t],\n\t\"./NP.svg\": [\n\t\t8332,\n\t\t8332\n\t],\n\t\"./NR.svg\": [\n\t\t58926,\n\t\t8926\n\t],\n\t\"./NU.svg\": [\n\t\t67921,\n\t\t7921\n\t],\n\t\"./NZ.svg\": [\n\t\t70681,\n\t\t3062\n\t],\n\t\"./OM.svg\": [\n\t\t95002,\n\t\t5002\n\t],\n\t\"./PA.svg\": [\n\t\t50559,\n\t\t559\n\t],\n\t\"./PE.svg\": [\n\t\t28275,\n\t\t8275\n\t],\n\t\"./PF.svg\": [\n\t\t37536,\n\t\t7536\n\t],\n\t\"./PG.svg\": [\n\t\t78097,\n\t\t8097\n\t],\n\t\"./PH.svg\": [\n\t\t79942,\n\t\t9942\n\t],\n\t\"./PK.svg\": [\n\t\t16165,\n\t\t6165\n\t],\n\t\"./PL.svg\": [\n\t\t81242,\n\t\t1242\n\t],\n\t\"./PM.svg\": [\n\t\t86507,\n\t\t6507\n\t],\n\t\"./PN.svg\": [\n\t\t47672,\n\t\t7672\n\t],\n\t\"./PR.svg\": [\n\t\t78940,\n\t\t8940\n\t],\n\t\"./PS.svg\": [\n\t\t7485,\n\t\t7485\n\t],\n\t\"./PT.svg\": [\n\t\t73554,\n\t\t3554\n\t],\n\t\"./PW.svg\": [\n\t\t55297,\n\t\t5297\n\t],\n\t\"./PY.svg\": [\n\t\t37415,\n\t\t7415\n\t],\n\t\"./QA.svg\": [\n\t\t47400,\n\t\t7400\n\t],\n\t\"./RE.svg\": [\n\t\t26701,\n\t\t9082\n\t],\n\t\"./RO.svg\": [\n\t\t19255,\n\t\t9255\n\t],\n\t\"./RS.svg\": [\n\t\t56323,\n\t\t6323\n\t],\n\t\"./RU.svg\": [\n\t\t52317,\n\t\t2317\n\t],\n\t\"./RW.svg\": [\n\t\t60719,\n\t\t719\n\t],\n\t\"./SA.svg\": [\n\t\t49618,\n\t\t9618\n\t],\n\t\"./SB.svg\": [\n\t\t54657,\n\t\t4657\n\t],\n\t\"./SC.svg\": [\n\t\t42416,\n\t\t2416\n\t],\n\t\"./SD.svg\": [\n\t\t8303,\n\t\t8303\n\t],\n\t\"./SE.svg\": [\n\t\t45726,\n\t\t5726\n\t],\n\t\"./SG.svg\": [\n\t\t29276,\n\t\t9276\n\t],\n\t\"./SI.svg\": [\n\t\t62698,\n\t\t2698\n\t],\n\t\"./SJ.svg\": [\n\t\t23449,\n\t\t3449\n\t],\n\t\"./SK.svg\": [\n\t\t99176,\n\t\t9176\n\t],\n\t\"./SL.svg\": [\n\t\t18983,\n\t\t8983\n\t],\n\t\"./SM.svg\": [\n\t\t31862,\n\t\t1862\n\t],\n\t\"./SN.svg\": [\n\t\t73109,\n\t\t3109\n\t],\n\t\"./SO-SD.svg\": [\n\t\t92724,\n\t\t2724\n\t],\n\t\"./SO.svg\": [\n\t\t47476,\n\t\t7476\n\t],\n\t\"./SR.svg\": [\n\t\t54161,\n\t\t4161\n\t],\n\t\"./SS.svg\": [\n\t\t7712,\n\t\t7712\n\t],\n\t\"./ST.svg\": [\n\t\t49919,\n\t\t9919\n\t],\n\t\"./SV.svg\": [\n\t\t74285,\n\t\t4285\n\t],\n\t\"./SX.svg\": [\n\t\t85867,\n\t\t5867\n\t],\n\t\"./SY.svg\": [\n\t\t83162,\n\t\t3162\n\t],\n\t\"./SZ.svg\": [\n\t\t81897,\n\t\t1897\n\t],\n\t\"./TC.svg\": [\n\t\t25729,\n\t\t5729\n\t],\n\t\"./TD.svg\": [\n\t\t8350,\n\t\t8350\n\t],\n\t\"./TF.svg\": [\n\t\t20047,\n\t\t2428\n\t],\n\t\"./TG.svg\": [\n\t\t70973,\n\t\t973\n\t],\n\t\"./TH.svg\": [\n\t\t75850,\n\t\t5850\n\t],\n\t\"./TJ.svg\": [\n\t\t12776,\n\t\t2776\n\t],\n\t\"./TK.svg\": [\n\t\t25145,\n\t\t5145\n\t],\n\t\"./TL.svg\": [\n\t\t68310,\n\t\t8310\n\t],\n\t\"./TM.svg\": [\n\t\t31527,\n\t\t1527\n\t],\n\t\"./TN.svg\": [\n\t\t66964,\n\t\t6964\n\t],\n\t\"./TO.svg\": [\n\t\t4949,\n\t\t4949\n\t],\n\t\"./TR.svg\": [\n\t\t27200,\n\t\t7200\n\t],\n\t\"./TT.svg\": [\n\t\t30030,\n\t\t30\n\t],\n\t\"./TU.svg\": [\n\t\t44671,\n\t\t4671\n\t],\n\t\"./TW.svg\": [\n\t\t13005,\n\t\t3005\n\t],\n\t\"./TZ-ZB.svg\": [\n\t\t9061,\n\t\t9061\n\t],\n\t\"./TZ.svg\": [\n\t\t34456,\n\t\t4456\n\t],\n\t\"./UA.svg\": [\n\t\t14943,\n\t\t7324\n\t],\n\t\"./UG.svg\": [\n\t\t42370,\n\t\t2370\n\t],\n\t\"./UK.svg\": [\n\t\t22054,\n\t\t2054\n\t],\n\t\"./UM.svg\": [\n\t\t89784,\n\t\t9784\n\t],\n\t\"./US.svg\": [\n\t\t88478,\n\t\t8478\n\t],\n\t\"./UY.svg\": [\n\t\t90228,\n\t\t7847\n\t],\n\t\"./UZ.svg\": [\n\t\t61735,\n\t\t1735\n\t],\n\t\"./VA.svg\": [\n\t\t90789,\n\t\t789\n\t],\n\t\"./VC.svg\": [\n\t\t82743,\n\t\t2743\n\t],\n\t\"./VE.svg\": [\n\t\t97801,\n\t\t7801\n\t],\n\t\"./VG.svg\": [\n\t\t44299,\n\t\t4299\n\t],\n\t\"./VI.svg\": [\n\t\t16365,\n\t\t6365\n\t],\n\t\"./VN.svg\": [\n\t\t46146,\n\t\t6146\n\t],\n\t\"./VU.svg\": [\n\t\t69977,\n\t\t9977\n\t],\n\t\"./WF.svg\": [\n\t\t1209,\n\t\t1209\n\t],\n\t\"./WS.svg\": [\n\t\t87204,\n\t\t7204\n\t],\n\t\"./XK.svg\": [\n\t\t45405,\n\t\t5405\n\t],\n\t\"./YE.svg\": [\n\t\t66140,\n\t\t6140\n\t],\n\t\"./YT.svg\": [\n\t\t6701,\n\t\t6701\n\t],\n\t\"./ZA.svg\": [\n\t\t13785,\n\t\t3785\n\t],\n\t\"./ZM.svg\": [\n\t\t90237,\n\t\t237\n\t],\n\t\"./ZW.svg\": [\n\t\t57175,\n\t\t7175\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 1 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 72814;\nmodule.exports = webpackAsyncContext;"],"names":["AnonymousAuth","Service","static","allowAnonymous","initialize","this","rejectEvent","getUser","AuthError","notAuthenticatedError","getToken","getSubjectId","isAuthenticated","Promise","resolve","signin","reject","signout","config","Config","sources","window","DevConfig","PlandayConfig","IS_DEVELOPMENT","process","SIGNUP_API_URL","get","GlobalStyles","createGlobalStyle","grey05","App","props","context","useMemo","enforcedLanguage","clientId","isDebug","routerType","categories","localJSONStorage","JSONStorage","storageType","sessionJSONStorage","logger","ConsoleLogger","isEnabled","undefined","storage","appInsights","ApplicationInsights","enableCorsCorrelation","instrumentationKey","loadAppInsights","trackPageView","name","router","Router","type","cache","StorageCache","transientCache","RealmCache","telemetry","version","snippet","Telemetry","origin","initiateTelemetry","messageHub","MessageHub","auth","translationsApi","TranslationsApi","serverUrl","subpath","globalization","Globalization","isAnonymous","create","log","Object","prototype","toString","call","notifications","Notifications","createAzureAppInsightsContext","queryClient","QueryClient","signupApi","Api","createAppContext","_jsx","Suspense","fallback","Translate","term","children","_jsxs","UIProvider","CSSReset","Fonts","AppProvider","services","style","height","useExperimentalIntl","QueryClientProvider","client","ToastProvider","ToastManager","maxToasts","ReactQueryDevtools","industry","label","labels","hospitality","isTitle","items","hotels","value","cafeRestaurant","barPubNightclub","cateringCanteen","retail","retailStore","bakery","barberShopsBeautySalons","professionalServices","realEstate","cleaningServices","security","staffingAndRecruiting","callCenterTelemarketing","facilitiesManagementCommercialCleaning","entertainmentLeisure","entertainmentCinemasFunParks","eventsEventManagement","museumsAndInstitutions","performingArts","healthcareMedical","elderlyCareServices","dentalOffices","hospitalsClinics","drugStoresPharmacies","veterinaryServices","wellnessFitness","fitnessDanceFacilities","sports","education","collegesUniversities","primarySecondaryEducation","childcare","finance","accounting","insurance","banking","mediaCommunications","advertising","media","press","transportation","logisticsAndSupplyChain","warehousing","softwareITServices","software","other","construction","manufacturing","municipality","nonProfitCharitableOrganizations","noOfEmployees","SUPPORTED_LANGUAGES","langToLocaleDict","en","da","sv","no","de","fr","it","es","TRACKING_QUERY_PARAMS","ENGLISH_UK_LANGUAGE_ID","MOBILE_BREAKPOINT","Headers","i18n","useGlobalization","language","getLangFromUrl","Helmet","lang","t","title","content","headerDescription","map","lowerCaseLang","toLowerCase","rel","hrefLang","href","location","property","StyledFlexContainer","styled","div","withConfig","displayName","componentId","StyledContainer","StyledForm","form","WideButton","TextField","Button","FormHeader","FlexStartText","Text","StyledIcon","Icon","INFINITE_CACHE_PARAMS","staleTime","Infinity","gcTime","useDebouncedValue","delay","debouncedValue","setDebouncedValue","useState","useEffect","handler","setTimeout","clearTimeout","usePredictAliasQuery","companyName","debouncedCompanyName","useQuery","queryKey","queryFn","async","fetch","headers","Accept","json","useEmailAlreadyInUseQuery","email","debouncedEmail","retry","status","isEmailUsed","enabled","isEmail","useCountryQuery","locale","response","useCombinedCountryData","l10n","data","countries","isLoading","isLoadingCountries","phonePrefixes","isLoadingPhonePrefixes","React","phonePrefix","country","find","code","shortName","prefixNumber","countryCode","countryName","useFieldValueChangeMonitoring","setValue","monitorValue","currentValue","isValueDirty","useSignUpTrackingEvents","track","opts","useTelemetry","normalizedQueryParams","useNormalizedQueryParams","properties","keyPrefix","source","useAzureAppInsightsTracking","firstName","lastName","portalLanguage","phoneNumber","password","acceptTerms","businessName","employeeSize","size","next","step","previous","createButton","portalReady","portalId","useCreatePortal","mutate","error","mutationError","useSignupRequestMutation","useMutation","mutationFn","method","body","JSON","stringify","consentToMarketing","acceptRules","leadSource","firstEntryPoint","conversionUrl","entryReferrerUrl","document","referrer","conversionDeviceCategory","getDeviceCategory","timeZone","Intl","DateTimeFormat","resolvedOptions","ok","Error","statusText","requestId","outputModel","connection","useRef","portalStatus","setPortalStatus","wsError","setWsError","createPortalResponse","setCreatePortalResponse","createWebSocketConnection","useCallback","newConnection","socketConnection","on","errorMsg","start","invoke","current","err","console","errorMessages","generic","stop","signupRequestResponse","failureMessage","ua","navigator","userAgent","includes","useIntercom","useService","Intercom","app_id","region","useWindowDimensions","dimensions","setDimensions","width","innerWidth","innerHeight","handleResize","addEventListener","removeEventListener","usePortalLanguagesData","portalLanguageOptions","id","portalLanguages","StyledSummaryStyles","css","dropdownWrapperStyles","summary","StyledDropdownOptionWrapper","StyledImg","img","FlagPlaceholder","StyledDropdownWrapper","useFlagImgSrc","imageSrc","setImageSrc","isCancelled","toUpperCase","then","result","default","catch","CountryFlagOption","_ref","option","countriesPhoneData","countryData","flagImgSrc","DropdownOption","DropdownOptionLabel","src","alt","color","CountryFlagSummary","onClick","PREFIX_FIELD_WIDTH","GRID_GAP","CustomCell","$width","rules","v","required","validationRules","phone","portalLanguageId","FirstStepForm","showPassword","setShowPassword","setStep","update","isLoadingEmailAlreadyInUse","isLoadingCombinedData","emailErrorMessage","validationLabels","inUse","phoneCountryCodePrefix","localizeDefaultData","validate","errors","useValidation","phonePrefixOptions","usePhonePrefixOptions","_Fragment","element","firstStepTitle","isRequired","onFocus","onBlur","onChange","suffix","InlineSpinner","helpText","emailSuggestion","Grid","SelectField","isSearchable","LABELS","options","isDisabled","dropdownMinWidth","renderOption","renderSummary","onPhonePrefixChange","selectedCountry","String","iconName","portalLanguageHelpText","uiCultureName","termsAndConditions","params","Link","getText","dataProccesingLinks","target","dataProcessing","privacyPolicyLinks","privacyPolicy","trialTermsLinks","trialTerms","generalTermsLinks","generalTerms","handleNextStep","SIGNUP_FORM_STEPS","second","firstStepCTA","GTM_EVENTS","FORM_SUBMITTED","dataLayer","push","event","formId","employees","SecondStepForm","isCountryQueryLoading","alias","isAliasPredictionLoading","mappedCountries","useMapAndSortCountries","secondStepTitle","secondStepSubtitle","businessLabels","businessNameHelpText","businessLocation","businessLocationHelpText","businessType","businessTypeHelpText","employeesNumber","Field","CheckboxField","marketingCommunicationsAccepted","marketingCommunications","StyledButtonWrapper","handlePreviousStep","first","third","Container","StyledProgressBar","ProgressBar","StyledButton","StyledErrorImg","StyledLogo","ThirdStepForm","isSimulationStarted","setIsSimulationStarted","showErrorView","setShowErrorView","autoLoginUrl","stringifiedPortalId","dreamdata","identify","sendSuccessEventToMarketingTrackingTool","assign","plandayLogo","errorImagePath","LoadingError","loadingErrorCTA","mode","simulationType","isSimulationFinished","thickness","smallDevices","StyledBackground","white","backgroundPath","ColumnLayout","Column","_ref2","$background","FormWrapper","DescriptionContainer","DescriptionTextWrapper","StyledText","StyledIconWithText","text","icon","className","EMPTY_FORM","Signup","useModel","windowWidth","Stepper","steps","stepperStep1","stepperStep2","stepperStep3","activeStep","labelsOrientation","descriptionPoint1","descriptionPoint2","marketingCommunicationDuringTrial","subTitle","industryTranslations","invalid","model","prop","length","isNaN","Number","emailInUse","isUsed","currentCountryCode","split","matchingCountry","matchingLanguage","toLocaleLowerCase","orderBy","sort","a","b","sortIgnoringSpecialCharacters","localeCompare","sensitivity","item","path","pathname","urlLanguage","p","Locale","getLocaleFromUrl","keysToPick","searchParams","useSearchParams","paramsDictionary","fromEntries","URLSearchParams","keys","filter","k","reduce","acc","str","replace","_","letter","formatPhonePrefixes","prefixOptions","prefix","formatCountries","countryOptions","getTimeZones","setValidationRules","formData","formMetadata","settings","pattern","HubConnectionBuilder","withUrl","build","getEventChannel","store","signUpState","getState","xeroSignup","eventChannel","emit","portalUrl","failureHandler","unsubscribe","send","signupRequestId","signupToPlanday","theFormIsPrefilled","userNameEmail","signup","connectYourXeroOrganisation","xeroOrganisations","continue","loginModalTitle","loginBtn","signupModalTitle","signupBtn","linkChooseAnotherOrg","errorScreenTitle","errorScreenBody","errorScreenBtn","termsAndConditionsCheckboxText","seeAllDocuments","here","termsAndConditionsLink","termsAndConditionsAriaTitle","onboardingExampleStepsTitle","onboardingExampleStepsList","onboardingStatusInProgress","onboardingStatusFinished","onboardingAutoRedirectCountdown","webpackAsyncContext","req","__webpack_require__","o","e","ids","module","exports"],"sourceRoot":""}