{"version":3,"file":"LazyAddressPage.acbeca26571905f2.prod.js","mappings":"sXAoBA,MAAMA,EAAc,IAAM,MAAMC,OAAO,aAMhC,MAAMC,EAA0C,KACrD,CACEC,MAAO,CACLC,EACAC,EACAC,EACAC,KAEAP,EACE,+BAA+BI,kBAAwBI,KAAKC,UAC1DJ,gBACaG,KAAKC,UAAUH,MAE5BC,GAAIA,GAAI,EAEdG,SAAU,CACRC,EACAN,EACAC,EACAC,KAEAP,EACE,8BAA8BW,kBAAuBH,KAAKC,UACxDJ,gBACaG,KAAKC,UAAUH,MAE5BC,GAAIA,GAAI,EAEdK,KAAM,CACJC,EACAC,EACAT,EACAC,EACAC,KAEAP,EACE,2BAA2Bc,gBAAuBD,kBAAyBL,KAAKC,UAC9EJ,gBACaG,KAAKC,UAAUH,MAE5BC,GAAIA,GAAI,EAEdQ,MAAO,KACLf,EAAY,kBAAkB,EAEhCgB,MAAO,CACLC,EACAZ,EACAC,EACAC,KAEAP,EACE,sBAAsBiB,kBAA2BT,KAAKC,UACpDJ,gBACaG,KAAKC,UAAUH,MAE5BC,GAAIA,GAAI,IAIlB,IAAYW,GAAZ,SAAYA,GACV,yBACA,kBACD,CAHD,CAAYA,IAAAA,EAAY,KAKyBA,EAAaC,QAAvD,MACMC,EAA4C,CACvDC,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,SAAS,GAgBLC,EAAmBC,MACvBC,EACAC,EAAeV,EAAaC,QAC5BU,EAAuBT,KAEvB,MAAMU,EAAqB,CAAEC,eAAgBH,GAiE7C,MAhE6C,CAC3CzB,MAAOuB,MAAOtB,EAASC,EAAY2B,EAAeH,WAC1C,EAAAI,KAAA,iBAAsBC,IAC1BP,EAAUxB,MACRC,EACA,IAAKC,KAAeyB,GACpB,CAAEE,gBACFE,EACD,GACD,EAEJxB,SAAUgB,MAAOf,EAAQN,EAAY2B,EAAeH,WAC5C,EAAAI,KAAA,iBAAsBC,IAC1BP,EAAUjB,SACRC,EACA,IAAKN,KAAeyB,GACpB,CAAEE,gBACFE,EACD,GACD,EAEJtB,KAAMc,MAAOS,EAAU9B,EAAY2B,EAAeH,KAChD,MAAM,SAAEhB,EAAQ,KAAEuB,GAAS,KAAoBD,GACzCE,EAAc,CAClBC,eAAgBC,OAAOC,YACvBC,cAAeF,OAAOG,kBAElB,EAAAT,KAAA,iBAAsBC,IAC1BP,EAAUf,KACRC,EACAuB,EACA,IAAK/B,KAAeyB,KAA6CO,GACjE,CACEL,gBAEFE,EACD,GACD,EAEJnB,MAAO,KACLY,EAAUZ,OAAO,EAEnBC,MAAOU,MAAOT,EAAYZ,EAAY2B,EAAeH,KACnD,MAAMc,EAAUJ,OAAOK,SAASC,SAASC,MACvC,qEAEIC,EAEF,CACEC,UAAWL,GAASM,QAAQC,SAC5BC,WAAYR,GAASM,QAAQG,iBAE7B,EAAAnB,KAAA,iBAAsBC,IAC1BP,EAAUX,MACRC,EACA,IAAKa,KAAuBiB,KAA6B1C,GACzD,CACE2B,gBAEFE,EACD,GACD,EAGiB,GAGa,QACpC,KACA,GAFoC,EAGpCR,SACOD,EAAiBvB,O,yCCzLnB,MAAMmD,EAAoD,IAAIC,KACnE,MAAM3B,GAAY,QAAa,OAC/B,IAAA4B,YAAU,KACR,MAAMC,EAAQF,EACU,mBAAbE,EAAM,KACfA,EAAM,GAAKA,EAAM,MAEnB7B,GAAWf,QAAQ4C,EAAM,GAExB,CAAC7B,GAAW,C,0rBCRjB,MAAM8B,EAAiB,CAAC,EAUXC,EAAoC,IAAG;;;;;;;;;;;;;;;;;;;;;;;;;0HCF7C,SAASC,GAAQ,kBAAEC,EAAiB,WAAEC,IAC3C,OACE,UAAC,KAAU,eAXoB,sBAa7BC,UAAWD,EACXE,OAAQ,KAAiBC,cACzBC,QAASL,EAAiB,WAE1B,SAAC,KAAU,CAACxB,KAAM,KAAe8B,YAfnB,SAmBpB,C,ICRYC,E,wIAWL,SAASC,GAAY,oBAAEC,EAAmB,WAAER,IACjD,OACE,iCACE,SAAC,KAAQ,CAACS,MAAO,KAAcC,WAAW,SAASC,KAAK,WAAU,SAC/DX,EAAaM,EAAUM,oBAAsBN,EAAUO,gBAE1D,SAAC,KAAa,WACZ,SAACC,EAAY,CACXC,gCAAiC,CAAC,KAAgCC,SAClEC,aAAc,CAAEC,MAAO,CAAEC,aAAa,IACtCC,MAAI,EACJC,SAAUb,EACVc,YAAahB,EAAUiB,wBAKjC,EA5BA,SAAYjB,GACV,oCACA,oCACA,0CACD,CAJD,CAAYA,IAAAA,EAAS,KA8BrB,MAAMQ,GAAe,aAAO,MAAoB;;MAE1C;;;;MAIA;;;;MAIA;;EC5CC,SAASU,GAAa,QAC3BR,EAAO,YACPS,EAAW,oBACXC,EAAmB,WACnBC,IAEA,OAAOX,GACL,SAAC,KAAG,CAACY,IAAKZ,EAAQa,SAAUC,IAAKd,EAAQe,UAAWC,gBAAiBN,KAErE,SAAC,KAAK,CAACD,YAAaA,EAAaE,WAAYA,GAEjD,CCCO,MAAMM,EAAc,EAAG1C,YAAWoC,iBACvC,MAAMO,GAAa,QAAa,MAC1BpE,GAAY,QAAa,OAEzB,eAAEqE,EAAc,WAAEC,IAAe,WAEhCC,GJ8BF,SAA8CC,GAC7C,MAAM7F,EAAU,IAAImD,KAAmB0C,GACvC,OAAO,IAAkGzC,EAAmCpD,EAC9I,CIjCqB8F,IAElBvB,EAASwB,IAAiB,IAAAC,YAC3B1D,GAAW,IAAA2D,QAAO,CACtBd,IAAK,EACLE,IAAK,KAGP,QAAsB,KAAmBa,mBAAoB,CAC3DrD,WAAYC,IAGd,MA0BMQ,GAAoB,QACxBlC,UACE,GAAe,MAAXmD,EAAiB,OACrB,MAAM,KAAE4B,SAAeP,EAAe,CACpCQ,UAAW,CACTC,GAAIvD,EACJR,SAAU,CACRiC,QAASA,EAAQA,QACjB+B,kBAAmB/B,EACnBgC,WAAW,EACXnB,SAAU9C,EAASkE,QAAQrB,IAC3BG,UAAWhD,EAASkE,QAAQnB,QAK5BoB,EAAaN,GAAMO,0BAA0BpE,UAAUqE,eAEvDtF,GAAWX,MAAM,KAAoBkG,6BAA8B,CACvE/D,WAAYC,KAGd2C,GAAYoB,SAAS,aAAa/D,KAAa2D,EAAa,UAAY,iBAAkB,CACxFK,SAAS,GACT,GAEJ,CAACzF,EAAWoE,EAAYG,EAAgBrB,EAASzB,GACjD,MAGF,OACE,iCACE,SAAC,KAAO,CACNiE,cAAe,KAAgBC,QAC/BlE,UAAWA,EACXoC,WAAYA,EACZS,WAAYA,KAEd,SAAC,KAAW,WACV,SAAC,KAAS,CACRsB,SAAS,SAAC5D,EAAO,CAACC,kBAAmBA,EAAmBC,aAAcgB,IACtE2C,gBAAc,EACdC,aACE,SAACrD,EAAW,CAACC,oBAxDMqD,IAC3B,GAAuB,MAAnBA,EAAyB,OAE7B,MAAMC,EAAc,IAAKD,UAClBC,EAAYC,OAEnBvB,EAAcsB,GACd/E,EAASkE,QAAQrB,IAAMkC,EAAYjC,SACnC9C,EAASkE,QAAQnB,IAAMgC,EAAY/B,UAEnCjE,GAAWX,MAAM,KAAoB6G,0BAA0B,EA8CAhE,aAAcgB,IAEvEiD,cACE,SAACzC,EAAY,CACXR,QAASA,EACTS,YAAaU,GAAgB+B,sBAC7BxC,oBA3EiByC,IAC3BpF,EAASkE,QAAQrB,IAAMuC,EAAOvC,MAC9B7C,EAASkE,QAAQnB,IAAMqC,EAAOrC,MAG5Bd,GACAjC,EAASkE,QAAQrB,MAAQZ,EAAQa,UACjC9C,EAASkE,QAAQnB,MAAQd,EAAQe,WAEjCjE,GAAWX,MAAM,KAAoBiH,8B,EAmE7BzC,WAAYA,UAMvB,EAGH,G","sources":["webpack://aurora-new-frontend/./packages/common/packages/analytics/src/provide-analytics.ts","webpack://aurora-new-frontend/./packages/common/packages/analytics/src/hook.ts","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/address/address.generated.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/address/components/buttons.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/address/components/left-content.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/address/components/right-content.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/address/address-page.tsx"],"sourcesContent":["import debug from 'debug';\nimport JwtDecode from 'jwt-decode';\nimport { distinctUntilChanged, filter } from 'rxjs/operators';\n\nimport {\n Analytics,\n AnalyticsPageValues,\n AppConfig,\n AuthToken,\n IAnalyticsProvider,\n provide,\n util,\n} from '@aurorasolar/common-module-loader';\n\nimport type { Subscription } from 'rxjs';\nimport type { Analytics as SegmentAnalytics } from '@segment/analytics-next';\n\n// Segment API uses callbacks, so we have to use them too.\n/* eslint-disable promise/prefer-await-to-callbacks */\n\nconst debugLogger = debug('v2').extend('analytics');\n\nlet subscription: Subscription | undefined;\n\ntype AnalyticsObject = { [name: string]: string | boolean | number };\n\nexport const MockedAnalytics: () => SegmentAnalytics = () =>\n ({\n group: (\n groupId: string,\n properties?: AnalyticsObject,\n options?: AnalyticsObject,\n cb?: () => void,\n ) => {\n debugLogger(\n `Analytics > identify group: ${groupId}, properties: ${JSON.stringify(\n properties,\n )}, options: ${JSON.stringify(options)}`,\n );\n if (cb) cb();\n },\n identify: (\n userId: string,\n properties?: AnalyticsObject,\n options?: AnalyticsObject,\n cb?: () => void,\n ) => {\n debugLogger(\n `Analytics > identify user: ${userId}, properties: ${JSON.stringify(\n properties,\n )}, options: ${JSON.stringify(options)}`,\n );\n if (cb) cb();\n },\n page: (\n category: string | undefined,\n pageName: string,\n properties?: AnalyticsObject,\n options?: AnalyticsObject,\n cb?: () => void,\n ) => {\n debugLogger(\n `Analytics > track page: ${pageName}, category: ${category}, properties: ${JSON.stringify(\n properties,\n )}, options: ${JSON.stringify(options)}`,\n );\n if (cb) cb();\n },\n reset: () => {\n debugLogger('Reset analytics');\n },\n track: (\n actionName: string,\n properties?: AnalyticsObject,\n options?: AnalyticsObject,\n cb?: () => void,\n ) => {\n debugLogger(\n `Analytics > track: ${actionName}, properties: ${JSON.stringify(\n properties,\n )}, options: ${JSON.stringify(options)}`,\n );\n if (cb) cb();\n },\n } as SegmentAnalytics);\n\nexport enum WebUiVersion {\n Default = 2,\n SDK = 'client-sdk',\n}\n\nexport const defaultProperty = { web_ui_version: WebUiVersion.Default };\nexport const defaultIntegrations: AnalyticsIntegration = {\n All: true,\n HubSpot: false,\n Salesforce: false,\n Zendesk: false,\n};\n\nexport type AnalyticsIntegration = {\n All: boolean;\n Amplitude?: boolean;\n Datadog?: boolean;\n HubSpot?: boolean;\n Intercom?: boolean;\n Salesforce?: boolean;\n Zendesk?: boolean;\n};\n\n// Wrap the segment calls in Aurora types\n// Add web_ui_version\n// Add default integrations\nconst analyticsWrapper = async (\n analytics: SegmentAnalytics,\n webUiVersion = WebUiVersion.Default,\n providedIntegrations = defaultIntegrations,\n): Promise => {\n const providedProperties = { web_ui_version: webUiVersion };\n const wrappedAnalytics: IAnalyticsProvider = {\n group: async (groupId, properties, integrations = providedIntegrations) => {\n await util.wrapWithTimeout((resolve) => {\n analytics.group(\n groupId,\n { ...properties, ...providedProperties },\n { integrations },\n resolve,\n );\n });\n },\n identify: async (userId, properties, integrations = providedIntegrations) => {\n await util.wrapWithTimeout((resolve) => {\n analytics.identify(\n userId,\n { ...properties, ...providedProperties },\n { integrations },\n resolve,\n );\n });\n },\n page: async (pageType, properties, integrations = providedIntegrations) => {\n const { category, name } = AnalyticsPageValues[pageType];\n const browserSize = {\n browser_height: window.outerHeight,\n browser_width: window.outerWidth,\n };\n await util.wrapWithTimeout((resolve) => {\n analytics.page(\n category,\n name,\n { ...properties, ...providedProperties, ...(CYPRESS_BUILD ? {} : browserSize) },\n {\n integrations,\n },\n resolve,\n );\n });\n },\n reset: () => {\n analytics.reset();\n },\n track: async (actionName, properties, integrations = providedIntegrations) => {\n const matches = window.location.pathname.match(\n /projects\\/(?[\\w-]+)(\\/(designs)\\/(?[\\w-]+))?/,\n );\n const defaultDynamicProperties: { design_id?: string; project_id?: string } = CYPRESS_BUILD\n ? {}\n : {\n design_id: matches?.groups?.designId,\n project_id: matches?.groups?.projectId,\n };\n await util.wrapWithTimeout((resolve) => {\n analytics.track(\n actionName,\n { ...providedProperties, ...defaultDynamicProperties, ...properties },\n {\n integrations,\n },\n resolve,\n );\n });\n },\n };\n return wrappedAnalytics;\n};\n\nexport const provideMockedAnalytics = provide(\n Analytics,\n [] as const,\n)(async () => {\n return analyticsWrapper(MockedAnalytics());\n});\n\nexport const provideMockAnalyticsWithMockFns = (mockProvider: Partial) =>\n provide(\n Analytics,\n [] as const,\n )(async () => {\n return {\n group: (...args) => mockProvider.group?.(...args),\n identify: (...args) => mockProvider.identify?.(...args),\n page: (...args) => mockProvider.page?.(...args),\n reset: (...args) => mockProvider.reset?.(...args),\n track: (...args) => mockProvider.track?.(...args),\n };\n });\n\nexport const makeAnalyticsProvider = (app?: WebUiVersion, integrations?: AnalyticsIntegration) => {\n return provide(Analytics, [AppConfig, AuthToken] as const)(async (appConfig, authToken$) => {\n if (appConfig.segmentWriteKey == null) {\n // TODO: use provideMockedAnalytics instead of dynamic fallback\n return analyticsWrapper(MockedAnalytics());\n }\n try {\n const { AnalyticsBrowser } = await import('@segment/analytics-next');\n\n const analytics: SegmentAnalytics = await AnalyticsBrowser.standalone(\n appConfig.segmentWriteKey!,\n {\n initialPageview: false,\n },\n );\n\n // clear cache\n analytics.reset();\n\n subscription?.unsubscribe();\n subscription = authToken$\n .pipe(\n filter((token): token is string => token != null),\n distinctUntilChanged(),\n )\n .subscribe((token) => {\n const { id } = JwtDecode<{ id: string }>(token);\n analytics\n .identify(id)\n .catch((err) => debugLogger('Analytics > Identify timed out: ', err));\n });\n\n return await analyticsWrapper(analytics, app, integrations);\n } catch (e) {\n return analyticsWrapper(MockedAnalytics());\n }\n });\n};\n","import { useEffect } from 'react';\n\nimport { Analytics, IAnalyticsProvider, useAppModule } from '@aurorasolar/common-module-loader';\n\nexport const useAnalyticsPageEvent: IAnalyticsProvider['page'] = (...rawProps) => {\n const analytics = useAppModule(Analytics);\n useEffect(() => {\n const props = rawProps;\n if (typeof props[1] === 'function') {\n props[1] = props[1]();\n }\n analytics?.page(...props);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [analytics]);\n};\n","// @ts-ignore: Ignore unused { * as Types } import\nimport * as Types from '@aurorasolar/graphql-client-schema';\n\nimport { gql } from '@apollo/client';\nimport * as Apollo from '@apollo/client';\nconst defaultOptions = {} as const;\nexport type SubmitLeadCaptureLocationMutationVariables = Types.Exact<{\n id: Types.Scalars['ID'];\n location: Types.SubmittedLeadCaptureLocation;\n}>;\n\n\nexport type SubmitLeadCaptureLocationMutation = { __typename: 'Mutation', submitLeadCaptureLocation: { __typename: 'LeadCaptureProject', id: string, address?: string | null | undefined, addressComponents?: { __typename: 'LeadCaptureAddressComponents', address: string, city?: string | null | undefined, state?: string | null | undefined, latitude: number, longitude: number, postalCode?: string | null | undefined, country?: string | null | undefined, street?: string | null | undefined, streetAddress?: string | null | undefined, streetNumber?: string | null | undefined } | null | undefined, location?: { __typename: 'LeadCaptureLocation', latitude: number, longitude: number, confirmed?: boolean | null | undefined, serviced?: boolean | null | undefined } | null | undefined } };\n\n\nexport const SubmitLeadCaptureLocationDocument = gql`\n mutation SubmitLeadCaptureLocation($id: ID!, $location: SubmittedLeadCaptureLocation!) @trace_info(traceInfo: {pod: leads}) {\n submitLeadCaptureLocation(id: $id, location: $location) {\n id\n address\n addressComponents {\n address\n city\n state\n latitude\n longitude\n postalCode\n country\n street\n streetAddress\n streetNumber\n }\n location {\n latitude\n longitude\n confirmed\n serviced\n }\n }\n}\n `;\nexport type SubmitLeadCaptureLocationMutationFn = Apollo.MutationFunction;\n\n/**\n * __useSubmitLeadCaptureLocationMutation__\n *\n * To run a mutation, you first call `useSubmitLeadCaptureLocationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSubmitLeadCaptureLocationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [submitLeadCaptureLocationMutation, { data, loading, error }] = useSubmitLeadCaptureLocationMutation({\n * variables: {\n * id: // value for 'id'\n * location: // value for 'location'\n * },\n * });\n */\nexport function useSubmitLeadCaptureLocationMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(SubmitLeadCaptureLocationDocument, options);\n }\nexport type SubmitLeadCaptureLocationMutationHookResult = ReturnType;\nexport type SubmitLeadCaptureLocationMutationResult = Apollo.MutationResult;\nexport type SubmitLeadCaptureLocationMutationOptions = Apollo.BaseMutationOptions;","import { AuroraIcon, AuroraIconType } from '@aurorasolar/common-core/src/icon';\n\nimport { LCAIButton, LCAIButtonIntent } from '../../../typography';\n\nexport const NEXT_BUTTON_TEST_ID = 'next-button-test-id';\n\nconst BUTTON_TEXT = 'Next';\n\nexport interface ButtonsProps {\n handleAddressSave: () => void;\n hasAddress: boolean;\n}\n\nexport function Buttons({ handleAddressSave, hasAddress }: ButtonsProps) {\n return (\n \n \n {BUTTON_TEXT}\n \n );\n}\n","import styled from 'styled-components';\n\nimport {\n AddressAutocomplete,\n AutocompleteRequestLocationType,\n FullAddress,\n} from '@aurorasolar/common-google-map';\n\nimport { BoxWithMargin } from '../../../shared-components';\nimport { LCAIText } from '../../../typography';\nimport {\n HEADER_COLOR,\n INPUT_FOCUS_STYLE,\n INPUT_PLACEHOLDER_STYLE,\n INPUT_STYLE,\n} from '../../../utils/constants';\n\nexport enum Constants {\n ENTRY_HEADER = 'Where do you live?',\n ENTRY_PLACEHOLDER = 'Enter address',\n CONFIRMATION_HEADER = 'Is this your home?',\n}\n\nexport interface LeftContentProps {\n handleAddressSelect: (selectedAddress: FullAddress | null) => void;\n hasAddress: boolean;\n}\n\nexport function LeftContent({ handleAddressSelect, hasAddress }: LeftContentProps) {\n return (\n <>\n \n {hasAddress ? Constants.CONFIRMATION_HEADER : Constants.ENTRY_HEADER}\n \n \n \n \n \n );\n}\n\nconst AddressEntry = styled(AddressAutocomplete)`\n .bp3-input-group input.bp3-input {\n ${INPUT_STYLE}\n }\n\n .bp3-input-group input.bp3-input::placeholder {\n ${INPUT_PLACEHOLDER_STYLE}\n }\n\n .bp3-input-group input.bp3-input:focus {\n ${INPUT_FOCUS_STYLE}\n }\n`;\n","import { FullAddress } from '@aurorasolar/common-google-map';\n\nimport { CustomImageFragment } from '../../../lead-capture.generated';\nimport { Image, Map } from '../../../shared-components';\nimport { SourcePage } from '../../../utils/source-page';\n\nexport interface RightContentProps {\n address?: FullAddress;\n customImage?: CustomImageFragment | null;\n handleAddressChange: (center: google.maps.LatLng) => void;\n sourcePage: SourcePage;\n}\n\nexport function RightContent({\n address,\n customImage,\n handleAddressChange,\n sourcePage,\n}: RightContentProps) {\n return address ? (\n \n ) : (\n \n );\n}\n","import { useRef, useState } from 'react';\n\nimport { useAnalyticsPageEvent } from '@aurorasolar/common-analytics';\nimport { useDebouncedCallback } from '@aurorasolar/common-core/src/hooks';\nimport { FullAddress } from '@aurorasolar/common-google-map';\nimport {\n Analytics,\n AnalyticsEventTypes,\n AnalyticsPageTypes,\n AppRouterNavigation,\n useAppModule,\n} from '@aurorasolar/common-module-loader';\n\nimport { useRouteData } from '../../hooks';\nimport { AnimateView, SplitView, TopRail } from '../../shared-components';\nimport { DEBOUNCE_TIME, PROGRESS_VALUES } from '../../utils/constants';\nimport { SourcePage } from '../../utils/source-page';\nimport { useSubmitLeadCaptureLocationMutation } from './address.generated';\nimport { Buttons, LeftContent, RightContent } from './components';\n\nexport interface AddressPageProps {\n projectId: string;\n sourcePage: SourcePage;\n}\n\nexport const AddressPage = ({ projectId, sourcePage }: AddressPageProps) => {\n const navigation = useAppModule(AppRouterNavigation);\n const analytics = useAppModule(Analytics);\n\n const { customSettings, templateId } = useRouteData();\n\n const [submitLocation] = useSubmitLeadCaptureLocationMutation();\n\n const [address, updateAddress] = useState();\n const location = useRef({\n lat: 0,\n lng: 0,\n });\n\n useAnalyticsPageEvent(AnalyticsPageTypes.LeadCaptureAddress, {\n project_id: projectId,\n });\n\n const handleAddressChange = (center: google.maps.LatLng) => {\n location.current.lat = center.lat();\n location.current.lng = center.lng();\n\n if (\n address &&\n location.current.lat !== address.latitude &&\n location.current.lng !== address.longitude\n ) {\n analytics?.track(AnalyticsEventTypes.LeadCaptureChangedMapLocation);\n }\n };\n\n const handleAddressSelect = (selectedAddress: FullAddress | null) => {\n if (selectedAddress == null) return;\n\n const leadAddress = { ...selectedAddress };\n delete leadAddress.county;\n\n updateAddress(leadAddress);\n location.current.lat = leadAddress.latitude;\n location.current.lng = leadAddress.longitude;\n\n analytics?.track(AnalyticsEventTypes.LeadCaptureEnteredAddress);\n };\n\n const handleAddressSave = useDebouncedCallback(\n async () => {\n if (address == null) return;\n const { data } = await submitLocation({\n variables: {\n id: projectId,\n location: {\n address: address.address,\n addressComponents: address,\n confirmed: true,\n latitude: location.current.lat,\n longitude: location.current.lng,\n },\n },\n });\n\n const isServiced = data?.submitLeadCaptureLocation.location?.serviced;\n\n await analytics?.track(AnalyticsEventTypes.LeadCaptureConfirmedLocation, {\n project_id: projectId,\n });\n\n navigation?.navigate(`/projects/${projectId}/${isServiced ? 'utility' : 'drop/address'}`, {\n replace: true,\n });\n },\n [analytics, navigation, submitLocation, address, projectId],\n DEBOUNCE_TIME,\n );\n\n return (\n <>\n \n \n }\n hasProgressBar\n leftContent={\n \n }\n rightContent={\n \n }\n />\n \n \n );\n};\n\nexport default AddressPage;\n"],"names":["debugLogger","extend","MockedAnalytics","group","groupId","properties","options","cb","JSON","stringify","identify","userId","page","category","pageName","reset","track","actionName","WebUiVersion","Default","defaultIntegrations","All","HubSpot","Salesforce","Zendesk","analyticsWrapper","async","analytics","webUiVersion","providedIntegrations","providedProperties","web_ui_version","integrations","util","resolve","pageType","name","browserSize","browser_height","window","outerHeight","browser_width","outerWidth","matches","location","pathname","match","defaultDynamicProperties","design_id","groups","designId","project_id","projectId","useAnalyticsPageEvent","rawProps","useEffect","props","defaultOptions","SubmitLeadCaptureLocationDocument","Buttons","handleAddressSave","hasAddress","disabled","intent","PRIMARY_LIGHT","onClick","BTN_ARROW","Constants","LeftContent","handleAddressSelect","color","fontWeight","type","CONFIRMATION_HEADER","ENTRY_HEADER","AddressEntry","autoCompleteRequestLocationType","address","fieldOptions","state","useLongName","fill","onSelect","placeholder","ENTRY_PLACEHOLDER","RightContent","customImage","handleAddressChange","sourcePage","lat","latitude","lng","longitude","onAddressChange","AddressPage","navigation","customSettings","templateId","submitLocation","baseOptions","useSubmitLeadCaptureLocationMutation","updateAddress","useState","useRef","LeadCaptureAddress","data","variables","id","addressComponents","confirmed","current","isServiced","submitLeadCaptureLocation","serviced","LeadCaptureConfirmedLocation","navigate","replace","progressValue","ADDRESS","buttons","hasProgressBar","leftContent","selectedAddress","leadAddress","county","LeadCaptureEnteredAddress","rightContent","addressEntryPageImage","center","LeadCaptureChangedMapLocation"],"sourceRoot":""}