@unite-us/app-create-referral 0.13.22 → 0.14.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ReferralBuilder.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","Array","from","isArray","_arrayLikeToArray","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","test","len","arr2","React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","intersectionBy","compact","useNavigate","useLocation","Icon","setData","useAppCreateReferralContext","StepHeader","REFERRAL_BUILDER_DESCRIPTION","AboutGroupedReferralsModal","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","ReferralBuilder","_location$state$selec","_location$state","location","navigate","_useAppCreateReferral","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb1239AdaptDraftReferralFlow","pays3551AuthInSuperset","crtb1299HighRejectionSolution","showOpenedDate","crtb854ForwardingSuperset","_useState","_useState2","servicesState","setServicesState","_useState3","_useState4","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState5","_useState6","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","_useState7","selectedReferral","_useState8","selectedIndex","setSelectedIndex","_useState9","_useState10","fieldErrors","setFieldErrors","_useState11","_useState12","nextClicked","setNextClicked","_useState13","_useState14","saveDraftClicked","setSaveDraftClicked","_useState15","_useState16","expandReferralsCard","setExpandReferralsCard","_useState17","window","innerWidth","_useState18","width","setWidth","_useState19","_useState20","documents","setDocuments","_useState21","_useState22","caseDocuments","setCaseDocuments","_useState23","_useState24","loadedDocuments","setloadedDocuments","isEmrSource","_useState25","_useState26","networksUnlistedProgram","setNetworksUnlistedProgram","hasDraftReferral","referralBuilderTitle","isWindowsSizeLarge","errors","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","onReferralsBuilt","groupedReferrals","initErrors","_referral","_useBuildReferrals","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","id","mapProgramsToServicesState","flatMap","program","services","serviceName","initialState","hasUnlistedPrograms","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","onReferralCardClick","result","updatedReferrals","attachableDocuments","concat","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_ref3","_index","Boolean","focusErrors","setFocus","onNextClick","isForwardReferralPath","_errors$index","_errors$index2","_errors$index3","_errors$index4","_errors$index5","_errors$index6","_form$current","mutators","setFieldTouched","networkField","getElementById","parentElement","focus","_form$current2","amountRequested","_form$current3","selectDatesButton","_form$current4","descriptionField","_form$current5","primaryWorkerField","moveToExistingReferral","programs","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","newReferralPrograms","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","_ref4","_callee","onSaveDraftReferral","_callee$","_context","draft","notify","success","showMargin","createElement","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","className","header","onClick","onCloseModal","modalRef","onConfirm","onServiceSelectionChange","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Icon } from '@unite-us/ui';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport { REFERRAL_BUILDER_DESCRIPTION } from './constants';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport fetchCaseDocuments from '../../actions/Document/Contact/Group/fetchCaseDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\n\nexport default function ReferralBuilder() {\n const location = useLocation();\n const navigate = useNavigate();\n const {\n dispatch,\n state: {\n referrals,\n selectedPrograms,\n currentEmployee,\n currentProvider,\n fieldsConfig,\n source,\n person,\n draftState,\n referralDescription,\n caseId,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\n\n const openChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.openDialog();\n }, []);\n\n const closeChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.closeDialog();\n }, []);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const pays3551AuthInSuperset = useFeatureFlag('pays3551AuthInSuperset', false);\n const crtb1299HighRejectionSolution = useFeatureFlag('crtb1299HighRejectionSolution', false);\n const showOpenedDate = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n\n const [servicesState, setServicesState] = useState([]);\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [isOpenChooseOneServiceTypeModal, setChooseOneServiceTypeModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [fieldErrors, setFieldErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\n const [saveDraftClicked, setSaveDraftClicked] = useState(false);\n const [expandReferralsCard, setExpandReferralsCard] = useState(false);\n const [width, setWidth] = useState(window.innerWidth);\n const [documents, setDocuments] = useState([]);\n const [caseDocuments, setCaseDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = crtb1239AdaptDraftReferralFlow && hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isWindowsSizeLarge = width > (isEmrSource ? 800 : 1200);\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n service: fieldError?.service,\n network: fieldError?.network,\n primary_worker: fieldError?.primary_worker,\n description: fieldError?.description,\n amount_requested: fieldError?.amount_requested || fieldError?.amount_exceeded,\n service_end: fieldError?.service_end || fieldError?.invalid_insurance_auth_dates,\n passthrough_dates: fieldError?.passthrough_dates,\n opened_date: fieldError?.opened_date,\n }\n return acc;\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 onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const initErrors = initializeReferralErrors(groupedReferrals, pays3551AuthInSuperset, showOpenedDate);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n );\n };\n\n useEffect(() => {\n if (crtb1299HighRejectionSolution) {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const handleResize = () => {\n setWidth(window.innerWidth);\n }\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [width]);\n\n useEffect(() => {\n isWindowsSizeLarge && handleExpandReferralsCard();\n }, [width]);\n\n const handleExpandReferralsCard = () => {\n if (expandReferralsCard) {\n changeWidthReferralCard();\n }\n }\n\n const onLearnMoreClick = () => {\n setAboutGroupedReferralsModalIsOpen(true);\n };\n\n const onCloseGroupedReferralsModal = () => {\n setAboutGroupedReferralsModalIsOpen(false);\n }\n\n const refModal = useRef(null);\n useEffect(() => {\n if (aboutGroupedReferralsModalIsOpen) {\n refModal.current.openDialog();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (crtb1299HighRejectionSolution && !isLoading && isOpenChooseOneServiceTypeModal) {\n openChooseOneServiceTypeModal();\n }\n }, [isLoading]);\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n fetchContactDocuments(person.id).then((result) => {\n setDocuments(result);\n });\n }, []);\n\n useEffect(() => {\n if (caseId && crtb854ForwardingSuperset) {\n fetchCaseDocuments(caseId).then((result) => {\n setCaseDocuments(result);\n });\n }\n }, []);\n\n useEffect(() => {\n if (!isEmpty(referrals) && !loadedDocuments && (!isEmpty(documents) || !isEmpty(caseDocuments))) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: [...documents, ...caseDocuments].map((doc) => ({ attached: false, document: doc })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n if (crtb1299HighRejectionSolution) {\n const hasMoreThanOneServiceType = selectedPrograms.find((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n const isForwardReferralPath = !!referralId && !!referralType;\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.network) {\n form.current?.mutators?.setFieldTouched('network', true);\n const networkField = document.getElementById(\"network-selection\").parentElement.parentElement;\n return networkField.focus();\n }\n if (errors[index]?.amount_requested) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.amount_requested', true);\n const amountRequested = document.getElementById(\"authorization-request-amount-requested\");\n return amountRequested.focus();\n }\n if (errors[index]?.service_end || errors[index]?.passthrough_dates) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.service_end', true);\n const selectDatesButton = document.getElementById(\"authorization-request-service-dates\");\n return selectDatesButton.focus();\n }\n if (errors[index]?.description) {\n form.current?.mutators?.setFieldTouched('description', true);\n const descriptionField = document.getElementById(\"referral-description\");\n return descriptionField.focus();\n }\n if (errors[index]?.primary_worker) {\n form.current?.mutators?.setFieldTouched('primaryWorker', true);\n const primaryWorkerField = document.getElementById(\"primary-worker\").parentElement.parentElement;\n return primaryWorkerField.focus();\n }\n }, 100);\n }\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n }; \n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmptyErrors(errors)) {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } else {\n focusErrors();\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard(!expandReferralsCard);\n };\n\n const showMargin = () => {\n return isWindowsSizeLarge && !isEmrSource ? 'mr-5 ' : ' ';\n }\n\n if (isLoading) return <Spinner center />;\n\n const referralSubtitle = getReferralSubtitle(referrals, getSelected());\n const unselectedReferralIndexes = referrals.map((_referral, index) => index).filter((index) => index !== selectedIndex);\n const allPrograms = referrals?.flatMap((r) => r.programs);\n const errorMessage = generateErrorMessage(errors);\n const currentReferral = getSelected();\n\n const xlOrLgInvisibleChevron = classNames({\n 'lg:invisible': isEmrSource,\n 'xl:invisible': !isEmrSource,\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': isEmrSource,\n 'lg:space-x-0 xl:space-x-6': !isEmrSource,\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected });\n const filteredNonSelectedServices = servicesState.filter((service) => { return !service.selected });\n const updatedReferrals = updatedReferralsBySelectedServices(referrals, filteredSelectedServices);\n\n const initErrors = initializeReferralErrors(updatedReferrals, pays3551AuthInSuperset, showOpenedDate);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <button\n className=\"text-text-blue\"\n type=\"button\"\n onClick={onLearnMoreClick}\n >\n Learn more about referrals.\n </button>\n </StepHeader>\n\n <AboutGroupedReferralsModal refModal={refModal} onCloseModal={onCloseGroupedReferralsModal} />\n {crtb1299HighRejectionSolution && isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"IconInfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end space-x-0 my-5 sm:space-x-0 md:space-x-0 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded ${showMargin()}\n ${expandReferralsCard ? 'absolute inset-y-0 left-0 z-10 md:w-3/6 lg:w-3/6': 'md:w-2/6 lg:w-2/6'}`}>\n <div className=\"p-5 h-full\">\n <div className=\"flex justify-between relative\">\n <div>\n <h2 className=\"text-xl font-black mb-5\">\n Referrals\n </h2>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon icon={expandReferralsCard ? \"V2ChevronLeft\" : \"V2ChevronRight\"} className=\"w-6 h-6\" onClick={() => changeWidthReferralCard()}/>\n </div>\n </div>\n {referrals?.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${index}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n expandReferralsCard={expandReferralsCard}\n isEmrSource={isEmrSource}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(currentReferral, 'programs', [])) ? (\n <ReferralBuilderForm\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n currentEmployee={currentEmployee}\n currentProvider={currentProvider} \n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n referral={currentReferral}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n onSetForm={(newForm) => { form.current = newForm; }}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n updateAttachments={updateAttachments}\n source={source}\n networksUnlistedProgram={networksUnlistedProgram}\n setReferralErrors={setReferralErrors}\n referralDescription={referralDescription}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ReferralBuilder.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","Array","from","isArray","_arrayLikeToArray","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","test","len","arr2","React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","intersectionBy","compact","useNavigate","useLocation","Icon","setData","useAppCreateReferralContext","StepHeader","REFERRAL_BUILDER_DESCRIPTION","AboutGroupedReferralsModal","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","ReferralBuilder","_location$state$selec","_location$state","location","navigate","_useAppCreateReferral","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb1239AdaptDraftReferralFlow","pays3551AuthInSuperset","crtb1299HighRejectionSolution","showOpenedDate","crtb854ForwardingSuperset","_useState","_useState2","servicesState","setServicesState","_useState3","_useState4","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState5","_useState6","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","_useState7","selectedReferral","_useState8","selectedIndex","setSelectedIndex","_useState9","_useState10","fieldErrors","setFieldErrors","_useState11","_useState12","nextClicked","setNextClicked","_useState13","_useState14","saveDraftClicked","setSaveDraftClicked","_useState15","_useState16","expandReferralsCard","setExpandReferralsCard","_useState17","window","innerWidth","_useState18","width","setWidth","_useState19","_useState20","documents","setDocuments","_useState21","_useState22","caseDocuments","setCaseDocuments","_useState23","_useState24","loadedDocuments","setloadedDocuments","isEmrSource","_useState25","_useState26","networksUnlistedProgram","setNetworksUnlistedProgram","hasDraftReferral","referralBuilderTitle","isWindowsSizeLarge","isForwardReferralPath","errors","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","onReferralsBuilt","groupedReferrals","initErrors","_referral","_useBuildReferrals","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","id","mapProgramsToServicesState","flatMap","program","services","serviceName","initialState","hasUnlistedPrograms","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","onReferralCardClick","result","updatedReferrals","attachableDocuments","concat","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_ref3","_index","Boolean","focusErrors","setFocus","onNextClick","_errors$index","_errors$index2","_errors$index3","_errors$index4","_errors$index5","_errors$index6","_form$current","mutators","setFieldTouched","networkField","getElementById","parentElement","focus","_form$current2","amountRequested","_form$current3","selectDatesButton","_form$current4","descriptionField","_form$current5","primaryWorkerField","moveToExistingReferral","programs","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","newReferralPrograms","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","_ref4","_callee","onSaveDraftReferral","_callee$","_context","draft","notify","success","showMargin","createElement","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","className","header","onClick","onCloseModal","modalRef","onConfirm","onServiceSelectionChange","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Icon } from '@unite-us/ui';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport { REFERRAL_BUILDER_DESCRIPTION } from './constants';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport fetchCaseDocuments from '../../actions/Document/Contact/Group/fetchCaseDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\n\nexport default function ReferralBuilder() {\n const location = useLocation();\n const navigate = useNavigate();\n const {\n dispatch,\n state: {\n referrals,\n selectedPrograms,\n currentEmployee,\n currentProvider,\n fieldsConfig,\n source,\n person,\n draftState,\n referralDescription,\n caseId,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\n\n const openChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.openDialog();\n }, []);\n\n const closeChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.closeDialog();\n }, []);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const pays3551AuthInSuperset = useFeatureFlag('pays3551AuthInSuperset', false);\n const crtb1299HighRejectionSolution = useFeatureFlag('crtb1299HighRejectionSolution', false);\n const showOpenedDate = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n\n const [servicesState, setServicesState] = useState([]);\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [isOpenChooseOneServiceTypeModal, setChooseOneServiceTypeModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [fieldErrors, setFieldErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\n const [saveDraftClicked, setSaveDraftClicked] = useState(false);\n const [expandReferralsCard, setExpandReferralsCard] = useState(false);\n const [width, setWidth] = useState(window.innerWidth);\n const [documents, setDocuments] = useState([]);\n const [caseDocuments, setCaseDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = crtb1239AdaptDraftReferralFlow && hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isWindowsSizeLarge = width > (isEmrSource ? 800 : 1200);\n const isForwardReferralPath = !!referralId && !!referralType;\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n service: fieldError?.service,\n network: fieldError?.network,\n primary_worker: fieldError?.primary_worker,\n description: fieldError?.description,\n amount_requested: fieldError?.amount_requested || fieldError?.amount_exceeded,\n service_end: fieldError?.service_end || fieldError?.invalid_insurance_auth_dates,\n passthrough_dates: fieldError?.passthrough_dates,\n opened_date: fieldError?.opened_date,\n }\n return acc;\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 onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const initErrors = initializeReferralErrors(groupedReferrals, pays3551AuthInSuperset, showOpenedDate);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n );\n };\n\n useEffect(() => {\n if (crtb1299HighRejectionSolution) {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const handleResize = () => {\n setWidth(window.innerWidth);\n }\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [width]);\n\n useEffect(() => {\n isWindowsSizeLarge && handleExpandReferralsCard();\n }, [width]);\n\n const handleExpandReferralsCard = () => {\n if (expandReferralsCard) {\n changeWidthReferralCard();\n }\n }\n\n const onLearnMoreClick = () => {\n setAboutGroupedReferralsModalIsOpen(true);\n };\n\n const onCloseGroupedReferralsModal = () => {\n setAboutGroupedReferralsModalIsOpen(false);\n }\n\n const refModal = useRef(null);\n useEffect(() => {\n if (aboutGroupedReferralsModalIsOpen) {\n refModal.current.openDialog();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (crtb1299HighRejectionSolution && !isLoading && isOpenChooseOneServiceTypeModal) {\n openChooseOneServiceTypeModal();\n }\n }, [isLoading]);\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n fetchContactDocuments(person.id).then((result) => {\n setDocuments(result);\n });\n }, []);\n\n useEffect(() => {\n if (caseId && crtb854ForwardingSuperset) {\n fetchCaseDocuments(caseId).then((result) => {\n setCaseDocuments(result);\n });\n }\n }, []);\n\n useEffect(() => {\n if (!isEmpty(referrals) && !loadedDocuments && (!isEmpty(documents) || !isEmpty(caseDocuments))) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: [...documents, ...caseDocuments].map((doc) => ({ attached: false, document: doc })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n if (crtb1299HighRejectionSolution) {\n const hasMoreThanOneServiceType = selectedPrograms.find((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.network) {\n form.current?.mutators?.setFieldTouched('network', true);\n const networkField = document.getElementById(\"network-selection\").parentElement.parentElement;\n return networkField.focus();\n }\n if (errors[index]?.amount_requested) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.amount_requested', true);\n const amountRequested = document.getElementById(\"authorization-request-amount-requested\");\n return amountRequested.focus();\n }\n if (errors[index]?.service_end || errors[index]?.passthrough_dates) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.service_end', true);\n const selectDatesButton = document.getElementById(\"authorization-request-service-dates\");\n return selectDatesButton.focus();\n }\n if (errors[index]?.description) {\n form.current?.mutators?.setFieldTouched('description', true);\n const descriptionField = document.getElementById(\"referral-description\");\n return descriptionField.focus();\n }\n if (errors[index]?.primary_worker) {\n form.current?.mutators?.setFieldTouched('primaryWorker', true);\n const primaryWorkerField = document.getElementById(\"primary-worker\").parentElement.parentElement;\n return primaryWorkerField.focus();\n }\n }, 100);\n }\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n }; \n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmptyErrors(errors)) {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } else {\n focusErrors();\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard(!expandReferralsCard);\n };\n\n const showMargin = () => {\n return isWindowsSizeLarge && !isEmrSource ? 'mr-5 ' : ' ';\n }\n\n if (isLoading) return <Spinner center />;\n\n const referralSubtitle = getReferralSubtitle(referrals, getSelected());\n const unselectedReferralIndexes = referrals.map((_referral, index) => index).filter((index) => index !== selectedIndex);\n const allPrograms = referrals?.flatMap((r) => r.programs);\n const errorMessage = generateErrorMessage(errors);\n const currentReferral = getSelected();\n\n const xlOrLgInvisibleChevron = classNames({\n 'lg:invisible': isEmrSource,\n 'xl:invisible': !isEmrSource,\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': isEmrSource,\n 'lg:space-x-0 xl:space-x-6': !isEmrSource,\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected });\n const filteredNonSelectedServices = servicesState.filter((service) => { return !service.selected });\n const updatedReferrals = updatedReferralsBySelectedServices(referrals, filteredSelectedServices);\n\n const initErrors = initializeReferralErrors(updatedReferrals, pays3551AuthInSuperset, showOpenedDate);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <button\n className=\"text-text-blue\"\n type=\"button\"\n onClick={onLearnMoreClick}\n >\n Learn more about referrals.\n </button>\n </StepHeader>\n\n <AboutGroupedReferralsModal refModal={refModal} onCloseModal={onCloseGroupedReferralsModal} />\n {crtb1299HighRejectionSolution && isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"IconInfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end space-x-0 my-5 sm:space-x-0 md:space-x-0 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded ${showMargin()}\n ${expandReferralsCard ? 'absolute inset-y-0 left-0 z-10 md:w-3/6 lg:w-3/6': 'md:w-2/6 lg:w-2/6'}`}>\n <div className=\"p-5 h-full\">\n <div className=\"flex justify-between relative\">\n <div>\n <h2 className=\"text-xl font-black mb-5\">\n Referrals\n </h2>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon icon={expandReferralsCard ? \"V2ChevronLeft\" : \"V2ChevronRight\"} className=\"w-6 h-6\" onClick={() => changeWidthReferralCard()}/>\n </div>\n </div>\n {referrals?.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${index}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n expandReferralsCard={expandReferralsCard}\n isEmrSource={isEmrSource}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(currentReferral, 'programs', [])) ? (\n <ReferralBuilderForm\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n currentEmployee={currentEmployee}\n currentProvider={currentProvider} \n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n referral={currentReferral}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n onSetForm={(newForm) => { form.current = newForm; }}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n updateAttachments={updateAttachments}\n source={source}\n networksUnlistedProgram={networksUnlistedProgram}\n setReferralErrors={setReferralErrors}\n referralDescription={referralDescription}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n isForwardReferralPath={isForwardReferralPath}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,151 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
15
+ import PropTypes from 'prop-types';
16
+ import { Form, Field, FormSpy } from 'react-final-form';
17
+ import { SelectField } from '@unite-us/ui';
18
+ import { isRequired } from '@unite-us/client-utils/dist/utils/validations/validations';
19
+ var DropdownMultiplesReferrals = function DropdownMultiplesReferrals(_ref) {
20
+ var _ref$referrals = _ref.referrals,
21
+ referrals = _ref$referrals === void 0 ? [] : _ref$referrals,
22
+ setReferralErrors = _ref.setReferralErrors,
23
+ formRefs = _ref.formRefs,
24
+ setSelectedReferralToLink = _ref.setSelectedReferralToLink,
25
+ serviceTypeName = _ref.serviceTypeName;
26
+ var _useState = useState({
27
+ referralSelected: ''
28
+ }),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ formData = _useState2[0],
31
+ setFormData = _useState2[1];
32
+ var _useState3 = useState([]),
33
+ _useState4 = _slicedToArray(_useState3, 2),
34
+ referralList = _useState4[0],
35
+ setReferralList = _useState4[1];
36
+ var registerField = function registerField(fieldId, ref) {
37
+ formRefs.current[fieldId] = ref;
38
+ };
39
+ var generateReferralList = function generateReferralList(referrals) {
40
+ return referrals.map(function (referral, index) {
41
+ var _referral$service, _referral$programs;
42
+ var serviceName = (_referral$service = referral.service) === null || _referral$service === void 0 ? void 0 : _referral$service.name;
43
+ var programName = (_referral$programs = referral.programs) === null || _referral$programs === void 0 || (_referral$programs = _referral$programs.find(function (program) {
44
+ return program === null || program === void 0 ? void 0 : program.name;
45
+ })) === null || _referral$programs === void 0 ? void 0 : _referral$programs.name;
46
+ return {
47
+ label: "Referral ".concat(index + 1, ": ").concat(serviceName, " referral to: ").concat(programName),
48
+ value: "".concat(index)
49
+ };
50
+ });
51
+ };
52
+ var onSetForm = useCallback(function (formInstance) {
53
+ formRefs.current = formInstance;
54
+ }, []);
55
+ useEffect(function () {
56
+ var list = generateReferralList(referrals);
57
+ setReferralList(list);
58
+ }, [referrals]);
59
+ var handleSelectChange = function handleSelectChange(field, value) {
60
+ if (value) {
61
+ setFormData(function (prev) {
62
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, field, value));
63
+ });
64
+ setSelectedReferralToLink(Number(value));
65
+ }
66
+ };
67
+ return /*#__PURE__*/React.createElement(Form, {
68
+ initialValues: {
69
+ referralSelected: formData.referralSelected
70
+ },
71
+ onSubmit: function onSubmit() {},
72
+ validate: function validate(values) {
73
+ var errors = {};
74
+ if (!values.referralSelected) {
75
+ errors.referralSelected = "You must select a referral";
76
+ }
77
+ ;
78
+ var fieldErrors = {
79
+ referralSelected: !!errors.referralSelected
80
+ };
81
+ setReferralErrors(0, fieldErrors);
82
+ return errors;
83
+ },
84
+ mutators: {
85
+ setFieldTouched: function setFieldTouched(args, state) {
86
+ var _args = _slicedToArray(args, 2),
87
+ name = _args[0],
88
+ touched = _args[1];
89
+ var field = state.fields[name];
90
+ if (field) {
91
+ field.touched = !!touched;
92
+ }
93
+ }
94
+ },
95
+ render: function render(_ref2) {
96
+ var form = _ref2.form,
97
+ values = _ref2.values;
98
+ onSetForm && onSetForm(form);
99
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
100
+ className: "relative mx-auto responsive-max-width"
101
+ }, /*#__PURE__*/React.createElement("h1", {
102
+ className: "font-semibold text-[18px] leading-[28px] text-left mt-4"
103
+ }, "Connect original referral"), /*#__PURE__*/React.createElement("p", {
104
+ className: "font-normal text-[14px] leading-[20px] text-left mt-1"
105
+ }, "The original referral you received was a ".concat(serviceTypeName, " referral. Choose one of the referrals you are sending to connect to the original, to ensure that the sender can view the outcome of their referral.")), /*#__PURE__*/React.createElement(FormSpy, {
106
+ subscription: {
107
+ values: true
108
+ },
109
+ onChange: handleSelectChange
110
+ }), /*#__PURE__*/React.createElement(Field, {
111
+ name: "referralSelected",
112
+ required: true,
113
+ key: "referralSelected"
114
+ }, function (params) {
115
+ return /*#__PURE__*/React.createElement(SelectField, _extends({
116
+ className: "custom-select-field mb-3 mt-3",
117
+ ref: function ref(_ref3) {
118
+ return registerField('referralSelected', _ref3);
119
+ },
120
+ id: "referralSelected",
121
+ label: "Choose referral",
122
+ options: referralList,
123
+ labelKey: "label",
124
+ valueKey: "value",
125
+ validations: isRequired,
126
+ placeholder: "Pick one",
127
+ required: true,
128
+ searchEnabled: false,
129
+ inline: false,
130
+ onChange: function onChange(value) {
131
+ return handleSelectChange('referralSelected', value);
132
+ },
133
+ value: formData.referralSelected
134
+ }, params));
135
+ })));
136
+ }
137
+ });
138
+ };
139
+ DropdownMultiplesReferrals.propTypes = {
140
+ referrals: PropTypes.arrayOf(PropTypes.shape({
141
+ service: PropTypes.shape({
142
+ name: PropTypes.string
143
+ })
144
+ })),
145
+ onSubmit: PropTypes.func.isRequired
146
+ };
147
+ DropdownMultiplesReferrals.defaultProps = {
148
+ referrals: []
149
+ };
150
+ export default DropdownMultiplesReferrals;
151
+ //# sourceMappingURL=DropdownMultiplesReferrals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMultiplesReferrals.js","names":["React","useState","useEffect","useRef","useCallback","PropTypes","Form","Field","FormSpy","SelectField","isRequired","DropdownMultiplesReferrals","_ref","_ref$referrals","referrals","setReferralErrors","formRefs","setSelectedReferralToLink","serviceTypeName","_useState","referralSelected","_useState2","_slicedToArray","formData","setFormData","_useState3","_useState4","referralList","setReferralList","registerField","fieldId","ref","current","generateReferralList","map","referral","index","_referral$service","_referral$programs","serviceName","service","name","programName","programs","find","program","label","concat","value","onSetForm","formInstance","list","handleSelectChange","field","prev","_objectSpread","_defineProperty","Number","createElement","initialValues","onSubmit","validate","values","errors","fieldErrors","mutators","setFieldTouched","args","state","_args","touched","fields","render","_ref2","form","Fragment","className","subscription","onChange","required","key","params","_extends","id","options","labelKey","valueKey","validations","placeholder","searchEnabled","inline","propTypes","arrayOf","shape","string","func","defaultProps"],"sources":["../../../src/pages/review/DropdownMultiplesReferrals.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport { SelectField } from '@unite-us/ui';\nimport { isRequired } from '@unite-us/client-utils/dist/utils/validations/validations';\n\nconst DropdownMultiplesReferrals = ({ referrals = [], setReferralErrors, formRefs, setSelectedReferralToLink, serviceTypeName }) => {\n const [formData, setFormData] = useState({\n referralSelected: '',\n });\n\n const [referralList, setReferralList] = useState([]);\n\n const registerField = (fieldId, ref) => {\n formRefs.current[fieldId] = ref;\n };\n\n const generateReferralList = (referrals) => {\n return referrals.map((referral, index) => {\n const serviceName = referral.service?.name;\n\t\t\tconst programName = referral.programs?.find((program) => program?.name)?.name;\n\n return {\n label: `Referral ${index + 1}: ${serviceName} referral to: ${programName}`,\n value: `${index}`,\n };\n });\n };\n\n const onSetForm = useCallback((formInstance) => {\n formRefs.current = formInstance;\n }, []);\n\n useEffect(() => {\n const list = generateReferralList(referrals);\n setReferralList(list);\n }, [referrals]);\n\n const handleSelectChange = (field, value) => {\n if (value) {\n setFormData((prev) => ({ ...prev, [field]: value }));\n setSelectedReferralToLink(Number(value));\n }\n };\n\n return (\n <Form\n initialValues={{ referralSelected: formData.referralSelected }}\n onSubmit={() => { }}\n validate={(values) => {\n const errors = {};\n if (!values.referralSelected) { errors.referralSelected = \"You must select a referral\" };\n\n const fieldErrors = {\n referralSelected: !!errors.referralSelected\n }\n\n setReferralErrors(0, fieldErrors);\n return errors;\n }}\n mutators={{\n setFieldTouched: (args, state) => {\n const [name, touched] = args;\n const field = state.fields[name];\n if (field) {\n field.touched = !!touched;\n }\n }\n }}\n render={({ form, values }) => {\n onSetForm && onSetForm(form);\n return (\n <>\n <div className=\"relative mx-auto responsive-max-width\">\n <h1 className=\"font-semibold text-[18px] leading-[28px] text-left mt-4\">\n Connect original referral\n </h1>\n <p className=\"font-normal text-[14px] leading-[20px] text-left mt-1\">\n {`The original referral you received was a ${serviceTypeName} referral. Choose one of the referrals you are sending to connect to the original, to ensure that the sender can view the outcome of their referral.`}\n </p>\n <FormSpy\n subscription={{ values: true }}\n onChange={handleSelectChange}\n />\n <Field\n name=\"referralSelected\"\n required\n key={`referralSelected`}\n >\n {(params) => (\n <SelectField\n className=\"custom-select-field mb-3 mt-3\"\n ref={(ref) => registerField('referralSelected', ref)}\n id=\"referralSelected\"\n label=\"Choose referral\"\n options={referralList}\n labelKey=\"label\"\n valueKey=\"value\"\n validations={isRequired}\n placeholder=\"Pick one\"\n required\n searchEnabled={false}\n inline={false}\n onChange={(value) => handleSelectChange('referralSelected', value)}\n value={formData.referralSelected}\n {...params}\n />\n )}\n </Field>\n </div>\n\n </>\n )}}\n />\n );\n};\n\nDropdownMultiplesReferrals.propTypes = {\n referrals: PropTypes.arrayOf(\n PropTypes.shape({\n service: PropTypes.shape({\n name: PropTypes.string,\n }),\n })\n ),\n onSubmit: PropTypes.func.isRequired,\n};\n\nDropdownMultiplesReferrals.defaultProps = {\n referrals: [],\n};\n\nexport default DropdownMultiplesReferrals;\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,WAAW,QAAQ,OAAO;AACvE,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,IAAI,EAAEC,KAAK,EAAEC,OAAO,QAAQ,kBAAkB;AACvD,SAASC,WAAW,QAAQ,cAAc;AAC1C,SAASC,UAAU,QAAQ,2DAA2D;AAEtF,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,IAAA,EAAoG;EAAA,IAAAC,cAAA,GAAAD,IAAA,CAA9FE,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,EAAE,GAAAA,cAAA;IAAEE,iBAAiB,GAAAH,IAAA,CAAjBG,iBAAiB;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAEC,yBAAyB,GAAAL,IAAA,CAAzBK,yBAAyB;IAAEC,eAAe,GAAAN,IAAA,CAAfM,eAAe;EAC3H,IAAAC,SAAA,GAAgClB,QAAQ,CAAC;MACzCmB,gBAAgB,EAAE;IAClB,CAAC,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA;IAFKI,QAAQ,GAAAF,UAAA;IAAEG,WAAW,GAAAH,UAAA;EAI5B,IAAAI,UAAA,GAAwCxB,QAAQ,CAAC,EAAE,CAAC;IAAAyB,UAAA,GAAAJ,cAAA,CAAAG,UAAA;IAA7CE,YAAY,GAAAD,UAAA;IAAEE,eAAe,GAAAF,UAAA;EAEpC,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,OAAO,EAAEC,GAAG,EAAK;IACtCf,QAAQ,CAACgB,OAAO,CAACF,OAAO,CAAC,GAAGC,GAAG;EACjC,CAAC;EAED,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAInB,SAAS,EAAK;IAC1C,OAAOA,SAAS,CAACoB,GAAG,CAAC,UAACC,QAAQ,EAAEC,KAAK,EAAK;MAAA,IAAAC,iBAAA,EAAAC,kBAAA;MACxC,IAAMC,WAAW,IAAAF,iBAAA,GAAGF,QAAQ,CAACK,OAAO,cAAAH,iBAAA,uBAAhBA,iBAAA,CAAkBI,IAAI;MAC7C,IAAMC,WAAW,IAAAJ,kBAAA,GAAGH,QAAQ,CAACQ,QAAQ,cAAAL,kBAAA,gBAAAA,kBAAA,GAAjBA,kBAAA,CAAmBM,IAAI,CAAC,UAACC,OAAO;QAAA,OAAKA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEJ,IAAI;MAAA,EAAC,cAAAH,kBAAA,uBAAnDA,kBAAA,CAAqDG,IAAI;MAE1E,OAAO;QACLK,KAAK,cAAAC,MAAA,CAAcX,KAAK,GAAG,CAAC,QAAAW,MAAA,CAAKR,WAAW,oBAAAQ,MAAA,CAAiBL,WAAW,CAAE;QAC1EM,KAAK,KAAAD,MAAA,CAAKX,KAAK;MACjB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,IAAMa,SAAS,GAAG7C,WAAW,CAAC,UAAC8C,YAAY,EAAK;IAC9ClC,QAAQ,CAACgB,OAAO,GAAGkB,YAAY;EACjC,CAAC,EAAE,EAAE,CAAC;EAENhD,SAAS,CAAC,YAAM;IACd,IAAMiD,IAAI,GAAGlB,oBAAoB,CAACnB,SAAS,CAAC;IAC5Cc,eAAe,CAACuB,IAAI,CAAC;EACvB,CAAC,EAAE,CAACrC,SAAS,CAAC,CAAC;EAEf,IAAMsC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAAK,EAAEL,KAAK,EAAK;IAC3C,IAAIA,KAAK,EAAE;MACTxB,WAAW,CAAC,UAAC8B,IAAI;QAAA,OAAAC,aAAA,CAAAA,aAAA,KAAWD,IAAI,OAAAE,eAAA,KAAGH,KAAK,EAAGL,KAAK;MAAA,CAAG,CAAC;MACpD/B,yBAAyB,CAACwC,MAAM,CAACT,KAAK,CAAC,CAAC;IAC1C;EACF,CAAC;EAED,oBACEhD,KAAA,CAAA0D,aAAA,CAACpD,IAAI;IACHqD,aAAa,EAAE;MAAEvC,gBAAgB,EAAEG,QAAQ,CAACH;IAAiB,CAAE;IAC/DwC,QAAQ,EAAE,SAAAA,SAAA,EAAM,CAAE,CAAE;IACpBC,QAAQ,EAAE,SAAAA,SAACC,MAAM,EAAK;MACpB,IAAMC,MAAM,GAAG,CAAC,CAAC;MACjB,IAAI,CAACD,MAAM,CAAC1C,gBAAgB,EAAE;QAAE2C,MAAM,CAAC3C,gBAAgB,GAAG,4BAA4B;MAAC;MAAC;MAExF,IAAM4C,WAAW,GAAG;QAClB5C,gBAAgB,EAAE,CAAC,CAAC2C,MAAM,CAAC3C;MAC7B,CAAC;MAEDL,iBAAiB,CAAC,CAAC,EAAEiD,WAAW,CAAC;MACjC,OAAOD,MAAM;IACf,CAAE;IACFE,QAAQ,EAAE;MACRC,eAAe,EAAE,SAAAA,gBAACC,IAAI,EAAEC,KAAK,EAAK;QAChC,IAAAC,KAAA,GAAA/C,cAAA,CAAwB6C,IAAI;UAArB1B,IAAI,GAAA4B,KAAA;UAAEC,OAAO,GAAAD,KAAA;QACpB,IAAMhB,KAAK,GAAGe,KAAK,CAACG,MAAM,CAAC9B,IAAI,CAAC;QAChC,IAAIY,KAAK,EAAE;UACTA,KAAK,CAACiB,OAAO,GAAG,CAAC,CAACA,OAAO;QAC3B;MACF;IACF,CAAE;IACFE,MAAM,EAAE,SAAAA,OAAAC,KAAA,EAAsB;MAAA,IAAnBC,IAAI,GAAAD,KAAA,CAAJC,IAAI;QAAEZ,MAAM,GAAAW,KAAA,CAANX,MAAM;MACrBb,SAAS,IAAIA,SAAS,CAACyB,IAAI,CAAC;MAC5B,oBACE1E,KAAA,CAAA0D,aAAA,CAAA1D,KAAA,CAAA2E,QAAA,qBACE3E,KAAA,CAAA0D,aAAA;QAAKkB,SAAS,EAAC;MAAuC,gBACpD5E,KAAA,CAAA0D,aAAA;QAAIkB,SAAS,EAAC;MAAyD,GAAC,2BAEpE,CAAC,eACL5E,KAAA,CAAA0D,aAAA;QAAGkB,SAAS,EAAC;MAAuD,+CAAA7B,MAAA,CACrB7B,eAAe,yJAC3D,CAAC,eACJlB,KAAA,CAAA0D,aAAA,CAAClD,OAAO;QACNqE,YAAY,EAAE;UAAEf,MAAM,EAAE;QAAK,CAAE;QAC/BgB,QAAQ,EAAE1B;MAAmB,CAC9B,CAAC,eACFpD,KAAA,CAAA0D,aAAA,CAACnD,KAAK;QACJkC,IAAI,EAAC,kBAAkB;QACvBsC,QAAQ;QACRC,GAAG;MAAqB,GAEvB,UAACC,MAAM;QAAA,oBACRjF,KAAA,CAAA0D,aAAA,CAACjD,WAAW,EAAAyE,QAAA;UACVN,SAAS,EAAC,+BAA+B;UACzC7C,GAAG,EAAE,SAAAA,IAACA,KAAG;YAAA,OAAKF,aAAa,CAAC,kBAAkB,EAAEE,KAAG,CAAC;UAAA,CAAC;UACrDoD,EAAE,EAAC,kBAAkB;UACrBrC,KAAK,EAAC,iBAAiB;UACvBsC,OAAO,EAAEzD,YAAa;UACtB0D,QAAQ,EAAC,OAAO;UAChBC,QAAQ,EAAC,OAAO;UAChBC,WAAW,EAAE7E,UAAW;UACxB8E,WAAW,EAAC,UAAU;UACtBT,QAAQ;UACRU,aAAa,EAAE,KAAM;UACrBC,MAAM,EAAE,KAAM;UACdZ,QAAQ,EAAE,SAAAA,SAAC9B,KAAK;YAAA,OAAKI,kBAAkB,CAAC,kBAAkB,EAAEJ,KAAK,CAAC;UAAA,CAAC;UACnEA,KAAK,EAAEzB,QAAQ,CAACH;QAAiB,GAC7B6D,MAAM,CACX,CAAC;MAAA,CAEG,CACJ,CAEL,CAAC;IACN;EAAE,CACJ,CAAC;AAEN,CAAC;AAEDtE,0BAA0B,CAACgF,SAAS,GAAG;EACrC7E,SAAS,EAAET,SAAS,CAACuF,OAAO,CAC1BvF,SAAS,CAACwF,KAAK,CAAC;IACdrD,OAAO,EAAEnC,SAAS,CAACwF,KAAK,CAAC;MACvBpD,IAAI,EAAEpC,SAAS,CAACyF;IAClB,CAAC;EACH,CAAC,CACH,CAAC;EACDlC,QAAQ,EAAEvD,SAAS,CAAC0F,IAAI,CAACrF;AAC3B,CAAC;AAEDC,0BAA0B,CAACqF,YAAY,GAAG;EACxClF,SAAS,EAAE;AACb,CAAC;AAED,eAAeH,0BAA0B","ignoreList":[]}