@remoteoss/remote-flows 1.50.0 → 1.52.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/dist/CheckboxFieldDefault-23VE43PP.js +2 -0
- package/dist/CountryFieldDefault-FVAAL55P.js +2 -0
- package/dist/DatePickerFieldDefault-KXEMGK5B.js +2 -0
- package/dist/EmailFieldDefault-OFHDLOOT.js +2 -0
- package/dist/FileUploadFieldDefault-GX22C22E.js +2 -0
- package/dist/ForcedValueFieldDefault-ESITCZWK.js +2 -0
- package/dist/MultiSelectFieldDefault-DAUBH5JV.js +2 -0
- package/dist/NumberFieldDefault-MXZD7YVE.js +2 -0
- package/dist/PDFPreviewDefault-T6YPWXGY.js +2 -0
- package/dist/RadioGroupFieldDefault-QFUUJGSR.js +2 -0
- package/dist/SelectFieldDefault-3QTJE222.js +2 -0
- package/dist/TelFieldDefault-5U5X37LI.js +2 -0
- package/dist/TextAreaFieldDefault-JX2MVJVY.js +2 -0
- package/dist/TextFieldDefault-WCUD6XYS.js +2 -0
- package/dist/TimeFieldDefault-UNF7PKLT.js +2 -0
- package/dist/WorkScheduleFieldDefault-2A2RCDXV.js +2 -0
- package/dist/{chunk-SLRPDXK6.js → chunk-235XZBTZ.js} +2 -2
- package/dist/chunk-2EXX7BNU.js +2 -0
- package/dist/{chunk-PUK2TIQX.js.map → chunk-2EXX7BNU.js.map} +1 -1
- package/dist/chunk-2L6AB46E.js +2 -0
- package/dist/{chunk-A7U3KJIP.js.map → chunk-2L6AB46E.js.map} +1 -1
- package/dist/{chunk-GE74QKS6.js → chunk-335N2CVQ.js} +2 -2
- package/dist/chunk-36DZMQHH.js +2 -0
- package/dist/{chunk-DDMXUBCN.js.map → chunk-36DZMQHH.js.map} +1 -1
- package/dist/{chunk-N7HCQXUM.js → chunk-3B7FASV7.js} +2 -2
- package/dist/{chunk-STHZZZRL.js → chunk-3BDWVNHX.js} +2 -2
- package/dist/chunk-3CGFAN3F.js +2 -0
- package/dist/{chunk-DP6L72YF.js.map → chunk-3CGFAN3F.js.map} +1 -1
- package/dist/{chunk-ZREW7KZA.js → chunk-3DOSHTJS.js} +2 -2
- package/dist/{chunk-SZI67IXU.js → chunk-3HMBTPH7.js} +2 -2
- package/dist/{chunk-NTPHMYYC.js → chunk-3NC2JJM3.js} +2 -2
- package/dist/{chunk-ED35NFA6.js → chunk-3OHORFIX.js} +2 -2
- package/dist/{chunk-WGO25FWG.js → chunk-3WRO57UF.js} +2 -2
- package/dist/chunk-463G2HDA.js +2 -0
- package/dist/{chunk-CONMRDRL.js.map → chunk-463G2HDA.js.map} +1 -1
- package/dist/{chunk-4CNDASPA.js → chunk-4AQMMGXK.js} +2 -2
- package/dist/{chunk-G6EKGJBB.js → chunk-4BFGSBOK.js} +2 -2
- package/dist/{chunk-VVZTXCX2.js → chunk-4KIOOLOG.js} +2 -2
- package/dist/{chunk-SUYI33NX.js → chunk-4UN7DBEV.js} +2 -2
- package/dist/{chunk-RZL44CPH.js → chunk-57Y5XQ3D.js} +2 -2
- package/dist/{chunk-P6FFLJDP.js → chunk-5DPOL3DT.js} +2 -2
- package/dist/{chunk-FV6NNYDP.js → chunk-5FST4WDH.js} +2 -2
- package/dist/chunk-5NN5RWBG.js +2 -0
- package/dist/chunk-5NN5RWBG.js.map +1 -0
- package/dist/{chunk-46BOEYFO.js → chunk-6OLV37C2.js} +2 -2
- package/dist/{chunk-YHZZHQP5.js → chunk-6RPIMHYS.js} +2 -2
- package/dist/{chunk-MXAFJYLQ.js → chunk-6TLBBS6E.js} +2 -2
- package/dist/{chunk-EVUTX6TJ.js → chunk-77LDJPXF.js} +2 -2
- package/dist/chunk-7PEZVTSQ.js +2 -0
- package/dist/chunk-7PEZVTSQ.js.map +1 -0
- package/dist/{chunk-BTCC6PNG.js → chunk-7TELDH6M.js} +2 -2
- package/dist/{chunk-OWOIDZHI.js → chunk-7Y4NHODP.js} +2 -2
- package/dist/{chunk-GBVBMT3H.js → chunk-ADL2ZH54.js} +2 -2
- package/dist/{chunk-UZFEJMO6.js → chunk-AFTFDGSD.js} +2 -2
- package/dist/chunk-ANPNVWCB.js +2 -0
- package/dist/{chunk-E5ATCB4A.js → chunk-AOE6FXVP.js} +2 -2
- package/dist/{chunk-E5ATCB4A.js.map → chunk-AOE6FXVP.js.map} +1 -1
- package/dist/{chunk-L2YOD4GP.js → chunk-APSKAXM2.js} +2 -2
- package/dist/{chunk-5HDMU73I.js → chunk-B2WE3PSY.js} +2 -2
- package/dist/{chunk-FSCAWXCB.js → chunk-B677Q3B3.js} +2 -2
- package/dist/chunk-BQGTMOIQ.js +2 -0
- package/dist/{chunk-53QBSOMG.js.map → chunk-BQGTMOIQ.js.map} +1 -1
- package/dist/{chunk-WKWL57L6.js → chunk-BYD4TSDD.js} +2 -2
- package/dist/chunk-C7KVPEVX.js +2 -0
- package/dist/chunk-C7KVPEVX.js.map +1 -0
- package/dist/chunk-COQVI5OD.js +2 -0
- package/dist/chunk-COQVI5OD.js.map +1 -0
- package/dist/{chunk-5JXLXWTD.js → chunk-CR5J5KK6.js} +2 -2
- package/dist/chunk-D7F3QKN5.js +2 -0
- package/dist/chunk-D7F3QKN5.js.map +1 -0
- package/dist/chunk-DAUDKN32.js +8 -0
- package/dist/{chunk-QQV5REGG.js.map → chunk-DAUDKN32.js.map} +1 -1
- package/dist/{chunk-LXGL7HF5.js → chunk-DIPYFRXX.js} +2 -2
- package/dist/chunk-DSJXT5ZP.js +2 -0
- package/dist/chunk-DSJXT5ZP.js.map +1 -0
- package/dist/{chunk-ZOTKZZ67.js → chunk-DTNFGOBK.js} +2 -2
- package/dist/{chunk-JLZFNUBH.js → chunk-E7Y3YBZH.js} +2 -2
- package/dist/chunk-EP3BNRH3.js +2 -0
- package/dist/chunk-EP3BNRH3.js.map +1 -0
- package/dist/{chunk-GTS7KFEM.js → chunk-EQOOVJ7K.js} +2 -2
- package/dist/chunk-EUQLCVA5.js +2 -0
- package/dist/chunk-EUQLCVA5.js.map +1 -0
- package/dist/{chunk-R4ZUOFYN.js → chunk-FF5OB2GF.js} +2 -2
- package/dist/{chunk-H47XUL2L.js → chunk-FFRROEPQ.js} +2 -2
- package/dist/chunk-FIJSNO57.js +2 -0
- package/dist/chunk-FIJSNO57.js.map +1 -0
- package/dist/{chunk-UGQNOBQH.js → chunk-GF4MSLVP.js} +2 -2
- package/dist/{chunk-P2WUHKEU.js → chunk-GIBD2ZCJ.js} +2 -2
- package/dist/{chunk-XDLVDPQ7.js → chunk-GNVGW65D.js} +2 -2
- package/dist/{chunk-4IGLIHGF.js → chunk-GRLZH65T.js} +2 -2
- package/dist/chunk-GSUGHAHA.js +2 -0
- package/dist/{chunk-4BHEQMZV.js.map → chunk-GSUGHAHA.js.map} +1 -1
- package/dist/{chunk-CCGAAOXN.js → chunk-H4NJGAN4.js} +2 -2
- package/dist/chunk-HDFAFTHC.js +2 -0
- package/dist/chunk-HDFAFTHC.js.map +1 -0
- package/dist/{chunk-7FKNXW2I.js → chunk-HDTQOERP.js} +2 -2
- package/dist/{chunk-MEYX4D5K.js → chunk-I53YCEOC.js} +2 -2
- package/dist/{chunk-V3AVEPNA.js → chunk-I5NW7AQZ.js} +2 -2
- package/dist/{chunk-YME2HZZJ.js → chunk-I65OXH33.js} +2 -2
- package/dist/{chunk-ICYCECFS.js → chunk-IBQVGZMF.js} +2 -2
- package/dist/{chunk-ICYCECFS.js.map → chunk-IBQVGZMF.js.map} +1 -1
- package/dist/{chunk-TX6RWQUR.js → chunk-IJS67A57.js} +2 -2
- package/dist/chunk-IK2LTVOV.js +2 -0
- package/dist/chunk-IK2LTVOV.js.map +1 -0
- package/dist/{chunk-RYZ7TJVS.js → chunk-ISPN7HQ5.js} +2 -2
- package/dist/chunk-IYWSUSS2.js +2 -0
- package/dist/chunk-IYWSUSS2.js.map +1 -0
- package/dist/{chunk-FQBOMXMX.js → chunk-J244N33S.js} +2 -2
- package/dist/chunk-JKNE2D47.js +2 -0
- package/dist/{chunk-VRPZ4GHN.js.map → chunk-JKNE2D47.js.map} +1 -1
- package/dist/chunk-JO5D2522.js +2 -0
- package/dist/chunk-JO5D2522.js.map +1 -0
- package/dist/{chunk-ILMRP364.js → chunk-JUSQGITN.js} +2 -2
- package/dist/{chunk-GMSYO53D.js → chunk-KD7UBTZG.js} +2 -2
- package/dist/chunk-KF52YXGI.js +2 -0
- package/dist/chunk-KF52YXGI.js.map +1 -0
- package/dist/{chunk-VYTUM3RI.js → chunk-KFIUXU6I.js} +2 -2
- package/dist/chunk-KSSQR2CS.js +2 -0
- package/dist/chunk-KSSQR2CS.js.map +1 -0
- package/dist/{chunk-G75LPZV5.js → chunk-L7FN3XPX.js} +2 -2
- package/dist/{chunk-WVE2IOLY.js → chunk-LIZMNUQI.js} +2 -2
- package/dist/{chunk-KGNLBYM5.js → chunk-LJ32QPJF.js} +2 -2
- package/dist/chunk-LXABE3VR.js +2 -0
- package/dist/chunk-LXABE3VR.js.map +1 -0
- package/dist/chunk-LY5PCHQ2.js +2 -0
- package/dist/{chunk-B4O5YUYL.js.map → chunk-LY5PCHQ2.js.map} +1 -1
- package/dist/{chunk-BB3M25A3.js → chunk-MGCW2SS4.js} +2 -2
- package/dist/chunk-MNHXHKTE.js +2 -0
- package/dist/{chunk-EMMFAZZC.js.map → chunk-MNHXHKTE.js.map} +1 -1
- package/dist/{chunk-CUO7OGD5.js → chunk-MOOSPB2G.js} +2 -2
- package/dist/{chunk-ITCWBZDM.js → chunk-MZFT4MWM.js} +2 -2
- package/dist/chunk-NGBNHXAA.js +2 -0
- package/dist/{chunk-NYR6FVCU.js.map → chunk-NGBNHXAA.js.map} +1 -1
- package/dist/chunk-NQSJBVFL.js +2 -0
- package/dist/chunk-NQSJBVFL.js.map +1 -0
- package/dist/{chunk-V6PPOGPT.js → chunk-NVOUXFGX.js} +2 -2
- package/dist/{chunk-D6PMXNBM.js → chunk-OAX6TPIP.js} +2 -2
- package/dist/{chunk-4WSYC3Q5.js → chunk-OJ4TXF6G.js} +2 -2
- package/dist/{chunk-C7MVEDVY.js → chunk-OT5JE2SM.js} +2 -2
- package/dist/{chunk-QFTBKRUI.js → chunk-PJAHLEOR.js} +2 -2
- package/dist/{chunk-BLKWR77C.js → chunk-PJDHQ4ZQ.js} +2 -2
- package/dist/{chunk-AAXPKULB.js → chunk-PKORRCMX.js} +2 -2
- package/dist/{chunk-3G4HOZCM.js → chunk-POIDXI3T.js} +2 -2
- package/dist/chunk-QATHYZUV.js +2 -0
- package/dist/chunk-QATHYZUV.js.map +1 -0
- package/dist/{chunk-VKUGCD5J.js → chunk-QIY6K2FB.js} +2 -2
- package/dist/chunk-QMMNXGQF.js +2 -0
- package/dist/chunk-QMMNXGQF.js.map +1 -0
- package/dist/{chunk-ILEO7LN4.js → chunk-QRSMCORC.js} +2 -2
- package/dist/{chunk-TJZ5BJV3.js → chunk-QUJBIRNY.js} +2 -2
- package/dist/{chunk-OKBPMWVB.js → chunk-R23HFBV4.js} +2 -2
- package/dist/chunk-R4E37FVX.js +2 -0
- package/dist/{chunk-R5ADEPLC.js.map → chunk-R4E37FVX.js.map} +1 -1
- package/dist/chunk-RJXFAG4D.js +2 -0
- package/dist/chunk-RJXFAG4D.js.map +1 -0
- package/dist/{chunk-XEVHXHHC.js → chunk-ROVMQ5NT.js} +2 -2
- package/dist/{chunk-6CBC5OAQ.js → chunk-SDPYDCS7.js} +2 -2
- package/dist/{chunk-25MUO3XP.js → chunk-SMCLTRJW.js} +2 -2
- package/dist/chunk-SRLBVFNQ.js +2 -0
- package/dist/chunk-SRLBVFNQ.js.map +1 -0
- package/dist/{chunk-NFWKD7UR.js → chunk-SUGZPBET.js} +2 -2
- package/dist/{chunk-Z7XLK4JL.js → chunk-SV35IBBH.js} +2 -2
- package/dist/{chunk-7B3ATY3M.js → chunk-SYZIGZ2F.js} +2 -2
- package/dist/{chunk-7B3ATY3M.js.map → chunk-SYZIGZ2F.js.map} +1 -1
- package/dist/chunk-TUIEY7ZM.js +2 -0
- package/dist/chunk-TUIEY7ZM.js.map +1 -0
- package/dist/{chunk-ERBEPQJP.js → chunk-UBWNTSWS.js} +2 -2
- package/dist/chunk-UETBVQT5.js +2 -0
- package/dist/chunk-UETBVQT5.js.map +1 -0
- package/dist/{chunk-RFMYNPR7.js → chunk-URNFXEOZ.js} +2 -2
- package/dist/{chunk-5PUW4YCY.js → chunk-UTWBY65S.js} +2 -2
- package/dist/{chunk-XMVV6S77.js → chunk-UWIUECXU.js} +2 -2
- package/dist/{chunk-JVZ5LUV4.js → chunk-VEQWK7QQ.js} +2 -2
- package/dist/{chunk-JVZ5LUV4.js.map → chunk-VEQWK7QQ.js.map} +1 -1
- package/dist/{chunk-LADLAP2S.js → chunk-VRZJWJGM.js} +2 -2
- package/dist/chunk-VSK4KV55.js +2 -0
- package/dist/chunk-VSK4KV55.js.map +1 -0
- package/dist/chunk-WC7TWLA7.js +2 -0
- package/dist/chunk-WC7TWLA7.js.map +1 -0
- package/dist/{chunk-JI3PAIMV.js → chunk-WHY2WNWH.js} +2 -2
- package/dist/{chunk-77AA65OH.js → chunk-WNOQNNRR.js} +2 -2
- package/dist/{chunk-77AA65OH.js.map → chunk-WNOQNNRR.js.map} +1 -1
- package/dist/{chunk-JVXI4RZU.js → chunk-WU66SHVJ.js} +2 -2
- package/dist/{chunk-PKJZ2N4C.js → chunk-XLHTMWJ3.js} +2 -2
- package/dist/{chunk-ZODT3MJM.js → chunk-XPLWBO73.js} +2 -2
- package/dist/{chunk-DOPQK5RP.js → chunk-YANQP45B.js} +2 -2
- package/dist/{chunk-PKQG25GH.js → chunk-YE6NRJ2L.js} +2 -2
- package/dist/{chunk-PKQG25GH.js.map → chunk-YE6NRJ2L.js.map} +1 -1
- package/dist/{chunk-CD6H4MBI.js → chunk-YRRX7EOU.js} +2 -2
- package/dist/{chunk-XMIVJW5E.js → chunk-YWLAZIIO.js} +2 -2
- package/dist/{chunk-2UH6Y56R.js → chunk-ZJ55AKB6.js} +2 -2
- package/dist/{chunk-GHZABLDV.js → chunk-ZULOHKU6.js} +2 -2
- package/dist/default-components.d.ts +2 -2
- package/dist/default-components.js +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 -3
- 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 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +3 -3
- package/dist/flows/ContractAmendment/utils.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +311 -14
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.d.ts +29 -27
- package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SkipInvoiceScheduleButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/context.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/hooks.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.d.ts +177 -1
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +7 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +3 -3
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +3 -3
- package/dist/flows/CostCalculator/api.d.ts +3 -3
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/jsonSchema.d.ts +3 -0
- package/dist/flows/CostCalculator/jsonSchema.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
- package/dist/flows/CreateCompany/CreateCompany.js +1 -1
- package/dist/flows/CreateCompany/api.d.ts +3 -3
- package/dist/flows/CreateCompany/api.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
- package/dist/flows/CreateCompany/context.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +4 -4
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +4 -4
- package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.d.ts +8 -16
- package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.js +1 -1
- package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.d.ts +3 -7
- package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.js +1 -1
- package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.d.ts +33 -0
- package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.js +2 -0
- package/dist/flows/InvoiceSchedule/InvoiceScheduleSubmitButton.js +1 -1
- package/dist/flows/InvoiceSchedule/context.d.ts +10 -20
- package/dist/flows/InvoiceSchedule/hooks.d.ts +33 -41
- package/dist/flows/InvoiceSchedule/hooks.js +1 -1
- package/dist/flows/InvoiceSchedule/index.d.ts +6 -8
- package/dist/flows/InvoiceSchedule/index.js +1 -1
- package/dist/flows/InvoiceSchedule/types.d.ts +8 -35
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +1 -1
- package/dist/flows/JsonSchemaPlayground/context.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/hooks.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/hooks.js +1 -1
- package/dist/flows/JsonSchemaPlayground/index.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/index.js +1 -1
- package/dist/flows/JsonSchemaPlayground/types.d.ts +3 -3
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +4 -4
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.d.ts +11 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.d.ts +16 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.js.map +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.d.ts +12 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.js.map +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.d.ts +13 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js.map +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/types.d.ts +91 -0
- package/dist/flows/Onboarding/components/DailySchedule/types.js +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/types.js.map +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/utils.d.ts +57 -0
- package/dist/flows/Onboarding/components/DailySchedule/utils.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/utils.js.map +1 -0
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +4 -4
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +5 -5
- package/dist/flows/Onboarding/hooks.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/json-schemas/selectCountryStep.d.ts +3 -0
- package/dist/flows/Onboarding/json-schemas/selectCountryStep.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +5 -5
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/api.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/api.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/context.d.ts +5 -5
- package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +5 -5
- package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/index.d.ts +5 -5
- package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.d.ts +3 -0
- package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/types.d.ts +5 -5
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +5 -5
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/api.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/api.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +5 -5
- package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +5 -5
- package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +5 -5
- package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +5 -5
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/api.d.ts +5 -5
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +4 -4
- package/dist/flows/Termination/hooks.d.ts +4 -4
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -6
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/additionalInformation.d.ts +1 -1
- package/dist/flows/Termination/json-schemas/additionalInformation.js +1 -1
- package/dist/flows/Termination/json-schemas/defaultSchema.d.ts +1 -1
- package/dist/flows/Termination/json-schemas/defaultSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/employeeComunication.d.ts +1 -1
- package/dist/flows/Termination/json-schemas/employeeComunication.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.d.ts +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/paidTimeOff.d.ts +1 -1
- package/dist/flows/Termination/json-schemas/paidTimeOff.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/json-schemas/terminationDetails.d.ts +1 -1
- package/dist/flows/Termination/json-schemas/terminationDetails.js +1 -1
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/types.d.ts +3 -3
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +18 -17
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +4 -4
- package/dist/internals.js +1 -1
- package/dist/{mutations-Dg60ZjS0.d.ts → mutations-DU9Ens-k.d.ts} +1 -1
- package/dist/{remoteFlows-7WBvzlJt.d.ts → remoteFlows-BlMarq2K.d.ts} +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/{types-CgNwKzZf.d.ts → types-B2hGbfw_.d.ts} +3 -3
- package/dist/{types-CJHW5xRl.d.ts → types-BFSFdXKe.d.ts} +1 -1
- package/dist/{types-DmvLgred.d.ts → types-BGoAzP0c.d.ts} +1 -1
- package/dist/{types-CT7w2kHS.d.ts → types-C3sJ1GdL.d.ts} +2 -2
- package/dist/{types-1IycaCkN.d.ts → types-CTIVW_BN.d.ts} +5 -5
- package/dist/{types--IwjF9ei.d.ts → types-Ce5Sou3Z.d.ts} +7 -37
- package/dist/{types-CI8Tx4se.d.ts → types-DKfzko2j.d.ts} +3 -3
- package/dist/types-DvsjrBmu.d.ts +15 -0
- package/dist/{types-DPlWZa2M.d.ts → types-p2MsBnGq.d.ts} +3 -3
- package/dist/{types.gen-TcbORUL-.d.ts → types.gen-CMDAS1NL.d.ts} +1 -1
- package/dist/{utils-DSHROBN2.d.ts → utils-DpJmWzrf.d.ts} +1 -1
- package/package.json +4 -3
- package/dist/CheckboxFieldDefault-JOUZXB4Y.js +0 -2
- package/dist/CountryFieldDefault-IZQOFNX5.js +0 -2
- package/dist/DatePickerFieldDefault-AWV7LUPI.js +0 -2
- package/dist/EmailFieldDefault-QVKXB67I.js +0 -2
- package/dist/FileUploadFieldDefault-NZ33IMPU.js +0 -2
- package/dist/ForcedValueFieldDefault-RY5AN7O6.js +0 -2
- package/dist/MultiSelectFieldDefault-DOZQUBEE.js +0 -2
- package/dist/NumberFieldDefault-O7OKTFG4.js +0 -2
- package/dist/PDFPreviewDefault-HSSMYKV5.js +0 -2
- package/dist/RadioGroupFieldDefault-GFDO56LK.js +0 -2
- package/dist/SelectFieldDefault-E4KFZBJ7.js +0 -2
- package/dist/TelFieldDefault-2EPAKDTW.js +0 -2
- package/dist/TextAreaFieldDefault-WZIVM4RZ.js +0 -2
- package/dist/TextFieldDefault-YVXZO4AN.js +0 -2
- package/dist/TimeFieldDefault-JN4MDIO6.js +0 -2
- package/dist/WorkScheduleFieldDefault-23WY3SVD.js +0 -2
- package/dist/chunk-3OKB5OHA.js +0 -2
- package/dist/chunk-3OKB5OHA.js.map +0 -1
- package/dist/chunk-4BHEQMZV.js +0 -2
- package/dist/chunk-53QBSOMG.js +0 -2
- package/dist/chunk-5YI7MY5T.js +0 -2
- package/dist/chunk-5YI7MY5T.js.map +0 -1
- package/dist/chunk-A7U3KJIP.js +0 -2
- package/dist/chunk-AUPAAQUT.js +0 -2
- package/dist/chunk-AUPAAQUT.js.map +0 -1
- package/dist/chunk-B4O5YUYL.js +0 -2
- package/dist/chunk-CONMRDRL.js +0 -2
- package/dist/chunk-DDMXUBCN.js +0 -2
- package/dist/chunk-DP6L72YF.js +0 -2
- package/dist/chunk-DYIMRD6T.js +0 -2
- package/dist/chunk-DYIMRD6T.js.map +0 -1
- package/dist/chunk-EMMFAZZC.js +0 -2
- package/dist/chunk-GIZQZBHB.js +0 -2
- package/dist/chunk-GIZQZBHB.js.map +0 -1
- package/dist/chunk-HMJ4PIDI.js +0 -2
- package/dist/chunk-HMJ4PIDI.js.map +0 -1
- package/dist/chunk-I4DU34BA.js +0 -2
- package/dist/chunk-I4DU34BA.js.map +0 -1
- package/dist/chunk-IHGCXP2X.js +0 -2
- package/dist/chunk-IHGCXP2X.js.map +0 -1
- package/dist/chunk-LSUBNZ64.js +0 -2
- package/dist/chunk-LSUBNZ64.js.map +0 -1
- package/dist/chunk-NAFECQWK.js +0 -2
- package/dist/chunk-NYR6FVCU.js +0 -2
- package/dist/chunk-PUK2TIQX.js +0 -2
- package/dist/chunk-QQPF2DUF.js +0 -2
- package/dist/chunk-QQPF2DUF.js.map +0 -1
- package/dist/chunk-QQV5REGG.js +0 -8
- package/dist/chunk-R5ADEPLC.js +0 -2
- package/dist/chunk-ROO2IFBF.js +0 -2
- package/dist/chunk-ROO2IFBF.js.map +0 -1
- package/dist/chunk-SVU7GWUR.js +0 -2
- package/dist/chunk-SVU7GWUR.js.map +0 -1
- package/dist/chunk-SVVZOMLQ.js +0 -2
- package/dist/chunk-SVVZOMLQ.js.map +0 -1
- package/dist/chunk-T5H35HYL.js +0 -2
- package/dist/chunk-T5H35HYL.js.map +0 -1
- package/dist/chunk-TRDNTXE7.js +0 -2
- package/dist/chunk-TRDNTXE7.js.map +0 -1
- package/dist/chunk-U4H7URYB.js +0 -2
- package/dist/chunk-U4H7URYB.js.map +0 -1
- package/dist/chunk-UWHJF45X.js +0 -2
- package/dist/chunk-UWHJF45X.js.map +0 -1
- package/dist/chunk-VFRHMNLJ.js +0 -2
- package/dist/chunk-VFRHMNLJ.js.map +0 -1
- package/dist/chunk-VRPZ4GHN.js +0 -2
- package/dist/chunk-WRTUY6K3.js +0 -2
- package/dist/chunk-WRTUY6K3.js.map +0 -1
- package/dist/chunk-WVJDCDGZ.js +0 -2
- package/dist/chunk-WVJDCDGZ.js.map +0 -1
- package/dist/chunk-XFVXRCMH.js +0 -2
- package/dist/chunk-XFVXRCMH.js.map +0 -1
- package/dist/chunk-ZD4H63AL.js +0 -2
- package/dist/chunk-ZD4H63AL.js.map +0 -1
- package/dist/createInvoiceSchedule-BweQB6DI.d.ts +0 -195
- package/dist/flows/InvoiceSchedule/api.d.ts +0 -47
- package/dist/flows/InvoiceSchedule/api.js +0 -2
- package/dist/flows/InvoiceSchedule/components/ContractorSelectField.d.ts +0 -20
- package/dist/flows/InvoiceSchedule/components/ContractorSelectField.js +0 -2
- package/dist/types.gen-Dtb8ECVb.d.ts +0 -308
- /package/dist/{CheckboxFieldDefault-JOUZXB4Y.js.map → CheckboxFieldDefault-23VE43PP.js.map} +0 -0
- /package/dist/{CountryFieldDefault-IZQOFNX5.js.map → CountryFieldDefault-FVAAL55P.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-AWV7LUPI.js.map → DatePickerFieldDefault-KXEMGK5B.js.map} +0 -0
- /package/dist/{EmailFieldDefault-QVKXB67I.js.map → EmailFieldDefault-OFHDLOOT.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-NZ33IMPU.js.map → FileUploadFieldDefault-GX22C22E.js.map} +0 -0
- /package/dist/{ForcedValueFieldDefault-RY5AN7O6.js.map → ForcedValueFieldDefault-ESITCZWK.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-DOZQUBEE.js.map → MultiSelectFieldDefault-DAUBH5JV.js.map} +0 -0
- /package/dist/{NumberFieldDefault-O7OKTFG4.js.map → NumberFieldDefault-MXZD7YVE.js.map} +0 -0
- /package/dist/{PDFPreviewDefault-HSSMYKV5.js.map → PDFPreviewDefault-T6YPWXGY.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-GFDO56LK.js.map → RadioGroupFieldDefault-QFUUJGSR.js.map} +0 -0
- /package/dist/{SelectFieldDefault-E4KFZBJ7.js.map → SelectFieldDefault-3QTJE222.js.map} +0 -0
- /package/dist/{TelFieldDefault-2EPAKDTW.js.map → TelFieldDefault-5U5X37LI.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-WZIVM4RZ.js.map → TextAreaFieldDefault-JX2MVJVY.js.map} +0 -0
- /package/dist/{TextFieldDefault-YVXZO4AN.js.map → TextFieldDefault-WCUD6XYS.js.map} +0 -0
- /package/dist/{TimeFieldDefault-JN4MDIO6.js.map → TimeFieldDefault-UNF7PKLT.js.map} +0 -0
- /package/dist/{WorkScheduleFieldDefault-23WY3SVD.js.map → WorkScheduleFieldDefault-2A2RCDXV.js.map} +0 -0
- /package/dist/{chunk-SLRPDXK6.js.map → chunk-235XZBTZ.js.map} +0 -0
- /package/dist/{chunk-GE74QKS6.js.map → chunk-335N2CVQ.js.map} +0 -0
- /package/dist/{chunk-N7HCQXUM.js.map → chunk-3B7FASV7.js.map} +0 -0
- /package/dist/{chunk-STHZZZRL.js.map → chunk-3BDWVNHX.js.map} +0 -0
- /package/dist/{chunk-ZREW7KZA.js.map → chunk-3DOSHTJS.js.map} +0 -0
- /package/dist/{chunk-SZI67IXU.js.map → chunk-3HMBTPH7.js.map} +0 -0
- /package/dist/{chunk-NTPHMYYC.js.map → chunk-3NC2JJM3.js.map} +0 -0
- /package/dist/{chunk-ED35NFA6.js.map → chunk-3OHORFIX.js.map} +0 -0
- /package/dist/{chunk-WGO25FWG.js.map → chunk-3WRO57UF.js.map} +0 -0
- /package/dist/{chunk-4CNDASPA.js.map → chunk-4AQMMGXK.js.map} +0 -0
- /package/dist/{chunk-G6EKGJBB.js.map → chunk-4BFGSBOK.js.map} +0 -0
- /package/dist/{chunk-VVZTXCX2.js.map → chunk-4KIOOLOG.js.map} +0 -0
- /package/dist/{chunk-SUYI33NX.js.map → chunk-4UN7DBEV.js.map} +0 -0
- /package/dist/{chunk-RZL44CPH.js.map → chunk-57Y5XQ3D.js.map} +0 -0
- /package/dist/{chunk-P6FFLJDP.js.map → chunk-5DPOL3DT.js.map} +0 -0
- /package/dist/{chunk-FV6NNYDP.js.map → chunk-5FST4WDH.js.map} +0 -0
- /package/dist/{chunk-46BOEYFO.js.map → chunk-6OLV37C2.js.map} +0 -0
- /package/dist/{chunk-YHZZHQP5.js.map → chunk-6RPIMHYS.js.map} +0 -0
- /package/dist/{chunk-MXAFJYLQ.js.map → chunk-6TLBBS6E.js.map} +0 -0
- /package/dist/{chunk-EVUTX6TJ.js.map → chunk-77LDJPXF.js.map} +0 -0
- /package/dist/{chunk-BTCC6PNG.js.map → chunk-7TELDH6M.js.map} +0 -0
- /package/dist/{chunk-OWOIDZHI.js.map → chunk-7Y4NHODP.js.map} +0 -0
- /package/dist/{chunk-GBVBMT3H.js.map → chunk-ADL2ZH54.js.map} +0 -0
- /package/dist/{chunk-UZFEJMO6.js.map → chunk-AFTFDGSD.js.map} +0 -0
- /package/dist/{chunk-NAFECQWK.js.map → chunk-ANPNVWCB.js.map} +0 -0
- /package/dist/{chunk-L2YOD4GP.js.map → chunk-APSKAXM2.js.map} +0 -0
- /package/dist/{chunk-5HDMU73I.js.map → chunk-B2WE3PSY.js.map} +0 -0
- /package/dist/{chunk-FSCAWXCB.js.map → chunk-B677Q3B3.js.map} +0 -0
- /package/dist/{chunk-WKWL57L6.js.map → chunk-BYD4TSDD.js.map} +0 -0
- /package/dist/{chunk-5JXLXWTD.js.map → chunk-CR5J5KK6.js.map} +0 -0
- /package/dist/{chunk-LXGL7HF5.js.map → chunk-DIPYFRXX.js.map} +0 -0
- /package/dist/{chunk-ZOTKZZ67.js.map → chunk-DTNFGOBK.js.map} +0 -0
- /package/dist/{chunk-JLZFNUBH.js.map → chunk-E7Y3YBZH.js.map} +0 -0
- /package/dist/{chunk-GTS7KFEM.js.map → chunk-EQOOVJ7K.js.map} +0 -0
- /package/dist/{chunk-R4ZUOFYN.js.map → chunk-FF5OB2GF.js.map} +0 -0
- /package/dist/{chunk-H47XUL2L.js.map → chunk-FFRROEPQ.js.map} +0 -0
- /package/dist/{chunk-UGQNOBQH.js.map → chunk-GF4MSLVP.js.map} +0 -0
- /package/dist/{chunk-P2WUHKEU.js.map → chunk-GIBD2ZCJ.js.map} +0 -0
- /package/dist/{chunk-XDLVDPQ7.js.map → chunk-GNVGW65D.js.map} +0 -0
- /package/dist/{chunk-4IGLIHGF.js.map → chunk-GRLZH65T.js.map} +0 -0
- /package/dist/{chunk-CCGAAOXN.js.map → chunk-H4NJGAN4.js.map} +0 -0
- /package/dist/{chunk-7FKNXW2I.js.map → chunk-HDTQOERP.js.map} +0 -0
- /package/dist/{chunk-MEYX4D5K.js.map → chunk-I53YCEOC.js.map} +0 -0
- /package/dist/{chunk-V3AVEPNA.js.map → chunk-I5NW7AQZ.js.map} +0 -0
- /package/dist/{chunk-YME2HZZJ.js.map → chunk-I65OXH33.js.map} +0 -0
- /package/dist/{chunk-TX6RWQUR.js.map → chunk-IJS67A57.js.map} +0 -0
- /package/dist/{chunk-RYZ7TJVS.js.map → chunk-ISPN7HQ5.js.map} +0 -0
- /package/dist/{chunk-FQBOMXMX.js.map → chunk-J244N33S.js.map} +0 -0
- /package/dist/{chunk-ILMRP364.js.map → chunk-JUSQGITN.js.map} +0 -0
- /package/dist/{chunk-GMSYO53D.js.map → chunk-KD7UBTZG.js.map} +0 -0
- /package/dist/{chunk-VYTUM3RI.js.map → chunk-KFIUXU6I.js.map} +0 -0
- /package/dist/{chunk-G75LPZV5.js.map → chunk-L7FN3XPX.js.map} +0 -0
- /package/dist/{chunk-WVE2IOLY.js.map → chunk-LIZMNUQI.js.map} +0 -0
- /package/dist/{chunk-KGNLBYM5.js.map → chunk-LJ32QPJF.js.map} +0 -0
- /package/dist/{chunk-BB3M25A3.js.map → chunk-MGCW2SS4.js.map} +0 -0
- /package/dist/{chunk-CUO7OGD5.js.map → chunk-MOOSPB2G.js.map} +0 -0
- /package/dist/{chunk-ITCWBZDM.js.map → chunk-MZFT4MWM.js.map} +0 -0
- /package/dist/{chunk-V6PPOGPT.js.map → chunk-NVOUXFGX.js.map} +0 -0
- /package/dist/{chunk-D6PMXNBM.js.map → chunk-OAX6TPIP.js.map} +0 -0
- /package/dist/{chunk-4WSYC3Q5.js.map → chunk-OJ4TXF6G.js.map} +0 -0
- /package/dist/{chunk-C7MVEDVY.js.map → chunk-OT5JE2SM.js.map} +0 -0
- /package/dist/{chunk-QFTBKRUI.js.map → chunk-PJAHLEOR.js.map} +0 -0
- /package/dist/{chunk-BLKWR77C.js.map → chunk-PJDHQ4ZQ.js.map} +0 -0
- /package/dist/{chunk-AAXPKULB.js.map → chunk-PKORRCMX.js.map} +0 -0
- /package/dist/{chunk-3G4HOZCM.js.map → chunk-POIDXI3T.js.map} +0 -0
- /package/dist/{chunk-VKUGCD5J.js.map → chunk-QIY6K2FB.js.map} +0 -0
- /package/dist/{chunk-ILEO7LN4.js.map → chunk-QRSMCORC.js.map} +0 -0
- /package/dist/{chunk-TJZ5BJV3.js.map → chunk-QUJBIRNY.js.map} +0 -0
- /package/dist/{chunk-OKBPMWVB.js.map → chunk-R23HFBV4.js.map} +0 -0
- /package/dist/{chunk-XEVHXHHC.js.map → chunk-ROVMQ5NT.js.map} +0 -0
- /package/dist/{chunk-6CBC5OAQ.js.map → chunk-SDPYDCS7.js.map} +0 -0
- /package/dist/{chunk-25MUO3XP.js.map → chunk-SMCLTRJW.js.map} +0 -0
- /package/dist/{chunk-NFWKD7UR.js.map → chunk-SUGZPBET.js.map} +0 -0
- /package/dist/{chunk-Z7XLK4JL.js.map → chunk-SV35IBBH.js.map} +0 -0
- /package/dist/{chunk-ERBEPQJP.js.map → chunk-UBWNTSWS.js.map} +0 -0
- /package/dist/{chunk-RFMYNPR7.js.map → chunk-URNFXEOZ.js.map} +0 -0
- /package/dist/{chunk-5PUW4YCY.js.map → chunk-UTWBY65S.js.map} +0 -0
- /package/dist/{chunk-XMVV6S77.js.map → chunk-UWIUECXU.js.map} +0 -0
- /package/dist/{chunk-LADLAP2S.js.map → chunk-VRZJWJGM.js.map} +0 -0
- /package/dist/{chunk-JI3PAIMV.js.map → chunk-WHY2WNWH.js.map} +0 -0
- /package/dist/{chunk-JVXI4RZU.js.map → chunk-WU66SHVJ.js.map} +0 -0
- /package/dist/{chunk-PKJZ2N4C.js.map → chunk-XLHTMWJ3.js.map} +0 -0
- /package/dist/{chunk-ZODT3MJM.js.map → chunk-XPLWBO73.js.map} +0 -0
- /package/dist/{chunk-DOPQK5RP.js.map → chunk-YANQP45B.js.map} +0 -0
- /package/dist/{chunk-CD6H4MBI.js.map → chunk-YRRX7EOU.js.map} +0 -0
- /package/dist/{chunk-XMIVJW5E.js.map → chunk-YWLAZIIO.js.map} +0 -0
- /package/dist/{chunk-2UH6Y56R.js.map → chunk-ZJ55AKB6.js.map} +0 -0
- /package/dist/{chunk-GHZABLDV.js.map → chunk-ZULOHKU6.js.map} +0 -0
- /package/dist/flows/InvoiceSchedule/{api.js.map → InvoiceSchedulePreviewButton.js.map} +0 -0
- /package/dist/flows/{InvoiceSchedule/components/ContractorSelectField.js.map → Onboarding/components/DailySchedule/DailySchedule.js.map} +0 -0
package/dist/chunk-DP6L72YF.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as p}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-I4DU34BA.js";import{f as l,h as f}from"./chunk-AUPAAQUT.js";import{h as u}from"./chunk-C4HFMTSB.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:s,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:m,onSubmit:y,stepState:S,initialValues:i,handleValidation:V}}=_(),g=p(V),e=l({resolver:g,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return s?.({message:"no_changes_detected_contract_details"});let d=await u(t,m,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?s?.(n.error):await A?.(n.data)},"handleSubmit");return r(f,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:m})})})}a(x,"ContractAmendmentForm");export{x as a};
|
|
2
|
-
//# sourceMappingURL=chunk-DP6L72YF.js.map
|
package/dist/chunk-DYIMRD6T.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as B}from"./chunk-PVORGGT3.js";import{b as te,c as ne,f as re}from"./chunk-4BHEQMZV.js";import{a as oe}from"./chunk-BUR3X6FL.js";import{a as ee}from"./chunk-A7U3KJIP.js";import{a as O}from"./chunk-ED35NFA6.js";import{c as g,i as x,m as j}from"./chunk-AUPAAQUT.js";import{l as X,m as Y,n as V,r as z}from"./chunk-C4HFMTSB.js";import{b as h,c as T}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as to,useEffect as no,useRef as Ve}from"react";import _ from"lodash.omit";import{jsx as ie}from"react/jsx-runtime";function le({description:e,label:o,name:t,minDate:n,maxDate:i,onChange:l,component:a,...m}){let{components:u}=h(),{control:c}=g(),f=T(),s;m.meta?.mot&&typeof m.meta.mot=="number"?s=X(m.meta.mot):typeof n=="string"&&(s=new Date(`${n}T00:00:00`));let F;return i&&(F=new Date(`${i}T23:59:59`)),ie(x,{control:c,name:t,render:({field:C,fieldState:S})=>{let p=a||u?.date;if(!p)throw new Error(`Date picker component not found for field ${t}`);let b={description:e,label:o,name:t,onChange:l,transformHtml:f,...s&&{minDate:s.toISOString()},...F&&{maxDate:F.toISOString()},...m};return ie(p,{field:{...C,onChange:r(y=>{C.onChange(y),l?.(y)},"onChange")},fieldState:S,fieldData:b})}})}r(le,"DatePickerField");import{jsx as se}from"react/jsx-runtime";var Le=r((e,o)=>{if(!o)return null;for(let t of e)if(t instanceof File&&t.size>o){let n=Math.round(o/1048576),i=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${n}MB (file is ${i}MB)`}return null},"validateFileSize");function me({name:e,description:o,label:t,multiple:n=!1,onChange:i,component:l,accept:a,maxSize:m,...u}){let{components:c}=h(),{control:f,setError:s,clearErrors:F}=g(),C=T(),S=r(async(p,b)=>{let y=Le(p,m);if(y){s(e,{message:y});return}F(e),b.onChange(p),i?.(p)},"handleOnChange");return se(x,{control:f,name:e,render:({field:p,fieldState:b})=>{let y=l||c.file;if(!y)throw new Error(`File upload component not found for field ${e}`);let P={name:e,description:o,label:t,multiple:n,accept:a,maxFileSize:m,transformHtml:C,...u};return se(y,{field:{...p,value:p.value,onChange:r(async w=>S(w,p),"onChange")},fieldState:b,fieldData:P})}})}r(me,"FileUploadField");import{jsx as ae}from"react/jsx-runtime";function J({component:e,onChange:o,...t}){let{components:n}=h(),{control:i}=g(),l=T();return ae(x,{control:i,name:t.name,render:({field:a,fieldState:m})=>{let u=e||n.number;if(!u)throw new Error(`Number component not found for field ${t.name}`);let c={onChange:o,transformHtml:l,...t};return ae(u,{field:{...a,onChange:r(f=>{a.onChange(f),o?.(f)},"onChange")},fieldState:m,fieldData:c})}})}r(J,"NumberField");import{jsx as de}from"react/jsx-runtime";function pe({name:e,defaultValue:o,description:t,label:n,options:i,onChange:l,component:a,...m}){let{components:u}=h(),{control:c}=g(),f=T();return de(x,{control:c,name:e,defaultValue:o,render:({field:s,fieldState:F})=>{let C=a||u?.radio;if(!C)throw new Error(`Radio group component not found for field ${e}`);let S={name:e,defaultValue:o,description:t,label:n,options:i,transformHtml:f,...m};return de(C,{field:{...s,onChange:r(p=>{s.onChange(p),l?.(p)},"onChange")},fieldState:F,fieldData:S})}})}r(pe,"RadioGroupField");import{jsx as ce}from"react/jsx-runtime";function ue({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,component:a,...m}){let{control:u}=g(),{components:c}=h(),f=T();return ce(x,{defaultValue:n,control:u,name:o,render:({field:s,fieldState:F})=>{let C=a||c?.select;if(!C)throw new Error(`Select component not found for field ${o}`);let S={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,transformHtml:f,...m};return ce(C,{field:{...s,onChange:r(p=>{let y=(Array.isArray(m.jsonType)?m.jsonType.includes("number"):m.jsonType==="number")?Number(p):p;s.onChange(y),l?.(y)},"onChange")},fieldState:F,fieldData:S})}})}r(ue,"SelectField");import{jsx as Fe}from"react/jsx-runtime";function fe({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,$meta:a,component:m,...u}){let{control:c}=g(),{components:f}=h(),s=T();return Fe(x,{defaultValue:n,control:c,name:o,render:({field:F,fieldState:C})=>{let S=m||f.countries;if(!S)throw new Error(`Country component not found for field ${o}`);let p={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,$meta:a,transformHtml:s,...u};return Fe(S,{field:{...F,onChange:r(b=>{F.onChange(b),l?.(b)},"onChange")},fieldState:C,fieldData:p})}})}r(fe,"CountryField");import{jsx as Ce}from"react/jsx-runtime";function ge({name:e,description:o,label:t,onChange:n,maxLength:i,component:l,...a}){let{components:m}=h(),{control:u}=g(),c=T();return Ce(x,{control:u,name:e,render:({field:f,fieldState:s})=>{let F=l||m.textarea;if(!F)throw new Error(`Text area component not found for field ${e}`);let C={name:e,description:o,label:t,maxLength:i,transformHtml:c,...a};return Ce(F,{field:{...f,onChange:r(S=>{f.onChange(S),n?.(S)},"onChange")},fieldState:s,fieldData:C})}})}r(ge,"TextAreaField");import{jsx as he}from"react/jsx-runtime";function Se({component:e,onChange:o,...t}){let{components:n}=h(),{control:i}=g(),l=T();return he(x,{control:i,name:t.name,render:({field:a,fieldState:m})=>{let u=e||n.email;if(!u)throw new Error(`Email component not found for field ${t.name}`);let c={onChange:o,transformHtml:l,...t};return he(u,{field:{...a,onChange:r(f=>{a.onChange(f),o?.(f)},"onChange")},fieldState:m,fieldData:c})}})}r(Se,"EmailField");import{useEffect as ze}from"react";import{jsx as Te}from"react/jsx-runtime";function xe(e){let{control:o,setValue:t}=g();return ze(()=>{e.const!==void 0&&e.const===e.default&&e.name&&t(e.name,e.const)},[e.const,e.default,e.name,t]),Te(x,{control:o,name:e.name,render:({field:n})=>Te("input",{...n,type:"hidden"})})}r(xe,"HiddenField");import{useEffect as Oe,useState as Ge}from"react";import{jsx as ye}from"react/jsx-runtime";function Pe(e){let{components:o}=h(),{setValue:t,control:n,watch:i}=g(),l=T(),a=i(e.name),[m,u]=Ge(a),{workHoursSummary:c,breakSummary:f}=ne(m),s=te(m);Oe(()=>{t(e.name,m)},[m,e.name,t]);function F(p){u(p)}r(F,"onSubmit");let C=e.component||o["work-schedule"];if(!C)throw new Error(`Work schedule component not found for field ${e.name}`);let S={...e,onSubmit:F,currentSchedule:m,transformHtml:l,defaultFormattedValue:{workHoursSummary:c,breakSummary:f,totalWorkHours:s}};return ye(x,{control:n,name:e.name,render:({field:p,fieldState:b})=>ye(C,{field:{...p,onChange:r(y=>{p.onChange(y),e.onChange?.(y)},"onChange")},fieldState:b,fieldData:S})})}r(Pe,"WorkScheduleField");import{jsx as be}from"react/jsx-runtime";function $e({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,component:a,...m}){let{control:u}=g(),{components:c}=h(),f=T();return be(x,{defaultValue:n,control:u,name:o,render:({field:s,fieldState:F})=>{let C=a||c?.["multi-select"];if(!C)throw new Error(`Multi select component not found for field ${o}`);let S={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,transformHtml:f,...m};return be(C,{field:{...s,onChange:r(p=>{s.onChange(p),l?.(p)},"onChange")},fieldState:F,fieldData:S})}})}r($e,"MultiSelectField");import{jsx as Ue}from"react/jsx-runtime";var De=r(e=>Ue(J,{maxLength:15,...e}),"MoneyField");import{useMemo as I,useCallback as Ee,useState as Ze,useEffect as Ke,useRef as qe}from"react";import{jsx as G}from"react/jsx-runtime";function Qe(e){return e.replace(/\s/g,"")}r(Qe,"removeSpaces");function Me(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),n=e?.match(t);if(!n)return{prefix:"",dialCode:"",phoneNumber:e};let[,i,l,a]=n;return{prefix:i,dialCode:l,phoneNumber:a}}r(Me,"getStructuredNumberFromInternationalNumber");function Re({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:n}=Me(t);if(n)for(let i=o+n.length;i>n.length;i--){let l=t.slice(n.length,i);if(e[l])return e[l]}}r(Re,"getCountryFromPhoneNumber");function we(e){let o={},t=0;return e.forEach(n=>{n.areaCodes?n.areaCodes.forEach(i=>{let l=n.dialCode+i;o[l]=n,l.length>t&&(t=l.length)}):(o[n.dialCode]=n,n.dialCode.length>t&&(t=n.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}r(we,"getCountryDataByCountryCode");function Xe(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}r(Xe,"getAreaCodesFromPattern");function Ye(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:Xe(o.pattern)}))}r(Ye,"transformSchemaToCountries");function je({field:e,fieldState:o,fieldData:t,component:n,onChangeCountryCode:i,onChangePhoneNumber:l}){let{value:a}=e,{options:m}=t,u=I(()=>Ye(m),[m]),c=I(()=>we(u),[u]),f=qe(!1),[s,F]=Ze(()=>Re(we(u),a||""));Ke(()=>{if((!a||a==="+")&&(f.current=!1),f.current)return;let P=Re(c,a||"");F(P)},[a,c]);let{prefix:C,phoneNumber:S}=I(()=>Me(a,s),[a,s]),p=Ee(P=>{if(!P)return;let w=`+${P.dialCode}${S}`;f.current=!0,F(P),e.onChange(w),i&&i(P)},[S,e,i]),b=Ee(P=>{let w=Qe(P.target.value),N;if(s?N=`${C}${s.dialCode}${w}`:N=`${C}${w}`,e.onChange(N),l){let k={target:{value:N,name:e.name}};l(k)}},[s,C,e,l]),y=I(()=>({...t,onChangeCountryCode:p,onChangePhoneNumber:b,currentCountry:s,nationalPhoneNumber:S}),[t,p,b,s,S]);return G(n,{field:e,fieldState:o,fieldData:y})}r(je,"TelFieldRenderer");function ve({name:e,description:o,label:t,onChangeCountryCode:n,onChangePhoneNumber:i,component:l,...a}){let{components:m}=h(),{control:u}=g(),c=T();return G(x,{control:u,name:e,render:({field:f,fieldState:s})=>{let F=l||m.tel;if(!F)throw new Error(`Tel component not found for field ${e}`);let C={name:e,description:o,label:t,transformHtml:c,...a};return G(je,{field:f,fieldState:s,fieldData:C,component:F,onChangeCountryCode:n,onChangePhoneNumber:i})}})}r(ve,"TelField");import{jsx as Ne}from"react/jsx-runtime";function ke({name:e,description:o,label:t,type:n,onChange:i,component:l,maxLength:a,...m}){let{components:u}=h(),{control:c}=g(),f=T();return Ne(x,{control:c,name:e,render:({field:s,fieldState:F})=>{let C=l||u?.time;if(!C)throw new Error(`Time component not found for field ${e}`);let S={name:e,description:o,label:t,type:n,onChange:i,maxLength:a,transformHtml:f,...m};return Ne(C,{field:{...s,onChange:r(p=>{s.onChange(p),i?.(p)},"onChange")},fieldState:F,fieldData:S})}})}r(ke,"TimeField");var U={checkbox:re,text:ee,email:Se,money:De,select:ue,"multi-select":$e,radio:pe,number:J,file:me,date:le,textarea:ge,countries:fe,hidden:xe,tel:ve,time:ke,"work-schedule":Pe};import{useEffect as eo}from"react";import{jsx as oo}from"react/jsx-runtime";function He({name:e,value:o,description:t,statement:n,label:i,helpCenter:l}){let{setValue:a}=g(),{components:m}=h(),u=T();eo(()=>{a(e,o)},[e,o,a]);let c=n?.description||t,f=n?.title?z(n.title):z(i);if(!c&&!n?.title)return null;let F=m?.forcedValue;if(!F)throw new Error(`Forced value component not found for field ${e}`);return oo(F,{fieldData:{name:e,value:o,title:f,description:c,meta:{helpCenter:l},transformHtml:u}})}r(He,"ForcedValueField");import{Fragment as Z,jsx as $,jsxs as v}from"react/jsx-runtime";function _e({label:e,name:o,fields:t,description:n,components:i,statement:l,isFlatFieldset:a,extra:m,variant:u="outset",features:c,meta:f}){let{helpCenter:s}=f||{},{watch:F,setValue:C,trigger:S,formState:p}=g(),{components:b}=h(),y=c?.toggle?.stateField,P=y?F(y):c?.toggle?.defaultExpanded??!0,w=t.map(({name:d})=>`${o}.${d}`),N=t.some(d=>d.calculateDynamicProperties),k=F(w),We=N?F():k,K=Ve(k),H=Ve(null),Ae=r(()=>{y&&C(y,!P)},"toggleExpanded");no(()=>{let d=k,M=K.current,E=p.isSubmitted||p.submitCount>0,W=!1;for(let R=0;R<d.length;R++)if(d[R]!==void 0&&M[R]!==d[R]){W=!0;break}return W&&E&&(H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{S()},50)),K.current=[...d],()=>{H.current&&clearTimeout(H.current)}},[k,S,p.isSubmitted,p.submitCount]);let Be=b?.fieldsetToggle||oe,q=`${o}-content`,Q=`${o}-header`;return v("fieldset",{className:V("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[$("legend",{className:V("text-sm font-semibold px-2",u==="inset"&&"hidden"),children:e}),s?.callToAction&&s?.id&&u==="outset"&&$(O,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:s.id,children:s.callToAction}),u==="inset"&&v(Z,{children:[v("div",{className:"RemoteFlows__FieldSetField__Header",id:Q,"data-state":P?"expanded":"collapsed","aria-expanded":P,children:[$("h3",{className:V("RemoteFlows__FieldSetField__Title"),children:e}),c?.toggle?.enabled&&$(Be,{isExpanded:P,onToggle:Ae,"aria-expanded":P,"aria-controls":q,"aria-label":`${P?"Hide":"Show"} ${e}`,className:V("RemoteFlows__FieldSetField__Toggle",c.toggle?.className),children:P?c.toggle.labels?.collapse??"Remove":c.toggle.labels?.expand??"Define"})]}),s?.callToAction&&s?.id&&$(O,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:s.id,children:s.callToAction})]}),P&&v("div",{id:q,"aria-labelledby":Q,role:"region",children:[n?$(j,{as:"div",className:"mb-5 RemoteFlows__FieldSetField__Description",children:n}):null,v("div",{className:"grid gap-4",children:[t.map(d=>{if(d.calculateDynamicProperties&&(d={...d,...d.calculateDynamicProperties(We,d)||{}}),d.isVisible===!1||d.deprecated)return null;let M=d.type,E=`${a?d.name:`${o}.${d.name}`}`,W=Y(d),R=r((D,A)=>d.WrapperComponent?$(d.WrapperComponent,{children:D},A):$(to,{children:D},A),"wrapWithCustomWrapper");if(W){let D=_(d,"WrapperComponent");return R($(He,{name:E,description:D.description,value:D.const,statement:D.statement,label:D.label,helpCenter:D.meta?.helpCenter}),E)}if(M==="fieldset"){let D=_(d,"WrapperComponent");return R($(_e,{...D,name:E,components:i}),E)}if(M==="fieldset-flat"){let D=_(d,"WrapperComponent");return R($(_e,{...D,name:E,components:i,isFlatFieldset:!0}),E)}let L=U[M];if(d.Component){let{Component:D}=d,A=_(d,"WrapperComponent");return R(v(Z,{children:[$(D,{...A,value:F(E),setValue:Ie=>{C(E,Ie)}}),d.statement?$(B,{...d.statement}):null,d.extra?d.extra:null]}),E)}if(!L)return v("p",{className:"error",children:["Field type ",M," not supported"]});M==="select"&&d.multiple&&(L=U["multi-select"]);let Je=_(d,"WrapperComponent");return R(v(Z,{children:[$(L,{...Je,name:E,component:i?.[M]}),d.statement?$(B,{...d.statement}):null,d.extra?d.extra:null]}),E)}),m||null,l?$(B,{...l}):null]})]})]})}r(_e,"FieldSetField");export{U as a,He as b,_e as c};
|
|
2
|
-
//# sourceMappingURL=chunk-DYIMRD6T.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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/TimeField.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 omit from 'lodash.omit';\nimport { baseFields } from '@/src/components/form/fields/baseFields';\nimport { cn } 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';\nimport { BaseFormDescription } from '@/src/components/ui/form';\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 fieldsetNeedsAllFormValues = fields.some(\n (field: $TSFixMe) => field.calculateDynamicProperties,\n );\n const watchedValues = watch(fieldNames);\n const allFormValues = fieldsetNeedsAllFormValues ? watch() : watchedValues;\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 <BaseFormDescription\n as='div'\n className='mb-5 RemoteFlows__FieldSetField__Description'\n >\n {description}\n </BaseFormDescription>\n ) : null}\n <div className='grid gap-4'>\n {fields.map((field: $TSFixMe) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(allFormValues, 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 const fieldKey = `${isFlatFieldset ? field.name : `${name}.${field.name}`}`;\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n // Helper function to wrap content with WrapperComponent if present\n const wrapWithCustomWrapper = (\n content: React.ReactNode,\n key: string,\n ) => {\n if (field.WrapperComponent) {\n return (\n <field.WrapperComponent key={key}>\n {content}\n </field.WrapperComponent>\n );\n }\n return <Fragment key={key}>{content}</Fragment>;\n };\n\n if (isForcedValue) {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <ForcedValueField\n name={fieldKey}\n description={fieldProps.description}\n value={fieldProps.const}\n statement={fieldProps.statement}\n label={fieldProps.label}\n helpCenter={fieldProps.meta?.helpCenter}\n />,\n fieldKey,\n );\n }\n\n // Handle nested fieldsets\n if (fieldType === 'fieldset') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n />,\n fieldKey,\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n isFlatFieldset\n />,\n fieldKey,\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 const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <Component\n {...fieldProps}\n value={watch(fieldKey) as string}\n setValue={(value: unknown) => {\n setValue(fieldKey, value);\n }}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n fieldKey,\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 const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <FieldComponent\n {...fieldProps}\n name={fieldKey}\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 </>,\n fieldKey,\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, useTransformer } 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 const transformHtml = useTransformer();\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 transformHtml,\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, useTransformer } 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 // `file` may not be a real File at runtime (e.g. an already-uploaded reference mixed in\n // via a multi-file field) even though the public type says otherwise — guard defensively.\n if (file instanceof File && 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 = false,\n onChange,\n component,\n accept,\n maxSize,\n ...rest\n}: FileUploadFieldProps) {\n const { components } = useFormFields();\n const { control, setError, clearErrors } = useFormContext();\n const transformHtml = useTransformer();\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 customFileUploadFieldProps: FieldFileDataProps = {\n name,\n description,\n label,\n multiple,\n accept,\n maxFileSize: maxSize,\n transformHtml,\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={customFileUploadFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useFormFields, useTransformer } 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({\n component,\n onChange,\n ...props\n}: NumberFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n const Component = component || components.number;\n\n if (!Component) {\n throw new Error(`Number component not found for field ${props.name}`);\n }\n\n const customNumberFieldProps = {\n onChange,\n transformHtml,\n ...props,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: number) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customNumberFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields, useTransformer } 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 const transformHtml = useTransformer();\n\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 transformHtml,\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, useTransformer } 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 const transformHtml = useTransformer();\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 transformHtml,\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, useTransformer } 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 const transformHtml = useTransformer();\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 transformHtml,\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, useTransformer } 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 const transformHtml = useTransformer();\n\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 transformHtml,\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, useTransformer } 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({ component, onChange, ...props }: EmailFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n const Component = component || components.email;\n\n if (!Component) {\n throw new Error(`Email component not found for field ${props.name}`);\n }\n\n const customEmailFieldProps = {\n onChange,\n transformHtml,\n ...props,\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={customEmailFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useEffect } from 'react';\nimport { FormField } from '../../ui/form';\nimport { Field } from '@/src/flows/types';\n\nexport function HiddenField(props: Field) {\n const { control, setValue } = useFormContext();\n\n // If the field has a forced/computed value (const === default), set it\n // If not it'll get the value from the form state\n useEffect(() => {\n if (\n props.const !== undefined &&\n props.const === props.default &&\n props.name\n ) {\n setValue(props.name, props.const);\n }\n }, [props.const, props.default, props.name, setValue]);\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, useTransformer } 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 transformHtml = useTransformer();\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 transformHtml,\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, useTransformer } 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 const transformHtml = useTransformer();\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 transformHtml,\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, useTransformer } from '@/src/context';\nimport { Components } from '@/src/types/remoteFlows';\nimport {\n useFormContext,\n ControllerFieldState,\n ControllerRenderProps,\n FieldValues,\n} from 'react-hook-form';\nimport { TelFieldComponentProps, TelFieldDataProps } 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 TelFieldProps = TelFieldDataProps & {\n name: string;\n component?: Components['tel'];\n};\n\nexport function TelField({\n name,\n description,\n label,\n onChangeCountryCode,\n onChangePhoneNumber,\n component,\n ...rest\n}: TelFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\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 transformHtml,\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 * as React from 'react';\n\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TimeFieldDataProps } from '@/src/types/fields';\n\nexport type TimeFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n component?: Components['time'];\n};\n\nexport function TimeField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n maxLength,\n ...rest\n}: TimeFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.time;\n\n if (!Component) {\n throw new Error(`Time component not found for field ${name}`);\n }\n\n const customTimeFieldProps: TimeFieldDataProps = {\n name,\n description,\n label,\n type,\n onChange,\n maxLength,\n transformHtml,\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={customTimeFieldProps}\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 { TimeField } from './TimeField';\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 time: TimeField,\n 'work-schedule': WorkScheduleField,\n};\n","import { useFormContext } from 'react-hook-form';\nimport { useEffect } from 'react';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { HelpCenterDataProps } from '@/src/types/fields';\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?: HelpCenterDataProps;\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 { components } = useFormFields();\n const transformHtml = useTransformer();\n\n useEffect(() => {\n setValue(name, value);\n }, [name, value, setValue]);\n\n const forcedValueDescription = statement?.description || description;\n const forcedValueTitle = statement?.title\n ? sanitizeHtml(statement.title)\n : sanitizeHtml(label);\n\n // A forced value with no title and no description has nothing to show the user, so we\n // skip rendering entirely (the value is still set on the form via the effect above).\n const isHiddenValue = !forcedValueDescription && !statement?.title;\n\n if (isHiddenValue) {\n return null;\n }\n\n const Component = components?.forcedValue;\n\n if (!Component) {\n throw new Error(`Forced value component not found for field ${name}`);\n }\n\n return (\n <Component\n fieldData={{\n name,\n value,\n title: forcedValueTitle,\n description: forcedValueDescription,\n meta: { helpCenter },\n transformHtml,\n }}\n />\n );\n}\n"],"mappings":"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","names":["Fragment","useEffect","useRef","omit","jsx","DatePickerField","description","label","name","minDate","maxDate","onChange","component","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","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","transformHtml","useTransformer","handleOnChange","field","sizeError","FormField","fieldState","Component","customFileUploadFieldProps","value","jsx","NumberField","component","onChange","props","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customNumberFieldProps","__name","value","jsx","RadioGroupField","name","defaultValue","description","label","options","onChange","component","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customRadioGroupFieldProps","__name","value","jsx","SelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","transformHtml","useTransformer","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","maybeCastValue","jsx","CountryField","label","name","options","defaultValue","description","onChange","$meta","component","rest","control","useFormContext","components","useFormFields","transformHtml","useTransformer","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","TextAreaField","name","description","label","onChange","maxLength","component","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customTextAreaFieldProps","__name","evt","jsx","EmailField","component","onChange","props","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customEmailFieldProps","__name","value","useEffect","jsx","HiddenField","props","control","setValue","useFormContext","useEffect","FormField","field","__name","useEffect","useState","jsx","WorkScheduleField","props","components","useFormFields","setValue","control","watch","useFormContext","transformHtml","useTransformer","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","transformHtml","useTransformer","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","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","transformHtml","useTransformer","FormField","customTelFieldProps","jsx","TimeField","name","description","label","type","onChange","component","maxLength","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customTimeFieldProps","__name","value","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","TelField","TimeField","WorkScheduleField","useEffect","jsx","ForcedValueField","name","value","description","statement","label","helpCenter","setValue","useFormContext","components","useFormFields","transformHtml","useTransformer","useEffect","forcedValueDescription","forcedValueTitle","sanitizeHtml","Component","__name","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","fieldsetNeedsAllFormValues","field","watchedValues","allFormValues","prevValuesRef","useRef","triggerTimeoutRef","toggleExpanded","__name","useEffect","currentValues","previousValues","hasBeenSubmitted","hasChanged","i","ToggleComponent","FieldsetToggleButtonDefault","contentId","headerId","cn","ZendeskTriggerButton","BaseFormDescription","fieldType","fieldKey","isForcedValue","checkFieldHasForcedValue","wrapWithCustomWrapper","content","key","fieldProps","omit","ForcedValueField","FieldComponent","baseFields","Component","value","Statement"]}
|
package/dist/chunk-EMMFAZZC.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as L,b as H,c as U,e as O}from"./chunk-SWLNTVAX.js";import{f as W}from"./chunk-ERBEPQJP.js";import{a as oe}from"./chunk-SZI67IXU.js";import{a as ie}from"./chunk-I4DU34BA.js";import{a as _,c as J,d as I,e as k,f as j}from"./chunk-QRSWXKRV.js";import{f as le,g as V,h as te}from"./chunk-AUPAAQUT.js";import{n as g}from"./chunk-C4HFMTSB.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function xe({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(xe,"FullScreenDialog");function Ne({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(Ne,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l})}i(X,"TabsTrigger");function Ae({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ae,"TabsContent");import*as Z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ve}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ve(N.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(N.Corner,{})]}));ne.displayName=N.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(N.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as Ie,useMemo as ke}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||d.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(d.length===0&&m.length===0&&p.length===0))return{added:d,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let d=G(a||[],s||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let d=Oe(e,l);return d&&(a.nestedFields=d),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),d=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,v)=>{d.has(v)||(p.push(v),b.set(v,{fieldName:v,diffType:"added"}))}),d.forEach(({field:f},v)=>{if(!m.has(v))t.push(v),b.set(v,{fieldName:v,diffType:"removed"});else{let{field:x}=m.get(v);Me(f,x)?(c.push(v),b.set(v,{fieldName:v,diffType:"modified",changes:Ee(f,x)})):(S.push(v),b.set(v,{fieldName:v,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),ve=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ue,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as u}from"react/jsx-runtime";var Je=i(({children:e,diffType:l,changes:a})=>{let s=ve(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:u("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),de=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:d,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ue(()=>{let c=i((S,b)=>S.map(f=>{let v=b.get(f.name),x=v?.diffType||"unchanged",T=v?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let A=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{A.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,A);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:A})=>o(Je,{diffType:x,fieldName:f.name,changes:T,children:A}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return u(L,{className:"h-full",children:[o(H,{children:u(U,{children:[d," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ue(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let v=c.current,x=S.current;if(!v||!x)return;let T=i(()=>{b.current||(b.current=!0,x.scrollTop=v.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,v.scrollTop=x.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return v.addEventListener("scroll",T),x.addEventListener("scroll",C),()=>{v.removeEventListener("scroll",T),x.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return u("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):u("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),u("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),u("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),u("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),u("div",{className:"grid grid-cols-2 gap-6",children:[o(de,{version:e,fields:a,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(de,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1"},{value:3,label:"v3"},{value:4,label:"v4 (Recommended)"}],ee={ALB:[{value:1,label:"v1"},{value:2,label:"v2"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"},{value:2,label:"v2"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"},{value:6,label:"v6"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"},{value:2,label:"v2"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],COL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CRI:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CYP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DNK:[{value:1,label:"v1"},{value:2,label:"v2"}],DOM:[{value:1,label:"v1"},{value:2,label:"v2"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],EST:[{value:1,label:"v1"},{value:2,label:"v2"}],FIN:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA_SAS:[{value:1,label:"v1"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],GEO:[{value:1,label:"v1"},{value:2,label:"v2"}],GRC:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],GTM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"},{value:2,label:"v2"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],ITA:[{value:1,label:"v1"},{value:2,label:"v2"}],ITA_APL:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LTU:[{value:1,label:"v1"},{value:2,label:"v2"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MAR:[{value:1,label:"v1"},{value:2,label:"v2"}],MDA:[{value:1,label:"v1"},{value:2,label:"v2"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"},{value:2,label:"v2"}],POL:[{value:1,label:"v1"},{value:2,label:"v2"}],PRI:[{value:1,label:"v1"},{value:2,label:"v2"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PRY:[{value:1,label:"v1"},{value:2,label:"v2"}],ROU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],SVK:[{value:1,label:"v1"},{value:2,label:"v2"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],TWN:[{value:1,label:"v1"},{value:2,label:"v2"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"},{value:2,label:"v2"}],USA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[d,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:v}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:x,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),C=v||T,P=ee[p],A=P!==void 0,D=ke(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return Ie(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(d)||m(D[0].value)},[e,p,D,a,d]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(V,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!A&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(V,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(J,{placeholder:"Select a country"})}),r(k,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(V,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(I,{id:"top-version",children:r(J,{placeholder:"Select version"})}),r(k,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(V,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(d),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(I,{id:"bottom-version",children:r(J,{placeholder:"Select version"})}),r(k,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:d,topFields:f?.fields||[],bottomFields:x?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:x?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,xe as d,Ne as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ae as n,ne as o,fe as p};
|
|
2
|
-
//# sourceMappingURL=chunk-EMMFAZZC.js.map
|
package/dist/chunk-GIZQZBHB.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as P}from"./chunk-U4H7URYB.js";import{a as S}from"./chunk-JLZFNUBH.js";import{n as $}from"./chunk-ERBEPQJP.js";import{a as R}from"./chunk-A7U3KJIP.js";import{c as M,n as N}from"./chunk-AUPAAQUT.js";import{e as H,f as y,g as b}from"./chunk-C4HFMTSB.js";import{b as _}from"./chunk-H2O4CVKF.js";import{a as l}from"./chunk-P37U34EQ.js";import{useState as O,useCallback as Q,useEffect as L,useRef as U}from"react";import X from"lodash.omit";import{Fragment as j,jsx as c,jsxs as k}from"react/jsx-runtime";var Y=l(({description:o,helpCenter:n,toggle:t,className:r})=>k("span",{className:r,children:[c(N,{as:"span",helpCenter:n,children:o})," ",t]}),"DescriptionWithConversion"),Z=l(({showConversion:o,targetCurrency:n,className:t,onClick:r})=>{let{components:m}=_(),C=o?`Hide ${n} conversion`:`Show ${n} conversion`,p=m?.button;if(!p)throw new Error("Button component not found");return c(p,{className:t,"data-type":"inline",onClick:r,children:C})},"ConversionToggle"),ue=l(({sourceCurrency:o,targetCurrency:n,mainFieldName:t,conversionFieldName:r,conversionProperties:m,classNamePrefix:C,description:p,conversionType:B="spread",meta:d,splitDescription:I=!1,...s})=>{let[v,W]=O(!1),{setValue:i,watch:w}=M(),x=w(t||s.name),T=U(!0),A=o&&n&&o!==n,{mutateAsync:D}=$({type:B}),u=`${s.name}_converted`;L(()=>{i(u,t||s.name)},[i,t,s.name,u]),L(()=>{if(T.current){T.current=!1;return}i(r,"")},[o,r,i]);let E=Q(async(e,a,h)=>{if(!(!e||isNaN(e)||e<=0))return D({source_currency:a,target_currency:h,amount:e})},[D]),F=P(async e=>{let a=y(e),f=1/((await E(a,n,o))?.data?.data.conversion_data?.exchange_rate??1),K=H(Number(a)*f);i(r,b(K))},500),J=P(async e=>{let a=y(e),f=(await E(a,n,o))?.data?.data.conversion_data.target_amount;i(t||s.name,b(f))},500),V=l(e=>{i(u,t||s.name),v&&F(e.target.value)},"handleMainFieldChange"),q=l(e=>{i(u,r),J(e.target.value)},"handleConversionFieldChange"),z=l(e=>{e.preventDefault(),W(a=>!a),!v&&x&&F(x)},"toggleConversion"),g=A?c(Z,{targetCurrency:n,showConversion:v,className:`${C}-button`,onClick:z}):null,G=I?{meta:d,description:p,descriptionSuffix:g}:{meta:g?X(d,"helpCenter"):d,description:g?c(Y,{description:p,helpCenter:c(S,{helpCenter:d?.helpCenter}),toggle:g,className:`${C}-description`}):p};return k(j,{children:[c(R,{...s,...G,name:t||s.name,additionalProps:{currency:o},type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:V}),v&&c(R,{additionalProps:{currency:n},name:r,label:m?.label||"Conversion",description:m?.description,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:q}),c("input",{type:"hidden",name:u,value:w(u)||t||s.name})]})},"CurrencyConversionField");export{ue as a};
|
|
2
|
-
//# sourceMappingURL=chunk-GIZQZBHB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/fields/CurrencyConversionField.tsx"],"sourcesContent":["import { ReactNode, useState, useCallback, useEffect, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { TextField } from '@/src/components/form/fields/TextField';\nimport { useConvertCurrency } from '@/src/flows/Onboarding/api';\nimport { JSFField } from '@/src/types/remoteFlows';\nimport { HelpCenterDataProps } from '@/src/types/fields';\nimport { useFormFields } from '@/src/context';\nimport { useDebounce } from '@/src/common/hooks';\nimport { FormDescription } from '@/src/components/ui/form';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport {\n convertFromCents,\n convertToCents,\n round,\n} from '@/src/components/form/utils';\n\ntype DescriptionWithConversionProps = {\n description: ReactNode;\n helpCenter: ReactNode;\n toggle: ReactNode;\n className: string;\n};\n\nconst DescriptionWithConversion = ({\n description,\n helpCenter,\n toggle,\n className,\n}: DescriptionWithConversionProps) => (\n <span className={className}>\n <FormDescription as='span' helpCenter={helpCenter}>\n {description}\n </FormDescription>{' '}\n {toggle}\n </span>\n);\n\ntype ConversionToggleProps = {\n showConversion: boolean;\n targetCurrency: string;\n className: string;\n onClick: (evt: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nconst ConversionToggle = ({\n showConversion,\n targetCurrency,\n className,\n onClick,\n}: ConversionToggleProps) => {\n const { components } = useFormFields();\n const label = showConversion\n ? `Hide ${targetCurrency} conversion`\n : `Show ${targetCurrency} conversion`;\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n return (\n <CustomButton className={className} data-type='inline' onClick={onClick}>\n {label}\n </CustomButton>\n );\n};\n\nexport type CurrencyConversionFieldProps = JSFField & {\n sourceCurrency: string;\n targetCurrency: string;\n mainFieldName?: string;\n conversionFieldName: string;\n conversionProperties?: {\n label?: string;\n description?: ReactNode;\n };\n useProxy?: boolean;\n classNamePrefix: string;\n conversionType?: 'spread' | 'no_spread';\n meta?: {\n helpCenter?: HelpCenterDataProps;\n };\n /**\n * Enabled by the 'split_salary_description' feature flag. When on, the description, the help\n * center link and the conversion toggle are handed to the text component as three separate\n * slots instead of being packed into the description node.\n */\n splitDescription?: boolean;\n};\n\nexport const CurrencyConversionField = ({\n sourceCurrency,\n targetCurrency,\n mainFieldName,\n conversionFieldName,\n conversionProperties,\n classNamePrefix,\n description,\n conversionType = 'spread',\n meta,\n splitDescription = false,\n ...props\n}: CurrencyConversionFieldProps) => {\n const [showConversion, setShowConversion] = useState(false);\n const { setValue, watch } = useFormContext();\n const fieldValue = watch(mainFieldName || props.name);\n const isFirstRender = useRef(true);\n\n const canShowConversion =\n sourceCurrency && targetCurrency && sourceCurrency !== targetCurrency;\n\n const { mutateAsync: convertCurrency } = useConvertCurrency({\n type: conversionType,\n });\n\n // we keep track of the last input the user used, so we can make sure\n // we keep consistent currency rates\n const lastInputFieldName = `${props.name}_converted`;\n useEffect(() => {\n setValue(lastInputFieldName, mainFieldName || props.name);\n }, [setValue, mainFieldName, props.name, lastInputFieldName]);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n\n // when source currency changes, reset the conversion field\n setValue(conversionFieldName, '');\n }, [sourceCurrency, conversionFieldName, setValue]);\n\n const convertCurrencyCallback = useCallback(\n async (amount: number | null, fromCurrency: string, toCurrency: string) => {\n if (!amount || isNaN(amount) || amount <= 0) return;\n\n return convertCurrency({\n source_currency: fromCurrency,\n target_currency: toCurrency,\n amount,\n });\n },\n [convertCurrency],\n );\n\n const debouncedConvertCurrency = useDebounce(async (value: string) => {\n // The SDK sets the employer billing currency in the salary field, but internally we don't do it like this, is set based on the employee billing currency\n // That's why we need to do 1 / exchange rate to get the correct amount, if currencies were different, it would be done in the debouncedConvertCurrencyReverse\n // THE BE always transforms from the target currency to the source currency\n const amountInCents = convertToCents(value);\n const conversion = await convertCurrencyCallback(\n amountInCents,\n targetCurrency,\n sourceCurrency,\n );\n\n const exchangeRate =\n 1 / (conversion?.data?.data.conversion_data?.exchange_rate ?? 1);\n\n const amount = round(Number(amountInCents) * exchangeRate);\n\n setValue(conversionFieldName, convertFromCents(amount));\n }, 500);\n\n const debouncedConvertCurrencyReverse = useDebounce(async (value: string) => {\n const amount = convertToCents(value);\n const conversion = await convertCurrencyCallback(\n amount,\n targetCurrency,\n sourceCurrency,\n );\n\n const conversionAmount =\n conversion?.data?.data.conversion_data.target_amount;\n\n setValue(mainFieldName || props.name, convertFromCents(conversionAmount));\n }, 500);\n\n const handleMainFieldChange = (evt: React.ChangeEvent<HTMLInputElement>) => {\n setValue(lastInputFieldName, mainFieldName || props.name);\n if (showConversion) {\n debouncedConvertCurrency(evt.target.value);\n }\n };\n\n const handleConversionFieldChange = (\n evt: React.ChangeEvent<HTMLInputElement>,\n ) => {\n setValue(lastInputFieldName, conversionFieldName);\n debouncedConvertCurrencyReverse(evt.target.value);\n };\n\n const toggleConversion = (evt: React.MouseEvent<HTMLButtonElement>) => {\n evt.preventDefault();\n setShowConversion((prev) => !prev);\n\n if (!showConversion && fieldValue) {\n debouncedConvertCurrency(fieldValue);\n }\n };\n\n const conversionToggle = canShowConversion ? (\n <ConversionToggle\n targetCurrency={targetCurrency}\n showConversion={showConversion}\n className={`${classNamePrefix}-button`}\n onClick={toggleConversion}\n />\n ) : null;\n\n // With the split_salary_description feature, the toggle is handed over as a separate slot so the\n // text component stays free to render the description, the help center link and the toggle\n // however it wants. Without it, we keep packing them into the description node: it's the only\n // slot every text component is known to render, so the toggle can't get lost. The help center\n // link is then rendered by us and stripped from the meta we forward, to avoid rendering it twice\n // (FormDescription appends it after its children, which would put it after the toggle).\n const descriptionProps = splitDescription\n ? { meta, description, descriptionSuffix: conversionToggle }\n : {\n meta: conversionToggle ? omit(meta, 'helpCenter') : meta,\n description: conversionToggle ? (\n <DescriptionWithConversion\n description={description}\n helpCenter={<HelpCenter helpCenter={meta?.helpCenter} />}\n toggle={conversionToggle}\n className={`${classNamePrefix}-description`}\n />\n ) : (\n description\n ),\n };\n\n return (\n <>\n <TextField\n {...props}\n {...descriptionProps}\n name={mainFieldName || props.name}\n additionalProps={{ currency: sourceCurrency }}\n type='text'\n inputMode='decimal'\n pattern='^[0-9.]*$'\n maxLength={15}\n onChange={handleMainFieldChange}\n />\n {showConversion && (\n <TextField\n additionalProps={{ currency: targetCurrency }}\n name={conversionFieldName}\n label={conversionProperties?.label || 'Conversion'}\n description={conversionProperties?.description}\n type='text'\n inputMode='decimal'\n pattern='^[0-9.]*$'\n maxLength={15}\n onChange={handleConversionFieldChange}\n />\n )}\n <input\n type='hidden'\n name={lastInputFieldName}\n value={watch(lastInputFieldName) || mainFieldName || props.name}\n />\n </>\n );\n};\n"],"mappings":"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","names":["useState","useCallback","useEffect","useRef","omit","Fragment","jsx","jsxs","DescriptionWithConversion","__name","description","helpCenter","toggle","className","FormDescription","ConversionToggle","showConversion","targetCurrency","onClick","components","useFormFields","label","CustomButton","CurrencyConversionField","sourceCurrency","mainFieldName","conversionFieldName","conversionProperties","classNamePrefix","conversionType","meta","splitDescription","props","setShowConversion","useState","setValue","watch","useFormContext","fieldValue","isFirstRender","useRef","canShowConversion","convertCurrency","useConvertCurrency","lastInputFieldName","useEffect","convertCurrencyCallback","useCallback","amount","fromCurrency","toCurrency","debouncedConvertCurrency","useDebounce","value","amountInCents","convertToCents","exchangeRate","round","convertFromCents","debouncedConvertCurrencyReverse","conversionAmount","handleMainFieldChange","evt","handleConversionFieldChange","toggleConversion","prev","conversionToggle","descriptionProps","omit","HelpCenter","TextField"]}
|
package/dist/chunk-HMJ4PIDI.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as R}from"./chunk-XFVXRCMH.js";import{h as b,i as V}from"./chunk-C4HFMTSB.js";import{a as d}from"./chunk-P37U34EQ.js";import{useState as I,useCallback as r,useMemo as c}from"react";var U=d(p=>{let{defaultSchema:F="simple-user-profile",initialValues:S={},schemas:h={},onSubmit:f,onError:u,onSchemaChange:g}=p,[i,t]=I({selectedSchema:F,submittedResults:[],isLoading:!1,isSubmitting:!1,resetKey:0,fieldsVersion:0}),l=c(()=>({...S}),[S]),m=c(()=>h?.[i.selectedSchema],[h,i.selectedSchema]),a=c(()=>{try{t(s=>({...s,isLoading:!0}));let e=R(m.schema,l,{transformMoneyFields:!1});return t(s=>({...s,isLoading:!1})),e}catch(e){throw t(s=>({...s,isLoading:!1})),u?.(e),e}},[m.schema,l,u]),J=r(e=>{t(s=>({...s,selectedSchema:e})),g?.(e),t(s=>({...s,resetKey:s.resetKey+1}))},[g]),P=r(async e=>{t(s=>({...s,isSubmitting:!0}));try{await f?.(e);let s={success:!0,data:e,timestamp:new Date().toISOString()};return t(n=>({...n,isSubmitting:!1,submittedResults:[s,...n.submittedResults]})),s}catch(s){let n={success:!1,data:e,timestamp:new Date().toISOString()};throw t(o=>({...o,isSubmitting:!1,submittedResults:[n,...o.submittedResults]})),u?.(s),s}},[f,u]),w=r(()=>{t(e=>({...e,resetKey:e.resetKey+1}))},[]),K=r(()=>{t(e=>({...e,submittedResults:[]}))},[]),y=r(async e=>{if(!a.fields)return null;let s=await b(e,a.fields,{isPartialValidation:!1}),n=await a.handleValidation(s);return t(o=>({...o,fieldsVersion:o.fieldsVersion+1})),n},[a]),L=c(()=>V(a.fields,l),[a.fields,l]);return{selectedSchema:i.selectedSchema,resetKey:i.resetKey,isLoading:i.isLoading,isSubmitting:i.isSubmitting,submittedResults:i.submittedResults,fieldValues:l,initialValues:L,currentSchemaData:m,fields:a.fields,meta:a.meta,handleSchemaChange:J,handleSubmit:P,handleReset:w,clearResults:K,checkFieldUpdates:d(async e=>{await y(e)},"checkFieldUpdates"),handleValidation:y}},"useJsonSchemaPlayground");export{U as a};
|
|
2
|
-
//# sourceMappingURL=chunk-HMJ4PIDI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/JsonSchemaPlayground/hooks.ts"],"sourcesContent":["import { useState, useCallback, useMemo } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport {\n JsonSchemaPlaygroundResult,\n JsonSchemaPlaygroundState,\n UseJsonSchemaPlaygroundOptions,\n} from './types';\n\nexport const useJsonSchemaPlayground = (\n options: UseJsonSchemaPlaygroundOptions,\n) => {\n const {\n defaultSchema = 'simple-user-profile',\n initialValues: jsonSchemaInitialValues = {},\n schemas: customSchemas = {},\n onSubmit,\n onError,\n onSchemaChange,\n } = options;\n\n const [state, setState] = useState<JsonSchemaPlaygroundState>({\n selectedSchema: defaultSchema,\n submittedResults: [],\n isLoading: false,\n isSubmitting: false,\n resetKey: 0,\n fieldsVersion: 0,\n });\n\n const fieldValues = useMemo(() => {\n return {\n ...jsonSchemaInitialValues,\n };\n }, [jsonSchemaInitialValues]);\n\n // Get current schema\n const currentSchemaData = useMemo(() => {\n return customSchemas?.[state.selectedSchema];\n }, [customSchemas, state.selectedSchema]);\n\n // Create headless form from current schema\n const headlessForm = useMemo(() => {\n try {\n setState((prev) => ({ ...prev, isLoading: true }));\n const form = createHeadlessForm(currentSchemaData.schema, fieldValues, {\n transformMoneyFields: false,\n });\n setState((prev) => ({ ...prev, isLoading: false }));\n return form;\n } catch (error) {\n setState((prev) => ({ ...prev, isLoading: false }));\n onError?.(error);\n throw error;\n }\n }, [currentSchemaData.schema, fieldValues, onError]);\n\n // Handle schema selection\n const handleSchemaChange = useCallback(\n (schemaKey: string) => {\n setState((prev) => ({ ...prev, selectedSchema: schemaKey }));\n onSchemaChange?.(schemaKey);\n setState((prev) => ({ ...prev, resetKey: prev.resetKey + 1 }));\n },\n [onSchemaChange],\n );\n\n // Handle form submission\n const handleSubmit = useCallback(\n async (values: FieldValues) => {\n setState((prev) => ({ ...prev, isSubmitting: true }));\n\n try {\n await onSubmit?.(values);\n\n const result: JsonSchemaPlaygroundResult = {\n success: true,\n data: values,\n timestamp: new Date().toISOString(),\n };\n\n setState((prev) => ({\n ...prev,\n isSubmitting: false,\n submittedResults: [result, ...prev.submittedResults],\n }));\n\n return result;\n } catch (error) {\n const result: JsonSchemaPlaygroundResult = {\n success: false,\n data: values,\n timestamp: new Date().toISOString(),\n };\n\n setState((prev) => ({\n ...prev,\n isSubmitting: false,\n submittedResults: [result, ...prev.submittedResults],\n }));\n\n onError?.(error);\n throw error;\n }\n },\n [onSubmit, onError],\n );\n\n // Handle form reset\n const handleReset = useCallback(() => {\n setState((prev) => ({ ...prev, resetKey: prev.resetKey + 1 }));\n }, []);\n\n // Clear results\n const clearResults = useCallback(() => {\n setState((prev) => ({ ...prev, submittedResults: [] }));\n }, []);\n\n // Validation functions\n const handleValidation = useCallback(\n async (values: FieldValues) => {\n if (!headlessForm.fields) {\n return null;\n }\n const parsedValues = await parseJSFToValidate(\n values,\n headlessForm.fields,\n { isPartialValidation: false },\n );\n const result = await headlessForm.handleValidation(parsedValues);\n\n setState((prev) => ({ ...prev, fieldsVersion: prev.fieldsVersion + 1 }));\n\n return result;\n },\n [headlessForm],\n );\n\n const initialValues = useMemo(() => {\n return getInitialValues(headlessForm.fields, fieldValues);\n }, [headlessForm.fields, fieldValues]);\n\n return {\n // State\n selectedSchema: state.selectedSchema,\n resetKey: state.resetKey,\n isLoading: state.isLoading,\n isSubmitting: state.isSubmitting,\n submittedResults: state.submittedResults,\n fieldValues,\n initialValues,\n\n // Schema data\n currentSchemaData,\n\n // Form data from headless form\n fields: headlessForm.fields,\n meta: headlessForm.meta,\n\n // Actions\n handleSchemaChange,\n handleSubmit,\n handleReset,\n clearResults,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: async (values: FieldValues) => {\n await handleValidation(values);\n },\n\n // Validation\n handleValidation,\n };\n};\n"],"mappings":"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","names":["useState","useCallback","useMemo","useJsonSchemaPlayground","__name","options","defaultSchema","jsonSchemaInitialValues","customSchemas","onSubmit","onError","onSchemaChange","state","setState","useState","fieldValues","useMemo","currentSchemaData","headlessForm","prev","form","createHeadlessForm","error","handleSchemaChange","useCallback","schemaKey","handleSubmit","values","result","handleReset","clearResults","handleValidation","parsedValues","parseJSFToValidate","initialValues","getInitialValues"]}
|
package/dist/chunk-I4DU34BA.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as P,b as W,c as u}from"./chunk-DYIMRD6T.js";import{a as l}from"./chunk-PVORGGT3.js";import{c as y}from"./chunk-AUPAAQUT.js";import{j as h,m as x}from"./chunk-C4HFMTSB.js";import{a as c}from"./chunk-P37U34EQ.js";import{Fragment as $}from"react";import a from"lodash.omit";var C={...P,fieldset:u,"fieldset-flat":u};import{Fragment as S,jsx as n,jsxs as g}from"react/jsx-runtime";var B=c(({fields:p,fieldsets:d,fieldValues:i,components:m})=>{let{setValue:T,watch:M}=y();if(!p||p.length===0)return null;let J=d&&i?h({fields:p,fieldsets:d,values:i}):p,r=c((e,F,o)=>F.WrapperComponent?n(F.WrapperComponent,{children:e},o):n($,{children:e},o),"wrapWithCustomWrapper");return n(S,{children:J.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(i,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(x(e)){let t=a(e,"WrapperComponent");return r(n(W,{name:t.name,description:t.description,value:t.const,statement:t.statement,label:t.label,helpCenter:t.meta?.helpCenter}),e,e.name)}if(e.Component){let{Component:t}=e,R=a(e,["Component","WrapperComponent"]);return r(g(S,{children:[n(t,{...R,value:M(e.name),setValue:V=>T(e.name,V)}),e.statement?n(l,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)}let o=e.type,s=C[o];if(!s)return g("p",{className:"error",children:["Field type ",o," not supported"]});if(o==="fieldset"){let t=a(e,"WrapperComponent");return r(n(s,{...t,components:m}),e,e.name)}if(o==="fieldset-flat"){let t=a(e,"WrapperComponent");return r(n(s,{...t,components:m,isFlatFieldset:!0}),e,e.name)}o==="select"&&e.multiple&&(s=C["multi-select"]);let k=a(e,"WrapperComponent");return r(g(S,{children:[n(s,{...k,component:m&&m[o]}),e.statement?n(l,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)})})},"JSONSchemaFormFields");export{B as a};
|
|
2
|
-
//# sourceMappingURL=chunk-I4DU34BA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/JSONSchemaForm.tsx","../src/components/form/fields/fieldsMapping.tsx"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { fieldsMap } from '@/src/components/form/fields/fieldsMapping';\nimport { Statement } from '@/src/components/form/Statement';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\nimport {\n Components,\n JSFFieldset,\n JSFFields,\n $TSFixMe,\n} from '@/src/types/remoteFlows';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { checkFieldHasForcedValue, getFieldsWithFlatFieldsets } from './utils';\n\ntype JSONSchemaFormFieldsProps = {\n fields: JSFFields;\n components?: Components;\n fieldsets?: JSFFieldset | null | undefined;\n fieldValues?: Record<string, unknown>;\n};\n\nexport const JSONSchemaFormFields = ({\n fields,\n fieldsets,\n fieldValues,\n components,\n}: JSONSchemaFormFieldsProps) => {\n const { setValue, watch } = useFormContext();\n\n if (!fields || fields.length === 0) return null;\n\n const maybeFieldWithFlatFieldsets =\n fieldsets && fieldValues\n ? getFieldsWithFlatFieldsets({\n fields: fields,\n fieldsets: fieldsets,\n values: fieldValues,\n })\n : fields;\n\n const wrapWithCustomWrapper = (\n content: React.ReactNode,\n field: $TSFixMe,\n key: string,\n ) => {\n if (field.WrapperComponent) {\n return (\n <field.WrapperComponent key={key}>{content}</field.WrapperComponent>\n );\n }\n return <Fragment key={key}>{content}</Fragment>;\n };\n\n return (\n <>\n {maybeFieldWithFlatFieldsets.map((field) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(fieldValues, field) || {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated || field.hidden) {\n return null; // Skip hidden or deprecated fields\n }\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n if (isForcedValue) {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <ForcedValueField\n name={fieldProps.name as string}\n description={fieldProps.description as string}\n value={fieldProps.const as string}\n statement={fieldProps.statement as $TSFixMe}\n label={fieldProps.label as string}\n helpCenter={fieldProps.meta?.helpCenter}\n />,\n field,\n field.name as string,\n );\n }\n\n if (field.Component) {\n const { Component } = field as $TSFixMe;\n const fieldProps = omit(field, ['Component', 'WrapperComponent']);\n return wrapWithCustomWrapper(\n <>\n <Component\n {...fieldProps}\n value={watch(field.name) as string}\n setValue={(value: unknown) => setValue(field.name, value)}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n field,\n field.name as string,\n );\n }\n\n // We use field.type on purpose here, not field.inputType, when using field.inputType\n // the conditionals didn't work as expected\n // I believe json-schema-form in the latest versions uses field.inputType correctly but\n // the version of json-schema-form is decided by remote-json-schema-form-kit\n // our product uses field.type instead of field.inputType and we probably should do the same\n const fieldType = field.type;\n let FieldComponent = fieldsMap[fieldType as keyof typeof fieldsMap];\n\n if (!FieldComponent) {\n return (\n <p className='error'>\n Field type {fieldType as string} not supported\n </p>\n );\n }\n\n if (fieldType === 'fieldset') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldComponent {...fieldProps} components={components} />,\n field,\n field.name,\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldComponent\n {...fieldProps}\n components={components}\n isFlatFieldset\n />,\n field,\n field.name,\n );\n }\n\n // TODO: Have doubts about this, it seems we only support checkbox for multiple select\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = fieldsMap['multi-select'];\n }\n\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <FieldComponent\n {...fieldProps}\n component={\n components && components[fieldType as keyof Components]\n }\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n field,\n field.name as string,\n );\n })}\n </>\n );\n};\n","import { $TSFixMe } from '@/src/types/remoteFlows';\nimport { baseFields } from './baseFields';\nimport { FieldSetField } from './FieldSetField';\nimport { SupportedTypes } from './types';\n\nexport const fieldsMap: Record<\n SupportedTypes,\n React.ComponentType<$TSFixMe>\n> = {\n ...baseFields,\n fieldset: FieldSetField,\n 'fieldset-flat': FieldSetField,\n};\n"],"mappings":"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","names":["Fragment","omit","fieldsMap","baseFields","FieldSetField","Fragment","jsx","jsxs","JSONSchemaFormFields","__name","fields","fieldsets","fieldValues","components","setValue","watch","useFormContext","maybeFieldWithFlatFieldsets","getFieldsWithFlatFieldsets","wrapWithCustomWrapper","content","field","key","checkFieldHasForcedValue","fieldProps","omit","ForcedValueField","Component","value","Statement","fieldType","FieldComponent","fieldsMap"]}
|
package/dist/chunk-IHGCXP2X.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as o}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as a}from"react/jsx-runtime";function l({base64Data:r,fileName:t="document.pdf"}){return r?a("div",{className:"w-full space-y-4",children:[e("iframe",{src:r,className:"w-full h-[600px] border rounded",title:t}),a("div",{className:"flex justify-between items-center text-sm",children:[e("p",{className:"text-gray-600",children:t}),e("a",{href:r,download:t,className:"text-blue-600 hover:underline",children:"Download PDF"})]})]}):e("div",{className:"w-full border rounded p-8 text-center bg-gray-50",children:e("p",{className:"text-gray-500",children:"No PDF data available"})})}o(l,"PDFPreviewDefault");export{l as a};
|
|
2
|
-
//# sourceMappingURL=chunk-IHGCXP2X.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/shared/pdf-preview/PDFPreviewDefault.tsx"],"sourcesContent":["import { PDFPreviewComponentProps } from '@/src/types/remoteFlows';\n\nexport function PDFPreviewDefault({\n base64Data,\n fileName = 'document.pdf',\n}: PDFPreviewComponentProps) {\n if (!base64Data) {\n return (\n <div className='w-full border rounded p-8 text-center bg-gray-50'>\n <p className='text-gray-500'>No PDF data available</p>\n </div>\n );\n }\n\n return (\n <div className='w-full space-y-4'>\n <iframe\n src={base64Data}\n className='w-full h-[600px] border rounded'\n title={fileName}\n />\n <div className='flex justify-between items-center text-sm'>\n <p className='text-gray-600'>{fileName}</p>\n <a\n href={base64Data}\n download={fileName}\n className='text-blue-600 hover:underline'\n >\n Download PDF\n </a>\n </div>\n </div>\n );\n}\n"],"mappings":"wCASQ,cAAAA,EAYF,QAAAC,MAZE,oBAPD,SAASC,EAAkB,CAChC,WAAAC,EACA,SAAAC,EAAW,cACb,EAA6B,CAC3B,OAAKD,EASHF,EAAC,OAAI,UAAU,mBACb,UAAAD,EAAC,UACC,IAAKG,EACL,UAAU,kCACV,MAAOC,EACT,EACAH,EAAC,OAAI,UAAU,4CACb,UAAAD,EAAC,KAAE,UAAU,gBAAiB,SAAAI,EAAS,EACvCJ,EAAC,KACC,KAAMG,EACN,SAAUC,EACV,UAAU,gCACX,wBAED,GACF,GACF,EAvBEJ,EAAC,OAAI,UAAU,mDACb,SAAAA,EAAC,KAAE,UAAU,gBAAgB,iCAAqB,EACpD,CAuBN,CA/BgBK,EAAAH,EAAA","names":["jsx","jsxs","PDFPreviewDefault","base64Data","fileName","__name"]}
|
package/dist/chunk-LSUBNZ64.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as _}from"./chunk-ZD4H63AL.js";import{b as f,c as q}from"./chunk-AXZ4IDY7.js";import{a as y}from"./chunk-H6XROFQT.js";import{a as p}from"./chunk-XFVXRCMH.js";import{A as F,C as S,h as v,ra as b,va as g,wa as O}from"./chunk-QQV5REGG.js";import{e as i}from"./chunk-H2O4CVKF.js";import{a as o}from"./chunk-P37U34EQ.js";import{useMemo as N}from"react";import{useQuery as P}from"@tanstack/react-query";var I=o(({employmentId:e,options:t})=>{let{client:r}=i();return P({queryKey:["contractor-currencies",e],queryFn:o(async()=>F({client:r,path:{employment_id:e},query:{restrict_to_guaranteed_pay_out_currencies:!1}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:o(({data:n})=>n?.data,"select")})},"useContractorCurrencies"),w=o(({countryCode:e,employmentId:t,fieldValues:r,options:n})=>{let{client:a}=i();return P({queryKey:["contractor-onboarding-details-schema",e,t],retry:!1,queryFn:o(async()=>v({client:a,path:{country_code:e},query:{json_schema_version:1,employment_id:t}}),"queryFn"),enabled:n?.queryOptions?.enabled,select:o(({data:s})=>{let u=s?.data?.schema||{};return p(u,r,n)},"select")})},"useContractorOnboardingDetailsSchema"),G=o(({countryCode:e,employmentId:t,fieldValues:r,options:n})=>{let a=w({countryCode:e,employmentId:t,fieldValues:r,options:n}),{data:s,isLoading:u}=I({employmentId:t,options:{queryOptions:{enabled:n?.queryOptions?.enabled}}}),d=N(()=>!a.data||!s?a.data:{...a.data,fields:a.data.fields.map(c=>c.name!=="payment_terms"?c:{...c,fields:c.fields?.map(l=>l.name!=="compensation_currency_code"?l:{...l,options:s.map(m=>({label:m.code,value:m.code,meta:{source:m.source}}))})})},[a.data,s]);return{...a,data:d,isLoading:a.isLoading||u}},"useContractorContractDetailsSchema");import{useMemo as E}from"react";import{useMutation as C,useQuery as M,queryOptions as R}from"@tanstack/react-query";var ae=o(({enabled:e,employmentId:t,jsfModify:r,includeOneTime:n,isContractorOfRecord:a,includeContractorSelect:s,includeCustomDays:u,contractors:d,fieldValues:h})=>{let{data:c,isLoading:l}=I({employmentId:t,options:{queryOptions:{enabled:e&&!!t}}});return{data:E(()=>{if(!e||!c&&!s)return null;let V=_({currencies:c?.map(x=>x.code),includeOneTime:n,isContractorOfRecord:a,includeContractorSelect:s,includeCustomDays:u,contractors:d});return p(V,h,{jsfModify:r,transformMoneyFields:!0})},[e,c,r,n,a,s,u,d,h]),isLoading:l}},"useGetCreateInvoiceScheduleSchema"),T=o((e,t)=>R({queryKey:["contractor-invoice-schedules",t],queryFn:o(async()=>{let r=await g({client:e,query:{employment_id:t}});if(r.error||!r.data)throw new Error("Failed to fetch invoice schedules");return r},"queryFn")}),"invoiceSchedulesOptions"),se=o(({employmentId:e,options:t})=>{let{client:r}=i();return M({...T(r,e),enabled:t?.queryOptions?.enabled,select:o(n=>n.data?.data?.contractor_invoice_schedules?.find(a=>a.status===y.PENDING_CONTRACTOR_ACTION||a.status===y.PROCESSING||a.status===y.PENDING_COMPANY_ACTION),"select")})},"useGetExistingInvoiceSchedule"),ie=o(()=>{let{client:e}=i();return C({mutationFn:o(async({employmentId:t,values:r})=>{let n={contractor_invoice_schedules:[{employment_id:t,...f(r)}]};return O({client:e,body:n})},"mutationFn")})},"useCreateInvoiceSchedule"),ce=o(()=>{let{client:e}=i();return C({mutationFn:o(async({scheduleId:t,values:r})=>{let n=f(r);return S({client:e,path:{id:t},body:n})},"mutationFn")})},"useUpdateInvoiceSchedule"),ue=o(()=>{let{client:e}=i();return C({mutationFn:o(async({scheduleId:t})=>S({client:e,path:{id:t},body:{status:"deleted"}}),"mutationFn")})},"useSkipInvoiceSchedule"),le=o(()=>{let{client:e}=i();return C({mutationFn:o(async({employmentId:t,values:r})=>{let n=q(r);return b({client:e,path:{employment_id:t},body:n})},"mutationFn")})},"usePreviewContractorInvoice");export{G as a,ae as b,T as c,se as d,ie as e,ce as f,ue as g,le as h};
|
|
2
|
-
//# sourceMappingURL=chunk-LSUBNZ64.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/api/contractor-contract-details.ts","../src/common/invoice-schedules/api.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n getV1CountriesCountryCodeContractorContractDetails,\n getV1ContractorsEmploymentsEmploymentIdContractorCurrencies,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport {\n FlowOptions,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const useContractorCurrencies = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-currencies', employmentId],\n queryFn: async () => {\n return getV1ContractorsEmploymentsEmploymentIdContractorCurrencies({\n client: client as Client,\n path: { employment_id: employmentId },\n query: {\n restrict_to_guaranteed_pay_out_currencies: false,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Get the contractor onboarding details schema for a given country\n * @param countryCode - The country code\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contractor onboarding details schema\n */\nconst useContractorOnboardingDetailsSchema = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n return useQuery({\n queryKey: [\n 'contractor-onboarding-details-schema',\n countryCode,\n employmentId,\n ],\n retry: false,\n queryFn: async () => {\n return getV1CountriesCountryCodeContractorContractDetails({\n client: client as Client,\n path: { country_code: countryCode },\n query: {\n json_schema_version: 1,\n employment_id: employmentId,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\n/**\n * Get contractor onboarding details schema with currency options overridden\n * from the getIndexContractorCurrency endpoint\n */\nexport const useContractorContractDetailsSchema = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}) => {\n const schemaQuery = useContractorOnboardingDetailsSchema({\n countryCode,\n employmentId,\n fieldValues,\n options,\n });\n\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useContractorCurrencies({\n employmentId,\n options: {\n queryOptions: { enabled: options?.queryOptions?.enabled },\n },\n });\n\n const dataWithCurrencies = useMemo(() => {\n if (!schemaQuery.data || !currencies) {\n return schemaQuery.data;\n }\n\n const form = {\n ...schemaQuery.data,\n fields: schemaQuery.data.fields.map((field) => {\n if (field.name !== 'payment_terms') {\n return field;\n }\n\n return {\n ...field,\n fields: (field.fields as $TSFixMe[])?.map((nestedField: $TSFixMe) => {\n if (nestedField.name !== 'compensation_currency_code') {\n return nestedField;\n }\n\n // Return a new object with overridden options\n return {\n ...nestedField,\n options: currencies.map((currency) => ({\n label: currency.code,\n value: currency.code,\n meta: { source: currency.source },\n })),\n };\n }),\n };\n }),\n };\n\n return form;\n }, [schemaQuery.data, currencies]);\n\n return {\n ...schemaQuery,\n data: dataWithCurrencies as $TSFixMe,\n isLoading: schemaQuery.isLoading || isLoadingCurrencies,\n };\n};\n","import { useMemo } from 'react';\nimport { useMutation, useQuery, queryOptions } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n BulkContractorInvoiceScheduleCreateParams,\n ContractorInvoiceScheduleCreateParams,\n getV1ContractorInvoiceSchedules,\n patchV1ContractorInvoiceSchedulesId2,\n postV1ContractorInvoiceSchedules,\n postV1EmploymentsEmploymentIdContractorInvoicesPreview,\n PreviewContractorInvoiceParams,\n UpdateScheduleContractorInvoiceParams,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useContractorCurrencies } from '@/src/common/api/contractor-contract-details';\nimport { INVOICE_SCHEDULE_STATUS } from '@/src/common/invoice-schedules/constants';\nimport {\n buildCreateInvoiceScheduleSchema,\n ContractorOption,\n} from '@/src/common/invoice-schedules/json-schema';\nimport {\n buildInvoicePreviewPayload,\n buildInvoiceSchedulePayload,\n} from '@/src/common/invoice-schedules/utils';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSFModify,\n} from '@/src/flows/types';\n\n/**\n * Get the create invoice schedule schema with currency options from the contractor currencies endpoint.\n * React Query caches the result, so multiple calls share the same data.\n */\nexport const useGetCreateInvoiceScheduleSchema = ({\n enabled,\n employmentId,\n jsfModify,\n includeOneTime,\n isContractorOfRecord,\n includeContractorSelect,\n includeCustomDays,\n contractors,\n fieldValues,\n}: {\n enabled?: boolean;\n employmentId?: string;\n jsfModify?: JSFModify;\n /**\n * Offer \"One time\" alongside the recurring cadences. Off by default so the in-flow\n * onboarding step keeps the field set it shipped with.\n */\n includeOneTime?: boolean;\n /**\n * Restrict to one-off only, as the platform does for Contractor of Record.\n */\n isContractorOfRecord?: boolean;\n /**\n * Prepend a contractor picker, for the standalone screen.\n */\n includeContractorSelect?: boolean;\n /**\n * Contractors to offer in the picker.\n */\n contractors?: ContractorOption[];\n /**\n * Offer the two semi-monthly day fields, which map to `custom_days`.\n */\n includeCustomDays?: boolean;\n /**\n * Current form values. Passed to `createHeadlessForm` so the schema's conditionals — the\n * item-row reveal, and the semi-monthly day fields — re-evaluate as the user fills the\n * form. Without this the form is built once against empty values and nothing ever reveals.\n */\n fieldValues?: Record<string, unknown>;\n}): { data: JSONSchemaFormResultWithFieldsets | null; isLoading: boolean } => {\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useContractorCurrencies({\n employmentId: employmentId as string,\n options: {\n queryOptions: { enabled: enabled && Boolean(employmentId) },\n },\n });\n\n const schemaWithCurrencies = useMemo(() => {\n if (!enabled) return null;\n\n // The standalone screen picks the contractor in this very form, so the currencies cannot\n // be known on first render — build the schema anyway and let the currency field show its\n // placeholder until a contractor is chosen. The in-flow step always knows its employment,\n // so it keeps waiting for currencies and renders nothing until they arrive.\n if (!currencies && !includeContractorSelect) return null;\n\n const schema = buildCreateInvoiceScheduleSchema({\n currencies: currencies?.map(\n (currency: { code: string; source: string }) => currency.code,\n ),\n includeOneTime,\n isContractorOfRecord,\n includeContractorSelect,\n includeCustomDays,\n contractors,\n });\n\n // `transformMoneyFields` has to be explicit: `createHeadlessForm` only defaults it on\n // when no options object is passed at all, so passing `jsfModify` alone silently opted\n // out. Without it the item amounts stay in the money input's major units — a decimal as\n // soon as an amount has cents — and never satisfy the `integer` the row-reveal\n // conditional matches on, which froze the form at a single item for any such amount.\n return createHeadlessForm(schema, fieldValues, {\n jsfModify,\n transformMoneyFields: true,\n });\n }, [\n enabled,\n currencies,\n jsfModify,\n includeOneTime,\n isContractorOfRecord,\n includeContractorSelect,\n includeCustomDays,\n contractors,\n fieldValues,\n ]);\n\n return {\n data: schemaWithCurrencies,\n isLoading: isLoadingCurrencies,\n };\n};\n\n/**\n * Query options factory for fetching invoice schedules by employment id\n * @param client - The API client\n * @param employmentId - The employment ID\n * @returns Query options for contractor invoice schedules\n */\nexport const invoiceSchedulesOptions = (\n client: Client,\n employmentId: string,\n) => {\n return queryOptions({\n queryKey: ['contractor-invoice-schedules', employmentId] as const,\n queryFn: async () => {\n const response = await getV1ContractorInvoiceSchedules({\n client,\n query: { employment_id: employmentId },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch invoice schedules');\n }\n\n return response;\n },\n });\n};\n\n/**\n * Get the last invoice schedule for an employment that matches specific statuses.\n * This is used to determine if a schedule was previously created during onboarding.\n *\n * @param employmentId - The employment ID\n * @param options - Query options\n * @returns The last matching invoice schedule or undefined\n */\nexport const useGetExistingInvoiceSchedule = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n ...invoiceSchedulesOptions(client as Client, employmentId),\n enabled: options?.queryOptions?.enabled,\n select: (response) => {\n // Find the first invoice schedule that matches the editing criteria\n return response.data?.data?.contractor_invoice_schedules?.find(\n (invoice) =>\n invoice.status ===\n INVOICE_SCHEDULE_STATUS.PENDING_CONTRACTOR_ACTION ||\n invoice.status === INVOICE_SCHEDULE_STATUS.PROCESSING ||\n invoice.status === INVOICE_SCHEDULE_STATUS.PENDING_COMPANY_ACTION,\n );\n },\n });\n};\n\n/**\n * Creates contractor invoice schedules\n * @param employmentId - The employment ID\n * @param values - The form values containing invoice schedule data\n * @returns The created invoice schedules\n */\nexport const useCreateInvoiceSchedule = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n values,\n }: {\n employmentId: string;\n values: FieldValues;\n }) => {\n const payload: BulkContractorInvoiceScheduleCreateParams = {\n contractor_invoice_schedules: [\n {\n employment_id: employmentId,\n ...buildInvoiceSchedulePayload(values),\n } as ContractorInvoiceScheduleCreateParams,\n ],\n };\n\n return postV1ContractorInvoiceSchedules({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Updates an existing contractor invoice schedule\n * @param scheduleId - The invoice schedule ID\n * @param values - The form values containing invoice schedule data\n * @returns The updated invoice schedule\n */\nexport const useUpdateInvoiceSchedule = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n scheduleId,\n values,\n }: {\n scheduleId: string;\n values: FieldValues;\n }) => {\n const payload: UpdateScheduleContractorInvoiceParams =\n buildInvoiceSchedulePayload(values);\n\n return patchV1ContractorInvoiceSchedulesId2({\n client: client as Client,\n path: { id: scheduleId },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Skips (cancels) an existing contractor invoice schedule by marking it as deleted.\n * @param scheduleId - The invoice schedule ID\n * @returns The updated invoice schedule\n */\nexport const useSkipInvoiceSchedule = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ scheduleId }: { scheduleId: string }) => {\n const payload: UpdateScheduleContractorInvoiceParams = {\n status: 'deleted',\n };\n\n return patchV1ContractorInvoiceSchedulesId2({\n client: client as Client,\n path: { id: scheduleId },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Previews a contractor invoice as a draft PDF, without persisting it.\n * @param employmentId - The employment ID\n * @param values - The form values containing invoice details\n * @returns The base64-encoded PDF preview\n */\nexport const usePreviewContractorInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n values,\n }: {\n employmentId: string;\n values: FieldValues;\n }) => {\n const payload = buildInvoicePreviewPayload(\n values,\n ) as PreviewContractorInvoiceParams;\n\n return postV1EmploymentsEmploymentIdContractorInvoicesPreview({\n client: client as Client,\n path: { employment_id: employmentId },\n body: payload,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMemo","useQuery","useContractorCurrencies","__name","employmentId","options","client","useClient","useQuery","getV1ContractorsEmploymentsEmploymentIdContractorCurrencies","data","useContractorOnboardingDetailsSchema","countryCode","fieldValues","getV1CountriesCountryCodeContractorContractDetails","jsfSchema","createHeadlessForm","useContractorContractDetailsSchema","schemaQuery","currencies","isLoadingCurrencies","dataWithCurrencies","useMemo","field","nestedField","currency","useMemo","useMutation","useQuery","queryOptions","useGetCreateInvoiceScheduleSchema","__name","enabled","employmentId","jsfModify","includeOneTime","isContractorOfRecord","includeContractorSelect","includeCustomDays","contractors","fieldValues","currencies","isLoadingCurrencies","useContractorCurrencies","useMemo","schema","buildCreateInvoiceScheduleSchema","currency","createHeadlessForm","invoiceSchedulesOptions","client","queryOptions","response","getV1ContractorInvoiceSchedules","useGetExistingInvoiceSchedule","options","useClient","useQuery","invoice","INVOICE_SCHEDULE_STATUS","useCreateInvoiceSchedule","useMutation","values","payload","buildInvoiceSchedulePayload","postV1ContractorInvoiceSchedules","useUpdateInvoiceSchedule","scheduleId","patchV1ContractorInvoiceSchedulesId2","useSkipInvoiceSchedule","usePreviewContractorInvoice","buildInvoicePreviewPayload","postV1EmploymentsEmploymentIdContractorInvoicesPreview"]}
|
package/dist/chunk-NAFECQWK.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-PKQG25GH.js";import{a as e}from"./chunk-7B3ATY3M.js";import{a as i}from"./chunk-JVZ5LUV4.js";import{a as o}from"./chunk-E5ATCB4A.js";var p={employee_communication:o,termination_details:e,paid_time_off:m,additional_information:i};export{p as a};
|
|
2
|
-
//# sourceMappingURL=chunk-NAFECQWK.js.map
|
package/dist/chunk-NYR6FVCU.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as p}from"./chunk-XFVXRCMH.js";import{D as u,O as c,W as m,aa as C,ga as d,q as l}from"./chunk-QQV5REGG.js";import{e as i}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as n,useQuery as r}from"@tanstack/react-query";var q=t(({includePremiumBenefits:e})=>{let{client:o}=i();return r({queryKey:["cost-calculator-countries",e],queryFn:t(()=>c({client:o,query:{include_premium_benefits:e}}),"queryFn"),select:t(a=>a.data?.data.filter(s=>s.availability==="active").map(s=>({value:s.region_slug,label:s.name,childRegions:s.child_regions,hasAdditionalFields:s.has_additional_fields,regionSlug:s.region_slug,currency:s.currency.code})),"select")})},"useCostCalculatorCountries"),P=t(()=>{let{client:e}=i();return r({queryKey:["company-currencies"],queryFn:t(()=>d({client:e}),"queryFn"),select:t(o=>o.data?.data?.company_currencies.map(a=>({value:a.slug,label:a.code})),"select")})},"useCompanyCurrencies"),h=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>l({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimation"),v=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>u({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimationPdf"),x=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>C({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimationCsv"),V=t((e,{includePremiumBenefits:o,options:a})=>{let{client:s}=i();return r({queryKey:["cost-calculator-region-fields",e,o],queryFn:t(()=>m({client:s,path:{slug:e},query:{include_premium_benefits:o}}),"queryFn"),enabled:!!e,select:t(({data:f})=>{let y=f?.data?.schema||{};return p(y,void 0,a)},"select")})},"useRegionFields");export{q as a,P as b,h as c,v as d,x as e,V as f};
|
|
2
|
-
//# sourceMappingURL=chunk-NYR6FVCU.js.map
|
package/dist/chunk-PUK2TIQX.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as T,b as E,c as j,d as $,f as O}from"./chunk-XNV6ZN7J.js";import{a as V,d as w,e as x,f as B}from"./chunk-4BHEQMZV.js";import{b as F}from"./chunk-LKHRHBFP.js";import{a as N}from"./chunk-A7U3KJIP.js";import{a as y,b as k,d as D,e as R,f as H,h as C}from"./chunk-AUPAAQUT.js";import{a as s}from"./chunk-P37U34EQ.js";import*as l from"yup";var P=s((t,a,r)=>{if(t&&"reportValidity"in t){let o=y(r,a);t.setCustomValidity(o&&o.message||""),t.reportValidity()}},"r"),b=s((t,a)=>{for(let r in a.fields){let o=a.fields[r];o&&o.ref&&"reportValidity"in o.ref?P(o.ref,r,t):o&&o.refs&&o.refs.forEach(u=>P(u,r,t))}},"o"),q=s((t,a)=>{a.shouldUseNativeValidation&&b(t,a);let r={};for(let o in t){let u=y(a.fields,o),i=Object.assign(t[o]||{},{ref:u&&u.ref});if(A(a.names||Object.keys(t),o)){let n=Object.assign({},y(r,o));k(n,"root",i),k(r,o,n)}else k(r,o,i)}return r},"s"),A=s((t,a)=>{let r=M(a).replace(/[.*+?^${}()|\\]/g,"\\$&");return t.some(o=>M(o).match(`^${r}\\.\\d+`))},"i");function M(t){return t.replace(/[\[\]]/g,"")}s(M,"n");function L(t,a,r){return r===void 0&&(r={}),function(o,u,i){try{return Promise.resolve((function(n,_){try{var p=(a!=null&&a.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(t[r.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},a,{context:u}))).then(function(m){return i.shouldUseNativeValidation&&b({},i),{values:r.raw?Object.assign({},o):m,errors:{}}}))}catch(m){return _(m)}return p&&p.then?p.then(void 0,_):p})(0,function(n){if(!n.inner)throw n;return{values:{},errors:q((_=n,p=!i.shouldUseNativeValidation&&i.criteriaMode==="all",(_.inner||[]).reduce(function(m,c){if(m[c.path]||(m[c.path]={message:c.message,type:c.type}),p){var S=m[c.path].types,g=S&&S[c.type];m[c.path]=D(c.path,p,m,c.type,g?[].concat(g,c.message):c.message)}return m},{})),i)};var _,p}))}catch(n){return Promise.reject(n)}}}s(L,"o");import{Fragment as Y,useState as z}from"react";import{jsx as e,jsxs as d}from"react/jsx-runtime";var K=l.object({day:l.string().required(),checked:l.boolean().required(),start_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),end_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),hours:l.number().default(0),break_duration_minutes:l.string().default("0")}),G=l.object({schedule:l.array(K)});function J({defaultSchedule:t,onSubmit:a}){let[r,o]=z(!1),u=V.map(f=>{let h=t.find(v=>v.day.toLowerCase()===x(f).toLowerCase()||v.day.toLowerCase()===f.toLowerCase());return h?{...h,day:x(f),checked:!0}:{...t[0],checked:!1,day:x(f)}}),i=H({defaultValues:{schedule:u},resolver:L(G)}),{handleSubmit:n,watch:_,reset:p,control:m,formState:c}=i,{fields:S}=R({name:"schedule",control:m}),g=_("schedule");function I(f){let h=f.schedule.filter(({checked:v})=>v).map(v=>({...v,hours:w(v)}));a(h),o(!1)}s(I,"handleSubmitWorkingHours");function U(){p(),o(!1)}return s(U,"handleCancel"),e("div",{className:"flex items-center justify-between",children:d(T,{open:r,onOpenChange:o,children:[e(E,{asChild:!0,children:e(F,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),d(j,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[e($,{children:e(O,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),e(C,{...i,children:d("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[d("div",{className:"rounded-lg",children:[e("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),d("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[e("div",{className:"col-span-2"}),e("div",{className:"col-span-3 text-center",children:"START"}),e("div",{className:"col-span-1 text-center"}),e("div",{className:"col-span-3 text-center",children:"END"}),e("div",{className:"col-span-2 text-center",children:"HOURS"})]}),e("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:S.map((f,h)=>{let v=g[h],W=w(v);return d(Y,{children:[d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[e("div",{className:"col-span-2 flex items-center gap-3",children:e(B,{label:f.day,name:`schedule.${h}.checked`})}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.start_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.end_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(W)?"-":`${W} hours`})]}),d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[e("div",{className:"col-span-2 text-gray-500",children:"Break"}),e("div",{className:"col-span-2",children:e(N,{name:`schedule.${h}.break_duration_minutes`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-gray-500",children:"minutes"}),e("div",{className:"col-span-4"})]})]},f.id)})})]}),Object.keys(c.errors).length>0&&e("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),d("div",{className:"flex gap-4 pt-4",children:[e(F,{type:"button",className:"reset-button",variant:"outline",onClick:U,children:"Cancel"}),e(F,{type:"button",className:"submit-button",onClick:n(I),children:"Save Schedule"})]})]})})]})]})})}s(J,"WorkScheduleSelectionForm");var he=s(({fieldData:t})=>{let{defaultFormattedValue:a,currentSchedule:r,onSubmit:o}=t,{workHoursSummary:u,breakSummary:i,totalWorkHours:n}=a;return d("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[e("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),d("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:u.join(", ")}}),e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),d("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",e("span",{children:n})," hours per week"]}),e(J,{defaultSchedule:r,onSubmit:o})]})]})},"WorkScheduleFieldDefault");export{he as a};
|
|
2
|
-
//# sourceMappingURL=chunk-PUK2TIQX.js.map
|
package/dist/chunk-QQPF2DUF.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={additionalProperties:!1,properties:{country_code:{title:"Country",description:"",type:"string",oneOf:[],"x-jsf-presentation":{inputType:"select"}}},required:["country_code"],type:"object","x-jsf-order":["country_code"]};export{e as a};
|
|
2
|
-
//# sourceMappingURL=chunk-QQPF2DUF.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.ts"],"sourcesContent":["export const gpSelectCountrySchema = {\n additionalProperties: false,\n properties: {\n country_code: {\n title: 'Country',\n description: '',\n type: 'string',\n oneOf: [] as Array<{ const: string; title: string }>,\n 'x-jsf-presentation': { inputType: 'select' },\n },\n },\n required: ['country_code'],\n type: 'object',\n 'x-jsf-order': ['country_code'],\n};\n"],"mappings":"AAAO,IAAMA,EAAwB,CACnC,qBAAsB,GACtB,WAAY,CACV,aAAc,CACZ,MAAO,UACP,YAAa,GACb,KAAM,SACN,MAAO,CAAC,EACR,qBAAsB,CAAE,UAAW,QAAS,CAC9C,CACF,EACA,SAAU,CAAC,cAAc,EACzB,KAAM,SACN,cAAe,CAAC,cAAc,CAChC","names":["gpSelectCountrySchema"]}
|