@unite-us/app-create-referral 0.15.62 → 0.15.63
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/AppReferrals.js +45 -45
- package/dist/AppReferrals.js.map +1 -1
- package/dist/AppReferrals.test.js +34 -60
- package/dist/AppReferrals.test.js.map +1 -1
- package/dist/__testUtils__/mockData/components/mockAppReferrals.js +13 -12
- package/dist/__testUtils__/mockData/components/mockAppReferrals.js.map +1 -1
- package/dist/__testUtils__/mockData/mockCases.js +1 -1
- package/dist/__testUtils__/mockData/mockCases.js.map +1 -1
- package/dist/__testUtils__/mockData/mockClinicalModifications.js +3 -3
- package/dist/__testUtils__/mockData/mockClinicalModifications.js.map +1 -1
- package/dist/__testUtils__/mockData/mockEmployees.js +1 -1
- package/dist/__testUtils__/mockData/mockEmployees.js.map +1 -1
- package/dist/__testUtils__/mockData/mockEnums.js +1 -1
- package/dist/__testUtils__/mockData/mockEnums.js.map +1 -1
- package/dist/__testUtils__/mockData/mockFeeSchedulePrograms.js +1 -1
- package/dist/__testUtils__/mockData/mockFeeSchedulePrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/mockFiles.js +1 -1
- package/dist/__testUtils__/mockData/mockFiles.js.map +1 -1
- package/dist/__testUtils__/mockData/mockFormSubmissions.js +1 -1
- package/dist/__testUtils__/mockData/mockFormSubmissions.js.map +1 -1
- package/dist/__testUtils__/mockData/mockFormUsages.js +1 -1
- package/dist/__testUtils__/mockData/mockFormUsages.js.map +1 -1
- package/dist/__testUtils__/mockData/mockForms.js +1 -1
- package/dist/__testUtils__/mockData/mockForms.js.map +1 -1
- package/dist/__testUtils__/mockData/mockInsurances.js +1 -1
- package/dist/__testUtils__/mockData/mockInsurances.js.map +1 -1
- package/dist/__testUtils__/mockData/mockNetworks.js +1 -1
- package/dist/__testUtils__/mockData/mockNetworks.js.map +1 -1
- package/dist/__testUtils__/mockData/mockPeople.js +1 -1
- package/dist/__testUtils__/mockData/mockPeople.js.map +1 -1
- package/dist/__testUtils__/mockData/mockPrograms.js +31 -31
- package/dist/__testUtils__/mockData/mockPrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/mockProviders.js +21 -21
- package/dist/__testUtils__/mockData/mockProviders.js.map +1 -1
- package/dist/__testUtils__/mockData/mockReferrals.js +1 -1
- package/dist/__testUtils__/mockData/mockReferrals.js.map +1 -1
- package/dist/__testUtils__/mockData/mockServiceAuthorizations.js +1 -1
- package/dist/__testUtils__/mockData/mockServiceAuthorizations.js.map +1 -1
- package/dist/__testUtils__/mockData/mockServices.js +1 -1
- package/dist/__testUtils__/mockData/mockServices.js.map +1 -1
- package/dist/__testUtils__/mockData/mockUnlistedPrograms.js +1 -1
- package/dist/__testUtils__/mockData/mockUnlistedPrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/utils.js +218 -282
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- package/dist/__testUtils__/mockServer/handlers.js +80 -82
- package/dist/__testUtils__/mockServer/handlers.js.map +1 -1
- package/dist/__testUtils__/mockServer/server.js +7 -13
- package/dist/__testUtils__/mockServer/server.js.map +1 -1
- package/dist/__testUtils__/test-utils.js +22 -18
- package/dist/__testUtils__/test-utils.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js +10 -32
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js +10 -32
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js +8 -10
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js.map +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js +46 -88
- package/dist/actions/Group/fetchCoreGroupForms.js.map +1 -1
- package/dist/actions/Referral/cannotMoveToReferralReasons.js +23 -21
- package/dist/actions/Referral/cannotMoveToReferralReasons.js.map +1 -1
- package/dist/actions/Referral/fetchCoreServices.js +70 -152
- package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
- package/dist/actions/Referral/fetchNetworks.js +11 -35
- package/dist/actions/Referral/fetchNetworks.js.map +1 -1
- package/dist/actions/Referral/fetchPrimaryWorkers.js +51 -75
- package/dist/actions/Referral/fetchPrimaryWorkers.js.map +1 -1
- package/dist/actions/Referral/removeReferralProgram.js +10 -15
- package/dist/actions/Referral/removeReferralProgram.js.map +1 -1
- package/dist/api/ApiHooks.js +40 -39
- package/dist/api/ApiHooks.js.map +1 -1
- package/dist/api/config.js +20 -23
- package/dist/api/config.js.map +1 -1
- package/dist/common/form/CurrencyField/index.js +22 -21
- package/dist/common/form/CurrencyField/index.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js +51 -48
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js +14 -12
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ListViewDocument.js +21 -17
- package/dist/common/form/DocumentUploader/components/ListViewDocument.js.map +1 -1
- package/dist/common/form/ErrorMessage/index.js +17 -9
- package/dist/common/form/ErrorMessage/index.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.js +159 -137
- package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreview.js +8 -5
- package/dist/common/form/FileUploadV2/components/FilePreview.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js +26 -21
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js.map +1 -1
- package/dist/common/form/FormForm/index.js +143 -186
- package/dist/common/form/FormForm/index.js.map +1 -1
- package/dist/common/utils/utils.js +3 -3
- package/dist/common/utils/utils.js.map +1 -1
- package/dist/components/Card.js +12 -8
- package/dist/components/Card.js.map +1 -1
- package/dist/components/CreateReferralContainer.js +21 -13
- package/dist/components/CreateReferralContainer.js.map +1 -1
- package/dist/components/DollarAmount.js +18 -14
- package/dist/components/DollarAmount.js.map +1 -1
- package/dist/components/ExpandableButton.js +21 -16
- package/dist/components/ExpandableButton.js.map +1 -1
- package/dist/components/NavButtons.js +57 -51
- package/dist/components/NavButtons.js.map +1 -1
- package/dist/components/ReferralStepper.js +44 -41
- package/dist/components/ReferralStepper.js.map +1 -1
- package/dist/components/SearchableField.js +121 -125
- package/dist/components/SearchableField.js.map +1 -1
- package/dist/components/StepHeader.js +25 -16
- package/dist/components/StepHeader.js.map +1 -1
- package/dist/components/Stepper.js +55 -51
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/modal/Dialog.js +141 -170
- package/dist/components/modal/Dialog.js.map +1 -1
- package/dist/components/modal/Overlay.js +2 -1
- package/dist/components/modal/Overlay.js.map +1 -1
- package/dist/components/service_authorization/AuthorizationSpendCard.js +72 -60
- package/dist/components/service_authorization/AuthorizationSpendCard.js.map +1 -1
- package/dist/components/service_authorization/CapsInfo.js +143 -120
- package/dist/components/service_authorization/CapsInfo.js.map +1 -1
- package/dist/components/service_authorization/CaseStatus.js +18 -14
- package/dist/components/service_authorization/CaseStatus.js.map +1 -1
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js +121 -96
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js +43 -43
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js +82 -65
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js.map +1 -1
- package/dist/components/service_authorization/Spend.js +10 -5
- package/dist/components/service_authorization/Spend.js.map +1 -1
- package/dist/components/service_authorization/formatShortDate.js +6 -6
- package/dist/components/service_authorization/formatShortDate.js.map +1 -1
- package/dist/components/service_authorization/messageConstants.js +2 -2
- package/dist/components/service_authorization/messageConstants.js.map +1 -1
- package/dist/components/spinners/OverlaySpinner/OverlaySpinner.js +34 -23
- package/dist/components/spinners/OverlaySpinner/OverlaySpinner.js.map +1 -1
- package/dist/components/spinners/Spinner/Spinner.js +33 -27
- package/dist/components/spinners/Spinner/Spinner.js.map +1 -1
- package/dist/constants/enums.js +1 -1
- package/dist/constants/enums.js.map +1 -1
- package/dist/constants/eventConstants.js +48 -48
- package/dist/constants/eventConstants.js.map +1 -1
- package/dist/constants/findEnumDisplayName.js +3 -3
- package/dist/constants/findEnumDisplayName.js.map +1 -1
- package/dist/constants.js +6 -6
- package/dist/constants.js.map +1 -1
- package/dist/context/AppCreateReferralProvider.js +25 -36
- package/dist/context/AppCreateReferralProvider.js.map +1 -1
- package/dist/context/state.js +2 -5
- package/dist/context/state.js.map +1 -1
- package/dist/context/withAppCreateReferralContext.js +9 -5
- package/dist/context/withAppCreateReferralContext.js.map +1 -1
- package/dist/hooks/__tests__/useCreateReferrals.test.js +456 -544
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/sendReferral.js +155 -318
- package/dist/hooks/sendReferral.js.map +1 -1
- package/dist/hooks/useClinicalModificationOptions.js +24 -34
- package/dist/hooks/useClinicalModificationOptions.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +463 -706
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/hooks/useCreateResourceList.js +56 -66
- package/dist/hooks/useCreateResourceList.js.map +1 -1
- package/dist/hooks/useCreateShareEvent.js +18 -33
- package/dist/hooks/useCreateShareEvent.js.map +1 -1
- package/dist/hooks/useForwardReferral.js +78 -105
- package/dist/hooks/useForwardReferral.js.map +1 -1
- package/dist/hooks/usePerson.js +21 -40
- package/dist/hooks/usePerson.js.map +1 -1
- package/dist/hooks/useUpdateResourceList.js +34 -28
- package/dist/hooks/useUpdateResourceList.js.map +1 -1
- package/dist/pages/builder/AboutGroupedReferralsModal.js +48 -27
- package/dist/pages/builder/AboutGroupedReferralsModal.js.map +1 -1
- package/dist/pages/builder/AuthorizationSubform.js +143 -131
- package/dist/pages/builder/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/ChooseOneServiceTypeModal.js +56 -53
- package/dist/pages/builder/ChooseOneServiceTypeModal.js.map +1 -1
- package/dist/pages/builder/DetailsDrawer.js +74 -72
- package/dist/pages/builder/DetailsDrawer.js.map +1 -1
- package/dist/pages/builder/LineItem.js +28 -25
- package/dist/pages/builder/LineItem.js.map +1 -1
- package/dist/pages/builder/NoReferralsDisplay.js +41 -29
- package/dist/pages/builder/NoReferralsDisplay.js.map +1 -1
- package/dist/pages/builder/ProgramHeader.js +33 -20
- package/dist/pages/builder/ProgramHeader.js.map +1 -1
- package/dist/pages/builder/ProgramMenu.js +19 -18
- package/dist/pages/builder/ProgramMenu.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +341 -435
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +323 -383
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/ReferralCard.js +125 -99
- package/dist/pages/builder/ReferralCard.js.map +1 -1
- package/dist/pages/builder/ReferralProgramCard.js +109 -148
- package/dist/pages/builder/ReferralProgramCard.js.map +1 -1
- package/dist/pages/builder/ReferralProgramMenu.js +102 -116
- package/dist/pages/builder/ReferralProgramMenu.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js +99 -220
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js +48 -74
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +74 -117
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +674 -1151
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +305 -519
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js +14 -33
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +407 -727
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +139 -227
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +262 -461
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +273 -455
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/buildDraftState.js +21 -21
- package/dist/pages/builder/buildDraftState.js.map +1 -1
- package/dist/pages/builder/buildGroupedReferrals.js +80 -113
- package/dist/pages/builder/buildGroupedReferrals.js.map +1 -1
- package/dist/pages/builder/constants.js +12 -12
- package/dist/pages/builder/constants.js.map +1 -1
- package/dist/pages/builder/formatProgramDetail.js +152 -167
- package/dist/pages/builder/formatProgramDetail.js.map +1 -1
- package/dist/pages/builder/useBuildReferrals.js +95 -153
- package/dist/pages/builder/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/utils.js +84 -133
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/DeleteReferralModal.js +45 -31
- package/dist/pages/review/DeleteReferralModal.js.map +1 -1
- package/dist/pages/review/DropdownMultiplesReferrals.js +75 -92
- package/dist/pages/review/DropdownMultiplesReferrals.js.map +1 -1
- package/dist/pages/review/ReferralsSent.js +200 -231
- package/dist/pages/review/ReferralsSent.js.map +1 -1
- package/dist/pages/review/Review.js +451 -544
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/review/__tests__/CallbackNotifications.test.js +46 -57
- package/dist/pages/review/__tests__/CallbackNotifications.test.js.map +1 -1
- package/dist/pages/review/__tests__/ReferralsSent.test.js +189 -333
- package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +380 -572
- package/dist/pages/review/__tests__/Review.test.js.map +1 -1
- package/dist/pages/review/__tests__/data.js +5 -5
- package/dist/pages/review/__tests__/data.js.map +1 -1
- package/dist/pages/review/constants.js +5 -5
- package/dist/pages/review/constants.js.map +1 -1
- package/dist/pages/supporting-info/SupportingInfo.js +123 -160
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js +85 -146
- package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js.map +1 -1
- package/dist/pages/supporting-info/__tests__/data.js +1 -1
- package/dist/pages/supporting-info/__tests__/data.js.map +1 -1
- package/dist/reportWebVitals.js +9 -7
- package/dist/reportWebVitals.js.map +1 -1
- package/dist/setupTests.js +8 -30
- package/dist/setupTests.js.map +1 -1
- package/dist/utils/__tests__/canChangeHoldReason.test.js +23 -23
- package/dist/utils/__tests__/canChangeHoldReason.test.js.map +1 -1
- package/dist/utils/__tests__/checkRoles.test.js +10 -10
- package/dist/utils/__tests__/checkRoles.test.js.map +1 -1
- package/dist/utils/canAccept.js +14 -9
- package/dist/utils/canAccept.js.map +1 -1
- package/dist/utils/canChangeHoldReason.js +16 -11
- package/dist/utils/canChangeHoldReason.js.map +1 -1
- package/dist/utils/canHoldForReview.js +13 -8
- package/dist/utils/canHoldForReview.js.map +1 -1
- package/dist/utils/canReject.js +21 -14
- package/dist/utils/canReject.js.map +1 -1
- package/dist/utils/checkRoles.js +10 -10
- package/dist/utils/checkRoles.js.map +1 -1
- package/dist/utils/getProgramServicesPayload.js +20 -20
- package/dist/utils/getProgramServicesPayload.js.map +1 -1
- package/dist/utils/hasUserRole.js +8 -8
- package/dist/utils/hasUserRole.js.map +1 -1
- package/dist/utils/isReferralForwarded.js +4 -2
- package/dist/utils/isReferralForwarded.js.map +1 -1
- package/dist/utils/referralToConsent.js +14 -19
- package/dist/utils/referralToConsent.js.map +1 -1
- package/dist/utils/useDebounce.js +7 -18
- package/dist/utils/useDebounce.js.map +1 -1
- package/dist/utils/useFeatureFlag.js +1 -1
- package/dist/utils/useFeatureFlag.js.map +1 -1
- package/dist/utils/validateCostAmount.js +4 -4
- package/dist/utils/validateCostAmount.js.map +1 -1
- package/dist/utils/validateUnitAmount.js +4 -4
- package/dist/utils/validateUnitAmount.js.map +1 -1
- package/package.json +63 -37
- package/.github/CODEOWNERS +0 -3
- package/.github/pull_request_template.md +0 -25
- package/.github/workflows/quality.yml +0 -44
- package/.github/workflows/semantic-release.yml +0 -26
- package/.nvmrc +0 -1
- package/babel.config.js +0 -11
- package/config-overrides.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationSpendCard.js","names":["React","cx","PropTypes","Link","usePopulate","Card","LineItem","formatShortDate","Spend","CaseStatus","AuthorizationSpendCard","_ref","item","unit","isAuthorized","isCostBased","isCurrentItem","fieldClassName","cardClassName","enabledLink","valueClassName","placeholderData","undefined","isAutoApproved","auto_approved","programName","fee_schedule_program","name","requestText","concat","short_id","requestLink","createElement","to","id","createdDate","created_at","updatedDate","updated_at","startDate","service_starts_at","endDate","service_ends_at","caseOpenedDate","case_opened_date","caseClosedDate","case_closed_date","requestId","className","field","dataTestElement","amount","spend","state","case_state","openedDate","closedDate","requester_name","propTypes","shape","bool","isRequired","string","number","defaultProps"],"sources":["../../../src/components/service_authorization/AuthorizationSpendCard.jsx"],"sourcesContent":["import React from 'react';\nimport cx from 'classnames';\nimport { PropTypes } from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport { usePopulate } from '../../api/ApiHooks';\nimport Card from '../Card';\nimport LineItem from '../../pages/builder/LineItem';\nimport formatShortDate from './formatShortDate';\nimport Spend from './Spend';\nimport CaseStatus from './CaseStatus';\n\nconst AuthorizationSpendCard = (\n {\n item,\n unit,\n isAuthorized,\n isCostBased,\n isCurrentItem,\n fieldClassName,\n cardClassName,\n enabledLink,\n valueClassName,\n },\n) => {\n usePopulate('fee_schedule_program', 'fee_schedule_program', item, { placeholderData: undefined });\n const isAutoApproved = item.auto_approved;\n const programName = item.fee_schedule_program.name;\n const requestText = `Request #${item.short_id}`;\n const requestLink = <Link to={`/authorizations/${item.id}`}>{requestText}</Link>\n const createdDate = formatShortDate(item.created_at);\n const updatedDate = formatShortDate(item.updated_at);\n const startDate = formatShortDate(item.service_starts_at);\n const endDate = formatShortDate(item.service_ends_at);\n const caseOpenedDate = item?.case_opened_date ? formatShortDate(item.case_opened_date) : '';\n const caseClosedDate = item?.case_closed_date ? formatShortDate(item.case_closed_date) : '';\n const requestId = !isCurrentItem && enabledLink ? requestLink : requestText;\n\n return (\n <Card className={cx(cardClassName, isCurrentItem && 'bg-light-border-grey')}>\n {isCurrentItem && (\n <div className=\"italic pt-4 px-4\">\n This is the request you are currently viewing.\n </div>\n )}\n { programName && !isCurrentItem && (\n <div className=\"font-bold pt-4 px-4\">\n Referral for {programName}\n </div>\n )}\n <dl className=\"grid grid-cols-2 gap-y-1 gap-x-2 py-3 px-4 m-0\">\n <LineItem\n fieldClassName={fieldClassName}\n field={requestId}\n dataTestElement=\"request-short-id\"\n valueClassName={valueClassName}\n >\n {isAuthorized ?\n `${isAutoApproved ? 'Auto ' : ''}Accepted on ${updatedDate}` :\n `Open since ${createdDate}`}\n </LineItem>\n <LineItem\n fieldClassName={fieldClassName}\n field={isAuthorized ? 'Authorized Amount' : 'Amount Requested'}\n data-test-element=\"request-amount\"\n valueClassName={valueClassName}\n >\n <Spend isCostBased={isCostBased} amount={item.spend} unit={unit}/>\n </LineItem>\n <LineItem\n fieldClassName={fieldClassName}\n field={isAuthorized ? 'Authorized Service Period' : 'Requested Service Dates'}\n dataTestElement=\"service-period\"\n valueClassName={valueClassName}\n >\n {startDate} - {endDate}\n </LineItem>\n <LineItem\n fieldClassName={fieldClassName}\n field={isAuthorized ? 'Case Status' : 'Requester'}\n dataTestElement=\"case-status\"\n valueClassName={valueClassName}\n >\n { isAuthorized ? (\n <CaseStatus\n state={item.case_state}\n openedDate={caseOpenedDate}\n closedDate={caseClosedDate}\n />\n ) : item.requester_name}\n </LineItem>\n </dl>\n </Card>\n );\n};\n\nAuthorizationSpendCard.propTypes = {\n item: PropTypes.shape({\n auto_approved: PropTypes.bool.isRequired,\n case_opened_date: PropTypes.string.isRequired,\n case_closed_date: PropTypes.string.isRequired,\n case_state: PropTypes.string.isRequired,\n created_at: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n fee_schedule_program: PropTypes.shape({\n name: PropTypes.string.isRequired,\n }),\n requester_name: PropTypes.string.isRequired,\n service_starts_at: PropTypes.string.isRequired,\n service_ends_at: PropTypes.string.isRequired,\n short_id: PropTypes.string.isRequired,\n state: PropTypes.string.isRequired,\n spend: PropTypes.number.isRequired,\n updated_at: PropTypes.string.isRequired,\n }).isRequired,\n isCostBased: PropTypes.bool.isRequired,\n unit: PropTypes.string.isRequired,\n isAuthorized: PropTypes.bool.isRequired,\n isCurrentItem: PropTypes.bool,\n fieldClassName: PropTypes.string,\n cardClassName: PropTypes.string,\n valueClassName: PropTypes.string,\n enabledLink: PropTypes.bool,\n};\n\nAuthorizationSpendCard.defaultProps = {\n isCurrentItem: false,\n fieldClassName: 'text-brand-blue text-sm leading-5 ml-0',\n cardClassName: '',\n valueClassName: 'text-brand-blue text-sm leading-5 ml-0',\n enabledLink: false,\n};\n\nexport default AuthorizationSpendCard;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"AuthorizationSpendCard.js","names":["React","cx","PropTypes","Link","usePopulate","Card","LineItem","formatShortDate","Spend","CaseStatus","jsx","_jsx","jsxs","_jsxs","AuthorizationSpendCard","_ref","item","unit","isAuthorized","isCostBased","isCurrentItem","fieldClassName","cardClassName","enabledLink","valueClassName","placeholderData","undefined","isAutoApproved","auto_approved","programName","fee_schedule_program","name","requestText","concat","short_id","requestLink","to","id","children","createdDate","created_at","updatedDate","updated_at","startDate","service_starts_at","endDate","service_ends_at","caseOpenedDate","case_opened_date","caseClosedDate","case_closed_date","requestId","className","field","dataTestElement","amount","spend","state","case_state","openedDate","closedDate","requester_name","propTypes","shape","bool","isRequired","string","number","defaultProps"],"sources":["../../../src/components/service_authorization/AuthorizationSpendCard.jsx"],"sourcesContent":["import React from 'react';\nimport cx from 'classnames';\nimport { PropTypes } from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport { usePopulate } from '../../api/ApiHooks';\nimport Card from '../Card';\nimport LineItem from '../../pages/builder/LineItem';\nimport formatShortDate from './formatShortDate';\nimport Spend from './Spend';\nimport CaseStatus from './CaseStatus';\n\nconst AuthorizationSpendCard = (\n {\n item,\n unit,\n isAuthorized,\n isCostBased,\n isCurrentItem,\n fieldClassName,\n cardClassName,\n enabledLink,\n valueClassName,\n },\n) => {\n usePopulate('fee_schedule_program', 'fee_schedule_program', item, { placeholderData: undefined });\n const isAutoApproved = item.auto_approved;\n const programName = item.fee_schedule_program.name;\n const requestText = `Request #${item.short_id}`;\n const requestLink = <Link to={`/authorizations/${item.id}`}>{requestText}</Link>\n const createdDate = formatShortDate(item.created_at);\n const updatedDate = formatShortDate(item.updated_at);\n const startDate = formatShortDate(item.service_starts_at);\n const endDate = formatShortDate(item.service_ends_at);\n const caseOpenedDate = item?.case_opened_date ? formatShortDate(item.case_opened_date) : '';\n const caseClosedDate = item?.case_closed_date ? formatShortDate(item.case_closed_date) : '';\n const requestId = !isCurrentItem && enabledLink ? requestLink : requestText;\n\n return (\n <Card className={cx(cardClassName, isCurrentItem && 'bg-light-border-grey')}>\n {isCurrentItem && (\n <div className=\"italic pt-4 px-4\">\n This is the request you are currently viewing.\n </div>\n )}\n { programName && !isCurrentItem && (\n <div className=\"font-bold pt-4 px-4\">\n Referral for {programName}\n </div>\n )}\n <dl className=\"grid grid-cols-2 gap-y-1 gap-x-2 py-3 px-4 m-0\">\n <LineItem\n fieldClassName={fieldClassName}\n field={requestId}\n dataTestElement=\"request-short-id\"\n valueClassName={valueClassName}\n >\n {isAuthorized ?\n `${isAutoApproved ? 'Auto ' : ''}Accepted on ${updatedDate}` :\n `Open since ${createdDate}`}\n </LineItem>\n <LineItem\n fieldClassName={fieldClassName}\n field={isAuthorized ? 'Authorized Amount' : 'Amount Requested'}\n data-test-element=\"request-amount\"\n valueClassName={valueClassName}\n >\n <Spend isCostBased={isCostBased} amount={item.spend} unit={unit}/>\n </LineItem>\n <LineItem\n fieldClassName={fieldClassName}\n field={isAuthorized ? 'Authorized Service Period' : 'Requested Service Dates'}\n dataTestElement=\"service-period\"\n valueClassName={valueClassName}\n >\n {startDate} - {endDate}\n </LineItem>\n <LineItem\n fieldClassName={fieldClassName}\n field={isAuthorized ? 'Case Status' : 'Requester'}\n dataTestElement=\"case-status\"\n valueClassName={valueClassName}\n >\n { isAuthorized ? (\n <CaseStatus\n state={item.case_state}\n openedDate={caseOpenedDate}\n closedDate={caseClosedDate}\n />\n ) : item.requester_name}\n </LineItem>\n </dl>\n </Card>\n );\n};\n\nAuthorizationSpendCard.propTypes = {\n item: PropTypes.shape({\n auto_approved: PropTypes.bool.isRequired,\n case_opened_date: PropTypes.string.isRequired,\n case_closed_date: PropTypes.string.isRequired,\n case_state: PropTypes.string.isRequired,\n created_at: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n fee_schedule_program: PropTypes.shape({\n name: PropTypes.string.isRequired,\n }),\n requester_name: PropTypes.string.isRequired,\n service_starts_at: PropTypes.string.isRequired,\n service_ends_at: PropTypes.string.isRequired,\n short_id: PropTypes.string.isRequired,\n state: PropTypes.string.isRequired,\n spend: PropTypes.number.isRequired,\n updated_at: PropTypes.string.isRequired,\n }).isRequired,\n isCostBased: PropTypes.bool.isRequired,\n unit: PropTypes.string.isRequired,\n isAuthorized: PropTypes.bool.isRequired,\n isCurrentItem: PropTypes.bool,\n fieldClassName: PropTypes.string,\n cardClassName: PropTypes.string,\n valueClassName: PropTypes.string,\n enabledLink: PropTypes.bool,\n};\n\nAuthorizationSpendCard.defaultProps = {\n isCurrentItem: false,\n fieldClassName: 'text-brand-blue text-sm leading-5 ml-0',\n cardClassName: '',\n valueClassName: 'text-brand-blue text-sm leading-5 ml-0',\n enabledLink: false,\n};\n\nexport default AuthorizationSpendCard;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,16 +11,20 @@ import { useFind } from '../../api/ApiHooks';
|
|
|
11
11
|
import Spend from './Spend';
|
|
12
12
|
import ErrorMessage from '../../common/form/ErrorMessage';
|
|
13
13
|
import { useFeatureFlag } from '../../utils/useFeatureFlag';
|
|
14
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
function InformationText(_ref) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
let {
|
|
17
|
+
name,
|
|
18
|
+
value,
|
|
19
|
+
isLoaded
|
|
20
|
+
} = _ref;
|
|
21
|
+
return /*#__PURE__*/_jsx(LineItem, {
|
|
19
22
|
field: name,
|
|
20
23
|
fieldClassName: "col-span-1 p-0 text-dark-grey",
|
|
21
24
|
valueClassName: "flex text-dark-blue",
|
|
22
|
-
isLoaded: isLoaded
|
|
23
|
-
|
|
25
|
+
isLoaded: isLoaded,
|
|
26
|
+
children: value
|
|
27
|
+
});
|
|
24
28
|
}
|
|
25
29
|
InformationText.propTypes = {
|
|
26
30
|
name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
|
|
@@ -28,91 +32,91 @@ InformationText.propTypes = {
|
|
|
28
32
|
isLoaded: PropTypes.bool.isRequired
|
|
29
33
|
};
|
|
30
34
|
function CapsInfo(_ref2) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
let {
|
|
36
|
+
formValues,
|
|
37
|
+
feeScheduleProgram,
|
|
38
|
+
isCostBased,
|
|
39
|
+
setReferralErrors
|
|
40
|
+
} = _ref2;
|
|
41
|
+
const serviceStart = get(formValues, 'paymentAuthForm.service_start');
|
|
42
|
+
let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();
|
|
43
|
+
const serviceEnd = get(formValues, 'paymentAuthForm.service_end');
|
|
44
|
+
let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();
|
|
45
|
+
const pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);
|
|
40
46
|
if (pays5590RefactorInsuranceFilters) {
|
|
41
47
|
requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();
|
|
42
48
|
requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();
|
|
43
49
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
50
|
+
const person = usePerson();
|
|
51
|
+
const {
|
|
52
|
+
data: authorizedSpendsData,
|
|
53
|
+
isSuccess: isFindAuthorizedSpendSuccess
|
|
54
|
+
} = useFind('authorized_spend', {
|
|
55
|
+
person: person === null || person === void 0 ? void 0 : person.id,
|
|
56
|
+
fee_schedule_program: feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.id,
|
|
57
|
+
requested_starts_at: requestedStartDate,
|
|
58
|
+
requested_ends_at: requestedEndDate
|
|
59
|
+
}, {
|
|
60
|
+
queryConfig: {
|
|
61
|
+
enabled: !!(person !== null && person !== void 0 && person.id && feeScheduleProgram !== null && feeScheduleProgram !== void 0 && feeScheduleProgram.id),
|
|
62
|
+
placeholderData: undefined
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const {
|
|
66
|
+
data: insurancesData,
|
|
67
|
+
isSuccess: isFindInsuranceSuccess
|
|
68
|
+
} = useFind('insurance', {
|
|
69
|
+
person: person === null || person === void 0 ? void 0 : person.id,
|
|
70
|
+
state: 'active',
|
|
71
|
+
'plan.fee_schedules': feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.fee_schedule.id,
|
|
72
|
+
enrolled_before: requestedStartDate,
|
|
73
|
+
expired_after: requestedEndDate
|
|
74
|
+
}, {
|
|
75
|
+
queryClient: {
|
|
76
|
+
enabled: !!(feeScheduleProgram !== null && feeScheduleProgram !== void 0 && feeScheduleProgram.id),
|
|
77
|
+
placeholderData: undefined
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
const insurances = get(insurancesData, 'data.data', []);
|
|
81
|
+
const invalidInsuranceAuthorizationDates = !(insurances !== null && insurances !== void 0 && insurances.length);
|
|
82
|
+
const unit = get(feeScheduleProgram, 'unit');
|
|
83
|
+
const authorizationSpends = get(authorizedSpendsData, 'data.data', []); //todo use this on the modal
|
|
84
|
+
const totalApprovedSpend = get(authorizedSpendsData, 'data.meta.total_approved_spend', 0);
|
|
85
|
+
const totalRequestedSpend = get(authorizedSpendsData, 'data.meta.total_requested_spend', 0);
|
|
86
|
+
const totalCap = get(authorizedSpendsData, 'data.meta.total_cap', 0);
|
|
87
|
+
const capStartsAt = get(authorizedSpendsData, 'data.meta.cap_starts_at', null);
|
|
88
|
+
const capEndsAt = get(authorizedSpendsData, 'data.meta.cap_ends_at', null);
|
|
89
|
+
const authorizationSpendsErrors = get(authorizedSpendsData, 'data.meta.errors', []);
|
|
90
|
+
const availableCap = get(authorizedSpendsData, 'data.meta.available_cap', 0);
|
|
91
|
+
const formattedAvailableAmount = /*#__PURE__*/_jsx(Spend, {
|
|
84
92
|
isCostBased: isCostBased,
|
|
85
93
|
amount: availableCap,
|
|
86
94
|
unit: unit
|
|
87
95
|
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var startDate = moment(capStartsAt).utc().startOf('day');
|
|
95
|
-
var endDate = moment(capEndsAt).utc().endOf('day');
|
|
96
|
-
var hasCap = feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.has_cap;
|
|
97
|
-
var formattedCap = hasCap ? /*#__PURE__*/React.createElement(Spend, {
|
|
96
|
+
const showClientUtilizationError = authorizationSpendsErrors.some(e => e.title === UTILIZATION_ERROR);
|
|
97
|
+
const showPassthroughDatesError = authorizationSpendsErrors.some(e => e.title === DATES_ERROR);
|
|
98
|
+
const startDate = moment(capStartsAt).utc().startOf('day');
|
|
99
|
+
const endDate = moment(capEndsAt).utc().endOf('day');
|
|
100
|
+
const hasCap = feeScheduleProgram === null || feeScheduleProgram === void 0 ? void 0 : feeScheduleProgram.has_cap;
|
|
101
|
+
const formattedCap = hasCap ? /*#__PURE__*/_jsx(Spend, {
|
|
98
102
|
amount: totalCap,
|
|
99
103
|
unit: unit,
|
|
100
104
|
isCostBased: isCostBased
|
|
101
105
|
}) : 'No Cap';
|
|
102
|
-
|
|
106
|
+
const formattedTotalApprovedSpend = /*#__PURE__*/_jsx(Spend, {
|
|
103
107
|
isCostBased: isCostBased,
|
|
104
108
|
amount: totalApprovedSpend,
|
|
105
109
|
unit: unit
|
|
106
110
|
});
|
|
107
|
-
|
|
111
|
+
const formattedTotalRequestedSpend = /*#__PURE__*/_jsx(Spend, {
|
|
108
112
|
isCostBased: isCostBased,
|
|
109
113
|
amount: totalRequestedSpend,
|
|
110
114
|
unit: unit
|
|
111
115
|
});
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
+
const formattedCapPeriod = hasCap && !capStartsAt ? 'Lifetime' : "".concat(formatShortDate(startDate), " - ").concat(formatShortDate(endDate));
|
|
117
|
+
const amountRequested = parseInt(get(formValues, 'paymentAuthForm.amount_requested'), 10);
|
|
118
|
+
const isAmountExceeded = isNumber(amountRequested) && hasCap && amountRequested > availableCap;
|
|
119
|
+
const errors = useMemo(() => {
|
|
116
120
|
return {
|
|
117
121
|
service: !!showClientUtilizationError,
|
|
118
122
|
passthrough_dates: !!showPassthroughDatesError,
|
|
@@ -120,59 +124,78 @@ function CapsInfo(_ref2) {
|
|
|
120
124
|
amount_exceeded: !!isAmountExceeded
|
|
121
125
|
};
|
|
122
126
|
}, [showClientUtilizationError, showPassthroughDatesError, invalidInsuranceAuthorizationDates, isAmountExceeded]);
|
|
123
|
-
useEffect(
|
|
127
|
+
useEffect(() => {
|
|
124
128
|
setReferralErrors(errors);
|
|
125
129
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
126
130
|
}, [errors]);
|
|
127
|
-
return /*#__PURE__*/
|
|
131
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
128
132
|
className: "mb-12 grid grid-cols-2 gap-2",
|
|
129
|
-
"data-testid": "caps-info-section"
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
133
|
+
"data-testid": "caps-info-section",
|
|
134
|
+
children: [hasCap && /*#__PURE__*/_jsx(InformationText, {
|
|
135
|
+
name: /*#__PURE__*/_jsx("span", {
|
|
136
|
+
className: "font-bold",
|
|
137
|
+
children: "AMOUNT AVAILABLE FOR AUTHORIZATION"
|
|
138
|
+
}),
|
|
139
|
+
value: /*#__PURE__*/_jsx("span", {
|
|
140
|
+
className: "font-bold",
|
|
141
|
+
children: formattedAvailableAmount
|
|
142
|
+
}),
|
|
143
|
+
isLoaded: isFindAuthorizedSpendSuccess
|
|
144
|
+
}), /*#__PURE__*/_jsx(InformationText, {
|
|
145
|
+
name: "Amount Currently Authorized",
|
|
146
|
+
value: formattedTotalApprovedSpend,
|
|
147
|
+
isLoaded: isFindAuthorizedSpendSuccess
|
|
148
|
+
}), hasCap && /*#__PURE__*/_jsxs(_Fragment, {
|
|
149
|
+
children: [/*#__PURE__*/_jsx(InformationText, {
|
|
150
|
+
name: "Cap",
|
|
151
|
+
value: formattedCap,
|
|
152
|
+
isLoaded: isFindAuthorizedSpendSuccess
|
|
153
|
+
}), (startDate === null || startDate === void 0 ? void 0 : startDate.isValid()) && /*#__PURE__*/_jsx(InformationText, {
|
|
154
|
+
name: "Cap Period",
|
|
155
|
+
value: formattedCapPeriod,
|
|
156
|
+
isLoaded: isFindAuthorizedSpendSuccess
|
|
157
|
+
})]
|
|
158
|
+
}), /*#__PURE__*/_jsx(InformationText, {
|
|
159
|
+
name: "Amount Pending Authorization",
|
|
160
|
+
value: formattedTotalRequestedSpend,
|
|
161
|
+
isLoaded: isFindAuthorizedSpendSuccess
|
|
162
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
163
|
+
children: /*#__PURE__*/_jsx(PreviousAuthorizationRequestsDetails, {
|
|
164
|
+
authorizationSpends: authorizationSpends,
|
|
165
|
+
totalApprovedSpend: formattedTotalApprovedSpend,
|
|
166
|
+
totalRequestedSpend: formattedTotalRequestedSpend,
|
|
167
|
+
unit: unit,
|
|
168
|
+
isCostBased: isCostBased,
|
|
169
|
+
capInfo: {
|
|
170
|
+
hasCap,
|
|
171
|
+
formattedCap,
|
|
172
|
+
formattedCapPeriod,
|
|
173
|
+
startDate
|
|
174
|
+
},
|
|
175
|
+
amountAvailable: formattedAvailableAmount
|
|
176
|
+
})
|
|
177
|
+
}), isAmountExceeded && /*#__PURE__*/_jsx("div", {
|
|
178
|
+
className: "col-span-2 px-0 flex space-x-2 mt-6 mb-0",
|
|
179
|
+
children: /*#__PURE__*/_jsx(ErrorMessage, {
|
|
180
|
+
children: "The amount requested is more than the amount available for authorization. Please adjust the amount requested, or search for another program to meet the client's needs."
|
|
181
|
+
})
|
|
182
|
+
}), showClientUtilizationError && /*#__PURE__*/_jsx("div", {
|
|
183
|
+
className: "col-span-2 px-0 flex space-x-2 mt-6 mb-0",
|
|
184
|
+
children: /*#__PURE__*/_jsx(ErrorMessage, {
|
|
185
|
+
children: "The client is already receiving this service through either a passthrough or non-passthrough service within this program group."
|
|
186
|
+
})
|
|
187
|
+
}), showPassthroughDatesError && /*#__PURE__*/_jsx("div", {
|
|
188
|
+
className: "col-span-2 px-0 flex space-x-2 mt-6 mb-0",
|
|
189
|
+
children: /*#__PURE__*/_jsx(ErrorMessage, {
|
|
190
|
+
children: "Clients can only receive services from this program for 30 days or until their social coverage ends, whichever comes first."
|
|
191
|
+
})
|
|
192
|
+
}), isFindInsuranceSuccess && isFindAuthorizedSpendSuccess && invalidInsuranceAuthorizationDates && /*#__PURE__*/_jsx("div", {
|
|
193
|
+
className: "col-span-2 px-0 flex space-x-2 mt-6 mb-0",
|
|
194
|
+
children: /*#__PURE__*/_jsx(ErrorMessage, {
|
|
195
|
+
children: "The service delivery dates requested fall outside the client's enrollment dates for all enrolled plans. Please edit the service delivery dates."
|
|
196
|
+
})
|
|
197
|
+
})]
|
|
198
|
+
});
|
|
176
199
|
}
|
|
177
200
|
CapsInfo.propTypes = {
|
|
178
201
|
formValues: PropTypes.object.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapsInfo.js","names":["React","useEffect","useMemo","PropTypes","moment","get","isNumber","UTILIZATION_ERROR","DATES_ERROR","PreviousAuthorizationRequestsDetails","formatShortDate","LineItem","usePerson","useFind","Spend","ErrorMessage","useFeatureFlag","InformationText","_ref","name","value","isLoaded","createElement","field","fieldClassName","valueClassName","propTypes","oneOfType","string","element","isRequired","node","number","bool","CapsInfo","_ref2","formValues","feeScheduleProgram","isCostBased","setReferralErrors","serviceStart","requestedStartDate","unix","toISOString","serviceEnd","requestedEndDate","pays5590RefactorInsuranceFilters","add","subtract","person","_useFind","id","fee_schedule_program","requested_starts_at","requested_ends_at","queryConfig","enabled","placeholderData","undefined","authorizedSpendsData","data","isFindAuthorizedSpendSuccess","isSuccess","_useFind2","state","fee_schedule","enrolled_before","expired_after","queryClient","insurancesData","isFindInsuranceSuccess","insurances","invalidInsuranceAuthorizationDates","length","unit","authorizationSpends","totalApprovedSpend","totalRequestedSpend","totalCap","capStartsAt","capEndsAt","authorizationSpendsErrors","availableCap","formattedAvailableAmount","amount","showClientUtilizationError","some","e","title","showPassthroughDatesError","startDate","utc","startOf","endDate","endOf","hasCap","has_cap","formattedCap","formattedTotalApprovedSpend","formattedTotalRequestedSpend","formattedCapPeriod","concat","amountRequested","parseInt","isAmountExceeded","errors","service","passthrough_dates","invalid_insurance_auth_dates","amount_exceeded","className","Fragment","isValid","capInfo","amountAvailable","object","func"],"sources":["../../../src/components/service_authorization/CapsInfo.jsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { get, isNumber } from 'lodash';\nimport { UTILIZATION_ERROR, DATES_ERROR } from './messageConstants';\nimport PreviousAuthorizationRequestsDetails from './PreviousAuthorizationRequestsDetails';\nimport formatShortDate from './formatShortDate';\nimport LineItem from '../../pages/builder/LineItem';\nimport usePerson from '../../hooks/usePerson';\nimport { useFind } from '../../api/ApiHooks';\nimport Spend from './Spend';\nimport ErrorMessage from '../../common/form/ErrorMessage';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\n\nfunction InformationText({\n name, value, isLoaded\n}) {\n return (\n <LineItem\n field={name}\n fieldClassName=\"col-span-1 p-0 text-dark-grey\"\n valueClassName=\"flex text-dark-blue\"\n isLoaded={isLoaded}\n >\n {value}\n </LineItem>\n );\n}\n\nInformationText.propTypes = {\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]).isRequired,\n isLoaded: PropTypes.bool.isRequired,\n};\n\nfunction CapsInfo({\n formValues,\n feeScheduleProgram,\n isCostBased,\n setReferralErrors,\n}) {\n const serviceStart = get(formValues, 'paymentAuthForm.service_start');\n let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();\n const serviceEnd = get(formValues, 'paymentAuthForm.service_end');\n let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();\n\n const pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);\n\n if (pays5590RefactorInsuranceFilters) {\n requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();\n requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();\n }\n \n const person = usePerson();\n const { \n data: authorizedSpendsData, \n isSuccess: isFindAuthorizedSpendSuccess, \n } = useFind(\n 'authorized_spend',\n {\n person: person?.id,\n fee_schedule_program: feeScheduleProgram?.id,\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n },\n { \n queryConfig: { \n enabled: !!(person?.id && feeScheduleProgram?.id),\n placeholderData: undefined,\n } \n }\n );\n\n const { \n data: insurancesData,\n isSuccess: isFindInsuranceSuccess,\n } = useFind(\n 'insurance',\n {\n person: person?.id,\n state: 'active',\n 'plan.fee_schedules': feeScheduleProgram?.fee_schedule.id,\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n },\n {\n queryClient: {\n enabled: !!feeScheduleProgram?.id,\n placeholderData: undefined,\n }\n }\n );\n const insurances = get(insurancesData, 'data.data', []);\n const invalidInsuranceAuthorizationDates = !insurances?.length;\n\n const unit = get(feeScheduleProgram, 'unit');\n const authorizationSpends = get(authorizedSpendsData, 'data.data', []); //todo use this on the modal\n const totalApprovedSpend = get(authorizedSpendsData, 'data.meta.total_approved_spend', 0);\n const totalRequestedSpend = get(authorizedSpendsData, 'data.meta.total_requested_spend', 0);\n const totalCap = get(authorizedSpendsData, 'data.meta.total_cap', 0);\n const capStartsAt = get(authorizedSpendsData, 'data.meta.cap_starts_at', null);\n const capEndsAt = get(authorizedSpendsData, 'data.meta.cap_ends_at', null);\n const authorizationSpendsErrors = get(authorizedSpendsData, 'data.meta.errors', []);\n const availableCap = get(authorizedSpendsData, 'data.meta.available_cap', 0);\n const formattedAvailableAmount = <Spend isCostBased={isCostBased} amount={availableCap} unit={unit}/>;\n\n const showClientUtilizationError = authorizationSpendsErrors.some((e) => e.title === UTILIZATION_ERROR);\n const showPassthroughDatesError = authorizationSpendsErrors.some((e) => e.title === DATES_ERROR);\n\n const startDate = moment(capStartsAt).utc().startOf('day');\n const endDate = moment(capEndsAt).utc().endOf('day');\n const hasCap = feeScheduleProgram?.has_cap;\n const formattedCap = hasCap ? <Spend amount={totalCap} unit={unit} isCostBased={isCostBased}/> : 'No Cap';\n const formattedTotalApprovedSpend = <Spend isCostBased={isCostBased} amount={totalApprovedSpend} unit={unit}/>;\n const formattedTotalRequestedSpend = <Spend isCostBased={isCostBased} amount={totalRequestedSpend} unit={unit}/>;\n const formattedCapPeriod = (hasCap && !capStartsAt) ?\n 'Lifetime' : `${formatShortDate(startDate)} - ${formatShortDate(endDate)}`;\n\n\n const amountRequested = parseInt(get(formValues, 'paymentAuthForm.amount_requested'), 10);\n const isAmountExceeded = isNumber(amountRequested) && hasCap && (amountRequested > availableCap);\n\n const errors = useMemo(() => {\n return {\n service: !!showClientUtilizationError,\n passthrough_dates: !!showPassthroughDatesError,\n invalid_insurance_auth_dates: !!invalidInsuranceAuthorizationDates,\n amount_exceeded: !!isAmountExceeded,\n };\n }, [\n showClientUtilizationError,\n showPassthroughDatesError,\n invalidInsuranceAuthorizationDates,\n isAmountExceeded,\n ]);\n\n useEffect(() => {\n setReferralErrors(errors);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n errors,\n ]);\n\n return (\n <div className=\"mb-12 grid grid-cols-2 gap-2\" data-testid=\"caps-info-section\">\n { hasCap && (\n <InformationText\n name={<span className=\"font-bold\">AMOUNT AVAILABLE FOR AUTHORIZATION</span>}\n value={(\n <span className=\"font-bold\">\n {formattedAvailableAmount}\n </span>\n )}\n isLoaded={isFindAuthorizedSpendSuccess}\n />\n )}\n <InformationText\n name=\"Amount Currently Authorized\"\n value={formattedTotalApprovedSpend}\n isLoaded={isFindAuthorizedSpendSuccess}\n />\n { hasCap && (\n <>\n <InformationText name=\"Cap\" value={formattedCap} isLoaded={isFindAuthorizedSpendSuccess} />\n {startDate?.isValid() &&\n (<InformationText name=\"Cap Period\" value={formattedCapPeriod} isLoaded={isFindAuthorizedSpendSuccess} />)}\n </>\n )}\n <InformationText\n name=\"Amount Pending Authorization\"\n value={\n formattedTotalRequestedSpend\n }\n isLoaded={isFindAuthorizedSpendSuccess}\n />\n <div>\n <PreviousAuthorizationRequestsDetails\n authorizationSpends={authorizationSpends}\n totalApprovedSpend={formattedTotalApprovedSpend}\n totalRequestedSpend={formattedTotalRequestedSpend}\n unit={unit}\n isCostBased={isCostBased}\n capInfo={{hasCap, formattedCap, formattedCapPeriod, startDate}}\n amountAvailable={formattedAvailableAmount}\n />\n </div>\n {isAmountExceeded && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The amount requested is more than the amount available for authorization.\n Please adjust the amount requested, or search for another program\n to meet the client's needs.\n </ErrorMessage>\n </div>\n )}\n {showClientUtilizationError && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The client is already receiving this service through either a passthrough or non-passthrough service within this program group.\n </ErrorMessage>\n </div>\n )}\n {showPassthroughDatesError && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n Clients can only receive services from this program for 30 days or until their social coverage ends,\n whichever comes first.\n </ErrorMessage>\n </div>\n )}\n {(isFindInsuranceSuccess && isFindAuthorizedSpendSuccess) && invalidInsuranceAuthorizationDates && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The service delivery dates requested fall outside the client's\n enrollment dates for all enrolled plans. Please edit the service delivery dates.\n </ErrorMessage>\n </div>\n )}\n </div>\n );\n}\n\nCapsInfo.propTypes = {\n formValues: PropTypes.object.isRequired,\n feeScheduleProgram: PropTypes.object.isRequired,\n isCostBased: PropTypes.bool.isRequired,\n setReferralErrors: PropTypes.func.isRequired,\n};\n\nexport default CapsInfo;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CapsInfo.js","names":["React","useEffect","useMemo","PropTypes","moment","get","isNumber","UTILIZATION_ERROR","DATES_ERROR","PreviousAuthorizationRequestsDetails","formatShortDate","LineItem","usePerson","useFind","Spend","ErrorMessage","useFeatureFlag","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","InformationText","_ref","name","value","isLoaded","field","fieldClassName","valueClassName","children","propTypes","oneOfType","string","element","isRequired","node","number","bool","CapsInfo","_ref2","formValues","feeScheduleProgram","isCostBased","setReferralErrors","serviceStart","requestedStartDate","unix","toISOString","serviceEnd","requestedEndDate","pays5590RefactorInsuranceFilters","add","subtract","person","data","authorizedSpendsData","isSuccess","isFindAuthorizedSpendSuccess","id","fee_schedule_program","requested_starts_at","requested_ends_at","queryConfig","enabled","placeholderData","undefined","insurancesData","isFindInsuranceSuccess","state","fee_schedule","enrolled_before","expired_after","queryClient","insurances","invalidInsuranceAuthorizationDates","length","unit","authorizationSpends","totalApprovedSpend","totalRequestedSpend","totalCap","capStartsAt","capEndsAt","authorizationSpendsErrors","availableCap","formattedAvailableAmount","amount","showClientUtilizationError","some","e","title","showPassthroughDatesError","startDate","utc","startOf","endDate","endOf","hasCap","has_cap","formattedCap","formattedTotalApprovedSpend","formattedTotalRequestedSpend","formattedCapPeriod","concat","amountRequested","parseInt","isAmountExceeded","errors","service","passthrough_dates","invalid_insurance_auth_dates","amount_exceeded","className","isValid","capInfo","amountAvailable","object","func"],"sources":["../../../src/components/service_authorization/CapsInfo.jsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { get, isNumber } from 'lodash';\nimport { UTILIZATION_ERROR, DATES_ERROR } from './messageConstants';\nimport PreviousAuthorizationRequestsDetails from './PreviousAuthorizationRequestsDetails';\nimport formatShortDate from './formatShortDate';\nimport LineItem from '../../pages/builder/LineItem';\nimport usePerson from '../../hooks/usePerson';\nimport { useFind } from '../../api/ApiHooks';\nimport Spend from './Spend';\nimport ErrorMessage from '../../common/form/ErrorMessage';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\n\nfunction InformationText({\n name, value, isLoaded\n}) {\n return (\n <LineItem\n field={name}\n fieldClassName=\"col-span-1 p-0 text-dark-grey\"\n valueClassName=\"flex text-dark-blue\"\n isLoaded={isLoaded}\n >\n {value}\n </LineItem>\n );\n}\n\nInformationText.propTypes = {\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]).isRequired,\n isLoaded: PropTypes.bool.isRequired,\n};\n\nfunction CapsInfo({\n formValues,\n feeScheduleProgram,\n isCostBased,\n setReferralErrors,\n}) {\n const serviceStart = get(formValues, 'paymentAuthForm.service_start');\n let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();\n const serviceEnd = get(formValues, 'paymentAuthForm.service_end');\n let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();\n\n const pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);\n\n if (pays5590RefactorInsuranceFilters) {\n requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();\n requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();\n }\n \n const person = usePerson();\n const { \n data: authorizedSpendsData, \n isSuccess: isFindAuthorizedSpendSuccess, \n } = useFind(\n 'authorized_spend',\n {\n person: person?.id,\n fee_schedule_program: feeScheduleProgram?.id,\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n },\n { \n queryConfig: { \n enabled: !!(person?.id && feeScheduleProgram?.id),\n placeholderData: undefined,\n } \n }\n );\n\n const { \n data: insurancesData,\n isSuccess: isFindInsuranceSuccess,\n } = useFind(\n 'insurance',\n {\n person: person?.id,\n state: 'active',\n 'plan.fee_schedules': feeScheduleProgram?.fee_schedule.id,\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n },\n {\n queryClient: {\n enabled: !!feeScheduleProgram?.id,\n placeholderData: undefined,\n }\n }\n );\n const insurances = get(insurancesData, 'data.data', []);\n const invalidInsuranceAuthorizationDates = !insurances?.length;\n\n const unit = get(feeScheduleProgram, 'unit');\n const authorizationSpends = get(authorizedSpendsData, 'data.data', []); //todo use this on the modal\n const totalApprovedSpend = get(authorizedSpendsData, 'data.meta.total_approved_spend', 0);\n const totalRequestedSpend = get(authorizedSpendsData, 'data.meta.total_requested_spend', 0);\n const totalCap = get(authorizedSpendsData, 'data.meta.total_cap', 0);\n const capStartsAt = get(authorizedSpendsData, 'data.meta.cap_starts_at', null);\n const capEndsAt = get(authorizedSpendsData, 'data.meta.cap_ends_at', null);\n const authorizationSpendsErrors = get(authorizedSpendsData, 'data.meta.errors', []);\n const availableCap = get(authorizedSpendsData, 'data.meta.available_cap', 0);\n const formattedAvailableAmount = <Spend isCostBased={isCostBased} amount={availableCap} unit={unit}/>;\n\n const showClientUtilizationError = authorizationSpendsErrors.some((e) => e.title === UTILIZATION_ERROR);\n const showPassthroughDatesError = authorizationSpendsErrors.some((e) => e.title === DATES_ERROR);\n\n const startDate = moment(capStartsAt).utc().startOf('day');\n const endDate = moment(capEndsAt).utc().endOf('day');\n const hasCap = feeScheduleProgram?.has_cap;\n const formattedCap = hasCap ? <Spend amount={totalCap} unit={unit} isCostBased={isCostBased}/> : 'No Cap';\n const formattedTotalApprovedSpend = <Spend isCostBased={isCostBased} amount={totalApprovedSpend} unit={unit}/>;\n const formattedTotalRequestedSpend = <Spend isCostBased={isCostBased} amount={totalRequestedSpend} unit={unit}/>;\n const formattedCapPeriod = (hasCap && !capStartsAt) ?\n 'Lifetime' : `${formatShortDate(startDate)} - ${formatShortDate(endDate)}`;\n\n\n const amountRequested = parseInt(get(formValues, 'paymentAuthForm.amount_requested'), 10);\n const isAmountExceeded = isNumber(amountRequested) && hasCap && (amountRequested > availableCap);\n\n const errors = useMemo(() => {\n return {\n service: !!showClientUtilizationError,\n passthrough_dates: !!showPassthroughDatesError,\n invalid_insurance_auth_dates: !!invalidInsuranceAuthorizationDates,\n amount_exceeded: !!isAmountExceeded,\n };\n }, [\n showClientUtilizationError,\n showPassthroughDatesError,\n invalidInsuranceAuthorizationDates,\n isAmountExceeded,\n ]);\n\n useEffect(() => {\n setReferralErrors(errors);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n errors,\n ]);\n\n return (\n <div className=\"mb-12 grid grid-cols-2 gap-2\" data-testid=\"caps-info-section\">\n { hasCap && (\n <InformationText\n name={<span className=\"font-bold\">AMOUNT AVAILABLE FOR AUTHORIZATION</span>}\n value={(\n <span className=\"font-bold\">\n {formattedAvailableAmount}\n </span>\n )}\n isLoaded={isFindAuthorizedSpendSuccess}\n />\n )}\n <InformationText\n name=\"Amount Currently Authorized\"\n value={formattedTotalApprovedSpend}\n isLoaded={isFindAuthorizedSpendSuccess}\n />\n { hasCap && (\n <>\n <InformationText name=\"Cap\" value={formattedCap} isLoaded={isFindAuthorizedSpendSuccess} />\n {startDate?.isValid() &&\n (<InformationText name=\"Cap Period\" value={formattedCapPeriod} isLoaded={isFindAuthorizedSpendSuccess} />)}\n </>\n )}\n <InformationText\n name=\"Amount Pending Authorization\"\n value={\n formattedTotalRequestedSpend\n }\n isLoaded={isFindAuthorizedSpendSuccess}\n />\n <div>\n <PreviousAuthorizationRequestsDetails\n authorizationSpends={authorizationSpends}\n totalApprovedSpend={formattedTotalApprovedSpend}\n totalRequestedSpend={formattedTotalRequestedSpend}\n unit={unit}\n isCostBased={isCostBased}\n capInfo={{hasCap, formattedCap, formattedCapPeriod, startDate}}\n amountAvailable={formattedAvailableAmount}\n />\n </div>\n {isAmountExceeded && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The amount requested is more than the amount available for authorization.\n Please adjust the amount requested, or search for another program\n to meet the client's needs.\n </ErrorMessage>\n </div>\n )}\n {showClientUtilizationError && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The client is already receiving this service through either a passthrough or non-passthrough service within this program group.\n </ErrorMessage>\n </div>\n )}\n {showPassthroughDatesError && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n Clients can only receive services from this program for 30 days or until their social coverage ends,\n whichever comes first.\n </ErrorMessage>\n </div>\n )}\n {(isFindInsuranceSuccess && isFindAuthorizedSpendSuccess) && invalidInsuranceAuthorizationDates && (\n <div className=\"col-span-2 px-0 flex space-x-2 mt-6 mb-0\">\n <ErrorMessage>\n The service delivery dates requested fall outside the client's\n enrollment dates for all enrolled plans. Please edit the service delivery dates.\n </ErrorMessage>\n </div>\n )}\n </div>\n );\n}\n\nCapsInfo.propTypes = {\n formValues: PropTypes.object.isRequired,\n feeScheduleProgram: PropTypes.object.isRequired,\n isCostBased: PropTypes.bool.isRequired,\n setReferralErrors: PropTypes.func.isRequired,\n};\n\nexport default CapsInfo;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,13 +2,16 @@ import React from 'react';
|
|
|
2
2
|
import cx from 'classnames';
|
|
3
3
|
import { PropTypes } from 'prop-types';
|
|
4
4
|
import { Icon } from '@unite-us/ui';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
const CaseStatus = _ref => {
|
|
7
|
+
let {
|
|
8
|
+
state,
|
|
9
|
+
openedDate,
|
|
10
|
+
closedDate,
|
|
11
|
+
showStatusDot
|
|
12
|
+
} = _ref;
|
|
13
|
+
let text = state;
|
|
14
|
+
let colorClass = 'text-dark-green';
|
|
12
15
|
|
|
13
16
|
// Closed is not a case state; make sure to display Closed text if there is a closed date present
|
|
14
17
|
if (closedDate) {
|
|
@@ -37,13 +40,14 @@ var CaseStatus = function CaseStatus(_ref) {
|
|
|
37
40
|
break;
|
|
38
41
|
}
|
|
39
42
|
}
|
|
40
|
-
return /*#__PURE__*/
|
|
41
|
-
className: "flex"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
44
|
+
className: "flex",
|
|
45
|
+
children: [showStatusDot && /*#__PURE__*/_jsx(Icon, {
|
|
46
|
+
className: cx('w-8 -ml-4 fill-current', colorClass),
|
|
47
|
+
size: 26,
|
|
48
|
+
icon: "IconCircle"
|
|
49
|
+
}), text]
|
|
50
|
+
});
|
|
47
51
|
};
|
|
48
52
|
CaseStatus.propTypes = {
|
|
49
53
|
state: PropTypes.string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseStatus.js","names":["React","cx","PropTypes","Icon","CaseStatus","_ref","state","openedDate","closedDate","showStatusDot","text","colorClass","concat","
|
|
1
|
+
{"version":3,"file":"CaseStatus.js","names":["React","cx","PropTypes","Icon","jsx","_jsx","jsxs","_jsxs","CaseStatus","_ref","state","openedDate","closedDate","showStatusDot","text","colorClass","concat","className","children","size","icon","propTypes","string","isRequired","bool","defaultProps"],"sources":["../../../src/components/service_authorization/CaseStatus.jsx"],"sourcesContent":["import React from 'react';\nimport cx from 'classnames';\nimport { PropTypes } from 'prop-types';\nimport { Icon } from '@unite-us/ui';\n\nconst CaseStatus = ({\n state,\n openedDate,\n closedDate,\n showStatusDot,\n}) => {\n let text = state;\n let colorClass = 'text-dark-green';\n\n // Closed is not a case state; make sure to display Closed text if there is a closed date present\n if (closedDate) {\n text = `Closed on ${closedDate}`;\n colorClass = 'text-red';\n } else { // non-closed cases:\n switch (state) {\n case 'referred':\n text = 'Referral Sent';\n break;\n case 'accepted':\n case 'managed':\n case 'off_platform':\n text = openedDate ? `Opened on ${openedDate}` : 'Opened';\n break;\n case 'deferred':\n text = 'Referral Not Accepted';\n colorClass = 'text-red';\n break;\n case 'pending_authorization':\n text = 'Pending Authorization';\n colorClass = 'text-yellow';\n break;\n default:\n break;\n }\n }\n\n return (\n <div className=\"flex\">\n { showStatusDot &&\n (\n <Icon\n className={cx('w-8 -ml-4 fill-current', colorClass)}\n size={26}\n icon=\"IconCircle\"\n />\n )}\n {text}\n </div>\n );\n};\n\nCaseStatus.propTypes = {\n state: PropTypes.string.isRequired,\n openedDate: PropTypes.string,\n closedDate: PropTypes.string,\n showStatusDot: PropTypes.bool,\n};\n\nCaseStatus.defaultProps = {\n openedDate: '',\n closedDate: '',\n showStatusDot: true,\n};\n\nexport default CaseStatus;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,YAAY;AAC3B,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpC,MAAMC,UAAU,GAAGC,IAAA,IAKb;EAAA,IALc;IAClBC,KAAK;IACLC,UAAU;IACVC,UAAU;IACVC;EACF,CAAC,GAAAJ,IAAA;EACC,IAAIK,IAAI,GAAGJ,KAAK;EAChB,IAAIK,UAAU,GAAG,iBAAiB;;EAElC;EACA,IAAIH,UAAU,EAAE;IACdE,IAAI,gBAAAE,MAAA,CAAgBJ,UAAU,CAAE;IAChCG,UAAU,GAAG,UAAU;EACzB,CAAC,MAAM;IAAE;IACP,QAAQL,KAAK;MACX,KAAK,UAAU;QACbI,IAAI,GAAG,eAAe;QACtB;MACF,KAAK,UAAU;MACf,KAAK,SAAS;MACd,KAAK,cAAc;QACjBA,IAAI,GAAGH,UAAU,gBAAAK,MAAA,CAAgBL,UAAU,IAAK,QAAQ;QACxD;MACF,KAAK,UAAU;QACbG,IAAI,GAAG,uBAAuB;QAC9BC,UAAU,GAAG,UAAU;QACvB;MACF,KAAK,uBAAuB;QAC1BD,IAAI,GAAG,uBAAuB;QAC9BC,UAAU,GAAG,aAAa;QAC1B;MACF;QACE;IACJ;EACF;EAEA,oBACER,KAAA;IAAKU,SAAS,EAAC,MAAM;IAAAC,QAAA,GACjBL,aAAa,iBAEXR,IAAA,CAACF,IAAI;MACHc,SAAS,EAAEhB,EAAE,CAAC,wBAAwB,EAAEc,UAAU,CAAE;MACpDI,IAAI,EAAE,EAAG;MACTC,IAAI,EAAC;IAAY,CAClB,CACF,EACFN,IAAI;EAAA,CACF,CAAC;AAEV,CAAC;AAEDN,UAAU,CAACa,SAAS,GAAG;EACrBX,KAAK,EAAER,SAAS,CAACoB,MAAM,CAACC,UAAU;EAClCZ,UAAU,EAAET,SAAS,CAACoB,MAAM;EAC5BV,UAAU,EAAEV,SAAS,CAACoB,MAAM;EAC5BT,aAAa,EAAEX,SAAS,CAACsB;AAC3B,CAAC;AAEDhB,UAAU,CAACiB,YAAY,GAAG;EACxBd,UAAU,EAAE,EAAE;EACdC,UAAU,EAAE,EAAE;EACdC,aAAa,EAAE;AACjB,CAAC;AAED,eAAeL,UAAU","ignoreList":[]}
|