@unite-us/app-create-referral 0.15.175 → 0.15.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -345,7 +345,7 @@ export default function Review() {
345
345
 
346
346
  // Add forwarded referrals to the response.referralToConsent
347
347
  if (isSuccessfulForward(forwardReferrals, fullyForwaded)) {
348
- const newReferrals = referralToConsent({
348
+ const newReferrals = await referralToConsent({
349
349
  originalReferral: referralToForward,
350
350
  createdReferrals: forwardReferrals.map(referral => referral.data?.data)
351
351
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Review.js","names":["Icon","React","useState","useEffect","useRef","useMemo","Skeleton","get","isEmpty","includes","isEqual","some","values","intersectionBy","upperFirst","useNavigate","StepHeader","READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","referralIsGrouped","referralIsOON","ReferralsSent","NoReferralsDisplay","setData","useAppCreateReferralContext","DeleteReferralModal","NavButtons","CreateReferralContainer","ReferralAuthorizationRequestSummary","useCreateReferrals","CALLBACKS","COMPONENTS","APP_ENVIRONMENT","FilePreviewWrapper","useCreateShareEvent","DocumentsListView","hasOffPlatformReferrals","isEmptyErrors","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","useForwardReferral","DropdownMultiplesReferrals","useFind","getDisplayAttachments","handleDraftSaveResponse","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_COLLAPSED_REFERRAL_INDEXES","Review","navigate","dispatch","state","fieldsConfig","referrals","person","resourceListId","currentEmployee","currentProvider","caseId","referralId","referralType","serviceTypeName","selectedPrograms","personId","draftState","reviewCollapsedReferralIndexes","crtb854ForwardingSuperset","featureFlagClientNeeds","newLanguageDashboard","sent","updateSent","isSuccessfullyForwarded","setIsSuccessfullyForwarded","fieldErrors","setFieldErrors","expandedReferrals","setExpandedReferrals","deleteReferralModalIsOpen","setDeleteReferralModalIsOpen","selectedReferralToDelete","setSelectedReferralToDelete","selectedReferralToLink","setSelectedReferralToLink","consented","setConsented","consentCompleted","setConsentCompleted","disableSubmit","setDisableSubmit","isSavingDraft","setIsSavingDraft","loading","setLoading","formRefs","referralsResultDetail","setReferralsResultDetail","hasBeenSubmitted","setHasBeenSubmitted","referralsToConsent","setReferralsToConsent","showNHConsent","nh_consent","clientNeedsPersonId","id","features","nhConsentEnabled","length","enabled","data","clientNeedsData","most_recent","queryConfig","placeholderData","undefined","clientNeedsMap","needs","reduce","map","condition","sdoh_category","name","getClientNeedName","needId","createShareEvent","isForwardReferralPath","referralSentSuccessfully","errors","Object","keys","acc","index","fieldError","referralSelected","hasMultipleReferrals","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","onChevronClick","expanded","ref","filter","onDeleteReferralClick","referral","notify","error","DRAFT_AUTHORIZATION_PROGRAM_CHANGE_MESSAGE","onCloseDeleteReferralModal","r","i","attachedDocuments","attachableDocuments","doc","attached","isOON","deleteModal","current","openDialog","closeDialog","sessionStorage","setItem","window","performance","navEntries","getEntriesByType","isRefresh","type","referralsWereSubmitted","getItem","removeItem","onReferralReload","console","deleteSelectedReferral","updatedReferrals","newReferralPrograms","flatMap","programs","newSelectedPrograms","createReferrals","forwardReferral","handleSaveDraftReferral","response","draft","err","setFocus","setTimeout","mutators","setFieldTouched","referralSelectedField","document","getElementById","focus","focusErrors","firstIndexWithErrors","find","idx","Boolean","parseInt","showReferralsNotifications","referralResponses","amountOfReferralsSent","_ref","totalReferrals","hasAttachmentFailure","_ref2","attachmentStatus","warn","success","addIsGrouped","detail","referralsList","item","isGrouped","getReferralIdsByIndex","createdReferrals","arguments","referralIdByIndex","processSubmitResult","referralsToConsentData","detailWithGrouping","isValidForwardResponse","forwardReferrals","errorMessage","every","isSuccessfulForward","fullyForwaded","createRemainingReferrals","referralForwardedDeleted","splice","referralIdsByIndex","shippingDetail","attachmentErrors","getForwardErrorMessage","handleForwardReferralSubmit","referralToForward","status","newReferrals","originalReferral","push","handleStandardSubmit","consent","handleSubmit","onConsentComplete","event","consentAppUrl","consentUrl","eventOrigin","originIsConsentApp","onNavigateAway","onSubmitConsent","addEventListener","removeEventListener","showingConsent","history","pushState","location","href","handlePopState","preventDefault","onReferralCompleted","Consent","isStepReferralSent","children","className","header","contact","initializedValue","updateGlobalState","dialogContentStyles","height","width","style","marginTop","icon","onBackClick","onForwardClick","onSaveDraftReferral","primaryLabel","hideForwardButtons","hideSaveDraftLink","disabled","onClick","onNavigateBack","isAuthRequired","preventReferralDelete","color","selectedReferral","ariaLabel","direction","refModal","el","onCloseModal","onDeleteSelectedReferral","program","authorizationRequest","feeScheduleProgram","needIndex","documents","existingFiles"],"sources":["../../../src/pages/review/Review.js"],"sourcesContent":["import { Icon } from '@unite-us/app-components';\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport Skeleton from 'react-loading-skeleton';\nimport { get, isEmpty, includes, isEqual, some, values, intersectionBy, upperFirst } from 'lodash';\nimport { useNavigate } from 'react-router-dom';\nimport StepHeader from '../../components/StepHeader';\nimport {\n READY_TO_SUMBIT_INFO_TEXT,\n REVIEW_REFERRAL_DESCRIPTION,\n CONSENT_DESCRIPTION,\n CONSENT_COMPLETED,\n REVIEW_LOADING_SCREEN_DESCRIPTION,\n} from './constants';\nimport { referralIsGrouped, referralIsOON } from '../builder/utils.js';\nimport ReferralsSent from './ReferralsSent';\nimport NoReferralsDisplay from '../../components/NoReferralsDisplay';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport DeleteReferralModal from './DeleteReferralModal';\nimport NavButtons from '../../components/NavButtons';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport ReferralAuthorizationRequestSummary from '../../components/service_authorization/ReferralAuthorizationRequestSummary';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, COMPONENTS, APP_ENVIRONMENT } from '../../api/config';\nimport FilePreviewWrapper from '../../common/form/FileUploadV2/components/FilePreviewWrapper';\nimport useCreateShareEvent from '../../hooks/useCreateShareEvent';\nimport DocumentsListView from '../../common/form/DocumentUploader/components/DocumentsListView';\nimport { hasOffPlatformReferrals, isEmptyErrors } from '../builder/utils';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport referralToConsent from '../../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../../components/service_authorization/formatShortDate';\nimport useForwardReferral from '../../hooks/useForwardReferral';\nimport DropdownMultiplesReferrals from './DropdownMultiplesReferrals';\nimport { useFind } from '../../api/ApiHooks';\nimport { getDisplayAttachments } from '../../utils/attachmentUtils.js';\nimport handleDraftSaveResponse from '../../utils/handleDraftSaveResponse';\n\nconst EMPTY_COLLAPSED_REFERRAL_INDEXES = [];\n\nexport default function Review() {\n const navigate = useNavigate();\n\n const {\n dispatch,\n state: {\n fieldsConfig,\n referrals,\n person,\n resourceListId,\n currentEmployee,\n currentProvider,\n caseId,\n referralId,\n referralType,\n serviceTypeName,\n selectedPrograms,\n personId,\n draftState,\n reviewCollapsedReferralIndexes = EMPTY_COLLAPSED_REFERRAL_INDEXES,\n },\n } = useAppCreateReferralContext();\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n const newLanguageDashboard = useFeatureFlag('crtb2182ClarifyReferralLanguage', false);\n const [sent, updateSent] = useState(false);\n const [isSuccessfullyForwarded, setIsSuccessfullyForwarded] = useState(false);\n const [fieldErrors, setFieldErrors] = useState({});\n const [expandedReferrals, setExpandedReferrals] = useState([]);\n const [deleteReferralModalIsOpen, setDeleteReferralModalIsOpen] = useState(false);\n const [selectedReferralToDelete, setSelectedReferralToDelete] = useState(-1);\n const [selectedReferralToLink, setSelectedReferralToLink] = useState(0);\n // initialize with consent=true to permit ability to send referrals,\n // then redefine on submit to person's actual consent value to (possibly) show consent form.\n const [consented, setConsented] = useState(true);\n const [consentCompleted, setConsentCompleted] = useState(false);\n const [disableSubmit, setDisableSubmit] = useState(false);\n const [isSavingDraft, setIsSavingDraft] = useState(false);\n const [loading, setLoading] = useState(false);\n const formRefs = useRef({});\n const [referralsResultDetail, setReferralsResultDetail] = useState([]);\n const [hasBeenSubmitted, setHasBeenSubmitted] = useState(false);\n const [referralsToConsent, setReferralsToConsent] = useState([]);\n const showNHConsent = currentProvider?.nh_consent ?? false;\n const clientNeedsPersonId = personId || person?.id;\n\n const features = useMemo(() => {\n const nhConsentEnabled = showNHConsent && referralsToConsent.length > 0;\n return {\n nh_consent: {\n enabled: nhConsentEnabled,\n referrals: nhConsentEnabled ? referralsToConsent : [],\n },\n };\n }, [showNHConsent, referralsToConsent]);\n\n const { data: clientNeedsData } = useFind(\n `people/${clientNeedsPersonId || ''}/person_condition`,\n {\n most_recent: true,\n },\n {\n queryConfig: {\n enabled: featureFlagClientNeeds && !!clientNeedsPersonId,\n placeholderData: undefined,\n },\n },\n );\n\n const clientNeedsMap = useMemo(() => {\n const needs = clientNeedsData?.data?.data || [];\n return needs.reduce((map, condition) => {\n map[condition.id] = upperFirst(condition?.sdoh_category ?? condition?.name);\n return map;\n }, {});\n }, [clientNeedsData]);\n\n const getClientNeedName = (needId) => {\n return clientNeedsMap[needId] || needId;\n };\n\n const createShareEvent = useCreateShareEvent();\n const isForwardReferralPath = !!referralId && !!referralType;\n const referralSentSuccessfully = sent || isSuccessfullyForwarded;\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n referralSelected: fieldError?.referralSelected,\n };\n return acc;\n }, {});\n\n const hasMultipleReferrals = () => referrals.length > 1;\n\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n\n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n\n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onChevronClick = (index) => {\n const expanded = expandedReferrals?.map((ref) => {\n if (ref.index === index) {\n return { ...ref, expanded: !ref.expanded };\n }\n\n return ref;\n });\n setExpandedReferrals(expanded);\n dispatch(\n setData({\n reviewCollapsedReferralIndexes: expanded\n ?.filter((ref) => !ref.expanded)\n .map((ref) => ref.index),\n }),\n );\n };\n\n const onDeleteReferralClick = (index) => {\n const referral = referrals[index];\n\n if (draftState?.state === 'draft' && get(referral, 'case.service_authorization.id')) {\n CALLBACKS.notify?.error?.(DRAFT_AUTHORIZATION_PROGRAM_CHANGE_MESSAGE);\n return;\n }\n\n setSelectedReferralToDelete(index);\n setDeleteReferralModalIsOpen(true);\n };\n\n const onCloseDeleteReferralModal = () => {\n setDeleteReferralModalIsOpen(false);\n };\n\n useEffect(() => {\n const expanded = referrals?.map((r, i) => ({\n ...r,\n attachedDocuments: r.attachableDocuments\n ? r.attachableDocuments.filter((doc) => doc.attached)\n : [],\n expanded: !reviewCollapsedReferralIndexes.includes(i),\n index: i,\n isOON: referralIsOON(r),\n }));\n setExpandedReferrals(expanded);\n }, [referrals, reviewCollapsedReferralIndexes]);\n\n const deleteModal = useRef([]);\n\n useEffect(() => {\n if (!isEmpty(referrals)) {\n if (deleteReferralModalIsOpen) {\n deleteModal.current[selectedReferralToDelete].openDialog();\n } else if (selectedReferralToDelete >= 0) {\n deleteModal.current[selectedReferralToDelete].closeDialog();\n setSelectedReferralToDelete(-1);\n }\n }\n }, [deleteReferralModalIsOpen, selectedReferralToDelete, referrals]);\n\n useEffect(() => {\n if (referralsResultDetail?.length > 0) {\n sessionStorage.setItem('referralsSubmitted', 'true');\n }\n\n if (window.performance) {\n try {\n const navEntries =\n (performance.getEntriesByType && performance.getEntriesByType('navigation')) || [];\n const isRefresh = navEntries.length > 0 && navEntries[0].type === 'reload';\n const referralsWereSubmitted = sessionStorage.getItem('referralsSubmitted') === 'true';\n\n if (isRefresh && referralsWereSubmitted) {\n sessionStorage.removeItem('referralsSubmitted');\n CALLBACKS.onReferralReload();\n }\n } catch (error) {\n console.error(error);\n }\n }\n }, [referralsResultDetail]);\n\n const deleteSelectedReferral = () => {\n const updatedReferrals = referrals.filter((r, i) => i !== selectedReferralToDelete);\n const newReferralPrograms = updatedReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n dispatch(\n setData({\n referrals: [...updatedReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }),\n );\n onCloseDeleteReferralModal();\n };\n\n const createReferrals = useCreateReferrals();\n const forwardReferral = useForwardReferral();\n\n const handleSaveDraftReferral = async () => {\n if (isSavingDraft) return;\n\n setIsSavingDraft(true);\n try {\n const response = await createReferrals({ draft: true });\n handleDraftSaveResponse(response, dispatch);\n } catch (err) {\n console.error(err);\n } finally {\n setIsSavingDraft(false);\n }\n };\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.referralSelected) {\n formRefs.current?.mutators?.setFieldTouched('referralSelected', true);\n const referralSelectedField = document.getElementById('referralSelected');\n return referralSelectedField.focus();\n }\n }, 100);\n };\n\n const focusErrors = () => {\n let index = 0;\n const firstIndexWithErrors = Object.keys(errors).find((idx) =>\n some(values(errors[idx]), Boolean),\n );\n\n if (!some(values(errors[index]), Boolean) && firstIndexWithErrors) {\n index = parseInt(firstIndexWithErrors);\n }\n setFocus(index);\n };\n\n const showReferralsNotifications = (referralResponses) => {\n const amountOfReferralsSent = referralResponses.filter(({ sent }) => sent).length;\n const totalReferrals = referralResponses.length;\n const hasAttachmentFailure = referralResponses.some(\n ({ attachmentStatus }) => attachmentStatus === 'partial' || attachmentStatus === 'failed',\n );\n\n if (amountOfReferralsSent === totalReferrals && hasAttachmentFailure) {\n CALLBACKS.notify.warn('Referrals created, but some attachments failed');\n } else if (amountOfReferralsSent === totalReferrals) {\n CALLBACKS.notify.success('Referrals created');\n } else if (amountOfReferralsSent > 0) {\n CALLBACKS.notify.warn('Some referrals created');\n } else {\n CALLBACKS.notify.error('No referrals created');\n }\n };\n\n const addIsGrouped = (detail, referralsList) => {\n return (detail || []).map((item) => {\n const referral = referralsList?.[item.index];\n\n return {\n ...item,\n isGrouped: referral ? referralIsGrouped(referral) : false,\n };\n });\n };\n\n const getReferralIdsByIndex = (createdReferrals = []) => {\n return createdReferrals.reduce((referralIdByIndex, { referralIndex, id } = {}) => {\n if (referralIndex == null) {\n return referralIdByIndex;\n }\n\n referralIdByIndex[referralIndex] = id || '';\n\n return referralIdByIndex;\n }, {});\n };\n\n const processSubmitResult = (detail, referralsToConsentData) => {\n const detailWithGrouping = addIsGrouped(detail, referrals);\n setReferralsToConsent(referralsToConsentData);\n setReferralsResultDetail(detailWithGrouping);\n showReferralsNotifications(detailWithGrouping);\n };\n\n const isValidForwardResponse = (forwardReferrals) =>\n forwardReferrals !== false &&\n !forwardReferrals?.errorMessage &&\n forwardReferrals.every((response) => response !== false);\n\n const isSuccessfulForward = (forwardReferrals, fullyForwaded) =>\n isValidForwardResponse(forwardReferrals) && fullyForwaded;\n\n const createRemainingReferrals = async () => {\n if (referrals.length < 2) return { detail: [], response: { referralsToConsent: [] } };\n\n const referralForwardedDeleted = referrals.splice(selectedReferralToLink, 1);\n const response = await createReferrals();\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map((item) => ({\n id: item.id,\n index: item.index >= selectedReferralToLink ? item.index + 1 : item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n attachmentStatus: item.attachmentStatus,\n attachmentErrors: item.attachmentErrors,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n referrals.splice(selectedReferralToLink, 0, referralForwardedDeleted[0]);\n\n return { detail, response };\n };\n\n const getForwardErrorMessage = (forwardReferrals, fullyForwaded) =>\n forwardReferrals?.errorMessage ?? (fullyForwaded ? null : 'Unexpected error');\n\n const handleForwardReferralSubmit = async () => {\n const referralToForward = referrals[selectedReferralToLink] ?? null;\n const forwardReferrals = await forwardReferral({\n caseId,\n referralToForward,\n });\n\n let fullyForwaded = false;\n\n if (isValidForwardResponse(forwardReferrals)) {\n fullyForwaded = forwardReferrals.every(\n (response) => response?.status >= 200 && response?.status < 300,\n );\n }\n\n const { detail, response } = await createRemainingReferrals();\n\n const errorMessage = getForwardErrorMessage(forwardReferrals, fullyForwaded);\n detail.splice(selectedReferralToLink, 0, {\n index: selectedReferralToLink,\n sent: fullyForwaded,\n error: errorMessage,\n referralId: get(forwardReferrals, '[0].data.data.id', ''),\n caseId: caseId,\n });\n\n // Add forwarded referrals to the response.referralToConsent\n if (isSuccessfulForward(forwardReferrals, fullyForwaded)) {\n const newReferrals = referralToConsent({\n originalReferral: referralToForward,\n createdReferrals: forwardReferrals.map((referral) => referral.data?.data),\n });\n\n if (newReferrals) response.referralsToConsent.push(newReferrals);\n }\n\n setIsSuccessfullyForwarded(fullyForwaded);\n processSubmitResult(detail, response.referralsToConsent);\n };\n\n const handleStandardSubmit = async () => {\n const response = await createReferrals({ caseId });\n updateSent(true);\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map((item) => ({\n id: item.id,\n index: item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n attachmentStatus: item.attachmentStatus,\n attachmentErrors: item.attachmentErrors,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n\n processSubmitResult(detail, response.referralsToConsent);\n setConsented(person.consent?.state === 'accepted');\n // Create the share event for each referral only if the resource list id is present\n // This is being set from the resource list page or search page before navigating to the create referrals\n if (resourceListId) {\n response.referrals.map((referral) => createShareEvent(referral.id));\n }\n };\n\n const handleSubmit = async () => {\n if (!isEmptyErrors(errors)) return focusErrors();\n\n setLoading(true);\n setDisableSubmit(true);\n\n try {\n if (isForwardReferralPath) {\n await handleForwardReferralSubmit();\n } else {\n await handleStandardSubmit();\n }\n } catch (err) {\n CALLBACKS.notify.error('Error submitting referral');\n setDisableSubmit(false);\n } finally {\n setLoading(false);\n setHasBeenSubmitted(true);\n }\n };\n\n // When submitting consent through Consent App\n const onConsentComplete = async (event) => {\n const consentAppUrl = APP_ENVIRONMENT.consentUrl;\n const eventOrigin = get(event, 'origin');\n const originIsConsentApp = includes(consentAppUrl, eventOrigin);\n\n if (event?.data?.status === CONSENT_COMPLETED && originIsConsentApp) {\n CALLBACKS.notify.success('Your consent has been recorded.');\n onNavigateAway();\n }\n };\n\n // When not submitting consent through Consent App\n const onNavigateAway = () => {\n CALLBACKS.onSubmitConsent();\n setConsented(true);\n setConsentCompleted(true);\n };\n\n useEffect(() => {\n window.addEventListener('message', onConsentComplete);\n\n return () => {\n window.removeEventListener('message', onConsentComplete);\n };\n }, []);\n\n useEffect(() => {\n const showingConsent =\n referralSentSuccessfully &&\n (!consented || (features.nh_consent?.enabled && !consentCompleted));\n\n if (showingConsent) {\n window.history.pushState(null, null, window.location.href);\n const handlePopState = (event) => {\n event.preventDefault();\n CALLBACKS.onReferralCompleted();\n };\n window.addEventListener('popstate', handlePopState);\n return () => {\n window.removeEventListener('popstate', handlePopState);\n };\n }\n }, [referralSentSuccessfully, consented, features.nh_consent?.enabled, consentCompleted]);\n\n if (\n referralSentSuccessfully &&\n (!consented || (features.nh_consent?.enabled && !consentCompleted))\n ) {\n const { Consent } = COMPONENTS;\n\n return (\n <CreateReferralContainer isStepReferralSent={true}>\n <div className=\"px-12 pb-12\">\n <StepHeader header={'Complete Consent'}>{CONSENT_DESCRIPTION}</StepHeader>\n <Consent\n contact={person}\n currentEmployee={currentEmployee}\n initializedValue=\"user_attestation\"\n updateGlobalState={CALLBACKS?.consent?.updateGlobalState}\n dialogContentStyles={'text-validation-red'}\n onNavigateAway={onNavigateAway}\n features={features}\n />\n </div>\n </CreateReferralContainer>\n );\n }\n\n return (\n <>\n {loading ? (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <h2 className=\"text-base font-proxima font-semibold text-[18px] leading-[28px] text-center mt-5\">\n {REVIEW_LOADING_SCREEN_DESCRIPTION}\n </h2>\n <div className=\"flex justify-center items-center mt-6\">\n <div className=\"py-20 bg-white w-full max-w-4xl px-4 md:px-8 lg:px-16\">\n <div className=\"flex flex-col justify-center items-center\">\n <Skeleton height={50} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={20} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={80} width={0.9 * 800} style={{ marginTop: 12 }} />\n </div>\n <div className=\"flex flex-row justify-center items-center flex-wrap gap-4 mt-4\">\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n </div>\n </div>\n </div>\n </div>\n </CreateReferralContainer>\n ) : hasBeenSubmitted ? (\n <ReferralsSent\n referrals={referrals}\n referralsResultDetail={referralsResultDetail}\n isSuccessfullyForwarded={isSuccessfullyForwarded}\n isForwardReferralPath={isForwardReferralPath}\n />\n ) : (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader icon header={'Review Referrals'}>\n {REVIEW_REFERRAL_DESCRIPTION}\n </StepHeader>\n\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\n />\n\n {hasMultipleReferrals() && crtb854ForwardingSuperset && isForwardReferralPath && (\n <DropdownMultiplesReferrals\n referrals={referrals}\n setReferralErrors={setReferralErrors}\n formRefs={formRefs}\n setSelectedReferralToLink={setSelectedReferralToLink}\n serviceTypeName={serviceTypeName}\n />\n )}\n\n {isEmpty(referrals) ? (\n <NoReferralsDisplay onClick={() => CALLBACKS.onNavigateBack()} />\n ) : (\n expandedReferrals?.map((referral, index) => {\n const { programs } = referral;\n const isAuthRequired = get(\n referral,\n 'programs[0].fee_schedule_program.authorization_required',\n );\n const preventReferralDelete =\n draftState?.state === 'draft' && !!get(referral, 'case.service_authorization.id');\n\n return (\n <div\n className=\"mb-6 mx-auto responsive-max-width\"\n key={`referral-review-card-${index}`}\n data-testid={`referral-review-card-${index}`}\n >\n <div\n className={`bg-white border border-solid border-blue-border ${referral?.expanded ? 'rounded-t-lg' : 'rounded'}`}\n >\n <div className=\"py-6 px-8 flex justify-between\">\n <h2 className=\"uppercase font-black text-grey text-base\">\n Referral {index + 1}: {get(referral, 'service.name')}\n </h2>\n <div className=\"flex items-center\">\n <Icon\n icon=\"Pencil\"\n color=\"#182A44\"\n className=\"mr-3\"\n onClick={() =>\n navigate('/create/builder', { state: { selectedReferral: index } })\n }\n data-testid={`referral-review-pencil-${index}`}\n ariaLabel=\"edit\"\n />\n {!preventReferralDelete && (\n <Icon\n icon=\"Delete\"\n color=\"#182A44\"\n className=\"mr-3\"\n onClick={() => onDeleteReferralClick(index)}\n data-testid={`referral-review-card-trash-${index}`}\n ariaLabel=\"delete\"\n />\n )}\n <Icon\n icon=\"ChevronArrow\"\n direction={referral?.expanded ? 'down' : 'right'}\n color=\"#182A44\"\n onClick={() => onChevronClick(index)}\n data-testid={`referral-review-card-chevron-${index}`}\n ariaLabel=\"expand\"\n />\n </div>\n </div>\n </div>\n\n <DeleteReferralModal\n refModal={(el) => (deleteModal.current[index] = el)}\n onCloseModal={onCloseDeleteReferralModal}\n referral={referral}\n onDeleteSelectedReferral={deleteSelectedReferral}\n />\n\n {get(referral, 'expanded', true) ? (\n <div className=\"bg-white border border-solid border-blue-border rounded-b-lg\">\n <div className=\"pt-6 px-8 pb-16\">\n <div className=\"grid grid-cols-3\">\n <div className=\"col-span-2 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Referral Programs\n </h2>\n {programs.map((program, i) => (\n <p key={i}>\n {get(program, 'name')}{' '}\n {get(program, 'provider.name')\n ? '(' + get(program, 'provider.name') + ')'\n : ''}\n </p>\n ))}\n </div>\n <div className=\"col-span-1 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Referral Network\n </h2>\n <p>{get(referral, 'network.name')}</p>\n </div>\n {newLanguageDashboard && referral.isOON && (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 ml-3 col-span-full mt-10\">\n <p className=\"text-brand-blue\">\n These programs aren't accepting referrals in Unite Us. We'll\n create an off-platform case where you can document communication\n with or services provided by the program.\n </p>\n </div>\n )}\n {get(referral, 'paymentAuthForm') && isAuthRequired && (\n <div className=\"col-span-3 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Authorization Request\n </h2>\n <ReferralAuthorizationRequestSummary\n authorizationRequest={get(referral, 'paymentAuthForm')}\n feeScheduleProgram={get(\n referral,\n 'programs[0].fee_schedule_program',\n )}\n />\n </div>\n )}\n <div className=\"col-span-2 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n {newLanguageDashboard ? 'Description' : 'Referral Description'}\n </h2>\n <p>{get(referral, 'description')}</p>\n </div>\n {get(referral, 'opened_date') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n {newLanguageDashboard ? 'Case Open Date' : 'Open Date'}\n </h2>\n <p>\n {formatShortDate2FromTimestamp(\n get(referral, 'opened_date'),\n true,\n )}\n </p>\n </div>\n )}\n {featureFlagClientNeeds && get(referral, 'client_need.length') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Associated Need\n {get(referral, 'client_need.length') > 1 ? 's' : ''}\n </h2>\n {get(referral, 'client_need', []).map((needId, needIndex) => (\n <p key={needIndex}>{getClientNeedName(needId)}</p>\n ))}\n </div>\n )}\n {get(referral, 'primaryWorker.full_name') && (\n <div className=\"col-span-3 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Primary Worker\n </h2>\n <p>{get(referral, 'primaryWorker.full_name')}</p>\n </div>\n )}\n <div className=\"col-span-3 mt-16 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Attached Documents\n </h2>\n {!isEmpty(get(referral, 'attachedDocuments')) && (\n <DocumentsListView documents={get(referral, 'attachedDocuments')} />\n )}\n {!isEmpty(getDisplayAttachments(referral)) && (\n <div className=\"file-upload-dropzone mb-3 mt-5\">\n <FilePreviewWrapper\n existingFiles={getDisplayAttachments(referral)}\n />\n </div>\n )}\n {isEmpty(getDisplayAttachments(referral)) &&\n isEmpty(get(referral, 'attachedDocuments')) && (\n <p>No documents attached</p>\n )}\n </div>\n <div className=\"col-span-3 bg-light-pale-blue rounded mt-6 p-6 flex\">\n <Icon\n icon=\"ExclamationCircle\"\n color=\"#182A44\"\n className=\"mt-px mr-4\"\n />\n <p>{READY_TO_SUMBIT_INFO_TEXT}</p>\n </div>\n </div>\n </div>\n </div>\n ) : null}\n </div>\n );\n })\n )}\n\n {!isEmpty(referrals) && (\n <div className=\"pb-6\">\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Review.js","names":["Icon","React","useState","useEffect","useRef","useMemo","Skeleton","get","isEmpty","includes","isEqual","some","values","intersectionBy","upperFirst","useNavigate","StepHeader","READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","referralIsGrouped","referralIsOON","ReferralsSent","NoReferralsDisplay","setData","useAppCreateReferralContext","DeleteReferralModal","NavButtons","CreateReferralContainer","ReferralAuthorizationRequestSummary","useCreateReferrals","CALLBACKS","COMPONENTS","APP_ENVIRONMENT","FilePreviewWrapper","useCreateShareEvent","DocumentsListView","hasOffPlatformReferrals","isEmptyErrors","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","useForwardReferral","DropdownMultiplesReferrals","useFind","getDisplayAttachments","handleDraftSaveResponse","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_COLLAPSED_REFERRAL_INDEXES","Review","navigate","dispatch","state","fieldsConfig","referrals","person","resourceListId","currentEmployee","currentProvider","caseId","referralId","referralType","serviceTypeName","selectedPrograms","personId","draftState","reviewCollapsedReferralIndexes","crtb854ForwardingSuperset","featureFlagClientNeeds","newLanguageDashboard","sent","updateSent","isSuccessfullyForwarded","setIsSuccessfullyForwarded","fieldErrors","setFieldErrors","expandedReferrals","setExpandedReferrals","deleteReferralModalIsOpen","setDeleteReferralModalIsOpen","selectedReferralToDelete","setSelectedReferralToDelete","selectedReferralToLink","setSelectedReferralToLink","consented","setConsented","consentCompleted","setConsentCompleted","disableSubmit","setDisableSubmit","isSavingDraft","setIsSavingDraft","loading","setLoading","formRefs","referralsResultDetail","setReferralsResultDetail","hasBeenSubmitted","setHasBeenSubmitted","referralsToConsent","setReferralsToConsent","showNHConsent","nh_consent","clientNeedsPersonId","id","features","nhConsentEnabled","length","enabled","data","clientNeedsData","most_recent","queryConfig","placeholderData","undefined","clientNeedsMap","needs","reduce","map","condition","sdoh_category","name","getClientNeedName","needId","createShareEvent","isForwardReferralPath","referralSentSuccessfully","errors","Object","keys","acc","index","fieldError","referralSelected","hasMultipleReferrals","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","onChevronClick","expanded","ref","filter","onDeleteReferralClick","referral","notify","error","DRAFT_AUTHORIZATION_PROGRAM_CHANGE_MESSAGE","onCloseDeleteReferralModal","r","i","attachedDocuments","attachableDocuments","doc","attached","isOON","deleteModal","current","openDialog","closeDialog","sessionStorage","setItem","window","performance","navEntries","getEntriesByType","isRefresh","type","referralsWereSubmitted","getItem","removeItem","onReferralReload","console","deleteSelectedReferral","updatedReferrals","newReferralPrograms","flatMap","programs","newSelectedPrograms","createReferrals","forwardReferral","handleSaveDraftReferral","response","draft","err","setFocus","setTimeout","mutators","setFieldTouched","referralSelectedField","document","getElementById","focus","focusErrors","firstIndexWithErrors","find","idx","Boolean","parseInt","showReferralsNotifications","referralResponses","amountOfReferralsSent","_ref","totalReferrals","hasAttachmentFailure","_ref2","attachmentStatus","warn","success","addIsGrouped","detail","referralsList","item","isGrouped","getReferralIdsByIndex","createdReferrals","arguments","referralIdByIndex","processSubmitResult","referralsToConsentData","detailWithGrouping","isValidForwardResponse","forwardReferrals","errorMessage","every","isSuccessfulForward","fullyForwaded","createRemainingReferrals","referralForwardedDeleted","splice","referralIdsByIndex","shippingDetail","attachmentErrors","getForwardErrorMessage","handleForwardReferralSubmit","referralToForward","status","newReferrals","originalReferral","push","handleStandardSubmit","consent","handleSubmit","onConsentComplete","event","consentAppUrl","consentUrl","eventOrigin","originIsConsentApp","onNavigateAway","onSubmitConsent","addEventListener","removeEventListener","showingConsent","history","pushState","location","href","handlePopState","preventDefault","onReferralCompleted","Consent","isStepReferralSent","children","className","header","contact","initializedValue","updateGlobalState","dialogContentStyles","height","width","style","marginTop","icon","onBackClick","onForwardClick","onSaveDraftReferral","primaryLabel","hideForwardButtons","hideSaveDraftLink","disabled","onClick","onNavigateBack","isAuthRequired","preventReferralDelete","color","selectedReferral","ariaLabel","direction","refModal","el","onCloseModal","onDeleteSelectedReferral","program","authorizationRequest","feeScheduleProgram","needIndex","documents","existingFiles"],"sources":["../../../src/pages/review/Review.js"],"sourcesContent":["import { Icon } from '@unite-us/app-components';\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport Skeleton from 'react-loading-skeleton';\nimport { get, isEmpty, includes, isEqual, some, values, intersectionBy, upperFirst } from 'lodash';\nimport { useNavigate } from 'react-router-dom';\nimport StepHeader from '../../components/StepHeader';\nimport {\n READY_TO_SUMBIT_INFO_TEXT,\n REVIEW_REFERRAL_DESCRIPTION,\n CONSENT_DESCRIPTION,\n CONSENT_COMPLETED,\n REVIEW_LOADING_SCREEN_DESCRIPTION,\n} from './constants';\nimport { referralIsGrouped, referralIsOON } from '../builder/utils.js';\nimport ReferralsSent from './ReferralsSent';\nimport NoReferralsDisplay from '../../components/NoReferralsDisplay';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport DeleteReferralModal from './DeleteReferralModal';\nimport NavButtons from '../../components/NavButtons';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport ReferralAuthorizationRequestSummary from '../../components/service_authorization/ReferralAuthorizationRequestSummary';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, COMPONENTS, APP_ENVIRONMENT } from '../../api/config';\nimport FilePreviewWrapper from '../../common/form/FileUploadV2/components/FilePreviewWrapper';\nimport useCreateShareEvent from '../../hooks/useCreateShareEvent';\nimport DocumentsListView from '../../common/form/DocumentUploader/components/DocumentsListView';\nimport { hasOffPlatformReferrals, isEmptyErrors } from '../builder/utils';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport referralToConsent from '../../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../../components/service_authorization/formatShortDate';\nimport useForwardReferral from '../../hooks/useForwardReferral';\nimport DropdownMultiplesReferrals from './DropdownMultiplesReferrals';\nimport { useFind } from '../../api/ApiHooks';\nimport { getDisplayAttachments } from '../../utils/attachmentUtils.js';\nimport handleDraftSaveResponse from '../../utils/handleDraftSaveResponse';\n\nconst EMPTY_COLLAPSED_REFERRAL_INDEXES = [];\n\nexport default function Review() {\n const navigate = useNavigate();\n\n const {\n dispatch,\n state: {\n fieldsConfig,\n referrals,\n person,\n resourceListId,\n currentEmployee,\n currentProvider,\n caseId,\n referralId,\n referralType,\n serviceTypeName,\n selectedPrograms,\n personId,\n draftState,\n reviewCollapsedReferralIndexes = EMPTY_COLLAPSED_REFERRAL_INDEXES,\n },\n } = useAppCreateReferralContext();\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n const newLanguageDashboard = useFeatureFlag('crtb2182ClarifyReferralLanguage', false);\n const [sent, updateSent] = useState(false);\n const [isSuccessfullyForwarded, setIsSuccessfullyForwarded] = useState(false);\n const [fieldErrors, setFieldErrors] = useState({});\n const [expandedReferrals, setExpandedReferrals] = useState([]);\n const [deleteReferralModalIsOpen, setDeleteReferralModalIsOpen] = useState(false);\n const [selectedReferralToDelete, setSelectedReferralToDelete] = useState(-1);\n const [selectedReferralToLink, setSelectedReferralToLink] = useState(0);\n // initialize with consent=true to permit ability to send referrals,\n // then redefine on submit to person's actual consent value to (possibly) show consent form.\n const [consented, setConsented] = useState(true);\n const [consentCompleted, setConsentCompleted] = useState(false);\n const [disableSubmit, setDisableSubmit] = useState(false);\n const [isSavingDraft, setIsSavingDraft] = useState(false);\n const [loading, setLoading] = useState(false);\n const formRefs = useRef({});\n const [referralsResultDetail, setReferralsResultDetail] = useState([]);\n const [hasBeenSubmitted, setHasBeenSubmitted] = useState(false);\n const [referralsToConsent, setReferralsToConsent] = useState([]);\n const showNHConsent = currentProvider?.nh_consent ?? false;\n const clientNeedsPersonId = personId || person?.id;\n\n const features = useMemo(() => {\n const nhConsentEnabled = showNHConsent && referralsToConsent.length > 0;\n return {\n nh_consent: {\n enabled: nhConsentEnabled,\n referrals: nhConsentEnabled ? referralsToConsent : [],\n },\n };\n }, [showNHConsent, referralsToConsent]);\n\n const { data: clientNeedsData } = useFind(\n `people/${clientNeedsPersonId || ''}/person_condition`,\n {\n most_recent: true,\n },\n {\n queryConfig: {\n enabled: featureFlagClientNeeds && !!clientNeedsPersonId,\n placeholderData: undefined,\n },\n },\n );\n\n const clientNeedsMap = useMemo(() => {\n const needs = clientNeedsData?.data?.data || [];\n return needs.reduce((map, condition) => {\n map[condition.id] = upperFirst(condition?.sdoh_category ?? condition?.name);\n return map;\n }, {});\n }, [clientNeedsData]);\n\n const getClientNeedName = (needId) => {\n return clientNeedsMap[needId] || needId;\n };\n\n const createShareEvent = useCreateShareEvent();\n const isForwardReferralPath = !!referralId && !!referralType;\n const referralSentSuccessfully = sent || isSuccessfullyForwarded;\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n referralSelected: fieldError?.referralSelected,\n };\n return acc;\n }, {});\n\n const hasMultipleReferrals = () => referrals.length > 1;\n\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n\n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n\n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onChevronClick = (index) => {\n const expanded = expandedReferrals?.map((ref) => {\n if (ref.index === index) {\n return { ...ref, expanded: !ref.expanded };\n }\n\n return ref;\n });\n setExpandedReferrals(expanded);\n dispatch(\n setData({\n reviewCollapsedReferralIndexes: expanded\n ?.filter((ref) => !ref.expanded)\n .map((ref) => ref.index),\n }),\n );\n };\n\n const onDeleteReferralClick = (index) => {\n const referral = referrals[index];\n\n if (draftState?.state === 'draft' && get(referral, 'case.service_authorization.id')) {\n CALLBACKS.notify?.error?.(DRAFT_AUTHORIZATION_PROGRAM_CHANGE_MESSAGE);\n return;\n }\n\n setSelectedReferralToDelete(index);\n setDeleteReferralModalIsOpen(true);\n };\n\n const onCloseDeleteReferralModal = () => {\n setDeleteReferralModalIsOpen(false);\n };\n\n useEffect(() => {\n const expanded = referrals?.map((r, i) => ({\n ...r,\n attachedDocuments: r.attachableDocuments\n ? r.attachableDocuments.filter((doc) => doc.attached)\n : [],\n expanded: !reviewCollapsedReferralIndexes.includes(i),\n index: i,\n isOON: referralIsOON(r),\n }));\n setExpandedReferrals(expanded);\n }, [referrals, reviewCollapsedReferralIndexes]);\n\n const deleteModal = useRef([]);\n\n useEffect(() => {\n if (!isEmpty(referrals)) {\n if (deleteReferralModalIsOpen) {\n deleteModal.current[selectedReferralToDelete].openDialog();\n } else if (selectedReferralToDelete >= 0) {\n deleteModal.current[selectedReferralToDelete].closeDialog();\n setSelectedReferralToDelete(-1);\n }\n }\n }, [deleteReferralModalIsOpen, selectedReferralToDelete, referrals]);\n\n useEffect(() => {\n if (referralsResultDetail?.length > 0) {\n sessionStorage.setItem('referralsSubmitted', 'true');\n }\n\n if (window.performance) {\n try {\n const navEntries =\n (performance.getEntriesByType && performance.getEntriesByType('navigation')) || [];\n const isRefresh = navEntries.length > 0 && navEntries[0].type === 'reload';\n const referralsWereSubmitted = sessionStorage.getItem('referralsSubmitted') === 'true';\n\n if (isRefresh && referralsWereSubmitted) {\n sessionStorage.removeItem('referralsSubmitted');\n CALLBACKS.onReferralReload();\n }\n } catch (error) {\n console.error(error);\n }\n }\n }, [referralsResultDetail]);\n\n const deleteSelectedReferral = () => {\n const updatedReferrals = referrals.filter((r, i) => i !== selectedReferralToDelete);\n const newReferralPrograms = updatedReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n dispatch(\n setData({\n referrals: [...updatedReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }),\n );\n onCloseDeleteReferralModal();\n };\n\n const createReferrals = useCreateReferrals();\n const forwardReferral = useForwardReferral();\n\n const handleSaveDraftReferral = async () => {\n if (isSavingDraft) return;\n\n setIsSavingDraft(true);\n try {\n const response = await createReferrals({ draft: true });\n handleDraftSaveResponse(response, dispatch);\n } catch (err) {\n console.error(err);\n } finally {\n setIsSavingDraft(false);\n }\n };\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.referralSelected) {\n formRefs.current?.mutators?.setFieldTouched('referralSelected', true);\n const referralSelectedField = document.getElementById('referralSelected');\n return referralSelectedField.focus();\n }\n }, 100);\n };\n\n const focusErrors = () => {\n let index = 0;\n const firstIndexWithErrors = Object.keys(errors).find((idx) =>\n some(values(errors[idx]), Boolean),\n );\n\n if (!some(values(errors[index]), Boolean) && firstIndexWithErrors) {\n index = parseInt(firstIndexWithErrors);\n }\n setFocus(index);\n };\n\n const showReferralsNotifications = (referralResponses) => {\n const amountOfReferralsSent = referralResponses.filter(({ sent }) => sent).length;\n const totalReferrals = referralResponses.length;\n const hasAttachmentFailure = referralResponses.some(\n ({ attachmentStatus }) => attachmentStatus === 'partial' || attachmentStatus === 'failed',\n );\n\n if (amountOfReferralsSent === totalReferrals && hasAttachmentFailure) {\n CALLBACKS.notify.warn('Referrals created, but some attachments failed');\n } else if (amountOfReferralsSent === totalReferrals) {\n CALLBACKS.notify.success('Referrals created');\n } else if (amountOfReferralsSent > 0) {\n CALLBACKS.notify.warn('Some referrals created');\n } else {\n CALLBACKS.notify.error('No referrals created');\n }\n };\n\n const addIsGrouped = (detail, referralsList) => {\n return (detail || []).map((item) => {\n const referral = referralsList?.[item.index];\n\n return {\n ...item,\n isGrouped: referral ? referralIsGrouped(referral) : false,\n };\n });\n };\n\n const getReferralIdsByIndex = (createdReferrals = []) => {\n return createdReferrals.reduce((referralIdByIndex, { referralIndex, id } = {}) => {\n if (referralIndex == null) {\n return referralIdByIndex;\n }\n\n referralIdByIndex[referralIndex] = id || '';\n\n return referralIdByIndex;\n }, {});\n };\n\n const processSubmitResult = (detail, referralsToConsentData) => {\n const detailWithGrouping = addIsGrouped(detail, referrals);\n setReferralsToConsent(referralsToConsentData);\n setReferralsResultDetail(detailWithGrouping);\n showReferralsNotifications(detailWithGrouping);\n };\n\n const isValidForwardResponse = (forwardReferrals) =>\n forwardReferrals !== false &&\n !forwardReferrals?.errorMessage &&\n forwardReferrals.every((response) => response !== false);\n\n const isSuccessfulForward = (forwardReferrals, fullyForwaded) =>\n isValidForwardResponse(forwardReferrals) && fullyForwaded;\n\n const createRemainingReferrals = async () => {\n if (referrals.length < 2) return { detail: [], response: { referralsToConsent: [] } };\n\n const referralForwardedDeleted = referrals.splice(selectedReferralToLink, 1);\n const response = await createReferrals();\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map((item) => ({\n id: item.id,\n index: item.index >= selectedReferralToLink ? item.index + 1 : item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n attachmentStatus: item.attachmentStatus,\n attachmentErrors: item.attachmentErrors,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n referrals.splice(selectedReferralToLink, 0, referralForwardedDeleted[0]);\n\n return { detail, response };\n };\n\n const getForwardErrorMessage = (forwardReferrals, fullyForwaded) =>\n forwardReferrals?.errorMessage ?? (fullyForwaded ? null : 'Unexpected error');\n\n const handleForwardReferralSubmit = async () => {\n const referralToForward = referrals[selectedReferralToLink] ?? null;\n const forwardReferrals = await forwardReferral({\n caseId,\n referralToForward,\n });\n\n let fullyForwaded = false;\n\n if (isValidForwardResponse(forwardReferrals)) {\n fullyForwaded = forwardReferrals.every(\n (response) => response?.status >= 200 && response?.status < 300,\n );\n }\n\n const { detail, response } = await createRemainingReferrals();\n\n const errorMessage = getForwardErrorMessage(forwardReferrals, fullyForwaded);\n detail.splice(selectedReferralToLink, 0, {\n index: selectedReferralToLink,\n sent: fullyForwaded,\n error: errorMessage,\n referralId: get(forwardReferrals, '[0].data.data.id', ''),\n caseId: caseId,\n });\n\n // Add forwarded referrals to the response.referralToConsent\n if (isSuccessfulForward(forwardReferrals, fullyForwaded)) {\n const newReferrals = await referralToConsent({\n originalReferral: referralToForward,\n createdReferrals: forwardReferrals.map((referral) => referral.data?.data),\n });\n\n if (newReferrals) response.referralsToConsent.push(newReferrals);\n }\n\n setIsSuccessfullyForwarded(fullyForwaded);\n processSubmitResult(detail, response.referralsToConsent);\n };\n\n const handleStandardSubmit = async () => {\n const response = await createReferrals({ caseId });\n updateSent(true);\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map((item) => ({\n id: item.id,\n index: item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n attachmentStatus: item.attachmentStatus,\n attachmentErrors: item.attachmentErrors,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n\n processSubmitResult(detail, response.referralsToConsent);\n setConsented(person.consent?.state === 'accepted');\n // Create the share event for each referral only if the resource list id is present\n // This is being set from the resource list page or search page before navigating to the create referrals\n if (resourceListId) {\n response.referrals.map((referral) => createShareEvent(referral.id));\n }\n };\n\n const handleSubmit = async () => {\n if (!isEmptyErrors(errors)) return focusErrors();\n\n setLoading(true);\n setDisableSubmit(true);\n\n try {\n if (isForwardReferralPath) {\n await handleForwardReferralSubmit();\n } else {\n await handleStandardSubmit();\n }\n } catch (err) {\n CALLBACKS.notify.error('Error submitting referral');\n setDisableSubmit(false);\n } finally {\n setLoading(false);\n setHasBeenSubmitted(true);\n }\n };\n\n // When submitting consent through Consent App\n const onConsentComplete = async (event) => {\n const consentAppUrl = APP_ENVIRONMENT.consentUrl;\n const eventOrigin = get(event, 'origin');\n const originIsConsentApp = includes(consentAppUrl, eventOrigin);\n\n if (event?.data?.status === CONSENT_COMPLETED && originIsConsentApp) {\n CALLBACKS.notify.success('Your consent has been recorded.');\n onNavigateAway();\n }\n };\n\n // When not submitting consent through Consent App\n const onNavigateAway = () => {\n CALLBACKS.onSubmitConsent();\n setConsented(true);\n setConsentCompleted(true);\n };\n\n useEffect(() => {\n window.addEventListener('message', onConsentComplete);\n\n return () => {\n window.removeEventListener('message', onConsentComplete);\n };\n }, []);\n\n useEffect(() => {\n const showingConsent =\n referralSentSuccessfully &&\n (!consented || (features.nh_consent?.enabled && !consentCompleted));\n\n if (showingConsent) {\n window.history.pushState(null, null, window.location.href);\n const handlePopState = (event) => {\n event.preventDefault();\n CALLBACKS.onReferralCompleted();\n };\n window.addEventListener('popstate', handlePopState);\n return () => {\n window.removeEventListener('popstate', handlePopState);\n };\n }\n }, [referralSentSuccessfully, consented, features.nh_consent?.enabled, consentCompleted]);\n\n if (\n referralSentSuccessfully &&\n (!consented || (features.nh_consent?.enabled && !consentCompleted))\n ) {\n const { Consent } = COMPONENTS;\n\n return (\n <CreateReferralContainer isStepReferralSent={true}>\n <div className=\"px-12 pb-12\">\n <StepHeader header={'Complete Consent'}>{CONSENT_DESCRIPTION}</StepHeader>\n <Consent\n contact={person}\n currentEmployee={currentEmployee}\n initializedValue=\"user_attestation\"\n updateGlobalState={CALLBACKS?.consent?.updateGlobalState}\n dialogContentStyles={'text-validation-red'}\n onNavigateAway={onNavigateAway}\n features={features}\n />\n </div>\n </CreateReferralContainer>\n );\n }\n\n return (\n <>\n {loading ? (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <h2 className=\"text-base font-proxima font-semibold text-[18px] leading-[28px] text-center mt-5\">\n {REVIEW_LOADING_SCREEN_DESCRIPTION}\n </h2>\n <div className=\"flex justify-center items-center mt-6\">\n <div className=\"py-20 bg-white w-full max-w-4xl px-4 md:px-8 lg:px-16\">\n <div className=\"flex flex-col justify-center items-center\">\n <Skeleton height={50} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={20} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={80} width={0.9 * 800} style={{ marginTop: 12 }} />\n </div>\n <div className=\"flex flex-row justify-center items-center flex-wrap gap-4 mt-4\">\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n </div>\n </div>\n </div>\n </div>\n </CreateReferralContainer>\n ) : hasBeenSubmitted ? (\n <ReferralsSent\n referrals={referrals}\n referralsResultDetail={referralsResultDetail}\n isSuccessfullyForwarded={isSuccessfullyForwarded}\n isForwardReferralPath={isForwardReferralPath}\n />\n ) : (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader icon header={'Review Referrals'}>\n {REVIEW_REFERRAL_DESCRIPTION}\n </StepHeader>\n\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\n />\n\n {hasMultipleReferrals() && crtb854ForwardingSuperset && isForwardReferralPath && (\n <DropdownMultiplesReferrals\n referrals={referrals}\n setReferralErrors={setReferralErrors}\n formRefs={formRefs}\n setSelectedReferralToLink={setSelectedReferralToLink}\n serviceTypeName={serviceTypeName}\n />\n )}\n\n {isEmpty(referrals) ? (\n <NoReferralsDisplay onClick={() => CALLBACKS.onNavigateBack()} />\n ) : (\n expandedReferrals?.map((referral, index) => {\n const { programs } = referral;\n const isAuthRequired = get(\n referral,\n 'programs[0].fee_schedule_program.authorization_required',\n );\n const preventReferralDelete =\n draftState?.state === 'draft' && !!get(referral, 'case.service_authorization.id');\n\n return (\n <div\n className=\"mb-6 mx-auto responsive-max-width\"\n key={`referral-review-card-${index}`}\n data-testid={`referral-review-card-${index}`}\n >\n <div\n className={`bg-white border border-solid border-blue-border ${referral?.expanded ? 'rounded-t-lg' : 'rounded'}`}\n >\n <div className=\"py-6 px-8 flex justify-between\">\n <h2 className=\"uppercase font-black text-grey text-base\">\n Referral {index + 1}: {get(referral, 'service.name')}\n </h2>\n <div className=\"flex items-center\">\n <Icon\n icon=\"Pencil\"\n color=\"#182A44\"\n className=\"mr-3\"\n onClick={() =>\n navigate('/create/builder', { state: { selectedReferral: index } })\n }\n data-testid={`referral-review-pencil-${index}`}\n ariaLabel=\"edit\"\n />\n {!preventReferralDelete && (\n <Icon\n icon=\"Delete\"\n color=\"#182A44\"\n className=\"mr-3\"\n onClick={() => onDeleteReferralClick(index)}\n data-testid={`referral-review-card-trash-${index}`}\n ariaLabel=\"delete\"\n />\n )}\n <Icon\n icon=\"ChevronArrow\"\n direction={referral?.expanded ? 'down' : 'right'}\n color=\"#182A44\"\n onClick={() => onChevronClick(index)}\n data-testid={`referral-review-card-chevron-${index}`}\n ariaLabel=\"expand\"\n />\n </div>\n </div>\n </div>\n\n <DeleteReferralModal\n refModal={(el) => (deleteModal.current[index] = el)}\n onCloseModal={onCloseDeleteReferralModal}\n referral={referral}\n onDeleteSelectedReferral={deleteSelectedReferral}\n />\n\n {get(referral, 'expanded', true) ? (\n <div className=\"bg-white border border-solid border-blue-border rounded-b-lg\">\n <div className=\"pt-6 px-8 pb-16\">\n <div className=\"grid grid-cols-3\">\n <div className=\"col-span-2 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Referral Programs\n </h2>\n {programs.map((program, i) => (\n <p key={i}>\n {get(program, 'name')}{' '}\n {get(program, 'provider.name')\n ? '(' + get(program, 'provider.name') + ')'\n : ''}\n </p>\n ))}\n </div>\n <div className=\"col-span-1 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Referral Network\n </h2>\n <p>{get(referral, 'network.name')}</p>\n </div>\n {newLanguageDashboard && referral.isOON && (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 ml-3 col-span-full mt-10\">\n <p className=\"text-brand-blue\">\n These programs aren't accepting referrals in Unite Us. We'll\n create an off-platform case where you can document communication\n with or services provided by the program.\n </p>\n </div>\n )}\n {get(referral, 'paymentAuthForm') && isAuthRequired && (\n <div className=\"col-span-3 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Authorization Request\n </h2>\n <ReferralAuthorizationRequestSummary\n authorizationRequest={get(referral, 'paymentAuthForm')}\n feeScheduleProgram={get(\n referral,\n 'programs[0].fee_schedule_program',\n )}\n />\n </div>\n )}\n <div className=\"col-span-2 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n {newLanguageDashboard ? 'Description' : 'Referral Description'}\n </h2>\n <p>{get(referral, 'description')}</p>\n </div>\n {get(referral, 'opened_date') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n {newLanguageDashboard ? 'Case Open Date' : 'Open Date'}\n </h2>\n <p>\n {formatShortDate2FromTimestamp(\n get(referral, 'opened_date'),\n true,\n )}\n </p>\n </div>\n )}\n {featureFlagClientNeeds && get(referral, 'client_need.length') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Associated Need\n {get(referral, 'client_need.length') > 1 ? 's' : ''}\n </h2>\n {get(referral, 'client_need', []).map((needId, needIndex) => (\n <p key={needIndex}>{getClientNeedName(needId)}</p>\n ))}\n </div>\n )}\n {get(referral, 'primaryWorker.full_name') && (\n <div className=\"col-span-3 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Primary Worker\n </h2>\n <p>{get(referral, 'primaryWorker.full_name')}</p>\n </div>\n )}\n <div className=\"col-span-3 mt-16 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">\n Attached Documents\n </h2>\n {!isEmpty(get(referral, 'attachedDocuments')) && (\n <DocumentsListView documents={get(referral, 'attachedDocuments')} />\n )}\n {!isEmpty(getDisplayAttachments(referral)) && (\n <div className=\"file-upload-dropzone mb-3 mt-5\">\n <FilePreviewWrapper\n existingFiles={getDisplayAttachments(referral)}\n />\n </div>\n )}\n {isEmpty(getDisplayAttachments(referral)) &&\n isEmpty(get(referral, 'attachedDocuments')) && (\n <p>No documents attached</p>\n )}\n </div>\n <div className=\"col-span-3 bg-light-pale-blue rounded mt-6 p-6 flex\">\n <Icon\n icon=\"ExclamationCircle\"\n color=\"#182A44\"\n className=\"mt-px mr-4\"\n />\n <p>{READY_TO_SUMBIT_INFO_TEXT}</p>\n </div>\n </div>\n </div>\n </div>\n ) : null}\n </div>\n );\n })\n )}\n\n {!isEmpty(referrals) && (\n <div className=\"pb-6\">\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,10 +7,12 @@ import Review from '../Review';
7
7
  import { server } from '../../../__testUtils__/mockServer/server';
8
8
  import { rest } from 'msw';
9
9
  import { getUrl } from '../../../__testUtils__/mockServer/handlers';
10
- import { CALLBACKS } from '../../../api/config';
10
+ import { CALLBACKS, COMPONENTS, coreApi } from '../../../api/config';
11
11
  import { CONSENT_DESCRIPTION } from '../constants';
12
12
  import { mockCases } from '../../../__testUtils__/mockData/mockCases';
13
13
  import { useFeatureFlag as mockUseFeatureFlag } from '../../../utils/useFeatureFlag';
14
+ import useForwardReferral from '../../../hooks/useForwardReferral';
15
+ import PropTypes from 'prop-types';
14
16
 
15
17
  // mock useNavigate
16
18
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -48,6 +50,10 @@ jest.mock('react-router-dom', () => ({
48
50
  ...jest.requireActual('react-router-dom'),
49
51
  useNavigate: () => mockedUsedNavigate // Return an empty jest function to test whether it was called or not...I'm not depending on the results so no need to put in a return value
50
52
  }));
53
+ jest.mock('../../../hooks/useForwardReferral', () => ({
54
+ __esModule: true,
55
+ default: jest.fn()
56
+ }));
51
57
  describe('Review Page', () => {
52
58
  it('should render Review Page', async () => {
53
59
  render(/*#__PURE__*/_jsx(Review, {}), {
@@ -477,4 +483,94 @@ describe('Review Page', () => {
477
483
  expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();
478
484
  });
479
485
  });
486
+
487
+ // Regression coverage for CRTB-2702: forwarding a referral must still await the NH consent
488
+ // data before rendering the consent step. Previously `referralToConsent(...)` was called
489
+ // without `await` in `handleForwardReferralSubmit`, so the (always-truthy) pending Promise
490
+ // was pushed into `referralsToConsent` instead of the resolved consent data, and the consent
491
+ // step rendered blank.
492
+ describe('NH consent when forwarding a referral (CRTB-2702)', () => {
493
+ function NhConsentDebug(_ref) {
494
+ let {
495
+ features
496
+ } = _ref;
497
+ return /*#__PURE__*/_jsx("div", {
498
+ "data-testid": "nh-consent-debug",
499
+ children: features?.nh_consent?.referrals?.[0]?.serviceName ?? 'NO_SERVICE_NAME'
500
+ });
501
+ }
502
+ NhConsentDebug.propTypes = {
503
+ features: PropTypes.shape({
504
+ nh_consent: PropTypes.shape({
505
+ referrals: PropTypes.arrayOf(PropTypes.shape({
506
+ serviceName: PropTypes.string
507
+ }))
508
+ })
509
+ })
510
+ };
511
+ const forwardableReferral = {
512
+ ...referrals[0],
513
+ network: {
514
+ ...referrals[0].network,
515
+ features: {
516
+ nh_consent: true
517
+ }
518
+ }
519
+ };
520
+ const mockSuccessfulForwardResponse = () => [{
521
+ status: 200,
522
+ data: {
523
+ data: {
524
+ id: 'forwarded-referral-id',
525
+ state: 'sent',
526
+ receiving_provider: {
527
+ id: forwardableReferral.programs[0].provider.id
528
+ }
529
+ }
530
+ }
531
+ }];
532
+ let originalConsentComponent;
533
+ beforeEach(() => {
534
+ // Let referralToConsent's `await coreApi.populateRelationship(...)` resolve immediately
535
+ // without touching the network; the referral fixture already has `network` populated.
536
+ jest.spyOn(coreApi, 'populateRelationship').mockResolvedValue(undefined);
537
+
538
+ // Swap in a debug consent component that surfaces the actual `features.nh_consent`
539
+ // payload it receives, so we can tell a resolved consent object apart from an
540
+ // unawaited (and therefore still-pending) Promise.
541
+ originalConsentComponent = COMPONENTS.Consent;
542
+ COMPONENTS.Consent = NhConsentDebug;
543
+ });
544
+ afterEach(() => {
545
+ COMPONENTS.Consent = originalConsentComponent;
546
+ });
547
+ it.each([['forwarding an inbound sent referral', 'sent'], ['forwarding an outbound recalled referral', 'recalled'], ['forwarding an outbound rejected referral', 'rejected']])('shows the NH consent step with the resolved consent data when %s', async (_scenario, referralType) => {
548
+ useForwardReferral.mockReturnValue(jest.fn().mockResolvedValue(mockSuccessfulForwardResponse()));
549
+ render(/*#__PURE__*/_jsx(Review, {}), {
550
+ appContextProviderProps: {
551
+ person,
552
+ referrals: [forwardableReferral],
553
+ referralId: 'original-referral-id',
554
+ referralType,
555
+ caseId: 'case-1',
556
+ currentProvider: {
557
+ ...mockAppReferralsProps.appState.currentProvider,
558
+ nh_consent: true
559
+ },
560
+ currentEmployee: mockAppReferralsProps.appState.currentEmployee
561
+ }
562
+ });
563
+ await act(async () => {
564
+ const confirmButtons = screen.getAllByRole('button', {
565
+ name: 'Confirm & Submit'
566
+ });
567
+ fireEvent.click(confirmButtons[0]);
568
+ });
569
+ expect(await screen.findByText('Complete Consent')).toBeInTheDocument();
570
+ // Asserts the real, resolved consent payload (serviceName) made it through -
571
+ // with the missing `await` this would be `undefined` (pulled off a Promise instance)
572
+ // and fall back to 'NO_SERVICE_NAME'.
573
+ expect(await screen.findByTestId('nh-consent-debug')).toHaveTextContent('Benefits');
574
+ });
575
+ });
480
576
  //# sourceMappingURL=Review.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Review.test.js","names":["screen","act","render","within","fireEvent","waitFor","person","mockAppReferralsProps","referrals","referralWithAuthorization","Review","server","rest","getUrl","CALLBACKS","CONSENT_DESCRIPTION","mockCases","useFeatureFlag","mockUseFeatureFlag","jsx","_jsx","mockedUsedNavigate","jest","fn","mock","requireActual","feeScheduleProgramUtils","PAYMENT_TYPES","fee_for_service","cost_reimbursement","isCostPaymentType","paymentType","INITIAL_ADDRESSES","APP_ENVIRONMENT","sharesUrl","providerId","notify","success","error","warning","info","useNavigate","describe","it","appContextProviderProps","currentProvider","appState","currentEmployee","referralRows","getAllByTestId","expect","toHaveLength","referral1","getByRole","name","getByText","referral2","click","queryByText","toBeNull","toBeInTheDocument","rerender","getAllByRole","toHaveBeenCalledWith","returnedReferralRows","state","selectedReferral","mockReset","newReferralList","confirmButtons","topButton","findByText","use","post","req","res","ctx","status","json","errors","detail","formResponses","form","id","service_type_ids","relationships","service","data","responses","case","programs","fee_schedule_program","authorization_required","patch","saveDraftButtons","consent","referralWithAuthorizationNoIcd","cm_code_required_on_authorization","not","patchPayload","body","clinical_modifications","toEqual","type"],"sources":["../../../../src/pages/review/__tests__/Review.test.js"],"sourcesContent":["import { screen, act } from '@testing-library/react';\nimport { render, within, fireEvent, waitFor } from '../../../__testUtils__/test-utils';\nimport { person } from '../../../__testUtils__/mockData/mockPeople';\nimport mockAppReferralsProps from '../../../__testUtils__/mockData/components/mockAppReferrals';\nimport { referrals, referralWithAuthorization } from './data';\nimport Review from '../Review';\nimport { server } from '../../../__testUtils__/mockServer/server';\nimport { rest } from 'msw';\nimport { getUrl } from '../../../__testUtils__/mockServer/handlers';\nimport { CALLBACKS } from '../../../api/config';\nimport { CONSENT_DESCRIPTION } from '../constants';\nimport { mockCases } from '../../../__testUtils__/mockData/mockCases';\nimport { useFeatureFlag as mockUseFeatureFlag } from '../../../utils/useFeatureFlag';\n\n// mock useNavigate\nconst mockedUsedNavigate = jest.fn();\n\njest.mock('@unite-us/app-components', () => ({\n ...jest.requireActual('@unite-us/app-components'),\n feeScheduleProgramUtils: {\n PAYMENT_TYPES: {\n fee_for_service: 'Fee for service',\n cost_reimbursement: 'Cost reimbursement',\n },\n isCostPaymentType: (paymentType) => paymentType === 'cost_reimbursement',\n },\n}));\n\njest.mock('../../../api/config', () => ({\n ...jest.requireActual('../../../api/config'),\n INITIAL_ADDRESSES: {},\n APP_ENVIRONMENT: { sharesUrl: 'localhost:8080/test', providerId: 'test-provider-id' },\n CALLBACKS: {\n notify: {\n success: jest.fn(),\n error: jest.fn(),\n warning: jest.fn(),\n info: jest.fn(),\n },\n },\n}));\n\njest.mock('../../../utils/useFeatureFlag', () => ({\n useFeatureFlag: jest.fn(),\n}));\n\njest.mock('react-router-dom', () => ({\n ...jest.requireActual('react-router-dom'),\n useNavigate: () => mockedUsedNavigate, // Return an empty jest function to test whether it was called or not...I'm not depending on the results so no need to put in a return value\n}));\n\ndescribe('Review Page', () => {\n it('should render Review Page', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n referral1.getByRole('heading', { name: 'Referral 1: Benefits' });\n referral1.getByText('Referral Programs');\n referral1.getByText('All Service Types Program [Kevin] (Kevin Org [Dev Only])');\n referral1.getByText('Referral Network');\n referral1.getByText('Developer Playground [DEVS ONLY]');\n referral1.getByText('Referral Description');\n referral1.getByText('help1');\n referral1.getByText(\n 'Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.',\n );\n\n const referral2 = within(referralRows[1]);\n referral2.getByRole('heading', { name: 'Referral 2: Benefits Eligibility Screening' });\n referral2.getByText('Referral Programs');\n referral2.getByText('All Services (11 AA Provider2)');\n referral2.getByText('Referral Network');\n referral2.getByText('Developer Playground [DEVS ONLY]');\n referral2.getByText('Referral Description');\n referral2.getByText('help2');\n referral2.getByText(\n 'Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.',\n );\n });\n\n it('should collapse/expand card', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n referral1.getByText('Referral Programs');\n\n // Collapsed (by default it's expanded)\n fireEvent.click(referral1.getByRole('button', { name: 'expand' }));\n expect(referral1.queryByText('Referral Programs')).toBeNull();\n\n // Expanded\n fireEvent.click(referral1.getByRole('button', { name: 'expand' }));\n expect(referral1.queryByText('Referral Programs')).toBeInTheDocument();\n });\n\n it('should preserve collapsed cards after returning to review', async () => {\n const { rerender } = render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n const referral2 = within(referralRows[1]);\n\n fireEvent.click(referral1.getByRole('button', { name: 'expand' }));\n expect(referral1.queryByText('Referral Programs')).toBeNull();\n expect(referral2.queryByText('Referral Programs')).toBeInTheDocument();\n\n fireEvent.click(screen.getAllByRole('button', { name: 'Back' })[0]);\n expect(mockedUsedNavigate).toHaveBeenCalledWith(-1);\n\n rerender(<div data-testid=\"builder-step\" />);\n rerender(<Review />);\n\n const returnedReferralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(returnedReferralRows).toHaveLength(2);\n expect(within(returnedReferralRows[0]).queryByText('Referral Programs')).toBeNull();\n expect(within(returnedReferralRows[1]).queryByText('Referral Programs')).toBeInTheDocument();\n });\n\n it('should navigate on edit card', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n fireEvent.click(referral1.getByRole('button', { name: 'edit' }));\n\n await expect(mockedUsedNavigate).toHaveBeenCalledWith('/create/builder', {\n state: { selectedReferral: 0 },\n });\n mockedUsedNavigate.mockReset();\n\n const referral2 = within(referralRows[1]);\n fireEvent.click(referral2.getByRole('button', { name: 'edit' }));\n\n await expect(mockedUsedNavigate).toHaveBeenCalledWith('/create/builder', {\n state: { selectedReferral: 1 },\n });\n });\n\n it('should delete the referral', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n // Delete icon\n fireEvent.click(referral1.getByRole('button', { name: 'delete' }));\n\n // Modal\n screen.getByText('Are you sure you want to delete this referral?');\n fireEvent.click(screen.getByRole('button', { name: 'Delete' }));\n\n const newReferralList = screen.getAllByTestId(/referral-review-card-/i);\n expect(newReferralList).toHaveLength(1);\n });\n\n it('should submit referrals', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n await waitFor(() => screen.findByText('Referrals Successfully Created!'));\n expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();\n });\n\n it('should notify failure creating the case', async () => {\n server.use(\n rest.post(getUrl('/cases'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: '' }] }));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => {\n expect(\n screen.getByText(\n 'Error: Referral creation failed. Get help resolving the issue by reaching out to',\n ),\n ).toBeInTheDocument();\n });\n });\n\n it('should notify failure creating the referral', async () => {\n server.use(\n rest.post(getUrl('/referrals'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: '' }] }));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => {\n expect(\n screen.getByText(\n 'Error: Referral creation failed. Get help resolving the issue by reaching out to',\n ),\n ).toBeInTheDocument();\n });\n });\n\n it('should notify failure creating forms submissions', async () => {\n server.use(\n rest.post(getUrl('/form_submissions'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: '' }] }));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n formResponses: [\n {\n form: { id: 'f1', service_type_ids: mockCases[0].relationships.service.data.id },\n responses: [{ id: 'r1' }],\n },\n ],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() =>\n expect(CALLBACKS.notify.error).toHaveBeenCalledWith('Error submitting Assessments'),\n );\n });\n\n it('should update a draft referral', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [\n {\n ...referrals[0],\n id: 'e22e1119-9068-4950-9379-15b1b1d04429',\n state: 'draft',\n case: { id: '86f64bd4-8850-4c07-8195-d9748222e64c' },\n programs: [\n {\n ...referrals[0].programs[0],\n fee_schedule_program: {\n ...referrals[0].programs[0].fee_schedule_program,\n authorization_required: false,\n },\n },\n ],\n },\n ],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n await waitFor(() => {\n expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();\n });\n });\n\n it('should notify when saving a draft referral fails', async () => {\n server.use(\n rest.patch(getUrl('/referrals/:id'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: '' }] }));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [\n {\n ...referrals[0],\n id: 'referral-1',\n state: 'draft',\n case: { id: 'case-1' },\n },\n ],\n formResponses: [\n {\n form: { id: 'f1', service_type_ids: mockCases[0].relationships.service.data.id },\n responses: [{ id: 'r1' }],\n },\n ],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n const saveDraftButtons = screen.getAllByRole('button', { name: 'Save Draft Referral(s)' });\n fireEvent.click(saveDraftButtons[0]);\n\n await waitFor(() =>\n expect(CALLBACKS.notify.error).toHaveBeenCalledWith('Unable to save draft referral'),\n );\n });\n\n it('should display the consent form after submitting referrals for an unconsented person', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person: { ...person, consent: null },\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n expect(await screen.findByText('Complete Consent')).toBeInTheDocument();\n expect(await screen.findByText(CONSENT_DESCRIPTION)).toBeInTheDocument();\n expect(await screen.findByText('Informed Consent')).toBeInTheDocument();\n });\n\n it('should display authorization request summary', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: referralWithAuthorization,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(1);\n const referral1 = within(referralRows[0]);\n referral1.getByText('Authorization Request');\n referral1.getByText('Contracted Program:');\n referral1.getByText('Fake Mock Box (Delivered) (Small)');\n referral1.getByText('Payment Approach:');\n referral1.getByText('Fee for service');\n referral1.getByText('Unit:');\n referral1.getByText('food box');\n referral1.getByText('Rate:');\n referral1.getByText('$150.36');\n referral1.getByText('per food box');\n referral1.getByText('Program Cap:');\n referral1.getByText('Fake cap per month');\n referral1.getByText('Amount Requested:');\n referral1.getByText('1 food box');\n referral1.getByText('Service Delivery Dates:');\n referral1.getByText('8/9/2024 - 8/9/2024');\n referral1.getByText(/ICD-10 Code/i);\n referral1.getByText('T61.001D');\n });\n\n it('should hide icd-10 field when clinical modification codes are not required on fee schedule program', async () => {\n const referralWithAuthorizationNoIcd = [\n {\n ...referralWithAuthorization[0],\n programs: [\n {\n ...referralWithAuthorization[0].programs[0],\n fee_schedule_program: {\n ...referralWithAuthorization[0].programs[0].fee_schedule_program,\n cm_code_required_on_authorization: false,\n },\n },\n ],\n },\n ];\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: referralWithAuthorizationNoIcd,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n expect(screen.queryByText('ICD-10 Code')).not.toBeInTheDocument();\n });\n\n it('should submit referral with ICD code when CM value submitted', async () => {\n let patchPayload;\n\n server.use(\n rest.post('*/service_authorizations', (req, res, ctx) => {\n patchPayload = req.body.data;\n return res(ctx.status(200));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n expect(patchPayload.relationships.clinical_modifications).toEqual({\n data: [\n {\n type: 'clinical_modification',\n id: '9073e4e0-34d4-4248-8ad1-25705972d6ff',\n },\n ],\n });\n\n await waitFor(() => screen.findByText('Referrals Successfully Created!'));\n expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Review.test.js","names":["screen","act","render","within","fireEvent","waitFor","person","mockAppReferralsProps","referrals","referralWithAuthorization","Review","server","rest","getUrl","CALLBACKS","COMPONENTS","coreApi","CONSENT_DESCRIPTION","mockCases","useFeatureFlag","mockUseFeatureFlag","useForwardReferral","PropTypes","jsx","_jsx","mockedUsedNavigate","jest","fn","mock","requireActual","feeScheduleProgramUtils","PAYMENT_TYPES","fee_for_service","cost_reimbursement","isCostPaymentType","paymentType","INITIAL_ADDRESSES","APP_ENVIRONMENT","sharesUrl","providerId","notify","success","error","warning","info","useNavigate","__esModule","default","describe","it","appContextProviderProps","currentProvider","appState","currentEmployee","referralRows","getAllByTestId","expect","toHaveLength","referral1","getByRole","name","getByText","referral2","click","queryByText","toBeNull","toBeInTheDocument","rerender","getAllByRole","toHaveBeenCalledWith","returnedReferralRows","state","selectedReferral","mockReset","newReferralList","confirmButtons","topButton","findByText","use","post","req","res","ctx","status","json","errors","detail","formResponses","form","id","service_type_ids","relationships","service","data","responses","case","programs","fee_schedule_program","authorization_required","patch","saveDraftButtons","consent","referralWithAuthorizationNoIcd","cm_code_required_on_authorization","not","patchPayload","body","clinical_modifications","toEqual","type","NhConsentDebug","_ref","features","children","nh_consent","serviceName","propTypes","shape","arrayOf","string","forwardableReferral","network","mockSuccessfulForwardResponse","receiving_provider","provider","originalConsentComponent","beforeEach","spyOn","mockResolvedValue","undefined","Consent","afterEach","each","_scenario","referralType","mockReturnValue","referralId","caseId","findByTestId","toHaveTextContent"],"sources":["../../../../src/pages/review/__tests__/Review.test.js"],"sourcesContent":["import { screen, act } from '@testing-library/react';\nimport { render, within, fireEvent, waitFor } from '../../../__testUtils__/test-utils';\nimport { person } from '../../../__testUtils__/mockData/mockPeople';\nimport mockAppReferralsProps from '../../../__testUtils__/mockData/components/mockAppReferrals';\nimport { referrals, referralWithAuthorization } from './data';\nimport Review from '../Review';\nimport { server } from '../../../__testUtils__/mockServer/server';\nimport { rest } from 'msw';\nimport { getUrl } from '../../../__testUtils__/mockServer/handlers';\nimport { CALLBACKS, COMPONENTS, coreApi } from '../../../api/config';\nimport { CONSENT_DESCRIPTION } from '../constants';\nimport { mockCases } from '../../../__testUtils__/mockData/mockCases';\nimport { useFeatureFlag as mockUseFeatureFlag } from '../../../utils/useFeatureFlag';\nimport useForwardReferral from '../../../hooks/useForwardReferral';\nimport PropTypes from 'prop-types';\n\n// mock useNavigate\nconst mockedUsedNavigate = jest.fn();\n\njest.mock('@unite-us/app-components', () => ({\n ...jest.requireActual('@unite-us/app-components'),\n feeScheduleProgramUtils: {\n PAYMENT_TYPES: {\n fee_for_service: 'Fee for service',\n cost_reimbursement: 'Cost reimbursement',\n },\n isCostPaymentType: (paymentType) => paymentType === 'cost_reimbursement',\n },\n}));\n\njest.mock('../../../api/config', () => ({\n ...jest.requireActual('../../../api/config'),\n INITIAL_ADDRESSES: {},\n APP_ENVIRONMENT: { sharesUrl: 'localhost:8080/test', providerId: 'test-provider-id' },\n CALLBACKS: {\n notify: {\n success: jest.fn(),\n error: jest.fn(),\n warning: jest.fn(),\n info: jest.fn(),\n },\n },\n}));\n\njest.mock('../../../utils/useFeatureFlag', () => ({\n useFeatureFlag: jest.fn(),\n}));\n\njest.mock('react-router-dom', () => ({\n ...jest.requireActual('react-router-dom'),\n useNavigate: () => mockedUsedNavigate, // Return an empty jest function to test whether it was called or not...I'm not depending on the results so no need to put in a return value\n}));\n\njest.mock('../../../hooks/useForwardReferral', () => ({\n __esModule: true,\n default: jest.fn(),\n}));\n\ndescribe('Review Page', () => {\n it('should render Review Page', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n referral1.getByRole('heading', { name: 'Referral 1: Benefits' });\n referral1.getByText('Referral Programs');\n referral1.getByText('All Service Types Program [Kevin] (Kevin Org [Dev Only])');\n referral1.getByText('Referral Network');\n referral1.getByText('Developer Playground [DEVS ONLY]');\n referral1.getByText('Referral Description');\n referral1.getByText('help1');\n referral1.getByText(\n 'Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.',\n );\n\n const referral2 = within(referralRows[1]);\n referral2.getByRole('heading', { name: 'Referral 2: Benefits Eligibility Screening' });\n referral2.getByText('Referral Programs');\n referral2.getByText('All Services (11 AA Provider2)');\n referral2.getByText('Referral Network');\n referral2.getByText('Developer Playground [DEVS ONLY]');\n referral2.getByText('Referral Description');\n referral2.getByText('help2');\n referral2.getByText(\n 'Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.',\n );\n });\n\n it('should collapse/expand card', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n referral1.getByText('Referral Programs');\n\n // Collapsed (by default it's expanded)\n fireEvent.click(referral1.getByRole('button', { name: 'expand' }));\n expect(referral1.queryByText('Referral Programs')).toBeNull();\n\n // Expanded\n fireEvent.click(referral1.getByRole('button', { name: 'expand' }));\n expect(referral1.queryByText('Referral Programs')).toBeInTheDocument();\n });\n\n it('should preserve collapsed cards after returning to review', async () => {\n const { rerender } = render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n const referral2 = within(referralRows[1]);\n\n fireEvent.click(referral1.getByRole('button', { name: 'expand' }));\n expect(referral1.queryByText('Referral Programs')).toBeNull();\n expect(referral2.queryByText('Referral Programs')).toBeInTheDocument();\n\n fireEvent.click(screen.getAllByRole('button', { name: 'Back' })[0]);\n expect(mockedUsedNavigate).toHaveBeenCalledWith(-1);\n\n rerender(<div data-testid=\"builder-step\" />);\n rerender(<Review />);\n\n const returnedReferralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(returnedReferralRows).toHaveLength(2);\n expect(within(returnedReferralRows[0]).queryByText('Referral Programs')).toBeNull();\n expect(within(returnedReferralRows[1]).queryByText('Referral Programs')).toBeInTheDocument();\n });\n\n it('should navigate on edit card', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n fireEvent.click(referral1.getByRole('button', { name: 'edit' }));\n\n await expect(mockedUsedNavigate).toHaveBeenCalledWith('/create/builder', {\n state: { selectedReferral: 0 },\n });\n mockedUsedNavigate.mockReset();\n\n const referral2 = within(referralRows[1]);\n fireEvent.click(referral2.getByRole('button', { name: 'edit' }));\n\n await expect(mockedUsedNavigate).toHaveBeenCalledWith('/create/builder', {\n state: { selectedReferral: 1 },\n });\n });\n\n it('should delete the referral', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n // Delete icon\n fireEvent.click(referral1.getByRole('button', { name: 'delete' }));\n\n // Modal\n screen.getByText('Are you sure you want to delete this referral?');\n fireEvent.click(screen.getByRole('button', { name: 'Delete' }));\n\n const newReferralList = screen.getAllByTestId(/referral-review-card-/i);\n expect(newReferralList).toHaveLength(1);\n });\n\n it('should submit referrals', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n await waitFor(() => screen.findByText('Referrals Successfully Created!'));\n expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();\n });\n\n it('should notify failure creating the case', async () => {\n server.use(\n rest.post(getUrl('/cases'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: '' }] }));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => {\n expect(\n screen.getByText(\n 'Error: Referral creation failed. Get help resolving the issue by reaching out to',\n ),\n ).toBeInTheDocument();\n });\n });\n\n it('should notify failure creating the referral', async () => {\n server.use(\n rest.post(getUrl('/referrals'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: '' }] }));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => {\n expect(\n screen.getByText(\n 'Error: Referral creation failed. Get help resolving the issue by reaching out to',\n ),\n ).toBeInTheDocument();\n });\n });\n\n it('should notify failure creating forms submissions', async () => {\n server.use(\n rest.post(getUrl('/form_submissions'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: '' }] }));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n formResponses: [\n {\n form: { id: 'f1', service_type_ids: mockCases[0].relationships.service.data.id },\n responses: [{ id: 'r1' }],\n },\n ],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() =>\n expect(CALLBACKS.notify.error).toHaveBeenCalledWith('Error submitting Assessments'),\n );\n });\n\n it('should update a draft referral', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [\n {\n ...referrals[0],\n id: 'e22e1119-9068-4950-9379-15b1b1d04429',\n state: 'draft',\n case: { id: '86f64bd4-8850-4c07-8195-d9748222e64c' },\n programs: [\n {\n ...referrals[0].programs[0],\n fee_schedule_program: {\n ...referrals[0].programs[0].fee_schedule_program,\n authorization_required: false,\n },\n },\n ],\n },\n ],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n await waitFor(() => {\n expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();\n });\n });\n\n it('should notify when saving a draft referral fails', async () => {\n server.use(\n rest.patch(getUrl('/referrals/:id'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: '' }] }));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [\n {\n ...referrals[0],\n id: 'referral-1',\n state: 'draft',\n case: { id: 'case-1' },\n },\n ],\n formResponses: [\n {\n form: { id: 'f1', service_type_ids: mockCases[0].relationships.service.data.id },\n responses: [{ id: 'r1' }],\n },\n ],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n const saveDraftButtons = screen.getAllByRole('button', { name: 'Save Draft Referral(s)' });\n fireEvent.click(saveDraftButtons[0]);\n\n await waitFor(() =>\n expect(CALLBACKS.notify.error).toHaveBeenCalledWith('Unable to save draft referral'),\n );\n });\n\n it('should display the consent form after submitting referrals for an unconsented person', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person: { ...person, consent: null },\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n expect(await screen.findByText('Complete Consent')).toBeInTheDocument();\n expect(await screen.findByText(CONSENT_DESCRIPTION)).toBeInTheDocument();\n expect(await screen.findByText('Informed Consent')).toBeInTheDocument();\n });\n\n it('should display authorization request summary', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: referralWithAuthorization,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(1);\n const referral1 = within(referralRows[0]);\n referral1.getByText('Authorization Request');\n referral1.getByText('Contracted Program:');\n referral1.getByText('Fake Mock Box (Delivered) (Small)');\n referral1.getByText('Payment Approach:');\n referral1.getByText('Fee for service');\n referral1.getByText('Unit:');\n referral1.getByText('food box');\n referral1.getByText('Rate:');\n referral1.getByText('$150.36');\n referral1.getByText('per food box');\n referral1.getByText('Program Cap:');\n referral1.getByText('Fake cap per month');\n referral1.getByText('Amount Requested:');\n referral1.getByText('1 food box');\n referral1.getByText('Service Delivery Dates:');\n referral1.getByText('8/9/2024 - 8/9/2024');\n referral1.getByText(/ICD-10 Code/i);\n referral1.getByText('T61.001D');\n });\n\n it('should hide icd-10 field when clinical modification codes are not required on fee schedule program', async () => {\n const referralWithAuthorizationNoIcd = [\n {\n ...referralWithAuthorization[0],\n programs: [\n {\n ...referralWithAuthorization[0].programs[0],\n fee_schedule_program: {\n ...referralWithAuthorization[0].programs[0].fee_schedule_program,\n cm_code_required_on_authorization: false,\n },\n },\n ],\n },\n ];\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: referralWithAuthorizationNoIcd,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n expect(screen.queryByText('ICD-10 Code')).not.toBeInTheDocument();\n });\n\n it('should submit referral with ICD code when CM value submitted', async () => {\n let patchPayload;\n\n server.use(\n rest.post('*/service_authorizations', (req, res, ctx) => {\n patchPayload = req.body.data;\n return res(ctx.status(200));\n }),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n expect(patchPayload.relationships.clinical_modifications).toEqual({\n data: [\n {\n type: 'clinical_modification',\n id: '9073e4e0-34d4-4248-8ad1-25705972d6ff',\n },\n ],\n });\n\n await waitFor(() => screen.findByText('Referrals Successfully Created!'));\n expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();\n });\n});\n\n// Regression coverage for CRTB-2702: forwarding a referral must still await the NH consent\n// data before rendering the consent step. Previously `referralToConsent(...)` was called\n// without `await` in `handleForwardReferralSubmit`, so the (always-truthy) pending Promise\n// was pushed into `referralsToConsent` instead of the resolved consent data, and the consent\n// step rendered blank.\ndescribe('NH consent when forwarding a referral (CRTB-2702)', () => {\n function NhConsentDebug({ features }) {\n return (\n <div data-testid=\"nh-consent-debug\">\n {features?.nh_consent?.referrals?.[0]?.serviceName ?? 'NO_SERVICE_NAME'}\n </div>\n );\n }\n\n NhConsentDebug.propTypes = {\n features: PropTypes.shape({\n nh_consent: PropTypes.shape({\n referrals: PropTypes.arrayOf(PropTypes.shape({ serviceName: PropTypes.string })),\n }),\n }),\n };\n\n const forwardableReferral = {\n ...referrals[0],\n network: { ...referrals[0].network, features: { nh_consent: true } },\n };\n\n const mockSuccessfulForwardResponse = () => [\n {\n status: 200,\n data: {\n data: {\n id: 'forwarded-referral-id',\n state: 'sent',\n receiving_provider: { id: forwardableReferral.programs[0].provider.id },\n },\n },\n },\n ];\n\n let originalConsentComponent;\n\n beforeEach(() => {\n // Let referralToConsent's `await coreApi.populateRelationship(...)` resolve immediately\n // without touching the network; the referral fixture already has `network` populated.\n jest.spyOn(coreApi, 'populateRelationship').mockResolvedValue(undefined);\n\n // Swap in a debug consent component that surfaces the actual `features.nh_consent`\n // payload it receives, so we can tell a resolved consent object apart from an\n // unawaited (and therefore still-pending) Promise.\n originalConsentComponent = COMPONENTS.Consent;\n COMPONENTS.Consent = NhConsentDebug;\n });\n\n afterEach(() => {\n COMPONENTS.Consent = originalConsentComponent;\n });\n\n it.each([\n ['forwarding an inbound sent referral', 'sent'],\n ['forwarding an outbound recalled referral', 'recalled'],\n ['forwarding an outbound rejected referral', 'rejected'],\n ])(\n 'shows the NH consent step with the resolved consent data when %s',\n async (_scenario, referralType) => {\n useForwardReferral.mockReturnValue(\n jest.fn().mockResolvedValue(mockSuccessfulForwardResponse()),\n );\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [forwardableReferral],\n referralId: 'original-referral-id',\n referralType,\n caseId: 'case-1',\n currentProvider: { ...mockAppReferralsProps.appState.currentProvider, nh_consent: true },\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n },\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: 'Confirm & Submit' });\n fireEvent.click(confirmButtons[0]);\n });\n\n expect(await screen.findByText('Complete Consent')).toBeInTheDocument();\n // Asserts the real, resolved consent payload (serviceName) made it through -\n // with the missing `await` this would be `undefined` (pulled off a Promise instance)\n // and fall back to 'NO_SERVICE_NAME'.\n expect(await screen.findByTestId('nh-consent-debug')).toHaveTextContent('Benefits');\n },\n );\n});\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,GAAG,QAAQ,wBAAwB;AACpD,SAASC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAEC,OAAO,QAAQ,mCAAmC;AACtF,SAASC,MAAM,QAAQ,4CAA4C;AACnE,OAAOC,qBAAqB,MAAM,6DAA6D;AAC/F,SAASC,SAAS,EAAEC,yBAAyB,QAAQ,QAAQ;AAC7D,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,MAAM,QAAQ,0CAA0C;AACjE,SAASC,IAAI,QAAQ,KAAK;AAC1B,SAASC,MAAM,QAAQ,4CAA4C;AACnE,SAASC,SAAS,EAAEC,UAAU,EAAEC,OAAO,QAAQ,qBAAqB;AACpE,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAASC,SAAS,QAAQ,2CAA2C;AACrE,SAASC,cAAc,IAAIC,kBAAkB,QAAQ,+BAA+B;AACpF,OAAOC,kBAAkB,MAAM,mCAAmC;AAClE,OAAOC,SAAS,MAAM,YAAY;;AAElC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,MAAMC,kBAAkB,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;AAEpCD,IAAI,CAACE,IAAI,CAAC,0BAA0B,EAAE,OAAO;EAC3C,GAAGF,IAAI,CAACG,aAAa,CAAC,0BAA0B,CAAC;EACjDC,uBAAuB,EAAE;IACvBC,aAAa,EAAE;MACbC,eAAe,EAAE,iBAAiB;MAClCC,kBAAkB,EAAE;IACtB,CAAC;IACDC,iBAAiB,EAAGC,WAAW,IAAKA,WAAW,KAAK;EACtD;AACF,CAAC,CAAC,CAAC;AAEHT,IAAI,CAACE,IAAI,CAAC,qBAAqB,EAAE,OAAO;EACtC,GAAGF,IAAI,CAACG,aAAa,CAAC,qBAAqB,CAAC;EAC5CO,iBAAiB,EAAE,CAAC,CAAC;EACrBC,eAAe,EAAE;IAAEC,SAAS,EAAE,qBAAqB;IAAEC,UAAU,EAAE;EAAmB,CAAC;EACrFzB,SAAS,EAAE;IACT0B,MAAM,EAAE;MACNC,OAAO,EAAEf,IAAI,CAACC,EAAE,CAAC,CAAC;MAClBe,KAAK,EAAEhB,IAAI,CAACC,EAAE,CAAC,CAAC;MAChBgB,OAAO,EAAEjB,IAAI,CAACC,EAAE,CAAC,CAAC;MAClBiB,IAAI,EAAElB,IAAI,CAACC,EAAE,CAAC;IAChB;EACF;AACF,CAAC,CAAC,CAAC;AAEHD,IAAI,CAACE,IAAI,CAAC,+BAA+B,EAAE,OAAO;EAChDT,cAAc,EAAEO,IAAI,CAACC,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEHD,IAAI,CAACE,IAAI,CAAC,kBAAkB,EAAE,OAAO;EACnC,GAAGF,IAAI,CAACG,aAAa,CAAC,kBAAkB,CAAC;EACzCgB,WAAW,EAAEA,CAAA,KAAMpB,kBAAkB,CAAE;AACzC,CAAC,CAAC,CAAC;AAEHC,IAAI,CAACE,IAAI,CAAC,mCAAmC,EAAE,OAAO;EACpDkB,UAAU,EAAE,IAAI;EAChBC,OAAO,EAAErB,IAAI,CAACC,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEHqB,QAAQ,CAAC,aAAa,EAAE,MAAM;EAC5BC,EAAE,CAAC,2BAA2B,EAAE,YAAY;IAC1C/C,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS;QACT2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IACF,MAAMC,YAAY,GAAGtD,MAAM,CAACuD,cAAc,CAAC,wBAAwB,CAAC;IACpEC,MAAM,CAACF,YAAY,CAAC,CAACG,YAAY,CAAC,CAAC,CAAC;IAEpC,MAAMC,SAAS,GAAGvD,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IACzCI,SAAS,CAACC,SAAS,CAAC,SAAS,EAAE;MAAEC,IAAI,EAAE;IAAuB,CAAC,CAAC;IAChEF,SAAS,CAACG,SAAS,CAAC,mBAAmB,CAAC;IACxCH,SAAS,CAACG,SAAS,CAAC,0DAA0D,CAAC;IAC/EH,SAAS,CAACG,SAAS,CAAC,kBAAkB,CAAC;IACvCH,SAAS,CAACG,SAAS,CAAC,kCAAkC,CAAC;IACvDH,SAAS,CAACG,SAAS,CAAC,sBAAsB,CAAC;IAC3CH,SAAS,CAACG,SAAS,CAAC,OAAO,CAAC;IAC5BH,SAAS,CAACG,SAAS,CACjB,kJACF,CAAC;IAED,MAAMC,SAAS,GAAG3D,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IACzCQ,SAAS,CAACH,SAAS,CAAC,SAAS,EAAE;MAAEC,IAAI,EAAE;IAA6C,CAAC,CAAC;IACtFE,SAAS,CAACD,SAAS,CAAC,mBAAmB,CAAC;IACxCC,SAAS,CAACD,SAAS,CAAC,gCAAgC,CAAC;IACrDC,SAAS,CAACD,SAAS,CAAC,kBAAkB,CAAC;IACvCC,SAAS,CAACD,SAAS,CAAC,kCAAkC,CAAC;IACvDC,SAAS,CAACD,SAAS,CAAC,sBAAsB,CAAC;IAC3CC,SAAS,CAACD,SAAS,CAAC,OAAO,CAAC;IAC5BC,SAAS,CAACD,SAAS,CACjB,kJACF,CAAC;EACH,CAAC,CAAC;EAEFZ,EAAE,CAAC,6BAA6B,EAAE,YAAY;IAC5C/C,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS;QACT2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IACF,MAAMC,YAAY,GAAGtD,MAAM,CAACuD,cAAc,CAAC,wBAAwB,CAAC;IACpEC,MAAM,CAACF,YAAY,CAAC,CAACG,YAAY,CAAC,CAAC,CAAC;IAEpC,MAAMC,SAAS,GAAGvD,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IACzCI,SAAS,CAACG,SAAS,CAAC,mBAAmB,CAAC;;IAExC;IACAzD,SAAS,CAAC2D,KAAK,CAACL,SAAS,CAACC,SAAS,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC,CAAC;IAClEJ,MAAM,CAACE,SAAS,CAACM,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;;IAE7D;IACA7D,SAAS,CAAC2D,KAAK,CAACL,SAAS,CAACC,SAAS,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC,CAAC;IAClEJ,MAAM,CAACE,SAAS,CAACM,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAACE,iBAAiB,CAAC,CAAC;EACxE,CAAC,CAAC;EAEFjB,EAAE,CAAC,2DAA2D,EAAE,YAAY;IAC1E,MAAM;MAAEkB;IAAS,CAAC,GAAGjE,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACtCwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS;QACT2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IACF,MAAMC,YAAY,GAAGtD,MAAM,CAACuD,cAAc,CAAC,wBAAwB,CAAC;IACpEC,MAAM,CAACF,YAAY,CAAC,CAACG,YAAY,CAAC,CAAC,CAAC;IAEpC,MAAMC,SAAS,GAAGvD,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,MAAMQ,SAAS,GAAG3D,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzClD,SAAS,CAAC2D,KAAK,CAACL,SAAS,CAACC,SAAS,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC,CAAC;IAClEJ,MAAM,CAACE,SAAS,CAACM,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IAC7DT,MAAM,CAACM,SAAS,CAACE,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAACE,iBAAiB,CAAC,CAAC;IAEtE9D,SAAS,CAAC2D,KAAK,CAAC/D,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;MAAER,IAAI,EAAE;IAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnEJ,MAAM,CAAC/B,kBAAkB,CAAC,CAAC4C,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAEnDF,QAAQ,cAAC3C,IAAA;MAAK,eAAY;IAAc,CAAE,CAAC,CAAC;IAC5C2C,QAAQ,cAAC3C,IAAA,CAACd,MAAM,IAAE,CAAC,CAAC;IAEpB,MAAM4D,oBAAoB,GAAGtE,MAAM,CAACuD,cAAc,CAAC,wBAAwB,CAAC;IAC5EC,MAAM,CAACc,oBAAoB,CAAC,CAACb,YAAY,CAAC,CAAC,CAAC;IAC5CD,MAAM,CAACrD,MAAM,CAACmE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAACN,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IACnFT,MAAM,CAACrD,MAAM,CAACmE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAACN,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAACE,iBAAiB,CAAC,CAAC;EAC9F,CAAC,CAAC;EAEFjB,EAAE,CAAC,8BAA8B,EAAE,YAAY;IAC7C/C,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS;QACT2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IACF,MAAMC,YAAY,GAAGtD,MAAM,CAACuD,cAAc,CAAC,wBAAwB,CAAC;IACpEC,MAAM,CAACF,YAAY,CAAC,CAACG,YAAY,CAAC,CAAC,CAAC;IAEpC,MAAMC,SAAS,GAAGvD,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IACzClD,SAAS,CAAC2D,KAAK,CAACL,SAAS,CAACC,SAAS,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAO,CAAC,CAAC,CAAC;IAEhE,MAAMJ,MAAM,CAAC/B,kBAAkB,CAAC,CAAC4C,oBAAoB,CAAC,iBAAiB,EAAE;MACvEE,KAAK,EAAE;QAAEC,gBAAgB,EAAE;MAAE;IAC/B,CAAC,CAAC;IACF/C,kBAAkB,CAACgD,SAAS,CAAC,CAAC;IAE9B,MAAMX,SAAS,GAAG3D,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IACzClD,SAAS,CAAC2D,KAAK,CAACD,SAAS,CAACH,SAAS,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAO,CAAC,CAAC,CAAC;IAEhE,MAAMJ,MAAM,CAAC/B,kBAAkB,CAAC,CAAC4C,oBAAoB,CAAC,iBAAiB,EAAE;MACvEE,KAAK,EAAE;QAAEC,gBAAgB,EAAE;MAAE;IAC/B,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFvB,EAAE,CAAC,4BAA4B,EAAE,YAAY;IAC3C/C,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS;QACT2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IACF,MAAMC,YAAY,GAAGtD,MAAM,CAACuD,cAAc,CAAC,wBAAwB,CAAC;IACpEC,MAAM,CAACF,YAAY,CAAC,CAACG,YAAY,CAAC,CAAC,CAAC;IAEpC,MAAMC,SAAS,GAAGvD,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC;IACAlD,SAAS,CAAC2D,KAAK,CAACL,SAAS,CAACC,SAAS,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC,CAAC;;IAElE;IACA5D,MAAM,CAAC6D,SAAS,CAAC,gDAAgD,CAAC;IAClEzD,SAAS,CAAC2D,KAAK,CAAC/D,MAAM,CAAC2D,SAAS,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC,CAAC;IAE/D,MAAMc,eAAe,GAAG1E,MAAM,CAACuD,cAAc,CAAC,wBAAwB,CAAC;IACvEC,MAAM,CAACkB,eAAe,CAAC,CAACjB,YAAY,CAAC,CAAC,CAAC;EACzC,CAAC,CAAC;EAEFR,EAAE,CAAC,yBAAyB,EAAE,YAAY;IACxC/C,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE,CAACA,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAMpD,GAAG,CAAC,YAAY;MACpB,MAAM0E,cAAc,GAAG3E,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;QAAER,IAAI,EAAE;MAAmB,CAAC,CAAC;MAClF,MAAMgB,SAAS,GAAGD,cAAc,CAAC,CAAC,CAAC;MACnCvE,SAAS,CAAC2D,KAAK,CAACa,SAAS,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAMvE,OAAO,CAAC,MAAML,MAAM,CAAC6E,UAAU,CAAC,iCAAiC,CAAC,CAAC;IACzErB,MAAM,CAACxD,MAAM,CAAC6D,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAACK,iBAAiB,CAAC,CAAC;EACjF,CAAC,CAAC;EAEFjB,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACxDtC,MAAM,CAACmE,GAAG,CACRlE,IAAI,CAACmE,IAAI,CAAClE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAACmE,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAK;MAC7C,OAAOD,GAAG,CAACC,GAAG,CAACC,MAAM,CAAC,GAAG,CAAC,EAAED,GAAG,CAACE,IAAI,CAAC;QAAEC,MAAM,EAAE,CAAC;UAAEC,MAAM,EAAE;QAAG,CAAC;MAAE,CAAC,CAAC,CAAC;IACrE,CAAC,CACH,CAAC;IAEDpF,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE,CAACA,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAMsB,cAAc,GAAG3E,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;MAAER,IAAI,EAAE;IAAmB,CAAC,CAAC;IAClF,MAAMgB,SAAS,GAAGD,cAAc,CAAC,CAAC,CAAC;IACnCvE,SAAS,CAAC2D,KAAK,CAACa,SAAS,CAAC;IAE1B,MAAMvE,OAAO,CAAC,MAAM;MAClBmD,MAAM,CACJxD,MAAM,CAAC6D,SAAS,CACd,kFACF,CACF,CAAC,CAACK,iBAAiB,CAAC,CAAC;IACvB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFjB,EAAE,CAAC,6CAA6C,EAAE,YAAY;IAC5DtC,MAAM,CAACmE,GAAG,CACRlE,IAAI,CAACmE,IAAI,CAAClE,MAAM,CAAC,YAAY,CAAC,EAAE,CAACmE,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAK;MACjD,OAAOD,GAAG,CAACC,GAAG,CAACC,MAAM,CAAC,GAAG,CAAC,EAAED,GAAG,CAACE,IAAI,CAAC;QAAEC,MAAM,EAAE,CAAC;UAAEC,MAAM,EAAE;QAAG,CAAC;MAAE,CAAC,CAAC,CAAC;IACrE,CAAC,CACH,CAAC;IAEDpF,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE,CAACA,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAMsB,cAAc,GAAG3E,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;MAAER,IAAI,EAAE;IAAmB,CAAC,CAAC;IAClF,MAAMgB,SAAS,GAAGD,cAAc,CAAC,CAAC,CAAC;IACnCvE,SAAS,CAAC2D,KAAK,CAACa,SAAS,CAAC;IAE1B,MAAMvE,OAAO,CAAC,MAAM;MAClBmD,MAAM,CACJxD,MAAM,CAAC6D,SAAS,CACd,kFACF,CACF,CAAC,CAACK,iBAAiB,CAAC,CAAC;IACvB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFjB,EAAE,CAAC,kDAAkD,EAAE,YAAY;IACjEtC,MAAM,CAACmE,GAAG,CACRlE,IAAI,CAACmE,IAAI,CAAClE,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAACmE,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAK;MACxD,OAAOD,GAAG,CAACC,GAAG,CAACC,MAAM,CAAC,GAAG,CAAC,EAAED,GAAG,CAACE,IAAI,CAAC;QAAEC,MAAM,EAAE,CAAC;UAAEC,MAAM,EAAE;QAAG,CAAC;MAAE,CAAC,CAAC,CAAC;IACrE,CAAC,CACH,CAAC;IAEDpF,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE,CAACA,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB+E,aAAa,EAAE,CACb;UACEC,IAAI,EAAE;YAAEC,EAAE,EAAE,IAAI;YAAEC,gBAAgB,EAAExE,SAAS,CAAC,CAAC,CAAC,CAACyE,aAAa,CAACC,OAAO,CAACC,IAAI,CAACJ;UAAG,CAAC;UAChFK,SAAS,EAAE,CAAC;YAAEL,EAAE,EAAE;UAAK,CAAC;QAC1B,CAAC,CACF;QACDtC,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAMsB,cAAc,GAAG3E,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;MAAER,IAAI,EAAE;IAAmB,CAAC,CAAC;IAClF,MAAMgB,SAAS,GAAGD,cAAc,CAAC,CAAC,CAAC;IACnCvE,SAAS,CAAC2D,KAAK,CAACa,SAAS,CAAC;IAE1B,MAAMvE,OAAO,CAAC,MACZmD,MAAM,CAAC1C,SAAS,CAAC0B,MAAM,CAACE,KAAK,CAAC,CAAC2B,oBAAoB,CAAC,8BAA8B,CACpF,CAAC;EACH,CAAC,CAAC;EAEFpB,EAAE,CAAC,gCAAgC,EAAE,YAAY;IAC/C/C,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE,CACT;UACE,GAAGA,SAAS,CAAC,CAAC,CAAC;UACfiF,EAAE,EAAE,sCAAsC;UAC1ClB,KAAK,EAAE,OAAO;UACdwB,IAAI,EAAE;YAAEN,EAAE,EAAE;UAAuC,CAAC;UACpDO,QAAQ,EAAE,CACR;YACE,GAAGxF,SAAS,CAAC,CAAC,CAAC,CAACwF,QAAQ,CAAC,CAAC,CAAC;YAC3BC,oBAAoB,EAAE;cACpB,GAAGzF,SAAS,CAAC,CAAC,CAAC,CAACwF,QAAQ,CAAC,CAAC,CAAC,CAACC,oBAAoB;cAChDC,sBAAsB,EAAE;YAC1B;UACF,CAAC;QAEL,CAAC,CACF;QACD/C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAMpD,GAAG,CAAC,YAAY;MACpB,MAAM0E,cAAc,GAAG3E,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;QAAER,IAAI,EAAE;MAAmB,CAAC,CAAC;MAClF,MAAMgB,SAAS,GAAGD,cAAc,CAAC,CAAC,CAAC;MACnCvE,SAAS,CAAC2D,KAAK,CAACa,SAAS,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAMvE,OAAO,CAAC,MAAM;MAClBmD,MAAM,CAACxD,MAAM,CAAC6D,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAACK,iBAAiB,CAAC,CAAC;IACjF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFjB,EAAE,CAAC,kDAAkD,EAAE,YAAY;IACjEtC,MAAM,CAACmE,GAAG,CACRlE,IAAI,CAACuF,KAAK,CAACtF,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAACmE,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAK;MACtD,OAAOD,GAAG,CAACC,GAAG,CAACC,MAAM,CAAC,GAAG,CAAC,EAAED,GAAG,CAACE,IAAI,CAAC;QAAEC,MAAM,EAAE,CAAC;UAAEC,MAAM,EAAE;QAAG,CAAC;MAAE,CAAC,CAAC,CAAC;IACrE,CAAC,CACH,CAAC;IAEDpF,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE,CACT;UACE,GAAGA,SAAS,CAAC,CAAC,CAAC;UACfiF,EAAE,EAAE,YAAY;UAChBlB,KAAK,EAAE,OAAO;UACdwB,IAAI,EAAE;YAAEN,EAAE,EAAE;UAAS;QACvB,CAAC,CACF;QACDF,aAAa,EAAE,CACb;UACEC,IAAI,EAAE;YAAEC,EAAE,EAAE,IAAI;YAAEC,gBAAgB,EAAExE,SAAS,CAAC,CAAC,CAAC,CAACyE,aAAa,CAACC,OAAO,CAACC,IAAI,CAACJ;UAAG,CAAC;UAChFK,SAAS,EAAE,CAAC;YAAEL,EAAE,EAAE;UAAK,CAAC;QAC1B,CAAC,CACF;QACDtC,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAM+C,gBAAgB,GAAGpG,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;MAAER,IAAI,EAAE;IAAyB,CAAC,CAAC;IAC1FxD,SAAS,CAAC2D,KAAK,CAACqC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM/F,OAAO,CAAC,MACZmD,MAAM,CAAC1C,SAAS,CAAC0B,MAAM,CAACE,KAAK,CAAC,CAAC2B,oBAAoB,CAAC,+BAA+B,CACrF,CAAC;EACH,CAAC,CAAC;EAEFpB,EAAE,CAAC,sFAAsF,EAAE,YAAY;IACrG/C,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM,EAAE;UAAE,GAAGA,MAAM;UAAE+F,OAAO,EAAE;QAAK,CAAC;QACpC7F,SAAS,EAAE,CAACA,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAMpD,GAAG,CAAC,YAAY;MACpB,MAAM0E,cAAc,GAAG3E,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;QAAER,IAAI,EAAE;MAAmB,CAAC,CAAC;MAClF,MAAMgB,SAAS,GAAGD,cAAc,CAAC,CAAC,CAAC;MACnCvE,SAAS,CAAC2D,KAAK,CAACa,SAAS,CAAC;IAC5B,CAAC,CAAC;IAEFpB,MAAM,CAAC,MAAMxD,MAAM,CAAC6E,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAACX,iBAAiB,CAAC,CAAC;IACvEV,MAAM,CAAC,MAAMxD,MAAM,CAAC6E,UAAU,CAAC5D,mBAAmB,CAAC,CAAC,CAACiD,iBAAiB,CAAC,CAAC;IACxEV,MAAM,CAAC,MAAMxD,MAAM,CAAC6E,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAACX,iBAAiB,CAAC,CAAC;EACzE,CAAC,CAAC;EAEFjB,EAAE,CAAC,8CAA8C,EAAE,YAAY;IAC7D/C,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAEC,yBAAyB;QACpC0C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IACF,MAAMC,YAAY,GAAGtD,MAAM,CAACuD,cAAc,CAAC,wBAAwB,CAAC;IACpEC,MAAM,CAACF,YAAY,CAAC,CAACG,YAAY,CAAC,CAAC,CAAC;IACpC,MAAMC,SAAS,GAAGvD,MAAM,CAACmD,YAAY,CAAC,CAAC,CAAC,CAAC;IACzCI,SAAS,CAACG,SAAS,CAAC,uBAAuB,CAAC;IAC5CH,SAAS,CAACG,SAAS,CAAC,qBAAqB,CAAC;IAC1CH,SAAS,CAACG,SAAS,CAAC,mCAAmC,CAAC;IACxDH,SAAS,CAACG,SAAS,CAAC,mBAAmB,CAAC;IACxCH,SAAS,CAACG,SAAS,CAAC,iBAAiB,CAAC;IACtCH,SAAS,CAACG,SAAS,CAAC,OAAO,CAAC;IAC5BH,SAAS,CAACG,SAAS,CAAC,UAAU,CAAC;IAC/BH,SAAS,CAACG,SAAS,CAAC,OAAO,CAAC;IAC5BH,SAAS,CAACG,SAAS,CAAC,SAAS,CAAC;IAC9BH,SAAS,CAACG,SAAS,CAAC,cAAc,CAAC;IACnCH,SAAS,CAACG,SAAS,CAAC,cAAc,CAAC;IACnCH,SAAS,CAACG,SAAS,CAAC,oBAAoB,CAAC;IACzCH,SAAS,CAACG,SAAS,CAAC,mBAAmB,CAAC;IACxCH,SAAS,CAACG,SAAS,CAAC,YAAY,CAAC;IACjCH,SAAS,CAACG,SAAS,CAAC,yBAAyB,CAAC;IAC9CH,SAAS,CAACG,SAAS,CAAC,qBAAqB,CAAC;IAC1CH,SAAS,CAACG,SAAS,CAAC,cAAc,CAAC;IACnCH,SAAS,CAACG,SAAS,CAAC,UAAU,CAAC;EACjC,CAAC,CAAC;EAEFZ,EAAE,CAAC,oGAAoG,EAAE,YAAY;IACnH,MAAMqD,8BAA8B,GAAG,CACrC;MACE,GAAG7F,yBAAyB,CAAC,CAAC,CAAC;MAC/BuF,QAAQ,EAAE,CACR;QACE,GAAGvF,yBAAyB,CAAC,CAAC,CAAC,CAACuF,QAAQ,CAAC,CAAC,CAAC;QAC3CC,oBAAoB,EAAE;UACpB,GAAGxF,yBAAyB,CAAC,CAAC,CAAC,CAACuF,QAAQ,CAAC,CAAC,CAAC,CAACC,oBAAoB;UAChEM,iCAAiC,EAAE;QACrC;MACF,CAAC;IAEL,CAAC,CACF;IAEDrG,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE8F,8BAA8B;QACzCnD,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IACFG,MAAM,CAACxD,MAAM,CAACgE,WAAW,CAAC,aAAa,CAAC,CAAC,CAACwC,GAAG,CAACtC,iBAAiB,CAAC,CAAC;EACnE,CAAC,CAAC;EAEFjB,EAAE,CAAC,8DAA8D,EAAE,YAAY;IAC7E,IAAIwD,YAAY;IAEhB9F,MAAM,CAACmE,GAAG,CACRlE,IAAI,CAACmE,IAAI,CAAC,0BAA0B,EAAE,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAK;MACvDuB,YAAY,GAAGzB,GAAG,CAAC0B,IAAI,CAACb,IAAI;MAC5B,OAAOZ,GAAG,CAACC,GAAG,CAACC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CACH,CAAC;IAEDjF,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE,CAACA,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB2C,eAAe,EAAE5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;QAC/DE,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAMpD,GAAG,CAAC,YAAY;MACpB,MAAM0E,cAAc,GAAG3E,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;QAAER,IAAI,EAAE;MAAmB,CAAC,CAAC;MAClF,MAAMgB,SAAS,GAAGD,cAAc,CAAC,CAAC,CAAC;MACnCvE,SAAS,CAAC2D,KAAK,CAACa,SAAS,CAAC;IAC5B,CAAC,CAAC;IAEFpB,MAAM,CAACiD,YAAY,CAACd,aAAa,CAACgB,sBAAsB,CAAC,CAACC,OAAO,CAAC;MAChEf,IAAI,EAAE,CACJ;QACEgB,IAAI,EAAE,uBAAuB;QAC7BpB,EAAE,EAAE;MACN,CAAC;IAEL,CAAC,CAAC;IAEF,MAAMpF,OAAO,CAAC,MAAML,MAAM,CAAC6E,UAAU,CAAC,iCAAiC,CAAC,CAAC;IACzErB,MAAM,CAACxD,MAAM,CAAC6D,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAACK,iBAAiB,CAAC,CAAC;EACjF,CAAC,CAAC;AACJ,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACAlB,QAAQ,CAAC,mDAAmD,EAAE,MAAM;EAClE,SAAS8D,cAAcA,CAAAC,IAAA,EAAe;IAAA,IAAd;MAAEC;IAAS,CAAC,GAAAD,IAAA;IAClC,oBACEvF,IAAA;MAAK,eAAY,kBAAkB;MAAAyF,QAAA,EAChCD,QAAQ,EAAEE,UAAU,EAAE1G,SAAS,GAAG,CAAC,CAAC,EAAE2G,WAAW,IAAI;IAAiB,CACpE,CAAC;EAEV;EAEAL,cAAc,CAACM,SAAS,GAAG;IACzBJ,QAAQ,EAAE1F,SAAS,CAAC+F,KAAK,CAAC;MACxBH,UAAU,EAAE5F,SAAS,CAAC+F,KAAK,CAAC;QAC1B7G,SAAS,EAAEc,SAAS,CAACgG,OAAO,CAAChG,SAAS,CAAC+F,KAAK,CAAC;UAAEF,WAAW,EAAE7F,SAAS,CAACiG;QAAO,CAAC,CAAC;MACjF,CAAC;IACH,CAAC;EACH,CAAC;EAED,MAAMC,mBAAmB,GAAG;IAC1B,GAAGhH,SAAS,CAAC,CAAC,CAAC;IACfiH,OAAO,EAAE;MAAE,GAAGjH,SAAS,CAAC,CAAC,CAAC,CAACiH,OAAO;MAAET,QAAQ,EAAE;QAAEE,UAAU,EAAE;MAAK;IAAE;EACrE,CAAC;EAED,MAAMQ,6BAA6B,GAAGA,CAAA,KAAM,CAC1C;IACEvC,MAAM,EAAE,GAAG;IACXU,IAAI,EAAE;MACJA,IAAI,EAAE;QACJJ,EAAE,EAAE,uBAAuB;QAC3BlB,KAAK,EAAE,MAAM;QACboD,kBAAkB,EAAE;UAAElC,EAAE,EAAE+B,mBAAmB,CAACxB,QAAQ,CAAC,CAAC,CAAC,CAAC4B,QAAQ,CAACnC;QAAG;MACxE;IACF;EACF,CAAC,CACF;EAED,IAAIoC,wBAAwB;EAE5BC,UAAU,CAAC,MAAM;IACf;IACA;IACApG,IAAI,CAACqG,KAAK,CAAC/G,OAAO,EAAE,sBAAsB,CAAC,CAACgH,iBAAiB,CAACC,SAAS,CAAC;;IAExE;IACA;IACA;IACAJ,wBAAwB,GAAG9G,UAAU,CAACmH,OAAO;IAC7CnH,UAAU,CAACmH,OAAO,GAAGpB,cAAc;EACrC,CAAC,CAAC;EAEFqB,SAAS,CAAC,MAAM;IACdpH,UAAU,CAACmH,OAAO,GAAGL,wBAAwB;EAC/C,CAAC,CAAC;EAEF5E,EAAE,CAACmF,IAAI,CAAC,CACN,CAAC,qCAAqC,EAAE,MAAM,CAAC,EAC/C,CAAC,0CAA0C,EAAE,UAAU,CAAC,EACxD,CAAC,0CAA0C,EAAE,UAAU,CAAC,CACzD,CAAC,CACA,kEAAkE,EAClE,OAAOC,SAAS,EAAEC,YAAY,KAAK;IACjCjH,kBAAkB,CAACkH,eAAe,CAChC7G,IAAI,CAACC,EAAE,CAAC,CAAC,CAACqG,iBAAiB,CAACN,6BAA6B,CAAC,CAAC,CAC7D,CAAC;IAEDxH,MAAM,cAACsB,IAAA,CAACd,MAAM,IAAE,CAAC,EAAE;MACjBwC,uBAAuB,EAAE;QACvB5C,MAAM;QACNE,SAAS,EAAE,CAACgH,mBAAmB,CAAC;QAChCgB,UAAU,EAAE,sBAAsB;QAClCF,YAAY;QACZG,MAAM,EAAE,QAAQ;QAChBtF,eAAe,EAAE;UAAE,GAAG5C,qBAAqB,CAAC6C,QAAQ,CAACD,eAAe;UAAE+D,UAAU,EAAE;QAAK,CAAC;QACxF7D,eAAe,EAAE9C,qBAAqB,CAAC6C,QAAQ,CAACC;MAClD;IACF,CAAC,CAAC;IAEF,MAAMpD,GAAG,CAAC,YAAY;MACpB,MAAM0E,cAAc,GAAG3E,MAAM,CAACoE,YAAY,CAAC,QAAQ,EAAE;QAAER,IAAI,EAAE;MAAmB,CAAC,CAAC;MAClFxD,SAAS,CAAC2D,KAAK,CAACY,cAAc,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;IAEFnB,MAAM,CAAC,MAAMxD,MAAM,CAAC6E,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAACX,iBAAiB,CAAC,CAAC;IACvE;IACA;IACA;IACAV,MAAM,CAAC,MAAMxD,MAAM,CAAC0I,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAACC,iBAAiB,CAAC,UAAU,CAAC;EACrF,CACF,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unite-us/app-create-referral",
3
- "version": "0.15.175",
3
+ "version": "0.15.176",
4
4
  "main": "./dist/index.js",
5
5
  "files": [
6
6
  "dist/**"