@unite-us/app-create-referral 0.15.59-alpha.4 → 0.15.59
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/.github/CODEOWNERS +3 -0
- package/.github/pull_request_template.md +25 -0
- package/.github/workflows/quality.yml +44 -0
- package/.github/workflows/semantic-release.yml +26 -0
- package/.nvmrc +1 -0
- package/babel.config.js +11 -0
- package/config-overrides.js +8 -0
- package/dist/AppReferrals.js +45 -45
- package/dist/AppReferrals.js.map +1 -1
- package/dist/AppReferrals.test.js +71 -34
- package/dist/AppReferrals.test.js.map +1 -1
- package/dist/__testUtils__/mockData/components/mockAppReferrals.js +12 -13
- 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 +282 -218
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- package/dist/__testUtils__/mockServer/handlers.js +82 -80
- package/dist/__testUtils__/mockServer/handlers.js.map +1 -1
- package/dist/__testUtils__/mockServer/server.js +13 -7
- package/dist/__testUtils__/mockServer/server.js.map +1 -1
- package/dist/__testUtils__/test-utils.js +18 -22
- package/dist/__testUtils__/test-utils.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js +41 -10
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js +41 -10
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js +10 -8
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js.map +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js +97 -46
- package/dist/actions/Group/fetchCoreGroupForms.js.map +1 -1
- package/dist/actions/Referral/cannotMoveToReferralReasons.js +21 -23
- package/dist/actions/Referral/cannotMoveToReferralReasons.js.map +1 -1
- package/dist/actions/Referral/fetchCoreServices.js +169 -70
- package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
- package/dist/actions/Referral/fetchNetworks.js +44 -11
- package/dist/actions/Referral/fetchNetworks.js.map +1 -1
- package/dist/actions/Referral/fetchPrimaryWorkers.js +84 -51
- package/dist/actions/Referral/fetchPrimaryWorkers.js.map +1 -1
- package/dist/actions/Referral/removeReferralProgram.js +15 -10
- package/dist/actions/Referral/removeReferralProgram.js.map +1 -1
- package/dist/api/ApiHooks.js +39 -40
- package/dist/api/ApiHooks.js.map +1 -1
- package/dist/api/config.js +23 -20
- package/dist/api/config.js.map +1 -1
- package/dist/common/form/CurrencyField/index.js +21 -22
- package/dist/common/form/CurrencyField/index.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js +48 -51
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js +12 -14
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ListViewDocument.js +17 -21
- package/dist/common/form/DocumentUploader/components/ListViewDocument.js.map +1 -1
- package/dist/common/form/ErrorMessage/index.js +9 -17
- package/dist/common/form/ErrorMessage/index.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.js +137 -159
- package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreview.js +5 -8
- package/dist/common/form/FileUploadV2/components/FilePreview.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js +21 -26
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js.map +1 -1
- package/dist/common/form/FormForm/index.js +194 -143
- 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 +8 -12
- package/dist/components/Card.js.map +1 -1
- package/dist/components/CreateReferralContainer.js +13 -21
- package/dist/components/CreateReferralContainer.js.map +1 -1
- package/dist/components/DollarAmount.js +14 -18
- package/dist/components/DollarAmount.js.map +1 -1
- package/dist/components/ExpandableButton.js +16 -21
- package/dist/components/ExpandableButton.js.map +1 -1
- package/dist/components/NavButtons.js +51 -57
- package/dist/components/NavButtons.js.map +1 -1
- package/dist/components/ReferralStepper.js +41 -44
- package/dist/components/ReferralStepper.js.map +1 -1
- package/dist/components/SearchableField.js +125 -121
- package/dist/components/SearchableField.js.map +1 -1
- package/dist/components/StepHeader.js +16 -25
- package/dist/components/StepHeader.js.map +1 -1
- package/dist/components/Stepper.js +51 -55
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/modal/Dialog.js +170 -141
- package/dist/components/modal/Dialog.js.map +1 -1
- package/dist/components/modal/Overlay.js +1 -2
- package/dist/components/modal/Overlay.js.map +1 -1
- package/dist/components/service_authorization/AuthorizationSpendCard.js +60 -72
- package/dist/components/service_authorization/AuthorizationSpendCard.js.map +1 -1
- package/dist/components/service_authorization/CapsInfo.js +120 -143
- package/dist/components/service_authorization/CapsInfo.js.map +1 -1
- package/dist/components/service_authorization/CaseStatus.js +14 -18
- package/dist/components/service_authorization/CaseStatus.js.map +1 -1
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js +96 -121
- 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 +65 -82
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js.map +1 -1
- package/dist/components/service_authorization/Spend.js +5 -10
- 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 +23 -34
- package/dist/components/spinners/OverlaySpinner/OverlaySpinner.js.map +1 -1
- package/dist/components/spinners/Spinner/Spinner.js +27 -33
- 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 +36 -25
- package/dist/context/AppCreateReferralProvider.js.map +1 -1
- package/dist/context/state.js +5 -2
- package/dist/context/state.js.map +1 -1
- package/dist/context/withAppCreateReferralContext.js +5 -9
- package/dist/context/withAppCreateReferralContext.js.map +1 -1
- package/dist/hooks/__tests__/useCreateReferrals.test.js +560 -456
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/sendReferral.js +339 -155
- package/dist/hooks/sendReferral.js.map +1 -1
- package/dist/hooks/useClinicalModificationOptions.js +34 -24
- package/dist/hooks/useClinicalModificationOptions.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +722 -463
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/hooks/useCreateResourceList.js +76 -56
- package/dist/hooks/useCreateResourceList.js.map +1 -1
- package/dist/hooks/useCreateShareEvent.js +42 -18
- package/dist/hooks/useCreateShareEvent.js.map +1 -1
- package/dist/hooks/useForwardReferral.js +118 -78
- package/dist/hooks/useForwardReferral.js.map +1 -1
- package/dist/hooks/usePerson.js +49 -21
- package/dist/hooks/usePerson.js.map +1 -1
- package/dist/hooks/useUpdateResourceList.js +28 -34
- package/dist/hooks/useUpdateResourceList.js.map +1 -1
- package/dist/pages/builder/AboutGroupedReferralsModal.js +27 -48
- package/dist/pages/builder/AboutGroupedReferralsModal.js.map +1 -1
- package/dist/pages/builder/AuthorizationSubform.js +131 -143
- package/dist/pages/builder/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/ChooseOneServiceTypeModal.js +53 -56
- package/dist/pages/builder/ChooseOneServiceTypeModal.js.map +1 -1
- package/dist/pages/builder/DetailsDrawer.js +72 -74
- package/dist/pages/builder/DetailsDrawer.js.map +1 -1
- package/dist/pages/builder/LineItem.js +25 -28
- package/dist/pages/builder/LineItem.js.map +1 -1
- package/dist/pages/builder/NoReferralsDisplay.js +29 -41
- package/dist/pages/builder/NoReferralsDisplay.js.map +1 -1
- package/dist/pages/builder/ProgramHeader.js +20 -33
- package/dist/pages/builder/ProgramHeader.js.map +1 -1
- package/dist/pages/builder/ProgramMenu.js +18 -19
- package/dist/pages/builder/ProgramMenu.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +443 -341
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +392 -323
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/ReferralCard.js +99 -125
- package/dist/pages/builder/ReferralCard.js.map +1 -1
- package/dist/pages/builder/ReferralProgramCard.js +160 -109
- package/dist/pages/builder/ReferralProgramCard.js.map +1 -1
- package/dist/pages/builder/ReferralProgramMenu.js +116 -102
- package/dist/pages/builder/ReferralProgramMenu.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js +246 -99
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js +86 -48
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +133 -74
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +1269 -674
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +575 -305
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js +45 -14
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +815 -407
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +254 -139
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +518 -262
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +504 -273
- 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 +113 -80
- 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 +180 -152
- package/dist/pages/builder/formatProgramDetail.js.map +1 -1
- package/dist/pages/builder/useBuildReferrals.js +163 -95
- package/dist/pages/builder/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/utils.js +133 -84
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/DeleteReferralModal.js +31 -45
- package/dist/pages/review/DeleteReferralModal.js.map +1 -1
- package/dist/pages/review/DropdownMultiplesReferrals.js +92 -75
- package/dist/pages/review/DropdownMultiplesReferrals.js.map +1 -1
- package/dist/pages/review/ReferralsSent.js +239 -200
- package/dist/pages/review/ReferralsSent.js.map +1 -1
- package/dist/pages/review/Review.js +554 -451
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/review/__tests__/CallbackNotifications.test.js +66 -46
- package/dist/pages/review/__tests__/CallbackNotifications.test.js.map +1 -1
- package/dist/pages/review/__tests__/ReferralsSent.test.js +349 -189
- package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +599 -380
- 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 +168 -123
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js +164 -85
- 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 +7 -9
- package/dist/reportWebVitals.js.map +1 -1
- package/dist/setupTests.js +30 -8
- 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 +9 -14
- package/dist/utils/canAccept.js.map +1 -1
- package/dist/utils/canChangeHoldReason.js +11 -16
- package/dist/utils/canChangeHoldReason.js.map +1 -1
- package/dist/utils/canHoldForReview.js +8 -13
- package/dist/utils/canHoldForReview.js.map +1 -1
- package/dist/utils/canReject.js +14 -21
- 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 +2 -4
- package/dist/utils/isReferralForwarded.js.map +1 -1
- package/dist/utils/referralToConsent.js +19 -14
- package/dist/utils/referralToConsent.js.map +1 -1
- package/dist/utils/useDebounce.js +18 -7
- 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 +35 -65
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
1
7
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
2
8
|
import PropTypes from 'prop-types';
|
|
3
9
|
import { isNull, isEmpty, get } from 'lodash';
|
|
@@ -6,148 +12,146 @@ import { Combobox } from '@headlessui/react';
|
|
|
6
12
|
import { Icon } from '@unite-us/ui';
|
|
7
13
|
import { getPreferredProp } from '@unite-us/ui';
|
|
8
14
|
import '../pages/builder/ReferralBuilderForm.scss';
|
|
9
|
-
|
|
10
|
-
export const SearchableSelectField = props => {
|
|
15
|
+
export var SearchableSelectField = function SearchableSelectField(props) {
|
|
11
16
|
var _getPreferredProp;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
style = {
|
|
17
|
+
var className = props.className,
|
|
18
|
+
clearable = props.clearable,
|
|
19
|
+
hideLabel = props.hideLabel,
|
|
20
|
+
label = props.label,
|
|
21
|
+
labelClassName = props.labelClassName,
|
|
22
|
+
listBoxUpOptionsClassName = props.listBoxUpOptionsClassName,
|
|
23
|
+
onChange = props.onChange,
|
|
24
|
+
options = props.options,
|
|
25
|
+
placeholder = props.placeholder,
|
|
26
|
+
required = props.required,
|
|
27
|
+
truncateOptions = props.truncateOptions,
|
|
28
|
+
onInputChange = props.onInputChange,
|
|
29
|
+
id = props.id,
|
|
30
|
+
_props$style = props.style,
|
|
31
|
+
style = _props$style === void 0 ? {
|
|
27
32
|
container: {},
|
|
28
33
|
label: {},
|
|
29
34
|
input: {},
|
|
30
35
|
hint: {},
|
|
31
36
|
error: {}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
} : _props$style;
|
|
38
|
+
var _useState = useState(false),
|
|
39
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
40
|
+
isFocused = _useState2[0],
|
|
41
|
+
setIsFocused = _useState2[1];
|
|
42
|
+
var hasError = getPreferredProp(props, 'invalid') && getPreferredProp(props, 'touched');
|
|
43
|
+
var name = getPreferredProp(props, 'name');
|
|
44
|
+
var error = getPreferredProp(props, 'error');
|
|
45
|
+
var reduxOnBlur = getPreferredProp(props, 'onBlur');
|
|
46
|
+
var value = (_getPreferredProp = getPreferredProp(props, 'value')) === null || _getPreferredProp === void 0 ? void 0 : _getPreferredProp.value;
|
|
47
|
+
var selectedOption = options.find(function (option) {
|
|
48
|
+
return option.value === value;
|
|
49
|
+
}) || null;
|
|
50
|
+
var _useState3 = useState(''),
|
|
51
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
52
|
+
query = _useState4[0],
|
|
53
|
+
setQuery = _useState4[1];
|
|
54
|
+
var filteredOptions = useMemo(function () {
|
|
55
|
+
return options.filter(function (option) {
|
|
56
|
+
return query === '' || option.label.toLowerCase().includes(query.toLowerCase());
|
|
57
|
+
});
|
|
58
|
+
}, [options, query]);
|
|
59
|
+
useEffect(function () {
|
|
44
60
|
if (isNull(selectedOption)) {
|
|
45
61
|
setQuery('');
|
|
46
62
|
}
|
|
47
63
|
}, [selectedOption, setQuery]);
|
|
48
|
-
|
|
64
|
+
var onClearClick = function onClearClick(event) {
|
|
49
65
|
event.stopPropagation();
|
|
50
66
|
onChange({});
|
|
51
67
|
setIsFocused(false);
|
|
52
68
|
};
|
|
53
|
-
|
|
54
|
-
|
|
69
|
+
var onBlur = function onBlur(event) {
|
|
70
|
+
var value = get(event, 'target.value', '');
|
|
55
71
|
reduxOnBlur(value);
|
|
56
72
|
setIsFocused(false);
|
|
57
73
|
};
|
|
58
|
-
return /*#__PURE__*/
|
|
74
|
+
return /*#__PURE__*/React.createElement(Combobox, {
|
|
59
75
|
value: value,
|
|
60
76
|
onChange: onChange,
|
|
61
77
|
onBlur: onBlur,
|
|
62
|
-
onFocus: ()
|
|
63
|
-
|
|
78
|
+
onFocus: function onFocus() {
|
|
79
|
+
return setIsFocused(true);
|
|
80
|
+
}
|
|
81
|
+
}, function () {
|
|
82
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
64
83
|
className: classNames(className, 'antialiased'),
|
|
65
|
-
"aria-live": "polite"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
icon: "IconCheck"
|
|
137
|
-
})
|
|
138
|
-
})]
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}, option.value))
|
|
142
|
-
})]
|
|
143
|
-
}), hasError && error && /*#__PURE__*/_jsx("div", {
|
|
144
|
-
className: "ui-form-field__error visible mt-1.5",
|
|
145
|
-
style: style.error,
|
|
146
|
-
"data-test-visible": hasError,
|
|
147
|
-
"data-testid": "".concat(name || id || 'unnamed', "-error"),
|
|
148
|
-
children: error
|
|
149
|
-
})]
|
|
150
|
-
})
|
|
84
|
+
"aria-live": "polite"
|
|
85
|
+
}, /*#__PURE__*/React.createElement(Combobox.Label, {
|
|
86
|
+
className: classNames('block mb-1 leading-snug', 'font-extrabold font-medium-font normal-case', !hasError && 'text-13px text-blue', hasError && 'text-13px text-red', labelClassName, hideLabel && 'hidden', required && 'ui-form-field__label--required')
|
|
87
|
+
}, label), /*#__PURE__*/React.createElement("div", {
|
|
88
|
+
className: "relative"
|
|
89
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
90
|
+
className: classNames('relative box-border w-full bg-white cursor-default text-left', 'pl-3 py-2 border border-solid rounded-md shadow-sm focus:shadow-input-ring', !hasError && 'border-dark-border-blue ', !hasError && 'border-blue hover:border-action-blue focus:border-action-blue', hasError && 'border border-dark-border-red', hasError && 'border-red hover:border-action-red focus:border-action-red', isFocused && 'border-solid border-focus-blue', clearable && !isEmpty(selectedOption) ? 'pr-12' : 'pr-10')
|
|
91
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
className: "absolute inset-y-1"
|
|
93
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
94
|
+
"aria-hidden": true,
|
|
95
|
+
className: "text-gray",
|
|
96
|
+
icon: "IconSearch",
|
|
97
|
+
size: 16
|
|
98
|
+
})), /*#__PURE__*/React.createElement(Combobox.Input, {
|
|
99
|
+
className: "h-5 w-full pl-6 leading-5 focus:outline-none",
|
|
100
|
+
displayValue: value,
|
|
101
|
+
onChange: function onChange(evt) {
|
|
102
|
+
if (onInputChange) {
|
|
103
|
+
onInputChange(evt.target.value);
|
|
104
|
+
} else {
|
|
105
|
+
setQuery(evt.target.value);
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
value: value,
|
|
109
|
+
placeholder: placeholder,
|
|
110
|
+
id: id
|
|
111
|
+
}), clearable && (!isEmpty(selectedOption) || !isEmpty(value)) && /*#__PURE__*/React.createElement("span", {
|
|
112
|
+
className: "absolute opacity-50 inset-y-0 inset-x-1 right-4 flex items-center pr-5 pl-1"
|
|
113
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
114
|
+
className: "text-gray",
|
|
115
|
+
icon: "IconCross",
|
|
116
|
+
size: 10,
|
|
117
|
+
onClick: onClearClick,
|
|
118
|
+
ariaLabel: "Clear ".concat(label)
|
|
119
|
+
})), /*#__PURE__*/React.createElement(Combobox.Button, {
|
|
120
|
+
className: classNames('absolute inset-y-0 right-0 flex items-center pr-4 focus:outline-none', clearable && selectedOption ? 'pl-0' : 'pl-2')
|
|
121
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
122
|
+
"aria-hidden": true,
|
|
123
|
+
className: "text-gray",
|
|
124
|
+
icon: "IconChevronDown",
|
|
125
|
+
size: 12
|
|
126
|
+
}))), /*#__PURE__*/React.createElement(Combobox.Options, {
|
|
127
|
+
className: classNames('absolute z-dropdown box-content pl-0 py-1 z-10 mt-1 w-full max-h-80 overflow-auto', 'bg-white shadow-lg rounded-md text-base focus:outline-none', listBoxUpOptionsClassName)
|
|
128
|
+
}, filteredOptions.map(function (option) {
|
|
129
|
+
return /*#__PURE__*/React.createElement(Combobox.Option, {
|
|
130
|
+
className: function className(_ref) {
|
|
131
|
+
var active = _ref.active;
|
|
132
|
+
return classNames('relative cursor-pointer py-2 pl-3 pr-9 select-none', active && 'bg-action-blue');
|
|
133
|
+
},
|
|
134
|
+
key: option.value,
|
|
135
|
+
value: option
|
|
136
|
+
}, function (_ref2) {
|
|
137
|
+
var active = _ref2.active,
|
|
138
|
+
selected = _ref2.selected;
|
|
139
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
140
|
+
className: classNames('block leading-4', truncateOptions && 'truncate', active ? 'text-white' : 'text-text-blue', selected ? 'font-semibold mr-8' : 'font-normal')
|
|
141
|
+
}, option.label), selected && /*#__PURE__*/React.createElement("span", {
|
|
142
|
+
className: "absolute inset-y-0 right-0 flex items-center pr-4"
|
|
143
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
144
|
+
"aria-hidden": true,
|
|
145
|
+
className: classNames('h-5 w-5 fill-current', active ? 'text-white' : 'text-action-blue'),
|
|
146
|
+
icon: "IconCheck"
|
|
147
|
+
})));
|
|
148
|
+
});
|
|
149
|
+
}))), hasError && error && /*#__PURE__*/React.createElement("div", {
|
|
150
|
+
className: "ui-form-field__error visible mt-1.5",
|
|
151
|
+
style: style.error,
|
|
152
|
+
"data-test-visible": hasError,
|
|
153
|
+
"data-testid": "".concat(name || id || 'unnamed', "-error")
|
|
154
|
+
}, error));
|
|
151
155
|
});
|
|
152
156
|
};
|
|
153
157
|
SearchableSelectField.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchableField.js","names":["React","useEffect","useMemo","useState","PropTypes","isNull","isEmpty","get","classNames","Combobox","Icon","getPreferredProp","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SearchableSelectField","props","_getPreferredProp","className","clearable","hideLabel","label","labelClassName","listBoxUpOptionsClassName","onChange","options","placeholder","required","truncateOptions","onInputChange","id","style","container","input","hint","error","isFocused","setIsFocused","hasError","name","reduxOnBlur","value","selectedOption","find","option","query","setQuery","filteredOptions","filter","toLowerCase","includes","onClearClick","event","stopPropagation","onBlur","onFocus","children","Label","icon","size","Input","displayValue","evt","target","onClick","ariaLabel","concat","Button","Options","map","Option","_ref","active","_ref2","selected","propTypes","string","bool","func","isRequired","arrayOf","shape","oneOfType","object","array","number","node","defaultProps","undefined"],"sources":["../../src/components/SearchableField.js"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { isNull, isEmpty, get} from 'lodash';\nimport classNames from 'classnames';\nimport { Combobox } from '@headlessui/react';\nimport { Icon } from '@unite-us/ui';\nimport { getPreferredProp } from '@unite-us/ui';\nimport '../pages/builder/ReferralBuilderForm.scss';\n\nexport const SearchableSelectField = (props) => {\n const {\n className,\n clearable,\n hideLabel,\n label,\n labelClassName,\n listBoxUpOptionsClassName,\n onChange,\n options,\n placeholder,\n required,\n truncateOptions,\n onInputChange,\n id,\n style = {\n container: {},\n label: {},\n input: {},\n hint: {},\n error: {},\n },\n } = props\n const [isFocused, setIsFocused] = useState(false);\n const hasError = getPreferredProp(props, 'invalid') && getPreferredProp(props, 'touched');\n const name = getPreferredProp(props, 'name');\n const error = getPreferredProp(props, 'error');\n const reduxOnBlur = getPreferredProp(props, 'onBlur');\n const value = getPreferredProp(props, 'value')?.value;\n const selectedOption = options.find((option) => option.value === value) || null;\n const [query, setQuery] = useState('');\n const filteredOptions = useMemo(() => (\n options.filter((option) => (\n query === '' || option.label.toLowerCase().includes(query.toLowerCase())\n ))\n ), [options, query]);\n\n useEffect(() => {\n if (isNull(selectedOption)) {\n setQuery('');\n }\n }, [selectedOption, setQuery]);\n\n const onClearClick = (event) => {\n event.stopPropagation();\n onChange({});\n setIsFocused(false);\n };\n\n const onBlur = (event) => {\n const value = get(event, 'target.value', '');\n reduxOnBlur(value);\n setIsFocused(false);\n };\n\n return (\n <Combobox\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={() => setIsFocused(true)}\n >\n {() => (\n <div className={classNames(className, 'antialiased')} aria-live=\"polite\">\n <Combobox.Label className={classNames(\n 'block mb-1 leading-snug',\n 'font-extrabold font-medium-font normal-case',\n !hasError && 'text-13px text-blue',\n hasError && 'text-13px text-red',\n labelClassName,\n hideLabel && 'hidden',\n required && 'ui-form-field__label--required',\n )}\n >\n {label}\n </Combobox.Label>\n <div className=\"relative\">\n <div className={classNames(\n 'relative box-border w-full bg-white cursor-default text-left',\n 'pl-3 py-2 border border-solid rounded-md shadow-sm focus:shadow-input-ring',\n !hasError && 'border-dark-border-blue ',\n !hasError && 'border-blue hover:border-action-blue focus:border-action-blue',\n hasError && 'border border-dark-border-red',\n hasError && 'border-red hover:border-action-red focus:border-action-red',\n isFocused && 'border-solid border-focus-blue',\n clearable && !isEmpty(selectedOption) ? 'pr-12' : 'pr-10',\n )}\n >\n <div className=\"absolute inset-y-1\">\n <Icon\n aria-hidden\n className=\"text-gray\"\n icon=\"IconSearch\"\n size={16}\n />\n </div>\n <Combobox.Input\n className=\"h-5 w-full pl-6 leading-5 focus:outline-none\"\n displayValue={value}\n onChange={(evt) => {\n if (onInputChange) { onInputChange(evt.target.value); } else { setQuery(evt.target.value); }\n }}\n value={value}\n placeholder={placeholder}\n id={id}\n />\n {\n clearable && (!isEmpty(selectedOption) || !isEmpty(value)) && (\n <span\n className=\"absolute opacity-50 inset-y-0 inset-x-1 right-4 flex items-center pr-5 pl-1\"\n >\n <Icon\n className=\"text-gray\"\n icon=\"IconCross\"\n size={10}\n onClick={onClearClick}\n ariaLabel={`Clear ${label}`}\n />\n </span>\n )\n }\n <Combobox.Button\n className={classNames(\n 'absolute inset-y-0 right-0 flex items-center pr-4 focus:outline-none',\n clearable && selectedOption ? 'pl-0' : 'pl-2',\n )}\n >\n <Icon\n aria-hidden\n className=\"text-gray\"\n icon=\"IconChevronDown\"\n size={12}\n />\n </Combobox.Button>\n </div>\n <Combobox.Options\n className={classNames(\n 'absolute z-dropdown box-content pl-0 py-1 z-10 mt-1 w-full max-h-80 overflow-auto',\n 'bg-white shadow-lg rounded-md text-base focus:outline-none',\n listBoxUpOptionsClassName,\n )}\n >\n {filteredOptions.map((option) => (\n <Combobox.Option\n className={({ active }) => classNames(\n 'relative cursor-pointer py-2 pl-3 pr-9 select-none',\n active && 'bg-action-blue',\n )}\n key={option.value}\n value={option}\n >\n {({ active, selected }) => (\n <>\n <span\n className={classNames(\n 'block leading-4',\n truncateOptions && 'truncate',\n active ? 'text-white' : 'text-text-blue',\n selected ? 'font-semibold mr-8' : 'font-normal',\n )}\n >\n {option.label}\n </span>\n {selected && (\n <span className=\"absolute inset-y-0 right-0 flex items-center pr-4\">\n <Icon\n aria-hidden\n className={classNames(\n 'h-5 w-5 fill-current',\n active ? 'text-white' : 'text-action-blue',\n )}\n icon=\"IconCheck\"\n />\n </span>\n )}\n </>\n )}\n </Combobox.Option>\n ))}\n </Combobox.Options>\n </div>\n {hasError && error && (\n <div\n className=\"ui-form-field__error visible mt-1.5\"\n style={style.error}\n data-test-visible={hasError}\n data-testid={`${name || id || 'unnamed'}-error`}\n >\n {error}\n </div>\n )}\n </div>\n )}\n </Combobox>\n );\n};\n\nSearchableSelectField.propTypes = {\n className: PropTypes.string,\n clearable: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n ]).isRequired,\n }),\n ),\n label: PropTypes.node,\n labelClassName: PropTypes.string,\n hideLabel: PropTypes.bool,\n listBoxUpOptionsClassName: PropTypes.string,\n placeholder: PropTypes.string,\n required: PropTypes.bool,\n truncateOptions: PropTypes.bool,\n onInputChange: PropTypes.func,\n id: PropTypes.string,\n style: PropTypes.shape({\n container: PropTypes.object,\n error: PropTypes.object,\n hint: PropTypes.object,\n input: PropTypes.object,\n label: PropTypes.object,\n }),\n};\n\nSearchableSelectField.defaultProps = {\n className: '',\n clearable: false,\n options: [],\n label: '',\n labelClassName: undefined,\n listBoxUpOptionsClassName: '',\n placeholder: '',\n required: false,\n truncateOptions: true,\n hideLabel: false,\n onInputChange: null,\n id: '',\n style: {\n container: {},\n label: {},\n input: {},\n hint: {},\n error: {},\n },\n};\n\nexport default SearchableSelectField;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchableField.js","names":["React","useEffect","useMemo","useState","PropTypes","isNull","isEmpty","get","classNames","Combobox","Icon","getPreferredProp","SearchableSelectField","props","_getPreferredProp","className","clearable","hideLabel","label","labelClassName","listBoxUpOptionsClassName","onChange","options","placeholder","required","truncateOptions","onInputChange","id","_props$style","style","container","input","hint","error","_useState","_useState2","_slicedToArray","isFocused","setIsFocused","hasError","name","reduxOnBlur","value","selectedOption","find","option","_useState3","_useState4","query","setQuery","filteredOptions","filter","toLowerCase","includes","onClearClick","event","stopPropagation","onBlur","createElement","onFocus","Label","icon","size","Input","displayValue","evt","target","onClick","ariaLabel","concat","Button","Options","map","Option","_ref","active","key","_ref2","selected","Fragment","propTypes","string","bool","func","isRequired","arrayOf","shape","oneOfType","object","array","number","node","defaultProps","undefined"],"sources":["../../src/components/SearchableField.js"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { isNull, isEmpty, get} from 'lodash';\nimport classNames from 'classnames';\nimport { Combobox } from '@headlessui/react';\nimport { Icon } from '@unite-us/ui';\nimport { getPreferredProp } from '@unite-us/ui';\nimport '../pages/builder/ReferralBuilderForm.scss';\n\nexport const SearchableSelectField = (props) => {\n const {\n className,\n clearable,\n hideLabel,\n label,\n labelClassName,\n listBoxUpOptionsClassName,\n onChange,\n options,\n placeholder,\n required,\n truncateOptions,\n onInputChange,\n id,\n style = {\n container: {},\n label: {},\n input: {},\n hint: {},\n error: {},\n },\n } = props\n const [isFocused, setIsFocused] = useState(false);\n const hasError = getPreferredProp(props, 'invalid') && getPreferredProp(props, 'touched');\n const name = getPreferredProp(props, 'name');\n const error = getPreferredProp(props, 'error');\n const reduxOnBlur = getPreferredProp(props, 'onBlur');\n const value = getPreferredProp(props, 'value')?.value;\n const selectedOption = options.find((option) => option.value === value) || null;\n const [query, setQuery] = useState('');\n const filteredOptions = useMemo(() => (\n options.filter((option) => (\n query === '' || option.label.toLowerCase().includes(query.toLowerCase())\n ))\n ), [options, query]);\n\n useEffect(() => {\n if (isNull(selectedOption)) {\n setQuery('');\n }\n }, [selectedOption, setQuery]);\n\n const onClearClick = (event) => {\n event.stopPropagation();\n onChange({});\n setIsFocused(false);\n };\n\n const onBlur = (event) => {\n const value = get(event, 'target.value', '');\n reduxOnBlur(value);\n setIsFocused(false);\n };\n\n return (\n <Combobox\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={() => setIsFocused(true)}\n >\n {() => (\n <div className={classNames(className, 'antialiased')} aria-live=\"polite\">\n <Combobox.Label className={classNames(\n 'block mb-1 leading-snug',\n 'font-extrabold font-medium-font normal-case',\n !hasError && 'text-13px text-blue',\n hasError && 'text-13px text-red',\n labelClassName,\n hideLabel && 'hidden',\n required && 'ui-form-field__label--required',\n )}\n >\n {label}\n </Combobox.Label>\n <div className=\"relative\">\n <div className={classNames(\n 'relative box-border w-full bg-white cursor-default text-left',\n 'pl-3 py-2 border border-solid rounded-md shadow-sm focus:shadow-input-ring',\n !hasError && 'border-dark-border-blue ',\n !hasError && 'border-blue hover:border-action-blue focus:border-action-blue',\n hasError && 'border border-dark-border-red',\n hasError && 'border-red hover:border-action-red focus:border-action-red',\n isFocused && 'border-solid border-focus-blue',\n clearable && !isEmpty(selectedOption) ? 'pr-12' : 'pr-10',\n )}\n >\n <div className=\"absolute inset-y-1\">\n <Icon\n aria-hidden\n className=\"text-gray\"\n icon=\"IconSearch\"\n size={16}\n />\n </div>\n <Combobox.Input\n className=\"h-5 w-full pl-6 leading-5 focus:outline-none\"\n displayValue={value}\n onChange={(evt) => {\n if (onInputChange) { onInputChange(evt.target.value); } else { setQuery(evt.target.value); }\n }}\n value={value}\n placeholder={placeholder}\n id={id}\n />\n {\n clearable && (!isEmpty(selectedOption) || !isEmpty(value)) && (\n <span\n className=\"absolute opacity-50 inset-y-0 inset-x-1 right-4 flex items-center pr-5 pl-1\"\n >\n <Icon\n className=\"text-gray\"\n icon=\"IconCross\"\n size={10}\n onClick={onClearClick}\n ariaLabel={`Clear ${label}`}\n />\n </span>\n )\n }\n <Combobox.Button\n className={classNames(\n 'absolute inset-y-0 right-0 flex items-center pr-4 focus:outline-none',\n clearable && selectedOption ? 'pl-0' : 'pl-2',\n )}\n >\n <Icon\n aria-hidden\n className=\"text-gray\"\n icon=\"IconChevronDown\"\n size={12}\n />\n </Combobox.Button>\n </div>\n <Combobox.Options\n className={classNames(\n 'absolute z-dropdown box-content pl-0 py-1 z-10 mt-1 w-full max-h-80 overflow-auto',\n 'bg-white shadow-lg rounded-md text-base focus:outline-none',\n listBoxUpOptionsClassName,\n )}\n >\n {filteredOptions.map((option) => (\n <Combobox.Option\n className={({ active }) => classNames(\n 'relative cursor-pointer py-2 pl-3 pr-9 select-none',\n active && 'bg-action-blue',\n )}\n key={option.value}\n value={option}\n >\n {({ active, selected }) => (\n <>\n <span\n className={classNames(\n 'block leading-4',\n truncateOptions && 'truncate',\n active ? 'text-white' : 'text-text-blue',\n selected ? 'font-semibold mr-8' : 'font-normal',\n )}\n >\n {option.label}\n </span>\n {selected && (\n <span className=\"absolute inset-y-0 right-0 flex items-center pr-4\">\n <Icon\n aria-hidden\n className={classNames(\n 'h-5 w-5 fill-current',\n active ? 'text-white' : 'text-action-blue',\n )}\n icon=\"IconCheck\"\n />\n </span>\n )}\n </>\n )}\n </Combobox.Option>\n ))}\n </Combobox.Options>\n </div>\n {hasError && error && (\n <div\n className=\"ui-form-field__error visible mt-1.5\"\n style={style.error}\n data-test-visible={hasError}\n data-testid={`${name || id || 'unnamed'}-error`}\n >\n {error}\n </div>\n )}\n </div>\n )}\n </Combobox>\n );\n};\n\nSearchableSelectField.propTypes = {\n className: PropTypes.string,\n clearable: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n ]).isRequired,\n }),\n ),\n label: PropTypes.node,\n labelClassName: PropTypes.string,\n hideLabel: PropTypes.bool,\n listBoxUpOptionsClassName: PropTypes.string,\n placeholder: PropTypes.string,\n required: PropTypes.bool,\n truncateOptions: PropTypes.bool,\n onInputChange: PropTypes.func,\n id: PropTypes.string,\n style: PropTypes.shape({\n container: PropTypes.object,\n error: PropTypes.object,\n hint: PropTypes.object,\n input: PropTypes.object,\n label: PropTypes.object,\n }),\n};\n\nSearchableSelectField.defaultProps = {\n className: '',\n clearable: false,\n options: [],\n label: '',\n labelClassName: undefined,\n listBoxUpOptionsClassName: '',\n placeholder: '',\n required: false,\n truncateOptions: true,\n hideLabel: false,\n onInputChange: null,\n id: '',\n style: {\n container: {},\n label: {},\n input: {},\n hint: {},\n error: {},\n },\n};\n\nexport default SearchableSelectField;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,30 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Icon } from '@unite-us/ui';
|
|
3
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
3
|
export default function StepHeader(props) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
className: "grid place-items-center",
|
|
22
|
-
children: /*#__PURE__*/_jsx("div", {
|
|
23
|
-
className: "w-1/2 text-center",
|
|
24
|
-
children: children
|
|
25
|
-
})
|
|
26
|
-
})]
|
|
27
|
-
})
|
|
28
|
-
});
|
|
4
|
+
var header = props.header,
|
|
5
|
+
icon = props.icon,
|
|
6
|
+
children = props.children;
|
|
7
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
8
|
+
className: "flex justify-center responsive-max-width flex-col mx-auto mb-8"
|
|
9
|
+
}, /*#__PURE__*/React.createElement("h1", {
|
|
10
|
+
className: "text-3xl my-5 text-center font-bold"
|
|
11
|
+
}, icon && /*#__PURE__*/React.createElement(Icon, {
|
|
12
|
+
icon: "V2Referrall",
|
|
13
|
+
color: "#182a44",
|
|
14
|
+
className: "w-12 h-12 pr-4"
|
|
15
|
+
}), header), /*#__PURE__*/React.createElement("div", {
|
|
16
|
+
className: "grid place-items-center"
|
|
17
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
18
|
+
className: "w-1/2 text-center"
|
|
19
|
+
}, children))));
|
|
29
20
|
}
|
|
30
21
|
//# sourceMappingURL=StepHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepHeader.js","names":["React","Icon","
|
|
1
|
+
{"version":3,"file":"StepHeader.js","names":["React","Icon","StepHeader","props","header","icon","children","createElement","Fragment","className","color"],"sources":["../../src/components/StepHeader.js"],"sourcesContent":["import React from 'react';\nimport { Icon } from '@unite-us/ui';\n\nexport default function StepHeader(props) {\n const { header, icon, children } = props;\n\n return (\n <>\n <div className=\"flex justify-center responsive-max-width flex-col mx-auto mb-8\">\n <h1 className='text-3xl my-5 text-center font-bold'>\n {icon && <Icon icon=\"V2Referrall\" color=\"#182a44\" className=\"w-12 h-12 pr-4\" />}\n {header}\n </h1>\n <div className='grid place-items-center'>\n <div className='w-1/2 text-center'>\n {children}\n </div>\n </div>\n </div>\n </>\n )\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,eAAe,SAASC,UAAUA,CAACC,KAAK,EAAE;EACxC,IAAQC,MAAM,GAAqBD,KAAK,CAAhCC,MAAM;IAAEC,IAAI,GAAeF,KAAK,CAAxBE,IAAI;IAAEC,QAAQ,GAAKH,KAAK,CAAlBG,QAAQ;EAE9B,oBACEN,KAAA,CAAAO,aAAA,CAAAP,KAAA,CAAAQ,QAAA,qBACER,KAAA,CAAAO,aAAA;IAAKE,SAAS,EAAC;EAAgE,gBAC7ET,KAAA,CAAAO,aAAA;IAAIE,SAAS,EAAC;EAAqC,GAChDJ,IAAI,iBAAIL,KAAA,CAAAO,aAAA,CAACN,IAAI;IAACI,IAAI,EAAC,aAAa;IAACK,KAAK,EAAC,SAAS;IAACD,SAAS,EAAC;EAAgB,CAAE,CAAC,EAC9EL,MACC,CAAC,eACLJ,KAAA,CAAAO,aAAA;IAAKE,SAAS,EAAC;EAAyB,gBACtCT,KAAA,CAAAO,aAAA;IAAKE,SAAS,EAAC;EAAmB,GAC/BH,QACE,CACF,CACF,CACL,CAAC;AAEP","ignoreList":[]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { isFunction, isBoolean } from "lodash";
|
|
2
2
|
import React, { Fragment } from "react";
|
|
3
3
|
import { Icon } from "@unite-us/ui";
|
|
4
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
4
|
function getColorClass(active, completed) {
|
|
6
|
-
|
|
5
|
+
var iconBgColorClass = "bg-dark-grey",
|
|
7
6
|
textColorClass = "text-dark-grey";
|
|
8
7
|
if (active) {
|
|
9
8
|
iconBgColorClass = "bg-dark-blue";
|
|
@@ -13,70 +12,67 @@ function getColorClass(active, completed) {
|
|
|
13
12
|
textColorClass = "text-action-blue";
|
|
14
13
|
}
|
|
15
14
|
return {
|
|
16
|
-
iconBgColorClass,
|
|
17
|
-
textColorClass
|
|
15
|
+
iconBgColorClass: iconBgColorClass,
|
|
16
|
+
textColorClass: textColorClass
|
|
18
17
|
};
|
|
19
18
|
}
|
|
20
19
|
function Step(_ref) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
textColorClass
|
|
32
|
-
} = getColorClass(active, completed);
|
|
33
|
-
return /*#__PURE__*/_jsxs("button", {
|
|
20
|
+
var active = _ref.active,
|
|
21
|
+
completed = _ref.completed,
|
|
22
|
+
disabled = _ref.disabled,
|
|
23
|
+
icon = _ref.icon,
|
|
24
|
+
label = _ref.label,
|
|
25
|
+
_onClick = _ref.onClick;
|
|
26
|
+
var _getColorClass = getColorClass(active, completed),
|
|
27
|
+
iconBgColorClass = _getColorClass.iconBgColorClass,
|
|
28
|
+
textColorClass = _getColorClass.textColorClass;
|
|
29
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
34
30
|
className: "flex items-center p-4 ".concat(disabled ? "cursor-default" : ""),
|
|
35
|
-
onClick: e
|
|
31
|
+
onClick: function onClick(e) {
|
|
36
32
|
if (!disabled) {
|
|
37
|
-
|
|
33
|
+
_onClick(e);
|
|
38
34
|
}
|
|
39
35
|
},
|
|
40
36
|
"aria-label": "Step ".concat(icon, ": ").concat(label),
|
|
41
|
-
"aria-disabled": disabled
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
children: label
|
|
52
|
-
})]
|
|
53
|
-
});
|
|
37
|
+
"aria-disabled": disabled
|
|
38
|
+
}, completed ? /*#__PURE__*/React.createElement(Icon, {
|
|
39
|
+
icon: "V2CheckCircle",
|
|
40
|
+
color: "#4467AB",
|
|
41
|
+
size: 24
|
|
42
|
+
}) : /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
className: "text-white text-base flex items-center justify-center font-black w-6 h-6 rounded-full ".concat(iconBgColorClass)
|
|
44
|
+
}, icon), /*#__PURE__*/React.createElement("span", {
|
|
45
|
+
className: "font-black whitespace-no-wrap ml-2 text-base ".concat(textColorClass)
|
|
46
|
+
}, label));
|
|
54
47
|
}
|
|
55
48
|
export default function Stepper(_ref2) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const currentStep = steps.findIndex(s => isFunction(s.isActive) && s.isActive());
|
|
61
|
-
return /*#__PURE__*/_jsx("div", {
|
|
62
|
-
className: "".concat(className, " flex justify-around items-center"),
|
|
63
|
-
children: steps.map((step, index) => {
|
|
64
|
-
const completed = isStepCompleted(steps[index], currentStep, index);
|
|
65
|
-
const disabled = isStepDisabled(steps[index], currentStep);
|
|
66
|
-
return /*#__PURE__*/_jsxs(Fragment, {
|
|
67
|
-
children: [/*#__PURE__*/_jsx(Step, {
|
|
68
|
-
active: index === currentStep,
|
|
69
|
-
completed: completed,
|
|
70
|
-
disabled: disabled || !completed,
|
|
71
|
-
icon: index + 1,
|
|
72
|
-
label: step.label,
|
|
73
|
-
onClick: () => step.onStepClick()
|
|
74
|
-
}, "step-".concat(index)), index < steps.length - 1 && /*#__PURE__*/_jsx("div", {
|
|
75
|
-
className: "h-px w-full bg-grey"
|
|
76
|
-
}, "divider-".concat(index))]
|
|
77
|
-
}, index);
|
|
78
|
-
})
|
|
49
|
+
var steps = _ref2.steps,
|
|
50
|
+
className = _ref2.className;
|
|
51
|
+
var currentStep = steps.findIndex(function (s) {
|
|
52
|
+
return isFunction(s.isActive) && s.isActive();
|
|
79
53
|
});
|
|
54
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
55
|
+
className: "".concat(className, " flex justify-around items-center")
|
|
56
|
+
}, steps.map(function (step, index) {
|
|
57
|
+
var completed = isStepCompleted(steps[index], currentStep, index);
|
|
58
|
+
var disabled = isStepDisabled(steps[index], currentStep);
|
|
59
|
+
return /*#__PURE__*/React.createElement(Fragment, {
|
|
60
|
+
key: index
|
|
61
|
+
}, /*#__PURE__*/React.createElement(Step, {
|
|
62
|
+
key: "step-".concat(index),
|
|
63
|
+
active: index === currentStep,
|
|
64
|
+
completed: completed,
|
|
65
|
+
disabled: disabled || !completed,
|
|
66
|
+
icon: index + 1,
|
|
67
|
+
label: step.label,
|
|
68
|
+
onClick: function onClick() {
|
|
69
|
+
return step.onStepClick();
|
|
70
|
+
}
|
|
71
|
+
}), index < steps.length - 1 && /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
key: "divider-".concat(index),
|
|
73
|
+
className: "h-px w-full bg-grey"
|
|
74
|
+
}));
|
|
75
|
+
}));
|
|
80
76
|
}
|
|
81
77
|
function isStepCompleted(step, currentStep, index) {
|
|
82
78
|
if (isFunction(step.stepCompleted)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.js","names":["isFunction","isBoolean","React","Fragment","Icon","
|
|
1
|
+
{"version":3,"file":"Stepper.js","names":["isFunction","isBoolean","React","Fragment","Icon","getColorClass","active","completed","iconBgColorClass","textColorClass","Step","_ref","disabled","icon","label","onClick","_getColorClass","createElement","className","concat","e","color","size","Stepper","_ref2","steps","currentStep","findIndex","s","isActive","map","step","index","isStepCompleted","isStepDisabled","key","onStepClick","length","stepCompleted","stepDisabled"],"sources":["../../src/components/Stepper.js"],"sourcesContent":["import { isFunction, isBoolean } from \"lodash\";\nimport React, { Fragment } from \"react\";\nimport { Icon } from \"@unite-us/ui\";\n\nfunction getColorClass(active, completed) {\n let iconBgColorClass = \"bg-dark-grey\", textColorClass = \"text-dark-grey\";\n if (active) {\n iconBgColorClass = \"bg-dark-blue\";\n textColorClass = \"text-dark-blue\";\n } else if (completed) {\n iconBgColorClass = \"bg-action-blue\";\n textColorClass = \"text-action-blue\";\n }\n\n return { iconBgColorClass, textColorClass };\n}\n\nfunction Step({ active, completed, disabled, icon, label, onClick }) {\n const { iconBgColorClass, textColorClass } = getColorClass(active, completed);\n\n return (\n <button\n className={`flex items-center p-4 ${disabled ? \"cursor-default\" : \"\"}`}\n onClick={(e) => {\n if (!disabled) {\n onClick(e);\n }\n }}\n aria-label={`Step ${icon}: ${label}`}\n aria-disabled={disabled}\n >\n {completed ? (\n <Icon icon=\"V2CheckCircle\" color=\"#4467AB\" size={24} />\n ) : (\n <div\n className={`text-white text-base flex items-center justify-center font-black w-6 h-6 rounded-full ${iconBgColorClass}`}\n >\n {icon}\n </div>\n )}\n\n <span className={`font-black whitespace-no-wrap ml-2 text-base ${textColorClass}`}>{label}</span>\n </button>\n );\n}\n\nexport default function Stepper({ steps, className }) {\n const currentStep = steps.findIndex((s) => isFunction(s.isActive) && s.isActive());\n\n return (\n <div className={`${className} flex justify-around items-center`}>\n {steps.map((step, index) => {\n const completed = isStepCompleted(steps[index], currentStep, index);\n const disabled = isStepDisabled(steps[index], currentStep);\n\n return (\n <Fragment key={index}>\n <Step\n key={`step-${index}`}\n active={index === currentStep}\n completed={completed}\n disabled={disabled || !completed}\n icon={index + 1}\n label={step.label}\n onClick={() => step.onStepClick()}\n />\n {index < steps.length - 1 && (\n <div\n key={`divider-${index}`}\n className=\"h-px w-full bg-grey\"\n />\n )}\n </Fragment>\n );\n })}\n </div>\n );\n}\n\nfunction isStepCompleted(step, currentStep, index) {\n if (isFunction(step.stepCompleted)) {\n return step.stepCompleted(currentStep);\n }\n if (isBoolean(step.stepCompleted)) {\n return step.stepCompleted;\n }\n return currentStep > index;\n}\n\nfunction isStepDisabled(step, currentStep) {\n if (isFunction(step.stepDisabled)) {\n return step.stepDisabled(currentStep);\n }\n if (isBoolean(step.stepDisabled)) {\n return step.stepDisabled;\n }\n return false;\n}\n"],"mappings":"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","ignoreList":[]}
|