{"version":3,"file":"LazyQualificationQuestionPage.78c9013a6f50da1d.prod.js","mappings":"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","sources":["webpack://aurora-new-frontend/./packages/common/packages/core/src/checkbox/checkbox.tsx","webpack://aurora-new-frontend/./packages/common/packages/core/src/input/input-error.tsx","webpack://aurora-new-frontend/./packages/common/packages/core/src/input/text-input/text-input.tsx","webpack://aurora-new-frontend/./packages/common/packages/core/src/validator/use-validator.ts","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/qualification.generated.tsx","webpack://aurora-new-frontend/./packages/common/packages/core/src/button-group/button-group.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/answer-types/button-group-answer.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/answer-types/multi-select-answer.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/answer-types/ownership-selector.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/answer-types/radio-group.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/answer-types/answer-matcher.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/answer-types/dropdown-answer.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/qualification-question/qualification-question-core.tsx","webpack://aurora-new-frontend/./packages/lead-capture/src/pages/qualification/qualification-question/qualification-question-page.tsx"],"sourcesContent":["import { darken } from 'polished';\nimport styled from 'styled-components';\n\nimport { Checkbox } from '@blueprintjs/core';\n\nimport { Colors } from '../colors';\n\nexport const AuroraCheckbox = styled(Checkbox)`\n color: ${Colors.GRAY_800};\n margin-bottom: 12;\n\n && {\n .bp3-control-indicator {\n border: 1px solid ${Colors.GRAY_400};\n border-radius: 3px;\n box-shadow: unset;\n background: white;\n font-size: 18px;\n margin-right: 11px;\n }\n\n input:checked ~ .bp3-control-indicator {\n box-shadow: unset;\n border: unset;\n background-color: #010619;\n\n &::before {\n /* stylelint-disable-next-line */\n font: normal normal normal 20px/1 FrontendV2;\n\n /* unicode for component-enabled */\n content: '\\f065';\n height: inherit;\n width: inherit;\n position: absolute;\n right: 1px;\n bottom: 1px;\n }\n }\n\n input:indeterminate ~ .bp3-control-indicator {\n box-shadow: unset;\n border: unset;\n background-color: #010619;\n\n &::before {\n /* stylelint-disable-next-line */\n font: normal normal normal 20px/1 FrontendV2;\n\n /* unicode for component-disabled */\n content: '\\f063';\n height: inherit;\n width: inherit;\n position: absolute;\n right: 1px;\n bottom: 1px;\n }\n }\n\n input:disabled:not(:checked) ~ .bp3-control-indicator {\n border: 1px solid ${Colors.GRAY_300};\n background: white;\n }\n\n input:disabled:checked ~ .bp3-control-indicator {\n background: ${Colors.GRAY_400};\n }\n }\n\n &:hover {\n input:checked:not(:disabled) ~ .bp3-control-indicator {\n background-color: ${darken(0.1, '#010619')};\n }\n\n input:indeterminate:not(:disabled) ~ .bp3-control-indicator {\n background-color: ${darken(0.1, '#010619')};\n box-shadow: unset !important;\n }\n\n input:not(:checked):not(:indeterminate):not(:disabled) ~ .bp3-control-indicator {\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\n border: 1px solid ${Colors.GRAY_400};\n }\n }\n`;\n","import styled from 'styled-components';\n\nimport { Flex } from '@rebass/grid';\n\nimport { AuroraText, TextType } from '../typography';\n\nconst StyledInputError = styled(Flex)`\n height: 16px;\n`;\n\nexport const INPUT_ERROR_TESTID = 'input-error';\ninterface InputErrorProps {\n error: string | undefined;\n}\nexport const InputError = ({ error }: InputErrorProps) => (\n \n {error !== undefined && (\n <>\n \n {error}\n \n \n )}\n \n);\n","import { FC, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { HTMLInputProps, IInputGroupProps, InputGroup } from '@blueprintjs/core';\nimport { Box, Flex } from '@rebass/grid';\n\nimport { Colors } from '../../colors';\nimport { Text } from '../../typography';\nimport { generateUuid } from '../../utils';\nimport { TextInputValidators, useValidator } from '../../validator';\nimport { DefaultInputCSS } from '../base';\nimport { InputError } from '../input-error';\n\nexport const MAX_INPUT_LENGTH = 255;\n\nconst StyledInputGroup = styled(InputGroup)`\n ${DefaultInputCSS}\n\n &.bp3-input-group {\n width: ${(props) => (!props.fill ? '300px' : '100%')};\n }\n`;\n\nexport interface AuroraInputGroupCustomProps {\n disableSelectAllOnFocus?: boolean;\n maxLength?: number;\n label?: string;\n validators?: TextInputValidators;\n noInlineErrors?: boolean;\n passedInErrors?: string[];\n}\n\nexport type AuroraInputGroupsProps = HTMLInputProps &\n IInputGroupProps &\n AuroraInputGroupCustomProps;\n\nexport const AuroraInputGroup: FC = ({\n disableSelectAllOnFocus,\n id,\n maxLength = MAX_INPUT_LENGTH,\n label,\n noInlineErrors = false,\n validators,\n passedInErrors = [],\n ...props\n}) => {\n const [inputId] = useState(id ?? generateUuid());\n const { disabled } = props;\n const [errors, validate] = useValidator(validators);\n\n return (\n \n {label && (\n \n \n {label}\n \n \n )}\n {\n const newValue = event.currentTarget.value;\n\n if (validate({ value: newValue })) {\n props.onInput?.(event);\n }\n }}\n onFocus={(e) => {\n if (!disableSelectAllOnFocus) {\n e.target.select();\n }\n return props.onFocus?.(e);\n }}\n {...props}\n />\n\n {!noInlineErrors && (\n \n \n \n )}\n \n );\n};\n","import { useCallback, useState } from 'react';\n\nimport { Validator, ValidatorProps, Validators } from './validators';\n\nconst renderResult = (\n failureResult: Validator['failureResult'],\n props: Props,\n) =>\n typeof failureResult === 'function'\n ? (failureResult as (props: Props) => Result)(props)\n : failureResult;\n\n// if validator arrays are built dynamicallly, they will never be the same twice.\n// convert the validators to a string, to check if it is the same from render to render\nconst hashValidators = (\n validators: Validators,\n) =>\n validators\n .map(({ failureResult }) => {\n if (typeof failureResult === 'object') {\n return JSON.stringify(failureResult);\n }\n return String(failureResult);\n })\n .join('-');\n\nexport const useValidator = (\n validators: Validator[] = [],\n) => {\n const [failures, setFailures] = useState([]);\n const validate = useCallback(\n (props: Props) => {\n const currentFailures = validators\n .filter(({ condition }) => !(condition?.(props) ?? false))\n .map(({ failureResult }) => renderResult(failureResult, props));\n\n setFailures(currentFailures);\n return currentFailures.length === 0;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hashValidators(validators)],\n );\n\n return [failures, validate] as const;\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 SubmitLeadCaptureQualificationQuestionAnswersMutationVariables = Types.Exact<{\n id: Types.Scalars['ID'];\n answers: Array | Types.SubmitLeadCaptureQualificationQuestionAnswerInput;\n}>;\n\n\nexport type SubmitLeadCaptureQualificationQuestionAnswersMutation = { __typename: 'Mutation', submitLeadCaptureQualificationQuestionAnswers: { __typename: 'LeadCaptureProject', id: string, disqualified?: boolean | null | undefined } };\n\n\nexport const SubmitLeadCaptureQualificationQuestionAnswersDocument = gql`\n mutation SubmitLeadCaptureQualificationQuestionAnswers($id: ID!, $answers: [SubmitLeadCaptureQualificationQuestionAnswerInput!]!) @trace_info(traceInfo: {pod: leads}) {\n submitLeadCaptureQualificationQuestionAnswers(id: $id, answers: $answers) {\n id\n disqualified\n }\n}\n `;\nexport type SubmitLeadCaptureQualificationQuestionAnswersMutationFn = Apollo.MutationFunction;\n\n/**\n * __useSubmitLeadCaptureQualificationQuestionAnswersMutation__\n *\n * To run a mutation, you first call `useSubmitLeadCaptureQualificationQuestionAnswersMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSubmitLeadCaptureQualificationQuestionAnswersMutation` 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 [submitLeadCaptureQualificationQuestionAnswersMutation, { data, loading, error }] = useSubmitLeadCaptureQualificationQuestionAnswersMutation({\n * variables: {\n * id: // value for 'id'\n * answers: // value for 'answers'\n * },\n * });\n */\nexport function useSubmitLeadCaptureQualificationQuestionAnswersMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(SubmitLeadCaptureQualificationQuestionAnswersDocument, options);\n }\nexport type SubmitLeadCaptureQualificationQuestionAnswersMutationHookResult = ReturnType;\nexport type SubmitLeadCaptureQualificationQuestionAnswersMutationResult = Apollo.MutationResult;\nexport type SubmitLeadCaptureQualificationQuestionAnswersMutationOptions = Apollo.BaseMutationOptions;","import { rgba } from 'polished';\nimport styled from 'styled-components';\n\nimport { Flex, FlexProps } from '@rebass/grid';\n\nimport {\n AuroraThemedButton,\n AuroraThemedButtonIntent,\n AuroraThemedButtonProps,\n} from '../button/themed-button';\nimport { Colors } from '../colors';\nimport { AuroraIcon, AuroraIconType } from '../icon';\nimport { Selectable } from '../select';\n\nconst identity = (_: unknown): string => _ as string;\n\nconst InlineFlex = styled(Flex)`\n display: inline-flex;\n`;\n\nexport interface AuroraButtonGroupProps extends FlexProps {\n selectable: Selectable;\n getComparison?: (item: T, selectable: T | undefined) => boolean;\n getItemKey?: (item: T) => string;\n getItemLabel?: (item: T) => string | undefined;\n getItemTestId?: (item: T) => string;\n getItemIcon?: (item: T) => AuroraIconType | undefined;\n getItemIconFillColor?: (item: T) => Colors | undefined;\n getItemImage?: (item: T) => string;\n buttonProps?: Partial;\n disabled?: boolean;\n}\n\nexport function AuroraButtonGroup(props: AuroraButtonGroupProps) {\n const {\n selectable,\n getItemKey,\n getItemLabel,\n getItemIcon,\n getItemIconFillColor,\n getItemImage,\n getItemTestId,\n getComparison,\n buttonProps = {},\n disabled = false,\n ...rest\n } = props;\n\n const { children: _, ref: __, ...flexProps } = rest;\n\n return (\n \n {selectable.items.map((item) => {\n const isSelected =\n getComparison && selectable.selectedItem\n ? getComparison(item, selectable.selectedItem)\n : item === selectable.selectedItem;\n const label = getItemLabel?.(item) ?? (typeof item === 'string' ? item : undefined);\n const textElement = label != null ? {label} : undefined;\n\n const icon = getItemIcon?.(item);\n const iconFillColor = getItemIconFillColor?.(item);\n const selectedIconColor = iconFillColor ?? Colors.GRAY_800;\n const unselectedIconColor = iconFillColor ? rgba(iconFillColor, 0.4) : 'currentcolor';\n const iconElement = icon && (\n \n );\n\n const image = getItemImage?.(item);\n const imageElement = image && {label};\n\n const isIconOnly = iconElement && !textElement;\n const iconOnlyProps = isIconOnly ? { minWidth: 'initial', px: 0, py: 0, width: 40 } : {};\n\n const children = isIconOnly ? iconElement : [iconElement, textElement, imageElement];\n\n return (\n selectable.onItemSelected?.(item, event)}\n role=\"radio\"\n selectedBgOverlayColor={Colors.GRAY_300}\n selectedTextWeight={500}\n {...{\n ...iconOnlyProps,\n ...(buttonProps as PLEASE_DO_NOT_USE_THIS_ANY_FOR_MIGRATION_ONLY),\n }}\n >\n {children}\n \n );\n })}\n \n );\n}\n","import styled from 'styled-components';\n\nimport { AuroraButtonGroup } from '@aurorasolar/common-core/src/button-group';\nimport { Colors } from '@aurorasolar/common-core/src/colors';\n\nimport { BoxWithMargin } from '../../../shared-components';\nimport { Option } from '../../../utils/qualification-questions';\n\nconst StyledButtonGroup = styled(AuroraButtonGroup)`\n && {\n display: grid;\n grid-template-columns: 88px 88px 88px;\n grid-gap: 16px;\n\n @media screen and (orientation: portrait) and (max-width: 359px),\n screen and (orientation: landscape) and (max-width: 718px) {\n grid-template-columns: 88px 88px;\n grid-gap: 16px;\n }\n\n button {\n border: 2px solid ${Colors.GRAY_400};\n border-radius: 6px;\n display: flex;\n flex-direction: column;\n width: 88px;\n height: 90px;\n padding: 0;\n justify-content: space-between;\n min-width: auto;\n white-space: normal;\n color: ${Colors.GRAY_700};\n font-style: normal;\n font-weight: 500;\n font-size: 12px;\n line-height: 14px;\n letter-spacing: 0.75px;\n text-transform: uppercase;\n }\n\n button:hover {\n background: ${Colors.GRAY_300};\n background-image: none !important;\n }\n\n button[aria-checked='true'] {\n border: 2px solid ${Colors.GRAY_800};\n background: none;\n }\n\n button span {\n flex-grow: 1;\n align-items: center;\n display: flex;\n }\n\n img {\n height: 44px;\n width: 100%;\n object-fit: cover;\n object-position: center;\n }\n }\n` as typeof AuroraButtonGroup;\n\nexport interface ButtonGroupAnswerProps {\n onSelectOption: (item: Option) => void;\n options: Option[];\n selectedOption?: Option;\n}\n\nexport function ButtonGroupAnswer({\n selectedOption,\n onSelectOption,\n options,\n}: ButtonGroupAnswerProps) {\n return (\n \n \n getComparison={(item, selectable?: Option) => item.key === selectable?.key}\n getItemImage={(option) => option?.img || ''}\n getItemKey={(option) => option?.key}\n getItemLabel={(option) => option?.label}\n selectable={{\n items: options,\n onItemSelected: onSelectOption,\n selectedItem: selectedOption,\n }}\n />\n \n );\n}\n","import { Flex } from 'reflexbox/styled-components';\nimport styled from 'styled-components';\n\nimport { AuroraCheckbox } from '@aurorasolar/common-core/src/checkbox/checkbox';\n\nimport { BoxWithMargin } from '../../../shared-components';\nimport { Option } from '../../../utils/qualification-questions';\n\nconst ButtonHeightCheckbox = styled(AuroraCheckbox)`\n line-height: 24px;\n margin-bottom: 20px;\n font-size: 16px;\n`;\n\nconst DELIMITER = '|';\n\ninterface MultiSelectAnswerProps {\n onSelectOption: (value: Option | undefined) => void;\n options: Option[];\n selectedOption: Option;\n}\n\nexport function MultiSelectAnswer({\n selectedOption,\n onSelectOption,\n options,\n}: MultiSelectAnswerProps) {\n const handleSelectOption = (option: Option) => {\n const selectedOptionKeysArr = selectedOption?.key?.split(DELIMITER) || [];\n const selectedOptionIndex = selectedOptionKeysArr?.findIndex((key) => key === option.key);\n\n if (selectedOptionIndex >= 0) {\n selectedOptionKeysArr.splice(selectedOptionIndex, 1);\n } else {\n selectedOptionKeysArr.push(option.key);\n }\n\n // Reset selectedOption state to ensure \"Next\" button is greyed out\n if (!selectedOptionKeysArr.length) {\n return onSelectOption(undefined);\n }\n\n const finalLabels = options\n .filter((o) => selectedOptionKeysArr.includes(o.key))\n .map((o) => o.label)\n .join(DELIMITER);\n\n return onSelectOption({\n ...selectedOption,\n key: selectedOptionKeysArr.join(DELIMITER),\n label: finalLabels,\n });\n };\n\n return (\n \n \n {options.map((option) => (\n handleSelectOption(option)}\n />\n ))}\n \n \n );\n}\n","import { useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport { AuroraButtonGroup } from '@aurorasolar/common-core/src/button-group';\nimport { Colors } from '@aurorasolar/common-core/src/colors';\nimport { AuroraIconType } from '@aurorasolar/common-core/src/icon';\n\nimport { BoxWithMargin } from '../../../shared-components';\nimport { LCAIText } from '../../../typography/lcai-text/lcai-text';\nimport { PARAGRAPH_COLOR } from '../../../utils/constants';\nimport { HomeOwnershipTypes, Option } from '../../../utils/qualification-questions';\nimport { AnswerTestIds } from '../../../utils/test-ids';\n\nconst StyledButtonGroup = styled(AuroraButtonGroup)`\n && {\n background-color: ${Colors.GRAY_200};\n border: 4px solid ${Colors.GRAY_200};\n border-radius: 6px;\n overflow: hidden;\n width: fit-content;\n\n button {\n border: none;\n border-radius: 3px;\n }\n }\n` as typeof AuroraButtonGroup;\n\nexport interface OwnershipSelectorProps {\n onSelectOption: (item: Option) => void;\n options: Option[];\n selectedOption?: Option;\n}\n\nexport function OwnershipSelector({\n selectedOption,\n onSelectOption,\n options,\n}: OwnershipSelectorProps) {\n const homeownershipDefault = useMemo(\n () => options.find((option) => option.key === HomeOwnershipTypes.OWN)!,\n [options],\n );\n\n useEffect(() => {\n onSelectOption(homeownershipDefault);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onSelectOption]);\n\n const selectedItem = selectedOption || homeownershipDefault;\n\n return (\n \n \n buttonProps={{\n activeBgOverlayColor: Colors.GRAY_300,\n backgroundColor: Colors.GRAY_200,\n hoverBgOverlayColor: Colors.GRAY_300,\n selectedBgOverlayColor: Colors.WHITE,\n }}\n getComparison={(item, selectable?: Option) => item.key === selectable?.key}\n getItemIcon={(option) =>\n option.key === HomeOwnershipTypes.OWN\n ? AuroraIconType.RESIDENTIAL_PROJECT\n : AuroraIconType.COMMERCIAL_PROJECT\n }\n getItemIconFillColor={(option) =>\n option.key === HomeOwnershipTypes.OWN ? Colors.PRIMARY_GREEN : Colors.NAVY\n }\n getItemTestId={(option) =>\n option.key === HomeOwnershipTypes.OWN\n ? AnswerTestIds.OWNERSHIP_OWN\n : AnswerTestIds.OWNERSHIP_RENT\n }\n selectable={{\n items: options,\n onItemSelected: onSelectOption,\n selectedItem,\n }}\n />\n
\n \n {selectedItem?.key}\n \n
\n
\n );\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { Flex } from 'reflexbox/styled-components';\nimport styled from 'styled-components';\n\nimport { AuroraInputGroup } from '@aurorasolar/common-core/src/input';\nimport { Radio } from '@blueprintjs/core';\n\nimport { BoxWithMargin } from '../../../shared-components';\nimport { INPUT_FOCUS_STYLE, INPUT_STYLE } from '../../../utils/constants';\nimport { GenericAnswerTypes, Option } from '../../../utils/qualification-questions';\n\nconst StyledInput = styled(AuroraInputGroup)`\n &.bp3-input-group input.bp3-input {\n ${INPUT_STYLE}\n }\n\n &.bp3-input-group input.bp3-input:focus {\n ${INPUT_FOCUS_STYLE}\n }\n`;\n\nexport interface RadioGroupProps {\n onSelectOption: (item: Option) => void;\n options: Option[];\n selectedOption?: Option;\n}\n\nexport function RadioGroup({ selectedOption, onSelectOption, options }: RadioGroupProps) {\n const yesDefault = useMemo(\n () => options.find((option) => option.key === GenericAnswerTypes.YES)!,\n [options],\n );\n const [input, setInput] = useState('');\n\n useEffect(() => {\n onSelectOption(yesDefault);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onSelectOption]);\n\n const selectOptionHandler = (option: Option, value: string) => {\n if (value && option.key === 'input') {\n option.label = value;\n }\n onSelectOption(option);\n };\n\n const selectedItem = selectedOption || yesDefault;\n\n return (\n \n {options.map((option) => (\n \n selectOptionHandler(option, input)}\n />\n {!option.label ? (\n ) => {\n const { value } = e.target;\n setInput(value);\n selectOptionHandler(option, value);\n }}\n type=\"text\"\n value={input}\n />\n ) : null}\n \n ))}\n \n );\n}\n","import { AnswerTypes, Option } from '../../../utils/qualification-questions';\nimport { ButtonGroupAnswer } from './button-group-answer';\nimport { DropdownAnswer } from './dropdown-answer';\nimport { MultiSelectAnswer } from './multi-select-answer';\nimport { OwnershipSelector } from './ownership-selector';\nimport { RadioGroup } from './radio-group';\n\nconst ANSWER_COMPONENT_MATCHER = {\n [AnswerTypes.DROPDOWN]: DropdownAnswer,\n [AnswerTypes.BUTTON_GROUP]: ButtonGroupAnswer,\n [AnswerTypes.OWNERSHIP_SELECTOR]: OwnershipSelector,\n [AnswerTypes.RADIO_GROUP]: RadioGroup,\n [AnswerTypes.MULTI_SELECT]: MultiSelectAnswer,\n};\n\nexport interface AnswerMatcherProps {\n onSelectOption: (item: Option | undefined) => void;\n options: Option[];\n selectedOption?: Option;\n answerType: string;\n testId?: string;\n}\n\nexport function AnswerMatcher({\n onSelectOption,\n selectedOption,\n options,\n answerType,\n testId,\n}: AnswerMatcherProps) {\n const Answer = ANSWER_COMPONENT_MATCHER[answerType];\n return (\n \n );\n}\n","import { BoxWithMargin, Dropdown } from '../../../shared-components';\nimport { Option } from '../../../utils/qualification-questions';\n\ninterface DropdownAnswerProps {\n onSelectOption: (item: Option) => void;\n options: Option[];\n selectedOption?: Option;\n testId?: string;\n}\n\nexport function DropdownAnswer({\n selectedOption,\n onSelectOption,\n options,\n testId,\n}: DropdownAnswerProps) {\n return (\n \n \n data-testid={testId}\n getItemKey={(option) => option.key}\n getItemLabel={(option) => option.label}\n selectable={{\n items: options,\n onItemSelected: onSelectOption,\n selectedItem: selectedOption,\n }}\n />\n \n );\n}\n","import { Box } from 'reflexbox/styled-components';\n\nimport { AuroraIcon, AuroraIconType } from '@aurorasolar/common-core/src/icon';\n\nimport { AnimateView, BoxWithMargin, Image, SplitView, TopRail } from '../../../shared-components';\nimport { LCAIButton, LCAIButtonIntent, LCAIText } from '../../../typography';\nimport { HEADER_COLOR } from '../../../utils/constants';\nimport { ExtendedQualificationQuestion, Option } from '../../../utils/qualification-questions';\nimport { AnswerMatcher } from '../answer-types/answer-matcher';\n\nexport interface QualificationQuestionCoreProps {\n currentQuestion: ExtendedQualificationQuestion;\n projectId: string;\n selectedAnswer?: Option;\n setSelectedAnswer: (option: Option | undefined) => void;\n skipQuestion: () => void;\n submitQuestion: () => void;\n templateId: string;\n}\n\nexport const QualificationQuestionCore = ({\n currentQuestion,\n projectId,\n selectedAnswer,\n setSelectedAnswer,\n skipQuestion,\n submitQuestion,\n templateId,\n}: QualificationQuestionCoreProps) => {\n const QuestionBox = currentQuestion.header ? BoxWithMargin : Box;\n\n return (\n <>\n \n \n \n \n \n Next\n \n {currentQuestion.canSkip && (\n \n Skip\n \n )}\n \n }\n hasProgressBar\n leftContent={\n <>\n {currentQuestion.header ? (\n \n {currentQuestion.header}\n \n ) : null}\n \n \n {currentQuestion.question}\n \n \n \n \n }\n rightContent={\n \n }\n />\n \n \n );\n};\n","import { useCallback, useEffect, useState } from 'react';\n\nimport { useDebouncedCallback } from '@aurorasolar/common-core/src/hooks';\nimport {\n Analytics,\n AnalyticsEventTypes,\n AnalyticsPageTypes,\n AppRouterNavigation,\n useAppModule,\n} from '@aurorasolar/common-module-loader';\n\nimport { useRouteData } from '../../../hooks';\nimport { DEBOUNCE_TIME } from '../../../utils/constants';\nimport { getNavigationRoute, Option } from '../../../utils/qualification-questions';\nimport { useSubmitLeadCaptureQualificationQuestionAnswersMutation } from '../qualification.generated';\nimport { QualificationQuestionCore } from './qualification-question-core';\n\ninterface QualificationQuestionPageProps {\n qualificationQuestionId: string;\n projectId: string;\n}\n\nexport const QualificationQuestionPage = ({\n qualificationQuestionId,\n projectId,\n}: QualificationQuestionPageProps) => {\n const navigation = useAppModule(AppRouterNavigation);\n const analytics = useAppModule(Analytics);\n\n const {\n formBeforeResults,\n templateId,\n currentQuestion,\n nextQuestionId,\n isLastDisqualifyingQuestion,\n } = useRouteData(qualificationQuestionId);\n const sourcePage = currentQuestion?.sourcePage;\n const questionId = currentQuestion?.id;\n\n const [selectedAnswer, setSelectedAnswer] = useState