@unite-us/app-create-referral 0.15.51 → 0.15.52
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.
- package/dist/pages/builder/ReferralBuilder.js +1 -1
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/constants.js +2 -2
- package/dist/pages/builder/constants.js.map +1 -1
- package/dist/pages/builder/utils.js +2 -2
- package/dist/pages/builder/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -599,7 +599,7 @@ export default function ReferralBuilder() {
|
|
|
599
599
|
return handleKeyDown(event, onLearnMoreClick);
|
|
600
600
|
},
|
|
601
601
|
"aria-expanded": aboutGroupedReferralsModalIsOpen,
|
|
602
|
-
label: "
|
|
602
|
+
label: "Click here to learn more about referrals.",
|
|
603
603
|
link: true
|
|
604
604
|
})), /*#__PURE__*/React.createElement(AboutGroupedReferralsModal, {
|
|
605
605
|
ref: refModal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilder.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","_typeof","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","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","crtb1299HighRejectionSolution","showOpenedDate","crtb854ForwardingSuperset","showClientNeeds","_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","icd10_code","client_need","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","openModal","closeModal","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","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_i","_errorFieldMap","_errorFieldMap$_i","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","_ref4","_regeneratorRuntime","mark","_callee","onSaveDraftReferral","wrap","_callee$","_context","prev","draft","notify","success","stop","showMargin","createElement","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","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 { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\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';\nimport {\n REFERRAL_BUILDER_DESCRIPTION,\n} from './constants';\nimport { handleKeyDown } from '../../common/utils/utils';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\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 crtb1299HighRejectionSolution = useFeatureFlag('crtb1299HighRejectionSolution', false);\n const showOpenedDate = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb1788ClientNeeds', 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 icd10_code: fieldError?.icd10_code,\n client_need: fieldError?.client_need,\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, showOpenedDate, showClientNeeds);\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.openModal();\n } else {\n refModal.current.closeModal();\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.some((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 const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\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 = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, 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, showOpenedDate, showClientNeeds);\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 <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\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=\"InfoCircle\" 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 my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded ${showMargin()}\n ${expandReferralsCard ? 'relative md:max-w-none lg:w-3/6 z-20' : '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 \n icon='ChevronArrow' \n direction={expandReferralsCard ? \"left\" : \"right\"} \n ariaLabel={expandReferralsCard ? \"Collapse sidebar\" : \"Expand Sidebar\"} \n className=\"w-6 h-6\" \n onClick={() => changeWidthReferralCard()}\n />\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 expandReferralsCard={expandReferralsCard}\n person={person}\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":[]}
|
|
1
|
+
{"version":3,"file":"ReferralBuilder.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","_typeof","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","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","crtb1299HighRejectionSolution","showOpenedDate","crtb854ForwardingSuperset","showClientNeeds","_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","icd10_code","client_need","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","openModal","closeModal","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","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_i","_errorFieldMap","_errorFieldMap$_i","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","_ref4","_regeneratorRuntime","mark","_callee","onSaveDraftReferral","wrap","_callee$","_context","prev","draft","notify","success","stop","showMargin","createElement","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","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 { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\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';\nimport {\n REFERRAL_BUILDER_DESCRIPTION,\n} from './constants';\nimport { handleKeyDown } from '../../common/utils/utils';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\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 crtb1299HighRejectionSolution = useFeatureFlag('crtb1299HighRejectionSolution', false);\n const showOpenedDate = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb1788ClientNeeds', 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 icd10_code: fieldError?.icd10_code,\n client_need: fieldError?.client_need,\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, showOpenedDate, showClientNeeds);\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.openModal();\n } else {\n refModal.current.closeModal();\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.some((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 const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\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 = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, 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, showOpenedDate, showClientNeeds);\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 <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\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=\"InfoCircle\" 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 my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded ${showMargin()}\n ${expandReferralsCard ? 'relative md:max-w-none lg:w-3/6 z-20' : '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 \n icon='ChevronArrow' \n direction={expandReferralsCard ? \"left\" : \"right\"} \n ariaLabel={expandReferralsCard ? \"Collapse sidebar\" : \"Expand Sidebar\"} \n className=\"w-6 h-6\" \n onClick={() => changeWidthReferralCard()}\n />\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 expandReferralsCard={expandReferralsCard}\n person={person}\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":";;;;;;;0BACA,uKAAAA,CAAA,EAAAC,CAAA,EAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,8BAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAC,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAAC,SAAA,UAAAK,mBAAA,CAAAH,CAAA,uBAAAV,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAI,CAAA,MAAAC,CAAA,GAAAX,CAAA,QAAAY,CAAA,OAAAC,CAAA,KAAAF,CAAA,KAAAb,CAAA,KAAAgB,CAAA,EAAApB,CAAA,EAAAqB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAAvB,CAAA,MAAAsB,CAAA,WAAAA,EAAArB,CAAA,EAAAC,CAAA,WAAAM,CAAA,GAAAP,CAAA,EAAAQ,CAAA,MAAAG,CAAA,GAAAZ,CAAA,EAAAmB,CAAA,CAAAf,CAAA,GAAAF,CAAA,EAAAmB,CAAA,gBAAAC,EAAApB,CAAA,EAAAE,CAAA,SAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAAH,CAAA,OAAAiB,CAAA,IAAAF,CAAA,KAAAV,CAAA,IAAAL,CAAA,GAAAgB,CAAA,CAAAO,MAAA,EAAAvB,CAAA,UAAAK,CAAA,EAAAE,CAAA,GAAAS,CAAA,CAAAhB,CAAA,GAAAqB,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAQ,CAAA,GAAAjB,CAAA,KAAAN,CAAA,QAAAI,CAAA,GAAAmB,CAAA,KAAArB,CAAA,MAAAK,CAAA,GAAAD,CAAA,UAAAI,CAAA,GAAAJ,CAAA,QAAAR,CAAA,GAAAQ,CAAA,MAAAA,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAR,CAAA,IAAAQ,CAAA,OAAAc,CAAA,MAAAhB,CAAA,GAAAJ,CAAA,QAAAoB,CAAA,GAAAd,CAAA,QAAAC,CAAA,MAAAU,CAAA,CAAAC,CAAA,GAAAhB,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAI,CAAA,OAAAc,CAAA,GAAAG,CAAA,KAAAnB,CAAA,GAAAJ,CAAA,QAAAM,CAAA,MAAAJ,CAAA,IAAAA,CAAA,GAAAqB,CAAA,MAAAjB,CAAA,MAAAN,CAAA,EAAAM,CAAA,MAAAJ,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAqB,CAAA,EAAAhB,CAAA,cAAAH,CAAA,IAAAJ,CAAA,aAAAmB,CAAA,QAAAH,CAAA,OAAAd,CAAA,qBAAAE,CAAA,EAAAW,CAAA,EAAAQ,CAAA,QAAAT,CAAA,YAAAU,SAAA,uCAAAR,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAQ,CAAA,GAAAhB,CAAA,GAAAQ,CAAA,EAAAL,CAAA,GAAAa,CAAA,GAAAxB,CAAA,GAAAQ,CAAA,OAAAT,CAAA,GAAAY,CAAA,MAAAM,CAAA,KAAAV,CAAA,KAAAC,CAAA,GAAAA,CAAA,QAAAA,CAAA,SAAAU,CAAA,CAAAf,CAAA,QAAAkB,CAAA,CAAAb,CAAA,EAAAG,CAAA,KAAAO,CAAA,CAAAf,CAAA,GAAAQ,CAAA,GAAAO,CAAA,CAAAC,CAAA,GAAAR,CAAA,aAAAI,CAAA,MAAAR,CAAA,QAAAC,CAAA,KAAAH,CAAA,YAAAL,CAAA,GAAAO,CAAA,CAAAF,CAAA,WAAAL,CAAA,GAAAA,CAAA,CAAA0B,IAAA,CAAAnB,CAAA,EAAAI,CAAA,UAAAc,SAAA,2CAAAzB,CAAA,CAAA2B,IAAA,SAAA3B,CAAA,EAAAW,CAAA,GAAAX,CAAA,CAAA4B,KAAA,EAAApB,CAAA,SAAAA,CAAA,oBAAAA,CAAA,KAAAR,CAAA,GAAAO,CAAA,CAAAsB,MAAA,KAAA7B,CAAA,CAAA0B,IAAA,CAAAnB,CAAA,GAAAC,CAAA,SAAAG,CAAA,GAAAc,SAAA,uCAAApB,CAAA,gBAAAG,CAAA,OAAAD,CAAA,GAAAR,CAAA,cAAAC,CAAA,IAAAiB,CAAA,GAAAC,CAAA,CAAAf,CAAA,QAAAQ,CAAA,GAAAV,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,EAAAe,CAAA,OAAAE,CAAA,kBAAApB,CAAA,IAAAO,CAAA,GAAAR,CAAA,EAAAS,CAAA,MAAAG,CAAA,GAAAX,CAAA,cAAAe,CAAA,mBAAAa,KAAA,EAAA5B,CAAA,EAAA2B,IAAA,EAAAV,CAAA,SAAAhB,CAAA,EAAAI,CAAA,EAAAE,CAAA,QAAAI,CAAA,QAAAS,CAAA,gBAAAV,UAAA,cAAAoB,kBAAA,cAAAC,2BAAA,KAAA/B,CAAA,GAAAY,MAAA,CAAAoB,cAAA,MAAAxB,CAAA,MAAAL,CAAA,IAAAH,CAAA,CAAAA,CAAA,IAAAG,CAAA,SAAAW,mBAAA,CAAAd,CAAA,OAAAG,CAAA,iCAAAH,CAAA,GAAAW,CAAA,GAAAoB,0BAAA,CAAAtB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAL,CAAA,YAAAO,EAAAhB,CAAA,WAAAa,MAAA,CAAAqB,cAAA,GAAArB,MAAA,CAAAqB,cAAA,CAAAlC,CAAA,EAAAgC,0BAAA,KAAAhC,CAAA,CAAAmC,SAAA,GAAAH,0BAAA,EAAAjB,mBAAA,CAAAf,CAAA,EAAAM,CAAA,yBAAAN,CAAA,CAAAU,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAF,CAAA,GAAAZ,CAAA,WAAA+B,iBAAA,CAAArB,SAAA,GAAAsB,0BAAA,EAAAjB,mBAAA,CAAAH,CAAA,iBAAAoB,0BAAA,GAAAjB,mBAAA,CAAAiB,0BAAA,iBAAAD,iBAAA,GAAAA,iBAAA,CAAAK,WAAA,wBAAArB,mBAAA,CAAAiB,0BAAA,EAAA1B,CAAA,wBAAAS,mBAAA,CAAAH,CAAA,GAAAG,mBAAA,CAAAH,CAAA,EAAAN,CAAA,gBAAAS,mBAAA,CAAAH,CAAA,EAAAR,CAAA,iCAAAW,mBAAA,CAAAH,CAAA,8DAAAyB,YAAA,YAAAA,aAAA,aAAAC,CAAA,EAAA9B,CAAA,EAAA+B,CAAA,EAAAvB,CAAA;AAAA,SAAAD,oBAAAf,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA,QAAAO,CAAA,GAAAK,MAAA,CAAA2B,cAAA,QAAAhC,CAAA,uBAAAR,CAAA,IAAAQ,CAAA,QAAAO,mBAAA,YAAA0B,mBAAAzC,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA,QAAAC,CAAA,EAAAM,CAAA,GAAAA,CAAA,CAAAR,CAAA,EAAAE,CAAA,IAAA2B,KAAA,EAAAzB,CAAA,EAAAsC,UAAA,GAAAzC,CAAA,EAAA0C,YAAA,GAAA1C,CAAA,EAAA2C,QAAA,GAAA3C,CAAA,MAAAD,CAAA,CAAAE,CAAA,IAAAE,CAAA,YAAAE,CAAA,YAAAA,EAAAJ,CAAA,EAAAE,CAAA,IAAAW,mBAAA,CAAAf,CAAA,EAAAE,CAAA,YAAAF,CAAA,gBAAA6C,OAAA,CAAA3C,CAAA,EAAAE,CAAA,EAAAJ,CAAA,UAAAM,CAAA,aAAAA,CAAA,cAAAA,CAAA,oBAAAS,mBAAA,CAAAf,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA;AAAA,SAAA6C,eAAA9C,CAAA,EAAAsB,CAAA,SAAAF,CAAA,GAAApB,CAAA,OAAA+C,CAAA,GAAAzB,CAAA;AAAA,SAAA0B,mBAAA5C,CAAA,EAAAH,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAI,CAAA,EAAAe,CAAA,EAAAZ,CAAA,cAAAD,CAAA,GAAAJ,CAAA,CAAAiB,CAAA,EAAAZ,CAAA,GAAAG,CAAA,GAAAJ,CAAA,CAAAqB,KAAA,WAAAzB,CAAA,gBAAAJ,CAAA,CAAAI,CAAA,KAAAI,CAAA,CAAAoB,IAAA,GAAA3B,CAAA,CAAAW,CAAA,IAAAqC,OAAA,CAAAC,OAAA,CAAAtC,CAAA,EAAAuC,IAAA,CAAAjD,CAAA,EAAAI,CAAA;AAAA,SAAA8C,kBAAAhD,CAAA,6BAAAH,CAAA,SAAAD,CAAA,GAAAqD,SAAA,aAAAJ,OAAA,WAAA/C,CAAA,EAAAI,CAAA,QAAAe,CAAA,GAAAjB,CAAA,CAAAkD,KAAA,CAAArD,CAAA,EAAAD,CAAA,YAAAuD,MAAAnD,CAAA,IAAA4C,kBAAA,CAAA3B,CAAA,EAAAnB,CAAA,EAAAI,CAAA,EAAAiD,KAAA,EAAAC,MAAA,UAAApD,CAAA,cAAAoD,OAAApD,CAAA,IAAA4C,kBAAA,CAAA3B,CAAA,EAAAnB,CAAA,EAAAI,CAAA,EAAAiD,KAAA,EAAAC,MAAA,WAAApD,CAAA,KAAAmD,KAAA;AAAA,SAAAE,mBAAAvD,CAAA,WAAAwD,kBAAA,CAAAxD,CAAA,KAAAyD,gBAAA,CAAAzD,CAAA,KAAA0D,2BAAA,CAAA1D,CAAA,KAAA2D,kBAAA;AAAA,SAAAA,mBAAA,cAAAnC,SAAA;AAAA,SAAAiC,iBAAAzD,CAAA,8BAAAC,MAAA,YAAAD,CAAA,CAAAC,MAAA,CAAAE,QAAA,aAAAH,CAAA,uBAAA4D,KAAA,CAAAC,IAAA,CAAA7D,CAAA;AAAA,SAAAwD,mBAAAxD,CAAA,QAAA4D,KAAA,CAAAE,OAAA,CAAA9D,CAAA,UAAA+D,iBAAA,CAAA/D,CAAA;AAAA,SAAAgE,QAAAlE,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAY,MAAA,CAAAsD,IAAA,CAAAnE,CAAA,OAAAa,MAAA,CAAAuD,qBAAA,QAAA9D,CAAA,GAAAO,MAAA,CAAAuD,qBAAA,CAAApE,CAAA,GAAAE,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAA+D,MAAA,WAAAnE,CAAA,WAAAW,MAAA,CAAAyD,wBAAA,CAAAtE,CAAA,EAAAE,CAAA,EAAAwC,UAAA,OAAAzC,CAAA,CAAAsE,IAAA,CAAAjB,KAAA,CAAArD,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAuE,cAAAxE,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAmD,SAAA,CAAA7B,MAAA,EAAAtB,CAAA,UAAAD,CAAA,WAAAoD,SAAA,CAAAnD,CAAA,IAAAmD,SAAA,CAAAnD,CAAA,QAAAA,CAAA,OAAAgE,OAAA,CAAArD,MAAA,CAAAZ,CAAA,OAAAwE,OAAA,WAAAvE,CAAA,IAAAwE,eAAA,CAAA1E,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAW,MAAA,CAAA8D,yBAAA,GAAA9D,MAAA,CAAA+D,gBAAA,CAAA5E,CAAA,EAAAa,MAAA,CAAA8D,yBAAA,CAAA1E,CAAA,KAAAiE,OAAA,CAAArD,MAAA,CAAAZ,CAAA,GAAAwE,OAAA,WAAAvE,CAAA,IAAAW,MAAA,CAAA2B,cAAA,CAAAxC,CAAA,EAAAE,CAAA,EAAAW,MAAA,CAAAyD,wBAAA,CAAArE,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAA0E,gBAAA1E,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAA2E,cAAA,CAAA3E,CAAA,MAAAF,CAAA,GAAAa,MAAA,CAAA2B,cAAA,CAAAxC,CAAA,EAAAE,CAAA,IAAA2B,KAAA,EAAA5B,CAAA,EAAAyC,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAA5C,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAA6E,eAAA5E,CAAA,QAAAO,CAAA,GAAAsE,YAAA,CAAA7E,CAAA,gCAAA8E,OAAA,CAAAvE,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAsE,aAAA7E,CAAA,EAAAC,CAAA,oBAAA6E,OAAA,CAAA9E,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAE,MAAA,CAAA6E,WAAA,kBAAAhF,CAAA,QAAAQ,CAAA,GAAAR,CAAA,CAAA2B,IAAA,CAAA1B,CAAA,EAAAC,CAAA,gCAAA6E,OAAA,CAAAvE,CAAA,UAAAA,CAAA,YAAAkB,SAAA,yEAAAxB,CAAA,GAAA+E,MAAA,GAAAC,MAAA,EAAAjF,CAAA;AAAA,SAAAkF,eAAAjF,CAAA,EAAAF,CAAA,WAAAoF,eAAA,CAAAlF,CAAA,KAAAmF,qBAAA,CAAAnF,CAAA,EAAAF,CAAA,KAAA4D,2BAAA,CAAA1D,CAAA,EAAAF,CAAA,KAAAsF,gBAAA;AAAA,SAAAA,iBAAA,cAAA5D,SAAA;AAAA,SAAAkC,4BAAA1D,CAAA,EAAAmB,CAAA,QAAAnB,CAAA,2BAAAA,CAAA,SAAA+D,iBAAA,CAAA/D,CAAA,EAAAmB,CAAA,OAAApB,CAAA,MAAAsF,QAAA,CAAA5D,IAAA,CAAAzB,CAAA,EAAAsF,KAAA,6BAAAvF,CAAA,IAAAC,CAAA,CAAAuF,WAAA,KAAAxF,CAAA,GAAAC,CAAA,CAAAuF,WAAA,CAAAC,IAAA,aAAAzF,CAAA,cAAAA,CAAA,GAAA6D,KAAA,CAAAC,IAAA,CAAA7D,CAAA,oBAAAD,CAAA,+CAAA0F,IAAA,CAAA1F,CAAA,IAAAgE,iBAAA,CAAA/D,CAAA,EAAAmB,CAAA;AAAA,SAAA4C,kBAAA/D,CAAA,EAAAmB,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAnB,CAAA,CAAAsB,MAAA,MAAAH,CAAA,GAAAnB,CAAA,CAAAsB,MAAA,YAAAxB,CAAA,MAAAI,CAAA,GAAA0D,KAAA,CAAAzC,CAAA,GAAArB,CAAA,GAAAqB,CAAA,EAAArB,CAAA,IAAAI,CAAA,CAAAJ,CAAA,IAAAE,CAAA,CAAAF,CAAA,UAAAI,CAAA;AAAA,SAAAiF,sBAAAnF,CAAA,EAAAuB,CAAA,QAAAxB,CAAA,WAAAC,CAAA,gCAAAC,MAAA,IAAAD,CAAA,CAAAC,MAAA,CAAAE,QAAA,KAAAH,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAI,CAAA,EAAAI,CAAA,EAAAI,CAAA,EAAAS,CAAA,OAAAL,CAAA,OAAAV,CAAA,iBAAAE,CAAA,IAAAP,CAAA,GAAAA,CAAA,CAAA0B,IAAA,CAAAzB,CAAA,GAAA0F,IAAA,QAAAnE,CAAA,QAAAZ,MAAA,CAAAZ,CAAA,MAAAA,CAAA,UAAAe,CAAA,uBAAAA,CAAA,IAAAhB,CAAA,GAAAQ,CAAA,CAAAmB,IAAA,CAAA1B,CAAA,GAAA2B,IAAA,MAAAP,CAAA,CAAAkD,IAAA,CAAAvE,CAAA,CAAA6B,KAAA,GAAAR,CAAA,CAAAG,MAAA,KAAAC,CAAA,GAAAT,CAAA,iBAAAd,CAAA,IAAAI,CAAA,OAAAF,CAAA,GAAAF,CAAA,yBAAAc,CAAA,YAAAf,CAAA,CAAA6B,MAAA,KAAAlB,CAAA,GAAAX,CAAA,CAAA6B,MAAA,IAAAjB,MAAA,CAAAD,CAAA,MAAAA,CAAA,2BAAAN,CAAA,QAAAF,CAAA,aAAAiB,CAAA;AAAA,SAAA+D,gBAAAlF,CAAA,QAAA4D,KAAA,CAAAE,OAAA,CAAA9D,CAAA,UAAAA,CAAA;AADA,OAAO2F,KAAK,IAAKC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,QAAQ,OAAO;AACxE,SAASC,OAAO,EAAEC,OAAO,EAAEC,GAAG,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAEC,OAAO,QAAQ,QAAQ;AACrF,SAASC,WAAW,EAAEC,WAAW,QAAQ,kBAAkB;AAC3D,SAASC,MAAM,EAAEC,IAAI,QAAQ,0BAA0B;AACvD,SAASC,OAAO,EAAEC,2BAA2B,QAAQ,yCAAyC;AAC9F,OAAOC,UAAU,MAAM,6BAA6B;AACpD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,iBAAiB,EAAEC,mBAAmB,EAAEC,wBAAwB,EAAEC,oBAAoB,EAAEC,uBAAuB,EAAEC,aAAa,EAAEC,kBAAkB,EAAEC,kCAAkC,QAAQ,SAAS;AAChN,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,uBAAuB,MAAM,0CAA0C;AAC9E,OAAOC,UAAU,MAAM,6BAA6B;AACpD,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,qBAAqB,QAAQ,8CAA8C;AACpF,OAAOC,OAAO,MAAM,mCAAmC;AACvD,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,qBAAqB,MAAM,4DAA4D;AAC9F,OAAOC,kBAAkB,MAAM,yDAAyD;AACxF,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,aAAa,MAAM,sCAAsC;AAChE,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,OAAOC,yBAAyB,MAAM,6BAA6B;AACnE,SACEC,4BAA4B,QACvB,aAAa;AACpB,SAASC,aAAa,QAAQ,0BAA0B;AACxD,OAAOC,0BAA0B,MAAM,8BAA8B;AAErE,eAAe,SAASC,eAAeA,CAAA,EAAG;EAAA,IAAAC,qBAAA,EAAAC,eAAA;EACxC,IAAMC,QAAQ,GAAGpC,WAAW,CAAC,CAAC;EAC9B,IAAMqC,QAAQ,GAAGtC,WAAW,CAAC,CAAC;EAC9B,IAAAuC,qBAAA,GAgBIlC,2BAA2B,CAAC,CAAC;IAf/BmC,QAAQ,GAAAD,qBAAA,CAARC,QAAQ;IAAAC,sBAAA,GAAAF,qBAAA,CACRG,KAAK;IACHC,SAAS,GAAAF,sBAAA,CAATE,SAAS;IACTC,gBAAgB,GAAAH,sBAAA,CAAhBG,gBAAgB;IAChBC,eAAe,GAAAJ,sBAAA,CAAfI,eAAe;IACfC,eAAe,GAAAL,sBAAA,CAAfK,eAAe;IACfC,YAAY,GAAAN,sBAAA,CAAZM,YAAY;IACZC,MAAM,GAAAP,sBAAA,CAANO,MAAM;IACNC,MAAM,GAAAR,sBAAA,CAANQ,MAAM;IACNC,UAAU,GAAAT,sBAAA,CAAVS,UAAU;IACVC,mBAAmB,GAAAV,sBAAA,CAAnBU,mBAAmB;IACnBC,MAAM,GAAAX,sBAAA,CAANW,MAAM;IACNC,UAAU,GAAAZ,sBAAA,CAAVY,UAAU;IACVC,YAAY,GAAAb,sBAAA,CAAZa,YAAY;EAGhB,IAAMC,IAAI,GAAGhE,MAAM,CAAC,CAAC;EACrB,IAAMiE,4BAA4B,GAAGjE,MAAM,CAAC,CAAC;EAE7C,IAAMkE,6BAA6B,GAAGjE,WAAW,CAAC,YAAM;IACtDgE,4BAA4B,CAACE,OAAO,CAACC,UAAU,CAAC,CAAC;EACnD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,8BAA8B,GAAGpE,WAAW,CAAC,YAAM;IACvDgE,4BAA4B,CAACE,OAAO,CAACG,WAAW,CAAC,CAAC;EACpD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,+BAA+B,GAAGjC,cAAc,CAAC,iCAAiC,EAAE,KAAK,CAAC;EAChG,IAAMkC,8BAA8B,GAAGlC,cAAc,CAAC,gCAAgC,EAAE,KAAK,CAAC;EAC9F,IAAMmC,6BAA6B,GAAGnC,cAAc,CAAC,+BAA+B,EAAE,KAAK,CAAC;EAC5F,IAAMoC,cAAc,GAAGpC,cAAc,CAAC,wCAAwC,EAAE,KAAK,CAAC;EACtF,IAAMqC,yBAAyB,GAAGrC,cAAc,CAAC,2BAA2B,EAAE,KAAK,CAAC;EACpF,IAAMsC,eAAe,GAAGtC,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC;EAEpE,IAAAuC,SAAA,GAA0C9E,QAAQ,CAAC,EAAE,CAAC;IAAA+E,UAAA,GAAA3F,cAAA,CAAA0F,SAAA;IAA/CE,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,IAAAG,UAAA,GAAgFlF,QAAQ,CAAC,KAAK,CAAC;IAAAmF,UAAA,GAAA/F,cAAA,CAAA8F,UAAA;IAAxFE,gCAAgC,GAAAD,UAAA;IAAEE,mCAAmC,GAAAF,UAAA;EAC5E,IAAAG,UAAA,GAA8EtF,QAAQ,CAAC,KAAK,CAAC;IAAAuF,UAAA,GAAAnG,cAAA,CAAAkG,UAAA;IAAtFE,+BAA+B,GAAAD,UAAA;IAAEE,kCAAkC,GAAAF,UAAA;EAC1E,IAAAG,UAAA,GAA0C1F,QAAQ,EAAA6C,qBAAA,IAAAC,eAAA,GAACC,QAAQ,CAACK,KAAK,cAAAN,eAAA,uBAAdA,eAAA,CAAgB6C,gBAAgB,cAAA9C,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;IAAA+C,UAAA,GAAAxG,cAAA,CAAAsG,UAAA;IAAlFG,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,IAAAG,UAAA,GAAsC/F,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAAgG,WAAA,GAAA5G,cAAA,CAAA2G,UAAA;IAA3CE,WAAW,GAAAD,WAAA;IAAEE,cAAc,GAAAF,WAAA;EAClC,IAAAG,WAAA,GAAsCnG,QAAQ,CAAC,KAAK,CAAC;IAAAoG,WAAA,GAAAhH,cAAA,CAAA+G,WAAA;IAA9CE,WAAW,GAAAD,WAAA;IAAEE,cAAc,GAAAF,WAAA;EAClC,IAAAG,WAAA,GAAgDvG,QAAQ,CAAC,KAAK,CAAC;IAAAwG,WAAA,GAAApH,cAAA,CAAAmH,WAAA;IAAxDE,gBAAgB,GAAAD,WAAA;IAAEE,mBAAmB,GAAAF,WAAA;EAC5C,IAAAG,WAAA,GAAsD3G,QAAQ,CAAC,KAAK,CAAC;IAAA4G,WAAA,GAAAxH,cAAA,CAAAuH,WAAA;IAA9DE,mBAAmB,GAAAD,WAAA;IAAEE,sBAAsB,GAAAF,WAAA;EAClD,IAAAG,WAAA,GAA0B/G,QAAQ,CAACgH,MAAM,CAACC,UAAU,CAAC;IAAAC,WAAA,GAAA9H,cAAA,CAAA2H,WAAA;IAA9CI,KAAK,GAAAD,WAAA;IAAEE,QAAQ,GAAAF,WAAA;EACtB,IAAAG,WAAA,GAAkCrH,QAAQ,CAAC,EAAE,CAAC;IAAAsH,WAAA,GAAAlI,cAAA,CAAAiI,WAAA;IAAvCE,SAAS,GAAAD,WAAA;IAAEE,YAAY,GAAAF,WAAA;EAC9B,IAAAG,WAAA,GAA0CzH,QAAQ,CAAC,EAAE,CAAC;IAAA0H,WAAA,GAAAtI,cAAA,CAAAqI,WAAA;IAA/CE,aAAa,GAAAD,WAAA;IAAEE,gBAAgB,GAAAF,WAAA;EACtC,IAAAG,WAAA,GAA8C7H,QAAQ,CAAC,KAAK,CAAC;IAAA8H,WAAA,GAAA1I,cAAA,CAAAyI,WAAA;IAAtDE,eAAe,GAAAD,WAAA;IAAEE,kBAAkB,GAAAF,WAAA;EAC1C,IAAMG,WAAW,GAAGvE,MAAM,KAAK,KAAK;EACpC,IAAAwE,WAAA,GAA8DlI,QAAQ,CAAC,EAAE,CAAC;IAAAmI,WAAA,GAAA/I,cAAA,CAAA8I,WAAA;IAAnEE,uBAAuB,GAAAD,WAAA;IAAEE,0BAA0B,GAAAF,WAAA;EAC1D,IAAMG,gBAAgB,GAAG,CAAA1E,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAER,KAAK,MAAK,OAAO;EACtD,IAAMmF,oBAAoB,GAAG9D,8BAA8B,IAAI6D,gBAAgB,GAAG,qBAAqB,GAAG,wBAAwB;EAClI,IAAME,kBAAkB,GAAIrB,KAAK,IAAIc,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC;EAC9D,IAAMQ,qBAAqB,GAAG,CAAC,CAAC1E,UAAU,IAAI,CAAC,CAACC,YAAY;EAE5D,IAAM0E,MAAM,GAAG5N,MAAM,CAACsD,IAAI,CAAC6H,WAAW,CAAC,CAAC0C,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAK;IAC7D,IAAMC,UAAU,GAAG7C,WAAW,CAAC4C,KAAK,CAAC;IACrCD,GAAG,CAACC,KAAK,CAAC,GAAG;MACXE,OAAO,EAAED,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,OAAO;MAC5BC,OAAO,EAAEF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,OAAO;MAC5BC,cAAc,EAAEH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEG,cAAc;MAC1CC,WAAW,EAAEJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,WAAW;MACpCC,gBAAgB,EAAE,CAAAL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,gBAAgB,MAAIL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,eAAe;MAC7EC,WAAW,EAAE,CAAAP,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEO,WAAW,MAAIP,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEQ,4BAA4B;MAChFC,iBAAiB,EAAET,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAES,iBAAiB;MAChDC,WAAW,EAAEV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEU,WAAW;MACpCC,UAAU,EAAEX,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,UAAU;MAClCC,WAAW,EAAEZ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEY;IAC3B,CAAC;IACD,OAAOd,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACN,IAAMe,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,aAAa,EAAEC,SAAS,EAAK;IACtD3D,cAAc,CAAC,UAAC4D,eAAe,EAAK;MAClC,IAAMC,aAAa,GAAGD,eAAe,CAACF,aAAa,CAAC;MACpD,IAAMI,aAAa,GAAAvL,aAAA,CAAAA,aAAA,KAAQsL,aAAa,GAAKF,SAAS,CAAE;MAExD,IAAI1J,OAAO,CAAC6J,aAAa,EAAED,aAAa,CAAC,EAAE;QACzC,OAAOD,eAAe;MACxB;MAEA,OAAArL,aAAA,CAAAA,aAAA,KACKqL,eAAe,OAAAnL,eAAA,KACjBiL,aAAa,EAAGI,aAAa;IAElC,CAAC,CAAC;EACJ,CAAC;EAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,gBAAgB,EAAK;IAC7C,IAAG,CAAC9J,OAAO,CAAC8J,gBAAgB,CAAC,EAAE;MAC7B,IAAMC,UAAU,GAAG9I,wBAAwB,CAAC6I,gBAAgB,EAAEvF,cAAc,EAAEE,eAAe,CAAC;MAC9FqF,gBAAgB,CAACxL,OAAO,CAAC,UAAC0L,SAAS,EAAEvB,KAAK,EAAK;QAC7Cc,iBAAiB,CAACd,KAAK,EAAEsB,UAAU,CAACtB,KAAK,CAAC,CAAC;MAC7C,CAAC,CAAC;IACJ;EACF,CAAC;EAED,IAAAwB,kBAAA,GAAsB1I,iBAAiB,CAACsI,gBAAgB,CAAC;IAAjDK,SAAS,GAAAD,kBAAA,CAATC,SAAS;EAEjB,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAIC,SAAS,EAAEC,SAAS,EAAK;IAC7DxF,gBAAgB,CAAC,UAAAyF,SAAS;MAAA,OACxBA,SAAS,CAACC,GAAG,CAAC,UAAA5B,OAAO;QAAA,OACnBA,OAAO,CAACyB,SAAS,KAAKA,SAAS,IAAIzB,OAAO,CAAC0B,SAAS,KAAKA,SAAS,GAAAhM,aAAA,CAAAA,aAAA,KACzDsK,OAAO;UAAE6B,QAAQ,EAAE,CAAC7B,OAAO,CAAC6B;QAAQ,KACzC7B,OAAO;MAAA,CACb,CAAC;IAAA,CACH,CAAC;EACH,CAAC;EAED,IAAM8B,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAA0B;IAAA,IAAAC,qBAAA;IAAA,IAApBC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACtC,IAAMC,yBAAyB,GAAG5H,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE6H,IAAI,CAAC,UAACC,QAAQ;MAAA,IAAAC,iBAAA;MAAA,OAAK,CAAAD,QAAQ,aAARA,QAAQ,gBAAAC,iBAAA,GAARD,QAAQ,CAAEpC,OAAO,cAAAqC,iBAAA,uBAAjBA,iBAAA,CAAmBC,EAAE,MAAKL,aAAa;IAAA,EAAC;IACxG,OAAOC,yBAAyB,aAAzBA,yBAAyB,gBAAAF,qBAAA,GAAzBE,yBAAyB,CAAElC,OAAO,cAAAgC,qBAAA,uBAAlCA,qBAAA,CAAoCpL,IAAI;EACjD,CAAC;EAED,IAAM2L,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAA,EAAS;IACvC,OAAOhI,gBAAgB,CAACiI,OAAO,CAAC,UAAAC,OAAO;MAAA,OACrCA,OAAO,CAACC,QAAQ,CAACd,GAAG,CAAC,UAAAK,aAAa,EAAI;QACpC,IAAMU,WAAW,GAAGb,eAAe,CAAC;UAAEG,aAAa,EAAbA;QAAc,CAAC,CAAC;QACtD,OAAO;UACLR,SAAS,EAAEgB,OAAO,CAACH,EAAE;UACrBZ,SAAS,EAAEO,aAAa;UACxBU,WAAW,EAAXA,WAAW;UACXd,QAAQ,EAAEY,OAAO,CAACC,QAAQ,CAAChQ,MAAM,KAAK;QACxC,CAAC;MACH,CAAC,CAAC;IAAA,CACJ,CAAC;EACH,CAAC;EAEDsE,SAAS,CAAC,YAAM;IACd,IAAI2E,6BAA6B,EAAE;MACjC,IAAMiH,YAAY,GAAGL,0BAA0B,CAAC,CAAC;MACjDrG,gBAAgB,CAAC0G,YAAY,CAAC;IAChC;EACF,CAAC,EAAE,CAACrI,gBAAgB,CAAC,CAAC;EAEtBvD,SAAS,CAAC,YAAM;IACd,IAAI,CAACuK,SAAS,IAAI9F,+BAA+B,EAAE;MACjD;MACA,IAAMoH,mBAAmB,GAAGtI,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEhD,IAAI,CAAC,UAACkL,OAAO;QAAA,OAAKrK,iBAAiB,CAACqK,OAAO,CAAC;MAAA,EAAC;MAC3F,IAAII,mBAAmB,EAAE;QACvBtJ,aAAa,CAACkB,eAAe,CAAC,CAACpG,IAAI,CAAC,UAACyO,QAAQ,EAAK;UAChDxD,0BAA0B,CAACwD,QAAQ,CAAC;QACtC,CAAC,CAAC;MACJ;IACF;EACF,CAAC,EAAE,CAACvB,SAAS,CAAC,CAAC;EAEfvK,SAAS,CAAC,YAAM;IACd,IAAM+L,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;MACzB1E,QAAQ,CAACJ,MAAM,CAACC,UAAU,CAAC;IAC7B,CAAC;IACDD,MAAM,CAAC+E,gBAAgB,CAAC,QAAQ,EAAED,YAAY,CAAC;IAC/C,OAAO;MAAA,OAAM9E,MAAM,CAACgF,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC;IAAA;EACjE,CAAC,EAAE,CAAC3E,KAAK,CAAC,CAAC;EAEXpH,SAAS,CAAC,YAAM;IACdyI,kBAAkB,IAAIyD,yBAAyB,CAAC,CAAC;EACnD,CAAC,EAAE,CAAC9E,KAAK,CAAC,CAAC;EAEX,IAAM8E,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA,EAAS;IACtC,IAAIpF,mBAAmB,EAAE;MACvBqF,uBAAuB,CAAC,CAAC;IAC3B;EACF,CAAC;EAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;IAC7B9G,mCAAmC,CAAC,IAAI,CAAC;EAC3C,CAAC;EAED,IAAM+G,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAA,EAAS;IACzC/G,mCAAmC,CAAC,KAAK,CAAC;EAC5C,CAAC;EAED,IAAMgH,QAAQ,GAAGpM,MAAM,CAAC,IAAI,CAAC;EAC7BF,SAAS,CAAC,YAAM;IACd,IAAIqF,gCAAgC,EAAE;MACpCiH,QAAQ,CAACjI,OAAO,CAACkI,SAAS,CAAC,CAAC;IAC9B,CAAC,MAAM;MACLD,QAAQ,CAACjI,OAAO,CAACmI,UAAU,CAAC,CAAC;IAC/B;EACF,CAAC,EAAE,CAACnH,gCAAgC,CAAC,CAAC;EAEtCrF,SAAS,CAAC,YAAM;IACd,IAAI2E,6BAA6B,IAAI,CAAC4F,SAAS,IAAI9E,+BAA+B,EAAE;MAClFrB,6BAA6B,CAAC,CAAC;IACjC;EACF,CAAC,EAAE,CAACmG,SAAS,CAAC,CAAC;EAEf,IAAMkC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAI3D,KAAK,EAAK;IACrC/C,gBAAgB,CAAC+C,KAAK,CAAC;EACzB,CAAC;EAED9I,SAAS,CAAC,YAAM;IACdoC,qBAAqB,CAACwB,MAAM,CAAC0H,EAAE,CAAC,CAACjO,IAAI,CAAC,UAACqP,MAAM,EAAK;MAChDjF,YAAY,CAACiF,MAAM,CAAC;IACtB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN1M,SAAS,CAAC,YAAM;IACd,IAAI+D,MAAM,IAAIc,yBAAyB,EAAE;MACvCxC,kBAAkB,CAAC0B,MAAM,CAAC,CAAC1G,IAAI,CAAC,UAACqP,MAAM,EAAK;QAC1C7E,gBAAgB,CAAC6E,MAAM,CAAC;MAC1B,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;EAEN1M,SAAS,CAAC,YAAM;IACd,IAAI,CAACK,OAAO,CAACiD,SAAS,CAAC,IAAI,CAAC0E,eAAe,KAAK,CAAC3H,OAAO,CAACmH,SAAS,CAAC,IAAI,CAACnH,OAAO,CAACuH,aAAa,CAAC,CAAC,EAAE;MAC/F,IAAM+E,gBAAgB,GAAGrJ,SAAS,CAACsH,GAAG,CAAC,UAACQ,QAAQ,EAAK;QACnD,IAAG,CAACA,QAAQ,CAACwB,mBAAmB,EAAE;UAChC,OAAAlO,aAAA,CAAAA,aAAA,KACG0M,QAAQ;YACXwB,mBAAmB,EAAE,GAAAC,MAAA,CAAAlP,kBAAA,CAAI6J,SAAS,GAAA7J,kBAAA,CAAKiK,aAAa,GAAEgD,GAAG,CAAC,UAACkC,GAAG;cAAA,OAAM;gBAAEC,QAAQ,EAAE,KAAK;gBAAEC,QAAQ,EAAEF;cAAI,CAAC;YAAA,CAAC;UAAC;QAE1G,CAAC,MAAM;UACL,OAAO1B,QAAQ;QACjB;MACF,CAAC,CAAC;MAEFjI,QAAQ,CAACpC,OAAO,CAAC;QACfuC,SAAS,EAAEqJ;MACb,CAAC,CAAC,CAAC;MAEH1E,kBAAkB,CAAC,IAAI,CAAC;IAC1B;IACA,IAAItD,6BAA6B,EAAE;MACjC,IAAMsI,yBAAyB,GAAG1J,gBAAgB,CAAChD,IAAI,CAAC,UAACkL,OAAO,EAAK;QAAA,IAAAyB,iBAAA;QACnE,OAAO,CAAAzB,OAAO,aAAPA,OAAO,gBAAAyB,iBAAA,GAAPzB,OAAO,CAAEC,QAAQ,cAAAwB,iBAAA,uBAAjBA,iBAAA,CAAmBxR,MAAM,IAAG,CAAC;MACtC,CAAC,CAAC;MACFgK,kCAAkC,CAACuH,yBAAyB,CAAC;IAC/D;EACF,CAAC,EAAE,CAAC3J,SAAS,CAAC,CAAC;EAEf,IAAM6J,WAAW,GAAG,SAAdA,WAAWA,CAAA;IAAA,OAAS7J,SAAS,IAAIA,SAAS,CAACwC,aAAa,CAAC;EAAA;EAE/D,IAAMsH,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAAK,EAAK;IACpC,IAAQ7M,MAAM,GAAK6M,KAAK,CAAhB7M,MAAM;IACd,IAAMmM,gBAAgB,GAAGrJ,SAAS;IAClCqJ,gBAAgB,CAAC7G,aAAa,CAAC,GAAApH,aAAA,KAC1B8B,MAAM,CACV;;IAED;IACA;IACA8M,UAAU,CAAC;MAAA,OACTnK,QAAQ,CAACpC,OAAO,CAAC;QACfuC,SAAS,EAAA3F,kBAAA,CAAMgP,gBAAgB;MACjC,CAAC,CAAC,CAAC;IAAA,GAAE,CACP,CAAC;EACH,CAAC;EAED,IAAMY,oBAAoB,GAAGxS,MAAM,CAACyS,OAAO,CAAC7E,MAAM,CAAC,CAAC8E,SAAS,CAAC,UAAAC,KAAA;IAAA,IAAAC,KAAA,GAAAtO,cAAA,CAAAqO,KAAA;MAAEE,MAAM,GAAAD,KAAA;MAAEnN,MAAM,GAAAmN,KAAA;IAAA,OAAM5S,MAAM,CAACyF,MAAM,CAACA,MAAM,CAAC,CAACD,IAAI,CAACsN,OAAO,CAAC;EAAA,EAAC;EAExH,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxB,IAAIhF,KAAK,GAAGhD,aAAa;IACzB,IAAI,CAACvF,IAAI,CAACC,MAAM,CAACmI,MAAM,CAACG,KAAK,CAAC,CAAC,EAAE+E,OAAO,CAAC,EAAE;MACzC/E,KAAK,GAAGyE,oBAAoB;MAC5BxH,gBAAgB,CAAC+C,KAAK,CAAC;IACzB;IAEAiF,QAAQ,CAACjF,KAAK,CAAC;EACjB,CAAC;EAED,IAAMkF,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxB,IAAIvM,aAAa,CAACkH,MAAM,CAAC,EAAE;MACzB,OAAO1F,QAAQ,YAAA4J,MAAA,CAAYnE,qBAAqB,GAAG,QAAQ,GAAG,iBAAiB,CAAE,CAAC;IACpF;IAEAoF,WAAW,CAAC,CAAC;IACbvH,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,IAAMwH,QAAQ,GAAG,SAAXA,QAAQA,CAAIjF,KAAK,EAAK;IAC1BwE,UAAU,CAAC,YAAM;MACf,IAAMW,aAAa,GAAG,CACpB;QAAEC,GAAG,EAAE,aAAa;QAAEC,SAAS,EAAE,aAAa;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,OAAQpB,QAAQ,CAACqB,cAAc,CAAC,sBAAsB,CAAC;QAAA;MAAC,CAAC,EACnH;QAAEH,GAAG,EAAE,aAAa;QAAEC,SAAS,EAAE,aAAa;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,OAAQpB,QAAQ,CAACqB,cAAc,CAAC,aAAa,CAAC;QAAA;MAAC,CAAC,EAC1G;QAAEH,GAAG,EAAE,SAAS;QAAEC,SAAS,EAAE,SAAS;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,IAAAE,qBAAA;UAAA,QAAAA,qBAAA,GAAQtB,QAAQ,CAACqB,cAAc,CAAC,mBAAmB,CAAC,cAAAC,qBAAA,gBAAAA,qBAAA,GAA5CA,qBAAA,CAA8CC,aAAa,cAAAD,qBAAA,uBAA3DA,qBAAA,CAA6DC,aAAa;QAAA;MAAC,CAAC,EACtI;QAAEL,GAAG,EAAE,kBAAkB;QAAEC,SAAS,EAAE,kCAAkC;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,OAAQpB,QAAQ,CAACqB,cAAc,CAAC,wCAAwC,CAAC;QAAA;MAAC,CAAC,EAC/J;QAAEH,GAAG,EAAE,aAAa;QAAEC,SAAS,EAAE,6BAA6B;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,OAAQpB,QAAQ,CAACqB,cAAc,CAAC,qCAAqC,CAAC;QAAA;MAAC,CAAC,EAClJ;QAAEH,GAAG,EAAE,mBAAmB;QAAEC,SAAS,EAAE,6BAA6B;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,OAAQpB,QAAQ,CAACqB,cAAc,CAAC,qCAAqC,CAAC;QAAA;MAAC,CAAC,EACxJ;QAAEH,GAAG,EAAE,YAAY;QAAEC,SAAS,EAAE,4BAA4B;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,OAAQpB,QAAQ,CAACqB,cAAc,CAAC,kCAAkC,CAAC;QAAA;MAAC,CAAC,EAC7I;QAAEH,GAAG,EAAE,gBAAgB;QAAEC,SAAS,EAAE,eAAe;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,IAAAI,sBAAA;UAAA,QAAAA,sBAAA,GAAQxB,QAAQ,CAACqB,cAAc,CAAC,gBAAgB,CAAC,cAAAG,sBAAA,gBAAAA,sBAAA,GAAzCA,sBAAA,CAA2CD,aAAa,cAAAC,sBAAA,uBAAxDA,sBAAA,CAA0DD,aAAa;QAAA;MAAC,CAAC,EAChJ;QAAEL,GAAG,EAAE,aAAa;QAAEC,SAAS,EAAE,aAAa;QAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAA;UAAA,IAAAK,sBAAA;UAAA,QAAAA,sBAAA,GAAQzB,QAAQ,CAACqB,cAAc,CAAC,aAAa,CAAC,cAAAI,sBAAA,gBAAAA,sBAAA,GAAtCA,sBAAA,CAAwCF,aAAa,cAAAE,sBAAA,uBAArDA,sBAAA,CAAuDF,aAAa;QAAA;MAAC,CAAC,CACzI;MAED,IAAMG,QAAQ,GAAG/F,MAAM,CAACG,KAAK,CAAC;MAC9B,SAAA6F,EAAA,MAAAC,cAAA,GAA6CX,aAAa,EAAAU,EAAA,GAAAC,cAAA,CAAAlT,MAAA,EAAAiT,EAAA,IAAE;QAAvD,IAAAE,iBAAA,GAAAD,cAAA,CAAAD,EAAA;UAAQT,GAAG,GAAAW,iBAAA,CAAHX,GAAG;UAAEC,SAAS,GAAAU,iBAAA,CAATV,SAAS;UAAEC,UAAU,GAAAS,iBAAA,CAAVT,UAAU;QACrC,IAAIM,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGR,GAAG,CAAC,EAAE;UAAA,IAAAY,aAAA;UACnB,CAAAA,aAAA,GAAA5K,IAAI,CAACG,OAAO,cAAAyK,aAAA,gBAAAA,aAAA,GAAZA,aAAA,CAAcC,QAAQ,cAAAD,aAAA,eAAtBA,aAAA,CAAwBE,eAAe,CAACb,SAAS,EAAE,IAAI,CAAC;UAExD,IAAMc,OAAO,GAAGb,UAAU,CAAC,CAAC;UAC5B,IAAIa,OAAO,EAAEA,OAAO,CAACC,KAAK,CAAC,CAAC;UAE5B;QACF;MACF;IACF,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIrG,KAAK,EAAE2C,OAAO,EAAK;IACjD,IAAQ2D,QAAQ,GAAK9L,SAAS,CAACwC,aAAa,CAAC,CAArCsJ,QAAQ;IAEhB9L,SAAS,CAACwC,aAAa,CAAC,GAAApH,aAAA,CAAAA,aAAA,KACnB4E,SAAS,CAACwC,aAAa,CAAC;MAC3BsJ,QAAQ,EAAEA,QAAQ,CAAC7Q,MAAM,CAAC,UAACpD,CAAC;QAAA,OAAKA,CAAC,CAACmQ,EAAE,KAAKG,OAAO,CAACH,EAAE;MAAA;IAAC,EACtD;IACD,IAAIjL,OAAO,CAACiD,SAAS,CAACwC,aAAa,CAAC,CAACsJ,QAAQ,CAAC,EAAE;MAC9C9L,SAAS,CAACwC,aAAa,CAAC,GAAG,IAAI;IACjC;IAEAxC,SAAS,CAACwF,KAAK,CAAC,GAAApK,aAAA,CAAAA,aAAA,KACX4E,SAAS,CAACwF,KAAK,CAAC;MACnBsG,QAAQ,KAAAvC,MAAA,CAAAlP,kBAAA,CAAM2F,SAAS,CAACwF,KAAK,CAAC,CAACsG,QAAQ,IAAE3D,OAAO;IAAC,EAClD;IAED,IAAM3B,SAAS,GAAGpI,kBAAkB,CAACiH,MAAM,EAAE7C,aAAa,CAAC;IAC3DK,cAAc,CAAC2D,SAAS,CAAC;IAEzB3G,QAAQ,CAACpC,OAAO,CAAC;MACfuC,SAAS,EAAE5C,OAAO,CAAC4C,SAAS;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAM+L,QAAQ,GAAGvJ,aAAa,GAAGgD,KAAK,GAAGA,KAAK,GAAG,CAAC,GAAGA,KAAK;IAC1D/C,gBAAgB,CAACsJ,QAAQ,CAAC;EAC5B,CAAC;EAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI7D,OAAO,EAAK;IACrC,IAAML,QAAQ,GAAG9H,SAAS,CAACwC,aAAa,CAAC;IACzCsF,QAAQ,CAACgE,QAAQ,GAAGhE,QAAQ,CAACgE,QAAQ,CAAC7Q,MAAM,CAAC,UAACpD,CAAC;MAAA,OAAKA,CAAC,CAACmQ,EAAE,KAAKG,OAAO,CAACH,EAAE;IAAA,EAAC;IAExE,IAAMiE,WAAW,GAAA7Q,aAAA,CAAAA,aAAA,KACZ0M,QAAQ;MACXgE,QAAQ,EAAE,CAAC3D,OAAO,CAAC;MACnBtC,WAAW,EAAE;IAAE,EAChB;IAED,IAAMqG,YAAY,MAAA3C,MAAA,CAAAlP,kBAAA,CAAO2F,SAAS,IAAEiM,WAAW,EAAC;IAEhDpM,QAAQ,CAACpC,OAAO,CAAC;MACfuC,SAAS,EAAEkM;IACb,CAAC,CAAC,CAAC;IAEHzJ,gBAAgB,CAACyJ,YAAY,CAAC9T,MAAM,GAAG,CAAC,CAAC;EAC3C,CAAC;EAED,IAAM+T,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,WAAW,EAAEjF,SAAS,EAAEC,SAAS,EAAK;IAC3D,IAAMU,QAAQ,GAAG9H,SAAS,CAACwC,aAAa,CAAC;IACzC,IAAMyJ,WAAW,GAAGvN,qBAAqB,CAAC;MAAEoJ,QAAQ,EAARA,QAAQ;MAAEsE,WAAW,EAAXA,WAAW;MAAEjF,SAAS,EAATA,SAAS;MAAEC,SAAS,EAATA;IAAU,CAAC,CAAC;IAE1FpH,SAAS,CAACwC,aAAa,CAAC,GAAGyJ,WAAW,GAAA7Q,aAAA,KACjC6Q,WAAW,IACZ,IAAI;IAER,IAAMC,YAAY,GAAG9O,OAAO,CAAC4C,SAAS,CAAC;IACvC,IAAMqM,mBAAmB,GAAGH,YAAY,CAAChE,OAAO,CAAC,UAACpR,CAAC;MAAA,OAAKA,CAAC,CAACgV,QAAQ;IAAA,EAAC;IACnE,IAAMQ,mBAAmB,GAAGnP,cAAc,CAAC8C,gBAAgB,EAAEoM,mBAAmB,EAAE,IAAI,CAAC;IAEvFxM,QAAQ,CAACpC,OAAO,CAAC;MACfuC,SAAS,EAAA3F,kBAAA,CAAM6R,YAAY,CAAC;MAC5BjM,gBAAgB,EAAA5F,kBAAA,CAAMiS,mBAAmB;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAACtM,SAAS,CAACwC,aAAa,CAAC,EAAE;MAC7B,IAAMgE,SAAS,GAAGpI,kBAAkB,CAACiH,MAAM,EAAE7C,aAAa,CAAC;MAC3DK,cAAc,CAAC2D,SAAS,CAAC;MACzB/D,gBAAgB,CAAC,CAAC,CAAC;IACrB;EACF,CAAC;EAED,IAAM8J,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,WAAW,EAAK;IACzCxM,SAAS,CAACwC,aAAa,CAAC,GAAApH,aAAA,CAAAA,aAAA,KACnB4E,SAAS,CAACwC,aAAa,CAAC;MAC3BgK,WAAW,EAAXA;IAAW,EACZ;IAED3M,QAAQ,CAACpC,OAAO,CAAC;MACfuC,SAAS,EAATA;IACF,CAAC,CAAC,CAAC;EACL,CAAC;EAED,IAAMyM,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACzB,IAAI5N,SAAS,CAAC6N,cAAc,EAAE;MAC5B7N,SAAS,CAAC6N,cAAc,CAACnL,yBAAyB,GAAG;QAAEb,UAAU,EAAVA,UAAU;QAAEF,mBAAmB,EAAnBA;MAAoB,CAAC,GAAG;QAAEA,mBAAmB,EAAnBA;MAAoB,CAAC,CAAC;IACrH,CAAC,MAAM;MACLb,QAAQ,CAAC,CAAC,CAAC,CAAC;IACd;EACF,CAAC;EACD,IAAMgN,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA;IAAA,OAAS9N,SAAS,CAAC+N,wBAAwB,CAAC,CAAC;EAAA;EAEzE,IAAMC,eAAe,GAAGjO,kBAAkB,CAAC,CAAC;EAC5C,IAAMkO,uBAAuB;IAAA,IAAAC,KAAA,GAAA/S,iBAAA,cAAAgT,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QAAA;MAAA,IAAAC,mBAAA;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAA9Q,IAAA;UAAA;YAC9B6G,mBAAmB,CAAC,IAAI,CAAC;YAAC,KACtBlF,aAAa,CAACkH,MAAM,CAAC;cAAAiI,QAAA,CAAA9Q,IAAA;cAAA;YAAA;YAAA8Q,QAAA,CAAA9Q,IAAA;YAAA,OACjBqQ,eAAe,CAAC;cAAEW,KAAK,EAAE;YAAK,CAAC,CAAC;UAAA;YAC9BL,mBAAmB,GAAKtO,SAAS,CAAjCsO,mBAAmB;YAC3BA,mBAAmB,IAAIA,mBAAmB,CAAC,CAAC;YAC5CtO,SAAS,CAAC4O,MAAM,CAACC,OAAO,CAAC,mCAAmC,CAAC;YAACJ,QAAA,CAAA9Q,IAAA;YAAA;UAAA;YAE9DgO,WAAW,CAAC,CAAC;UAAC;UAAA;YAAA,OAAA8C,QAAA,CAAAK,IAAA;QAAA;MAAA,GAAAT,OAAA;IAAA,CAEjB;IAAA,gBAVKJ,uBAAuBA,CAAA;MAAA,OAAAC,KAAA,CAAA7S,KAAA,OAAAD,SAAA;IAAA;EAAA,GAU5B;EAED,IAAM4O,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAA,EAAS;IACpCpF,sBAAsB,CAAC,CAACD,mBAAmB,CAAC;EAC9C,CAAC;EAED,IAAMoK,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;IACxB,OAAOzI,kBAAkB,IAAI,CAACP,WAAW,GAAI,OAAO,GAAG,GAAG;EAC3D,CAAC;EAED,IAAIqC,SAAS,EAAE,oBAAOxK,KAAA,CAAAoR,aAAA,CAAClP,OAAO;IAACmP,MAAM;EAAA,CAAE,CAAC;EAExC,IAAMC,gBAAgB,GAAGhQ,mBAAmB,CAACiC,SAAS,EAAE6J,WAAW,CAAC,CAAC,CAAC;EACtE,IAAMmE,yBAAyB,GAAGhO,SAAS,CAACsH,GAAG,CAAC,UAACP,SAAS,EAAEvB,KAAK;IAAA,OAAKA,KAAK;EAAA,EAAC,CAACvK,MAAM,CAAC,UAACuK,KAAK;IAAA,OAAKA,KAAK,KAAKhD,aAAa;EAAA,EAAC;EACvH,IAAMyL,WAAW,GAAGjO,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEkI,OAAO,CAAC,UAACpR,CAAC;IAAA,OAAKA,CAAC,CAACgV,QAAQ;EAAA,EAAC;EACzD,IAAMoC,YAAY,GAAGjQ,oBAAoB,CAACoH,MAAM,CAAC;EACjD,IAAM8I,eAAe,GAAGtE,WAAW,CAAC,CAAC;EAErC,IAAMuE,sBAAsB,GAAGpP,UAAU,CAAC;IACxC,cAAc,EAAE4F,WAAW;IAC3B,cAAc,EAAE,CAACA;EACnB,CAAC,CAAC;EAEF,IAAMyJ,sBAAsB,GAAGrP,UAAU,CAAC;IACxC,cAAc,EAAE4F,WAAW;IAC3B,2BAA2B,EAAE,CAACA;EAChC,CAAC,CAAC;EAEF,IAAM0J,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAA,EAAS;IAClC,IAAMC,wBAAwB,GAAG5M,aAAa,CAAC1G,MAAM,CAAC,UAACyK,OAAO,EAAK;MAAE,OAAOA,OAAO,CAAC6B,QAAQ;IAAC,CAAC,CAAC;IAC/F,IAAMiH,2BAA2B,GAAG7M,aAAa,CAAC1G,MAAM,CAAC,UAACyK,OAAO,EAAK;MAAE,OAAO,CAACA,OAAO,CAAC6B,QAAQ;IAAC,CAAC,CAAC;IACnG,IAAM8B,gBAAgB,GAAGhL,kCAAkC,CAAC2B,SAAS,EAAEuO,wBAAwB,CAAC;IAEhG,IAAMzH,UAAU,GAAG9I,wBAAwB,CAACqL,gBAAgB,EAAE/H,cAAc,EAAEE,eAAe,CAAC;IAC9FqB,cAAc,CAACiE,UAAU,CAAC;IAE1BjH,QAAQ,CAACpC,OAAO,CAAC;MACfuC,SAAS,EAAEqJ;IACb,CAAC,CAAC,CAAC;IAEHmF,2BAA2B,CAACnT,OAAO,CAAC,UAACqK,OAAO,EAAK;MAC/C7G,SAAS,CAAC4P,iBAAiB,CAAC;QAC1BzG,EAAE,EAAEtC,OAAO,CAACyB,SAAS;QACrBzB,OAAO,EAAEA,OAAO,CAAC0B;MACnB,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFnG,8BAA8B,CAAC,CAAC;EAClC,CAAC;EAED,oBACExE,KAAA,CAAAoR,aAAA,CAACtP,uBAAuB,qBACtB9B,KAAA,CAAAoR,aAAA;IAAKa,SAAS,EAAC;EAAO,gBACpBjS,KAAA,CAAAoR,aAAA,CAAClQ,UAAU;IAACgR,MAAM,EAAEzJ;EAAqB,GACtC9F,4BAA4B,eAC7B3C,KAAA,CAAAoR,aAAA,WAAK,CAAC,eACNpR,KAAA,CAAAoR,aAAA,CAACtQ,MAAM;IACLqR,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAE/F,gBAAiB;IAC1BgG,SAAS,EAAE,SAAXA,SAASA,CAAGC,KAAK;MAAA,OAAK1P,aAAa,CAAC0P,KAAK,EAAEjG,gBAAgB,CAAC;IAAA,CAAC;IAC7D,iBAAe/G,gCAAiC;IAChDiN,KAAK,EAAC,2CAA2C;IACjDC,IAAI;EAAA,CACL,CACS,CAAC,eAEbxS,KAAA,CAAAoR,aAAA,CAACvO,0BAA0B;IAAC4P,GAAG,EAAElG,QAAS;IAACmG,OAAO,EAAEpG;EAA6B,CAAE,CAAC,EAEnF1H,6BAA6B,IAAIc,+BAA+B,iBAC/D1F,KAAA,CAAAoR,aAAA,CAAC1O,yBAAyB;IACxB+B,WAAW,EAAED,8BAA+B;IAC5C6K,QAAQ,EAAE7L,gBAAiB;IAC3BD,SAAS,EAAEA,SAAU;IACrBoP,QAAQ,EAAEvO,4BAA6B;IACvC2G,eAAe,EAAEA,eAAgB;IACjC6H,SAAS,EAAEf,qBAAsB;IACjCgB,wBAAwB,EAAEpI,4BAA6B;IACvDvF,aAAa,EAAEA;EAAc,CAC9B,CACF,eACDlF,KAAA,CAAAoR,aAAA,CAAApR,KAAA,CAAA8S,QAAA,qBACE9S,KAAA,CAAAoR,aAAA,CAACrP,UAAU;IACTgR,WAAW,EAAE/C,YAAa;IAC1BgD,cAAc,EAAE/E,WAAY;IAC5ByC,mBAAmB,EAAEL,uBAAwB;IAC7C4C,YAAY,EAAC,MAAM;IACnBC,kBAAkB,EAAE5S,OAAO,CAACiD,SAAS,CAAE;IACvC4P,iBAAiB,EAAE5S,GAAG,CAACoD,YAAY,EAAE,mBAAmB,CAAE;IAC1DlC,uBAAuB,EAAEA,uBAAuB,CAAC8B,SAAS,CAAE;IAC5DiF,gBAAgB,EAAEA,gBAAiB;IACnC7D,8BAA8B,EAAEA,8BAA+B;IAC/DgE,qBAAqB,EAAEA;EAAsB,CAC9C,CAAC,EAGA,CAACrI,OAAO,CAACkR,WAAW,CAAC,gBACnBxR,KAAA,CAAAoR,aAAA;IAAKa,SAAS,EAAC;EAAuC,GAEjDR,YAAY,KAAKlL,WAAW,IAAII,gBAAgB,CAAC,gBAChD3G,KAAA,CAAAoR,aAAA;IAAKa,SAAS,EAAC;EAAkB,gBAC/BjS,KAAA,CAAAoR,aAAA,CAACrQ,IAAI;IAACqS,IAAI,EAAC,YAAY;IAACC,KAAK,EAAC,KAAK;IAACpB,SAAS,EAAC;EAAY,CAAE,CAAC,eAC7DjS,KAAA,CAAAoR,aAAA;IAAGa,SAAS,EAAC;EAAU,GAAER,YAAgB,CACtC,CAAC,GACJ,IAAI,eAEVzR,KAAA,CAAAoR,aAAA;IAAKa,SAAS,2BAAAnF,MAAA,CAA2B8E,sBAAsB;EAAG,gBAChE5R,KAAA,CAAAoR,aAAA;IAAK7F,EAAE,EAAC,gBAAgB;IACtB0G,SAAS,6DAAAnF,MAAA,CAA6DqE,UAAU,CAAC,CAAC,4BAAArE,MAAA,CAChF/F,mBAAmB,GAAG,sCAAsC,GAAG,mBAAmB;EAAG,gBACvF/G,KAAA,CAAAoR,aAAA;IAAKa,SAAS,EAAC;EAAY,gBACzBjS,KAAA,CAAAoR,aAAA;IAAKa,SAAS,EAAC;EAA+B,gBAC5CjS,KAAA,CAAAoR,aAAA,2BACEpR,KAAA,CAAAoR,aAAA;IAAIa,SAAS,EAAC;EAAyB,GAAC,WAEpC,CACD,CAAC,eACNjS,KAAA,CAAAoR,aAAA;IAAKa,SAAS,EAAEN;EAAuB,gBACrC3R,KAAA,CAAAoR,aAAA,CAACrQ,IAAI;IACHqS,IAAI,EAAC,cAAc;IACnBE,SAAS,EAAEvM,mBAAmB,GAAG,MAAM,GAAG,OAAQ;IAClDwM,SAAS,EAAExM,mBAAmB,GAAG,kBAAkB,GAAG,gBAAiB;IACvEkL,SAAS,EAAC,SAAS;IACnBG,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQhG,uBAAuB,CAAC,CAAC;IAAA;EAAC,CAC1C,CACE,CACF,CAAC,EACL7I,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEsH,GAAG,CAAC,UAACQ,QAAQ,EAAEtC,KAAK;IAAA,oBAC9B/I,KAAA,CAAAoR,aAAA;MAAKa,SAAS,EAAC,MAAM;MAAC9D,GAAG,mBAAArB,MAAA,CAAmB/D,KAAK;IAAW,gBAC1D/I,KAAA,CAAAoR,aAAA,CAACjQ,YAAY;MACXkK,QAAQ,EAAEA,QAAS;MACnBtC,KAAK,EAAEA,KAAM;MACbhD,aAAa,EAAEA,aAAc;MAC7BqM,OAAO,EAAE1F,mBAAoB;MAC7B9D,MAAM,EAAEA,MAAM,CAACG,KAAK,CAAE;MACtBhC,mBAAmB,EAAEA,mBAAoB;MACzCoB,WAAW,EAAEA;IAAY,CAC1B,CACE,CAAC;EAAA,CACP,CACE,CACF,CAAC,EAEJ,CAAC7H,OAAO,CAACC,GAAG,CAACmR,eAAe,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,gBAC5C1R,KAAA,CAAAoR,aAAA,CAAChQ,mBAAmB;IAClBuD,8BAA8B,EAAEA,8BAA+B;IAC/DlB,eAAe,EAAEA,eAAgB;IACjCC,eAAe,EAAEA,eAAgB;IACjC8E,gBAAgB,EAAEA,gBAAiB;IACnC0H,sBAAsB,EAAEA,sBAAuB;IAC/C7E,QAAQ,EAAEqG,eAAgB;IAC1BnO,SAAS,EAAEA,SAAU;IACrB+N,gBAAgB,EAAEA,gBAAiB;IACnCvI,KAAK,EAAEhD,aAAc;IACrByN,QAAQ,EAAEnG,kBAAmB;IAC7BoG,UAAU,EAAElC,yBAA0B;IACtC7B,aAAa,EAAEA,aAAc;IAC7BgE,SAAS,EAAE,SAAXA,SAASA,CAAGC,OAAO,EAAK;MAAExP,IAAI,CAACG,OAAO,GAAGqP,OAAO;IAAE,CAAE;IACpDpE,iBAAiB,EAAEA,iBAAkB;IACrCH,sBAAsB,EAAEA,sBAAuB;IAC/CU,iBAAiB,EAAEA,iBAAkB;IACrClM,MAAM,EAAEA,MAAO;IACf0E,uBAAuB,EAAEA,uBAAwB;IACjDuB,iBAAiB,EAAEA,iBAAkB;IACrC9F,mBAAmB,EAAEA,mBAAoB;IACzCgD,mBAAmB,EAAEA,mBAAoB;IACzClD,MAAM,EAAEA;EAAO,CAChB,CAAC,GACA,IAEH,CACF,CAAC,gBAEN7D,KAAA,CAAAoR,aAAA,CAACpP,kBAAkB;IACjB2C,8BAA8B,EAAEA,8BAA+B;IAC/D6D,gBAAgB,EAAEA,gBAAiB;IACnC0H,sBAAsB,EAAEA,sBAAuB;IAC/CkC,OAAO,EAAEpC;EAAa,CACvB,CACF,eAGHhQ,KAAA,CAAAoR,aAAA,CAACrP,UAAU;IACTgR,WAAW,EAAE/C,YAAa;IAC1BgD,cAAc,EAAE/E,WAAY;IAC5ByC,mBAAmB,EAAEL,uBAAwB;IAC7C4C,YAAY,EAAC,MAAM;IACnBC,kBAAkB,EAAE5S,OAAO,CAACiD,SAAS,CAAE;IACvC4P,iBAAiB,EAAE5S,GAAG,CAACoD,YAAY,EAAE,mBAAmB,CAAE;IAC1D6E,gBAAgB,EAAEA,gBAAiB;IACnC/G,uBAAuB,EAAEA,uBAAuB,CAAC8B,SAAS,CAAE;IAC5DoB,8BAA8B,EAAEA,8BAA+B;IAC/DgE,qBAAqB,EAAEA;EAAsB,CAC9C,CACD,CACC,CACkB,CAAC;AAE9B","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export var REFERRAL_BUILDER_DESCRIPTION = "
|
|
1
|
+
export var REFERRAL_BUILDER_DESCRIPTION = "We automatically group compatible referrals.\n Reorganize referrals based on your client's needs, \n add referral descriptions, and upload any attachments. ";
|
|
2
2
|
export var SUPPORTING_INFO = "Provide supporting information to help\n quickly connect your client with services.";
|
|
3
3
|
export var ON_PLATFORM_REFERRALS = "An on-platform program uses Unite Us, just like you. \n If you send them a referral, then can accept, reject, or forward it using Unite Us.";
|
|
4
4
|
export var OFF_PLATFORM_REFERRALS = "An off-platform program doesn't use Unite Us yet. \n If you send them a referral, you must contact them directly to request services, share\n their information with your client, and document the outcome in Unite Us.";
|
|
5
5
|
export var GROUPED_REFERRALS_EXPLANATION = "With grouped referrals, you can send referrals\n to multiple, on-platform programs at once. Whoever accepts the referral first works with\n the client and the rest of the referrals are recalled. To be grouped, referrals must\n have the same: ";
|
|
6
6
|
export var UNGROUP_REFERRAL_EXPLANATION = "We automatically group compatible referrals for \n you. You can ungroup referrals by clicking the three-dot icon next to any program and move\n it to a new referral.";
|
|
7
7
|
export var GROUPED_REFERRAL_MUST_HAVE_SAME = ['Service type', 'Program status (on- or off-platform)', 'Authorization (required or not)'];
|
|
8
|
-
export var REFERRAL_PII_PHI_DESCRIPTION = "
|
|
8
|
+
export var REFERRAL_PII_PHI_DESCRIPTION = "Include personally identifiable information (PII), protected health information (PHI), or other sensitive information only if it's necessary to provide services.";
|
|
9
9
|
export var REFERRAL_SENT_SUCCESS = "We've saved these referred programs to the Resources tab on the client's profile.";
|
|
10
10
|
export var OFF_PLATFORM_REFERRALS_ONLY = 'off-platform referrals only';
|
|
11
11
|
export var ROLE_KEYS = ['case_manager', 'referrals_user', 'referrals_admin', 'oversight', 'org_admin'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["REFERRAL_BUILDER_DESCRIPTION","SUPPORTING_INFO","ON_PLATFORM_REFERRALS","OFF_PLATFORM_REFERRALS","GROUPED_REFERRALS_EXPLANATION","UNGROUP_REFERRAL_EXPLANATION","GROUPED_REFERRAL_MUST_HAVE_SAME","REFERRAL_PII_PHI_DESCRIPTION","REFERRAL_SENT_SUCCESS","OFF_PLATFORM_REFERRALS_ONLY","ROLE_KEYS","NEXT_STEPS"],"sources":["../../../src/pages/builder/constants.js"],"sourcesContent":["export const REFERRAL_BUILDER_DESCRIPTION = `
|
|
1
|
+
{"version":3,"file":"constants.js","names":["REFERRAL_BUILDER_DESCRIPTION","SUPPORTING_INFO","ON_PLATFORM_REFERRALS","OFF_PLATFORM_REFERRALS","GROUPED_REFERRALS_EXPLANATION","UNGROUP_REFERRAL_EXPLANATION","GROUPED_REFERRAL_MUST_HAVE_SAME","REFERRAL_PII_PHI_DESCRIPTION","REFERRAL_SENT_SUCCESS","OFF_PLATFORM_REFERRALS_ONLY","ROLE_KEYS","NEXT_STEPS"],"sources":["../../../src/pages/builder/constants.js"],"sourcesContent":["export const REFERRAL_BUILDER_DESCRIPTION = `We automatically group compatible referrals.\n Reorganize referrals based on your client's needs, \n add referral descriptions, and upload any attachments. `;\n\nexport const SUPPORTING_INFO = `Provide supporting information to help\n quickly connect your client with services.`;\n\nexport const ON_PLATFORM_REFERRALS = `An on-platform program uses Unite Us, just like you. \n If you send them a referral, then can accept, reject, or forward it using Unite Us.`;\n\nexport const OFF_PLATFORM_REFERRALS = `An off-platform program doesn't use Unite Us yet. \n If you send them a referral, you must contact them directly to request services, share\n their information with your client, and document the outcome in Unite Us.`;\n\nexport const GROUPED_REFERRALS_EXPLANATION = `With grouped referrals, you can send referrals\n to multiple, on-platform programs at once. Whoever accepts the referral first works with\n the client and the rest of the referrals are recalled. To be grouped, referrals must\n have the same: `;\n\nexport const UNGROUP_REFERRAL_EXPLANATION = `We automatically group compatible referrals for \n you. You can ungroup referrals by clicking the three-dot icon next to any program and move\n it to a new referral.`;\n\nexport const GROUPED_REFERRAL_MUST_HAVE_SAME = ['Service type', 'Program status (on- or off-platform)', 'Authorization (required or not)'];\n\nexport const REFERRAL_PII_PHI_DESCRIPTION = \"Include personally identifiable information (PII), protected health information (PHI), or other sensitive information only if it's necessary to provide services.\";\n\nexport const REFERRAL_SENT_SUCCESS = `We've saved these referred programs to the Resources tab on the client's profile.`;\n\nexport const OFF_PLATFORM_REFERRALS_ONLY = 'off-platform referrals only';\n\nexport const ROLE_KEYS = ['case_manager', 'referrals_user', 'referrals_admin', 'oversight', 'org_admin'];\n\nexport const NEXT_STEPS = ['Share these resources with the client by text, email, or print.',\n 'Confirm whether any on-platform referrals have been accepted by any organizations.',\n 'Contact any off-platform programs directly, follow up with your client, and update the case.'];\n"],"mappings":"AAAA,OAAO,IAAMA,4BAA4B,mKAEiB;AAE1D,OAAO,IAAMC,eAAe,yFACiB;AAE7C,OAAO,IAAMC,qBAAqB,iJACoD;AAEtF,OAAO,IAAMC,sBAAsB,8NAEyC;AAE5E,OAAO,IAAMC,6BAA6B,0PAGxB;AAElB,OAAO,IAAMC,4BAA4B,4KAEjB;AAExB,OAAO,IAAMC,+BAA+B,GAAG,CAAC,cAAc,EAAE,sCAAsC,EAAE,iCAAiC,CAAC;AAE1I,OAAO,IAAMC,4BAA4B,GAAG,mKAAmK;AAE/M,OAAO,IAAMC,qBAAqB,sFAAsF;AAExH,OAAO,IAAMC,2BAA2B,GAAG,6BAA6B;AAExE,OAAO,IAAMC,SAAS,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,CAAC;AAExG,OAAO,IAAMC,UAAU,GAAG,CAAC,iEAAiE,EAC1F,oFAAoF,EACpF,8FAA8F,CAAC","ignoreList":[]}
|
|
@@ -142,12 +142,12 @@ export var getProgramStatusDisplay = function getProgramStatusDisplay(isReceivin
|
|
|
142
142
|
};
|
|
143
143
|
export var getReferralSubtitle = function getReferralSubtitle(referrals, selected) {
|
|
144
144
|
if (selected && referralIsOON(selected)) {
|
|
145
|
-
return 'The case manager
|
|
145
|
+
return 'The case manager is responsible for following up with the client.';
|
|
146
146
|
}
|
|
147
147
|
if (referrals && referrals.length > 1 && referralIsGrouped(selected)) {
|
|
148
148
|
return 'The first recipient to accept the referral will become the case manager.';
|
|
149
149
|
}
|
|
150
|
-
return 'The recipient
|
|
150
|
+
return 'The recipient can accept, reject, or forward this referral.';
|
|
151
151
|
};
|
|
152
152
|
export var initializeReferralErrors = function initializeReferralErrors(referrals, showOpenedDate, showClientNeeds) {
|
|
153
153
|
var errors = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["compact","some","get","head","flatMap","intersectionBy","uniqBy","OFF_PLATFORM_REFERRALS_ONLY","mapProgramsPerService","programs","result","reduce","out","program","services","forEach","serviceId","existingService","find","item","service","push","id","buildReferral","programIds","currentProvider","draftState","_draftState$descripti","_draftState$attachmen","_draftState$network","concat","map","description","primaryWorker","attachments","paymentAuthForm","amount_requested","service_start","service_end","icd10_code","network","sendingProvider","state","case","buildReferralsFromPrograms","crtb1239AdaptDraftReferralFlow","programsByService","referrals","idx","referral","firstReferral","filterProgramsReceivingReferrals","ref","_objectSpread","filter","_program$status","receiving_referrals","status","toLowerCase","length","referralIsGrouped","programIsFunded","fee_schedule_program","referralIsFunded","every","programIsOffPlatform","_program$provider","_program$provider2","_program$status2","provider","licensed","programIsOnPlatform","_program$provider3","_program$status3","referralIsOON","getReferralStatus","grouped","funded","oon","join","getProgramStatusDisplay","isReceivingReferrals","isOON","title","icon","color","getReferralSubtitle","selected","initializeReferralErrors","showOpenedDate","showClientNeeds","errors","index","_programs$","networks","filterNetworks","authErrors","authorization_required","missingRequiredFields","trim","primary_worker","shouldShowNetworkSelect","opened_date","client_need","combinedErrors","arguments","undefined","isUnlistedProgram","generateErrorMessage","errorCount","Object","values","Boolean","prefix","sendingNetworks","receivingNetworks","hasOffPlatformReferrals","r","handleKeyPress","e","action","includes","key","addIdToUnlistedPrograms","obj","name","replace","addProgramToReferral","condition","p","programIndex","findIndex","isUnlistedReferral","_referral$programs","_p$id","startsWith","_program$id","filterProgramsUnlisted","isEmptyErrors","removeErrorByIndex","keys","Number","acc","newIndex","selectHours","locations","providerHours","getClosestLocation","loc","is_closest","closestLocationHours","hours","organizationHours","updatedReferralsBySelectedServices","selectedServices","referralsBySelectedServices","updatedReferrals","programsBySelectedServices","programId","referralsWithPrograms"],"sources":["../../../src/pages/builder/utils.js"],"sourcesContent":["import {\n compact,\n some,\n get,\n head,\n flatMap,\n intersectionBy,\n uniqBy,\n} from 'lodash';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from './constants';\n\nconst mapProgramsPerService = (programs) => {\n const result = programs.reduce((out, program) => {\n if (program.services) {\n program.services.forEach((serviceId) => {\n const existingService = out.find(item => item.service === serviceId)\n if (!existingService) {\n out.push({\n service: serviceId,\n programs: [program.id]\n })\n } else {\n existingService.programs.push(program.id)\n }\n })\n }\n return out;\n }, [])\n\n return result;\n}\n\nconst buildReferral = (programIds, service, currentProvider, draftState) => {\n return {\n programs: [].concat(programIds).map(id => ({ id })),\n service: {\n id: service\n },\n description: draftState?.description ?? '',\n primaryWorker: null,\n attachments: draftState?.attachments ?? null,\n paymentAuthForm: {\n amount_requested: null,\n service_start: null,\n service_end: null,\n icd10_code: {},\n },\n network: draftState?.network ?? null,\n sendingProvider: currentProvider,\n id: draftState?.id,\n state: draftState?.state,\n case: draftState?.case,\n }\n}\n\nexport const buildReferralsFromPrograms = (crtb1239AdaptDraftReferralFlow, programs, currentProvider, draftState) => {\n const programsByService = mapProgramsPerService(programs);\n let referrals = [];\n\n if (programsByService) {\n referrals = programsByService.map((item, idx) => {\n let referral = null;\n\n if (crtb1239AdaptDraftReferralFlow) {\n // Draft state for only the first referral\n const firstReferral = idx === 0 ? draftState : null;\n referral = buildReferral(item.programs, item.service, currentProvider, firstReferral);\n } else {\n referral = buildReferral(item.programs, item.service, currentProvider, draftState);\n }\n\n return referral;\n })\n }\n\n return referrals;\n}\n\nexport const filterProgramsReceivingReferrals = (referrals) => referrals.map((ref) => ({\n ...ref,\n programs: ref.programs.filter((program) =>\n program.receiving_referrals ||\n program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n ),\n})).filter((ref) => ref.programs.length > 0);\n\nexport const referralIsGrouped = (referral) => referral.programs.length > 1;\n\nexport const programIsFunded = (program) => program.fee_schedule_program != null;\n\nexport const referralIsFunded = (referral) => {\n return referral.programs.every(programIsFunded);\n}\n\nexport const programIsOffPlatform = (program) => (\n !program?.provider?.licensed ||\n (program?.provider?.licensed && program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY)\n);\n\nexport const programIsOnPlatform = (program) => (\n program?.provider?.licensed && program?.status?.toLowerCase() !== OFF_PLATFORM_REFERRALS_ONLY\n)\n\nexport const referralIsOON = (referral) => some(referral.programs.map((program) => programIsOffPlatform(program)));\n\nexport const getReferralStatus = (referral) => {\n const grouped = referralIsGrouped(referral) ? 'Grouped' : '';\n const funded = referralIsFunded(referral) ? 'Funded' : '';\n const oon = referralIsOON(referral) ? 'Off-Platform' : 'On-Platform';\n\n return compact([grouped, oon, funded]).join(', ');\n};\n\nexport const getProgramStatusDisplay = (isReceivingReferrals, isOON) => {\n if (isOON) { return { title: 'Receiving Off-Platform Referrals', icon: 'IconElectronsArrow', color: '' }; }\n if (isReceivingReferrals) { return { title: 'Accepting Referrals', icon: 'IconCheckCircle', color: '#1CCA21' }; }\n if (!isReceivingReferrals) { return { title: 'Not Accepting Referrals', icon: 'IconCrossCircle', color: '#E53E3E' }; }\n\n return { title: '', icon: '', color: '' }\n};\n\nexport const getReferralSubtitle = (referrals, selected) => {\n if (selected && referralIsOON(selected)) { return 'The case manager will be responsible for following up with the client.'; }\n if (referrals && referrals.length > 1 && referralIsGrouped(selected)) { return 'The first recipient to accept the referral will become the case manager.'; }\n\n return 'The recipient will be able to accept, reject, or forward this referral.';\n};\n\nexport const initializeReferralErrors = (referrals, showOpenedDate, showClientNeeds) => {\n const errors = {};\n referrals.map((referral, index) => {\n if (referral) {\n const { programs } = referral;\n const networks = filterNetworks(referral);\n\n let authErrors = {};\n if (programs[0]?.fee_schedule_program?.authorization_required) {\n authErrors = { \n amount_requested: !referral.paymentAuthForm.amount_requested,\n service_end: !referral.paymentAuthForm.service_end, \n icd10_code: !referral.paymentAuthForm.icd10_code,\n };\n };\n\n \n const missingRequiredFields = {\n description: !referral.description || referral.description.trim() === '',\n primary_worker: referralIsOON(referral) && !referral.primaryWorker,\n network: shouldShowNetworkSelect(networks, programs) && !referral.network,\n opened_date: referralIsOON(referral) && !referral?.opened_date && showOpenedDate,\n client_need: !referral.client_need && showClientNeeds,\n }\n \n const combinedErrors = {\n ...authErrors,\n ...missingRequiredFields,\n };\n \n errors[index] = combinedErrors;\n }\n return null;\n });\n\n return errors;\n};\n\nexport const shouldShowNetworkSelect = (networks = [], programs) => (networks.length > 1 && programs.length === 1) || isUnlistedProgram(programs[0]);\n\nexport const generateErrorMessage = (errors) => {\n const errorCount = Object.values(errors).flatMap(Object.values).filter(Boolean).length;\n const prefix = errorCount === 1 ? '1 action item needs' : `${errorCount} action items need`;\n return errorCount > 0 ? `${prefix} your attention before you can submit your referral(s).` : null;\n}\n\nexport const filterNetworks = (referral) => {\n const { sendingProvider, programs } = referral;\n const sendingNetworks = get(sendingProvider, 'networks');\n const receivingNetworks = flatMap(programs, (program) => get(program, 'provider.networks'))\n .filter(Boolean)\n .filter((network) => network.state === 'active');\n\n if (sendingNetworks.length === 1) { // 1 sending network and 1+ receiving networks, return sending network\n return uniqBy(receivingNetworks.filter((network) => network.id === head(sendingNetworks).id), 'id');\n } else if (receivingNetworks.length > 1) { // 2+ sending networks and 2+ receiving network, return common networks\n return intersectionBy(receivingNetworks, sendingNetworks, 'id');\n } else { // 2+ sending networks and 1 receiving network, return receiving network\n return receivingNetworks;\n }\n}\n\nexport const hasOffPlatformReferrals = (referrals) => some(referrals?.map((r) => referralIsOON(r)));\n\nexport const handleKeyPress = (e, action) => {\n if (['Enter', ' '].includes(e.key)) {\n action();\n }\n}\n\nexport const addIdToUnlistedPrograms = (programs) => {\n return programs.map((obj) => {\n if (!obj.id) {\n obj.id = `unlisted_${obj.name.replace(/\\s+/g, '').toLowerCase()}_${obj.services}`;\n obj.status = OFF_PLATFORM_REFERRALS_ONLY;\n }\n\n return obj;\n });\n};\n\nexport const addProgramToReferral = (referrals, programs, condition) => {\n referrals.forEach((referral) => {\n referral.programs = referral.programs.map((p) => {\n if (condition(p)) {\n const programIndex = programs.findIndex((program) => p.id === program.id);\n return programs[programIndex];\n }\n\n return p;\n })\n })\n};\n\nexport const isUnlistedReferral = (referral) => (\n referral?.programs?.every((p) => p.id?.startsWith('unlisted'))\n);\n\nexport const isUnlistedProgram = (program) => (\n program?.id?.startsWith('unlisted')\n);\n\nexport const filterProgramsUnlisted = (referrals) => referrals.map((ref) => ({\n ...ref,\n programs: ref.programs.filter((program) => !isUnlistedProgram(program)),\n})).filter((ref) => ref.programs.length > 0);\n\nexport const isEmptyErrors = (errors) => (\n !Object.values(errors).flatMap(Object.values).some(Boolean)\n)\n\nexport const removeErrorByIndex = (errors, index) => {\n return Object.keys(errors)\n .filter(key => Number(key) !== index)\n .reduce((acc, key, newIndex) => {\n acc[newIndex] = errors[key];\n return acc;\n }, {});\n};\n\nexport default function selectHours(locations, providerHours) {\n const getClosestLocation = locations.find((loc) => loc.is_closest);\n const closestLocationHours = getClosestLocation?.hours;\n const organizationHours = providerHours ?? {};\n return closestLocationHours ?? organizationHours;\n}\n\nexport const updatedReferralsBySelectedServices = (referrals, selectedServices) => {\n const referralsBySelectedServices = referrals.filter((referral) => {\n return selectedServices.some((service) => service.serviceId === referral.service.id);\n });\n\n const updatedReferrals = referralsBySelectedServices.map((referral) => {\n const programsBySelectedServices = referral.programs.filter((program) => {\n return selectedServices.some((service) => service.programId === program.id && service.serviceId === referral.service.id);\n });\n\n return {\n ...referral,\n programs: programsBySelectedServices,\n }\n });\n\n const referralsWithPrograms = updatedReferrals.filter((referral) => referral.programs.length > 0);\n\n return referralsWithPrograms;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["compact","some","get","head","flatMap","intersectionBy","uniqBy","OFF_PLATFORM_REFERRALS_ONLY","mapProgramsPerService","programs","result","reduce","out","program","services","forEach","serviceId","existingService","find","item","service","push","id","buildReferral","programIds","currentProvider","draftState","_draftState$descripti","_draftState$attachmen","_draftState$network","concat","map","description","primaryWorker","attachments","paymentAuthForm","amount_requested","service_start","service_end","icd10_code","network","sendingProvider","state","case","buildReferralsFromPrograms","crtb1239AdaptDraftReferralFlow","programsByService","referrals","idx","referral","firstReferral","filterProgramsReceivingReferrals","ref","_objectSpread","filter","_program$status","receiving_referrals","status","toLowerCase","length","referralIsGrouped","programIsFunded","fee_schedule_program","referralIsFunded","every","programIsOffPlatform","_program$provider","_program$provider2","_program$status2","provider","licensed","programIsOnPlatform","_program$provider3","_program$status3","referralIsOON","getReferralStatus","grouped","funded","oon","join","getProgramStatusDisplay","isReceivingReferrals","isOON","title","icon","color","getReferralSubtitle","selected","initializeReferralErrors","showOpenedDate","showClientNeeds","errors","index","_programs$","networks","filterNetworks","authErrors","authorization_required","missingRequiredFields","trim","primary_worker","shouldShowNetworkSelect","opened_date","client_need","combinedErrors","arguments","undefined","isUnlistedProgram","generateErrorMessage","errorCount","Object","values","Boolean","prefix","sendingNetworks","receivingNetworks","hasOffPlatformReferrals","r","handleKeyPress","e","action","includes","key","addIdToUnlistedPrograms","obj","name","replace","addProgramToReferral","condition","p","programIndex","findIndex","isUnlistedReferral","_referral$programs","_p$id","startsWith","_program$id","filterProgramsUnlisted","isEmptyErrors","removeErrorByIndex","keys","Number","acc","newIndex","selectHours","locations","providerHours","getClosestLocation","loc","is_closest","closestLocationHours","hours","organizationHours","updatedReferralsBySelectedServices","selectedServices","referralsBySelectedServices","updatedReferrals","programsBySelectedServices","programId","referralsWithPrograms"],"sources":["../../../src/pages/builder/utils.js"],"sourcesContent":["import {\n compact,\n some,\n get,\n head,\n flatMap,\n intersectionBy,\n uniqBy,\n} from 'lodash';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from './constants';\n\nconst mapProgramsPerService = (programs) => {\n const result = programs.reduce((out, program) => {\n if (program.services) {\n program.services.forEach((serviceId) => {\n const existingService = out.find(item => item.service === serviceId)\n if (!existingService) {\n out.push({\n service: serviceId,\n programs: [program.id]\n })\n } else {\n existingService.programs.push(program.id)\n }\n })\n }\n return out;\n }, [])\n\n return result;\n}\n\nconst buildReferral = (programIds, service, currentProvider, draftState) => {\n return {\n programs: [].concat(programIds).map(id => ({ id })),\n service: {\n id: service\n },\n description: draftState?.description ?? '',\n primaryWorker: null,\n attachments: draftState?.attachments ?? null,\n paymentAuthForm: {\n amount_requested: null,\n service_start: null,\n service_end: null,\n icd10_code: {},\n },\n network: draftState?.network ?? null,\n sendingProvider: currentProvider,\n id: draftState?.id,\n state: draftState?.state,\n case: draftState?.case,\n }\n}\n\nexport const buildReferralsFromPrograms = (crtb1239AdaptDraftReferralFlow, programs, currentProvider, draftState) => {\n const programsByService = mapProgramsPerService(programs);\n let referrals = [];\n\n if (programsByService) {\n referrals = programsByService.map((item, idx) => {\n let referral = null;\n\n if (crtb1239AdaptDraftReferralFlow) {\n // Draft state for only the first referral\n const firstReferral = idx === 0 ? draftState : null;\n referral = buildReferral(item.programs, item.service, currentProvider, firstReferral);\n } else {\n referral = buildReferral(item.programs, item.service, currentProvider, draftState);\n }\n\n return referral;\n })\n }\n\n return referrals;\n}\n\nexport const filterProgramsReceivingReferrals = (referrals) => referrals.map((ref) => ({\n ...ref,\n programs: ref.programs.filter((program) =>\n program.receiving_referrals ||\n program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n ),\n})).filter((ref) => ref.programs.length > 0);\n\nexport const referralIsGrouped = (referral) => referral.programs.length > 1;\n\nexport const programIsFunded = (program) => program.fee_schedule_program != null;\n\nexport const referralIsFunded = (referral) => {\n return referral.programs.every(programIsFunded);\n}\n\nexport const programIsOffPlatform = (program) => (\n !program?.provider?.licensed ||\n (program?.provider?.licensed && program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY)\n);\n\nexport const programIsOnPlatform = (program) => (\n program?.provider?.licensed && program?.status?.toLowerCase() !== OFF_PLATFORM_REFERRALS_ONLY\n)\n\nexport const referralIsOON = (referral) => some(referral.programs.map((program) => programIsOffPlatform(program)));\n\nexport const getReferralStatus = (referral) => {\n const grouped = referralIsGrouped(referral) ? 'Grouped' : '';\n const funded = referralIsFunded(referral) ? 'Funded' : '';\n const oon = referralIsOON(referral) ? 'Off-Platform' : 'On-Platform';\n\n return compact([grouped, oon, funded]).join(', ');\n};\n\nexport const getProgramStatusDisplay = (isReceivingReferrals, isOON) => {\n if (isOON) { return { title: 'Receiving Off-Platform Referrals', icon: 'IconElectronsArrow', color: '' }; }\n if (isReceivingReferrals) { return { title: 'Accepting Referrals', icon: 'IconCheckCircle', color: '#1CCA21' }; }\n if (!isReceivingReferrals) { return { title: 'Not Accepting Referrals', icon: 'IconCrossCircle', color: '#E53E3E' }; }\n\n return { title: '', icon: '', color: '' }\n};\n\nexport const getReferralSubtitle = (referrals, selected) => {\n if (selected && referralIsOON(selected)) { return 'The case manager is responsible for following up with the client.'; }\n if (referrals && referrals.length > 1 && referralIsGrouped(selected)) { return 'The first recipient to accept the referral will become the case manager.'; }\n\n return 'The recipient can accept, reject, or forward this referral.';\n};\n\nexport const initializeReferralErrors = (referrals, showOpenedDate, showClientNeeds) => {\n const errors = {};\n referrals.map((referral, index) => {\n if (referral) {\n const { programs } = referral;\n const networks = filterNetworks(referral);\n\n let authErrors = {};\n if (programs[0]?.fee_schedule_program?.authorization_required) {\n authErrors = { \n amount_requested: !referral.paymentAuthForm.amount_requested,\n service_end: !referral.paymentAuthForm.service_end, \n icd10_code: !referral.paymentAuthForm.icd10_code,\n };\n };\n\n \n const missingRequiredFields = {\n description: !referral.description || referral.description.trim() === '',\n primary_worker: referralIsOON(referral) && !referral.primaryWorker,\n network: shouldShowNetworkSelect(networks, programs) && !referral.network,\n opened_date: referralIsOON(referral) && !referral?.opened_date && showOpenedDate,\n client_need: !referral.client_need && showClientNeeds,\n }\n \n const combinedErrors = {\n ...authErrors,\n ...missingRequiredFields,\n };\n \n errors[index] = combinedErrors;\n }\n return null;\n });\n\n return errors;\n};\n\nexport const shouldShowNetworkSelect = (networks = [], programs) => (networks.length > 1 && programs.length === 1) || isUnlistedProgram(programs[0]);\n\nexport const generateErrorMessage = (errors) => {\n const errorCount = Object.values(errors).flatMap(Object.values).filter(Boolean).length;\n const prefix = errorCount === 1 ? '1 action item needs' : `${errorCount} action items need`;\n return errorCount > 0 ? `${prefix} your attention before you can submit your referral(s).` : null;\n}\n\nexport const filterNetworks = (referral) => {\n const { sendingProvider, programs } = referral;\n const sendingNetworks = get(sendingProvider, 'networks');\n const receivingNetworks = flatMap(programs, (program) => get(program, 'provider.networks'))\n .filter(Boolean)\n .filter((network) => network.state === 'active');\n\n if (sendingNetworks.length === 1) { // 1 sending network and 1+ receiving networks, return sending network\n return uniqBy(receivingNetworks.filter((network) => network.id === head(sendingNetworks).id), 'id');\n } else if (receivingNetworks.length > 1) { // 2+ sending networks and 2+ receiving network, return common networks\n return intersectionBy(receivingNetworks, sendingNetworks, 'id');\n } else { // 2+ sending networks and 1 receiving network, return receiving network\n return receivingNetworks;\n }\n}\n\nexport const hasOffPlatformReferrals = (referrals) => some(referrals?.map((r) => referralIsOON(r)));\n\nexport const handleKeyPress = (e, action) => {\n if (['Enter', ' '].includes(e.key)) {\n action();\n }\n}\n\nexport const addIdToUnlistedPrograms = (programs) => {\n return programs.map((obj) => {\n if (!obj.id) {\n obj.id = `unlisted_${obj.name.replace(/\\s+/g, '').toLowerCase()}_${obj.services}`;\n obj.status = OFF_PLATFORM_REFERRALS_ONLY;\n }\n\n return obj;\n });\n};\n\nexport const addProgramToReferral = (referrals, programs, condition) => {\n referrals.forEach((referral) => {\n referral.programs = referral.programs.map((p) => {\n if (condition(p)) {\n const programIndex = programs.findIndex((program) => p.id === program.id);\n return programs[programIndex];\n }\n\n return p;\n })\n })\n};\n\nexport const isUnlistedReferral = (referral) => (\n referral?.programs?.every((p) => p.id?.startsWith('unlisted'))\n);\n\nexport const isUnlistedProgram = (program) => (\n program?.id?.startsWith('unlisted')\n);\n\nexport const filterProgramsUnlisted = (referrals) => referrals.map((ref) => ({\n ...ref,\n programs: ref.programs.filter((program) => !isUnlistedProgram(program)),\n})).filter((ref) => ref.programs.length > 0);\n\nexport const isEmptyErrors = (errors) => (\n !Object.values(errors).flatMap(Object.values).some(Boolean)\n)\n\nexport const removeErrorByIndex = (errors, index) => {\n return Object.keys(errors)\n .filter(key => Number(key) !== index)\n .reduce((acc, key, newIndex) => {\n acc[newIndex] = errors[key];\n return acc;\n }, {});\n};\n\nexport default function selectHours(locations, providerHours) {\n const getClosestLocation = locations.find((loc) => loc.is_closest);\n const closestLocationHours = getClosestLocation?.hours;\n const organizationHours = providerHours ?? {};\n return closestLocationHours ?? organizationHours;\n}\n\nexport const updatedReferralsBySelectedServices = (referrals, selectedServices) => {\n const referralsBySelectedServices = referrals.filter((referral) => {\n return selectedServices.some((service) => service.serviceId === referral.service.id);\n });\n\n const updatedReferrals = referralsBySelectedServices.map((referral) => {\n const programsBySelectedServices = referral.programs.filter((program) => {\n return selectedServices.some((service) => service.programId === program.id && service.serviceId === referral.service.id);\n });\n\n return {\n ...referral,\n programs: programsBySelectedServices,\n }\n });\n\n const referralsWithPrograms = updatedReferrals.filter((referral) => referral.programs.length > 0);\n\n return referralsWithPrograms;\n};\n"],"mappings":"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","ignoreList":[]}
|