@remoteoss/remote-flows 1.24.0 → 1.25.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/README.md +0 -4
- package/dist/ButtonDefault-A5JWQEZF.js +2 -0
- package/dist/CheckboxFieldDefault-2YCVL3MM.js +2 -0
- package/dist/CountryFieldDefault-IY664WKC.js +2 -0
- package/dist/DatePickerFieldDefault-UZ3W2B3R.js +2 -0
- package/dist/DrawerDefault-HQGPEMMY.js +2 -0
- package/dist/EmailFieldDefault-6GQMGBQV.js +2 -0
- package/dist/FieldsetToggleButtonDefault-NQCXWGRK.js +2 -0
- package/dist/FileUploadFieldDefault-L3LOK4A5.js +2 -0
- package/dist/MultiSelectFieldDefault-OE5NHM6A.js +2 -0
- package/dist/NumberFieldDefault-MV3FSZOG.js +2 -0
- package/dist/RadioGroupFieldDefault-J3ESFNPW.js +2 -0
- package/dist/SelectFieldDefault-F2MAJW7S.js +2 -0
- package/dist/StatementDefault-FTAOOAL4.js +2 -0
- package/dist/TableFieldDefault-LXHWAWPG.js +2 -0
- package/dist/TelFieldDefault-EHHOHIQD.js +2 -0
- package/dist/TextAreaFieldDefault-VXPH3YGT.js +2 -0
- package/dist/TextFieldDefault-QWGENVEE.js +2 -0
- package/dist/WorkScheduleFieldDefault-SJSAWRYV.js +2 -0
- package/dist/ZendeskDrawerDefault-SUUZWWY2.js +2 -0
- package/dist/ZendeskDrawerDefault-SUUZWWY2.js.map +1 -0
- package/dist/{chunk-L5DII4MV.js → chunk-237RQGWE.js} +2 -2
- package/dist/{chunk-6JTHV4QS.js → chunk-2Y7QAG2Q.js} +2 -2
- package/dist/{chunk-BNQFPYNQ.js → chunk-32M6SNGV.js} +2 -2
- package/dist/{chunk-T4QDKI7V.js → chunk-3BEEU2N4.js} +2 -2
- package/dist/{chunk-W5YNJOSB.js → chunk-3HAKPYWK.js} +2 -2
- package/dist/{chunk-FAIEJW57.js → chunk-3HZOTQHD.js} +2 -2
- package/dist/chunk-3HZOTQHD.js.map +1 -0
- package/dist/{chunk-OELREIVJ.js → chunk-3VALWCZ5.js} +2 -2
- package/dist/{chunk-547UHEDI.js → chunk-423VHE7M.js} +2 -2
- package/dist/{chunk-56UXOD27.js → chunk-43MCQDBU.js} +2 -2
- package/dist/{chunk-WRRTZ2AL.js → chunk-4Z2DLHAT.js} +2 -2
- package/dist/chunk-552XBDTE.js +2 -0
- package/dist/chunk-552XBDTE.js.map +1 -0
- package/dist/{chunk-MSBCYMSH.js → chunk-5BGETBLF.js} +2 -2
- package/dist/{chunk-2V4CTIAG.js → chunk-5EYREHAZ.js} +2 -2
- package/dist/{chunk-PZUCONZ4.js → chunk-5FOI6SK4.js} +2 -2
- package/dist/{chunk-S6IMK3LL.js → chunk-5ISPVKB4.js} +2 -2
- package/dist/{chunk-D7W4VBSV.js → chunk-5MJH36G3.js} +2 -2
- package/dist/chunk-5XNFVJNM.js +2 -0
- package/dist/chunk-5XNFVJNM.js.map +1 -0
- package/dist/chunk-626FTNKA.js +2 -0
- package/dist/chunk-626FTNKA.js.map +1 -0
- package/dist/{chunk-VFB3RR5I.js → chunk-65KMTRFL.js} +2 -2
- package/dist/{chunk-26IIK5U2.js → chunk-6PRPMEWS.js} +2 -2
- package/dist/{chunk-L3LOATSG.js → chunk-74U3UMRA.js} +2 -2
- package/dist/chunk-766AUWUO.js +2 -0
- package/dist/chunk-766AUWUO.js.map +1 -0
- package/dist/{chunk-T2KDFAAY.js → chunk-7NZH3TF3.js} +2 -2
- package/dist/{chunk-B2BH4JUO.js → chunk-7WV3GBEI.js} +2 -2
- package/dist/{chunk-H5QXOIKS.js → chunk-A3NABWR7.js} +2 -2
- package/dist/{chunk-SPQM2TCX.js → chunk-AEKGVWE5.js} +2 -2
- package/dist/{chunk-CKVI2UDU.js → chunk-AGZHFGBR.js} +2 -2
- package/dist/{chunk-BAMGHBLT.js → chunk-AVJEDFND.js} +2 -2
- package/dist/{chunk-RVADUHPA.js → chunk-BTGWCFHJ.js} +2 -2
- package/dist/chunk-CHRRWZHW.js +2 -0
- package/dist/chunk-CHRRWZHW.js.map +1 -0
- package/dist/{chunk-J7MCWMDD.js → chunk-COZWEBRG.js} +2 -2
- package/dist/chunk-D3EUFZXJ.js +2 -0
- package/dist/{chunk-M4TBX2FU.js.map → chunk-D3EUFZXJ.js.map} +1 -1
- package/dist/{chunk-IORVZBRC.js → chunk-DA3D7BEQ.js} +2 -2
- package/dist/{chunk-IORVZBRC.js.map → chunk-DA3D7BEQ.js.map} +1 -1
- package/dist/{chunk-7G5JSUZU.js → chunk-DJOLLEOJ.js} +2 -2
- package/dist/{chunk-MP3VDCI7.js → chunk-DJYO6IIO.js} +2 -2
- package/dist/{chunk-42R2H2DW.js → chunk-DN6BXTAC.js} +1 -1
- package/dist/chunk-DN6BXTAC.js.map +1 -0
- package/dist/{chunk-6ABCDOFB.js → chunk-DXHWEBVC.js} +2 -2
- package/dist/{chunk-IFX5XLPZ.js → chunk-E37JLKX4.js} +2 -2
- package/dist/chunk-E3HFSANG.js +2 -0
- package/dist/{chunk-BK44KHBJ.js.map → chunk-E3HFSANG.js.map} +1 -1
- package/dist/chunk-EARN6G25.js +2 -0
- package/dist/chunk-EARN6G25.js.map +1 -0
- package/dist/{chunk-RYVRMH6C.js → chunk-EJCCWBLQ.js} +2 -2
- package/dist/chunk-EVJ77XIZ.js +2 -0
- package/dist/{chunk-ZO34QFKD.js.map → chunk-EVJ77XIZ.js.map} +1 -1
- package/dist/{chunk-VB6KFDBL.js → chunk-FHGQELT7.js} +2 -2
- package/dist/{chunk-VRW22LTU.js → chunk-FUOTJMAO.js} +2 -2
- package/dist/{chunk-MGZWMJMP.js → chunk-FYBXLFMI.js} +2 -2
- package/dist/{chunk-O6H66UM2.js → chunk-FZVUO3UU.js} +2 -2
- package/dist/{chunk-RGRCYSYE.js → chunk-GBQPG5OU.js} +2 -2
- package/dist/{chunk-3BBQDNZD.js → chunk-GPXETIKG.js} +2 -2
- package/dist/{chunk-HYDNZQOV.js → chunk-HLR7IUW7.js} +2 -2
- package/dist/{chunk-YUJBCOLO.js → chunk-IFD3RW53.js} +2 -2
- package/dist/chunk-IJDBUKEM.js +2 -0
- package/dist/chunk-IJDBUKEM.js.map +1 -0
- package/dist/{chunk-6MJVXTLI.js → chunk-IKSPEKDA.js} +2 -2
- package/dist/chunk-JHH66SSM.js +2 -0
- package/dist/chunk-JHH66SSM.js.map +1 -0
- package/dist/{chunk-TNN3W5TU.js → chunk-JJDAJQG4.js} +2 -2
- package/dist/{chunk-UMVA4SIV.js → chunk-JOHNIKN6.js} +2 -2
- package/dist/chunk-K5XSOKKX.js +2 -0
- package/dist/{chunk-53KG3SOU.js.map → chunk-K5XSOKKX.js.map} +1 -1
- package/dist/chunk-KFYWUBRS.js +2 -0
- package/dist/{chunk-LNV36S6D.js.map → chunk-KFYWUBRS.js.map} +1 -1
- package/dist/chunk-KQUKUR4T.js +2 -0
- package/dist/chunk-KQUKUR4T.js.map +1 -0
- package/dist/{chunk-TQXCLXWH.js → chunk-L3XWJ35V.js} +2 -2
- package/dist/{chunk-4IE7XN74.js → chunk-LBGZYTNR.js} +2 -2
- package/dist/{chunk-KXT6ACFL.js → chunk-LBNA4RGS.js} +2 -2
- package/dist/{chunk-NLBQ7CZC.js → chunk-LRPDJWIO.js} +2 -2
- package/dist/{chunk-AR5X2YWE.js → chunk-LZL5KK3N.js} +2 -2
- package/dist/{chunk-BYDQHL6O.js → chunk-MEOD4UGO.js} +2 -2
- package/dist/{chunk-WQVZXTW3.js → chunk-MOM5PCKI.js} +2 -2
- package/dist/{chunk-EP6FL2L3.js → chunk-N4TAXXWW.js} +2 -2
- package/dist/{chunk-NAF6LRSS.js → chunk-NZ7BAZNH.js} +2 -2
- package/dist/{chunk-SNBAM7SA.js → chunk-OABRM5LK.js} +2 -2
- package/dist/{chunk-WD2JGIDK.js → chunk-OOEKN64P.js} +2 -2
- package/dist/{chunk-XRN6752K.js → chunk-OORPUQ3N.js} +2 -2
- package/dist/{chunk-3LCASKDS.js → chunk-OOSCL4WD.js} +2 -2
- package/dist/{chunk-NNFWLL7F.js → chunk-PSBC73OL.js} +2 -2
- package/dist/{chunk-IYL6TSUF.js → chunk-Q6NTGZUW.js} +2 -2
- package/dist/{chunk-NUID2T57.js → chunk-QEIHXZIK.js} +2 -2
- package/dist/{chunk-NUID2T57.js.map → chunk-QEIHXZIK.js.map} +1 -1
- package/dist/{chunk-3DMWQJ5W.js → chunk-QMPXBDDO.js} +2 -2
- package/dist/chunk-R3HLTYHX.js +2 -0
- package/dist/chunk-R3HLTYHX.js.map +1 -0
- package/dist/{chunk-AS6KFUXS.js → chunk-R3NDFTIM.js} +2 -2
- package/dist/chunk-R47Q7R6C.js +8 -0
- package/dist/chunk-R47Q7R6C.js.map +1 -0
- package/dist/{chunk-CHHHYLCB.js → chunk-R4F5WRKC.js} +2 -2
- package/dist/{chunk-NOTLTHHZ.js → chunk-R4PLUUI3.js} +2 -2
- package/dist/chunk-RAVJ3LMO.js +2 -0
- package/dist/{chunk-ECGWCDC3.js.map → chunk-RAVJ3LMO.js.map} +1 -1
- package/dist/{chunk-AYC6DTFV.js → chunk-RWMNB4RJ.js} +2 -2
- package/dist/chunk-RXNDKUY6.js +2 -0
- package/dist/chunk-RXNDKUY6.js.map +1 -0
- package/dist/{chunk-NAMR4DA5.js → chunk-S3YIFNST.js} +2 -2
- package/dist/{chunk-7ZFZYZSP.js → chunk-S62HZDF7.js} +2 -2
- package/dist/{chunk-CS5TJWQM.js → chunk-S6MU4NHQ.js} +2 -2
- package/dist/{chunk-PNEB74RP.js → chunk-SHXQGRNL.js} +2 -2
- package/dist/{chunk-6ZHKAS7X.js → chunk-SSBGIR74.js} +2 -2
- package/dist/{chunk-6ZHKAS7X.js.map → chunk-SSBGIR74.js.map} +1 -1
- package/dist/{chunk-YIOLMWB5.js → chunk-TFJOJCCS.js} +2 -2
- package/dist/{chunk-VPSESR6G.js → chunk-TPH6YQRJ.js} +2 -2
- package/dist/{chunk-OWUINMZP.js → chunk-U7S4TUFV.js} +2 -2
- package/dist/{chunk-SNECOPBD.js → chunk-UB5WD4YM.js} +2 -2
- package/dist/{chunk-R4X2WQXX.js → chunk-UFLWSKNE.js} +2 -2
- package/dist/chunk-UITO344H.js +2 -0
- package/dist/chunk-UITO344H.js.map +1 -0
- package/dist/{chunk-2JVZYQ6Z.js → chunk-UJJ5576U.js} +2 -2
- package/dist/{chunk-Z7J6NJY2.js → chunk-VJMCAVOL.js} +2 -2
- package/dist/chunk-VJNTRMOS.js +2 -0
- package/dist/chunk-VJNTRMOS.js.map +1 -0
- package/dist/{chunk-X3PUZFYX.js → chunk-VSBNYQZM.js} +2 -2
- package/dist/{chunk-UNKCOOE4.js → chunk-WI6ZYN4S.js} +2 -2
- package/dist/{chunk-DJPCJ3YR.js → chunk-WVND2FCE.js} +2 -2
- package/dist/{chunk-3C6N7DK6.js → chunk-X5TMQDWS.js} +2 -2
- package/dist/{chunk-D7CBR52B.js → chunk-XULW2ME7.js} +2 -2
- package/dist/{chunk-HIFEVMKP.js → chunk-Y4P3ZYQK.js} +2 -2
- package/dist/{chunk-N4IPXHFM.js → chunk-YNMQONDL.js} +2 -2
- package/dist/chunk-YNMQONDL.js.map +1 -0
- package/dist/{chunk-TVCIAQTC.js → chunk-YQMALPDQ.js} +2 -2
- package/dist/{chunk-YWOJ4NKF.js → chunk-YRAIYQ2K.js} +2 -2
- package/dist/{chunk-AXV7YMZ3.js → chunk-YTWEXSYT.js} +2 -2
- package/dist/chunk-YZKXKNDS.js +2 -0
- package/dist/chunk-YZKXKNDS.js.map +1 -0
- package/dist/chunk-ZAQUO2SM.js +2 -0
- package/dist/chunk-ZAQUO2SM.js.map +1 -0
- package/dist/{chunk-RAH453TV.js → chunk-ZBJ4VEDO.js} +2 -2
- package/dist/chunk-ZR6AKRA3.js +2 -0
- package/dist/{chunk-EIVCBH53.js.map → chunk-ZR6AKRA3.js.map} +1 -1
- package/dist/{chunk-DXIJUMLU.js → chunk-ZZPQGX7X.js} +2 -2
- package/dist/default-components.d.ts +2 -3
- package/dist/default-components.js +1 -1
- package/dist/default-components.js.map +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -4
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -4
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -4
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -4
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +2 -3
- package/dist/flows/ContractAmendment/utils.d.ts +2 -3
- package/dist/flows/ContractAmendment/utils.js +1 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +3 -4
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -5
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -3
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -3
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -4
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -5
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +6 -7
- package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/utils.d.ts +4 -5
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -4
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -4
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -3
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -3
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
- package/dist/flows/CostCalculator/api.d.ts +2 -3
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -3
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -4
- package/dist/flows/CostCalculator/hooks.d.ts +3 -4
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -4
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +2 -3
- package/dist/flows/CostCalculator/utils.d.ts +3 -4
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -5
- package/dist/flows/CreateCompany/CreateCompany.js +1 -1
- package/dist/flows/CreateCompany/api.d.ts +2 -3
- package/dist/flows/CreateCompany/api.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -5
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -5
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -3
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
- package/dist/flows/CreateCompany/context.d.ts +4 -5
- package/dist/flows/CreateCompany/hooks.d.ts +4 -5
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +4 -5
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +4 -5
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -5
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +5 -9
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -3
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -5
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -5
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -5
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -5
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -4
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -5
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -4
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -5
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +4 -5
- package/dist/flows/Onboarding/hooks.d.ts +4 -5
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -5
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -5
- package/dist/flows/Onboarding/utils.d.ts +4 -5
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -5
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -5
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -5
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -5
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -5
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +4 -5
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/api.d.ts +5 -6
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -7
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -7
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -7
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +4 -5
- package/dist/flows/Termination/hooks.d.ts +4 -5
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -7
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +7 -8
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +4 -5
- package/dist/flows/Termination/utils.d.ts +4 -5
- package/dist/flows/Termination/utils.js +1 -1
- package/dist/flows/types.d.ts +2 -3
- package/dist/flows/utils.d.ts +6 -2
- package/dist/flows/utils.js +1 -1
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +11 -12
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +6 -7
- package/dist/internals.js +1 -1
- package/dist/{mutations-BsydWn3-.d.ts → mutations-k1bkfjOU.d.ts} +1 -1
- package/dist/{remoteFlows-BVt9wH8Z.d.ts → remoteFlows-CizrXXw-.d.ts} +32 -4
- package/dist/styles.css +2 -2
- package/dist/styles.css.map +1 -1
- package/dist/{types-C0ri3b3L.d.ts → types-CRnEmzMD.d.ts} +1 -1
- package/dist/{types-BUI5G3ML.d.ts → types-Cg4eblxv.d.ts} +6 -6
- package/dist/{types-C0m9mu0v.d.ts → types-DWSLcaDI.d.ts} +3 -3
- package/dist/{types-uW0BsP56.d.ts → types-DoYYKUID.d.ts} +3 -3
- package/dist/{types-BfQMv-8p.d.ts → types-VJHlrVxd.d.ts} +2 -2
- package/dist/{types.gen-Oz2Tvvr6.d.ts → types.gen-Dgw1W-SB.d.ts} +74 -21
- package/dist/{utils-Db2G1Kxo.d.ts → utils-DaoVOrzw.d.ts} +1 -1
- package/package.json +35 -41
- package/dist/ButtonDefault-2YV2Z474.js +0 -2
- package/dist/CheckboxFieldDefault-XSBJF4HQ.js +0 -2
- package/dist/CountryFieldDefault-K5X6MFP3.js +0 -2
- package/dist/DatePickerFieldDefault-G6FWA64N.js +0 -2
- package/dist/DrawerDefault-AAUS7T5W.js +0 -2
- package/dist/EmailFieldDefault-TFQ5SQVC.js +0 -2
- package/dist/FieldsetToggleButtonDefault-MFLN2WWT.js +0 -2
- package/dist/FileUploadFieldDefault-7ETO2SEZ.js +0 -2
- package/dist/MultiSelectFieldDefault-5TL5SL7W.js +0 -2
- package/dist/NumberFieldDefault-L7J22NRQ.js +0 -2
- package/dist/RadioGroupFieldDefault-XSPBKOS6.js +0 -2
- package/dist/SelectFieldDefault-AT6LLZNX.js +0 -2
- package/dist/StatementDefault-DORMITL7.js +0 -2
- package/dist/TableFieldDefault-URJVK7YR.js +0 -2
- package/dist/TextAreaFieldDefault-2TV3WHKH.js +0 -2
- package/dist/TextFieldDefault-2GEILZPU.js +0 -2
- package/dist/WorkScheduleFieldDefault-XH4AEXSM.js +0 -2
- package/dist/ZendeskDrawerDefault-A5PVWI4R.js +0 -2
- package/dist/chunk-3NESYBEJ.js +0 -2
- package/dist/chunk-3NESYBEJ.js.map +0 -1
- package/dist/chunk-42R2H2DW.js.map +0 -1
- package/dist/chunk-53KG3SOU.js +0 -2
- package/dist/chunk-5CFU6XTU.js +0 -2
- package/dist/chunk-5CFU6XTU.js.map +0 -1
- package/dist/chunk-6H4634RG.js +0 -2
- package/dist/chunk-6H4634RG.js.map +0 -1
- package/dist/chunk-BK44KHBJ.js +0 -2
- package/dist/chunk-CWAFRJAQ.js +0 -2
- package/dist/chunk-CWAFRJAQ.js.map +0 -1
- package/dist/chunk-D5AO6SOM.js +0 -2
- package/dist/chunk-D5AO6SOM.js.map +0 -1
- package/dist/chunk-ECGWCDC3.js +0 -2
- package/dist/chunk-EIVCBH53.js +0 -2
- package/dist/chunk-FAIEJW57.js.map +0 -1
- package/dist/chunk-G3HUFVSG.js +0 -2
- package/dist/chunk-G3HUFVSG.js.map +0 -1
- package/dist/chunk-HLSQCUMS.js +0 -2
- package/dist/chunk-HLSQCUMS.js.map +0 -1
- package/dist/chunk-LNV36S6D.js +0 -2
- package/dist/chunk-M4TBX2FU.js +0 -2
- package/dist/chunk-MKPKDACH.js +0 -2
- package/dist/chunk-MKPKDACH.js.map +0 -1
- package/dist/chunk-N4IPXHFM.js.map +0 -1
- package/dist/chunk-OXKAGVWK.js +0 -2
- package/dist/chunk-OXKAGVWK.js.map +0 -1
- package/dist/chunk-QB6OI74K.js +0 -2
- package/dist/chunk-QB6OI74K.js.map +0 -1
- package/dist/chunk-VIGKOVHP.js +0 -2
- package/dist/chunk-VIGKOVHP.js.map +0 -1
- package/dist/chunk-VN535FEZ.js +0 -2
- package/dist/chunk-VN535FEZ.js.map +0 -1
- package/dist/chunk-VU6C3EU2.js +0 -2
- package/dist/chunk-VU6C3EU2.js.map +0 -1
- package/dist/chunk-WQ4H5V7U.js +0 -6
- package/dist/chunk-WQ4H5V7U.js.map +0 -1
- package/dist/chunk-X6ZAR7ZL.js +0 -2
- package/dist/chunk-X6ZAR7ZL.js.map +0 -1
- package/dist/chunk-Z5WMKCRJ.js +0 -2
- package/dist/chunk-Z5WMKCRJ.js.map +0 -1
- package/dist/chunk-ZO34QFKD.js +0 -2
- package/dist/types-ZWIpiFgj.d.ts +0 -4
- /package/dist/{ButtonDefault-2YV2Z474.js.map → ButtonDefault-A5JWQEZF.js.map} +0 -0
- /package/dist/{CheckboxFieldDefault-XSBJF4HQ.js.map → CheckboxFieldDefault-2YCVL3MM.js.map} +0 -0
- /package/dist/{CountryFieldDefault-K5X6MFP3.js.map → CountryFieldDefault-IY664WKC.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-G6FWA64N.js.map → DatePickerFieldDefault-UZ3W2B3R.js.map} +0 -0
- /package/dist/{DrawerDefault-AAUS7T5W.js.map → DrawerDefault-HQGPEMMY.js.map} +0 -0
- /package/dist/{EmailFieldDefault-TFQ5SQVC.js.map → EmailFieldDefault-6GQMGBQV.js.map} +0 -0
- /package/dist/{FieldsetToggleButtonDefault-MFLN2WWT.js.map → FieldsetToggleButtonDefault-NQCXWGRK.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-7ETO2SEZ.js.map → FileUploadFieldDefault-L3LOK4A5.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-5TL5SL7W.js.map → MultiSelectFieldDefault-OE5NHM6A.js.map} +0 -0
- /package/dist/{NumberFieldDefault-L7J22NRQ.js.map → NumberFieldDefault-MV3FSZOG.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-XSPBKOS6.js.map → RadioGroupFieldDefault-J3ESFNPW.js.map} +0 -0
- /package/dist/{SelectFieldDefault-AT6LLZNX.js.map → SelectFieldDefault-F2MAJW7S.js.map} +0 -0
- /package/dist/{StatementDefault-DORMITL7.js.map → StatementDefault-FTAOOAL4.js.map} +0 -0
- /package/dist/{TableFieldDefault-URJVK7YR.js.map → TableFieldDefault-LXHWAWPG.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-2TV3WHKH.js.map → TelFieldDefault-EHHOHIQD.js.map} +0 -0
- /package/dist/{TextFieldDefault-2GEILZPU.js.map → TextAreaFieldDefault-VXPH3YGT.js.map} +0 -0
- /package/dist/{WorkScheduleFieldDefault-XH4AEXSM.js.map → TextFieldDefault-QWGENVEE.js.map} +0 -0
- /package/dist/{ZendeskDrawerDefault-A5PVWI4R.js.map → WorkScheduleFieldDefault-SJSAWRYV.js.map} +0 -0
- /package/dist/{chunk-L5DII4MV.js.map → chunk-237RQGWE.js.map} +0 -0
- /package/dist/{chunk-6JTHV4QS.js.map → chunk-2Y7QAG2Q.js.map} +0 -0
- /package/dist/{chunk-BNQFPYNQ.js.map → chunk-32M6SNGV.js.map} +0 -0
- /package/dist/{chunk-T4QDKI7V.js.map → chunk-3BEEU2N4.js.map} +0 -0
- /package/dist/{chunk-W5YNJOSB.js.map → chunk-3HAKPYWK.js.map} +0 -0
- /package/dist/{chunk-OELREIVJ.js.map → chunk-3VALWCZ5.js.map} +0 -0
- /package/dist/{chunk-547UHEDI.js.map → chunk-423VHE7M.js.map} +0 -0
- /package/dist/{chunk-56UXOD27.js.map → chunk-43MCQDBU.js.map} +0 -0
- /package/dist/{chunk-WRRTZ2AL.js.map → chunk-4Z2DLHAT.js.map} +0 -0
- /package/dist/{chunk-MSBCYMSH.js.map → chunk-5BGETBLF.js.map} +0 -0
- /package/dist/{chunk-2V4CTIAG.js.map → chunk-5EYREHAZ.js.map} +0 -0
- /package/dist/{chunk-PZUCONZ4.js.map → chunk-5FOI6SK4.js.map} +0 -0
- /package/dist/{chunk-S6IMK3LL.js.map → chunk-5ISPVKB4.js.map} +0 -0
- /package/dist/{chunk-D7W4VBSV.js.map → chunk-5MJH36G3.js.map} +0 -0
- /package/dist/{chunk-VFB3RR5I.js.map → chunk-65KMTRFL.js.map} +0 -0
- /package/dist/{chunk-26IIK5U2.js.map → chunk-6PRPMEWS.js.map} +0 -0
- /package/dist/{chunk-L3LOATSG.js.map → chunk-74U3UMRA.js.map} +0 -0
- /package/dist/{chunk-T2KDFAAY.js.map → chunk-7NZH3TF3.js.map} +0 -0
- /package/dist/{chunk-B2BH4JUO.js.map → chunk-7WV3GBEI.js.map} +0 -0
- /package/dist/{chunk-H5QXOIKS.js.map → chunk-A3NABWR7.js.map} +0 -0
- /package/dist/{chunk-SPQM2TCX.js.map → chunk-AEKGVWE5.js.map} +0 -0
- /package/dist/{chunk-CKVI2UDU.js.map → chunk-AGZHFGBR.js.map} +0 -0
- /package/dist/{chunk-BAMGHBLT.js.map → chunk-AVJEDFND.js.map} +0 -0
- /package/dist/{chunk-RVADUHPA.js.map → chunk-BTGWCFHJ.js.map} +0 -0
- /package/dist/{chunk-J7MCWMDD.js.map → chunk-COZWEBRG.js.map} +0 -0
- /package/dist/{chunk-7G5JSUZU.js.map → chunk-DJOLLEOJ.js.map} +0 -0
- /package/dist/{chunk-MP3VDCI7.js.map → chunk-DJYO6IIO.js.map} +0 -0
- /package/dist/{chunk-6ABCDOFB.js.map → chunk-DXHWEBVC.js.map} +0 -0
- /package/dist/{chunk-IFX5XLPZ.js.map → chunk-E37JLKX4.js.map} +0 -0
- /package/dist/{chunk-RYVRMH6C.js.map → chunk-EJCCWBLQ.js.map} +0 -0
- /package/dist/{chunk-VB6KFDBL.js.map → chunk-FHGQELT7.js.map} +0 -0
- /package/dist/{chunk-VRW22LTU.js.map → chunk-FUOTJMAO.js.map} +0 -0
- /package/dist/{chunk-MGZWMJMP.js.map → chunk-FYBXLFMI.js.map} +0 -0
- /package/dist/{chunk-O6H66UM2.js.map → chunk-FZVUO3UU.js.map} +0 -0
- /package/dist/{chunk-RGRCYSYE.js.map → chunk-GBQPG5OU.js.map} +0 -0
- /package/dist/{chunk-3BBQDNZD.js.map → chunk-GPXETIKG.js.map} +0 -0
- /package/dist/{chunk-HYDNZQOV.js.map → chunk-HLR7IUW7.js.map} +0 -0
- /package/dist/{chunk-YUJBCOLO.js.map → chunk-IFD3RW53.js.map} +0 -0
- /package/dist/{chunk-6MJVXTLI.js.map → chunk-IKSPEKDA.js.map} +0 -0
- /package/dist/{chunk-TNN3W5TU.js.map → chunk-JJDAJQG4.js.map} +0 -0
- /package/dist/{chunk-UMVA4SIV.js.map → chunk-JOHNIKN6.js.map} +0 -0
- /package/dist/{chunk-TQXCLXWH.js.map → chunk-L3XWJ35V.js.map} +0 -0
- /package/dist/{chunk-4IE7XN74.js.map → chunk-LBGZYTNR.js.map} +0 -0
- /package/dist/{chunk-KXT6ACFL.js.map → chunk-LBNA4RGS.js.map} +0 -0
- /package/dist/{chunk-NLBQ7CZC.js.map → chunk-LRPDJWIO.js.map} +0 -0
- /package/dist/{chunk-AR5X2YWE.js.map → chunk-LZL5KK3N.js.map} +0 -0
- /package/dist/{chunk-BYDQHL6O.js.map → chunk-MEOD4UGO.js.map} +0 -0
- /package/dist/{chunk-WQVZXTW3.js.map → chunk-MOM5PCKI.js.map} +0 -0
- /package/dist/{chunk-EP6FL2L3.js.map → chunk-N4TAXXWW.js.map} +0 -0
- /package/dist/{chunk-NAF6LRSS.js.map → chunk-NZ7BAZNH.js.map} +0 -0
- /package/dist/{chunk-SNBAM7SA.js.map → chunk-OABRM5LK.js.map} +0 -0
- /package/dist/{chunk-WD2JGIDK.js.map → chunk-OOEKN64P.js.map} +0 -0
- /package/dist/{chunk-XRN6752K.js.map → chunk-OORPUQ3N.js.map} +0 -0
- /package/dist/{chunk-3LCASKDS.js.map → chunk-OOSCL4WD.js.map} +0 -0
- /package/dist/{chunk-NNFWLL7F.js.map → chunk-PSBC73OL.js.map} +0 -0
- /package/dist/{chunk-IYL6TSUF.js.map → chunk-Q6NTGZUW.js.map} +0 -0
- /package/dist/{chunk-3DMWQJ5W.js.map → chunk-QMPXBDDO.js.map} +0 -0
- /package/dist/{chunk-AS6KFUXS.js.map → chunk-R3NDFTIM.js.map} +0 -0
- /package/dist/{chunk-CHHHYLCB.js.map → chunk-R4F5WRKC.js.map} +0 -0
- /package/dist/{chunk-NOTLTHHZ.js.map → chunk-R4PLUUI3.js.map} +0 -0
- /package/dist/{chunk-AYC6DTFV.js.map → chunk-RWMNB4RJ.js.map} +0 -0
- /package/dist/{chunk-NAMR4DA5.js.map → chunk-S3YIFNST.js.map} +0 -0
- /package/dist/{chunk-7ZFZYZSP.js.map → chunk-S62HZDF7.js.map} +0 -0
- /package/dist/{chunk-CS5TJWQM.js.map → chunk-S6MU4NHQ.js.map} +0 -0
- /package/dist/{chunk-PNEB74RP.js.map → chunk-SHXQGRNL.js.map} +0 -0
- /package/dist/{chunk-YIOLMWB5.js.map → chunk-TFJOJCCS.js.map} +0 -0
- /package/dist/{chunk-VPSESR6G.js.map → chunk-TPH6YQRJ.js.map} +0 -0
- /package/dist/{chunk-OWUINMZP.js.map → chunk-U7S4TUFV.js.map} +0 -0
- /package/dist/{chunk-SNECOPBD.js.map → chunk-UB5WD4YM.js.map} +0 -0
- /package/dist/{chunk-R4X2WQXX.js.map → chunk-UFLWSKNE.js.map} +0 -0
- /package/dist/{chunk-2JVZYQ6Z.js.map → chunk-UJJ5576U.js.map} +0 -0
- /package/dist/{chunk-Z7J6NJY2.js.map → chunk-VJMCAVOL.js.map} +0 -0
- /package/dist/{chunk-X3PUZFYX.js.map → chunk-VSBNYQZM.js.map} +0 -0
- /package/dist/{chunk-UNKCOOE4.js.map → chunk-WI6ZYN4S.js.map} +0 -0
- /package/dist/{chunk-DJPCJ3YR.js.map → chunk-WVND2FCE.js.map} +0 -0
- /package/dist/{chunk-3C6N7DK6.js.map → chunk-X5TMQDWS.js.map} +0 -0
- /package/dist/{chunk-D7CBR52B.js.map → chunk-XULW2ME7.js.map} +0 -0
- /package/dist/{chunk-HIFEVMKP.js.map → chunk-Y4P3ZYQK.js.map} +0 -0
- /package/dist/{chunk-TVCIAQTC.js.map → chunk-YQMALPDQ.js.map} +0 -0
- /package/dist/{chunk-YWOJ4NKF.js.map → chunk-YRAIYQ2K.js.map} +0 -0
- /package/dist/{chunk-AXV7YMZ3.js.map → chunk-YTWEXSYT.js.map} +0 -0
- /package/dist/{chunk-RAH453TV.js.map → chunk-ZBJ4VEDO.js.map} +0 -0
- /package/dist/{chunk-DXIJUMLU.js.map → chunk-ZZPQGX7X.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as l}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as l}from"./chunk-3VALWCZ5.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as n}from"./chunk-EARN6G25.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function S({onSubmit:d,onError:a,onSuccess:m}){let{onboardingBag:r}=s(),c=t(async i=>{try{let e=await r.parseFormValues(i);await d?.(e);let o=await r.onSubmit(i);if(o?.data){await m?.(o.data),r?.next();return}if(o?.error){let p=n(o?.fieldErrors||[],r.meta?.fields?.contract_details);a?.({error:o.error,rawError:o.rawError,fieldErrors:p})}}catch(e){a?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit");return E(l,{defaultValues:r.stepState.values?.contract_details||r.initialValues.contract_details,onSubmit:c})}t(S,"ContractDetailsStep");export{S as a};
|
|
2
|
+
//# sourceMappingURL=chunk-UJJ5576U.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i}from"./chunk-EJCCWBLQ.js";import{b as a}from"./chunk-Q3ALCPJN.js";import{m as n}from"./chunk-EARN6G25.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as S}from"react/jsx-runtime";function C({onSubmit:c,onSuccess:s,onError:u}){let{contractorOnboardingBag:r}=a(),l=t(async e=>{try{await c?.({countryCode:e.country});let o=await r.onSubmit(e);if(o?.data){await s?.(o?.data),r?.next();return}}catch(o){let m=n(o,r.meta?.fields?.select_country);u?.(m)}},"handleSubmit"),d=r.stepState.values?.select_country||r.initialValues.select_country;return S(i,{defaultValues:d,onSubmit:l})}t(C,"SelectCountryStep");export{C as a};
|
|
2
|
+
//# sourceMappingURL=chunk-VJMCAVOL.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as qe}from"./chunk-6PRPMEWS.js";import{a as Je}from"./chunk-VAIBLWOY.js";import{a as Be}from"./chunk-TFJOJCCS.js";import{a as Pe,b as xe,e as Oe,f as Me,g as Re,h as ve,i as we,j as Te,l as Le,m as ke}from"./chunk-5XNFVJNM.js";import{a as ge,b as Ee,c as Ce,d as Fe,f as he,g as Ve}from"./chunk-LXOYWRNU.js";import{e as C,f as T,h as $}from"./chunk-552XBDTE.js";import{a as w,j as M}from"./chunk-EARN6G25.js";import{a as De}from"./chunk-TSPDJUGG.js";import{a as r}from"./chunk-P37U34EQ.js";import{useCallback as ht,useEffect as Vt,useMemo as p,useRef as Pt,useState as Ue}from"react";import xt from"lodash.mergewith";import{createContext as _t,useContext as St,useMemo as bt,useCallback as gt,useRef as Et}from"react";import{jsx as Ct}from"react/jsx-runtime";var je=_t(void 0);function Lt({children:a}){let u=Et({}),c=gt(o=>{u.current={...u.current,...o}},[]),F=bt(()=>({errorContextRef:u,updateContext:c}),[c]);return Ct(je.Provider,{value:F,children:a})}r(Lt,"ErrorContextProvider");var Ne=r(()=>{let a=St(je);if(!a)throw new Error("useErrorContext must be used within ErrorContextProvider");return a},"useErrorContext");import{useEffect as Ae,useMemo as Ft}from"react";function Ie(a){let{updateContext:u,errorContextRef:c}=Ne();return Ae(()=>{a&&(c.current=a)},[]),Ae(()=>()=>{c.current={}},[c]),{...Ft(()=>({updateErrorContext:r(o=>{u(o)},"updateErrorContext"),clearErrorContext:r(()=>{c.current={}},"clearErrorContext")}),[]),errorContext:c}}r(Ie,"useErrorReporting");import{jsx as He}from"react/jsx-runtime";var Ot={employment_basic_information:"basic_information",contract_details:"contract_details"},Mt={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},Rt=r(({isLoadingBasicInformationForm:a,isLoadingContractDetailsForm:u,isLoadingEmployment:c,isLoadingBenefitsOffersSchema:F,isLoadingBenefitOffers:o,isLoadingCompany:N,isLoadingCountries:R,employmentStatus:s,employmentId:L,currentStepName:A,basicInformationFields:I,contractDetailsFields:y})=>{let t=a||u||c||F||o||N||R,k=s&&Ce.includes(s),U=s&&!Fe.includes(s),B=!!(L&&k&&A!=="review"),v=t||B,D=!!(B&&!t&&I.length>0&&y.length>0);return{isLoading:v,isNavigatingToReview:D,isEmploymentReadOnly:k,canInvite:U}},"getLoadingStates"),en=r(({employmentId:a,companyId:u,countryCode:c,type:F,options:o,skipSteps:N,externalId:R,initialValues:s})=>{let{updateErrorContext:L}=Ie({flow:"onboarding",metadata:{employmentId:a,companyId:u,isUpdating:!!a}}),A=N?.includes("select_country")?Ee:ge,I=ht(e=>{L({step:e.name})},[L]),{fieldValues:y,stepState:t,setFieldValues:k,previousStep:U,nextStep:B,goToStep:v,setStepValues:D}=De(A,I),q=Pt({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[l,We]=Ue(a),[d,z]=Ue(c||null),{data:m,isLoading:K,refetch:Ge}=Be({employmentId:l,queryParams:{exclude_files:!0}});a&&m?.country?.code&&!d&&z(m.country.code);let{data:Q,isLoading:Y}=xe(l),{data:J,isLoading:X,refetch:$e}=Pe(u),ze=o?.features?.includes("onboarding_reserves")&&t.currentStep.name==="review"||!1,{data:Ke}=ke(u,l,ze),{selectCountryForm:j,isLoading:Z}=Te({jsfModify:o?.jsfModify?.select_country,queryOptions:{enabled:t.currentStep.name==="select_country"}}),ee=Re(o),te=ve(d,o),ne=we(o),oe=Le(),{mutateAsync:Qe}=w(ee),{mutateAsync:re}=w(te),{mutateAsync:Ye}=w(ne),{mutateAsync:Xe}=w(oe),Ze=Mt[t.currentStep.name]||"employment_basic_information",et=Ot[Ze],tt=m?.[et]||{},ae=r(({form:e,options:i={},query:f={},jsonSchemaVersion:O})=>{let W=Object.keys(y).length>0?{...s,...t.values?.[t.currentStep.name],...y}:{...s,...tt};return Oe({countryCode:d,form:e,fieldValues:W,query:f,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}},jsonSchemaVersion:O})},"useJSONSchema"),nt=!!(d&&(t.currentStep.name==="basic_information"||a)),ot=!!(d&&(t.currentStep.name==="contract_details"||a)),{data:_,isLoading:ie}=ae({form:"employment_basic_information",options:{jsfModify:o?.jsfModify?.basic_information,queryOptions:{enabled:nt}},jsonSchemaVersion:Ve(o)}),h=o?.jsfModify?.contract_details?.fields?.annual_gross_salary,H=h&&typeof h=="object"&&"presentation"in h?h.presentation:void 0,se=o?.jsfModify?.contract_details?.fields?.equity_compensation,rt=p(()=>({fields:{annual_gross_salary:{...h,presentation:{annual_gross_salary_conversion_properties:{label:H?.annual_gross_salary_conversion_properties?.label,description:H?.annual_gross_salary_conversion_properties?.description},desiredCurrency:J?.desired_currency,Component:r(e=>He(qe,{desiredCurrency:J?.desired_currency||"",...e}),"Component")}},equity_compensation:{...se,presentation:{calculateDynamicProperties:r((e,i)=>{let f=e.equity_compensation?.offer_equity_compensation,O=i?.meta?.cost;return{extra:He(Je,{offerEquity:f,equityCost:O})}},"calculateDynamicProperties")}}}}),[h,H,J?.desired_currency,se]),at=he(o,d),{data:S,isLoading:ce}=ae({form:"contract_details",query:{employment_id:l},options:{jsfModify:{...o?.jsfModify?.contract_details,fields:{...o?.jsfModify?.contract_details?.fields,...rt.fields}},queryOptions:{enabled:ot}},jsonSchemaVersion:at}),{data:g,isLoading:le}=Me(l,y,o),de=p(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...y};return xt({},Q,e)}return{}},[t.currentStep.name,Q,t.values,y]),n=p(()=>({select_country:j?.fields||[],basic_information:_?.fields||[],contract_details:S?.fields||[],benefits:g?.fields||[],review:[]}),[j?.fields,_?.fields,S?.fields,g?.fields]),it={select_country:null,basic_information:_?.meta["x-jsf-fieldsets"],contract_details:S?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:st,basic_information:ue={},contract_details:me={},status:fe}=m||{},pe=st?.code,ye=t.currentStep.name,V=p(()=>T(n.select_country,{country:d||pe||""}),[n.select_country,d,pe]),P=p(()=>{let e={...s,...ue};return T(n.basic_information,e)},[n.basic_information,ue,s]),E=p(()=>{let e={...s,...me};return T(n.contract_details,e)},[n.contract_details,me,s]),x=p(()=>{let e={...s,...de};return T(n.benefits,e)},[n.benefits,de,s]),ct=p(()=>m?{select_country:V,basic_information:$(n.basic_information,P),contract_details:m?.contract_details!==null?$(n.contract_details,E):E,benefits:x}:{select_country:V,basic_information:P,contract_details:E,benefits:x},[V,P,E,x,m,n]),{isLoading:lt,isNavigatingToReview:_e,isEmploymentReadOnly:dt,canInvite:ut}=p(()=>Rt({isLoadingBasicInformationForm:ie,isLoadingContractDetailsForm:ce,isLoadingEmployment:K,isLoadingBenefitsOffersSchema:le,isLoadingBenefitOffers:Y,isLoadingCompany:X,isLoadingCountries:Z,employmentId:a,employmentStatus:fe,basicInformationFields:n.basic_information,contractDetailsFields:n.contract_details,currentStepName:ye}),[ie,ce,K,le,Y,X,Z,a,fe,n.basic_information,n.contract_details,ye]);Vt(()=>{_e&&(q.current={select_country:M(V,n.select_country),basic_information:M(P,n.basic_information),contract_details:M(E,n.contract_details),benefits:M(x,n.benefits)},D({select_country:V,basic_information:P,contract_details:E,benefits:x,review:{}}),v("review"))},[P,x,E,v,_e,V,D,n.basic_information,n.benefits,n.contract_details,n.select_country]);let Se=r(async e=>j&&t.currentStep.name==="select_country"?e:_&&t.currentStep.name==="basic_information"?await C(e,_?.fields,{isPartialValidation:!1}):S&&t.currentStep.name==="contract_details"?await C(e,S?.fields,{isPartialValidation:!1}):g&&t.currentStep.name==="benefits"?await C(e,g?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function mt(e){let i=t.currentStep.name;i in q.current&&(q.current[i]=M(e,n[i]));let f=await Se(e);switch($e(),t.currentStep.name){case"select_country":return z(f.country),Promise.resolve({data:{countryCode:f.country}});case"basic_information":{let O=!l&&d,be=l&&d&&m?.country&&m?.country.code!==d;if(O||be){let W={basic_information:f,type:F,country_code:d,external_id:R};try{let b=await Qe(W);if(b.error)return b;if(b.data){let G=b.data?.data?.employment?.id;return G&&(We(G),await Xe({employmentId:G,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),b}}catch(b){throw console.error("Error creating onboarding:",b),b}}else if(l)return re({employmentId:l,basic_information:f,pricing_plan_details:{frequency:"monthly"},external_id:R});return}case"contract_details":return re({employmentId:l,external_id:R,...{contract_details:f,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Ye({employmentId:l,...f})}}r(mt,"onSubmit");function ft(){U()}r(ft,"back");function pt(){B()}r(pt,"next");function yt(e){v(e)}return r(yt,"goTo"),{employmentId:l,creditRiskStatus:J?.default_legal_entity_credit_risk_status,onboardingReservesStatus:Ke,fieldValues:y,stepState:t,fields:n[t.currentStep.name],isLoading:lt,isSubmitting:ee.isPending||te.isPending||ne.isPending||oe.isPending,initialValues:ct,handleValidation:r(async e=>{if(t.currentStep.name==="select_country")return j.handleValidation(e);if(t.currentStep.name==="benefits"&&g){let i=await C(e,g?.fields,{isPartialValidation:!1});return g?.handleValidation(i)}if(_&&t.currentStep.name==="basic_information"){let i=await C(e,_?.fields,{isPartialValidation:!1});return _?.handleValidation(i)}if(S&&t.currentStep.name==="contract_details"){let i=await C(e,S?.fields,{isPartialValidation:!1});return S?.handleValidation(i)}return null},"handleValidation"),checkFieldUpdates:k,parseFormValues:Se,onSubmit:mt,back:ft,next:pt,goTo:yt,meta:{fields:q.current,fieldsets:it[t.currentStep.name]},refetchEmployment:Ge,employment:m,isEmploymentReadOnly:dt,canInvite:ut}},"useOnboarding");export{je as a,Lt as b,en as c};
|
|
2
|
+
//# sourceMappingURL=chunk-VJNTRMOS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Onboarding/hooks.tsx","../src/components/error-handling/ErrorContext.tsx","../src/components/error-handling/useErrorReporting.ts"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmploymentOnboardingReservesStatus,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const onStepChange = useCallback(\n (step: Step<keyof typeof STEPS>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n onStepChange,\n );\n\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n benefits: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n });\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const { data: onboardingReservesStatus } =\n useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: getBasicInformationSchemaVersion(options),\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (benefitOffersSchema && stepState.currentStep.name === 'benefits') {\n return await parseJSFToValidate(values, benefitOffersSchema?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = await parseFormValues(values);\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: keyof typeof STEPS) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n };\n};\n","import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useCallback,\n useRef,\n RefObject,\n} from 'react';\nimport type { ErrorContextData } from './types';\n\nexport type ErrorContextValue = {\n errorContextRef: RefObject<ErrorContextData>;\n updateContext: (updates: Partial<ErrorContextData>) => void;\n};\n\nexport const ErrorContext = createContext<ErrorContextValue | undefined>(\n undefined,\n);\n\nexport function ErrorContextProvider({ children }: { children: ReactNode }) {\n const errorContextRef = useRef<ErrorContextData>({});\n\n const updateContext = useCallback((updates: Partial<ErrorContextData>) => {\n errorContextRef.current = { ...errorContextRef.current, ...updates };\n }, []);\n\n // Memoize the value object to prevent unnecessary re-renders\n // Note: setContext is stable from useState and doesn't need to be in deps\n const value = useMemo(\n () => ({\n errorContextRef,\n updateContext,\n }),\n [updateContext],\n );\n\n return (\n <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>\n );\n}\n\nexport const useErrorContext = () => {\n const ctx = useContext(ErrorContext);\n if (!ctx) {\n throw new Error('useErrorContext must be used within ErrorContextProvider');\n }\n return ctx;\n};\n","import { useErrorContext } from '@/src/components/error-handling/ErrorContext';\nimport { ErrorContextData } from '@/src/components/error-handling/types';\nimport { useEffect, useMemo } from 'react';\n\nexport function useErrorReporting(initialContext: ErrorContextData) {\n const { updateContext, errorContextRef } = useErrorContext();\n\n // Set initial context on mount\n useEffect(() => {\n if (initialContext) {\n errorContextRef.current = initialContext;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clear context on unmount\n useEffect(() => {\n return () => {\n errorContextRef.current = {};\n };\n }, [errorContextRef]);\n\n // Note: setContext and updateContext are stable, don't need to be in deps\n const handlers = useMemo(\n () => ({\n updateErrorContext: (updates: Partial<ErrorContextData>) => {\n updateContext(updates);\n },\n\n clearErrorContext: () => {\n errorContextRef.current = {};\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return {\n ...handlers,\n /**\n * @internal For unit testing only - we access the errorContext in the error boundary directly\n * Use updateErrorContext() and clearErrorContext() handlers instead.\n */\n errorContext: errorContextRef,\n };\n}\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","createContext","useContext","useMemo","useCallback","useRef","jsx","ErrorContext","createContext","ErrorContextProvider","children","errorContextRef","useRef","updateContext","useCallback","updates","value","useMemo","__name","useErrorContext","ctx","useContext","useEffect","useMemo","useErrorReporting","initialContext","updateContext","errorContextRef","useErrorContext","useEffect","useMemo","__name","updates","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","refetchEmployment","useEmploymentQuery","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","isOnboardingReservesEnabled","onboardingReservesStatus","useEmploymentOnboardingReservesStatus","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","getBasicInformationSchemaVersion","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","useMemo","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","useEffect","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-EJCCWBLQ.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{m as n}from"./chunk-EARN6G25.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function b({onSubmit:m,onSuccess:d,onError:c}){let{contractorOnboardingBag:o}=e(),p=t(async i=>{try{let a=await o.parseFormValues(i);await m?.(a);let r=await o.onSubmit(i);if(r?.data){await d?.(r?.data),o?.next();return}}catch(a){let r=n(a,o.meta?.fields?.basic_information);c?.(r)}},"handleSubmit"),l=o.stepState.values?.basic_information||o.initialValues.basic_information;return f(s,{defaultValues:l,onSubmit:p})}t(b,"BasicInformationStep");export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-VSBNYQZM.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d,b as w}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as d,b as w}from"./chunk-FHGQELT7.js";import{a as g}from"./chunk-TFJOJCCS.js";import{a as E}from"./chunk-NZ7BAZNH.js";import{e as C}from"./chunk-552XBDTE.js";import{P as F,e as _,z as P}from"./chunk-R47Q7R6C.js";import{a as h}from"./chunk-EARN6G25.js";import{a as j}from"./chunk-TSPDJUGG.js";import{d as c}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:u}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await _({client:u,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let l=o?.data||{};return E(l,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>P({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:u,stepState:m,nextStep:o,previousStep:l}=j(d),{data:i,isLoading:v,isError:q,error:Q}=g({employmentId:n,queryParams:{exclude_files:!0}}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function x(p){let f=await C(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:y}=h(A),H=await y(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:y}=h(S);return y(V)}default:throw new Error("Invalid step state")}}e(x,"onSubmit");async function z(p){if(s){let f=await C(p,s?.fields);return s?.handleValidation(f)}return null}e(z,"handleValidation");function O(){l()}return e(O,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:q||M,error:Q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:z,checkFieldUpdates:u,onSubmit:x,back:O}},"useContractAmendment");export{te as a};
|
|
2
|
+
//# sourceMappingURL=chunk-WI6ZYN4S.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-KRJETP7I.js";import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-KRJETP7I.js";import{a}from"./chunk-OOSCL4WD.js";import{a as i}from"./chunk-W7YC2IO2.js";import{a as c}from"./chunk-FHYOWPXB.js";import{a as S}from"./chunk-YIMWF5GR.js";import{a as f}from"./chunk-LBGZYTNR.js";import{a as n}from"./chunk-5MJH36G3.js";import{a as p}from"./chunk-MOM5PCKI.js";import{a as s}from"./chunk-UJJ5576U.js";import{c as e}from"./chunk-VJNTRMOS.js";import{a as r}from"./chunk-PGWKJ6FK.js";import{a as t}from"./chunk-P37U34EQ.js";import{useId as D,useState as P}from"react";import{jsx as R}from"react/jsx-runtime";var L=t(({employmentId:d,companyId:u,countryCode:b,type:l="employee",externalId:v,skipSteps:g,initialValues:B,render:I,options:O})=>{let w=D(),o=e({companyId:u,countryCode:b,employmentId:d,type:l,options:O,skipSteps:g,externalId:v,initialValues:B}),[C,h]=P({showReserveInvoice:!1,showInviteSuccessful:!1});return R(r.Provider,{value:{formId:w,onboardingBag:o,creditScore:C,setCreditScore:h},children:I({onboardingBag:o,components:{BasicInformationStep:n,ContractDetailsStep:s,BenefitsStep:p,SubmitButton:i,SaveDraftButton:S,BackButton:m,OnboardingInvite:a,SelectCountryStep:f,ReviewStep:c}})})},"OnboardingFlow");export{L as a};
|
|
2
|
+
//# sourceMappingURL=chunk-WVND2FCE.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o,b as r}from"./chunk-PX5PE6GX.js";import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o,b as r}from"./chunk-PX5PE6GX.js";import{a as t}from"./chunk-UB5WD4YM.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";var n={[o]:" Remote provides its Contractor Services Agreement (CSA) \u201Cas is\u201D; it does not constitute legal advice or create an attorney-client relationship with Remote. Remote is not liable for the content You enter herein and You are encouraged to seek independent legal advice tailored to the specific relationship between You and Your Contractor. By use of the CSA, You release Remote from liability for any claim for damages or losses which may arise related to Your use thereof.",[r]:"Remote provides its Contractor Services Agreement (CSA) \u201Cas is\u201D; it does not constitute legal advice or create an attorney-client relationship with Remote. Remote is not liable for the content You enter herein and You are encouraged to seek independent legal advice tailored to the specific relationship between You and Your Contractor."},d=e(({subscription:i})=>a(t,{title:"Contractor Services Agreement",description:n[i],severity:"info"}),"StatementOfWorkDisclaimer");export{d as a};
|
|
2
|
+
//# sourceMappingURL=chunk-X5TMQDWS.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-EJCCWBLQ.js";import{b as a}from"./chunk-Q3ALCPJN.js";import{m as n}from"./chunk-EARN6G25.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as b}from"react/jsx-runtime";function g({onSubmit:l,onSuccess:u,onError:d}){let{contractorOnboardingBag:i}=a(),m=e(async t=>{try{let o=await i.parseFormValues(t);await l?.(o);let r=await i.onSubmit(t);if(r?.data){await u?.(r?.data),r?._skipNextStep||i?.next();return}}catch(o){let r=n(o,i.meta?.fields?.eligibility_questionnaire);d?.(r)}},"handleSubmit"),p=i.stepState.values?.eligibility_questionnaire||i.initialValues.eligibility_questionnaire;return b(s,{defaultValues:p,onSubmit:m})}e(g,"EligibilityQuestionnaireStep");export{g as a};
|
|
2
|
+
//# sourceMappingURL=chunk-XULW2ME7.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o}from"./chunk-R3HLTYHX.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function t({field:m,fieldData:i}){return n(o,{name:m.name,...i,type:"email"})}e(t,"EmailFieldDefault");export{t as a};
|
|
2
|
+
//# sourceMappingURL=chunk-Y4P3ZYQK.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as u}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as u}from"./chunk-TPH6YQRJ.js";import{a as F}from"./chunk-3BEEU2N4.js";import{j as p,k as l,l as i,m as a,n as c}from"./chunk-RXNDKUY6.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as $,useState as v}from"react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function L({field:t,fieldState:b,fieldData:o}){let[g,s]=v([]),_=m(e=>{let r=e.map(({value:S})=>S);t.onChange(r),s(e)},"handleChange");$(()=>{t.value&&o.options&&s(t.value.map(e=>o?.options?.find(r=>r.value===e)))},[t.value,o.options]);let y=[...Object.entries(o.$meta?.regions||{}).map(([e,r])=>({value:r,label:e,category:"Regions"})),...Object.entries(o.$meta?.subregions||{}).map(([e,r])=>({value:r,label:e,category:"Subregions"})),...o.options?.map(e=>({...e,value:e.value,label:e.label,category:"Countries"}))||[]];return C(p,{"data-field":t.name,className:`RemoteFlows__CountryField__Item__${t.name}`,children:[n(l,{className:"RemoteFlows__CountryField__Label",children:o.label}),n(i,{children:n(u,{options:y,selected:g,onChange:_})}),o.description&&C(a,{children:[o.description," ",n(F,{helpCenter:o.meta?.helpCenter})]}),b.error&&n(c,{})]})}m(L,"CountryFieldDefault");export{L as a};
|
|
2
|
+
//# sourceMappingURL=chunk-YNMQONDL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/fields/default/CountryFieldDefault.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n FormControl,\n FormDescription,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\n\nimport { FormItem } from '@/src/components/ui/form';\nimport { MultiSelect } from '@/src/components/ui/multi-select';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { CountryComponentProps } from '@/src/types/fields';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\n\nexport function CountryFieldDefault({\n field,\n fieldState,\n fieldData,\n}: CountryComponentProps) {\n const [selected, setSelected] = useState<$TSFixMe[]>([]);\n const handleChange = (rawValues: $TSFixMe[]) => {\n const values = rawValues.map(({ value }) => value);\n field.onChange(values);\n setSelected(rawValues);\n };\n\n useEffect(() => {\n if (field.value && fieldData.options) {\n // WE NEED TO FIX: react-hooks/set-state-in-effect - Calling setState synchronously within an effect can trigger cascading renders\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelected(\n field.value.map(\n (value: $TSFixMe) =>\n fieldData?.options?.find(\n (option) => option.value === value,\n ) as $TSFixMe,\n ),\n );\n }\n }, [field.value, fieldData.options]);\n\n const countryOptions = [\n ...Object.entries(fieldData.$meta?.regions || {}).map(([key, value]) => ({\n value,\n label: key,\n category: 'Regions',\n })),\n ...Object.entries(fieldData.$meta?.subregions || {}).map(\n ([key, value]) => ({\n value,\n label: key,\n category: 'Subregions',\n }),\n ),\n ...(fieldData.options?.map((option) => ({\n ...option,\n value: option.value,\n label: option.label,\n category: 'Countries',\n })) || []),\n ];\n return (\n <FormItem\n data-field={field.name}\n className={`RemoteFlows__CountryField__Item__${field.name}`}\n >\n <FormLabel className='RemoteFlows__CountryField__Label'>\n {fieldData.label}\n </FormLabel>\n <FormControl>\n <MultiSelect\n options={countryOptions}\n selected={selected}\n onChange={handleChange}\n />\n </FormControl>\n {fieldData.description && (\n <FormDescription>\n {fieldData.description}{' '}\n <HelpCenter helpCenter={fieldData.meta?.helpCenter} />\n </FormDescription>\n )}\n {fieldState.error && <FormMessage />}\n </FormItem>\n );\n}\n"],"mappings":"4LAAA,OAAS,aAAAA,EAAW,YAAAC,MAAgB,QAkE9B,cAAAC,EAWE,QAAAC,MAXF,oBApDC,SAASC,EAAoB,CAClC,MAAAC,EACA,WAAAC,EACA,UAAAC,CACF,EAA0B,CACxB,GAAM,CAACC,EAAUC,CAAW,EAAIC,EAAqB,CAAC,CAAC,EACjDC,EAAeC,EAACC,GAA0B,CAC9C,IAAMC,EAASD,EAAU,IAAI,CAAC,CAAE,MAAAE,CAAM,IAAMA,CAAK,EACjDV,EAAM,SAASS,CAAM,EACrBL,EAAYI,CAAS,CACvB,EAJqB,gBAMrBG,EAAU,IAAM,CACVX,EAAM,OAASE,EAAU,SAG3BE,EACEJ,EAAM,MAAM,IACTU,GACCR,GAAW,SAAS,KACjBU,GAAWA,EAAO,QAAUF,CAC/B,CACJ,CACF,CAEJ,EAAG,CAACV,EAAM,MAAOE,EAAU,OAAO,CAAC,EAEnC,IAAMW,EAAiB,CACrB,GAAG,OAAO,QAAQX,EAAU,OAAO,SAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAACY,EAAKJ,CAAK,KAAO,CACvE,MAAAA,EACA,MAAOI,EACP,SAAU,SACZ,EAAE,EACF,GAAG,OAAO,QAAQZ,EAAU,OAAO,YAAc,CAAC,CAAC,EAAE,IACnD,CAAC,CAACY,EAAKJ,CAAK,KAAO,CACjB,MAAAA,EACA,MAAOI,EACP,SAAU,YACZ,EACF,EACA,GAAIZ,EAAU,SAAS,IAAKU,IAAY,CACtC,GAAGA,EACH,MAAOA,EAAO,MACd,MAAOA,EAAO,MACd,SAAU,WACZ,EAAE,GAAK,CAAC,CACV,EACA,OACEd,EAACiB,EAAA,CACC,aAAYf,EAAM,KAClB,UAAW,oCAAoCA,EAAM,IAAI,GAEzD,UAAAH,EAACmB,EAAA,CAAU,UAAU,mCAClB,SAAAd,EAAU,MACb,EACAL,EAACoB,EAAA,CACC,SAAApB,EAACqB,EAAA,CACC,QAASL,EACT,SAAUV,EACV,SAAUG,EACZ,EACF,EACCJ,EAAU,aACTJ,EAACqB,EAAA,CACE,UAAAjB,EAAU,YAAa,IACxBL,EAACuB,EAAA,CAAW,WAAYlB,EAAU,MAAM,WAAY,GACtD,EAEDD,EAAW,OAASJ,EAACwB,EAAA,EAAY,GACpC,CAEJ,CAvEgBd,EAAAR,EAAA","names":["useEffect","useState","jsx","jsxs","CountryFieldDefault","field","fieldState","fieldData","selected","setSelected","useState","handleChange","__name","rawValues","values","value","useEffect","option","countryOptions","key","FormItem","FormLabel","FormControl","MultiSelect","FormDescription","HelpCenter","FormMessage"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as e}from"./chunk-IFD3RW53.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-YQMALPDQ.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as y}from"./chunk-SGE4DLC3.js";import{a as g}from"./chunk-4WSJ2A6Q.js";import{b as D}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as y}from"./chunk-SGE4DLC3.js";import{a as g}from"./chunk-4WSJ2A6Q.js";import{b as D}from"./chunk-DJYO6IIO.js";import{c as w}from"./chunk-EARN6G25.js";import{b as N}from"./chunk-KQPDXXG3.js";import{a as d}from"./chunk-P37U34EQ.js";import{forwardRef as S}from"react";import{jsx as B}from"react/jsx-runtime";var b=S(({data:a=[],columns:s,className:o=""},n)=>{let{components:m}=N(),i=m?.table;if(!i)throw new Error("Table component not found");return B(i,{ref:n,data:a,columns:s,className:o})});b.displayName="Table";import{Fragment as c,jsx as e,jsxs as t}from"react/jsx-runtime";var _="RemoteFlows__SummaryRow flex justify-between items-center py-2 text-xs",F="RemoteFlows__SummaryRowBorder border-b border-b-1 border-b-[#E4E4E7]",l=d(({children:a,withBorder:s=!1,className:o=""})=>e("div",{className:w(_,s&&F,o),children:a}),"SummaryRow"),k=d(({usedDays:a,bookedDays:s,approvedDaysBeforeTermination:o,approvedDaysAfterTermination:n,remainingDays:m,proposedTerminationDate:i,isUnlimitedPto:f,currentEntitlementDays:p})=>{let r=new Date(i).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"});return t("div",{children:[t(l,{withBorder:!0,children:[e("label",{children:"Number of days entitled to per year"}),e("p",{"data-testid":"entitled-days",className:"font-bold",children:f?"Unlimited":p})]}),t(l,{children:[e("label",{children:"Total days booked"}),e("p",{"data-testid":"booked-days",className:"font-bold",children:s})]}),t(l,{children:[e("label",{children:"Number of days already used"}),e("p",{"data-testid":"used-days",className:"font-bold",children:a})]}),t(l,{children:[t("label",{children:["Approved for use before ",r]}),e("p",{"data-testid":"approved-days-before-termination",className:"font-bold",children:o})]}),t(l,{withBorder:!0,children:[t("label",{children:["Approved for use after ",r]}),e("p",{"data-testid":"approved-days-after-termination",className:"font-bold",children:n})]}),t(l,{children:[e("label",{children:"Total days remaining unused"}),e("p",{"data-testid":"remaining-days",className:"font-bold",children:m})]}),e(l,{className:"mb-2 py-0",children:t("p",{className:"text-xs text-[#222E39]",children:["Unused days expire on ",r]})})]})},"SummaryTimeOff"),O=[{id:"formattedDate",label:"Dates",className:"w-[250px]",cellClassName:"font-medium"},{id:"duration",label:"Duration",render:d(a=>y({number:a,singular:"day",plural:"days",followCopyGuidelines:!1,showNumber:!0}),"render")},{id:"status",label:"Status"}],C=d(({employeeName:a,timeoffQuery:s,entitledDays:o,countryName:n,currentEntitlementDays:m,formattedProposedTerminationDate:i,onOpenChange:f,open:p})=>{let{data:r,isLoading:u}=s;return e(g,{open:p,onOpenChange:f,title:`${a} paid time off breakdown`,trigger:e(D,{variant:"link",className:"text-xs text-[#3B82F6] font-bold p-0",children:"See detailed time off breakdown \u2197"}),className:"h-full w-[540px] mt-0 ml-auto px-4 RemoteFlows_DrawerTimeOff",children:!u&&e(c,{children:Array.isArray(r?.timeoffs)&&r?.timeoffs?.length>0?t(c,{children:[e("p",{className:"text-[#09090B] font-medium mb-4",children:"This list is for your information only."}),t("p",{className:"text-xs text-[#09090B] mb-1 flex items-center justify-between gap-2",children:[t("span",{children:["Annual entitlement for ",n]}),e("span",{className:"font-bold",children:o})]}),t("p",{className:"text-xs text-[#09090B] mb-6 flex items-center justify-between gap-2",children:[t("span",{children:["Entitlement up to ",i]}),e("span",{className:"font-bold",children:m})]}),e("div",{className:"mb-2",children:e(b,{data:r?.timeoffs,columns:O})}),t("p",{className:"text-xs",children:["Total of"," ",y({number:r?.bookedDays,singular:"day",plural:"days",followCopyGuidelines:!1,showNumber:!0})," ","booked"]})]}):t(c,{children:[e("p",{className:"font-medium mb-1 text-[#09090B]",children:"No recorded time off"}),t("p",{className:"text-sm text-[#09090B]",children:["According to our records, ",a," has not taken any time off this year."]})]})})})},"DrawerTimeOff"),H=d(({employeeName:a,proposedTerminationDate:s,summaryData:o,formattedProposedTerminationDate:n,timeoffQuery:m,employment:i,onOpenChange:f,open:p})=>{let{entitledDays:r,bookedDays:u,usedDays:x,approvedDaysBeforeTermination:R,approvedDaysAfterTermination:P,remainingDays:v,currentEntitlementDays:T,isUnlimitedPto:h}=o.data;return t("div",{className:"RemoteFlows__PaidTimeOff__Container py-3",children:[e("h3",{className:"RemoteFlows__PaidTimeOff__Title mb-2",children:"Paid time off"}),t("p",{className:"RemoteFlows__PaidTimeOff__Description text-sm mb-2",children:["The proposed termination date for ",a," is"," ",n,". You will need to pay them for any unused accrued days. Below is a breakdown of their time off entitlement and usage for the current annual leave period:"]}),t("div",{className:"mb-2",children:[!o?.isLoading&&!o?.isError&&o?.data&&e(k,{usedDays:x,bookedDays:u,currentEntitlementDays:T,approvedDaysBeforeTermination:R,approvedDaysAfterTermination:P,remainingDays:v,proposedTerminationDate:s,isUnlimitedPto:h}),e(C,{employeeName:a,timeoffQuery:m,entitledDays:r,currentEntitlementDays:T,countryName:i?.country?.name??"Unknown",onOpenChange:f,formattedProposedTerminationDate:n,open:p})]})]})},"PaidTimeOff");export{H as a};
|
|
2
|
+
//# sourceMappingURL=chunk-YRAIYQ2K.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-OORPUQ3N.js";import{b as a}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function d({onSubmit:m}){let{terminationBag:o}=a(),r=i(async t=>{let n=await o?.parseFormValues(t);await m?.(n),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:r})}i(d,"PaidTimeOffForm");export{d as a};
|
|
2
|
+
//# sourceMappingURL=chunk-YTWEXSYT.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as A}from"./chunk-UB5WD4YM.js";import{i as Q,j as X}from"./chunk-552XBDTE.js";import{b as U,c as q,f as K}from"./chunk-R3NDFTIM.js";import{a as Z}from"./chunk-MEOD4UGO.js";import{a as G}from"./chunk-R3HLTYHX.js";import{b as N}from"./chunk-IFD3RW53.js";import{c as g,i as h}from"./chunk-RXNDKUY6.js";import{c as k,g as R}from"./chunk-EARN6G25.js";import{b as S}from"./chunk-KQPDXXG3.js";import{a as i}from"./chunk-P37U34EQ.js";import{Fragment as ve,useEffect as Ze,useRef as De}from"react";import{jsx as Y}from"react/jsx-runtime";function j({description:e,label:o,name:t,minDate:r,maxDate:s,onChange:a,component:l,...p}){let{components:u}=S(),{control:F}=g(),c;p.meta?.mot&&typeof p.meta.mot=="number"?c=Q(p.meta.mot):typeof r=="string"&&(c=new Date(`${r}T00:00:00`));let m;return s&&(m=new Date(`${s}T23:59:59`)),Y(h,{control:F,name:t,render:({field:f,fieldState:C})=>{let d=l||u?.date;if(!d)throw new Error(`Date picker component not found for field ${t}`);let y={description:e,label:o,name:t,onChange:a,...c&&{minDate:c.toISOString()},...m&&{maxDate:m.toISOString()},...p};return Y(d,{field:{...f,onChange:i(T=>{f.onChange(T),a?.(T)},"onChange")},fieldState:C,fieldData:y})}})}i(j,"DatePickerField");import{jsx as ee}from"react/jsx-runtime";var ke=i((e,o)=>{if(!o)return null;for(let t of e)if(t.size>o){let r=Math.round(o/1048576),s=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${r}MB (file is ${s}MB)`}return null},"validateFileSize");function oe({name:e,description:o,label:t,multiple:r,onChange:s,component:a,accept:l,maxSize:p,...u}){let{components:F}=S(),{control:c,setError:m,clearErrors:f}=g(),C=i(async(d,y)=>{let T=ke(d,p);if(T){m(e,{message:T});return}f(e),y.onChange(d),s?.(d)},"handleOnChange");return ee(h,{control:c,name:e,render:({field:d,fieldState:y})=>{let T=a||F.file;if(!T)throw new Error(`File upload component not found for field ${e}`);let P={name:e,description:o,label:t,multiple:r,accept:l,maxFileSize:p,...u};return ee(T,{field:{...d,value:d.value,onChange:i(async x=>C(x,d),"onChange")},fieldState:y,fieldData:P})}})}i(oe,"FileUploadField");import{jsx as te}from"react/jsx-runtime";function H(e){let{components:o}=S(),{control:t}=g(),r=e.component||o.number;if(!r)throw new Error(`Number component not found for field ${e.name}`);return te(h,{control:t,name:e.name,render:({field:s,fieldState:a})=>te(r,{field:{...s,onChange:i(l=>{s.onChange(l),e.onChange?.(l)},"onChange")},fieldState:a,fieldData:e})})}i(H,"NumberField");import{jsx as ne}from"react/jsx-runtime";function re({name:e,defaultValue:o,description:t,label:r,options:s,onChange:a,component:l,...p}){let{components:u}=S(),{control:F}=g();return ne(h,{control:F,name:e,defaultValue:o,render:({field:c,fieldState:m})=>{let f=l||u?.radio;if(!f)throw new Error(`Radio group component not found for field ${e}`);let C={name:e,defaultValue:o,description:t,label:r,options:s,...p};return ne(f,{field:{...c,onChange:i(d=>{c.onChange(d),a?.(d)},"onChange")},fieldState:m,fieldData:C})}})}i(re,"RadioGroupField");import{jsx as ie}from"react/jsx-runtime";function le({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,component:l,...p}){let{control:u}=g(),{components:F}=S();return ie(h,{defaultValue:r,control:u,name:o,render:({field:c,fieldState:m})=>{let f=l||F?.select;if(!f)throw new Error(`Select component not found for field ${o}`);let C={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,...p};return ie(f,{field:{...c,onChange:i(d=>{let T=(Array.isArray(p.jsonType)?p.jsonType.includes("number"):p.jsonType==="number")?Number(d):d;c.onChange(T),a?.(T)},"onChange")},fieldState:m,fieldData:C})}})}i(le,"SelectField");import{jsx as se}from"react/jsx-runtime";function ae({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,$meta:l,component:p,...u}){let{control:F}=g(),{components:c}=S();return se(h,{defaultValue:r,control:F,name:o,render:({field:m,fieldState:f})=>{let C=p||c.countries;if(!C)throw new Error(`Country component not found for field ${o}`);let d={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,$meta:l,...u};return se(C,{field:{...m,onChange:i(y=>{m.onChange(y),a?.(y)},"onChange")},fieldState:f,fieldData:d})}})}i(ae,"CountryField");import{jsx as me}from"react/jsx-runtime";function de({name:e,description:o,label:t,onChange:r,maxLength:s,component:a,...l}){let{components:p}=S(),{control:u}=g();return me(h,{control:u,name:e,render:({field:F,fieldState:c})=>{let m=a||p.textarea;if(!m)throw new Error(`Text area component not found for field ${e}`);let f={name:e,description:o,label:t,maxLength:s,...l};return me(m,{field:{...F,onChange:i(C=>{F.onChange(C),r?.(C)},"onChange")},fieldState:c,fieldData:f})}})}i(de,"TextAreaField");import{jsx as pe}from"react/jsx-runtime";function ce(e){let{components:o}=S(),{control:t}=g(),r=e.component||o.email;if(!r)throw new Error(`Email component not found for field ${e.name}`);return pe(h,{control:t,name:e.name,render:({field:s,fieldState:a})=>pe(r,{field:{...s,onChange:i(l=>{s.onChange(l),e.onChange?.(l)},"onChange")},fieldState:a,fieldData:e})})}i(ce,"EmailField");import{jsx as ue}from"react/jsx-runtime";function Fe(e){let{control:o}=g();return ue(h,{control:o,name:e.name,render:({field:t})=>ue("input",{...t,type:"hidden"})})}i(Fe,"HiddenField");import{useEffect as Ne,useState as Ve}from"react";import{jsx as fe}from"react/jsx-runtime";function ge(e){let{components:o}=S(),{setValue:t,control:r,watch:s}=g(),a=s(e.name),[l,p]=Ve(a),{workHoursSummary:u,breakSummary:F}=q(l),c=U(l);Ne(()=>{t(e.name,l)},[l,e.name,t]);function m(d){p(d)}i(m,"onSubmit");let f=e.component||o["work-schedule"];if(!f)throw new Error(`Work schedule component not found for field ${e.name}`);let C={...e,onSubmit:m,currentSchedule:l,defaultFormattedValue:{workHoursSummary:u,breakSummary:F,totalWorkHours:c}};return fe(h,{control:r,name:e.name,render:({field:d,fieldState:y})=>fe(f,{field:{...d,onChange:i(T=>{d.onChange(T),e.onChange?.(T)},"onChange")},fieldState:y,fieldData:C})})}i(ge,"WorkScheduleField");import{jsx as Ce}from"react/jsx-runtime";function he({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,component:l,...p}){let{control:u}=g(),{components:F}=S();return Ce(h,{defaultValue:r,control:u,name:o,render:({field:c,fieldState:m})=>{let f=l||F?.["multi-select"];if(!f)throw new Error(`Multi select component not found for field ${o}`);let C={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,...p};return Ce(f,{field:{...c,onChange:i(d=>{c.onChange(d),a?.(d)},"onChange")},fieldState:m,fieldData:C})}})}i(he,"MultiSelectField");import{jsx as Ae}from"react/jsx-runtime";var Se=i(e=>Ae(H,{maxLength:15,...e}),"MoneyField");import{useMemo as B,useCallback as ye,useState as He,useEffect as Be,useRef as Je}from"react";import{jsx as W}from"react/jsx-runtime";function We(e){return e.replace(/\s/g,"")}i(We,"removeSpaces");function be(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),r=e?.match(t);if(!r)return{prefix:"",dialCode:"",phoneNumber:e};let[,s,a,l]=r;return{prefix:s,dialCode:a,phoneNumber:l}}i(be,"getStructuredNumberFromInternationalNumber");function Te({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:r}=be(t);if(r)for(let s=o+r.length;s>r.length;s--){let a=t.slice(r.length,s);if(e[a])return e[a]}}i(Te,"getCountryFromPhoneNumber");function xe(e){let o={},t=0;return e.forEach(r=>{r.areaCodes?r.areaCodes.forEach(s=>{let a=r.dialCode+s;o[a]=r,a.length>t&&(t=a.length)}):(o[r.dialCode]=r,r.dialCode.length>t&&(t=r.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}i(xe,"getCountryDataByCountryCode");function Ie(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}i(Ie,"getAreaCodesFromPattern");function Le(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:Ie(o.pattern)}))}i(Le,"transformSchemaToCountries");function ze({field:e,fieldState:o,fieldData:t,component:r,onChangeCountryCode:s,onChangePhoneNumber:a}){let{value:l}=e,{options:p}=t,u=B(()=>Le(p),[p]),F=B(()=>xe(u),[u]),c=Je(!1),[m,f]=He(()=>Te(xe(u),l||""));Be(()=>{if((!l||l==="+")&&(c.current=!1),c.current)return;let x=Te(F,l||"");f(x)},[l,F]);let{prefix:C,phoneNumber:d}=B(()=>be(l,m),[l,m]),y=ye(x=>{if(!x)return;let w=`+${x.dialCode}${d}`;c.current=!0,f(x),e.onChange(w),s&&s(x)},[d,e,s]),T=ye(x=>{let w=We(x.target.value),$;if(m?$=`${C}${m.dialCode}${w}`:$=`${C}${w}`,e.onChange($),a){let V={target:{value:$,name:e.name}};a(V)}},[m,C,e,a]),P=B(()=>({...t,onChangeCountryCode:y,onChangePhoneNumber:T,currentCountry:m,nationalPhoneNumber:d}),[t,y,T,m,d]);return W(r,{field:e,fieldState:o,fieldData:P})}i(ze,"TelFieldRenderer");function $e({name:e,description:o,label:t,onChangeCountryCode:r,onChangePhoneNumber:s,component:a,...l}){let{components:p}=S(),{control:u}=g();return W(h,{control:u,name:e,render:({field:F,fieldState:c})=>{let m=a||p.tel;if(!m)throw new Error(`Tel component not found for field ${e}`);let f={name:e,description:o,label:t,...l};return W(ze,{field:F,fieldState:c,fieldData:f,component:m,onChangeCountryCode:r,onChangePhoneNumber:s})}})}i($e,"TelField");var I={checkbox:K,text:G,email:ce,money:Se,select:le,"multi-select":he,radio:re,number:H,file:oe,date:j,textarea:de,countries:ae,hidden:Fe,tel:$e,"work-schedule":ge};import{useEffect as Oe}from"react";import{jsx as J,jsxs as _e}from"react/jsx-runtime";var Ge=i(({name:e,description:o,helpCenter:t})=>_e("span",{children:[J("span",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:R(o)}}),t?.callToAction&&t?.id&&J(N,{className:"RemoteFlows__ForcedValue__HelpCenterLink",zendeskId:t.id,children:t.callToAction})]}),"Description");function Pe({name:e,value:o,description:t,statement:r,label:s,helpCenter:a}){let{setValue:l}=g(),p=R(r?.description||t);Oe(()=>{l(e,o)},[]);let u=r?.title?R(r?.title):R(s);return _e("div",{children:[u&&J("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:u}}),J(Ge,{name:e,description:p,helpCenter:a})]})}i(Pe,"ForcedValueField");import{Fragment as Ue,jsx as b,jsxs as v}from"react/jsx-runtime";function Re({label:e,name:o,fields:t,description:r,components:s,statement:a,isFlatFieldset:l,extra:p,variant:u="outset",features:F,meta:c}){let{helpCenter:m}=c||{},{watch:f,setValue:C,trigger:d,formState:y}=g(),{components:T}=S(),P=F?.toggle?.stateField,x=P?f(P):F?.toggle?.defaultExpanded??!0,w=t.map(({name:n})=>`${o}.${n}`),$=f(w),V=De($),M=De(null),we=i(()=>{P&&C(P,!x)},"toggleExpanded");Ze(()=>{let n=$,_=V.current,O=y.isSubmitted||y.submitCount>0,E=!1;for(let D=0;D<n.length;D++)if(n[D]!==void 0&&_[D]!==n[D]){E=!0;break}return E&&O&&(M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{d()},50)),V.current=[...n],()=>{M.current&&clearTimeout(M.current)}},[$,d,y.isSubmitted,y.submitCount]);let Ee=T?.fieldsetToggle||Z,L=`${o}-content`,z=`${o}-header`;return v("fieldset",{className:k("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[b("legend",{className:k("text-sm font-semibold px-2",u==="inset"&&"hidden"),children:e}),m?.callToAction&&m?.id&&u==="outset"&&b(N,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction}),u==="inset"&&v(Ue,{children:[v("div",{className:"RemoteFlows__FieldSetField__Header",id:z,"data-state":x?"expanded":"collapsed","aria-expanded":x,children:[b("h3",{className:k("RemoteFlows__FieldSetField__Title"),children:e}),F?.toggle?.enabled&&b(Ee,{isExpanded:x,onToggle:we,"aria-expanded":x,"aria-controls":L,"aria-label":`${x?"Hide":"Show"} ${e}`,className:k("RemoteFlows__FieldSetField__Toggle",F.toggle?.className),children:x?F.toggle.labels?.collapse??"Remove":F.toggle.labels?.expand??"Define"})]}),m?.callToAction&&m?.id&&b(N,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction})]}),x&&v("div",{id:L,"aria-labelledby":z,role:"region",children:[r?b("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:R(r)}}):null,v("div",{className:"grid gap-4",children:[t.map(n=>{if(n.calculateDynamicProperties&&(n={...n,...n.calculateDynamicProperties($,n)||{}}),n.isVisible===!1||n.deprecated)return null;let _=n.type;if(X(n))return b(Pe,{name:`${l?n.name:`${o}.${n.name}`}`,description:n.description,value:n.const,statement:n.statement,label:n.label,helpCenter:n.meta?.helpCenter},`${l?n.name:`${o}.${n.name}`}`);if(_==="fieldset")return b(Re,{...n,name:`${l?n.name:`${o}.${n.name}`}`,components:s},`${l?n.name:`${o}.${n.name}`}`);if(_==="fieldset-flat")return b(Re,{...n,name:`${l?n.name:`${o}.${n.name}`}`,components:s,isFlatFieldset:!0},`${l?n.name:`${o}.${n.name}`}`);let E=I[_];if(n.Component){let{Component:D}=n;return v(ve,{children:[b(D,{setValue:Me=>C(l?n.name:`${o}.${n.name}`,Me),...n}),n.statement?b(A,{...n.statement}):null,n.extra?n.extra:null]},`${l?n.name:`${o}.${n.name}`}`)}return E?(_==="select"&&n.multiple&&(E=I["multi-select"]),v(ve,{children:[b(E,{...n,name:`${l?n.name:`${o}.${n.name}`}`,component:s?.[_]}),n.statement?b(A,{...n.statement}):null,n.extra?n.extra:null]},`${l?n.name:`${o}.${n.name}`}`)):v("p",{className:"error",children:["Field type ",_," not supported"]})}),p||null,a?b(A,{...a}):null]})]})]})}i(Re,"FieldSetField");export{I as a,Pe as b,Re as c};
|
|
2
|
+
//# sourceMappingURL=chunk-YZKXKNDS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/fields/FieldSetField.tsx","../src/components/form/fields/DatePickerField.tsx","../src/components/form/fields/FileUploadField.tsx","../src/components/form/fields/NumberField.tsx","../src/components/form/fields/RadioGroupField.tsx","../src/components/form/fields/SelectField.tsx","../src/components/form/fields/CountryField.tsx","../src/components/form/fields/TextAreaField.tsx","../src/components/form/fields/EmailField.tsx","../src/components/form/fields/HiddenField.tsx","../src/components/form/fields/WorkScheduleField.tsx","../src/components/form/fields/MultiSelectField.tsx","../src/components/form/fields/MoneyField.tsx","../src/components/form/fields/TelField.tsx","../src/components/form/fields/baseFields.tsx","../src/components/form/fields/ForcedValueField.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\nimport { Fragment, useEffect, useRef } from 'react';\nimport { baseFields } from '@/src/components/form/fields/baseFields';\nimport { cn, sanitizeHtml } from '@/src/lib/utils';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { Statement } from '@/src/components/form/Statement';\nimport { useFormFields } from '@/src/context';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { FieldsetToggleButtonDefault } from '@/src/components/form/fields/default/FieldsetToggleButtonDefault';\nimport { BaseTypes, SupportedTypes } from './types';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { checkFieldHasForcedValue } from '@/src/components/form/utils';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\n\ntype FieldBase = {\n label: string;\n name: string;\n description: string;\n Component?: React.ComponentType<$TSFixMe>;\n inputType: SupportedTypes;\n multiple?: boolean;\n};\n\ntype FieldWithOptions = FieldBase & {\n type: 'select' | 'radio';\n options: Array<{ value: string; label: string }>;\n};\n\ntype FieldWithoutOptions = FieldBase & {\n type: Exclude<SupportedTypes, 'select' | 'radio'>;\n options?: never;\n};\n\ntype Field = FieldWithOptions | FieldWithoutOptions;\n\ntype FieldSetFeatures = {\n toggle?: {\n enabled: boolean;\n defaultExpanded?: boolean;\n stateField?: string;\n labels?: {\n expand: string;\n collapse: string;\n };\n className?: string;\n };\n};\n\nexport type FieldSetProps = {\n label: string;\n name: string;\n description: string;\n fields: Field[];\n features?: FieldSetFeatures;\n components: Components;\n statement?: StatementComponentProps['data'];\n isFlatFieldset: boolean;\n extra?: React.ReactNode;\n variant: 'outset' | 'inset';\n meta?: {\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n } & Record<string, $TSFixMe>;\n};\n\nexport function FieldSetField({\n label,\n name,\n fields,\n description,\n components,\n statement,\n isFlatFieldset,\n extra,\n variant = 'outset',\n features,\n meta,\n}: FieldSetProps) {\n const { helpCenter } = meta || {};\n const { watch, setValue, trigger, formState } = useFormContext();\n const { components: formComponents } = useFormFields();\n\n // Get expanded state from form state if stateField is provided\n const stateField = features?.toggle?.stateField;\n const isExpanded = stateField\n ? watch(stateField)\n : (features?.toggle?.defaultExpanded ?? true);\n\n const fieldNames = fields.map(\n ({ name: fieldName }) => `${name}.${fieldName}`,\n );\n const watchedValues = watch(fieldNames);\n const prevValuesRef = useRef<string[]>(watchedValues);\n const triggerTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const toggleExpanded = () => {\n if (stateField) {\n setValue(stateField, !isExpanded);\n }\n };\n\n useEffect(() => {\n const currentValues = watchedValues;\n const previousValues = prevValuesRef.current;\n const hasBeenSubmitted = formState.isSubmitted || formState.submitCount > 0;\n\n // Check if any value has changed\n let hasChanged = false;\n for (let i = 0; i < currentValues.length; i++) {\n if (\n currentValues[i] !== undefined &&\n previousValues[i] !== currentValues[i]\n ) {\n hasChanged = true;\n // This is to prevent the form from triggering validation too many times\n break;\n }\n }\n // If changes detected and we haven't triggered yet, run trigger\n if (hasChanged && hasBeenSubmitted) {\n // We need to debounce the validation trigger so that tests don't freeze\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n triggerTimeoutRef.current = setTimeout(() => {\n trigger();\n }, 50);\n }\n\n prevValuesRef.current = [...currentValues];\n\n return () => {\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n };\n }, [watchedValues, trigger, formState.isSubmitted, formState.submitCount]);\n\n const ToggleComponent =\n formComponents?.fieldsetToggle || FieldsetToggleButtonDefault;\n const contentId = `${name}-content`;\n const headerId = `${name}-header`;\n\n return (\n <fieldset\n className={cn(\n 'border-1 border-input p-4 rounded-xl',\n `RemoteFlows__FieldSetField`,\n `RemoteFlows__FieldSetField__${name}`,\n )}\n >\n <legend\n className={cn(\n 'text-sm font-semibold px-2',\n variant === 'inset' && 'hidden',\n )}\n >\n {label}\n </legend>\n {helpCenter?.callToAction && helpCenter?.id && variant === 'outset' && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n {variant === 'inset' && (\n <>\n <div\n className='RemoteFlows__FieldSetField__Header'\n id={headerId}\n data-state={isExpanded ? 'expanded' : 'collapsed'}\n aria-expanded={isExpanded}\n >\n <h3 className={cn('RemoteFlows__FieldSetField__Title')}>{label}</h3>\n {features?.toggle?.enabled && (\n <ToggleComponent\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n aria-expanded={isExpanded}\n aria-controls={contentId}\n aria-label={`${isExpanded ? 'Hide' : 'Show'} ${label}`}\n className={cn(\n 'RemoteFlows__FieldSetField__Toggle',\n features.toggle?.className,\n )}\n >\n {isExpanded\n ? (features.toggle.labels?.collapse ?? 'Remove')\n : (features.toggle.labels?.expand ?? 'Define')}\n </ToggleComponent>\n )}\n </div>\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </>\n )}\n {isExpanded && (\n <div id={contentId} aria-labelledby={headerId} role='region'>\n {description ? (\n <div\n className='mb-5 RemoteFlows__FieldSetField__Description'\n dangerouslySetInnerHTML={{ __html: sanitizeHtml(description) }}\n />\n ) : null}\n <div className='grid gap-4'>\n {fields.map((field: $TSFixMe) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(watchedValues, field) ||\n {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated) {\n return null; // Skip hidden or deprecated fields\n }\n\n const fieldType = field.type;\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n if (isForcedValue) {\n return (\n <ForcedValueField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n description={field.description}\n value={field.const}\n statement={field.statement}\n label={field.label}\n helpCenter={field.meta?.helpCenter}\n />\n );\n }\n\n // Handle nested fieldsets\n if (fieldType === 'fieldset') {\n return (\n <FieldSetField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n components={components}\n />\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n return (\n <FieldSetField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n components={components}\n isFlatFieldset\n />\n );\n }\n // We need to do the check after checking (field.type || field.inputType) === 'fieldset' or (field.type || field.inputType) === 'fieldset-flat'\n // circular dependency most likely\n let FieldComponent = baseFields[fieldType as BaseTypes];\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<$TSFixMe>;\n };\n return (\n <Fragment\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n >\n <Component\n setValue={(value: unknown) =>\n setValue(\n isFlatFieldset ? field.name : `${name}.${field.name}`,\n value,\n )\n }\n {...field}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n }\n\n if (!FieldComponent) {\n return (\n <p className='error'>Field type {fieldType} not supported</p>\n );\n }\n\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = baseFields['multi-select'];\n }\n\n return (\n <Fragment\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n >\n <FieldComponent\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n component={components?.[fieldType as keyof Components]}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n })}\n {extra ? extra : null}\n {statement ? <Statement {...statement} /> : null}\n </div>\n </div>\n )}\n </fieldset>\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: $TSFixMe) => void;\n component?: Components['date'];\n};\n\nexport function DatePickerField({\n description,\n label,\n name,\n minDate,\n maxDate,\n onChange,\n component,\n ...rest\n}: DatePickerFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n let minDateValue: Date;\n if (rest.meta?.mot && typeof rest.meta.mot === 'number') {\n minDateValue = getMinStartDate(rest.meta.mot);\n } else if (typeof minDate === 'string') {\n minDateValue = new Date(`${minDate}T00:00:00`);\n }\n\n let maxDateValue: Date | undefined;\n if (maxDate) {\n maxDateValue = new Date(`${maxDate}T23:59:59`);\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.date;\n\n if (!Component) {\n throw new Error(`Date picker component not found for field ${name}`);\n }\n\n const customDatePickerFieldProps = {\n description,\n label,\n name,\n onChange,\n ...(minDateValue && { minDate: minDateValue.toISOString() }),\n ...(maxDateValue && { maxDate: maxDateValue.toISOString() }),\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customDatePickerFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { FieldDataProps } from '@/src/types/fields';\n\nconst validateFileSize = (files: File[], maxSize?: number): string | null => {\n if (!maxSize) return null;\n\n for (const file of files) {\n if (file.size > maxSize) {\n const maxSizeMB = Math.round(maxSize / (1024 * 1024));\n const fileSizeMB = Math.round(file.size / (1024 * 1024));\n return `File \"${file.name}\" exceeds maximum size of ${maxSizeMB}MB (file is ${fileSizeMB}MB)`;\n }\n }\n return null;\n};\n\nexport type FieldFileDataProps = FieldDataProps & {\n accept?: string;\n multiple?: boolean;\n maxFileSize?: number;\n};\n\nexport type FileUploadFieldProps = JSFField & {\n onChange?: (value: File[]) => void;\n multiple?: boolean;\n component?: Components['file'];\n maxSize?: number;\n accept?: string;\n};\n\nexport function FileUploadField({\n name,\n description,\n label,\n multiple,\n onChange,\n component,\n accept,\n maxSize,\n ...rest\n}: FileUploadFieldProps) {\n const { components } = useFormFields();\n const { control, setError, clearErrors } = useFormContext();\n\n const handleOnChange = async (\n files: File[],\n field: ControllerRenderProps<FieldValues, string>,\n ) => {\n const sizeError = validateFileSize(files, maxSize);\n if (sizeError) {\n setError(name, { message: sizeError });\n return;\n }\n\n clearErrors(name);\n field.onChange(files);\n onChange?.(files);\n };\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.file;\n if (!Component) {\n throw new Error(`File upload component not found for field ${name}`);\n }\n\n const fieldData: FieldFileDataProps = {\n name,\n description,\n label,\n multiple,\n accept,\n maxFileSize: maxSize,\n ...rest,\n };\n\n return (\n <Component\n field={{\n ...field,\n value: field.value,\n onChange: async (value: File[]) => handleOnChange(value, field),\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\nimport { TextFieldProps } from './TextField';\n\nexport type NumberFieldProps = TextFieldProps & {\n component?: Components['number'];\n onChange?: (value: number) => void;\n};\n\nexport function NumberField(props: NumberFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.number;\n if (!Component) {\n throw new Error(`Number component not found for field ${props.name}`);\n }\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: number) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\n\ntype RadioGroupFieldProps = JSFField & {\n onChange?: (value: string) => void;\n component?: Components['radio'];\n};\n\nexport function RadioGroupField({\n name,\n defaultValue,\n description,\n label,\n options,\n onChange,\n component,\n ...rest\n}: RadioGroupFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const Component = component || components?.radio;\n if (!Component) {\n throw new Error(`Radio group component not found for field ${name}`);\n }\n const customRadioGroupFieldProps = {\n name,\n defaultValue,\n description,\n label,\n options,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customRadioGroupFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\ntype SelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string | number; label: string }>;\n className?: string;\n onChange?: (value: string | number) => void;\n component?: Components['select'];\n};\n\nexport function SelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: SelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.select;\n\n if (!Component) {\n throw new Error(`Select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string | number) => {\n const isNumberType = Array.isArray(rest.jsonType)\n ? rest.jsonType.includes('number')\n : rest.jsonType === 'number';\n const maybeCastValue = isNumberType ? Number(value) : value;\n field.onChange(maybeCastValue);\n onChange?.(maybeCastValue);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype CountryFieldProps = JSFField & {\n options: Array<{ value: string; label: string }>;\n onChange?: (value: $TSFixMe) => void;\n $meta: {\n regions: Record<string, string[]>;\n subregions: Record<string, string[]>;\n };\n component?: Components['countries'];\n};\n\nexport function CountryField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n component,\n ...rest\n}: CountryFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.countries;\n if (!Component) {\n throw new Error(`Country component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nexport type TextAreaFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n maxLength?: number;\n component?: Components['textarea'];\n};\n\nexport function TextAreaField({\n name,\n description,\n label,\n onChange,\n maxLength,\n component,\n ...rest\n}: TextAreaFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.textarea;\n if (!Component) {\n throw new Error(`Text area component not found for field ${name}`);\n }\n const customTextAreaFieldProps = {\n name,\n description,\n label,\n maxLength,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(evt);\n onChange?.(evt);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextAreaFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldProps } from './TextField';\nimport { Components } from '@/src/types/remoteFlows';\n\ntype EmailFieldProps = TextFieldProps & {\n component?: Components['email'];\n};\n\nexport function EmailField(props: EmailFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.email;\n\n if (!Component) {\n throw new Error(`Email component not found for field ${props.name}`);\n }\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { Field } from '@/src/flows/types';\n\nexport function HiddenField(props: Field) {\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field }) => {\n return <input {...field} type='hidden' />;\n }}\n />\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\n\nimport {\n buildWorkScheduleSummary,\n calculateTotalWorkHours,\n DailySchedule,\n} from './workScheduleUtils';\n\ntype WorkScheduleFieldProps = JSFField & {\n name: string;\n default: DailySchedule[];\n onChange?: (value: $TSFixMe) => void;\n component?: Components['work-schedule'];\n};\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\nexport function WorkScheduleField(props: WorkScheduleFieldProps) {\n const { components } = useFormFields();\n const { setValue, control, watch } = useFormContext();\n const watchedSchedule = watch(props.name);\n const [currentSchedule, setCurrentSchedule] =\n useState<DailySchedule[]>(watchedSchedule);\n\n const { workHoursSummary, breakSummary } =\n buildWorkScheduleSummary(currentSchedule);\n const totalWorkHours = calculateTotalWorkHours(currentSchedule);\n\n useEffect(() => {\n setValue(props.name, currentSchedule);\n }, [currentSchedule, props.name, setValue]);\n\n function onSubmit(data: WorkScheduleFormData['schedule']) {\n setCurrentSchedule(data);\n }\n\n const Component = props.component || components['work-schedule'];\n if (!Component) {\n throw new Error(\n `Work schedule component not found for field ${props.name}`,\n );\n }\n\n const fieldData = {\n ...props,\n onSubmit,\n currentSchedule,\n defaultFormattedValue: {\n workHoursSummary,\n breakSummary,\n totalWorkHours,\n },\n };\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype MultiSelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string; label: string }>;\n className?: string;\n onChange?: (value: $TSFixMe) => void;\n component?: Components['select'];\n};\n\nexport function MultiSelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: MultiSelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.['multi-select'];\n if (!Component) {\n throw new Error(`Multi select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import {\n NumberField,\n NumberFieldProps,\n} from '@/src/components/form/fields/NumberField';\n\n// TODO: We use the number field and the the number type is what the partner overrides\n// TODO: this needs to be changed in the future with the changes from https://github.com/remoteoss/remote-flows/pull/128\nexport const MoneyField = (props: NumberFieldProps) => {\n return <NumberField maxLength={15} {...props} />;\n};\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n useFormContext,\n ControllerFieldState,\n ControllerRenderProps,\n FieldValues,\n} from 'react-hook-form';\nimport { TelFieldComponentProps } from '@/src/types/fields';\nimport { useMemo, useCallback, useState, useEffect, useRef } from 'react';\n\nexport type Country = {\n name: string;\n dialCode: string;\n pattern: string;\n areaCodes?: string[];\n};\n\n/**\n * Removes all spaces from input.\n */\nfunction removeSpaces(value: string) {\n return value.replace(/\\s/g, '');\n}\n\nfunction getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber: string = '',\n country?: Country,\n) {\n const baseRegex = new RegExp(\n `^(\\\\+|00)(\\\\d{${country?.dialCode?.length ?? 0}})(.*)$`,\n );\n const baseMatch = internationalPhoneNumber?.match(baseRegex);\n\n if (!baseMatch) {\n return {\n prefix: '',\n dialCode: '',\n phoneNumber: internationalPhoneNumber,\n };\n }\n\n const [, plusOrCallPrefix, dialCode, phoneNumber] = baseMatch;\n\n return {\n prefix: plusOrCallPrefix,\n dialCode,\n phoneNumber,\n };\n}\n\nfunction getCountryFromPhoneNumber(\n {\n dialCodes,\n dialCodeMaxLength,\n }: ReturnType<typeof getCountryDataByCountryCode>,\n internationalPhoneNumber: string,\n) {\n const { prefix } = getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n );\n\n if (!prefix) {\n return undefined;\n }\n\n // Try longest dial codes first - critical for US/Canada\n for (let i = dialCodeMaxLength + prefix.length; i > prefix.length; i--) {\n const dialCode = internationalPhoneNumber.slice(prefix.length, i);\n\n if (dialCodes[dialCode]) {\n return dialCodes[dialCode];\n }\n }\n\n return undefined;\n}\n\n/**\n * Creates a map of dial codes (including area codes) to country objects.\n * Handles countries like US/Canada that share +1 with different area codes.\n */\nexport function getCountryDataByCountryCode(countries: Country[]) {\n const dialCodes: Record<string, Country> = {};\n let dialCodeMaxLength = 0;\n\n countries.forEach((country) => {\n if (country.areaCodes) {\n // For countries with area codes (e.g., +1204, +1226)\n country.areaCodes.forEach((areaCode) => {\n const code = country.dialCode + areaCode;\n dialCodes[code] = country;\n if (code.length > dialCodeMaxLength) {\n dialCodeMaxLength = code.length;\n }\n });\n } else {\n // For countries with simple dial codes (e.g., +44, +351)\n dialCodes[country.dialCode] = country;\n if (country.dialCode.length > dialCodeMaxLength) {\n dialCodeMaxLength = country.dialCode.length;\n }\n }\n });\n\n return { dialCodes, dialCodeMaxLength };\n}\n\nfunction getAreaCodesFromPattern(pattern: string = '') {\n const codeGroupPattern = /\\(([^)]+)\\)/g;\n const groups = pattern.match(codeGroupPattern);\n\n if (groups?.length === 2) {\n return groups[1].replace(/\\(|\\)/g, '').split('|');\n }\n\n return undefined;\n}\n\nfunction transformSchemaToCountries(\n options: Array<{\n value: string;\n label: string;\n meta: { countryCode: string };\n pattern: string;\n }>,\n): Country[] {\n return options.map((option) => ({\n name: option.label,\n dialCode: option.meta.countryCode,\n pattern: option.pattern,\n areaCodes: getAreaCodesFromPattern(option.pattern),\n }));\n}\n\nexport function TelFieldRenderer({\n field,\n fieldState,\n fieldData,\n component: Component,\n onChangeCountryCode,\n onChangePhoneNumber,\n}: {\n field: ControllerRenderProps<FieldValues, string>;\n fieldState: ControllerFieldState;\n fieldData: TelFieldDataProps;\n component: React.ComponentType<TelFieldComponentProps>;\n onChangeCountryCode?: (newCountry: Country) => void;\n onChangePhoneNumber?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}) {\n const { value: internationalPhoneNumber } = field;\n const { options } = fieldData;\n\n const countries = useMemo(\n () => transformSchemaToCountries(options),\n [options],\n );\n\n const countriesByCountryCode = useMemo(\n () => getCountryDataByCountryCode(countries),\n [countries],\n );\n\n // Track if the country change was due to manual selection\n const isManualSelectionRef = useRef(false);\n\n // Use state to track country, so manual selection is preserved\n const [country, setCountry] = useState<Country | undefined>(() =>\n getCountryFromPhoneNumber(\n getCountryDataByCountryCode(countries),\n internationalPhoneNumber || '',\n ),\n );\n\n // Re-detect country when phone number changes externally (e.g., form reset or area code typed)\n useEffect(() => {\n // Reset manual selection flag if field is cleared\n if (!internationalPhoneNumber || internationalPhoneNumber === '+') {\n isManualSelectionRef.current = false;\n }\n\n if (isManualSelectionRef.current) {\n return;\n }\n\n const detected = getCountryFromPhoneNumber(\n countriesByCountryCode,\n internationalPhoneNumber || '',\n );\n setCountry(detected);\n }, [internationalPhoneNumber, countriesByCountryCode]);\n\n const { prefix, phoneNumber: nationalPhoneNumber } = useMemo(\n () =>\n getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n country,\n ),\n [internationalPhoneNumber, country],\n );\n\n const handleCountryCodeChange = useCallback(\n (newCountry: Country) => {\n if (!newCountry) return;\n const newValue = `+${newCountry.dialCode}${nationalPhoneNumber}`;\n\n // Mark as manual selection to prevent useEffect from overriding\n isManualSelectionRef.current = true;\n\n // Update country state to preserve manual selection\n setCountry(newCountry);\n\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangeCountryCode) {\n onChangeCountryCode(newCountry);\n }\n },\n [nationalPhoneNumber, field, onChangeCountryCode],\n );\n\n const handlePhoneNumberChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const valueWithoutSpaces = removeSpaces(event.target.value);\n let newValue: string;\n if (country) {\n newValue = `${prefix}${country.dialCode}${valueWithoutSpaces}`;\n } else {\n newValue = `${prefix}${valueWithoutSpaces}`;\n }\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangePhoneNumber) {\n const syntheticEvent = {\n target: { value: newValue, name: field.name },\n } as React.ChangeEvent<HTMLInputElement>;\n onChangePhoneNumber(syntheticEvent);\n }\n },\n [country, prefix, field, onChangePhoneNumber],\n );\n\n const fieldDataWithComputedValues = useMemo(\n () => ({\n ...fieldData,\n onChangeCountryCode: handleCountryCodeChange,\n onChangePhoneNumber: handlePhoneNumberChange,\n currentCountry: country,\n nationalPhoneNumber,\n }),\n [\n fieldData,\n handleCountryCodeChange,\n handlePhoneNumberChange,\n country,\n nationalPhoneNumber,\n ],\n );\n\n return (\n <Component\n field={field}\n fieldState={fieldState}\n fieldData={fieldDataWithComputedValues}\n />\n );\n}\n\nexport type TelFieldDataProps = Omit<JSFField, 'options'> & {\n onChangeCountryCode?: (newCountry: Country) => void;\n onChangePhoneNumber?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n component?: Components['tel'];\n options: {\n value: string;\n label: string;\n meta: {\n countryCode: string;\n };\n pattern: string;\n }[];\n currentCountry?: Country;\n nationalPhoneNumber?: string;\n};\n\nexport function TelField({\n name,\n description,\n label,\n onChangeCountryCode,\n onChangePhoneNumber,\n component,\n ...rest\n}: TelFieldDataProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.tel;\n if (!Component) {\n throw new Error(`Tel component not found for field ${name}`);\n }\n\n const customTelFieldProps: TelFieldDataProps = {\n name,\n description,\n label,\n ...rest,\n };\n\n return (\n <TelFieldRenderer\n field={field}\n fieldState={fieldState}\n fieldData={customTelFieldProps}\n component={Component}\n onChangeCountryCode={onChangeCountryCode}\n onChangePhoneNumber={onChangePhoneNumber}\n />\n );\n }}\n />\n );\n}\n","import { CheckBoxField } from './CheckBoxField';\nimport { DatePickerField } from './DatePickerField';\nimport { FileUploadField } from './FileUploadField';\nimport { NumberField } from './NumberField';\nimport { RadioGroupField } from './RadioGroupField';\nimport { SelectField } from './SelectField';\nimport { CountryField } from './CountryField';\nimport { TextAreaField } from './TextAreaField';\nimport { TextField } from './TextField';\nimport { EmailField } from './EmailField';\nimport { HiddenField } from './HiddenField';\nimport { WorkScheduleField } from './WorkScheduleField';\nimport { MultiSelectField } from './MultiSelectField';\nimport { MoneyField } from './MoneyField';\nimport { TelField } from './TelField';\nimport { SupportedTypes } from './types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const baseFields: Record<\n Exclude<SupportedTypes, 'fieldset' | 'fieldset-flat'>,\n React.ComponentType<$TSFixMe>\n> = {\n checkbox: CheckBoxField,\n text: TextField,\n email: EmailField,\n money: MoneyField,\n select: SelectField,\n 'multi-select': MultiSelectField,\n radio: RadioGroupField,\n number: NumberField,\n file: FileUploadField,\n date: DatePickerField,\n textarea: TextAreaField,\n countries: CountryField,\n hidden: HiddenField,\n tel: TelField,\n 'work-schedule': WorkScheduleField,\n};\n","import { useFormContext } from 'react-hook-form';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { useEffect } from 'react';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\nconst Description = ({\n name,\n description,\n helpCenter,\n}: {\n name: string;\n description: string;\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n}) => {\n return (\n <span>\n <span\n className={`text-xs RemoteFlows__ForcedValue__Description__${name}`}\n dangerouslySetInnerHTML={{ __html: sanitizeHtml(description) }}\n />\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__ForcedValue__HelpCenterLink'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </span>\n );\n};\n\nexport type ForcedValueFieldProps = {\n name: string;\n value: string;\n description: string;\n statement?: {\n title?: string;\n description?: string;\n };\n label: string;\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n};\n\nexport function ForcedValueField({\n name,\n value,\n description,\n statement,\n label,\n helpCenter,\n}: ForcedValueFieldProps) {\n const { setValue } = useFormContext();\n const descriptionSanitized = sanitizeHtml(\n statement?.description || description,\n );\n useEffect(() => {\n setValue(name, value);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const titleSanitized = statement?.title\n ? sanitizeHtml(statement?.title)\n : sanitizeHtml(label);\n\n return (\n <div>\n {titleSanitized && (\n <p\n className={`text-sm RemoteFlows__ForcedValue__Title__${name}`}\n dangerouslySetInnerHTML={{\n __html: titleSanitized,\n }}\n />\n )}\n <Description\n name={name}\n description={descriptionSanitized}\n helpCenter={helpCenter}\n />\n </div>\n );\n}\n"],"mappings":"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","names":["Fragment","useEffect","useRef","jsx","DatePickerField","description","label","name","minDate","maxDate","onChange","component","rest","components","useFormFields","control","useFormContext","minDateValue","getMinStartDate","maxDateValue","FormField","field","fieldState","Component","customDatePickerFieldProps","__name","value","jsx","validateFileSize","__name","files","maxSize","file","maxSizeMB","fileSizeMB","FileUploadField","name","description","label","multiple","onChange","component","accept","rest","components","useFormFields","control","setError","clearErrors","useFormContext","handleOnChange","field","sizeError","FormField","fieldState","Component","fieldData","value","jsx","NumberField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","RadioGroupField","name","defaultValue","description","label","options","onChange","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customRadioGroupFieldProps","__name","value","jsx","SelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","maybeCastValue","jsx","CountryField","label","name","options","defaultValue","description","onChange","$meta","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","TextAreaField","name","description","label","onChange","maxLength","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customTextAreaFieldProps","__name","evt","jsx","EmailField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","HiddenField","props","control","useFormContext","FormField","field","__name","useEffect","useState","jsx","WorkScheduleField","props","components","useFormFields","setValue","control","watch","useFormContext","watchedSchedule","currentSchedule","setCurrentSchedule","useState","workHoursSummary","breakSummary","buildWorkScheduleSummary","totalWorkHours","calculateTotalWorkHours","useEffect","onSubmit","data","__name","Component","fieldData","FormField","field","fieldState","value","jsx","MultiSelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","MoneyField","__name","props","NumberField","useMemo","useCallback","useState","useEffect","useRef","jsx","removeSpaces","value","__name","getStructuredNumberFromInternationalNumber","internationalPhoneNumber","country","baseRegex","baseMatch","plusOrCallPrefix","dialCode","phoneNumber","getCountryFromPhoneNumber","dialCodes","dialCodeMaxLength","prefix","i","getCountryDataByCountryCode","countries","areaCode","code","getAreaCodesFromPattern","pattern","codeGroupPattern","groups","transformSchemaToCountries","options","option","TelFieldRenderer","field","fieldState","fieldData","Component","onChangeCountryCode","onChangePhoneNumber","useMemo","countriesByCountryCode","isManualSelectionRef","useRef","setCountry","useState","useEffect","detected","nationalPhoneNumber","handleCountryCodeChange","useCallback","newCountry","newValue","handlePhoneNumberChange","event","valueWithoutSpaces","syntheticEvent","fieldDataWithComputedValues","TelField","name","description","label","component","rest","components","useFormFields","control","useFormContext","FormField","customTelFieldProps","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","TelField","WorkScheduleField","useEffect","jsx","jsxs","Description","__name","name","description","helpCenter","sanitizeHtml","ZendeskTriggerButton","ForcedValueField","value","statement","label","setValue","useFormContext","descriptionSanitized","useEffect","titleSanitized","Fragment","jsx","jsxs","FieldSetField","label","name","fields","description","components","statement","isFlatFieldset","extra","variant","features","meta","helpCenter","watch","setValue","trigger","formState","useFormContext","formComponents","useFormFields","stateField","isExpanded","fieldNames","fieldName","watchedValues","prevValuesRef","useRef","triggerTimeoutRef","toggleExpanded","__name","useEffect","currentValues","previousValues","hasBeenSubmitted","hasChanged","i","ToggleComponent","FieldsetToggleButtonDefault","contentId","headerId","cn","ZendeskTriggerButton","sanitizeHtml","field","fieldType","checkFieldHasForcedValue","ForcedValueField","FieldComponent","baseFields","Component","value","Statement"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as b}from"./chunk-3BEEU2N4.js";import{a as h,b as g,c as k}from"./chunk-5BGETBLF.js";import{b as P}from"./chunk-DJYO6IIO.js";import{j as D,k as w,l as v,m as x,n as F}from"./chunk-RXNDKUY6.js";import{c as m}from"./chunk-EARN6G25.js";import{a}from"./chunk-P37U34EQ.js";import{CalendarIcon as B}from"lucide-react";import{format as N}from"date-fns";import{ChevronLeft as I,ChevronRight as L}from"lucide-react";import{DayPicker as O}from"react-day-picker";import{jsx as c}from"react/jsx-runtime";function d({className:t,classNames:n,showOutsideDays:s=!0,...o}){return c(O,{showOutsideDays:s,className:m("p-3",t),classNames:{months:"flex flex-col sm:flex-row gap-4",month:"flex flex-col gap-y-4",month_caption:"flex h-8 w-full items-center justify-center relative",caption_label:"font-medium text-sm mt-1",nav:"flex items-center justify-between absolute left-0 right-0 z-10",month_grid:"w-full border-collapse mt-1",weekdays:"flex",weekday:"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",week:"flex w-full mt-2",day:"h-9 w-9 text-center text-sm p-0 relative",...n},components:{Chevron:a(({orientation:p,...r})=>p==="left"?c(I,{...r}):c(L,{...r}),"Chevron")},...o})}a(d,"Calendar");d.displayName="Calendar";import{useState as T}from"react";import{Fragment as V,jsx as e,jsxs as i}from"react/jsx-runtime";function Y({field:t,fieldData:n,fieldState:s}){let{name:o,label:p,description:r,minDate:u,maxDate:C}=n,f=u?new Date(u):void 0,_=C?new Date(C):void 0,[R,y]=T(!1);return i(D,{"data-field":o,className:`flex flex-col RemoteFlows__DatePickerField__Item__${o}`,children:[e(w,{className:"RemoteFlows__DatePickerField__Label",children:p}),i(h,{open:R,onOpenChange:y,children:[e(g,{asChild:!0,children:e(v,{children:e("div",{children:i(P,{type:"button",variant:"outline",className:m("w-full pl-3 text-left font-normal",!t.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${o}`,children:[t.value&&e(V,{children:N(t.value,"yyyy-MM-dd")}),e(B,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),e(k,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:e(d,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:t.value?new Date(t.value):void 0,onDayClick:l=>{let M=N(l,"yyyy-MM-dd");t.onChange(M),y(!1)},defaultMonth:f,disabled:l=>!!(f&&l<f||_&&l>_)})})]}),r?i(x,{children:[r," ",e(b,{helpCenter:n.meta?.helpCenter})]}):null,s.error&&e(F,{className:"RemoteFlows__DatePickerField__Error"})]})}a(Y,"DatePickerFieldDefault");export{Y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZAQUO2SM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/fields/default/DatePickerFieldDefault.tsx","../src/components/ui/calendar.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { DatePickerComponentProps } from '@/src/types/fields';\nimport { CalendarIcon } from 'lucide-react';\nimport { format } from 'date-fns';\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from '@/src/components/ui/popover';\nimport { cn } from '@/src/lib/utils';\nimport { Calendar } from '@/src/components/ui/calendar';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport { useState } from 'react';\n\nexport function DatePickerFieldDefault({\n field,\n fieldData,\n fieldState,\n}: DatePickerComponentProps) {\n const { name, label, description, minDate, maxDate } = fieldData;\n const minDateValue = minDate ? new Date(minDate) : undefined;\n const maxDateValue = maxDate ? new Date(maxDate) : undefined;\n const [open, setOpen] = useState(false);\n\n return (\n <FormItem\n data-field={name}\n className={`flex flex-col RemoteFlows__DatePickerField__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__DatePickerField__Label'>\n {label}\n </FormLabel>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <FormControl>\n <div>\n <Button\n type='button'\n variant={'outline'}\n className={cn(\n 'w-full pl-3 text-left font-normal',\n !field.value && 'text-muted-foreground',\n )}\n data-testid={`date-picker-button-${name}`}\n >\n {field.value && <>{format(field.value, 'yyyy-MM-dd')}</>}\n <CalendarIcon className='ml-auto h-4 w-4 opacity-50' />\n </Button>\n </div>\n </FormControl>\n </PopoverTrigger>\n <PopoverContent\n className={`w-auto p-0 RemoteFlows__DatepickerField__PopoverContent`}\n align='start'\n >\n <Calendar\n mode='single'\n className='RemoteFlows__DatepickerField__Calendar'\n selected={field.value ? new Date(field.value) : undefined}\n onDayClick={(day) => {\n const formattedDate = format(day, 'yyyy-MM-dd');\n field.onChange(formattedDate);\n setOpen(false);\n }}\n defaultMonth={minDateValue}\n disabled={(date: Date) => {\n if (minDateValue && date < minDateValue) return true;\n if (maxDateValue && date > maxDateValue) return true;\n return false;\n }}\n />\n </PopoverContent>\n </Popover>\n {description ? (\n <FormDescription>\n {description} <HelpCenter helpCenter={fieldData.meta?.helpCenter} />\n </FormDescription>\n ) : null}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__DatePickerField__Error' />\n )}\n </FormItem>\n );\n}\n","import * as React from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '@/src/lib/utils';\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3', className)}\n classNames={{\n months: 'flex flex-col sm:flex-row gap-4',\n month: 'flex flex-col gap-y-4',\n month_caption: 'flex h-8 w-full items-center justify-center relative',\n caption_label: 'font-medium text-sm mt-1',\n nav: 'flex items-center justify-between absolute left-0 right-0 z-10',\n month_grid: 'w-full border-collapse mt-1',\n weekdays: 'flex',\n weekday:\n 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]',\n week: 'flex w-full mt-2',\n day: 'h-9 w-9 text-center text-sm p-0 relative',\n ...classNames,\n }}\n components={{\n Chevron: ({ orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeft {...props} />;\n }\n return <ChevronRight {...props} />;\n },\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = 'Calendar';\n\nexport { Calendar };\n"],"mappings":"qRASA,OAAS,gBAAAA,MAAoB,eAC7B,OAAS,UAAAC,MAAc,WCTvB,OAAS,eAAAC,EAAa,gBAAAC,MAAoB,eAC1C,OAAS,aAAAC,MAAiB,mBAiCP,cAAAC,MAAA,oBA3BnB,SAASC,EAAS,CAChB,UAAAC,EACA,WAAAC,EACA,gBAAAC,EAAkB,GAClB,GAAGC,CACL,EAAkB,CAChB,OACEL,EAACM,EAAA,CACC,gBAAiBF,EACjB,UAAWG,EAAG,MAAOL,CAAS,EAC9B,WAAY,CACV,OAAQ,kCACR,MAAO,wBACP,cAAe,uDACf,cAAe,2BACf,IAAK,iEACL,WAAY,8BACZ,SAAU,OACV,QACE,iEACF,KAAM,mBACN,IAAK,2CACL,GAAGC,CACL,EACA,WAAY,CACV,QAASK,EAAA,CAAC,CAAE,YAAAC,EAAa,GAAGJ,CAAM,IAC5BI,IAAgB,OACXT,EAACU,EAAA,CAAa,GAAGL,EAAO,EAE1BL,EAACW,EAAA,CAAc,GAAGN,EAAO,EAJzB,UAMX,EACC,GAAGA,EACN,CAEJ,CAnCSG,EAAAP,EAAA,YAoCTA,EAAS,YAAc,WDzBvB,OAAS,YAAAW,MAAgB,QAiBnB,OAgB0B,YAAAC,EAhB1B,OAAAC,EAOQ,QAAAC,MAPR,oBAfC,SAASC,EAAuB,CACrC,MAAAC,EACA,UAAAC,EACA,WAAAC,CACF,EAA6B,CAC3B,GAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,YAAAC,EAAa,QAAAC,EAAS,QAAAC,CAAQ,EAAIN,EACjDO,EAAeF,EAAU,IAAI,KAAKA,CAAO,EAAI,OAC7CG,EAAeF,EAAU,IAAI,KAAKA,CAAO,EAAI,OAC7C,CAACG,EAAMC,CAAO,EAAIC,EAAS,EAAK,EAEtC,OACEd,EAACe,EAAA,CACC,aAAYV,EACZ,UAAW,qDAAqDA,CAAI,GAEpE,UAAAN,EAACiB,EAAA,CAAU,UAAU,sCAClB,SAAAV,EACH,EACAN,EAACiB,EAAA,CAAQ,KAAML,EAAM,aAAcC,EACjC,UAAAd,EAACmB,EAAA,CAAe,QAAO,GACrB,SAAAnB,EAACoB,EAAA,CACC,SAAApB,EAAC,OACC,SAAAC,EAACoB,EAAA,CACC,KAAK,SACL,QAAS,UACT,UAAWC,EACT,oCACA,CAACnB,EAAM,OAAS,uBAClB,EACA,cAAa,sBAAsBG,CAAI,GAEtC,UAAAH,EAAM,OAASH,EAAAD,EAAA,CAAG,SAAAwB,EAAOpB,EAAM,MAAO,YAAY,EAAE,EACrDH,EAACwB,EAAA,CAAa,UAAU,6BAA6B,GACvD,EACF,EACF,EACF,EACAxB,EAACyB,EAAA,CACC,UAAW,0DACX,MAAM,QAEN,SAAAzB,EAAC0B,EAAA,CACC,KAAK,SACL,UAAU,yCACV,SAAUvB,EAAM,MAAQ,IAAI,KAAKA,EAAM,KAAK,EAAI,OAChD,WAAawB,GAAQ,CACnB,IAAMC,EAAgBL,EAAOI,EAAK,YAAY,EAC9CxB,EAAM,SAASyB,CAAa,EAC5Bd,EAAQ,EAAK,CACf,EACA,aAAcH,EACd,SAAWkB,GACL,GAAAlB,GAAgBkB,EAAOlB,GACvBC,GAAgBiB,EAAOjB,GAG/B,EACF,GACF,EACCJ,EACCP,EAAC6B,EAAA,CACE,UAAAtB,EAAY,IAACR,EAAC+B,EAAA,CAAW,WAAY3B,EAAU,MAAM,WAAY,GACpE,EACE,KACHC,EAAW,OACVL,EAACgC,EAAA,CAAY,UAAU,sCAAsC,GAEjE,CAEJ,CArEgBC,EAAA/B,EAAA","names":["CalendarIcon","format","ChevronLeft","ChevronRight","DayPicker","jsx","Calendar","className","classNames","showOutsideDays","props","DayPicker","cn","__name","orientation","ChevronLeft","ChevronRight","useState","Fragment","jsx","jsxs","DatePickerFieldDefault","field","fieldData","fieldState","name","label","description","minDate","maxDate","minDateValue","maxDateValue","open","setOpen","useState","FormItem","FormLabel","Popover","PopoverTrigger","FormControl","Button","cn","format","CalendarIcon","PopoverContent","Calendar","day","formattedDate","date","FormDescription","HelpCenter","FormMessage","__name"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c as t}from"./chunk-EARN6G25.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a,jsxs as r}from"react/jsx-runtime";function m(n,o,i){return{"x-jsf-presentation":{inputType:"hidden",Component:e(()=>r("div",{className:t("RemoteFlows__InformationStatement",i?.className),children:[a("h3",{className:t("RemoteFlows__InformationStatement__Title"),children:n}),a("p",{className:t("RemoteFlows__InformationStatement__Description"),children:o})]}),"Component")}}}e(m,"createInformationField");function c({title:n,description:o,severity:i}){return{statement:{title:n,description:o,severity:i}}}e(c,"createStatementProperty");export{m as a,c as b};
|
|
2
|
+
//# sourceMappingURL=chunk-ZBJ4VEDO.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as o,b as i,c as t,d as l,e as w}from"./chunk-43MCQDBU.js";import{c as a}from"./chunk-EARN6G25.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as r,jsxs as n}from"react/jsx-runtime";function C({open:D,onOpenChange:m,direction:p,className:f,title:s,trigger:d,children:v}){return n(o,{open:D,onOpenChange:m,direction:p,children:[r(i,{asChild:!0,children:d}),r(t,{className:a("RemoteFlows__Drawer h-full w-[540px] mt-0 ml-auto px-4",f),children:n("div",{className:"h-full flex flex-col",children:[r(l,{children:r(w,{children:s})}),r("div",{className:"flex-1 overflow-y-auto",children:v})]})})]})}e(C,"DrawerDefault");export{C as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZR6AKRA3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/shared/drawer/DrawerDefault.tsx"],"sourcesContent":["import { DrawerComponentProps } from '@/src/types/remoteFlows';\nimport {\n Drawer as DrawerPrimitive,\n DrawerTrigger,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n} from '@/src/components/ui/drawer';\nimport { cn } from '@/src/lib/utils';\n\nexport function DrawerDefault({\n open,\n onOpenChange,\n direction,\n className,\n title,\n trigger,\n children,\n}: DrawerComponentProps) {\n return (\n <DrawerPrimitive\n open={open}\n onOpenChange={onOpenChange}\n direction={direction}\n >\n <DrawerTrigger asChild>{trigger}</DrawerTrigger>\n <DrawerContent\n className={cn(\n 'RemoteFlows__Drawer h-full w-[540px] mt-0 ml-auto px-4',\n className,\n )}\n >\n <div className='h-full flex flex-col'>\n <DrawerHeader>\n <DrawerTitle>{title}</DrawerTitle>\n </DrawerHeader>\n <div className='flex-1 overflow-y-auto'>{children}</div>\n </div>\n </DrawerContent>\n </DrawerPrimitive>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/components/shared/drawer/DrawerDefault.tsx"],"sourcesContent":["import { DrawerComponentProps } from '@/src/types/remoteFlows';\nimport {\n Drawer as DrawerPrimitive,\n DrawerTrigger,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n} from '@/src/components/ui/drawer';\nimport { cn } from '@/src/lib/utils';\n\nexport function DrawerDefault({\n open,\n onOpenChange,\n direction,\n className,\n title,\n trigger,\n children,\n}: DrawerComponentProps) {\n return (\n <DrawerPrimitive\n open={open}\n onOpenChange={onOpenChange}\n direction={direction}\n >\n <DrawerTrigger asChild>{trigger}</DrawerTrigger>\n <DrawerContent\n className={cn(\n 'RemoteFlows__Drawer h-full w-[540px] mt-0 ml-auto px-4',\n className,\n )}\n >\n <div className='h-full flex flex-col'>\n <DrawerHeader>\n <DrawerTitle>{title}</DrawerTitle>\n </DrawerHeader>\n <div className='flex-1 overflow-y-auto'>{children}</div>\n </div>\n </DrawerContent>\n </DrawerPrimitive>\n );\n}\n"],"mappings":"oJAyBM,cAAAA,EAOE,QAAAC,MAPF,oBAfC,SAASC,EAAc,CAC5B,KAAAC,EACA,aAAAC,EACA,UAAAC,EACA,UAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAAyB,CACvB,OACER,EAACS,EAAA,CACC,KAAMP,EACN,aAAcC,EACd,UAAWC,EAEX,UAAAL,EAACW,EAAA,CAAc,QAAO,GAAE,SAAAH,EAAQ,EAChCR,EAACY,EAAA,CACC,UAAWC,EACT,yDACAP,CACF,EAEA,SAAAL,EAAC,OAAI,UAAU,uBACb,UAAAD,EAACc,EAAA,CACC,SAAAd,EAACe,EAAA,CAAa,SAAAR,EAAM,EACtB,EACAP,EAAC,OAAI,UAAU,yBAA0B,SAAAS,EAAS,GACpD,EACF,GACF,CAEJ,CA/BgBO,EAAAd,EAAA","names":["jsx","jsxs","DrawerDefault","open","onOpenChange","direction","className","title","trigger","children","Drawer","DrawerTrigger","DrawerContent","cn","DrawerHeader","DrawerTitle","__name"]}
|