@sheerid/jslib-nightly 2.286.0-alpha.2 → 2.287.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_mysheerid-preview.css +4 -4
- package/_mysheerid-preview.js +44 -44
- package/chunk/{AddressComponent-CEvgEQMA.js → AddressComponent-B5eAINS_.js} +8 -8
- package/chunk/{AddressComponent-CEvgEQMA.js.map → AddressComponent-B5eAINS_.js.map} +1 -1
- package/chunk/{AddressComponent-fSIQCSHy.js → AddressComponent-BX0jgUls.js} +8 -8
- package/chunk/{AddressComponent-fSIQCSHy.js.map → AddressComponent-BX0jgUls.js.map} +1 -1
- package/chunk/{AnnouncingHeader-Cm6ysN0V.js → AnnouncingHeader-B0Ku-xl_.js} +6 -6
- package/chunk/{AnnouncingHeader-Cm6ysN0V.js.map → AnnouncingHeader-B0Ku-xl_.js.map} +1 -1
- package/chunk/{AnnouncingHeader-yslSIrZR.js → AnnouncingHeader-CXTQdbKG.js} +6 -6
- package/chunk/{AnnouncingHeader-yslSIrZR.js.map → AnnouncingHeader-CXTQdbKG.js.map} +1 -1
- package/chunk/{ApiUrls-Zdy0p875.js → ApiUrls-ol4IjBVl.js} +6 -6
- package/chunk/{ApiUrls-Zdy0p875.js.map → ApiUrls-ol4IjBVl.js.map} +1 -1
- package/chunk/{ApiUrls-DT6YDZwO.js → ApiUrls-qObYCkBX.js} +6 -6
- package/chunk/{ApiUrls-DT6YDZwO.js.map → ApiUrls-qObYCkBX.js.map} +1 -1
- package/chunk/{BirthDateComponent-COBjAdFk.js → BirthDateComponent-C3dciAx3.js} +8 -8
- package/chunk/{BirthDateComponent-COBjAdFk.js.map → BirthDateComponent-C3dciAx3.js.map} +1 -1
- package/chunk/{BirthDateComponent-Dv6hU22_.js → BirthDateComponent-H5HznEwd.js} +8 -8
- package/chunk/{BirthDateComponent-Dv6hU22_.js.map → BirthDateComponent-H5HznEwd.js.map} +1 -1
- package/chunk/{CaptchaComponent-Dtr_Cbvu.js → CaptchaComponent-Bas7iNWQ.js} +15 -15
- package/chunk/{CaptchaComponent-3qiTIduG.js.map → CaptchaComponent-Bas7iNWQ.js.map} +1 -1
- package/chunk/{CaptchaComponent-3qiTIduG.js → CaptchaComponent-Diu_--ln.js} +15 -15
- package/chunk/{CaptchaComponent-Dtr_Cbvu.js.map → CaptchaComponent-Diu_--ln.js.map} +1 -1
- package/chunk/{ChangeLocaleComponent-B4Tlnh2U.js → ChangeLocaleComponent-9Y4SphUw.js} +9 -9
- package/chunk/{ChangeLocaleComponent-B4Tlnh2U.js.map → ChangeLocaleComponent-9Y4SphUw.js.map} +1 -1
- package/chunk/{ChangeLocaleComponent-jMvrJEW-.js → ChangeLocaleComponent-FJyzBxaT.js} +9 -9
- package/chunk/{ChangeLocaleComponent-jMvrJEW-.js.map → ChangeLocaleComponent-FJyzBxaT.js.map} +1 -1
- package/chunk/{City-BIL97VTt.js → City-BKbamDaP.js} +8 -8
- package/chunk/{City-BIL97VTt.js.map → City-BKbamDaP.js.map} +1 -1
- package/chunk/{City-xUKTZJTo.js → City-Ca9g2hnZ.js} +8 -8
- package/chunk/{City-xUKTZJTo.js.map → City-Ca9g2hnZ.js.map} +1 -1
- package/chunk/{CollegeNameComponent-OwBwjKji.js → CollegeNameComponent-CGVtD-y7.js} +10 -10
- package/chunk/{CollegeNameComponent-Hnhr9YwU.js.map → CollegeNameComponent-CGVtD-y7.js.map} +1 -1
- package/chunk/{CollegeNameComponent-Hnhr9YwU.js → CollegeNameComponent-FGIW65gB.js} +10 -10
- package/chunk/{CollegeNameComponent-OwBwjKji.js.map → CollegeNameComponent-FGIW65gB.js.map} +1 -1
- package/chunk/{CopyToClipboardComponent-BvzDoXkd.js → CopyToClipboardComponent-BAOwMLHJ.js} +28 -27
- package/chunk/CopyToClipboardComponent-BAOwMLHJ.js.map +1 -0
- package/chunk/{CopyToClipboardComponent-CHdDPJEa.js → CopyToClipboardComponent-BejK3fLR.js} +28 -27
- package/chunk/CopyToClipboardComponent-BejK3fLR.js.map +1 -0
- package/chunk/{CountryComponentWrapper-B1wLa3TB.js → CountryComponentWrapper-D80nVtWG.js} +16 -16
- package/chunk/{CountryComponentWrapper-B1wLa3TB.js.map → CountryComponentWrapper-D80nVtWG.js.map} +1 -1
- package/chunk/{CountryComponentWrapper-DhAq6SAW.js → CountryComponentWrapper-DVpRUMxT.js} +16 -16
- package/chunk/{CountryComponentWrapper-DhAq6SAW.js.map → CountryComponentWrapper-DVpRUMxT.js.map} +1 -1
- package/chunk/{DischargeDateComponent-CjUKk-H2.js → DischargeDateComponent-CmkIWUkY.js} +15 -15
- package/chunk/{DischargeDateComponent-CAtYqcPo.js.map → DischargeDateComponent-CmkIWUkY.js.map} +1 -1
- package/chunk/{DischargeDateComponent-CAtYqcPo.js → DischargeDateComponent-KHotEkM_.js} +15 -15
- package/chunk/{DischargeDateComponent-CjUKk-H2.js.map → DischargeDateComponent-KHotEkM_.js.map} +1 -1
- package/chunk/{DriverLicenseNumberComponent-BNd8xL27.js → DriverLicenseNumberComponent-51I57PrX.js} +8 -8
- package/chunk/{DriverLicenseNumberComponent-B877KIX3.js.map → DriverLicenseNumberComponent-51I57PrX.js.map} +1 -1
- package/chunk/{DriverLicenseNumberComponent-B877KIX3.js → DriverLicenseNumberComponent-BPTZ3YCP.js} +8 -8
- package/chunk/{DriverLicenseNumberComponent-BNd8xL27.js.map → DriverLicenseNumberComponent-BPTZ3YCP.js.map} +1 -1
- package/chunk/{EmailLoopPending-CUKvLcJV.js → EmailLoopPending-BA_s5Mka.js} +11 -11
- package/chunk/{EmailLoopPending-CUKvLcJV.js.map → EmailLoopPending-BA_s5Mka.js.map} +1 -1
- package/chunk/{EmailLoopPending-uBm7ltwg.js → EmailLoopPending-D0NtDW9P.js} +11 -11
- package/chunk/{EmailLoopPending-uBm7ltwg.js.map → EmailLoopPending-D0NtDW9P.js.map} +1 -1
- package/chunk/{ExtraMessage-OwXiBnCM.js → ExtraMessage-DE-G2A6f.js} +7 -7
- package/chunk/{ExtraMessage-Bx2shBsO.js.map → ExtraMessage-DE-G2A6f.js.map} +1 -1
- package/chunk/{ExtraMessage-Bx2shBsO.js → ExtraMessage-avw7s1h3.js} +7 -7
- package/chunk/{ExtraMessage-OwXiBnCM.js.map → ExtraMessage-avw7s1h3.js.map} +1 -1
- package/chunk/{FirstResponderOrganizationComponent-Gj4VL7DI.js → FirstResponderOrganizationComponent-D8PWm5LF.js} +9 -9
- package/chunk/{FirstResponderOrganizationComponent-BtSgJTlK.js.map → FirstResponderOrganizationComponent-D8PWm5LF.js.map} +1 -1
- package/chunk/{FirstResponderOrganizationComponent-BtSgJTlK.js → FirstResponderOrganizationComponent-LcdE0Dfk.js} +9 -9
- package/chunk/{FirstResponderOrganizationComponent-Gj4VL7DI.js.map → FirstResponderOrganizationComponent-LcdE0Dfk.js.map} +1 -1
- package/chunk/{FormFieldInputSelect-C2JbVtSi.js → FormFieldInputSelect-BjJQMfE5.js} +7 -7
- package/chunk/{FormFieldInputSelect-0RWaXUZ0.js.map → FormFieldInputSelect-BjJQMfE5.js.map} +1 -1
- package/chunk/{FormFieldInputSelect-0RWaXUZ0.js → FormFieldInputSelect-C_6HBdJ7.js} +7 -7
- package/chunk/{FormFieldInputSelect-C2JbVtSi.js.map → FormFieldInputSelect-C_6HBdJ7.js.map} +1 -1
- package/chunk/{FormFieldLayout-Ci7MzpgW.js → FormFieldLayout-DEKIQK2R.js} +6 -6
- package/chunk/{FormFieldLayout-C6rbRhh0.js.map → FormFieldLayout-DEKIQK2R.js.map} +1 -1
- package/chunk/{FormFieldLayout-C6rbRhh0.js → FormFieldLayout-NkmhFC9B.js} +6 -6
- package/chunk/{FormFieldLayout-Ci7MzpgW.js.map → FormFieldLayout-NkmhFC9B.js.map} +1 -1
- package/chunk/{FormFieldText-blykeSRX.js → FormFieldText-Bn9WIKiI.js} +7 -7
- package/chunk/{FormFieldText-Dx92JsxR.js.map → FormFieldText-Bn9WIKiI.js.map} +1 -1
- package/chunk/{FormFieldText-Dx92JsxR.js → FormFieldText-Py7x4EZ6.js} +7 -7
- package/chunk/{FormFieldText-blykeSRX.js.map → FormFieldText-Py7x4EZ6.js.map} +1 -1
- package/chunk/{FormFieldTypeahead-DIhWUSSE.js → FormFieldTypeahead-Bx3K_8cN.js} +13 -13
- package/chunk/{FormFieldTypeahead-DIhWUSSE.js.map → FormFieldTypeahead-Bx3K_8cN.js.map} +1 -1
- package/chunk/{FormFieldTypeahead-Fu_3FlXg.js → FormFieldTypeahead-CyI4wYc-.js} +13 -13
- package/chunk/{FormFieldTypeahead-Fu_3FlXg.js.map → FormFieldTypeahead-CyI4wYc-.js.map} +1 -1
- package/chunk/{FormFooterComponent-DYBSB7Oh.js → FormFooterComponent-B7fxKAhI.js} +13 -13
- package/chunk/{FormFooterComponent-DYBSB7Oh.js.map → FormFooterComponent-B7fxKAhI.js.map} +1 -1
- package/chunk/{FormFooterComponent-C68F5kaP.js → FormFooterComponent-BprB7621.js} +13 -13
- package/chunk/{FormFooterComponent-C68F5kaP.js.map → FormFooterComponent-BprB7621.js.map} +1 -1
- package/chunk/{FormSelectChoice-XdFgcHCe.js → FormSelectChoice-ClCU5Lc5.js} +8 -8
- package/chunk/{FormSelectChoice-LqM1ihM5.js.map → FormSelectChoice-ClCU5Lc5.js.map} +1 -1
- package/chunk/{FormSelectChoice-LqM1ihM5.js → FormSelectChoice-Dh__kjxg.js} +8 -8
- package/chunk/{FormSelectChoice-XdFgcHCe.js.map → FormSelectChoice-Dh__kjxg.js.map} +1 -1
- package/chunk/{InputText-C79edroa.js → InputText-CMu4ei8e.js} +6 -6
- package/chunk/{InputText-C79edroa.js.map → InputText-CMu4ei8e.js.map} +1 -1
- package/chunk/{InputText-GzAnMGCC.js → InputText-dflyPe3J.js} +6 -6
- package/chunk/{InputText-GzAnMGCC.js.map → InputText-dflyPe3J.js.map} +1 -1
- package/chunk/{LicensedProfessionalOrganizationComponent-DnfCid0C.js → LicensedProfessionalOrganizationComponent-CNzUnqrq.js} +9 -9
- package/chunk/{LicensedProfessionalOrganizationComponent-NJR6sc0z.js.map → LicensedProfessionalOrganizationComponent-CNzUnqrq.js.map} +1 -1
- package/chunk/{LicensedProfessionalOrganizationComponent-NJR6sc0z.js → LicensedProfessionalOrganizationComponent-DUjw4wg8.js} +9 -9
- package/chunk/{LicensedProfessionalOrganizationComponent-DnfCid0C.js.map → LicensedProfessionalOrganizationComponent-DUjw4wg8.js.map} +1 -1
- package/chunk/{LogoComponent-EBhWWnBF.js → LogoComponent-BDhMcJvy.js} +6 -6
- package/chunk/{LogoComponent-88BDkLwD.js.map → LogoComponent-BDhMcJvy.js.map} +1 -1
- package/chunk/{LogoComponent-88BDkLwD.js → LogoComponent-DASXTR4v.js} +6 -6
- package/chunk/{LogoComponent-EBhWWnBF.js.map → LogoComponent-DASXTR4v.js.map} +1 -1
- package/chunk/{LowIncomeOrganizationComponent-JbEkRbLK.js → LowIncomeOrganizationComponent-DNsHaaYQ.js} +15 -15
- package/chunk/{LowIncomeOrganizationComponent-BW3TNx8b.js.map → LowIncomeOrganizationComponent-DNsHaaYQ.js.map} +1 -1
- package/chunk/{LowIncomeOrganizationComponent-BW3TNx8b.js → LowIncomeOrganizationComponent-Di8GqFcn.js} +15 -15
- package/chunk/{LowIncomeOrganizationComponent-JbEkRbLK.js.map → LowIncomeOrganizationComponent-Di8GqFcn.js.map} +1 -1
- package/chunk/{MedicalProfessionalOrganizationComponent-Cp4yUfxf.js → MedicalProfessionalOrganizationComponent-DQYVDeVz.js} +9 -9
- package/chunk/{MedicalProfessionalOrganizationComponent-Cp4yUfxf.js.map → MedicalProfessionalOrganizationComponent-DQYVDeVz.js.map} +1 -1
- package/chunk/{MedicalProfessionalOrganizationComponent-B3QspdhP.js → MedicalProfessionalOrganizationComponent-F5DaG4Sw.js} +9 -9
- package/chunk/{MedicalProfessionalOrganizationComponent-B3QspdhP.js.map → MedicalProfessionalOrganizationComponent-F5DaG4Sw.js.map} +1 -1
- package/chunk/{MemberIdComponent-UMnfxBez.js → MemberIdComponent-B0Y8uQ5K.js} +8 -8
- package/chunk/{MemberIdComponent-UMnfxBez.js.map → MemberIdComponent-B0Y8uQ5K.js.map} +1 -1
- package/chunk/{MemberIdComponent-cwxA9cHM.js → MemberIdComponent-B2eCH51_.js} +8 -8
- package/chunk/{MemberIdComponent-cwxA9cHM.js.map → MemberIdComponent-B2eCH51_.js.map} +1 -1
- package/chunk/{MembershipOrganizationComponent-Vhp79C62.js → MembershipOrganizationComponent-DKs3_Cjf.js} +9 -9
- package/chunk/{MembershipOrganizationComponent-BkWW4Yeo.js.map → MembershipOrganizationComponent-DKs3_Cjf.js.map} +1 -1
- package/chunk/{MembershipOrganizationComponent-BkWW4Yeo.js → MembershipOrganizationComponent-Lwp4zROw.js} +9 -9
- package/chunk/{MembershipOrganizationComponent-Vhp79C62.js.map → MembershipOrganizationComponent-Lwp4zROw.js.map} +1 -1
- package/chunk/{Message-DJBqbWrp.js → Message-BTaP_P7J.js} +10 -10
- package/chunk/{Message-DJBqbWrp.js.map → Message-BTaP_P7J.js.map} +1 -1
- package/chunk/{Message-BunzH7fa.js → Message-BdW9Sgcn.js} +10 -10
- package/chunk/{Message-BunzH7fa.js.map → Message-BdW9Sgcn.js.map} +1 -1
- package/chunk/Onfido-CTCgAwnB.js +4 -4
- package/chunk/{PersonalInfoStepSubmitButton-DZaG_Bd6.js → PersonalInfoStepSubmitButton-75e6wHAD.js} +15 -15
- package/chunk/{PersonalInfoStepSubmitButton-C4NAU26j.js.map → PersonalInfoStepSubmitButton-75e6wHAD.js.map} +1 -1
- package/chunk/{PersonalInfoStepSubmitButton-C4NAU26j.js → PersonalInfoStepSubmitButton-C8bnmojJ.js} +15 -15
- package/chunk/{PersonalInfoStepSubmitButton-DZaG_Bd6.js.map → PersonalInfoStepSubmitButton-C8bnmojJ.js.map} +1 -1
- package/chunk/{PersonalInfoStepWrapper-BgmoL6ee.js → PersonalInfoStepWrapper-B4Lo-i6j.js} +8 -8
- package/chunk/{PersonalInfoStepWrapper-BgmoL6ee.js.map → PersonalInfoStepWrapper-B4Lo-i6j.js.map} +1 -1
- package/chunk/{PersonalInfoStepWrapper-Dlmhjo6N.js → PersonalInfoStepWrapper-grvDK4pu.js} +7 -7
- package/chunk/{PersonalInfoStepWrapper-Dlmhjo6N.js.map → PersonalInfoStepWrapper-grvDK4pu.js.map} +1 -1
- package/chunk/{PostalCodeComponent-CPZfUESZ.js → PostalCodeComponent-DZKBbfzI.js} +8 -8
- package/chunk/{PostalCodeComponent-CPZfUESZ.js.map → PostalCodeComponent-DZKBbfzI.js.map} +1 -1
- package/chunk/{PostalCodeComponent-VDfukHbY.js → PostalCodeComponent-uywldAa4.js} +8 -8
- package/chunk/{PostalCodeComponent-VDfukHbY.js.map → PostalCodeComponent-uywldAa4.js.map} +1 -1
- package/chunk/{SSN-B67W8oLs.js → SSN-CXXqvJti.js} +8 -8
- package/chunk/{SSN-B67W8oLs.js.map → SSN-CXXqvJti.js.map} +1 -1
- package/chunk/{SSN-BVh7Dhuk.js → SSN-Cvn_3Oxv.js} +8 -8
- package/chunk/{SSN-BVh7Dhuk.js.map → SSN-Cvn_3Oxv.js.map} +1 -1
- package/chunk/StateSelectComponent-BDtt7Vys.js +38 -0
- package/chunk/StateSelectComponent-BDtt7Vys.js.map +1 -0
- package/chunk/StateSelectComponent-CQVlBnFd.js +42 -0
- package/chunk/StateSelectComponent-CQVlBnFd.js.map +1 -0
- package/chunk/{StatusComponent-CqF9cCjU.js → StatusComponent-CzvTJXEe.js} +9 -9
- package/chunk/{StatusComponent-CqF9cCjU.js.map → StatusComponent-CzvTJXEe.js.map} +1 -1
- package/chunk/{StatusComponent-DU8VVzqB.js → StatusComponent-QdCFsSuE.js} +9 -9
- package/chunk/{StatusComponent-DU8VVzqB.js.map → StatusComponent-QdCFsSuE.js.map} +1 -1
- package/chunk/{StepAgePersonalInfo-X8ebAelC.js → StepAgePersonalInfo-C57P-2UU.js} +41 -41
- package/chunk/{StepAgePersonalInfo-CDNNfePx.js.map → StepAgePersonalInfo-C57P-2UU.js.map} +1 -1
- package/chunk/{StepAgePersonalInfo-CDNNfePx.js → StepAgePersonalInfo-CCZtMg_C.js} +41 -41
- package/chunk/{StepAgePersonalInfo-X8ebAelC.js.map → StepAgePersonalInfo-CCZtMg_C.js.map} +1 -1
- package/chunk/{StepCard-DXc8h6Xb.js → StepCard-DQ9JkAjb.js} +5 -5
- package/chunk/{StepCard-D3V6UR1D.js.map → StepCard-DQ9JkAjb.js.map} +1 -1
- package/chunk/{StepCard-D3V6UR1D.js → StepCard-EHeqFY3Y.js} +5 -5
- package/chunk/{StepCard-DXc8h6Xb.js.map → StepCard-EHeqFY3Y.js.map} +1 -1
- package/chunk/{StepCollectIdentifier-DjHVmRka.js → StepCollectIdentifier-D42gq2YF.js} +11 -11
- package/chunk/{StepCollectIdentifier-DjHVmRka.js.map → StepCollectIdentifier-D42gq2YF.js.map} +1 -1
- package/chunk/{StepCollectIdentifier-pFxNA5-S.js → StepCollectIdentifier-DQVT7GsN.js} +11 -11
- package/chunk/{StepCollectIdentifier-pFxNA5-S.js.map → StepCollectIdentifier-DQVT7GsN.js.map} +1 -1
- package/chunk/StepCollectMilitaryPersonalInfoComponent-BDYBC-PI.js +250 -0
- package/chunk/StepCollectMilitaryPersonalInfoComponent-BDYBC-PI.js.map +1 -0
- package/chunk/StepCollectMilitaryPersonalInfoComponent-uZswkFAe.js +246 -0
- package/chunk/StepCollectMilitaryPersonalInfoComponent-uZswkFAe.js.map +1 -0
- package/chunk/StepCollectPersonalInfo-Dg4eJobW.js +369 -0
- package/chunk/StepCollectPersonalInfo-Dg4eJobW.js.map +1 -0
- package/chunk/StepCollectPersonalInfo-R283bSjW.js +373 -0
- package/chunk/StepCollectPersonalInfo-R283bSjW.js.map +1 -0
- package/chunk/{StepCompleteAuthentication-Bi-I4iQd.js → StepCompleteAuthentication-DmkwcwhP.js} +9 -9
- package/chunk/{StepCompleteAuthentication-Bi-I4iQd.js.map → StepCompleteAuthentication-DmkwcwhP.js.map} +1 -1
- package/chunk/{StepCompleteAuthentication-nlgzsvQo.js → StepCompleteAuthentication-oWf-NQ40.js} +9 -9
- package/chunk/{StepCompleteAuthentication-nlgzsvQo.js.map → StepCompleteAuthentication-oWf-NQ40.js.map} +1 -1
- package/chunk/{StepConsolation-Ctfums38.js → StepConsolation-CA7jRR16.js} +17 -19
- package/chunk/StepConsolation-CA7jRR16.js.map +1 -0
- package/chunk/{StepConsolation-C8l0AsAN.js → StepConsolation-Dkgvb8lc.js} +17 -19
- package/chunk/StepConsolation-Dkgvb8lc.js.map +1 -0
- package/chunk/{StepDocUpload-B6U1kt-J.js → StepDocUpload-Czv8xkNJ.js} +13 -13
- package/chunk/{StepDocUpload-B6U1kt-J.js.map → StepDocUpload-Czv8xkNJ.js.map} +1 -1
- package/chunk/{StepDocUpload-u87pI7B5.js → StepDocUpload-yORpP9JN.js} +13 -13
- package/chunk/{StepDocUpload-u87pI7B5.js.map → StepDocUpload-yORpP9JN.js.map} +1 -1
- package/chunk/StepDriverLicensePersonalInfoComponent-BnB2TLuM.js +146 -0
- package/chunk/StepDriverLicensePersonalInfoComponent-BnB2TLuM.js.map +1 -0
- package/chunk/StepDriverLicensePersonalInfoComponent-Do--Ecsk.js +142 -0
- package/chunk/StepDriverLicensePersonalInfoComponent-Do--Ecsk.js.map +1 -0
- package/chunk/{StepEmailLoop-LNvZO2lA.js → StepEmailLoop-DGCXUZlQ.js} +13 -13
- package/chunk/{StepEmailLoop-LNvZO2lA.js.map → StepEmailLoop-DGCXUZlQ.js.map} +1 -1
- package/chunk/{StepEmailLoop-Bep5IjIv.js → StepEmailLoop-DyYmmWou.js} +13 -13
- package/chunk/{StepEmailLoop-Bep5IjIv.js.map → StepEmailLoop-DyYmmWou.js.map} +1 -1
- package/chunk/{StepEmploymentPersonalInfo-C1dWVX-m.js → StepEmploymentPersonalInfo-BKiTall_.js} +64 -63
- package/chunk/StepEmploymentPersonalInfo-BKiTall_.js.map +1 -0
- package/chunk/{StepEmploymentPersonalInfo-D9mQOTuf.js → StepEmploymentPersonalInfo-CUQROBSN.js} +64 -63
- package/chunk/StepEmploymentPersonalInfo-CUQROBSN.js.map +1 -0
- package/chunk/{StepFirstResponderPersonalInfo-DlUpQoEU.js → StepFirstResponderPersonalInfo-B4zUkIKg.js} +34 -34
- package/chunk/{StepFirstResponderPersonalInfo-CT1gRYaq.js.map → StepFirstResponderPersonalInfo-B4zUkIKg.js.map} +1 -1
- package/chunk/{StepFirstResponderPersonalInfo-CT1gRYaq.js → StepFirstResponderPersonalInfo-DvxR1yyx.js} +34 -34
- package/chunk/{StepFirstResponderPersonalInfo-DlUpQoEU.js.map → StepFirstResponderPersonalInfo-DvxR1yyx.js.map} +1 -1
- package/chunk/{StepHybridIdentityPersonalInfoComponent-1-z8c41b.js → StepGeneralIdentityPersonalInfoComponent-Bzlgt2jx.js} +62 -70
- package/chunk/StepGeneralIdentityPersonalInfoComponent-Bzlgt2jx.js.map +1 -0
- package/chunk/StepGeneralIdentityPersonalInfoComponent-CmgvtAGS.js +175 -0
- package/chunk/StepGeneralIdentityPersonalInfoComponent-CmgvtAGS.js.map +1 -0
- package/chunk/StepHybridIdentityPersonalInfoComponent-B4LBkBb9.js +184 -0
- package/chunk/StepHybridIdentityPersonalInfoComponent-B4LBkBb9.js.map +1 -0
- package/chunk/StepHybridIdentityPersonalInfoComponent-CTeNJ_9b.js +188 -0
- package/chunk/StepHybridIdentityPersonalInfoComponent-CTeNJ_9b.js.map +1 -0
- package/chunk/{StepIDCheckLoop-C_8ZbGg3.js → StepIDCheckLoop-B9TJ2Dba.js} +8 -8
- package/chunk/{StepIDCheckLoop-C_8ZbGg3.js.map → StepIDCheckLoop-B9TJ2Dba.js.map} +1 -1
- package/chunk/{StepIDCheckLoop-B4XZRie5.js → StepIDCheckLoop-ti0ZOEGu.js} +8 -8
- package/chunk/{StepIDCheckLoop-B4XZRie5.js.map → StepIDCheckLoop-ti0ZOEGu.js.map} +1 -1
- package/chunk/{StepIDCheckLoopOnfido-xcgqvCT4.js → StepIDCheckLoopOnfido-Bd0rkZZ7.js} +11 -11
- package/chunk/{StepIDCheckLoopOnfido-xcgqvCT4.js.map → StepIDCheckLoopOnfido-Bd0rkZZ7.js.map} +1 -1
- package/chunk/{StepIDCheckLoopOnfido-DHJ1eACS.js → StepIDCheckLoopOnfido-ubJ6feL4.js} +11 -11
- package/chunk/{StepIDCheckLoopOnfido-DHJ1eACS.js.map → StepIDCheckLoopOnfido-ubJ6feL4.js.map} +1 -1
- package/chunk/{StepIDCheckLoopRegula-DHBybeFp.js → StepIDCheckLoopRegula-CazRqxyJ.js} +11 -11
- package/chunk/{StepIDCheckLoopRegula-BKzknlsH.js.map → StepIDCheckLoopRegula-CazRqxyJ.js.map} +1 -1
- package/chunk/{StepIDCheckLoopRegula-BKzknlsH.js → StepIDCheckLoopRegula-CmncRiW6.js} +11 -11
- package/chunk/{StepIDCheckLoopRegula-DHBybeFp.js.map → StepIDCheckLoopRegula-CmncRiW6.js.map} +1 -1
- package/chunk/{StepLicensedProfessionalPersonalInfo-BNua2Voe.js → StepLicensedProfessionalPersonalInfo-1wChhYZu.js} +34 -34
- package/chunk/{StepLicensedProfessionalPersonalInfo-BNua2Voe.js.map → StepLicensedProfessionalPersonalInfo-1wChhYZu.js.map} +1 -1
- package/chunk/{StepLicensedProfessionalPersonalInfo-DxzL7PKs.js → StepLicensedProfessionalPersonalInfo-B3-E22Mw.js} +34 -34
- package/chunk/{StepLicensedProfessionalPersonalInfo-DxzL7PKs.js.map → StepLicensedProfessionalPersonalInfo-B3-E22Mw.js.map} +1 -1
- package/chunk/{StepLowIncomePersonalInfo-ChHOr4Dn.js → StepLowIncomePersonalInfo-B0tw7uDV.js} +70 -69
- package/chunk/StepLowIncomePersonalInfo-B0tw7uDV.js.map +1 -0
- package/chunk/{StepLowIncomePersonalInfo-zPhDWXQu.js → StepLowIncomePersonalInfo-DT1jX62H.js} +71 -70
- package/chunk/StepLowIncomePersonalInfo-DT1jX62H.js.map +1 -0
- package/chunk/{StepMedicalProfessionalPersonalInfo-CenlDA7k.js → StepMedicalProfessionalPersonalInfo-C0z_WSeh.js} +35 -35
- package/chunk/{StepMedicalProfessionalPersonalInfo-CenlDA7k.js.map → StepMedicalProfessionalPersonalInfo-C0z_WSeh.js.map} +1 -1
- package/chunk/{StepMedicalProfessionalPersonalInfo-DFjztEA9.js → StepMedicalProfessionalPersonalInfo-Dy5CTlLh.js} +35 -35
- package/chunk/{StepMedicalProfessionalPersonalInfo-DFjztEA9.js.map → StepMedicalProfessionalPersonalInfo-Dy5CTlLh.js.map} +1 -1
- package/chunk/{StepMemberPersonalInfo-x4tfVQwF.js → StepMemberPersonalInfo-B27X1eX6.js} +37 -37
- package/chunk/{StepMemberPersonalInfo-CIrTZrzs.js.map → StepMemberPersonalInfo-B27X1eX6.js.map} +1 -1
- package/chunk/{StepMemberPersonalInfo-CIrTZrzs.js → StepMemberPersonalInfo-CgmKNiea.js} +37 -37
- package/chunk/{StepMemberPersonalInfo-x4tfVQwF.js.map → StepMemberPersonalInfo-CgmKNiea.js.map} +1 -1
- package/chunk/{StepMoverPersonalInfo-D9AupBvx.js → StepMoverPersonalInfo-CWSqewTD.js} +30 -30
- package/chunk/{StepMoverPersonalInfo-CJOQKMaw.js.map → StepMoverPersonalInfo-CWSqewTD.js.map} +1 -1
- package/chunk/{StepMoverPersonalInfo-CJOQKMaw.js → StepMoverPersonalInfo-Cr9fuYAg.js} +30 -30
- package/chunk/{StepMoverPersonalInfo-D9AupBvx.js.map → StepMoverPersonalInfo-Cr9fuYAg.js.map} +1 -1
- package/chunk/{StepOverrideComponent-QsyKT4aZ.js → StepOverrideComponent-Cv_YKSqT.js} +12 -12
- package/chunk/{StepOverrideComponent-Bj7PAZ4Z.js.map → StepOverrideComponent-Cv_YKSqT.js.map} +1 -1
- package/chunk/{StepOverrideComponent-Bj7PAZ4Z.js → StepOverrideComponent-DpFC6eQo.js} +12 -12
- package/chunk/{StepOverrideComponent-QsyKT4aZ.js.map → StepOverrideComponent-DpFC6eQo.js.map} +1 -1
- package/chunk/{StepSMSLoop-Bmt8tVWk.js → StepSMSLoop-B-_E4tM_.js} +9 -9
- package/chunk/{StepSMSLoop-CzViaU2K.js.map → StepSMSLoop-B-_E4tM_.js.map} +1 -1
- package/chunk/{StepSMSLoop-CzViaU2K.js → StepSMSLoop-Ja0i_GoL.js} +9 -9
- package/chunk/{StepSMSLoop-Bmt8tVWk.js.map → StepSMSLoop-Ja0i_GoL.js.map} +1 -1
- package/chunk/StepSSO-BGHCbduX.js +4 -4
- package/chunk/StepSSO-ZHByQpHa.js +4 -4
- package/chunk/{StepSocialSecurityNumber-CxjWst3F.js → StepSocialSecurityNumber-CieWaLTm.js} +12 -12
- package/chunk/{StepSocialSecurityNumber-B-lac1dq.js.map → StepSocialSecurityNumber-CieWaLTm.js.map} +1 -1
- package/chunk/{StepSocialSecurityNumber-B-lac1dq.js → StepSocialSecurityNumber-DzSsFNZG.js} +12 -12
- package/chunk/{StepSocialSecurityNumber-CxjWst3F.js.map → StepSocialSecurityNumber-DzSsFNZG.js.map} +1 -1
- package/chunk/{StepStudentPersonalInfo-C19uuc35.js → StepStudentPersonalInfo-Db17XKs7.js} +42 -42
- package/chunk/{StepStudentPersonalInfo-BbNYLYQM.js.map → StepStudentPersonalInfo-Db17XKs7.js.map} +1 -1
- package/chunk/{StepStudentPersonalInfo-BbNYLYQM.js → StepStudentPersonalInfo-RtCvMVyw.js} +42 -42
- package/chunk/{StepStudentPersonalInfo-C19uuc35.js.map → StepStudentPersonalInfo-RtCvMVyw.js.map} +1 -1
- package/chunk/{StepSuccess-BTjwSlUq.js → StepSuccess-BA_Lm04o.js} +83 -84
- package/chunk/StepSuccess-BA_Lm04o.js.map +1 -0
- package/chunk/{StepSuccess-B8GUwLl1.js → StepSuccess-Ceg-IRq0.js} +83 -84
- package/chunk/StepSuccess-Ceg-IRq0.js.map +1 -0
- package/chunk/{StepTeacherPersonalInfo-C2OKI-SB.js → StepTeacherPersonalInfo-CYUqKy-w.js} +36 -36
- package/chunk/{StepTeacherPersonalInfo-C2OKI-SB.js.map → StepTeacherPersonalInfo-CYUqKy-w.js.map} +1 -1
- package/chunk/{StepTeacherPersonalInfo-DrB0FfDl.js → StepTeacherPersonalInfo-gpUtUxsE.js} +36 -36
- package/chunk/{StepTeacherPersonalInfo-DrB0FfDl.js.map → StepTeacherPersonalInfo-gpUtUxsE.js.map} +1 -1
- package/chunk/StepThirdPartyLoop-BrKuZcYb.js +4 -4
- package/chunk/StepThirdPartyLoop-CbFTIlwP.js +4 -4
- package/chunk/{TeacherSchoolComponent-C6_Q1Hyc.js → TeacherSchoolComponent-CDX2J8qT.js} +10 -10
- package/chunk/{TeacherSchoolComponent-BGCYNyOF.js.map → TeacherSchoolComponent-CDX2J8qT.js.map} +1 -1
- package/chunk/{TeacherSchoolComponent-BGCYNyOF.js → TeacherSchoolComponent-lvtX6aEM.js} +10 -10
- package/chunk/{TeacherSchoolComponent-C6_Q1Hyc.js.map → TeacherSchoolComponent-lvtX6aEM.js.map} +1 -1
- package/chunk/{TestingRouteOverrides-g0sNWumM.js → TestingRouteOverrides-EggQSvgh.js} +6 -6
- package/chunk/{TestingRouteOverrides-BJ6TzzV2.js.map → TestingRouteOverrides-EggQSvgh.js.map} +1 -1
- package/chunk/{TestingRouteOverrides-BJ6TzzV2.js → TestingRouteOverrides-ipf_F-iY.js} +6 -6
- package/chunk/{TestingRouteOverrides-g0sNWumM.js.map → TestingRouteOverrides-ipf_F-iY.js.map} +1 -1
- package/chunk/ThreatMetrix-D_TbL50B.js +4 -4
- package/chunk/ar-D5CO913q.js +4 -4
- package/chunk/bg-1mhA5kYF.js +4 -4
- package/chunk/bn-IN-CpDqyRb_.js +4 -4
- package/chunk/clsx-CB5rauS5.js +4 -4
- package/chunk/{countryUtils-2xROZ0HR.js → countryUtils-BBN8jYxF.js} +5 -5
- package/chunk/{countryUtils-2xROZ0HR.js.map → countryUtils-BBN8jYxF.js.map} +1 -1
- package/chunk/countryUtils-n_5QoHGV.js +12 -0
- package/chunk/{countryUtils-BrbLtF3F.js.map → countryUtils-n_5QoHGV.js.map} +1 -1
- package/chunk/cs-Chh7FAGt.js +4 -4
- package/chunk/da-DwrVoxto.js +4 -4
- package/chunk/de-IWGZLhgY.js +4 -4
- package/chunk/{downshift.esm-DvaoY6u7.js → downshift.esm-Cz6Fmx7J.js} +7 -7
- package/chunk/{downshift.esm-DvaoY6u7.js.map → downshift.esm-Cz6Fmx7J.js.map} +1 -1
- package/chunk/{downshift.esm-CUJv4odi.js → downshift.esm-DnOxwk9V.js} +7 -7
- package/chunk/{downshift.esm-CUJv4odi.js.map → downshift.esm-DnOxwk9V.js.map} +1 -1
- package/chunk/el-DbDcvSPJ.js +4 -4
- package/chunk/{empties-DVYWFiU4.js → empties-DHI3R7ys.js} +5 -5
- package/chunk/{empties-CrGLsC5v.js.map → empties-DHI3R7ys.js.map} +1 -1
- package/chunk/{empties-CrGLsC5v.js → empties-Dhc64eA5.js} +5 -5
- package/chunk/{empties-DVYWFiU4.js.map → empties-Dhc64eA5.js.map} +1 -1
- package/chunk/en-GB-BBkjjtqq.js +4 -4
- package/chunk/es-ES-DWimqEZ_.js +4 -4
- package/chunk/es-qhC-seq5.js +4 -4
- package/chunk/et-yF9G-Mym.js +4 -4
- package/chunk/eventEmitter-CSG6jR7V.js +4 -4
- package/chunk/fa-BcdSf7og.js +4 -4
- package/chunk/fi-D-IP_KHm.js +4 -4
- package/chunk/fr-BmUuYxk0.js +4 -4
- package/chunk/fr-CA-DVQ4xmzZ.js +4 -4
- package/chunk/ga-DuZycND3.js +4 -4
- package/chunk/hi-IN-l6Rn5Ewm.js +4 -4
- package/chunk/{hooks-j2dPIOl1.js → hooks-BlwolTIT.js} +9 -8
- package/chunk/{hooks-Bl6VU6hP.js.map → hooks-BlwolTIT.js.map} +1 -1
- package/chunk/{hooks-Bl6VU6hP.js → hooks-gC9DtNY1.js} +9 -8
- package/chunk/{hooks-j2dPIOl1.js.map → hooks-gC9DtNY1.js.map} +1 -1
- package/chunk/hr-BtqyDzDB.js +4 -4
- package/chunk/hu-C6syKJfb.js +4 -4
- package/chunk/id-GgI-Z2a5.js +4 -4
- package/chunk/{intl-D0f52P7V.js → intl-CvSmE54g.js} +6 -6
- package/chunk/{intl-D0f52P7V.js.map → intl-CvSmE54g.js.map} +1 -1
- package/chunk/is-CvmKEON9.js +4 -4
- package/chunk/it-CnmveGgC.js +4 -4
- package/chunk/iw-DFUYHkxF.js +4 -4
- package/chunk/ja-CjVb2tWW.js +4 -4
- package/chunk/{jsx-runtime-ClghfwTa.js → jsx-runtime-CyXcV_93.js} +5 -5
- package/chunk/{jsx-runtime-ClghfwTa.js.map → jsx-runtime-CyXcV_93.js.map} +1 -1
- package/chunk/{jsx-runtime-FfARtXk2.js → jsx-runtime-JSlXFmKD.js} +5 -5
- package/chunk/{jsx-runtime-FfARtXk2.js.map → jsx-runtime-JSlXFmKD.js.map} +1 -1
- package/chunk/kk-Dvz4nK6K.js +4 -4
- package/chunk/ko-DzOqBMGC.js +4 -4
- package/chunk/lo-C2WPq55d.js +4 -4
- package/chunk/lt-BSDYvjTF.js +4 -4
- package/chunk/lv-CefDPT-M.js +4 -4
- package/chunk/mockProgramTheme-CBqgtg7A.js +4 -4
- package/chunk/{mocks-Baq-FHji.js → mocks-Dpf6dNc6.js} +5 -5
- package/chunk/{mocks-Baq-FHji.js.map → mocks-Dpf6dNc6.js.map} +1 -1
- package/chunk/{mocks-DLTwXwzM.js → mocks-DrV8NINc.js} +5 -5
- package/chunk/{mocks-DLTwXwzM.js.map → mocks-DrV8NINc.js.map} +1 -1
- package/chunk/ms-BjestZxy.js +4 -4
- package/chunk/nl-B1FyUfCT.js +4 -4
- package/chunk/nl-BE-CbeAd3nq.js +4 -4
- package/chunk/no-Dr633Ddi.js +4 -4
- package/chunk/{options-CvRaXPRs.js → options-CRzdSTAR.js} +6 -6
- package/chunk/{options-CvRaXPRs.js.map → options-CRzdSTAR.js.map} +1 -1
- package/chunk/pl-UYTjMIq_.js +4 -4
- package/chunk/{programThemeGetters-CQmR9Vit.js → programThemeGetters-DYWYXv-a.js} +5 -5
- package/chunk/{programThemeGetters-CQmR9Vit.js.map → programThemeGetters-DYWYXv-a.js.map} +1 -1
- package/chunk/{programThemeGetters-Bhp4oSEn.js → programThemeGetters-VBnkSxuj.js} +5 -5
- package/chunk/{programThemeGetters-Bhp4oSEn.js.map → programThemeGetters-VBnkSxuj.js.map} +1 -1
- package/chunk/pt-BR-C8SYMT-J.js +4 -4
- package/chunk/pt-uH-M3GdN.js +4 -4
- package/chunk/refs-Mq0rtW9K.js +4 -4
- package/chunk/ro-CAOSXZ7h.js +4 -4
- package/chunk/ru-iwYoEydL.js +4 -4
- package/chunk/runtimeTypes-B2AGNJMT.js +4 -4
- package/chunk/sk-DYYNV3zw.js +4 -4
- package/chunk/sl-D_-eeM5N.js +4 -4
- package/chunk/sr-BTi9_anL.js +4 -4
- package/chunk/{stepComponentHelpers-BweXuNBz.js → stepComponentHelpers-BFyXhiWa.js} +46 -40
- package/chunk/stepComponentHelpers-BFyXhiWa.js.map +1 -0
- package/chunk/{stepComponentHelpers-CmZT1Man.js → stepComponentHelpers-CcEMtmwt.js} +46 -40
- package/chunk/stepComponentHelpers-CcEMtmwt.js.map +1 -0
- package/chunk/strings-DWLVdUcm.js +4 -4
- package/chunk/sv-DRwY4shG.js +4 -4
- package/chunk/sw-Bvj2mYmM.js +4 -4
- package/chunk/ta-CmtaYoNe.js +4 -4
- package/chunk/th-12r2yKkJ.js +4 -4
- package/chunk/tl-BGNfO7md.js +4 -4
- package/chunk/tr-DH2ZSJhs.js +4 -4
- package/chunk/uk-CELBZlTd.js +4 -4
- package/chunk/ur-MR8DTbmd.js +4 -4
- package/chunk/{useCollectFieldsEndpoint-D15FcoFB.js → useCollectFieldsEndpoint-BjmY4OHG.js} +8 -8
- package/chunk/{useCollectFieldsEndpoint-D15FcoFB.js.map → useCollectFieldsEndpoint-BjmY4OHG.js.map} +1 -1
- package/chunk/{useCollectFieldsEndpoint-DV9zk9Je.js → useCollectFieldsEndpoint-C0CTHnra.js} +8 -8
- package/chunk/{useCollectFieldsEndpoint-DV9zk9Je.js.map → useCollectFieldsEndpoint-C0CTHnra.js.map} +1 -1
- package/chunk/{useMetrics-BEoV8Edp.js → useMetrics-C3KNudJk.js} +7 -7
- package/chunk/{useMetrics-BEoV8Edp.js.map → useMetrics-C3KNudJk.js.map} +1 -1
- package/chunk/{useMetrics-CRK2aOGa.js → useMetrics-Cjo0Vkjx.js} +7 -7
- package/chunk/{useMetrics-CRK2aOGa.js.map → useMetrics-Cjo0Vkjx.js.map} +1 -1
- package/chunk/vi-DtZ-SqD5.js +4 -4
- package/chunk/zh-DjyVyYac.js +4 -4
- package/chunk/zh-HK-CN1HarHq.js +4 -4
- package/chunk/zu-DPhgIh1z.js +4 -4
- package/package.json +1 -1
- package/sheerid-install.css +4 -4
- package/sheerid-install.js +4 -4
- package/sheerid.css +5 -5
- package/sheerid.js +44 -44
- package/chunk/CopyToClipboardComponent-BvzDoXkd.js.map +0 -1
- package/chunk/CopyToClipboardComponent-CHdDPJEa.js.map +0 -1
- package/chunk/StateSelectComponent-BG1HTtFx.js +0 -42
- package/chunk/StateSelectComponent-BG1HTtFx.js.map +0 -1
- package/chunk/StateSelectComponent-DSZEVrkF.js +0 -46
- package/chunk/StateSelectComponent-DSZEVrkF.js.map +0 -1
- package/chunk/StepCollectMilitaryPersonalInfoComponent-CQxkr8wE.js +0 -245
- package/chunk/StepCollectMilitaryPersonalInfoComponent-CQxkr8wE.js.map +0 -1
- package/chunk/StepCollectMilitaryPersonalInfoComponent-DhTY2O6C.js +0 -249
- package/chunk/StepCollectMilitaryPersonalInfoComponent-DhTY2O6C.js.map +0 -1
- package/chunk/StepCollectPersonalInfo-B_X0PZhC.js +0 -372
- package/chunk/StepCollectPersonalInfo-B_X0PZhC.js.map +0 -1
- package/chunk/StepCollectPersonalInfo-LiUa8Sv9.js +0 -368
- package/chunk/StepCollectPersonalInfo-LiUa8Sv9.js.map +0 -1
- package/chunk/StepConsolation-C8l0AsAN.js.map +0 -1
- package/chunk/StepConsolation-Ctfums38.js.map +0 -1
- package/chunk/StepDriverLicensePersonalInfoComponent-CZi9FjFw.js +0 -145
- package/chunk/StepDriverLicensePersonalInfoComponent-CZi9FjFw.js.map +0 -1
- package/chunk/StepDriverLicensePersonalInfoComponent-DhwEyS4H.js +0 -141
- package/chunk/StepDriverLicensePersonalInfoComponent-DhwEyS4H.js.map +0 -1
- package/chunk/StepEmploymentPersonalInfo-C1dWVX-m.js.map +0 -1
- package/chunk/StepEmploymentPersonalInfo-D9mQOTuf.js.map +0 -1
- package/chunk/StepGeneralIdentityPersonalInfoComponent-ARiVwAek.js +0 -174
- package/chunk/StepGeneralIdentityPersonalInfoComponent-ARiVwAek.js.map +0 -1
- package/chunk/StepGeneralIdentityPersonalInfoComponent-Z5qswwCp.js +0 -178
- package/chunk/StepGeneralIdentityPersonalInfoComponent-Z5qswwCp.js.map +0 -1
- package/chunk/StepHybridIdentityPersonalInfoComponent-1-z8c41b.js.map +0 -1
- package/chunk/StepHybridIdentityPersonalInfoComponent-BwxDwJVl.js +0 -183
- package/chunk/StepHybridIdentityPersonalInfoComponent-BwxDwJVl.js.map +0 -1
- package/chunk/StepLowIncomePersonalInfo-ChHOr4Dn.js.map +0 -1
- package/chunk/StepLowIncomePersonalInfo-zPhDWXQu.js.map +0 -1
- package/chunk/StepSuccess-B8GUwLl1.js.map +0 -1
- package/chunk/StepSuccess-BTjwSlUq.js.map +0 -1
- package/chunk/countryUtils-BrbLtF3F.js +0 -12
- package/chunk/stepComponentHelpers-BweXuNBz.js.map +0 -1
- package/chunk/stepComponentHelpers-CmZT1Man.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepSuccess-B8GUwLl1.js","names":[],"sources":["../../src/lib/installScript/utils.ts","../../src/lib/installScript/constants.ts","../../src/lib/installScript/iframe.ts","../../src/lib/installScript/affinity.ts","../../src/components/StepSuccess/StepSuccessComponent.tsx"],"sourcesContent":["export const fadeInElements = (elements: HTMLElement[]) => {\n elements.forEach((element: HTMLElement) => {\n element.classList.add(\"fade-in\");\n });\n};\n\nexport const removeElement = (element: HTMLElement, transitionTimeout: number) => {\n element.classList.remove(\"fade-in\");\n window.setTimeout(() => {\n document.body.style.overflow = \"\";\n element.parentNode.removeChild(element);\n }, transitionTimeout);\n};\n\nexport const getVerificationUrl = (url: string): string => {\n const newUrl = new URL(url);\n const parentUrl = new URL(window.location.href);\n\n // Combine query parameters from parent window and provided url.\n // If duplicates, provided url parameters supercede.\n parentUrl.searchParams.forEach((value, key) => {\n if (!newUrl.searchParams.has(key)) {\n newUrl.searchParams.set(key, value);\n }\n });\n\n return newUrl.href;\n};\n","const iframeClassNames = {\n INLINE_IFRAME_CONTENT: \"sid-inline-iframe\",\n MODAL_WRAPPER: \"sid-modal__wrapper\",\n MODAL_IFRAME: \"sid-modal__iframe\",\n OVERLAY: \"sid-modal__overlay\",\n CLOSE_BUTTON: \"sid-modal__close-button\",\n CLOSE_TEXT: \"sid-modal__close-text\",\n CLOSE_ICON: \"sid-modal__close-icon\",\n};\n\nexport const iframeTitle = \"SheerID Verification Form\";\n\nexport const iframeConstants = {\n CLASS_NAMES: iframeClassNames,\n DEFAULT_MOBILE_THRESHOLD_WIDTH: 620,\n MODAL_OPACITY_TRANSITION_PERIOD: 300,\n};\n","import { logger } from \"@jslib/shared/utils/logger\";\nimport { InstallTypes, type InstallType } from \"@jslib/shared/utils/getInstallType\";\n\nimport { QUERY_STRING_INSTALL_PAGE_URL, QUERY_STRING_INSTALL_TYPE } from \"../../constants\";\nimport { type InstallPageEvent } from \"../frames/frameMessages\";\nimport type { HookEvents, Options, PostMessageAction, ViewModel } from \"../types/types\";\nimport { EventEmitter } from \"../hooks/eventEmitter\";\n\nimport { getVerificationUrl } from \"./utils\";\nimport { iframeConstants as constants, iframeTitle } from \"./constants\";\n\nexport type IframeOptions = {\n className: string;\n title: string;\n};\n\nexport const DEFAULT_OPTIONS: IframeOptions = {\n className: constants.CLASS_NAMES.INLINE_IFRAME_CONTENT,\n title: iframeTitle,\n};\n\nexport const assertValidFunction = (candidate: Function) => {\n if (typeof candidate !== \"function\") {\n throw new Error(`Expected type \"function\", but received ${typeof candidate}`);\n }\n};\n\nclass Iframe extends EventEmitter<HookEvents> {\n containerElement: HTMLElement;\n\n verificationUrl: URL;\n\n isMobileDevice: boolean;\n\n iframe: HTMLIFrameElement;\n\n verificationIframeUid: string;\n\n locale: string;\n\n hasLoaded: boolean = false;\n\n onLoadEvents: Function[] = [];\n\n onCleanupEvents: (() => void)[] = [];\n\n installType: InstallType = InstallTypes.cdnInlineIframe;\n\n constructor(containerElement: HTMLElement, url: string) {\n super();\n\n if (Iframe.isValidHttpUrl(url)) {\n this.containerElement = containerElement;\n this.verificationUrl = new URL(getVerificationUrl(url));\n this.verificationIframeUid = Iframe.createUniqueId();\n } else {\n logger.error(\"Invalid URL. Provide a proper URL: https://example.com/\", \"iframe url\");\n }\n }\n\n cleanup(): void {\n this.onCleanupEvents.forEach((callback) => callback());\n }\n\n static createUniqueId(): string {\n return Math.random().toString(36).substr(2, 9);\n }\n\n static isValidHttpUrl(urlString: string): boolean {\n try {\n const url = new URL(urlString);\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n } catch {\n return false;\n }\n }\n\n createIframe(options: IframeOptions): HTMLIFrameElement {\n this.iframe = document.createElement(\"iframe\");\n this.iframe.classList.add(options.className);\n this.iframe.title = options.title;\n this.iframe.src = this.getIframeUrl();\n this.iframe.allow = \"camera *;microphone *;geolocation *;clipboard-read *;clipboard-write *\";\n this.iframe.onload = () => this.onLoad();\n return this.iframe;\n }\n\n getIframeUrl(): string {\n const url = new URL(this.verificationUrl);\n url.searchParams.set(\"verificationIframeUid\", this.verificationIframeUid);\n url.searchParams.set(QUERY_STRING_INSTALL_PAGE_URL, window.location.href);\n url.searchParams.set(QUERY_STRING_INSTALL_TYPE, this.installType);\n if (this.locale) {\n url.searchParams.set(\"locale\", this.locale);\n }\n return url.toString();\n }\n\n // If iFrame hasn't loaded yet, queue up the callback\n // otherwise call it immediately\n addOnLoadEvent(callback: Function) {\n try {\n assertValidFunction(callback);\n } catch (e) {\n logger.error(\"Invalid callback provided to iFrame.onLoad()\", \"iframe addOnLoadEvent\");\n return;\n }\n if (this.hasLoaded) {\n callback();\n } else {\n this.onLoadEvents.push(callback);\n }\n }\n\n onLoad() {\n this.hasLoaded = true;\n this.onLoadEvents.forEach((callback) => callback());\n }\n\n /**\n * Using this to add parent window message listeners gives us\n * - Event Cleanup for modals\n * - verification of origin, verificationIframeUid, and message data structure\n */\n addWindowMessageListener(actionCb: (action: PostMessageAction) => void): void {\n const listener = (ev: MessageEvent) => {\n if (this.verificationUrl.origin !== ev.origin) {\n return;\n }\n\n if (ev.data.verificationIframeUid !== this.verificationIframeUid) {\n return;\n }\n\n if (ev.data.action && ev.data.action.type) {\n actionCb(ev.data.action);\n } else if (ev.data.action && ev.data.height) {\n // Older versions of the jslib send the full action object as the message\n actionCb(ev.data);\n }\n };\n\n window.addEventListener(\"message\", listener);\n this.onCleanupEvents.push(() => window.removeEventListener(\"message\", listener));\n }\n\n addActionListener() {\n this.addWindowMessageListener((messageAction) => {\n if (messageAction.type === \"hook\") {\n this.emit(messageAction.hook.name, messageAction.hook.data);\n }\n\n if (\n (messageAction.action && messageAction.action === \"updateHeight\") ||\n messageAction.type === \"updateHeight\"\n ) {\n // UX-1129: If we are getting height updates, turn off scrolling for\n // the iframe. This prevents browsers (Safari in particular) from\n // re-wrapping because of different widths and constantly changing\n // it's own height. `scrolling = \"no\"` is deprecated, but supported in\n // all browsers and fixes the problem well.\n this.iframe.scrolling = \"no\";\n this.iframe.style.height = `${messageAction.height}px`;\n }\n });\n }\n\n setViewModel(viewModel: Partial<ViewModel> | ViewModel) {\n const message: InstallPageEvent = {\n action: \"setViewModel\",\n viewModel,\n };\n\n this.addOnLoadEvent(() => {\n this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin);\n });\n }\n\n setOptions(options: Options) {\n const message: InstallPageEvent = {\n action: \"setOptions\",\n options,\n };\n\n // HC-1181: Special casing options.locale to set locale as as QSP if the frame hasn't fully loaded yet.\n // This causes a re-load, but in most cases would happen within milliseconds of the frame initialization.\n // It prevents the race conditions that were failing to set the locale properly on load.\n // If the associated playwright tests passes without this is can be removed.\n if (!this.hasLoaded && options.locale) {\n this.locale = options.locale;\n const newUrl = this.getIframeUrl();\n if (newUrl !== this.iframe.src) {\n this.iframe.src = newUrl;\n }\n }\n\n this.addOnLoadEvent(() => {\n this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin);\n });\n }\n\n setInstallType(installType: InstallType) {\n this.installType = installType;\n }\n\n init(createIframe: boolean = true): void {\n if (createIframe) {\n this.createIframe(DEFAULT_OPTIONS);\n }\n\n this.addActionListener();\n this.containerElement.appendChild(this.iframe);\n }\n}\n\nexport default Iframe;\n","import type { PostMessageAction } from \"../types/types\";\n\nimport Iframe, { DEFAULT_OPTIONS, type IframeOptions } from \"./iframe\";\n\nexport const assertValidFunction = (candidate: Function) => {\n if (typeof candidate !== \"function\") {\n throw new Error(`Expected type \"function\", but received ${typeof candidate}`);\n }\n};\n\nclass AffinityIFrame extends Iframe {\n constructor(containerElement: HTMLElement, url: string) {\n super(containerElement, url);\n this.verificationUrl = new URL(this.getAffinityUrlWithUID(url));\n }\n\n static createUniqueId() {\n return Math.random().toString(36).substr(2, 9);\n }\n\n getAffinityUrlWithUID(url: string): string {\n const urlObj = new URL(url);\n urlObj.searchParams.set(\"affinityIframeUid\", this.verificationIframeUid);\n return urlObj.toString();\n }\n\n override addWindowMessageListener(actionCb: (action: PostMessageAction) => void): void {\n const listener = (ev: MessageEvent) => {\n if (this.verificationUrl.origin !== ev.origin) {\n return;\n }\n\n if (ev.data.affinityIframeUid !== this.verificationIframeUid) {\n return;\n }\n\n if (ev.data.action && ev.data.action.type) {\n actionCb(ev.data.action);\n }\n };\n\n window.addEventListener(\"message\", listener);\n this.onCleanupEvents.push(() => window.removeEventListener(\"message\", listener));\n }\n\n override createIframe(options: IframeOptions): HTMLIFrameElement {\n this.iframe = document.createElement(\"iframe\");\n this.iframe.classList.add(options.className);\n this.iframe.title = options.title;\n this.iframe.src = this.verificationUrl.href;\n this.iframe.allow = \"camera;microphone\";\n this.iframe.onload = () => this.onLoad();\n return this.iframe;\n }\n\n override init() {\n this.createIframe({ ...DEFAULT_OPTIONS, title: \"SheerID Affinity Offers\" });\n this.addActionListener();\n this.containerElement.appendChild(this.iframe);\n }\n}\n\nexport function loadAffinityIFrame(containerElement: HTMLElement, url: string): AffinityIFrame {\n const affinity = new AffinityIFrame(containerElement, url);\n affinity.init();\n return affinity;\n}\n\nexport default AffinityIFrame;\n","import React from \"react\";\nimport { FormattedHTMLMessage } from \"react-intl\";\n\nimport { loadAffinityIFrame } from \"@/lib/installScript/affinity\";\n\nimport {\n type VerificationService,\n type SuccessResponse,\n type ConsumerInfoState,\n} from \"../../lib/types/types\";\nimport { LogoComponent } from \"../LogoComponent/LogoComponent\";\nimport { CopyToClipboard } from \"../CopyToClipboard/CopyToClipboardComponent\";\nimport { getBarcodeUrl } from \"../../lib/ServerApi/ApiUrls\";\nimport { RewardDisplayEnum } from \"../../lib/types/runtimeTypes\";\nimport { getLocaleSafely } from \"../../lib/intl/intl\";\nimport { getRememberMeRedirectDestination } from \"../../lib/utils/stepComponentHelpers/stepComponentHelpers\";\nimport { getQueryOrOption } from \"../../lib/ServerApi/TestingRouteOverrides\";\nimport { QUERY_STRING_REMEMBER_ME_OVERRIDE } from \"../../constants\";\nimport { getOptions } from \"../../options/options\";\nimport { AnnouncingHeader } from \"../AnnouncingHeader/AnnouncingHeader\";\nimport { EventName, recordCTAClickEvent } from \"../../lib/GoogleAnalytics/ga\";\nimport { useFlag } from \"../FeatureFlags/hooks\";\n\ninterface StepSuccessProps {\n verificationService: VerificationService;\n}\n\nconst redirect = (redirectDestination: string, target: string = \"_top\") => {\n const win = window.open(redirectDestination, target);\n win.focus();\n};\n\nconst getAffinityBaseUrl = () => {\n const options = getOptions();\n const apiBaseUrl = options.restApi.serviceUrl;\n\n if (apiBaseUrl.includes(\"services.sheerid.com\") || apiBaseUrl.includes(\"my.sheerid.com\")) {\n return \"https://shr-id.com\";\n }\n\n return \"https://aa-preview.sheerid.net\";\n};\n\nconst StepSuccess = ({ verificationService }: StepSuccessProps) => {\n const { verificationResponse, programId, viewModel } = verificationService;\n const { verificationId, redirectUrl } = verificationResponse as SuccessResponse;\n const { config } = verificationService.programTheme;\n const affinityRef = React.useRef<HTMLDivElement>(null);\n const shouldHideIcon = useFlag(\"hc-my-sheer-id-theme-builder\");\n\n const showRedirect = Boolean(redirectUrl);\n const rewardCode = (verificationResponse as SuccessResponse).rewardCode || \"{rewardCode}\";\n const noCodeType = config.offerType === \"noCode\";\n\n const { rewardDisplay } = config;\n const showReward = !noCodeType && !!rewardDisplay.length;\n\n const mockConsumerInfoState = getQueryOrOption(\n QUERY_STRING_REMEMBER_ME_OVERRIDE,\n ) as ConsumerInfoState;\n const consumerInfoState: ConsumerInfoState =\n mockConsumerInfoState || (verificationResponse as SuccessResponse).consumerInfoState;\n const showRememberMeFooter =\n consumerInfoState === \"consumerNotFound\" ||\n consumerInfoState === \"consumerFoundNewFieldsAvailable\";\n\n const locale = getLocaleSafely(viewModel, verificationResponse);\n\n const handleOnRedirect = () => {\n recordCTAClickEvent(EventName.SUCCESS_REDIRECT_CLICKED, {\n programId,\n locale,\n verificationId,\n });\n\n redirect(getRememberMeRedirectDestination(locale, programId, verificationId), \"_blank\");\n };\n\n React.useEffect(() => {\n // Load the affinity widget if enabled\n if (affinityRef.current) {\n affinityRef.current.innerHTML = \"\";\n loadAffinityIFrame(\n affinityRef.current,\n `${getAffinityBaseUrl()}/affinity/${locale}/${programId}/${verificationId}`,\n );\n }\n }, [affinityRef, programId, verificationId, locale]);\n\n return (\n <div id=\"sid-step-success\" className=\"sid-success-container sid-l-container\">\n <div role=\"main\">\n <div className=\"sid-header sid-l-horz-center sid-l-space-top-md\">\n <div className=\"sid-success-logo-container sid-l-horz-center\">\n <LogoComponent\n verificationService={verificationService}\n fallbackLogo={\n !shouldHideIcon && (\n <img\n className=\"sid-success-logo-default sid-l-lead-image\"\n alt=\"\"\n src=\"https://assets-resources.sheerid.com/common/images/2018/icons/circle-check.svg\"\n />\n )\n }\n />\n </div>\n <AnnouncingHeader align=\"center\">\n <FormattedHTMLMessage\n id=\"step.success.title\"\n defaultMessage=\"Success! You've been verified.\"\n tagName=\"h1\"\n />\n </AnnouncingHeader>\n <div className=\"sid-header__subtitle sid-l-horz-center\">\n <FormattedHTMLMessage\n id=\"step.success.subtitle\"\n defaultMessage=\"You are now eligible for this special offer.\"\n tagName=\"p\"\n />\n </div>\n </div>\n\n {showReward && (\n <div className=\"sid-l-horz-center sid-reward-container sid-l-space-top-md\">\n {rewardDisplay.map((displayType) => {\n if (displayType !== RewardDisplayEnum.TEXT)\n return (\n <img\n key={displayType}\n className=\"sid-l-space-top-md sid-barcode\"\n alt={rewardCode}\n src={getBarcodeUrl(verificationId, \"rewardCode\", displayType)}\n />\n );\n return (\n <div key={displayType}>\n <div\n className=\"sid-reward-code sid-l-space-top-md sid-h-jumbo-text sid-l-horz-center\"\n role=\"region\"\n >\n {rewardCode}\n </div>\n <div className=\"sid-l-space-top-md sid-h-bold-text sid-l-horz-center\">\n <CopyToClipboard\n textToCopy={rewardCode}\n notificationText={\n <FormattedHTMLMessage id=\"copied\" defaultMessage=\"Copied\" />\n }\n >\n <FormattedHTMLMessage\n id=\"step.success.copyCouponCode\"\n defaultMessage=\"Copy coupon code\"\n />\n </CopyToClipboard>\n </div>\n </div>\n );\n })}\n </div>\n )}\n\n <div\n className={`sid-footer sid-success-footer sid-l-horz-center ${\n noCodeType ? \"sid-l-space-top-md\" : \"sid-l-space-top-lg\"\n }`}\n >\n <FormattedHTMLMessage\n id=\"step.success.emailNotification\"\n defaultMessage=\"We have sent you a confirmation email with redemption instructions. Look for the email from {email}.\"\n tagName=\"p\"\n values={{ email: \"verify@sheerid.com\" }}\n />\n </div>\n\n {showRedirect ? (\n <div className=\"sid-submit sid-success-submit sid-l-space-top-md\">\n <button\n type=\"button\"\n onClick={() => redirect(redirectUrl)}\n className=\"sid-btn sid-success-redirect-btn sid-btn--dark\"\n >\n <FormattedHTMLMessage\n id=\"step.success.redirectButtonText\"\n defaultMessage=\"Continue\"\n />\n </button>\n </div>\n ) : (\n \"\"\n )}\n </div>\n\n <div\n className=\"sid-footer sid-success-verification-only-footer sid-l-horz-center sid-l-space-top-lg sid-h-small-text\"\n role=\"contentinfo\"\n >\n <FormattedHTMLMessage id=\"companyName\" defaultMessage=\"{Company}\">\n {(companyName) => (\n <FormattedHTMLMessage\n id=\"step.success.verificationOnly\"\n defaultMessage={`\n SheerID handles verification only.\n Now that you've been approved, please direct all questions about the\n promotion terms to {companyName} customer service.\n `}\n values={{ companyName }}\n tagName=\"p\"\n />\n )}\n </FormattedHTMLMessage>\n </div>\n\n {verificationService.programTheme.affinityProgramEnabled && (\n <div\n ref={affinityRef}\n id=\"sid-affinity-iframe\"\n className=\"sid-affinity-container sid-l-full-width sid-l-space-top-lg\"\n />\n )}\n\n {showRememberMeFooter && (\n <div className=\"sid-remember-me-footer-container\">\n <div className=\"sid-remember-me-title\">\n {consumerInfoState === \"consumerNotFound\" ? (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerNotFound.title\"\n defaultMessage=\"Save your info for 1-click verification\"\n />\n ) : (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerFound.title\"\n defaultMessage=\"Update Your Profile\"\n />\n )}\n </div>\n <div className=\"sid-remember-me-description\">\n {consumerInfoState === \"consumerNotFound\" ? (\n <FormattedHTMLMessage id=\"companyName\" defaultMessage=\"{Company}\">\n {(companyName) => (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerNotFound.description\"\n defaultMessage=\"Get faster access to future offers with {companyName} and other brands using SheerID's Remember Me service.\"\n values={{ companyName }}\n />\n )}\n </FormattedHTMLMessage>\n ) : (\n <FormattedHTMLMessage id=\"companyName\" defaultMessage=\"{Company}\">\n {(companyName) => (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerFound.description\"\n defaultMessage=\"Save new info for future offers with {companyName} and other brands using SheerID's Remember Me service.\"\n values={{ companyName }}\n />\n )}\n </FormattedHTMLMessage>\n )}\n </div>\n <button\n type=\"button\"\n onClick={handleOnRedirect}\n className=\"sid-btn sid-remember-me-redirect-btn\"\n >\n {consumerInfoState === \"consumerNotFound\" ? (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerNotFound.button\"\n defaultMessage=\"Enroll Now\"\n />\n ) : (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerFound.button\"\n defaultMessage=\"Save to Remember Me\"\n />\n )}\n </button>\n </div>\n )}\n </div>\n );\n};\n\nexport const StepSuccessComponent = StepSuccess;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepSuccess-BTjwSlUq.js","names":[],"sources":["../../src/lib/installScript/utils.ts","../../src/lib/installScript/constants.ts","../../src/lib/installScript/iframe.ts","../../src/lib/installScript/affinity.ts","../../src/components/StepSuccess/StepSuccessComponent.tsx"],"sourcesContent":["export const fadeInElements = (elements: HTMLElement[]) => {\n elements.forEach((element: HTMLElement) => {\n element.classList.add(\"fade-in\");\n });\n};\n\nexport const removeElement = (element: HTMLElement, transitionTimeout: number) => {\n element.classList.remove(\"fade-in\");\n window.setTimeout(() => {\n document.body.style.overflow = \"\";\n element.parentNode.removeChild(element);\n }, transitionTimeout);\n};\n\nexport const getVerificationUrl = (url: string): string => {\n const newUrl = new URL(url);\n const parentUrl = new URL(window.location.href);\n\n // Combine query parameters from parent window and provided url.\n // If duplicates, provided url parameters supercede.\n parentUrl.searchParams.forEach((value, key) => {\n if (!newUrl.searchParams.has(key)) {\n newUrl.searchParams.set(key, value);\n }\n });\n\n return newUrl.href;\n};\n","const iframeClassNames = {\n INLINE_IFRAME_CONTENT: \"sid-inline-iframe\",\n MODAL_WRAPPER: \"sid-modal__wrapper\",\n MODAL_IFRAME: \"sid-modal__iframe\",\n OVERLAY: \"sid-modal__overlay\",\n CLOSE_BUTTON: \"sid-modal__close-button\",\n CLOSE_TEXT: \"sid-modal__close-text\",\n CLOSE_ICON: \"sid-modal__close-icon\",\n};\n\nexport const iframeTitle = \"SheerID Verification Form\";\n\nexport const iframeConstants = {\n CLASS_NAMES: iframeClassNames,\n DEFAULT_MOBILE_THRESHOLD_WIDTH: 620,\n MODAL_OPACITY_TRANSITION_PERIOD: 300,\n};\n","import { logger } from \"@jslib/shared/utils/logger\";\nimport { InstallTypes, type InstallType } from \"@jslib/shared/utils/getInstallType\";\n\nimport { QUERY_STRING_INSTALL_PAGE_URL, QUERY_STRING_INSTALL_TYPE } from \"../../constants\";\nimport { type InstallPageEvent } from \"../frames/frameMessages\";\nimport type { HookEvents, Options, PostMessageAction, ViewModel } from \"../types/types\";\nimport { EventEmitter } from \"../hooks/eventEmitter\";\n\nimport { getVerificationUrl } from \"./utils\";\nimport { iframeConstants as constants, iframeTitle } from \"./constants\";\n\nexport type IframeOptions = {\n className: string;\n title: string;\n};\n\nexport const DEFAULT_OPTIONS: IframeOptions = {\n className: constants.CLASS_NAMES.INLINE_IFRAME_CONTENT,\n title: iframeTitle,\n};\n\nexport const assertValidFunction = (candidate: Function) => {\n if (typeof candidate !== \"function\") {\n throw new Error(`Expected type \"function\", but received ${typeof candidate}`);\n }\n};\n\nclass Iframe extends EventEmitter<HookEvents> {\n containerElement: HTMLElement;\n\n verificationUrl: URL;\n\n isMobileDevice: boolean;\n\n iframe: HTMLIFrameElement;\n\n verificationIframeUid: string;\n\n locale: string;\n\n hasLoaded: boolean = false;\n\n onLoadEvents: Function[] = [];\n\n onCleanupEvents: (() => void)[] = [];\n\n installType: InstallType = InstallTypes.cdnInlineIframe;\n\n constructor(containerElement: HTMLElement, url: string) {\n super();\n\n if (Iframe.isValidHttpUrl(url)) {\n this.containerElement = containerElement;\n this.verificationUrl = new URL(getVerificationUrl(url));\n this.verificationIframeUid = Iframe.createUniqueId();\n } else {\n logger.error(\"Invalid URL. Provide a proper URL: https://example.com/\", \"iframe url\");\n }\n }\n\n cleanup(): void {\n this.onCleanupEvents.forEach((callback) => callback());\n }\n\n static createUniqueId(): string {\n return Math.random().toString(36).substr(2, 9);\n }\n\n static isValidHttpUrl(urlString: string): boolean {\n try {\n const url = new URL(urlString);\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n } catch {\n return false;\n }\n }\n\n createIframe(options: IframeOptions): HTMLIFrameElement {\n this.iframe = document.createElement(\"iframe\");\n this.iframe.classList.add(options.className);\n this.iframe.title = options.title;\n this.iframe.src = this.getIframeUrl();\n this.iframe.allow = \"camera *;microphone *;geolocation *;clipboard-read *;clipboard-write *\";\n this.iframe.onload = () => this.onLoad();\n return this.iframe;\n }\n\n getIframeUrl(): string {\n const url = new URL(this.verificationUrl);\n url.searchParams.set(\"verificationIframeUid\", this.verificationIframeUid);\n url.searchParams.set(QUERY_STRING_INSTALL_PAGE_URL, window.location.href);\n url.searchParams.set(QUERY_STRING_INSTALL_TYPE, this.installType);\n if (this.locale) {\n url.searchParams.set(\"locale\", this.locale);\n }\n return url.toString();\n }\n\n // If iFrame hasn't loaded yet, queue up the callback\n // otherwise call it immediately\n addOnLoadEvent(callback: Function) {\n try {\n assertValidFunction(callback);\n } catch (e) {\n logger.error(\"Invalid callback provided to iFrame.onLoad()\", \"iframe addOnLoadEvent\");\n return;\n }\n if (this.hasLoaded) {\n callback();\n } else {\n this.onLoadEvents.push(callback);\n }\n }\n\n onLoad() {\n this.hasLoaded = true;\n this.onLoadEvents.forEach((callback) => callback());\n }\n\n /**\n * Using this to add parent window message listeners gives us\n * - Event Cleanup for modals\n * - verification of origin, verificationIframeUid, and message data structure\n */\n addWindowMessageListener(actionCb: (action: PostMessageAction) => void): void {\n const listener = (ev: MessageEvent) => {\n if (this.verificationUrl.origin !== ev.origin) {\n return;\n }\n\n if (ev.data.verificationIframeUid !== this.verificationIframeUid) {\n return;\n }\n\n if (ev.data.action && ev.data.action.type) {\n actionCb(ev.data.action);\n } else if (ev.data.action && ev.data.height) {\n // Older versions of the jslib send the full action object as the message\n actionCb(ev.data);\n }\n };\n\n window.addEventListener(\"message\", listener);\n this.onCleanupEvents.push(() => window.removeEventListener(\"message\", listener));\n }\n\n addActionListener() {\n this.addWindowMessageListener((messageAction) => {\n if (messageAction.type === \"hook\") {\n this.emit(messageAction.hook.name, messageAction.hook.data);\n }\n\n if (\n (messageAction.action && messageAction.action === \"updateHeight\") ||\n messageAction.type === \"updateHeight\"\n ) {\n // UX-1129: If we are getting height updates, turn off scrolling for\n // the iframe. This prevents browsers (Safari in particular) from\n // re-wrapping because of different widths and constantly changing\n // it's own height. `scrolling = \"no\"` is deprecated, but supported in\n // all browsers and fixes the problem well.\n this.iframe.scrolling = \"no\";\n this.iframe.style.height = `${messageAction.height}px`;\n }\n });\n }\n\n setViewModel(viewModel: Partial<ViewModel> | ViewModel) {\n const message: InstallPageEvent = {\n action: \"setViewModel\",\n viewModel,\n };\n\n this.addOnLoadEvent(() => {\n this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin);\n });\n }\n\n setOptions(options: Options) {\n const message: InstallPageEvent = {\n action: \"setOptions\",\n options,\n };\n\n // HC-1181: Special casing options.locale to set locale as as QSP if the frame hasn't fully loaded yet.\n // This causes a re-load, but in most cases would happen within milliseconds of the frame initialization.\n // It prevents the race conditions that were failing to set the locale properly on load.\n // If the associated playwright tests passes without this is can be removed.\n if (!this.hasLoaded && options.locale) {\n this.locale = options.locale;\n const newUrl = this.getIframeUrl();\n if (newUrl !== this.iframe.src) {\n this.iframe.src = newUrl;\n }\n }\n\n this.addOnLoadEvent(() => {\n this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin);\n });\n }\n\n setInstallType(installType: InstallType) {\n this.installType = installType;\n }\n\n init(createIframe: boolean = true): void {\n if (createIframe) {\n this.createIframe(DEFAULT_OPTIONS);\n }\n\n this.addActionListener();\n this.containerElement.appendChild(this.iframe);\n }\n}\n\nexport default Iframe;\n","import type { PostMessageAction } from \"../types/types\";\n\nimport Iframe, { DEFAULT_OPTIONS, type IframeOptions } from \"./iframe\";\n\nexport const assertValidFunction = (candidate: Function) => {\n if (typeof candidate !== \"function\") {\n throw new Error(`Expected type \"function\", but received ${typeof candidate}`);\n }\n};\n\nclass AffinityIFrame extends Iframe {\n constructor(containerElement: HTMLElement, url: string) {\n super(containerElement, url);\n this.verificationUrl = new URL(this.getAffinityUrlWithUID(url));\n }\n\n static createUniqueId() {\n return Math.random().toString(36).substr(2, 9);\n }\n\n getAffinityUrlWithUID(url: string): string {\n const urlObj = new URL(url);\n urlObj.searchParams.set(\"affinityIframeUid\", this.verificationIframeUid);\n return urlObj.toString();\n }\n\n override addWindowMessageListener(actionCb: (action: PostMessageAction) => void): void {\n const listener = (ev: MessageEvent) => {\n if (this.verificationUrl.origin !== ev.origin) {\n return;\n }\n\n if (ev.data.affinityIframeUid !== this.verificationIframeUid) {\n return;\n }\n\n if (ev.data.action && ev.data.action.type) {\n actionCb(ev.data.action);\n }\n };\n\n window.addEventListener(\"message\", listener);\n this.onCleanupEvents.push(() => window.removeEventListener(\"message\", listener));\n }\n\n override createIframe(options: IframeOptions): HTMLIFrameElement {\n this.iframe = document.createElement(\"iframe\");\n this.iframe.classList.add(options.className);\n this.iframe.title = options.title;\n this.iframe.src = this.verificationUrl.href;\n this.iframe.allow = \"camera;microphone\";\n this.iframe.onload = () => this.onLoad();\n return this.iframe;\n }\n\n override init() {\n this.createIframe({ ...DEFAULT_OPTIONS, title: \"SheerID Affinity Offers\" });\n this.addActionListener();\n this.containerElement.appendChild(this.iframe);\n }\n}\n\nexport function loadAffinityIFrame(containerElement: HTMLElement, url: string): AffinityIFrame {\n const affinity = new AffinityIFrame(containerElement, url);\n affinity.init();\n return affinity;\n}\n\nexport default AffinityIFrame;\n","import React from \"react\";\nimport { FormattedHTMLMessage } from \"react-intl\";\n\nimport { loadAffinityIFrame } from \"@/lib/installScript/affinity\";\n\nimport {\n type VerificationService,\n type SuccessResponse,\n type ConsumerInfoState,\n} from \"../../lib/types/types\";\nimport { LogoComponent } from \"../LogoComponent/LogoComponent\";\nimport { CopyToClipboard } from \"../CopyToClipboard/CopyToClipboardComponent\";\nimport { getBarcodeUrl } from \"../../lib/ServerApi/ApiUrls\";\nimport { RewardDisplayEnum } from \"../../lib/types/runtimeTypes\";\nimport { getLocaleSafely } from \"../../lib/intl/intl\";\nimport { getRememberMeRedirectDestination } from \"../../lib/utils/stepComponentHelpers/stepComponentHelpers\";\nimport { getQueryOrOption } from \"../../lib/ServerApi/TestingRouteOverrides\";\nimport { QUERY_STRING_REMEMBER_ME_OVERRIDE } from \"../../constants\";\nimport { getOptions } from \"../../options/options\";\nimport { AnnouncingHeader } from \"../AnnouncingHeader/AnnouncingHeader\";\nimport { EventName, recordCTAClickEvent } from \"../../lib/GoogleAnalytics/ga\";\nimport { useFlag } from \"../FeatureFlags/hooks\";\n\ninterface StepSuccessProps {\n verificationService: VerificationService;\n}\n\nconst redirect = (redirectDestination: string, target: string = \"_top\") => {\n const win = window.open(redirectDestination, target);\n win.focus();\n};\n\nconst getAffinityBaseUrl = () => {\n const options = getOptions();\n const apiBaseUrl = options.restApi.serviceUrl;\n\n if (apiBaseUrl.includes(\"services.sheerid.com\") || apiBaseUrl.includes(\"my.sheerid.com\")) {\n return \"https://shr-id.com\";\n }\n\n return \"https://aa-preview.sheerid.net\";\n};\n\nconst StepSuccess = ({ verificationService }: StepSuccessProps) => {\n const { verificationResponse, programId, viewModel } = verificationService;\n const { verificationId, redirectUrl } = verificationResponse as SuccessResponse;\n const { config } = verificationService.programTheme;\n const affinityRef = React.useRef<HTMLDivElement>(null);\n const shouldHideIcon = useFlag(\"hc-my-sheer-id-theme-builder\");\n\n const showRedirect = Boolean(redirectUrl);\n const rewardCode = (verificationResponse as SuccessResponse).rewardCode || \"{rewardCode}\";\n const noCodeType = config.offerType === \"noCode\";\n\n const { rewardDisplay } = config;\n const showReward = !noCodeType && !!rewardDisplay.length;\n\n const mockConsumerInfoState = getQueryOrOption(\n QUERY_STRING_REMEMBER_ME_OVERRIDE,\n ) as ConsumerInfoState;\n const consumerInfoState: ConsumerInfoState =\n mockConsumerInfoState || (verificationResponse as SuccessResponse).consumerInfoState;\n const showRememberMeFooter =\n consumerInfoState === \"consumerNotFound\" ||\n consumerInfoState === \"consumerFoundNewFieldsAvailable\";\n\n const locale = getLocaleSafely(viewModel, verificationResponse);\n\n const handleOnRedirect = () => {\n recordCTAClickEvent(EventName.SUCCESS_REDIRECT_CLICKED, {\n programId,\n locale,\n verificationId,\n });\n\n redirect(getRememberMeRedirectDestination(locale, programId, verificationId), \"_blank\");\n };\n\n React.useEffect(() => {\n // Load the affinity widget if enabled\n if (affinityRef.current) {\n affinityRef.current.innerHTML = \"\";\n loadAffinityIFrame(\n affinityRef.current,\n `${getAffinityBaseUrl()}/affinity/${locale}/${programId}/${verificationId}`,\n );\n }\n }, [affinityRef, programId, verificationId, locale]);\n\n return (\n <div id=\"sid-step-success\" className=\"sid-success-container sid-l-container\">\n <div role=\"main\">\n <div className=\"sid-header sid-l-horz-center sid-l-space-top-md\">\n <div className=\"sid-success-logo-container sid-l-horz-center\">\n <LogoComponent\n verificationService={verificationService}\n fallbackLogo={\n !shouldHideIcon && (\n <img\n className=\"sid-success-logo-default sid-l-lead-image\"\n alt=\"\"\n src=\"https://assets-resources.sheerid.com/common/images/2018/icons/circle-check.svg\"\n />\n )\n }\n />\n </div>\n <AnnouncingHeader align=\"center\">\n <FormattedHTMLMessage\n id=\"step.success.title\"\n defaultMessage=\"Success! You've been verified.\"\n tagName=\"h1\"\n />\n </AnnouncingHeader>\n <div className=\"sid-header__subtitle sid-l-horz-center\">\n <FormattedHTMLMessage\n id=\"step.success.subtitle\"\n defaultMessage=\"You are now eligible for this special offer.\"\n tagName=\"p\"\n />\n </div>\n </div>\n\n {showReward && (\n <div className=\"sid-l-horz-center sid-reward-container sid-l-space-top-md\">\n {rewardDisplay.map((displayType) => {\n if (displayType !== RewardDisplayEnum.TEXT)\n return (\n <img\n key={displayType}\n className=\"sid-l-space-top-md sid-barcode\"\n alt={rewardCode}\n src={getBarcodeUrl(verificationId, \"rewardCode\", displayType)}\n />\n );\n return (\n <div key={displayType}>\n <div\n className=\"sid-reward-code sid-l-space-top-md sid-h-jumbo-text sid-l-horz-center\"\n role=\"region\"\n >\n {rewardCode}\n </div>\n <div className=\"sid-l-space-top-md sid-h-bold-text sid-l-horz-center\">\n <CopyToClipboard\n textToCopy={rewardCode}\n notificationText={\n <FormattedHTMLMessage id=\"copied\" defaultMessage=\"Copied\" />\n }\n >\n <FormattedHTMLMessage\n id=\"step.success.copyCouponCode\"\n defaultMessage=\"Copy coupon code\"\n />\n </CopyToClipboard>\n </div>\n </div>\n );\n })}\n </div>\n )}\n\n <div\n className={`sid-footer sid-success-footer sid-l-horz-center ${\n noCodeType ? \"sid-l-space-top-md\" : \"sid-l-space-top-lg\"\n }`}\n >\n <FormattedHTMLMessage\n id=\"step.success.emailNotification\"\n defaultMessage=\"We have sent you a confirmation email with redemption instructions. Look for the email from {email}.\"\n tagName=\"p\"\n values={{ email: \"verify@sheerid.com\" }}\n />\n </div>\n\n {showRedirect ? (\n <div className=\"sid-submit sid-success-submit sid-l-space-top-md\">\n <button\n type=\"button\"\n onClick={() => redirect(redirectUrl)}\n className=\"sid-btn sid-success-redirect-btn sid-btn--dark\"\n >\n <FormattedHTMLMessage\n id=\"step.success.redirectButtonText\"\n defaultMessage=\"Continue\"\n />\n </button>\n </div>\n ) : (\n \"\"\n )}\n </div>\n\n <div\n className=\"sid-footer sid-success-verification-only-footer sid-l-horz-center sid-l-space-top-lg sid-h-small-text\"\n role=\"contentinfo\"\n >\n <FormattedHTMLMessage id=\"companyName\" defaultMessage=\"{Company}\">\n {(companyName) => (\n <FormattedHTMLMessage\n id=\"step.success.verificationOnly\"\n defaultMessage={`\n SheerID handles verification only.\n Now that you've been approved, please direct all questions about the\n promotion terms to {companyName} customer service.\n `}\n values={{ companyName }}\n tagName=\"p\"\n />\n )}\n </FormattedHTMLMessage>\n </div>\n\n {verificationService.programTheme.affinityProgramEnabled && (\n <div\n ref={affinityRef}\n id=\"sid-affinity-iframe\"\n className=\"sid-affinity-container sid-l-full-width sid-l-space-top-lg\"\n />\n )}\n\n {showRememberMeFooter && (\n <div className=\"sid-remember-me-footer-container\">\n <div className=\"sid-remember-me-title\">\n {consumerInfoState === \"consumerNotFound\" ? (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerNotFound.title\"\n defaultMessage=\"Save your info for 1-click verification\"\n />\n ) : (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerFound.title\"\n defaultMessage=\"Update Your Profile\"\n />\n )}\n </div>\n <div className=\"sid-remember-me-description\">\n {consumerInfoState === \"consumerNotFound\" ? (\n <FormattedHTMLMessage id=\"companyName\" defaultMessage=\"{Company}\">\n {(companyName) => (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerNotFound.description\"\n defaultMessage=\"Get faster access to future offers with {companyName} and other brands using SheerID's Remember Me service.\"\n values={{ companyName }}\n />\n )}\n </FormattedHTMLMessage>\n ) : (\n <FormattedHTMLMessage id=\"companyName\" defaultMessage=\"{Company}\">\n {(companyName) => (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerFound.description\"\n defaultMessage=\"Save new info for future offers with {companyName} and other brands using SheerID's Remember Me service.\"\n values={{ companyName }}\n />\n )}\n </FormattedHTMLMessage>\n )}\n </div>\n <button\n type=\"button\"\n onClick={handleOnRedirect}\n className=\"sid-btn sid-remember-me-redirect-btn\"\n >\n {consumerInfoState === \"consumerNotFound\" ? (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerNotFound.button\"\n defaultMessage=\"Enroll Now\"\n />\n ) : (\n <FormattedHTMLMessage\n id=\"step.success.rememberMe.consumerFound.button\"\n defaultMessage=\"Save to Remember Me\"\n />\n )}\n </button>\n </div>\n )}\n </div>\n );\n};\n\nexport const StepSuccessComponent = StepSuccess;\n"],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* VERSION: 2.286.0-alpha.2
|
|
4
|
-
* BUILD_TIMESTAMP: 1789596641519
|
|
5
|
-
* BUILD_DATE: Wed Sep 16 2026 22:10:41 GMT+0000 (Coordinated Universal Time)
|
|
6
|
-
* BUILD_COMMIT: 58cd071e490202b546ec8addac4434c422af952d
|
|
7
|
-
*/
|
|
8
|
-
import { n as e } from "./programThemeGetters-Bhp4oSEn.js";
|
|
9
|
-
//#region src/components/FormFields/Country/countryUtils.ts
|
|
10
|
-
var t = (t, n = void 0) => (e(t) || []).length >= 2 && !n;
|
|
11
|
-
//#endregion
|
|
12
|
-
export { t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stepComponentHelpers-BweXuNBz.js","names":[],"sources":["../../src/lib/utils/browser/inputHelpers.ts","../../src/lib/utils/getSafe.ts","../../src/lib/utils/stepComponentHelpers/stepComponentHelpers.ts"],"sourcesContent":["import { logger } from \"@jslib/shared/utils/logger\";\n\nimport { type ExtendedFieldId, type FieldId } from \"../../types/types\";\nimport { getRefByFieldId } from \"../../refs/refs\";\n\n/**\n * @private\n */\nexport const setFocus = (fieldId: FieldId | ExtendedFieldId) => {\n const fieldRef = getRefByFieldId(fieldId);\n\n if (fieldRef) {\n try {\n fieldRef.focus();\n } catch (e) {\n logger.error(\n `The ref '${fieldRef}' could not be focused. Is the ref an HTMLInputElement or HTMLButtonElement?`,\n \"ref error\",\n );\n }\n } else {\n logger.error(\n `A ref for fieldId '${fieldId}' could not be found. Has the ref been registered using setRef()?`,\n \"ref error\",\n );\n }\n};\n","/**\n * Avoid \"can't access property of undefined\" errors in a more readable way.\n * @param fn Function that wraps a nested property access\n * @param defaultVal Optional - the value to return if property access failed\n */\n\nexport function getSafe<T>(fn: () => T, defaultVal?: T): T | undefined {\n try {\n return fn();\n } catch (e) {\n return defaultVal;\n }\n}\n","import { produce } from \"immer\";\nimport { type InjectedIntl } from \"react-intl\";\n\nimport { logger } from \"@jslib/shared/utils/logger\";\n\nimport { EventName, recordGaEvent } from \"@/lib/GoogleAnalytics/ga\";\n\nimport {\n type FieldId,\n type FieldValidationErrors,\n type Organization,\n type VerificationService,\n type FieldContent,\n type FieldRef,\n type ExtendedFieldId,\n type WithOrganization,\n type InputSelectOnKeyDown,\n type FormSelectChoice,\n type Country,\n type ProgramTheme,\n type Locale,\n type ViewModel,\n type FieldDescription,\n type AllStatuses,\n type PersonalInfoFieldId,\n type Options,\n} from \"../../types/types\";\nimport { type VerificationStepsEnum } from \"../../types/runtimeTypes\";\nimport { blankOrganization } from \"../../types/empties\";\nimport {\n validateFieldById,\n getFieldValidationErrors,\n isFormErrored,\n} from \"../../validators/validators\";\nimport { setFocus } from \"../browser/inputHelpers\";\nimport { getRefByFieldId, getRefs } from \"../../refs/refs\";\nimport { getSafe } from \"../getSafe\";\nimport { getConfiguredCountries } from \"../../ProgramTheme/programThemeGetters\";\nimport { getQueryParamsFromUrl } from \"../routing/Url\";\nimport { FIELD_IDS } from \"../../../constants\";\nimport { getOptions } from \"../../../options/options\";\n\nexport const updateViewModelOrganization = (\n organization: Organization,\n verificationService: VerificationService,\n) => {\n const viewModel = verificationService.viewModel as WithOrganization;\n const nextState = produce(viewModel, (draft) => {\n draft.organization = organization\n ? {\n id: organization.id,\n idExtended: organization.idExtended,\n name: organization.name,\n city: organization.city,\n state: organization.state,\n source: organization.source,\n }\n : blankOrganization.organization;\n if (viewModel.organization && viewModel.organization.source !== undefined) {\n draft.organization.source = viewModel.organization.source;\n }\n });\n verificationService.updateViewModel(nextState as ViewModel);\n};\n\nexport const populateViewModelFromQueryParams = (verificationService: VerificationService) => {\n const viewModel = verificationService.viewModel as WithOrganization;\n const queryParams = getQueryParamsFromUrl();\n\n const nextState = produce(viewModel, (draft) => {\n Object.keys(viewModel).forEach((key) => {\n if (queryParams.has(key)) {\n draft[key] = queryParams.get(key);\n }\n });\n });\n\n verificationService.updateViewModel(nextState as ViewModel);\n};\n\nexport const updateFieldValidationErrors = (\n fieldValidationErrors: FieldValidationErrors,\n verificationService: VerificationService,\n) => {\n verificationService.updateFieldValidationErrors(fieldValidationErrors);\n};\n\nexport const updateFieldValidationErrorsByFieldId = (\n fieldId: FieldId | ExtendedFieldId,\n value: FieldContent,\n verificationService: VerificationService,\n) => {\n const { fieldValidationErrors } = verificationService;\n const nextState = produce(fieldValidationErrors, (draft) => {\n if (draft[fieldId]) {\n draft[fieldId] = validateFieldById(fieldId, value, verificationService.formValidationOptions);\n }\n });\n updateFieldValidationErrors(nextState, verificationService);\n};\n\nexport const shouldCollectAddressFields = (\n countryChoice: FormSelectChoice<Country, string>,\n countries: Country[],\n): boolean =>\n (getSafe(() => countries.length === 1) && getSafe(() => countries[0]) === \"US\") ||\n getSafe(() => countryChoice.value === \"US\") ||\n getSafe(() => countryChoice.value === undefined);\n\nexport const getStatusLabel = (intl: InjectedIntl, status: AllStatuses | undefined): string => {\n if (!status) {\n return \"\";\n }\n return intl.formatHTMLMessage({\n id: status,\n defaultMessage: status,\n });\n};\n\nexport const getStatusOptions = (\n intl: InjectedIntl,\n statuses: AllStatuses[] | undefined,\n): FormSelectChoice[] => {\n if (!statuses) {\n return [];\n }\n return statuses.map((status) => ({\n value: status,\n label: getStatusLabel(intl, status),\n }));\n};\n\nexport const orgToOption = (org: Organization) => ({\n value: org.id,\n label: org.name,\n country: org.country,\n});\n\n/**\n * @private\n */\nexport const getFieldDisplayOrderFromRefs = (): FieldId[] | ExtendedFieldId[] => {\n const refs: FieldRef[] = getRefs();\n const fieldDisplayOrder: FieldId | ExtendedFieldId[] = [];\n\n refs.map((refObject: FieldRef) => fieldDisplayOrder.push(refObject.fieldId));\n\n return fieldDisplayOrder;\n};\n\n/**\n * HD-638 - focus on year, rather than month (which is an open <select> that covers error msg)\n */\nexport const adjustFirstErroredFieldId = (\n firstErroredFieldId: FieldId | ExtendedFieldId,\n): FieldId | ExtendedFieldId => {\n if (firstErroredFieldId === \"birthDate\" || firstErroredFieldId === \"birthDateDay\") {\n return \"birthDateYear\";\n }\n return firstErroredFieldId;\n};\n\n/**\n * @private\n */\nexport const getFirstErroredFieldId = (\n fieldDisplayOrder: FieldId[] | ExtendedFieldId[],\n fieldValidationErrors: FieldValidationErrors,\n): FieldId | ExtendedFieldId => {\n let firstErroredFieldId: FieldId | ExtendedFieldId;\n\n fieldDisplayOrder.reverse().forEach((field) => {\n if (fieldValidationErrors[field]) {\n firstErroredFieldId = field;\n }\n });\n\n return adjustFirstErroredFieldId(firstErroredFieldId);\n};\n\n/**\n * @private\n */\nexport const handleEmailOnKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const submitButtonRef: HTMLElement = getRefByFieldId(\"submitButton\");\n if (event.key === \"Enter\" && submitButtonRef) {\n submitButtonRef.click();\n }\n};\n\n/**\n * @deprecated Accessibility standards prevent setting focus without user keyboard interaction\n */\nexport const handleCountryOnKeyDown: InputSelectOnKeyDown = (\n event: React.KeyboardEvent<HTMLInputElement>,\n) => {\n if (event.key === \"Tab\" && !event.shiftKey) {\n event.preventDefault();\n setFocus(\"organization\");\n }\n};\n\n/**\n * @public\n */\nexport const submitForm = (\n viewModel: ViewModel,\n verificationService: VerificationService,\n step: VerificationStepsEnum,\n successCallback?: () => void,\n) => {\n const currentFieldValidationErrors = getFieldValidationErrors(\n viewModel,\n verificationService.formValidationOptions,\n );\n const isFormValid = !isFormErrored(currentFieldValidationErrors);\n\n if (isFormValid) {\n logger.info(`${step} submitting form`);\n verificationService.submitStep(step, viewModel, verificationService.verificationResponse);\n if (successCallback) {\n successCallback();\n }\n } else {\n const fieldDisplayOrder: FieldId[] | ExtendedFieldId[] = getFieldDisplayOrderFromRefs();\n const firstErroredFieldId: FieldId | ExtendedFieldId = getFirstErroredFieldId(\n fieldDisplayOrder,\n currentFieldValidationErrors,\n );\n recordGaEvent({\n eventName: EventName.INVALID_FORM_SUBMIT,\n params: {\n fieldValidationErrors: JSON.stringify(currentFieldValidationErrors),\n },\n });\n updateFieldValidationErrors(currentFieldValidationErrors, verificationService);\n setFocus(firstErroredFieldId);\n }\n};\n\n/**\n * @private\n */\nexport const getAvailableCountryChoices = (\n programTheme: ProgramTheme,\n intl: InjectedIntl,\n): FormSelectChoice<Country, string>[] => {\n const availableCountries: Country[] = getConfiguredCountries(programTheme);\n return availableCountries.map((countryCode) => ({\n value: countryCode,\n label: intl.formatHTMLMessage({\n id: `countries.${countryCode}`,\n defaultMessage: countryCode,\n }),\n }));\n};\n\n/**\n * @private\n */\nexport const getSortedIdCheckCountryChoices = (\n countries: Country[],\n intl: InjectedIntl,\n locale?: Locale,\n): FormSelectChoice<Country, string>[] => {\n const localeAwareSorter = (a, b) => Intl.Collator(locale).compare(a.label, b.label);\n return countries\n .map((countryCode) => ({\n value: countryCode,\n label: intl.formatHTMLMessage({\n id: `countries.${countryCode}`,\n defaultMessage: countryCode,\n }),\n }))\n .sort(localeAwareSorter);\n};\n\n/**\n * @deprecated Not used anywhere and performs a noop.\n */\nexport const produceDraftViewModelWithRequiredFields = <T extends ViewModel>(\n previousModel: T,\n newRequiredFields?: FieldDescription[],\n conditionalRequiredFieldKeys?: (keyof T)[],\n) => {\n logger.info(\n \"produceDraftViewModelWithRequiredFields received. This method is now deprecated and performs a noop, returning previousViewModel\",\n {\n previousModel,\n newRequiredFields,\n conditionalRequiredFieldKeys,\n },\n );\n\n return previousModel;\n};\n\nexport const produceDraftViewModelWithAllRequiredFields = <T extends ViewModel>(\n viewModel: T,\n newRequiredFields: FieldDescription[],\n) =>\n produce(viewModel, (draft: T) => {\n FIELD_IDS.forEach((requiredFieldKey) => {\n if (newRequiredFields.some((field) => field.key === requiredFieldKey)) {\n (draft[requiredFieldKey] as any) =\n viewModel[requiredFieldKey] !== undefined ? viewModel[requiredFieldKey] : \"\";\n } else {\n delete draft[requiredFieldKey];\n }\n });\n });\n\n/**\n * @private\n */\nexport const getDefaultCountryChoice = (\n countryChoices: FormSelectChoice<Country, string>[],\n): FormSelectChoice<Country, string> => {\n if (countryChoices.length > 0) {\n return countryChoices[0];\n }\n return { value: \"US\", label: \"United States\" };\n};\n\n/**\n * @private\n */\nexport const produceDraftViewModel = <T extends ViewModel>(\n previousModel: T,\n key: keyof T,\n value: any,\n) =>\n produce(previousModel, (draft: T) => {\n (draft[key] as any) = value;\n });\n\n/**\n * @private\n */\nexport const getRememberMeRedirectDestination = (\n locale: Locale,\n programId: string,\n verificationId: string,\n): string => {\n const supportBasePreviewUrl = \"https://support-preview.sheerid.net\";\n const supportBaseProdUrl = \"https://support.sheerid.com\";\n let baseUrl = supportBaseProdUrl;\n const { host } = new URL(window.location.href);\n\n if (host.includes(\"preview\") || host.includes(\"localhost\")) {\n baseUrl = supportBasePreviewUrl;\n }\n\n return `${baseUrl}/${locale}/${programId}/${verificationId}/remember-me/`;\n};\n\nexport const getFieldConfigByFieldId = (\n fieldId: PersonalInfoFieldId,\n options: Options = getOptions(),\n) => {\n const fieldConfig = options.formFieldConfig;\n return fieldConfig.find((option) => option.fieldId === fieldId);\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stepComponentHelpers-CmZT1Man.js","names":[],"sources":["../../src/lib/utils/browser/inputHelpers.ts","../../src/lib/utils/getSafe.ts","../../src/lib/utils/stepComponentHelpers/stepComponentHelpers.ts"],"sourcesContent":["import { logger } from \"@jslib/shared/utils/logger\";\n\nimport { type ExtendedFieldId, type FieldId } from \"../../types/types\";\nimport { getRefByFieldId } from \"../../refs/refs\";\n\n/**\n * @private\n */\nexport const setFocus = (fieldId: FieldId | ExtendedFieldId) => {\n const fieldRef = getRefByFieldId(fieldId);\n\n if (fieldRef) {\n try {\n fieldRef.focus();\n } catch (e) {\n logger.error(\n `The ref '${fieldRef}' could not be focused. Is the ref an HTMLInputElement or HTMLButtonElement?`,\n \"ref error\",\n );\n }\n } else {\n logger.error(\n `A ref for fieldId '${fieldId}' could not be found. Has the ref been registered using setRef()?`,\n \"ref error\",\n );\n }\n};\n","/**\n * Avoid \"can't access property of undefined\" errors in a more readable way.\n * @param fn Function that wraps a nested property access\n * @param defaultVal Optional - the value to return if property access failed\n */\n\nexport function getSafe<T>(fn: () => T, defaultVal?: T): T | undefined {\n try {\n return fn();\n } catch (e) {\n return defaultVal;\n }\n}\n","import { produce } from \"immer\";\nimport { type InjectedIntl } from \"react-intl\";\n\nimport { logger } from \"@jslib/shared/utils/logger\";\n\nimport { EventName, recordGaEvent } from \"@/lib/GoogleAnalytics/ga\";\n\nimport {\n type FieldId,\n type FieldValidationErrors,\n type Organization,\n type VerificationService,\n type FieldContent,\n type FieldRef,\n type ExtendedFieldId,\n type WithOrganization,\n type InputSelectOnKeyDown,\n type FormSelectChoice,\n type Country,\n type ProgramTheme,\n type Locale,\n type ViewModel,\n type FieldDescription,\n type AllStatuses,\n type PersonalInfoFieldId,\n type Options,\n} from \"../../types/types\";\nimport { type VerificationStepsEnum } from \"../../types/runtimeTypes\";\nimport { blankOrganization } from \"../../types/empties\";\nimport {\n validateFieldById,\n getFieldValidationErrors,\n isFormErrored,\n} from \"../../validators/validators\";\nimport { setFocus } from \"../browser/inputHelpers\";\nimport { getRefByFieldId, getRefs } from \"../../refs/refs\";\nimport { getSafe } from \"../getSafe\";\nimport { getConfiguredCountries } from \"../../ProgramTheme/programThemeGetters\";\nimport { getQueryParamsFromUrl } from \"../routing/Url\";\nimport { FIELD_IDS } from \"../../../constants\";\nimport { getOptions } from \"../../../options/options\";\n\nexport const updateViewModelOrganization = (\n organization: Organization,\n verificationService: VerificationService,\n) => {\n const viewModel = verificationService.viewModel as WithOrganization;\n const nextState = produce(viewModel, (draft) => {\n draft.organization = organization\n ? {\n id: organization.id,\n idExtended: organization.idExtended,\n name: organization.name,\n city: organization.city,\n state: organization.state,\n source: organization.source,\n }\n : blankOrganization.organization;\n if (viewModel.organization && viewModel.organization.source !== undefined) {\n draft.organization.source = viewModel.organization.source;\n }\n });\n verificationService.updateViewModel(nextState as ViewModel);\n};\n\nexport const populateViewModelFromQueryParams = (verificationService: VerificationService) => {\n const viewModel = verificationService.viewModel as WithOrganization;\n const queryParams = getQueryParamsFromUrl();\n\n const nextState = produce(viewModel, (draft) => {\n Object.keys(viewModel).forEach((key) => {\n if (queryParams.has(key)) {\n draft[key] = queryParams.get(key);\n }\n });\n });\n\n verificationService.updateViewModel(nextState as ViewModel);\n};\n\nexport const updateFieldValidationErrors = (\n fieldValidationErrors: FieldValidationErrors,\n verificationService: VerificationService,\n) => {\n verificationService.updateFieldValidationErrors(fieldValidationErrors);\n};\n\nexport const updateFieldValidationErrorsByFieldId = (\n fieldId: FieldId | ExtendedFieldId,\n value: FieldContent,\n verificationService: VerificationService,\n) => {\n const { fieldValidationErrors } = verificationService;\n const nextState = produce(fieldValidationErrors, (draft) => {\n if (draft[fieldId]) {\n draft[fieldId] = validateFieldById(fieldId, value, verificationService.formValidationOptions);\n }\n });\n updateFieldValidationErrors(nextState, verificationService);\n};\n\nexport const shouldCollectAddressFields = (\n countryChoice: FormSelectChoice<Country, string>,\n countries: Country[],\n): boolean =>\n (getSafe(() => countries.length === 1) && getSafe(() => countries[0]) === \"US\") ||\n getSafe(() => countryChoice.value === \"US\") ||\n getSafe(() => countryChoice.value === undefined);\n\nexport const getStatusLabel = (intl: InjectedIntl, status: AllStatuses | undefined): string => {\n if (!status) {\n return \"\";\n }\n return intl.formatHTMLMessage({\n id: status,\n defaultMessage: status,\n });\n};\n\nexport const getStatusOptions = (\n intl: InjectedIntl,\n statuses: AllStatuses[] | undefined,\n): FormSelectChoice[] => {\n if (!statuses) {\n return [];\n }\n return statuses.map((status) => ({\n value: status,\n label: getStatusLabel(intl, status),\n }));\n};\n\nexport const orgToOption = (org: Organization) => ({\n value: org.id,\n label: org.name,\n country: org.country,\n});\n\n/**\n * @private\n */\nexport const getFieldDisplayOrderFromRefs = (): FieldId[] | ExtendedFieldId[] => {\n const refs: FieldRef[] = getRefs();\n const fieldDisplayOrder: FieldId | ExtendedFieldId[] = [];\n\n refs.map((refObject: FieldRef) => fieldDisplayOrder.push(refObject.fieldId));\n\n return fieldDisplayOrder;\n};\n\n/**\n * HD-638 - focus on year, rather than month (which is an open <select> that covers error msg)\n */\nexport const adjustFirstErroredFieldId = (\n firstErroredFieldId: FieldId | ExtendedFieldId,\n): FieldId | ExtendedFieldId => {\n if (firstErroredFieldId === \"birthDate\" || firstErroredFieldId === \"birthDateDay\") {\n return \"birthDateYear\";\n }\n return firstErroredFieldId;\n};\n\n/**\n * @private\n */\nexport const getFirstErroredFieldId = (\n fieldDisplayOrder: FieldId[] | ExtendedFieldId[],\n fieldValidationErrors: FieldValidationErrors,\n): FieldId | ExtendedFieldId => {\n let firstErroredFieldId: FieldId | ExtendedFieldId;\n\n fieldDisplayOrder.reverse().forEach((field) => {\n if (fieldValidationErrors[field]) {\n firstErroredFieldId = field;\n }\n });\n\n return adjustFirstErroredFieldId(firstErroredFieldId);\n};\n\n/**\n * @private\n */\nexport const handleEmailOnKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const submitButtonRef: HTMLElement = getRefByFieldId(\"submitButton\");\n if (event.key === \"Enter\" && submitButtonRef) {\n submitButtonRef.click();\n }\n};\n\n/**\n * @deprecated Accessibility standards prevent setting focus without user keyboard interaction\n */\nexport const handleCountryOnKeyDown: InputSelectOnKeyDown = (\n event: React.KeyboardEvent<HTMLInputElement>,\n) => {\n if (event.key === \"Tab\" && !event.shiftKey) {\n event.preventDefault();\n setFocus(\"organization\");\n }\n};\n\n/**\n * @public\n */\nexport const submitForm = (\n viewModel: ViewModel,\n verificationService: VerificationService,\n step: VerificationStepsEnum,\n successCallback?: () => void,\n) => {\n const currentFieldValidationErrors = getFieldValidationErrors(\n viewModel,\n verificationService.formValidationOptions,\n );\n const isFormValid = !isFormErrored(currentFieldValidationErrors);\n\n if (isFormValid) {\n logger.info(`${step} submitting form`);\n verificationService.submitStep(step, viewModel, verificationService.verificationResponse);\n if (successCallback) {\n successCallback();\n }\n } else {\n const fieldDisplayOrder: FieldId[] | ExtendedFieldId[] = getFieldDisplayOrderFromRefs();\n const firstErroredFieldId: FieldId | ExtendedFieldId = getFirstErroredFieldId(\n fieldDisplayOrder,\n currentFieldValidationErrors,\n );\n recordGaEvent({\n eventName: EventName.INVALID_FORM_SUBMIT,\n params: {\n fieldValidationErrors: JSON.stringify(currentFieldValidationErrors),\n },\n });\n updateFieldValidationErrors(currentFieldValidationErrors, verificationService);\n setFocus(firstErroredFieldId);\n }\n};\n\n/**\n * @private\n */\nexport const getAvailableCountryChoices = (\n programTheme: ProgramTheme,\n intl: InjectedIntl,\n): FormSelectChoice<Country, string>[] => {\n const availableCountries: Country[] = getConfiguredCountries(programTheme);\n return availableCountries.map((countryCode) => ({\n value: countryCode,\n label: intl.formatHTMLMessage({\n id: `countries.${countryCode}`,\n defaultMessage: countryCode,\n }),\n }));\n};\n\n/**\n * @private\n */\nexport const getSortedIdCheckCountryChoices = (\n countries: Country[],\n intl: InjectedIntl,\n locale?: Locale,\n): FormSelectChoice<Country, string>[] => {\n const localeAwareSorter = (a, b) => Intl.Collator(locale).compare(a.label, b.label);\n return countries\n .map((countryCode) => ({\n value: countryCode,\n label: intl.formatHTMLMessage({\n id: `countries.${countryCode}`,\n defaultMessage: countryCode,\n }),\n }))\n .sort(localeAwareSorter);\n};\n\n/**\n * @deprecated Not used anywhere and performs a noop.\n */\nexport const produceDraftViewModelWithRequiredFields = <T extends ViewModel>(\n previousModel: T,\n newRequiredFields?: FieldDescription[],\n conditionalRequiredFieldKeys?: (keyof T)[],\n) => {\n logger.info(\n \"produceDraftViewModelWithRequiredFields received. This method is now deprecated and performs a noop, returning previousViewModel\",\n {\n previousModel,\n newRequiredFields,\n conditionalRequiredFieldKeys,\n },\n );\n\n return previousModel;\n};\n\nexport const produceDraftViewModelWithAllRequiredFields = <T extends ViewModel>(\n viewModel: T,\n newRequiredFields: FieldDescription[],\n) =>\n produce(viewModel, (draft: T) => {\n FIELD_IDS.forEach((requiredFieldKey) => {\n if (newRequiredFields.some((field) => field.key === requiredFieldKey)) {\n (draft[requiredFieldKey] as any) =\n viewModel[requiredFieldKey] !== undefined ? viewModel[requiredFieldKey] : \"\";\n } else {\n delete draft[requiredFieldKey];\n }\n });\n });\n\n/**\n * @private\n */\nexport const getDefaultCountryChoice = (\n countryChoices: FormSelectChoice<Country, string>[],\n): FormSelectChoice<Country, string> => {\n if (countryChoices.length > 0) {\n return countryChoices[0];\n }\n return { value: \"US\", label: \"United States\" };\n};\n\n/**\n * @private\n */\nexport const produceDraftViewModel = <T extends ViewModel>(\n previousModel: T,\n key: keyof T,\n value: any,\n) =>\n produce(previousModel, (draft: T) => {\n (draft[key] as any) = value;\n });\n\n/**\n * @private\n */\nexport const getRememberMeRedirectDestination = (\n locale: Locale,\n programId: string,\n verificationId: string,\n): string => {\n const supportBasePreviewUrl = \"https://support-preview.sheerid.net\";\n const supportBaseProdUrl = \"https://support.sheerid.com\";\n let baseUrl = supportBaseProdUrl;\n const { host } = new URL(window.location.href);\n\n if (host.includes(\"preview\") || host.includes(\"localhost\")) {\n baseUrl = supportBasePreviewUrl;\n }\n\n return `${baseUrl}/${locale}/${programId}/${verificationId}/remember-me/`;\n};\n\nexport const getFieldConfigByFieldId = (\n fieldId: PersonalInfoFieldId,\n options: Options = getOptions(),\n) => {\n const fieldConfig = options.formFieldConfig;\n return fieldConfig.find((option) => option.fieldId === fieldId);\n};\n"],"mappings":"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"}
|