{"version":3,"file":"LazyQualificationQuestionPage.aa08c052b362e9d2.0.6737.0.js","mappings":"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","sources":["webpack://aurora-new-frontend/./packages/common/packages/core/src/button-group/button-group.tsx","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/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 { rgba } from 'polished';\nimport React from 'react';\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 { 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 React from 'react';\nimport 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 React, { 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 React 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';\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 React from 'react';\nimport { 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 React, { 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 React from 'react';\n\nimport { 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 React from 'react';\n\nimport { 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 React from 'react';\nimport { 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 React, { 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