@remoteoss/remote-flows 1.47.1 → 1.49.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/ButtonDefault-N32RTG32.js +2 -0
- package/dist/CheckboxFieldDefault-JXNMWIRK.js +2 -0
- package/dist/CountryFieldDefault-SO4WS7KE.js +2 -0
- package/dist/DatePickerFieldDefault-AZHJN2U6.js +2 -0
- package/dist/DrawerDefault-E67XIROQ.js +2 -0
- package/dist/EmailFieldDefault-QVKXB67I.js +2 -0
- package/dist/FieldsetToggleButtonDefault-SHDKV2VO.js +2 -0
- package/dist/FileUploadFieldDefault-QHOKNCU2.js +2 -0
- package/dist/ForcedValueFieldDefault-BEOC4MYU.js +2 -0
- package/dist/MultiSelectFieldDefault-QKXVTGF2.js +2 -0
- package/dist/NumberFieldDefault-O7OKTFG4.js +2 -0
- package/dist/RadioGroupFieldDefault-ZHHXDUUU.js +2 -0
- package/dist/SelectFieldDefault-FWQ7D6DU.js +2 -0
- package/dist/StatementDefault-33EDZARR.js +2 -0
- package/dist/TableFieldDefault-BJIHEN3V.js +2 -0
- package/dist/TelFieldDefault-RA7IBELJ.js +2 -0
- package/dist/TextAreaFieldDefault-NEFWXEE2.js +2 -0
- package/dist/TextFieldDefault-RXNU36AX.js +2 -0
- package/dist/TimeFieldDefault-KIJNBWYF.js +2 -0
- package/dist/WorkScheduleFieldDefault-23WY3SVD.js +2 -0
- package/dist/ZendeskDrawerDefault-DC4SUPEC.js +2 -0
- package/dist/ZendeskTriggerButtonDefault-L4BVVXHA.js +2 -0
- package/dist/ZendeskTriggerButtonDefault-L4BVVXHA.js.map +1 -0
- package/dist/chunk-2HQDOWW2.js +2 -0
- package/dist/chunk-2HQDOWW2.js.map +1 -0
- package/dist/{chunk-CD2QYFEH.js → chunk-2IL6T6EB.js} +2 -2
- package/dist/{chunk-Y7PBPPUC.js → chunk-2LR5N626.js} +2 -2
- package/dist/{chunk-LQFLXXBR.js → chunk-2QVO3BVI.js} +2 -2
- package/dist/{chunk-DDH7MZ7M.js → chunk-2W354SK7.js} +2 -2
- package/dist/{chunk-MJ6Z7ARR.js → chunk-36GVXD2Z.js} +2 -2
- package/dist/{chunk-YDL42SVF.js → chunk-36JXX3VA.js} +2 -2
- package/dist/{chunk-WI4YITIC.js → chunk-3VTHNE4H.js} +2 -2
- package/dist/{chunk-RRERBS7F.js → chunk-4BHEQMZV.js} +2 -2
- package/dist/{chunk-NOQWN76W.js → chunk-4O5HJBUC.js} +2 -2
- package/dist/{chunk-KV2B2CRW.js → chunk-4ONGXCN3.js} +2 -2
- package/dist/{chunk-KR7PDSUA.js → chunk-4XK4QHOA.js} +2 -2
- package/dist/{chunk-5EWUWRPW.js → chunk-4Y2INBAI.js} +2 -2
- package/dist/{chunk-RT7MYFKW.js → chunk-5AF5WV3R.js} +2 -2
- package/dist/{chunk-DO352QQL.js → chunk-5BIMRKQB.js} +2 -2
- package/dist/chunk-5FEJD2N7.js +2 -0
- package/dist/chunk-5FEJD2N7.js.map +1 -0
- package/dist/{chunk-6QEAL5BB.js → chunk-5IIFCA3F.js} +2 -2
- package/dist/{chunk-IQZ63FQX.js → chunk-5IRUNNZB.js} +2 -2
- package/dist/{chunk-DGHXBSBS.js → chunk-5MH23AST.js} +2 -2
- package/dist/chunk-5TOSVOLY.js +2 -0
- package/dist/chunk-5TOSVOLY.js.map +1 -0
- package/dist/{chunk-SU4FMKBZ.js → chunk-5X2OXK7T.js} +2 -2
- package/dist/{chunk-C6AWXQ67.js → chunk-64C6G646.js} +2 -2
- package/dist/chunk-6AHENEHD.js +2 -0
- package/dist/chunk-6AHENEHD.js.map +1 -0
- package/dist/{chunk-62VYULBI.js → chunk-6IDUDCVS.js} +2 -2
- package/dist/{chunk-37CRJPVL.js → chunk-6IQJJCQ3.js} +2 -2
- package/dist/chunk-6L77BWCI.js +2 -0
- package/dist/{chunk-H3JAWJOE.js.map → chunk-6L77BWCI.js.map} +1 -1
- package/dist/{chunk-ATRYDXM2.js → chunk-6S5Q2OKC.js} +2 -2
- package/dist/{chunk-ZF46HCMZ.js → chunk-6THYSEJ7.js} +2 -2
- package/dist/{chunk-WXLKMK53.js → chunk-6WO4PRGN.js} +2 -2
- package/dist/{chunk-Y62UA5CG.js → chunk-7GO4BHOI.js} +2 -2
- package/dist/chunk-7HGU72GB.js +2 -0
- package/dist/chunk-7HGU72GB.js.map +1 -0
- package/dist/chunk-7IIQUZTH.js +2 -0
- package/dist/chunk-7IIQUZTH.js.map +1 -0
- package/dist/{chunk-BODQC6OK.js → chunk-A7U3KJIP.js} +2 -2
- package/dist/{chunk-WQS5JWRA.js → chunk-AP6MKHTF.js} +2 -2
- package/dist/{chunk-PMCCHSXD.js → chunk-APUJLKUM.js} +2 -2
- package/dist/{chunk-LKTCYO6Y.js → chunk-ASKPQZY2.js} +2 -2
- package/dist/{chunk-4FGKIGKF.js → chunk-AUPAAQUT.js} +2 -2
- package/dist/{chunk-ZHFUFIWX.js → chunk-B3MEKP45.js} +2 -2
- package/dist/{chunk-4X7TVFHA.js → chunk-B4O5YUYL.js} +2 -2
- package/dist/{chunk-DWJGC5YG.js → chunk-B5GH36QL.js} +2 -2
- package/dist/{chunk-Y3G3JGLP.js → chunk-BHTFKQJO.js} +2 -2
- package/dist/{chunk-PXBJVZ6I.js → chunk-BQNZUM27.js} +2 -2
- package/dist/{chunk-UCBZMQGL.js → chunk-BUR3X6FL.js} +2 -2
- package/dist/{chunk-KLBFDP5I.js → chunk-BVMAUJC2.js} +2 -2
- package/dist/{chunk-75HIK6IG.js → chunk-BWM2MYPE.js} +2 -2
- package/dist/{chunk-W3GEGGZY.js → chunk-BXR3EF3L.js} +2 -2
- package/dist/{chunk-OEQXIWJJ.js → chunk-C2HZNBMZ.js} +2 -2
- package/dist/chunk-C4HFMTSB.js +2 -0
- package/dist/chunk-C4HFMTSB.js.map +1 -0
- package/dist/{chunk-FQFIRIKU.js → chunk-CEFR62S6.js} +2 -2
- package/dist/{chunk-OGRQ3NTD.js → chunk-CNSE26GY.js} +2 -2
- package/dist/chunk-CQVOBIXJ.js +2 -0
- package/dist/chunk-CQVOBIXJ.js.map +1 -0
- package/dist/{chunk-ZG2AYULT.js → chunk-CRH5V5JI.js} +2 -2
- package/dist/{chunk-I5L5SRSG.js → chunk-CSXL7LMW.js} +2 -2
- package/dist/{chunk-QVULYOKK.js → chunk-D5LOZT54.js} +2 -2
- package/dist/{chunk-QO7HHRNA.js → chunk-D7MYOH3P.js} +2 -2
- package/dist/chunk-DN6BXTAC.js +2 -0
- package/dist/{chunk-ELXRJXQZ.js → chunk-DSYQY3K6.js} +2 -2
- package/dist/{chunk-CNXDC3M7.js → chunk-EEZFRK2I.js} +2 -2
- package/dist/{chunk-QXXVWOOB.js → chunk-F3UUYQGY.js} +2 -2
- package/dist/{chunk-LT5KIEQH.js → chunk-F7ZDULRC.js} +2 -2
- package/dist/{chunk-WE2AFK6Y.js → chunk-FDTOQHOJ.js} +2 -2
- package/dist/{chunk-EHAAVSJM.js → chunk-FJD5GFO4.js} +2 -2
- package/dist/{chunk-WOARN6WG.js → chunk-FORYAPUZ.js} +2 -2
- package/dist/{chunk-3HGUMECW.js → chunk-GBVBMT3H.js} +2 -2
- package/dist/{chunk-P32JWGIE.js → chunk-GJJFAGAC.js} +2 -2
- package/dist/chunk-GKSG4TTI.js +2 -0
- package/dist/{chunk-2W7O4FMW.js.map → chunk-GKSG4TTI.js.map} +1 -1
- package/dist/{chunk-KCE6IU5X.js → chunk-GM3UWUVL.js} +2 -2
- package/dist/{chunk-R4JUCNE4.js → chunk-GMSYO53D.js} +2 -2
- package/dist/chunk-GPWQPJQ7.js +2 -0
- package/dist/chunk-GPWQPJQ7.js.map +1 -0
- package/dist/{chunk-FPV6S2OQ.js → chunk-H5OZSXSY.js} +2 -2
- package/dist/{chunk-TZIDQ5O3.js → chunk-HBONR7VY.js} +2 -2
- package/dist/{chunk-NDWVOVDM.js → chunk-HDFAFTHC.js} +2 -2
- package/dist/{chunk-NFLN2YB6.js → chunk-HI6GH4J7.js} +2 -2
- package/dist/{chunk-JH3WUGO5.js → chunk-HKNQKO5Y.js} +2 -2
- package/dist/{chunk-HYWQLLZC.js → chunk-HMJ4PIDI.js} +2 -2
- package/dist/{chunk-CZU4U3LY.js → chunk-I4CKTODX.js} +2 -2
- package/dist/{chunk-XGECMN4V.js → chunk-IF42CZJH.js} +2 -2
- package/dist/{chunk-HOEP5XXW.js → chunk-ILX6RI7K.js} +2 -2
- package/dist/{chunk-DSUJKXRQ.js → chunk-IUY4BDUY.js} +2 -2
- package/dist/chunk-IXS65MGJ.js +2 -0
- package/dist/chunk-IXS65MGJ.js.map +1 -0
- package/dist/{chunk-ORXD3SB2.js → chunk-J5BG6GTH.js} +2 -2
- package/dist/{chunk-STJU6LZF.js → chunk-JGKYFH4L.js} +2 -2
- package/dist/{chunk-DLSHZLHX.js → chunk-JJUOWS3K.js} +2 -2
- package/dist/chunk-JKHJR6HK.js +2 -0
- package/dist/chunk-JKHJR6HK.js.map +1 -0
- package/dist/{chunk-75ZSFK7I.js → chunk-JLM4O7ZW.js} +2 -2
- package/dist/{chunk-2EM7DTD6.js → chunk-JMFCG5KA.js} +2 -2
- package/dist/{chunk-OHNH7V7X.js → chunk-JQ3SLOUP.js} +2 -2
- package/dist/{chunk-3ISSVSL5.js → chunk-JXPMQMTT.js} +2 -2
- package/dist/{chunk-O4MWPCG5.js → chunk-KJCCB44M.js} +2 -2
- package/dist/chunk-KPJ5YKXS.js +2 -0
- package/dist/{chunk-UWSG45OM.js.map → chunk-KPJ5YKXS.js.map} +1 -1
- package/dist/{chunk-2BYDZSR5.js → chunk-KX4JZXZV.js} +2 -2
- package/dist/{chunk-2NWQ32VQ.js → chunk-KZ5ZQTBF.js} +2 -2
- package/dist/{chunk-4EZST3RL.js → chunk-LBNS4VT7.js} +2 -2
- package/dist/{chunk-VUKUBHHU.js → chunk-LF3FMXGV.js} +2 -2
- package/dist/{chunk-VZ34NZXF.js → chunk-LFUMRNDK.js} +2 -2
- package/dist/{chunk-BC4V2YAK.js → chunk-LKHRHBFP.js} +2 -2
- package/dist/chunk-M3TA5X2H.js +2 -0
- package/dist/chunk-M3TA5X2H.js.map +1 -0
- package/dist/chunk-MXF3IXNU.js +2 -0
- package/dist/{chunk-XI5G4SGA.js.map → chunk-MXF3IXNU.js.map} +1 -1
- package/dist/chunk-MYO3DIES.js +2 -0
- package/dist/chunk-MYO3DIES.js.map +1 -0
- package/dist/{chunk-CT7POXIP.js → chunk-MZUPTP2B.js} +2 -2
- package/dist/{chunk-KTOVE7ZS.js → chunk-NF2WEMTU.js} +2 -2
- package/dist/chunk-NPVSJYM6.js +2 -0
- package/dist/chunk-NPVSJYM6.js.map +1 -0
- package/dist/{chunk-E5MKB67X.js → chunk-OU2JUD4J.js} +2 -2
- package/dist/{chunk-LVZ5DNTO.js → chunk-OUUH3EQY.js} +2 -2
- package/dist/{chunk-HQLGDW2G.js → chunk-OV4ARZIX.js} +2 -2
- package/dist/{chunk-LZM3BNK3.js → chunk-PFNDDLHG.js} +2 -2
- package/dist/chunk-POWC7LZN.js +2 -0
- package/dist/chunk-POWC7LZN.js.map +1 -0
- package/dist/{chunk-C6I7R7ZH.js → chunk-PRFHWAQZ.js} +2 -2
- package/dist/{chunk-NQWB6O7Z.js → chunk-PUK2TIQX.js} +2 -2
- package/dist/{chunk-CM4UUBU5.js → chunk-PVORGGT3.js} +2 -2
- package/dist/{chunk-IN6QZASY.js → chunk-QEHEOSJT.js} +2 -2
- package/dist/{chunk-ULCAT6MG.js → chunk-QHJ3BYJN.js} +2 -2
- package/dist/{chunk-HFFQ642D.js → chunk-QRSWXKRV.js} +2 -2
- package/dist/chunk-QSF4XFSV.js +2 -0
- package/dist/{chunk-HLLM7OZN.js.map → chunk-QSF4XFSV.js.map} +1 -1
- package/dist/{chunk-MJZCTG7C.js → chunk-QYKJU45J.js} +2 -2
- package/dist/chunk-R4J4TF5F.js +2 -0
- package/dist/chunk-R4J4TF5F.js.map +1 -0
- package/dist/{chunk-NGV62VYV.js → chunk-RK5ZEDOE.js} +2 -2
- package/dist/{chunk-BGEDMAHU.js → chunk-RKP7EEAB.js} +2 -2
- package/dist/{chunk-6PDBJULN.js → chunk-RRZRQAIT.js} +2 -2
- package/dist/{chunk-IUJRGT3T.js → chunk-S2QXSX4Q.js} +2 -2
- package/dist/{chunk-SYSVKYHX.js → chunk-S64P7IA7.js} +2 -2
- package/dist/{chunk-DLCEEROX.js → chunk-SH35XDFY.js} +2 -2
- package/dist/{chunk-AHUSQVQY.js → chunk-SWLNTVAX.js} +2 -2
- package/dist/{chunk-WJ7BE4TU.js → chunk-SXPBC2FP.js} +2 -2
- package/dist/{chunk-GPY3JZJJ.js → chunk-SXW4FROO.js} +2 -2
- package/dist/{chunk-OEPT3ASY.js → chunk-TO2GYQR2.js} +2 -2
- package/dist/{chunk-XDPAVB5E.js → chunk-TWLFK7DD.js} +2 -2
- package/dist/chunk-TXOCMI5I.js +2 -0
- package/dist/{chunk-QZZJE6P7.js.map → chunk-TXOCMI5I.js.map} +1 -1
- package/dist/{chunk-JNXNTCPZ.js → chunk-TZRUHUW5.js} +2 -2
- package/dist/{chunk-73ALSVRF.js → chunk-U6SMLAQI.js} +2 -2
- package/dist/{chunk-BQDYFFER.js → chunk-UUN3PLDE.js} +2 -2
- package/dist/{chunk-G3QDDD53.js → chunk-UZFEJMO6.js} +2 -2
- package/dist/{chunk-A75HEHRS.js → chunk-V2KDZU2F.js} +2 -2
- package/dist/{chunk-XI55YG73.js → chunk-VNMUML3T.js} +2 -2
- package/dist/{chunk-XI55YG73.js.map → chunk-VNMUML3T.js.map} +1 -1
- package/dist/{chunk-MW5JVH3X.js → chunk-VQVE3QA2.js} +2 -2
- package/dist/{chunk-BGSB3XPW.js → chunk-W5WYIDDY.js} +2 -2
- package/dist/{chunk-RKXF7Q7V.js → chunk-WGDZTF7Y.js} +2 -2
- package/dist/{chunk-V2ZDW66A.js → chunk-WYP2CB4I.js} +2 -2
- package/dist/{chunk-FHDMPQNW.js → chunk-X7FILZJH.js} +2 -2
- package/dist/{chunk-VMRTLZQL.js → chunk-X7HD2YL7.js} +2 -2
- package/dist/{chunk-S5BNS2JE.js → chunk-XFVXRCMH.js} +2 -2
- package/dist/{chunk-DOVE5SYY.js → chunk-XNV6ZN7J.js} +2 -2
- package/dist/{chunk-4AJD5YEN.js → chunk-XTVXWH3Q.js} +2 -2
- package/dist/chunk-XXQBX7ND.js +2 -0
- package/dist/chunk-XXQBX7ND.js.map +1 -0
- package/dist/{chunk-7FBX3RI4.js → chunk-YLSASLPB.js} +2 -2
- package/dist/{chunk-X7KIEFEN.js → chunk-YPBPOUGX.js} +2 -2
- package/dist/{chunk-DAYIMXLP.js → chunk-YZMAY2I6.js} +2 -2
- package/dist/{chunk-AES7DMIQ.js → chunk-ZAOE2DGD.js} +2 -2
- package/dist/{chunk-DKOETPI4.js → chunk-ZNHBMI37.js} +2 -2
- package/dist/{chunk-6FWHB4ET.js → chunk-ZYDBHR63.js} +2 -2
- package/dist/chunk-ZZLLPFLS.js +2 -0
- package/dist/{chunk-EGIXB43W.js.map → chunk-ZZLLPFLS.js.map} +1 -1
- package/dist/default-components.d.ts +2 -2
- package/dist/default-components.js +1 -1
- package/dist/default-components.js.map +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -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/ContractAmendment/utils.js +1 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +445 -192
- 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 +6 -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/ContractPreviewStatement.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.d.ts +23 -0
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js +2 -0
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js.map +1 -0
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.d.ts +28 -0
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js +2 -0
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js.map +1 -0
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +6 -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/StatementOfWorkDisclaimer.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +32 -14
- package/dist/flows/ContractorOnboarding/hooks.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/invoiceScheduleConstants.d.ts +15 -0
- package/dist/flows/ContractorOnboarding/invoiceScheduleConstants.js +2 -0
- package/dist/flows/ContractorOnboarding/invoiceScheduleConstants.js.map +1 -0
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.d.ts +103 -0
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.js +2 -0
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.js.map +1 -0
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.d.ts +28 -0
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.js +2 -0
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.js.map +1 -0
- package/dist/flows/ContractorOnboarding/types.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +24 -6
- package/dist/flows/ContractorOnboarding/utils.js +1 -1
- 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/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.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/SummaryResults/SummaryResults.js +1 -1
- 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/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/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +2 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundResetButton.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/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 +4 -4
- 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/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +4 -4
- 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/components/useStepSubmitHandler.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/context.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/index.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/types.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +4 -4
- 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/components/useEmployeeStepSubmitHandler.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +4 -4
- 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/AcknowledgeInformation.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/PaidTimeOff.js +1 -1
- 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/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.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/jsonSchema.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/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/Termination/utils.js +1 -1
- package/dist/flows/types.d.ts +8 -3
- package/dist/flows/useStepState.js +1 -1
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.d.ts +16 -14
- 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-CrU9zAmc.d.ts → mutations-DQjVuza-.d.ts} +1 -1
- package/dist/{remoteFlows-Bj_CV1Kz.d.ts → remoteFlows-B_JbhzWp.d.ts} +50 -2
- package/dist/{types-hMyVACN6.d.ts → types-1mH_uuoA.d.ts} +2 -2
- package/dist/{types-T42SC9k7.d.ts → types-B0iYt6RL.d.ts} +63 -14
- package/dist/{types-BhMTFN9Y.d.ts → types-B93nzmoE.d.ts} +1 -1
- package/dist/{types-DoaH0jUN.d.ts → types-BFzhRUSU.d.ts} +2 -2
- package/dist/{types-BJWaoke6.d.ts → types-CdC2MYpf.d.ts} +2 -2
- package/dist/{types-DKSx7WoE.d.ts → types-Clzf4xjV.d.ts} +3 -3
- package/dist/{types-CrefIfI4.d.ts → types-CoYsxVTI.d.ts} +1 -1
- package/dist/{types-COPUHO0i.d.ts → types-D3U8Wi3X.d.ts} +3 -3
- package/dist/{types.gen-C4K7xky-.d.ts → types.gen-BmtA4XNd.d.ts} +230 -1
- package/dist/{utils-C02FAkSq.d.ts → utils-DJgzqxq4.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/ButtonDefault-HBOULH5V.js +0 -2
- package/dist/CheckboxFieldDefault-ASWSMSJD.js +0 -2
- package/dist/CountryFieldDefault-JNRZX632.js +0 -2
- package/dist/DatePickerFieldDefault-ARSIRGKX.js +0 -2
- package/dist/DrawerDefault-O7NUFWJ4.js +0 -2
- package/dist/EmailFieldDefault-7USH7I6B.js +0 -2
- package/dist/FieldsetToggleButtonDefault-MIRCZJKA.js +0 -2
- package/dist/FileUploadFieldDefault-CFK64E3M.js +0 -2
- package/dist/ForcedValueFieldDefault-IB7EX73O.js +0 -2
- package/dist/MultiSelectFieldDefault-HP5FIBJY.js +0 -2
- package/dist/NumberFieldDefault-P7TLA6SH.js +0 -2
- package/dist/RadioGroupFieldDefault-DRF3H2ZB.js +0 -2
- package/dist/SelectFieldDefault-ANJ24D2G.js +0 -2
- package/dist/StatementDefault-RDC5G24K.js +0 -2
- package/dist/TableFieldDefault-ES7OIYX5.js +0 -2
- package/dist/TelFieldDefault-ZKHU4DKH.js +0 -2
- package/dist/TextAreaFieldDefault-JICC77TL.js +0 -2
- package/dist/TextFieldDefault-RJSD2YDR.js +0 -2
- package/dist/TimeFieldDefault-3SO5KXVJ.js +0 -2
- package/dist/WorkScheduleFieldDefault-JAU2YFQF.js +0 -2
- package/dist/ZendeskDrawerDefault-HGKAUCUV.js +0 -2
- package/dist/chunk-2DRF5M3J.js +0 -2
- package/dist/chunk-2DRF5M3J.js.map +0 -1
- package/dist/chunk-2W7O4FMW.js +0 -2
- package/dist/chunk-5MPW7QWT.js +0 -2
- package/dist/chunk-AAOU5HS2.js +0 -2
- package/dist/chunk-AAOU5HS2.js.map +0 -1
- package/dist/chunk-BS2YN6CS.js +0 -2
- package/dist/chunk-BS2YN6CS.js.map +0 -1
- package/dist/chunk-EGIXB43W.js +0 -2
- package/dist/chunk-H3JAWJOE.js +0 -2
- package/dist/chunk-HLLM7OZN.js +0 -2
- package/dist/chunk-LUADE5XK.js +0 -2
- package/dist/chunk-LUADE5XK.js.map +0 -1
- package/dist/chunk-MREG2JYT.js +0 -2
- package/dist/chunk-MREG2JYT.js.map +0 -1
- package/dist/chunk-NRH6RION.js +0 -2
- package/dist/chunk-NRH6RION.js.map +0 -1
- package/dist/chunk-NXRWBI36.js +0 -2
- package/dist/chunk-NXRWBI36.js.map +0 -1
- package/dist/chunk-QZZJE6P7.js +0 -2
- package/dist/chunk-UWSG45OM.js +0 -2
- package/dist/chunk-WDO7XH6B.js +0 -2
- package/dist/chunk-WDO7XH6B.js.map +0 -1
- package/dist/chunk-XI5G4SGA.js +0 -2
- package/dist/chunk-XPVYX7LE.js +0 -2
- package/dist/chunk-XPVYX7LE.js.map +0 -1
- package/dist/chunk-XZMPAJRL.js +0 -2
- package/dist/chunk-XZMPAJRL.js.map +0 -1
- /package/dist/{ButtonDefault-HBOULH5V.js.map → ButtonDefault-N32RTG32.js.map} +0 -0
- /package/dist/{CheckboxFieldDefault-ASWSMSJD.js.map → CheckboxFieldDefault-JXNMWIRK.js.map} +0 -0
- /package/dist/{CountryFieldDefault-JNRZX632.js.map → CountryFieldDefault-SO4WS7KE.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-ARSIRGKX.js.map → DatePickerFieldDefault-AZHJN2U6.js.map} +0 -0
- /package/dist/{DrawerDefault-O7NUFWJ4.js.map → DrawerDefault-E67XIROQ.js.map} +0 -0
- /package/dist/{EmailFieldDefault-7USH7I6B.js.map → EmailFieldDefault-QVKXB67I.js.map} +0 -0
- /package/dist/{FieldsetToggleButtonDefault-MIRCZJKA.js.map → FieldsetToggleButtonDefault-SHDKV2VO.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-CFK64E3M.js.map → FileUploadFieldDefault-QHOKNCU2.js.map} +0 -0
- /package/dist/{ForcedValueFieldDefault-IB7EX73O.js.map → ForcedValueFieldDefault-BEOC4MYU.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-HP5FIBJY.js.map → MultiSelectFieldDefault-QKXVTGF2.js.map} +0 -0
- /package/dist/{NumberFieldDefault-P7TLA6SH.js.map → NumberFieldDefault-O7OKTFG4.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-DRF3H2ZB.js.map → RadioGroupFieldDefault-ZHHXDUUU.js.map} +0 -0
- /package/dist/{SelectFieldDefault-ANJ24D2G.js.map → SelectFieldDefault-FWQ7D6DU.js.map} +0 -0
- /package/dist/{StatementDefault-RDC5G24K.js.map → StatementDefault-33EDZARR.js.map} +0 -0
- /package/dist/{TableFieldDefault-ES7OIYX5.js.map → TableFieldDefault-BJIHEN3V.js.map} +0 -0
- /package/dist/{TelFieldDefault-ZKHU4DKH.js.map → TelFieldDefault-RA7IBELJ.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-JICC77TL.js.map → TextAreaFieldDefault-NEFWXEE2.js.map} +0 -0
- /package/dist/{TextFieldDefault-RJSD2YDR.js.map → TextFieldDefault-RXNU36AX.js.map} +0 -0
- /package/dist/{TimeFieldDefault-3SO5KXVJ.js.map → TimeFieldDefault-KIJNBWYF.js.map} +0 -0
- /package/dist/{WorkScheduleFieldDefault-JAU2YFQF.js.map → WorkScheduleFieldDefault-23WY3SVD.js.map} +0 -0
- /package/dist/{ZendeskDrawerDefault-HGKAUCUV.js.map → ZendeskDrawerDefault-DC4SUPEC.js.map} +0 -0
- /package/dist/{chunk-CD2QYFEH.js.map → chunk-2IL6T6EB.js.map} +0 -0
- /package/dist/{chunk-Y7PBPPUC.js.map → chunk-2LR5N626.js.map} +0 -0
- /package/dist/{chunk-LQFLXXBR.js.map → chunk-2QVO3BVI.js.map} +0 -0
- /package/dist/{chunk-DDH7MZ7M.js.map → chunk-2W354SK7.js.map} +0 -0
- /package/dist/{chunk-MJ6Z7ARR.js.map → chunk-36GVXD2Z.js.map} +0 -0
- /package/dist/{chunk-YDL42SVF.js.map → chunk-36JXX3VA.js.map} +0 -0
- /package/dist/{chunk-WI4YITIC.js.map → chunk-3VTHNE4H.js.map} +0 -0
- /package/dist/{chunk-RRERBS7F.js.map → chunk-4BHEQMZV.js.map} +0 -0
- /package/dist/{chunk-NOQWN76W.js.map → chunk-4O5HJBUC.js.map} +0 -0
- /package/dist/{chunk-KV2B2CRW.js.map → chunk-4ONGXCN3.js.map} +0 -0
- /package/dist/{chunk-KR7PDSUA.js.map → chunk-4XK4QHOA.js.map} +0 -0
- /package/dist/{chunk-5EWUWRPW.js.map → chunk-4Y2INBAI.js.map} +0 -0
- /package/dist/{chunk-RT7MYFKW.js.map → chunk-5AF5WV3R.js.map} +0 -0
- /package/dist/{chunk-DO352QQL.js.map → chunk-5BIMRKQB.js.map} +0 -0
- /package/dist/{chunk-6QEAL5BB.js.map → chunk-5IIFCA3F.js.map} +0 -0
- /package/dist/{chunk-IQZ63FQX.js.map → chunk-5IRUNNZB.js.map} +0 -0
- /package/dist/{chunk-DGHXBSBS.js.map → chunk-5MH23AST.js.map} +0 -0
- /package/dist/{chunk-SU4FMKBZ.js.map → chunk-5X2OXK7T.js.map} +0 -0
- /package/dist/{chunk-C6AWXQ67.js.map → chunk-64C6G646.js.map} +0 -0
- /package/dist/{chunk-62VYULBI.js.map → chunk-6IDUDCVS.js.map} +0 -0
- /package/dist/{chunk-37CRJPVL.js.map → chunk-6IQJJCQ3.js.map} +0 -0
- /package/dist/{chunk-ATRYDXM2.js.map → chunk-6S5Q2OKC.js.map} +0 -0
- /package/dist/{chunk-ZF46HCMZ.js.map → chunk-6THYSEJ7.js.map} +0 -0
- /package/dist/{chunk-WXLKMK53.js.map → chunk-6WO4PRGN.js.map} +0 -0
- /package/dist/{chunk-Y62UA5CG.js.map → chunk-7GO4BHOI.js.map} +0 -0
- /package/dist/{chunk-BODQC6OK.js.map → chunk-A7U3KJIP.js.map} +0 -0
- /package/dist/{chunk-WQS5JWRA.js.map → chunk-AP6MKHTF.js.map} +0 -0
- /package/dist/{chunk-PMCCHSXD.js.map → chunk-APUJLKUM.js.map} +0 -0
- /package/dist/{chunk-LKTCYO6Y.js.map → chunk-ASKPQZY2.js.map} +0 -0
- /package/dist/{chunk-4FGKIGKF.js.map → chunk-AUPAAQUT.js.map} +0 -0
- /package/dist/{chunk-ZHFUFIWX.js.map → chunk-B3MEKP45.js.map} +0 -0
- /package/dist/{chunk-4X7TVFHA.js.map → chunk-B4O5YUYL.js.map} +0 -0
- /package/dist/{chunk-DWJGC5YG.js.map → chunk-B5GH36QL.js.map} +0 -0
- /package/dist/{chunk-Y3G3JGLP.js.map → chunk-BHTFKQJO.js.map} +0 -0
- /package/dist/{chunk-PXBJVZ6I.js.map → chunk-BQNZUM27.js.map} +0 -0
- /package/dist/{chunk-UCBZMQGL.js.map → chunk-BUR3X6FL.js.map} +0 -0
- /package/dist/{chunk-KLBFDP5I.js.map → chunk-BVMAUJC2.js.map} +0 -0
- /package/dist/{chunk-75HIK6IG.js.map → chunk-BWM2MYPE.js.map} +0 -0
- /package/dist/{chunk-W3GEGGZY.js.map → chunk-BXR3EF3L.js.map} +0 -0
- /package/dist/{chunk-OEQXIWJJ.js.map → chunk-C2HZNBMZ.js.map} +0 -0
- /package/dist/{chunk-FQFIRIKU.js.map → chunk-CEFR62S6.js.map} +0 -0
- /package/dist/{chunk-OGRQ3NTD.js.map → chunk-CNSE26GY.js.map} +0 -0
- /package/dist/{chunk-ZG2AYULT.js.map → chunk-CRH5V5JI.js.map} +0 -0
- /package/dist/{chunk-I5L5SRSG.js.map → chunk-CSXL7LMW.js.map} +0 -0
- /package/dist/{chunk-QVULYOKK.js.map → chunk-D5LOZT54.js.map} +0 -0
- /package/dist/{chunk-QO7HHRNA.js.map → chunk-D7MYOH3P.js.map} +0 -0
- /package/dist/{chunk-5MPW7QWT.js.map → chunk-DN6BXTAC.js.map} +0 -0
- /package/dist/{chunk-ELXRJXQZ.js.map → chunk-DSYQY3K6.js.map} +0 -0
- /package/dist/{chunk-CNXDC3M7.js.map → chunk-EEZFRK2I.js.map} +0 -0
- /package/dist/{chunk-QXXVWOOB.js.map → chunk-F3UUYQGY.js.map} +0 -0
- /package/dist/{chunk-LT5KIEQH.js.map → chunk-F7ZDULRC.js.map} +0 -0
- /package/dist/{chunk-WE2AFK6Y.js.map → chunk-FDTOQHOJ.js.map} +0 -0
- /package/dist/{chunk-EHAAVSJM.js.map → chunk-FJD5GFO4.js.map} +0 -0
- /package/dist/{chunk-WOARN6WG.js.map → chunk-FORYAPUZ.js.map} +0 -0
- /package/dist/{chunk-3HGUMECW.js.map → chunk-GBVBMT3H.js.map} +0 -0
- /package/dist/{chunk-P32JWGIE.js.map → chunk-GJJFAGAC.js.map} +0 -0
- /package/dist/{chunk-KCE6IU5X.js.map → chunk-GM3UWUVL.js.map} +0 -0
- /package/dist/{chunk-R4JUCNE4.js.map → chunk-GMSYO53D.js.map} +0 -0
- /package/dist/{chunk-FPV6S2OQ.js.map → chunk-H5OZSXSY.js.map} +0 -0
- /package/dist/{chunk-TZIDQ5O3.js.map → chunk-HBONR7VY.js.map} +0 -0
- /package/dist/{chunk-NDWVOVDM.js.map → chunk-HDFAFTHC.js.map} +0 -0
- /package/dist/{chunk-NFLN2YB6.js.map → chunk-HI6GH4J7.js.map} +0 -0
- /package/dist/{chunk-JH3WUGO5.js.map → chunk-HKNQKO5Y.js.map} +0 -0
- /package/dist/{chunk-HYWQLLZC.js.map → chunk-HMJ4PIDI.js.map} +0 -0
- /package/dist/{chunk-CZU4U3LY.js.map → chunk-I4CKTODX.js.map} +0 -0
- /package/dist/{chunk-XGECMN4V.js.map → chunk-IF42CZJH.js.map} +0 -0
- /package/dist/{chunk-HOEP5XXW.js.map → chunk-ILX6RI7K.js.map} +0 -0
- /package/dist/{chunk-DSUJKXRQ.js.map → chunk-IUY4BDUY.js.map} +0 -0
- /package/dist/{chunk-ORXD3SB2.js.map → chunk-J5BG6GTH.js.map} +0 -0
- /package/dist/{chunk-STJU6LZF.js.map → chunk-JGKYFH4L.js.map} +0 -0
- /package/dist/{chunk-DLSHZLHX.js.map → chunk-JJUOWS3K.js.map} +0 -0
- /package/dist/{chunk-75ZSFK7I.js.map → chunk-JLM4O7ZW.js.map} +0 -0
- /package/dist/{chunk-2EM7DTD6.js.map → chunk-JMFCG5KA.js.map} +0 -0
- /package/dist/{chunk-OHNH7V7X.js.map → chunk-JQ3SLOUP.js.map} +0 -0
- /package/dist/{chunk-3ISSVSL5.js.map → chunk-JXPMQMTT.js.map} +0 -0
- /package/dist/{chunk-O4MWPCG5.js.map → chunk-KJCCB44M.js.map} +0 -0
- /package/dist/{chunk-2BYDZSR5.js.map → chunk-KX4JZXZV.js.map} +0 -0
- /package/dist/{chunk-2NWQ32VQ.js.map → chunk-KZ5ZQTBF.js.map} +0 -0
- /package/dist/{chunk-4EZST3RL.js.map → chunk-LBNS4VT7.js.map} +0 -0
- /package/dist/{chunk-VUKUBHHU.js.map → chunk-LF3FMXGV.js.map} +0 -0
- /package/dist/{chunk-VZ34NZXF.js.map → chunk-LFUMRNDK.js.map} +0 -0
- /package/dist/{chunk-BC4V2YAK.js.map → chunk-LKHRHBFP.js.map} +0 -0
- /package/dist/{chunk-CT7POXIP.js.map → chunk-MZUPTP2B.js.map} +0 -0
- /package/dist/{chunk-KTOVE7ZS.js.map → chunk-NF2WEMTU.js.map} +0 -0
- /package/dist/{chunk-E5MKB67X.js.map → chunk-OU2JUD4J.js.map} +0 -0
- /package/dist/{chunk-LVZ5DNTO.js.map → chunk-OUUH3EQY.js.map} +0 -0
- /package/dist/{chunk-HQLGDW2G.js.map → chunk-OV4ARZIX.js.map} +0 -0
- /package/dist/{chunk-LZM3BNK3.js.map → chunk-PFNDDLHG.js.map} +0 -0
- /package/dist/{chunk-C6I7R7ZH.js.map → chunk-PRFHWAQZ.js.map} +0 -0
- /package/dist/{chunk-NQWB6O7Z.js.map → chunk-PUK2TIQX.js.map} +0 -0
- /package/dist/{chunk-CM4UUBU5.js.map → chunk-PVORGGT3.js.map} +0 -0
- /package/dist/{chunk-IN6QZASY.js.map → chunk-QEHEOSJT.js.map} +0 -0
- /package/dist/{chunk-ULCAT6MG.js.map → chunk-QHJ3BYJN.js.map} +0 -0
- /package/dist/{chunk-HFFQ642D.js.map → chunk-QRSWXKRV.js.map} +0 -0
- /package/dist/{chunk-MJZCTG7C.js.map → chunk-QYKJU45J.js.map} +0 -0
- /package/dist/{chunk-NGV62VYV.js.map → chunk-RK5ZEDOE.js.map} +0 -0
- /package/dist/{chunk-BGEDMAHU.js.map → chunk-RKP7EEAB.js.map} +0 -0
- /package/dist/{chunk-6PDBJULN.js.map → chunk-RRZRQAIT.js.map} +0 -0
- /package/dist/{chunk-IUJRGT3T.js.map → chunk-S2QXSX4Q.js.map} +0 -0
- /package/dist/{chunk-SYSVKYHX.js.map → chunk-S64P7IA7.js.map} +0 -0
- /package/dist/{chunk-DLCEEROX.js.map → chunk-SH35XDFY.js.map} +0 -0
- /package/dist/{chunk-AHUSQVQY.js.map → chunk-SWLNTVAX.js.map} +0 -0
- /package/dist/{chunk-WJ7BE4TU.js.map → chunk-SXPBC2FP.js.map} +0 -0
- /package/dist/{chunk-GPY3JZJJ.js.map → chunk-SXW4FROO.js.map} +0 -0
- /package/dist/{chunk-OEPT3ASY.js.map → chunk-TO2GYQR2.js.map} +0 -0
- /package/dist/{chunk-XDPAVB5E.js.map → chunk-TWLFK7DD.js.map} +0 -0
- /package/dist/{chunk-JNXNTCPZ.js.map → chunk-TZRUHUW5.js.map} +0 -0
- /package/dist/{chunk-73ALSVRF.js.map → chunk-U6SMLAQI.js.map} +0 -0
- /package/dist/{chunk-BQDYFFER.js.map → chunk-UUN3PLDE.js.map} +0 -0
- /package/dist/{chunk-G3QDDD53.js.map → chunk-UZFEJMO6.js.map} +0 -0
- /package/dist/{chunk-A75HEHRS.js.map → chunk-V2KDZU2F.js.map} +0 -0
- /package/dist/{chunk-MW5JVH3X.js.map → chunk-VQVE3QA2.js.map} +0 -0
- /package/dist/{chunk-BGSB3XPW.js.map → chunk-W5WYIDDY.js.map} +0 -0
- /package/dist/{chunk-RKXF7Q7V.js.map → chunk-WGDZTF7Y.js.map} +0 -0
- /package/dist/{chunk-V2ZDW66A.js.map → chunk-WYP2CB4I.js.map} +0 -0
- /package/dist/{chunk-FHDMPQNW.js.map → chunk-X7FILZJH.js.map} +0 -0
- /package/dist/{chunk-VMRTLZQL.js.map → chunk-X7HD2YL7.js.map} +0 -0
- /package/dist/{chunk-S5BNS2JE.js.map → chunk-XFVXRCMH.js.map} +0 -0
- /package/dist/{chunk-DOVE5SYY.js.map → chunk-XNV6ZN7J.js.map} +0 -0
- /package/dist/{chunk-4AJD5YEN.js.map → chunk-XTVXWH3Q.js.map} +0 -0
- /package/dist/{chunk-7FBX3RI4.js.map → chunk-YLSASLPB.js.map} +0 -0
- /package/dist/{chunk-X7KIEFEN.js.map → chunk-YPBPOUGX.js.map} +0 -0
- /package/dist/{chunk-DAYIMXLP.js.map → chunk-YZMAY2I6.js.map} +0 -0
- /package/dist/{chunk-AES7DMIQ.js.map → chunk-ZAOE2DGD.js.map} +0 -0
- /package/dist/{chunk-DKOETPI4.js.map → chunk-ZNHBMI37.js.map} +0 -0
- /package/dist/{chunk-6FWHB4ET.js.map → chunk-ZYDBHR63.js.map} +0 -0
package/dist/chunk-NXRWBI36.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-P37U34EQ.js";function er(r){return typeof r=="object"&&r!==null&&"error"in r&&"rawError"in r&&"normalizedErrors"in r&&"fieldErrors"in r&&Array.isArray(r.fieldErrors)}a(er,"isMutationError");function E(r){let t=r.error||r;if(!t||!t.errors||typeof t.errors!="object")return[];let n=[];return Object.entries(t.errors).forEach(([i,e])=>{if(Array.isArray(e)){let s=e.filter(o=>o===null||typeof o!="object").map(o=>String(o));s.length>0&&n.push({field:i,messages:s});return}e&&typeof e=="object"&&Object.entries(e).forEach(([s,o])=>{Array.isArray(o)&&n.push({field:s,messages:o.map(u=>String(u))})})}),n}a(E,"extractFieldErrors");function tr(r){return{mutateAsyncOrThrow:a(t=>new Promise((n,i)=>{r.mutate(t,{onSuccess:a(e=>{if("data"in e&&e.data!==null&&!e.error)n(e.data);else{let s=E(e.error),o=e.error.error||e.error,{response:u}=e,l=typeof o?.message=="string"?o.message:"Something went wrong. Please try again later.";i({error:new Error(l),rawError:e.error,normalizedErrors:o.errors||{},fieldErrors:s,response:u})}},"onSuccess"),onError:a(e=>{let s=E(e),o=e.error||e;i({error:e,rawError:e,normalizedErrors:o.errors||{},fieldErrors:s,response:e?.response})},"onError")})}),"mutateAsyncOrThrow"),mutateAsync:a(t=>new Promise((n,i)=>{r.mutate(t,{onSuccess:a(e=>{if(e.data)n({data:e.data,error:null});else{let s=E(e.error),o=e.error.error||e.error,u=typeof o?.message=="string"?o.message:"Something went wrong. Please try again later.";n({data:null,error:new Error(u),rawError:e.error,fieldErrors:s})}},"onSuccess"),onError:a(e=>{let s=E(e);i({data:null,error:e,rawError:e,fieldErrors:s})},"onError")})}),"mutateAsync")}}a(tr,"mutationToPromise");function A(r,t){return!r||r.length===0?[]:r.map(n=>{let i=t?.[n.field],e=n.field;if(!i&&t&&n.field.includes("/")){let s=n.field.split("/"),o=t;for(let u of s)if(o&&typeof o=="object")o=o[u];else{o=void 0;break}i=o}return typeof i?.label=="string"&&(e=i.label),{...n,userFriendlyLabel:e,field:n.field,messages:n.messages}})}a(A,"normalizeFieldErrors");var j=a(r=>new Promise((t,n)=>{let i=new FileReader;i.readAsDataURL(r),i.onload=()=>t(i.result),i.onerror=e=>n(e)}),"toBase64"),V=a(async r=>await Promise.all(r.map(async n=>{let i=await j(n);return{...n,name:n.name,size:n.size,type:n.type,content:i.split(",")[1]}})),"convertFilesToBase64");function sr(r,t){let n=r.split(","),i=n[0].match(/:(.*?);/)?.[1],e=atob(n[1]),s=Uint8Array.from(e,o=>o.charCodeAt(0));return new File([s],t,{type:i})}a(sr,"dataURLtoFile");import{addBusinessDays as G,isWeekend as v,nextMonday as J}from"date-fns";import{clsx as C}from"clsx";import{twMerge as L}from"tailwind-merge";import y from"dompurify";function mr(...r){return L(C(r))}a(mr,"cn");function gr(r,t="EUR"){if(r==null)return"-";let n=r/100;return new Intl.NumberFormat("en",{style:"currency",currency:t,currencyDisplay:"symbol"}).format(n)}a(gr,"formatCurrency");var U=a(r=>{let t={};return r.inner.forEach(n=>{n.path!==void 0&&(t[n.path]={type:n.type,errors:n.errors,inner:n.inner.map(i=>U(i))})}),t},"transformYupErrorsIntoObject");function Fr(r){window.RemoteFlowsSDK={version:r}}a(Fr,"debug");var z=a(r=>{let t=new Set(r?r.toLowerCase().split(" "):[]);return t.add("noopener"),t.add("noreferrer"),Array.from(t).join(" ")},"appendSecureRelValue");y.isSupported&&y.addHook("afterSanitizeAttributes",r=>{let t=r.getAttribute("target");if(r.tagName==="A"&&(!t||t!=="_self")){let n=r.getAttribute("href");if(n&&!n.startsWith("#")&&/^https?:\/\//i.test(n)){r.setAttribute("target","_blank");let i=r.getAttribute("rel");r.setAttribute("rel",z(i))}}});var Er=a(r=>y.sanitize(r,{ADD_ATTR:["target"]}),"sanitizeHtml"),yr=a(r=>{let n=new DOMParser().parseFromString(r,"text/html");n.querySelectorAll("img").forEach(s=>{s.setAttribute("onerror","this.style.display='none'")});let e=n.body.innerHTML;return y.sanitize(e,{ADD_ATTR:["target","onerror"]})},"sanitizeHtmlWithImageErrorHandling"),f=a(r=>r==null?r:new DOMParser().parseFromString(r,"text/html").body.textContent||"","stripHtml"),Tr=a(r=>{if(!r)return"";let t=r.trim();return t.startsWith("data:application/pdf;base64,")||t.startsWith("data:")?t:`data:application/pdf;base64,${t}`},"clearBase64Data");function W(r,t,n){return t?Object.fromEntries(Object.entries(r).map(([i,e])=>{if(e===void 0)return[i,void 0];let s=t.find(o=>o.name===i);if(s?.isVisible===!1||s?.deprecated)return[i,void 0];if(s?.type==="radio"||s?.type==="select"){let o=s.options.find(u=>u.value===e);return o?[i,{prettyValue:f(o?.label),label:f(s?.label),inputType:s?.type}]:void 0}if(s?.type==="checkbox"&&s?.const)return[i,{prettyValue:!0,label:f(s.label),inputType:s?.type}];if(s?.type==="countries"&&Array.isArray(e))return[i,{prettyValue:e.join(),label:f(s.label),inputType:s?.type}];if(s?.type==="fieldset"){let o=W(e,s.fields,n);if(!o.label&&o.value){let u={...o.value,label:f(s.label),inputType:s?.type};return[i,u]}return[i,o]}if(s?.type==="money")return[i,{prettyValue:!n?.skipMoneyConversion&&(typeof e=="string"||typeof e=="number")?T(e):e,label:f(s.label),inputType:s?.type,currency:s?.currency}];if(s)return[i,{prettyValue:e,label:f(s.label),inputType:s?.type}]}).filter(Boolean)):{}}a(W,"prettifyFormValues");function B(r){return{error:new Error(r),rawError:{message:r},fieldErrors:[]}}a(B,"createStructuredError");function H(r){return typeof r=="object"&&r!==null&&"error"in r&&"rawError"in r&&"fieldErrors"in r}a(H,"isStructuredError");function br(r,t,n){if(H(r)){let e=A(r.fieldErrors||[],t);return n&&_(n,e),{error:r.error,rawError:r.rawError,fieldErrors:e}}return{...B(r instanceof Error?r.message:"An unexpected error occurred"),fieldErrors:[]}}a(br,"handleStepError");function b(r,t,n){if(r==null||typeof t!="string")return n;let i=t.split("."),e=r;for(let s of i){if(e==null||typeof e!="object")return n;e=e[s]}return e===void 0?n:e}a(b,"getNestedValue");function _(r,t){t.forEach(({field:n,messages:i})=>{try{let e=n.replace(/\//g,".").replace(/\[(\d+)\]/g,".$1");r.setError(e,{type:"server",message:i.join(". ")})}catch(e){console.warn(`Could not set error for field: ${n}`,e)}})}a(_,"setFormFieldErrors");var X={TEXT:"text",TEXTAREA:"textarea",NUMBER:"number",SELECT:"select",COUNTRIES:"countries",TEL:"tel",EMAIL:"email",MONEY:"money",DATE:"date",DATE_RANGE:"date-range",CURRENCIES:"currencies",TIME:"time"},Y={CHECKBOX:"checkbox",ACK_CHECK:"ack-check"},c={FILE:"file",RADIO:"radio",RADIO_CARD:"radio-card",GROUP_ARRAY:"group-array",EXTRA:"extra",STATEMENT:"statement",HIDDEN:"hidden",FIELDSET:"fieldset",FIELDSET_FLAT:"fieldset-flat",WORK_SCHEDULE:"work-schedule",WORK_WEEK_SCHEDULE:"work-week-schedule",BENEFITS:"benefits",SIGNATURE:"signature",SELECT_MULTIPLE:"select-multiple",...X,...Y};function D(r){return Math.round((r+Number.EPSILON)*100)/100}a(D,"round");function $(r){return parseFloat(r.replace(/,/g,""))}a($,"convertToValidCost");function K(r){if(r==null||r===""||Number.isNaN(r)||Array.isArray(r)||typeof r=="boolean")return null;let t;return typeof r=="string"?t=$(r):t=r,D(t*100)}a(K,"convertToCents");function T(r){if(r==null||Number.isNaN(r))return null;let t;return typeof r=="string"?t=$(r||"0"):t=r,D(t/100)}a(T,"convertFromCents");var x=a(r=>Object.entries(r||{}).reduce((t,[n,i])=>(Array.isArray(i)?t[n]=i.map(e=>typeof e=="object"&&e!==null?x(e):typeof e=="string"?e.trim():e):typeof i=="object"&&i!==null?t[n]=x(i):t[n]=typeof i=="string"?i.trim():i,t),{}),"trimStringValues");function h(r,t){let n={};return t.forEach(i=>{let e=i.name;if(!(!Object.prototype.hasOwnProperty.call(r,e)&&!(i.type===c.FIELDSET&&i.valueGroupingDisabled))){if(i.type===c.FIELDSET&&i.valueGroupingDisabled){Object.assign(n,h(r,i.fields));return}i.readOnly&&i.defaultValue?n[e]=i.defaultValue:n[e]=r[e]}}),n}a(h,"prefillReadOnlyFields");function k(r,t){return r.reduce((n,i)=>(i.type===c.FIELDSET&&i.valueGroupingDisabled?Object.assign(n,k(i.fields,t)):Object.prototype.hasOwnProperty.call(t,i.name)&&(n[i.name]=t[i.name]),n),{})}a(k,"extractFieldsetFieldsValues");var S={[c.COUNTRIES]:{transformValueToAPI:a(r=>t=>!r.multiple||typeof t=="string"?t:t.map(n=>typeof n=="string"?n:n.name),"transformValueToAPI"),transformValue:a(r=>{let t=a(n=>n?.name||n?.value||n?.label,"getCountryValue");return Array.isArray(r)?r.map(t):t(r)||""},"transformValue")},[c.NUMBER]:{transformValueToAPI:a(()=>r=>{let t=Number(r);return Number.isNaN(t)?r:t},"transformValueToAPI")},[c.MONEY]:{transformValueFromAPI:a(()=>r=>T(r)??"","transformValueFromAPI"),transformValueToAPI:a(()=>K,"transformValueToAPI")},[c.CHECKBOX]:{transformValueToAPI:a(r=>t=>t===void 0?!1:r.const&&t===!0?r.const:t,"transformValueToAPI")},[c.SELECT]:{transformValue:a(r=>Array.isArray(r)?r.map(t=>t.value):r?.value??"","transformValue")},[c.FILE]:{transformValueToAPI:a(()=>async r=>r?await V(r):null,"transformValueToAPI")}};async function m(r={},t){let n=t.filter(e=>r[e.name]||e.type===c.FIELDSET&&e.valueGroupingDisabled);return(await Promise.all(n.map(async e=>{let s={};switch(e.type){case c.FIELDSET:{let o=e;if(o.valueGroupingDisabled){let u=k(o.fields,r);Object.assign(s,await m(u,o.fields))}else{let u=r[e.name];if(u&&typeof u=="object"&&!Array.isArray(u)){let l=Object.fromEntries(Object.entries(u).filter(([,d])=>d!==""&&d!==null&&d!==void 0));s[e.name]=Object.keys(l).length>0?await m(l,o.fields):void 0}else s[e.name]=await m(u,o.fields)}break}case c.TEXTAREA:case c.TEXT:s[e.name]=r[e.name].replace(/\0/g,"");break;case c.GROUP_ARRAY:{let o=e?.fields?.().map(l=>({...l,name:l.nameKey||""})),u=await Promise.all(r[e.name]?.map(l=>m(l,o))||[]);s[e.name]=u;break}case c.EXTRA:{let o=e;if(o.includeValueToApi!==!1){let u=r[o.name],l=o?.transformValueToAPI||S[o.type]?.transformValueToAPI;if(l){let d=l(e)(u);s[o.name]=d instanceof Promise?await d:d;break}s[o.name]=u;break}s[o.name]=void 0;break}default:{let o=r[e.name],u=e?.transformValueToAPI||S[e.type]?.transformValueToAPI;if(u){let l=u(e)(o);s[e.name]=l instanceof Promise?await l:l;break}s[e.name]=o;break}}return e.const!==void 0&&e.const===e.default&&(s[e.name]=e.const),s}))).reduce((e,s)=>({...e,...s}),{...r})}a(m,"parseFormValuesToAPI");function P(r,t){return r.visibilityCondition?r.visibilityCondition(t):typeof r.isVisible<"u"?!!r.isVisible:!0}a(P,"isFieldVisible");function R(r,t){return r.calculateDynamicProperties?{...r,...r.calculateDynamicProperties(t)||{}}:r}a(R,"applyFieldDynamicProperties");function M(r,t,n,i){let e={};return t.map(s=>R(s,r)).forEach(s=>{let o=s.name;i&&(o=o?`${i}.${s.name}`:i);let u=b(r,o);if(!(!P(s,r)&&!(n&&u))&&!s.meta?.ignoreValue)if(s.type==="fieldset"&&s.valueGroupingDisabled)Object.assign(e,M(r,s.fields,n,o));else if(Array.isArray(s.fields))e[s.name]=M(r,s.fields,n,o);else{if(u===void 0)return;e[s.name]=u}}),e}a(M,"excludeValuesInvisible");function q(r){return Object.fromEntries(Object.entries(r).filter(([,t])=>t!=null&&t!==""))}a(q,"removeEmptyValues");function w(r){return Array.isArray(r)?r.map(w):r&&typeof r=="object"?Object.entries(r).reduce((t,[n,i])=>(n.startsWith("_")||(t[n]=w(i)),t),{}):r}a(w,"cleanUnderscoreFields");async function Q(r,t,n){let i=n?.keepInvisibleValues?r:M(r,t),e=await m(i,t),s=x(e),o=q(s),u=h(o,t);return w(u)}a(Q,"parseSubmitValues");async function Ar(r,t,n={isPartialValidation:!1}){return await Q(r,t,{keepInvisibleValues:n?.isPartialValidation})}a(Ar,"parseJSFToValidate");function Z(r){if(r!==c.FILE)return""}a(Z,"getDefaultValueForType");function I(r,t){let n=b(r,t.name),i=t?.transformValueFromAPI||S[t.type]?.transformValueFromAPI;if(i)return i(t)(n);let e=typeof t.value=="function"?t.value(n,r):null,s=typeof t.value!="function"?t.value:null,o=t.checkboxValue===!0?n||!1:null,u=a(l=>l===""?void 0:l,"excludeString");return u(e)??u(n)??u(s)??u(t.default)??o??Z(t.type)}a(I,"getInitialDefaultValue");function O(r,t,n){let i={},e=r.name;n&&(e=e?`${n}.${e}`:n);let s=r.fields;if(Array.isArray(s)){let o={};s.forEach(u=>{Object.assign(o,O(u,t,e))}),r.type===c.FIELDSET&&r.valueGroupingDisabled?Object.assign(i,o):i[r.name]=o}else i[r.name]=I(t,{...r,name:e});return i}a(O,"getInitialSubFieldValues");function rr(r,t){let n={},i=t;return r.map(e=>R(e,i)).forEach(e=>{switch(e.type){case c.FIELDSET:{if(e.valueGroupingDisabled)Object.assign(n,rr(e.fields,i));else{let s=O(e,i);Object.assign(n,s)}break}default:{n[e.name]||(n[e.name]=I(i,e));break}}}),n}a(rr,"getInitialValues");function Vr({fields:r=[],fieldsets:t={},values:n}){let i=Object.keys(t);if(!i?.length)return r;let e=new Set(i.flatMap(l=>t[l]?.propertiesByName??[]));return i.map(l=>{let{propertiesByName:d=[],...g}=t[l],F=d.map(p=>r.find(N=>N.name===p)).filter(p=>!!p);return{...g,name:l,type:"fieldset-flat",inputType:"fieldset-flat",fields:F,label:t[l].title,isVisible:F.map(p=>R(p,n)).some(p=>P(p,n))}}).reduce((l,d)=>{let g=[...l],F=d.fields[0]?l.findIndex(p=>p.name===d.fields[0].name):l.length;return g.splice(F,0,d),g},r).filter(l=>l.type==="fieldset-flat"?!0:!e.has(l.name))}a(Vr,"getFieldsWithFlatFieldsets");function Dr(r,t){let n=t;return r.forEach(i=>{"const"in i&&(n=Object.fromEntries(Object.entries(t).map(([e,s])=>e===i.name?[e,i.const]:[e,s])))}),n}a(Dr,"enableAckFields");function $r(r){let t=new Date;t.setDate(t.getUTCDate()),t.setHours(0,0,0,0);let n=G(t,r+1);return v(n)?J(n):n}a($r,"getMinStartDate");function hr(r){return r.const!==void 0&&r.const===r.default&&r.type!=="checkbox"&&r.type!=="hidden"}a(hr,"checkFieldHasForcedValue");export{er as a,tr as b,A as c,sr as d,D as e,K as f,T as g,Ar as h,rr as i,Vr as j,Dr as k,$r as l,hr as m,mr as n,gr as o,U as p,Fr as q,Er as r,yr as s,Tr as t,W as u,B as v,H as w,br as x};
|
|
2
|
-
//# sourceMappingURL=chunk-NXRWBI36.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/mutations.ts","../src/lib/files.ts","../src/components/form/utils.ts","../src/lib/utils.ts"],"sourcesContent":["import { $TSFixMe, NestedMeta } from '@/src/types/remoteFlows';\nimport { UseMutationResult } from '@tanstack/react-query';\n\ntype MutationData<T> =\n T extends UseMutationResult<infer R, $TSFixMe, $TSFixMe, $TSFixMe>\n ? R\n : never;\ntype MutationVariables<T> =\n T extends UseMutationResult<$TSFixMe, $TSFixMe, infer V, $TSFixMe>\n ? V\n : never;\ntype MutationError<T> =\n T extends UseMutationResult<$TSFixMe, infer E, $TSFixMe, $TSFixMe>\n ? E\n : never;\n\n/**\n * Unwraps the .data property from the response type\n * This matches the runtime behavior of mutateAsyncOrThrow which resolves with response.data\n */\ntype UnwrapData<T> = T extends { data: infer D } ? D : T;\n\nexport interface SuccessResponse<D> {\n data: D;\n error: null;\n}\n\nexport interface FieldError {\n field: string;\n messages: string[];\n}\n\n/**\n * Standard structure for mutation errors thrown by mutateAsyncOrThrow\n */\nexport interface MutationErrorStructure {\n error: Error;\n rawError: Record<string, unknown>;\n normalizedErrors: Record<string, unknown>;\n fieldErrors: FieldError[];\n response?: Response;\n}\n\n/**\n * Type guard to check if an error is a MutationErrorStructure\n * @param error - The error to check\n * @returns true if the error is a MutationErrorStructure\n */\nexport function isMutationError(\n error: unknown,\n): error is MutationErrorStructure {\n return (\n typeof error === 'object' &&\n error !== null &&\n 'error' in error &&\n 'rawError' in error &&\n 'normalizedErrors' in error &&\n 'fieldErrors' in error &&\n Array.isArray((error as MutationErrorStructure).fieldErrors)\n );\n}\n\nexport interface ErrorResponse<E> {\n data: null;\n error: E;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n}\n\ntype PromiseResult<D, E> = SuccessResponse<D> | ErrorResponse<E>;\n\n/**\n * Extracts field errors from error response into a structured format\n * @param error - The error response object\n * @returns Array of field errors with field name and messages\n */\nexport function extractFieldErrors(error: $TSFixMe): FieldError[] {\n const errors = error.error || error;\n if (!errors || !errors.errors || typeof errors.errors !== 'object') return [];\n\n const fieldErrors: FieldError[] = [];\n\n Object.entries(errors.errors).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n // The backend's normalize_errors wraps non-list values in an array, so a\n // field error can arrive as an array of structured objects (e.g. the\n // REMOTE_AI validation error: [{ error, source, skippable }]). Those are\n // surfaced to the user through the field's statement/skip flow, not as a\n // plain inline message, so we skip object entries here to avoid rendering\n // \"[object Object]\". Only primitive messages are kept.\n const messages = value\n .filter((msg: $TSFixMe) => msg === null || typeof msg !== 'object')\n .map((msg: $TSFixMe) => String(msg));\n if (messages.length > 0) {\n fieldErrors.push({ field: key, messages });\n }\n return;\n }\n if (value && typeof value === 'object') {\n Object.entries(value).forEach(([nestedKey, nestedValue]) => {\n if (Array.isArray(nestedValue)) {\n fieldErrors.push({\n field: nestedKey,\n messages: nestedValue.map((msg: $TSFixMe) => String(msg)),\n });\n }\n });\n }\n });\n return fieldErrors;\n}\n/**\n * Converts a mutation to a promise-based API. We avoid using the\n * `mutateAsync` method from react-query for 2 reasons:\n * 1. We lose the isPending state of the mutation\n * 2. We want to return the data and error in a consistent way\n * (either data or error is null)\n * @param mutation\n * @returns\n */\nexport function mutationToPromise<\n T extends UseMutationResult<$TSFixMe, $TSFixMe, $TSFixMe, $TSFixMe>,\n>(mutation: T) {\n type Data = MutationData<T>;\n type Variables = MutationVariables<T>;\n type Error = MutationError<T>;\n\n return {\n mutateAsyncOrThrow: (values: Variables): Promise<UnwrapData<Data>> => {\n return new Promise((resolve, reject) => {\n mutation.mutate(values, {\n onSuccess: (response) => {\n if (\n 'data' in response &&\n response.data !== null &&\n !response.error\n ) {\n resolve(response.data as UnwrapData<Data>);\n } else {\n const fieldErrors = extractFieldErrors(response.error);\n const errorData = response.error.error || response.error;\n const { response: httpResponse } = response;\n const errorMessage =\n typeof errorData?.message === 'string'\n ? errorData.message\n : 'Something went wrong. Please try again later.';\n reject({\n error: new Error(errorMessage),\n rawError: response.error,\n normalizedErrors: errorData.errors || {},\n fieldErrors,\n response: httpResponse,\n } as MutationErrorStructure);\n }\n },\n onError: (error) => {\n const fieldErrors = extractFieldErrors(error);\n const errorData = error.error || error;\n reject({\n error: error as Error,\n rawError: error,\n normalizedErrors: errorData.errors || {},\n fieldErrors,\n response: error?.response,\n } as MutationErrorStructure);\n },\n });\n });\n },\n /**\n * @deprecated Use mutateAsyncOrThrow instead, this method will be removed as the the one below handles errors better\n */\n mutateAsync: (values: Variables): Promise<PromiseResult<Data, Error>> => {\n return new Promise((resolve, reject) => {\n mutation.mutate(values, {\n onSuccess: (response) => {\n if (response.data) {\n resolve({\n data: response.data as Data,\n error: null,\n });\n } else {\n const fieldErrors = extractFieldErrors(response.error);\n // Unwrap the error if it is an object with an error property\n const errorData = response.error.error || response.error;\n const errorMessage =\n typeof errorData?.message === 'string'\n ? errorData.message\n : 'Something went wrong. Please try again later.';\n resolve({\n data: null,\n error: new Error(errorMessage) as unknown as Error,\n rawError: response.error,\n fieldErrors,\n });\n }\n },\n onError: (error) => {\n const fieldErrors = extractFieldErrors(error);\n reject({\n data: null,\n error: error as Error,\n rawError: error,\n fieldErrors,\n });\n },\n });\n });\n },\n };\n}\n\n/**\n * Enhanced FieldError interface with user-friendly labels\n */\nexport interface NormalizedFieldError extends FieldError {\n userFriendlyLabel: string;\n}\n\n/**\n * Utility function to normalize field errors using field metadata\n * @param fieldErrors - Array of field errors from API response\n * @param meta - Field metadata containing field names and labels\n * @returns Normalized field errors with user-friendly labels\n */\nexport function normalizeFieldErrors(\n fieldErrors: FieldError[],\n meta?: NestedMeta,\n): NormalizedFieldError[] {\n if (!fieldErrors || fieldErrors.length === 0) {\n return [];\n }\n\n return fieldErrors.map((fieldError) => {\n let fieldMeta = meta?.[fieldError.field];\n let userFriendlyLabel: string = fieldError.field;\n\n // If not found directly, try nested path (e.g., \"service_duration/expiration_date\")\n if (!fieldMeta && meta && fieldError.field.includes('/')) {\n const pathParts = fieldError.field.split('/');\n let current: $TSFixMe = meta;\n\n for (const part of pathParts) {\n if (current && typeof current === 'object') {\n current = current[part];\n } else {\n current = undefined;\n break;\n }\n }\n\n fieldMeta = current;\n }\n\n if (typeof fieldMeta?.label === 'string') {\n userFriendlyLabel = fieldMeta.label;\n }\n\n return {\n ...fieldError,\n userFriendlyLabel,\n // Keep the original field name for form integration\n field: fieldError.field,\n messages: fieldError.messages,\n };\n });\n}\n","const toBase64 = (file: File): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n });\n};\n\nexport const convertFilesToBase64 = async (files: File[]) => {\n const base64Files = await Promise.all(\n files.map(async (file) => {\n const base64 = await toBase64(file);\n return {\n ...file,\n name: file.name,\n size: file.size,\n type: file.type,\n content: base64.split(',')[1],\n };\n }),\n );\n return base64Files;\n};\n\n/**\n * Convert a data URL to a File object\n * @param dataURL - The data URL to convert\n * @param filename - The name of the file\n * @returns The File object\n */\nexport function dataURLtoFile(dataURL: string, filename: string): File {\n const arr = dataURL.split(',');\n const mime = arr[0].match(/:(.*?);/)?.[1];\n const bstr = atob(arr[1]);\n\n const u8arr = Uint8Array.from(bstr, (char) => char.charCodeAt(0));\n\n return new File([u8arr], filename, { type: mime });\n}\n","import { Field } from '@/src/flows/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { convertFilesToBase64 } from '@/src/lib/files';\nimport { addBusinessDays, isWeekend, nextMonday } from 'date-fns';\nimport { getNestedValue } from '@/src/lib/utils';\n\nconst textInputTypes = {\n TEXT: 'text',\n TEXTAREA: 'textarea',\n NUMBER: 'number',\n SELECT: 'select',\n COUNTRIES: 'countries',\n TEL: 'tel',\n EMAIL: 'email',\n MONEY: 'money',\n DATE: 'date',\n DATE_RANGE: 'date-range',\n CURRENCIES: 'currencies',\n TIME: 'time',\n} as const;\n\nconst checkboxTypes = {\n CHECKBOX: 'checkbox',\n ACK_CHECK: 'ack-check',\n} as const;\n\nconst supportedTypes = {\n FILE: 'file',\n RADIO: 'radio',\n /** @deprecated */\n RADIO_CARD: 'radio-card',\n GROUP_ARRAY: 'group-array',\n EXTRA: 'extra',\n STATEMENT: 'statement',\n HIDDEN: 'hidden',\n FIELDSET: 'fieldset',\n FIELDSET_FLAT: 'fieldset-flat',\n WORK_SCHEDULE: 'work-schedule',\n WORK_WEEK_SCHEDULE: 'work-week-schedule',\n /** @deprecated we still display benefits in read-only contract details view, but never in any form */\n BENEFITS: 'benefits',\n SIGNATURE: 'signature',\n SELECT_MULTIPLE: 'select-multiple',\n ...textInputTypes,\n ...checkboxTypes,\n} as const;\n\nexport function round(value: number): number {\n return Math.round((value + Number.EPSILON) * 100) / 100;\n}\n\nfunction convertToValidCost(value: string) {\n return parseFloat(value.replace(/,/g, ''));\n}\n\nexport function convertToCents(\n amount?: number | string | string[] | null | boolean,\n) {\n if (\n amount == null ||\n amount === '' ||\n Number.isNaN(amount) ||\n Array.isArray(amount) ||\n typeof amount === 'boolean'\n ) {\n return null;\n }\n\n let validAmount: number;\n\n if (typeof amount === 'string') {\n validAmount = convertToValidCost(amount);\n } else {\n validAmount = amount;\n }\n\n return round(validAmount * 100);\n}\n\nexport function convertFromCents(amount?: number | string | null) {\n if (amount == null || Number.isNaN(amount)) return null;\n\n let normalizedValue: number;\n\n if (typeof amount === 'string') {\n normalizedValue = convertToValidCost(amount || '0');\n } else {\n normalizedValue = amount;\n }\n\n return round(normalizedValue / 100);\n}\n\nconst trimStringValues = (values: Record<string, $TSFixMe>) =>\n Object.entries(values || {}).reduce<Record<string, $TSFixMe>>(\n (result, [key, value]) => {\n if (Array.isArray(value)) {\n // If the value is an array, recursively process each element\n result[key] = value.map((item) =>\n typeof item === 'object' && item !== null\n ? trimStringValues(item)\n : typeof item === 'string'\n ? item.trim()\n : item,\n );\n } else if (typeof value === 'object' && value !== null) {\n // If the value is an object, recursively process it\n result[key] = trimStringValues(value);\n } else {\n // Otherwise, trim the string or keep the value as is\n result[key] = typeof value === 'string' ? value.trim() : value;\n }\n return result;\n },\n {},\n );\n\n/**\n * Given a list of form values, modify the ones that are readOnly,\n * based on their field config, by adding its defaultValue.\n * This is needed to support readOnly fields that are also conditional\n * based on the \"pivotName\" workaround.\n * @param {Object} values - List with form values { name: value }.\n * @param {Array} fields - Respective form fields configuration.\n */\nfunction prefillReadOnlyFields(\n values: Record<string, $TSFixMe>,\n fields: $TSFixMe[],\n) {\n const newValues: Record<string, $TSFixMe> = {};\n\n fields.forEach((field) => {\n const fieldName = field.name;\n\n if (\n !Object.prototype.hasOwnProperty.call(values, fieldName!) &&\n !(field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled)\n )\n return;\n\n if (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled) {\n Object.assign(newValues, prefillReadOnlyFields(values, field.fields));\n return;\n }\n\n if (field.readOnly && field.defaultValue) {\n newValues[fieldName!] = field.defaultValue;\n } else {\n newValues[fieldName!] = values[fieldName!];\n }\n });\n\n return newValues;\n}\n/**\n * Recursively extracts fieldsets' fields values and maps them to the field name\n * For nested fields that are fieldsets with valueGroupingDisabled, the values\n * are extracted one level up\n *\n * @param {Array} fields - Fieldset fields configuration.\n * @param {Object} formValues - List with form values { name: value }.\n * @return {Object} – Raw form values mapped to the field name\n */\nfunction extractFieldsetFieldsValues(\n fields: $TSFixMe[],\n formValues: Record<string, unknown>,\n) {\n return fields.reduce<Record<string, $TSFixMe>>((nestedAcc, subField) => {\n const isFieldsetValueGroupingDisabled =\n subField.type === supportedTypes.FIELDSET &&\n subField.valueGroupingDisabled;\n\n if (isFieldsetValueGroupingDisabled) {\n Object.assign(\n nestedAcc,\n extractFieldsetFieldsValues(subField.fields, formValues),\n );\n } else if (\n Object.prototype.hasOwnProperty.call(formValues, subField.name!)\n ) {\n nestedAcc[subField.name!] = formValues[subField.name!];\n }\n\n return nestedAcc;\n }, {});\n}\n\nexport const fieldTypesTransformations: Record<string, $TSFixMe> = {\n [supportedTypes.COUNTRIES]: {\n /**\n * @param {String[] | { name: String }[]} value\n * - Excepted: array of strings.\n * - Edge cases: array of objects. (when using dangerousTransformValue)\n * @returns {String[]} - List of countries\n * @example expected: ['Peru', 'Germany'] -> ['Peru', 'Germany']\n * @example edge cases: [{name: 'Peru'}, {name: 'Germany'}] -> ['Peru', 'Germany']\n */\n transformValueToAPI:\n (field: $TSFixMe) =>\n (selectedCountries: string[] | { name: string }[]) => {\n if (!field.multiple || typeof selectedCountries === 'string') {\n return selectedCountries;\n }\n // NOTE: The value should be an array of strings, however legacy data can come as\n // an array of country objects. So, we always send an array of strings to normalize\n // the data (eg old form values being modified) until DB migration is done !5667\n return selectedCountries.map((option) =>\n typeof option === 'string' ? option : option.name,\n );\n },\n /**\n * Used for react-select, where the country selected is transformed\n * before saving on Formik state. Supports both solo and multi select\n * @param {Object|Object[]} selectedCountry[] - Current selected options\n * @param {String} selectedCountry[].value\n * @param {String} selectedCountry[].name\n * @param {String} selectedCountry[].label\n * @returns {String[]} - List of countries selected\n * @example\n * [{ value: 'Hungria' }] -> ['Hungria']\n */\n transformValue: (selectedCountry: $TSFixMe | $TSFixMe[]) => {\n // name or label are used in dragon. value is used in json-schema-form\n // TODO: it should be the same everywhere — read more at !5667\n const getCountryValue = (opt: $TSFixMe) =>\n opt?.name || opt?.value || opt?.label;\n return Array.isArray(selectedCountry)\n ? selectedCountry.map(getCountryValue) // support multi countries\n : getCountryValue(selectedCountry) || ''; // Fallback to '' in case user removes all countries\n },\n },\n [supportedTypes.NUMBER]: {\n transformValueToAPI: () => (value: string) => {\n // this prevents values with letters such as \"2r\" from being considered valid\n // if the input is invalid, number().cast will return NaN\n const castValue = Number(value);\n\n if (Number.isNaN(castValue)) {\n return value;\n }\n\n return castValue;\n },\n },\n [supportedTypes.MONEY]: {\n transformValueFromAPI: () => (value: string | number) =>\n convertFromCents(value) ?? '',\n transformValueToAPI: () => convertToCents,\n },\n [supportedTypes.CHECKBOX]: {\n transformValueToAPI: (field: $TSFixMe) => (value: string | boolean) => {\n if (value === undefined) {\n return false;\n }\n\n if (field.const && value === true) {\n return field.const;\n }\n return value;\n },\n },\n [supportedTypes.SELECT]: {\n /**\n * Used for react-select, where the value is transformed\n * before saving on Formik state.\n * @param {Object | Object[]} option - Object structure with options config\n * @param {String} option[].value - Key for the API\n * @param {Array} this.options[].label - Friendly label\n * @example\n * [{ value: '1', label: 'One' }, { value: '2', label: 'Two' }] -> [\"One\", \"Two\"]\n * { value: '1', label: 'One' } -> \"One\"\n * {} -> \"\"\n */\n transformValue: (option: $TSFixMe | $TSFixMe[]) =>\n Array.isArray(option)\n ? option.map((opt) => opt.value) // multi-options\n : (option?.value ?? ''), // Fallback to '' in case user removes all options,\n },\n [supportedTypes.FILE]: {\n transformValueToAPI: () => async (files: File[]) => {\n if (!files) {\n return null;\n }\n\n return await convertFilesToBase64(files);\n },\n },\n};\nexport async function parseFormValuesToAPI(\n formValues: Record<string, $TSFixMe> = {},\n fields: $TSFixMe[],\n) {\n const filteredFields = fields.filter(\n (field) =>\n formValues[field.name!] ||\n (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled),\n );\n\n const parsedFieldsWithValues = await Promise.all(\n filteredFields.map(async (field) => {\n const acc: Record<string, $TSFixMe> = {};\n\n switch (field.type) {\n case supportedTypes.FIELDSET: {\n const fieldset = field;\n if (fieldset.valueGroupingDisabled) {\n const nestedFormValues = extractFieldsetFieldsValues(\n fieldset.fields,\n formValues,\n );\n\n Object.assign(\n acc,\n await parseFormValuesToAPI(nestedFormValues, fieldset.fields),\n );\n } else {\n const fieldsetValue = formValues[field.name!];\n\n // Filter out empty properties from fieldset objects\n // this code avoids sending department: {id: '1234', name: ''} or even department: {id: undefined, name: undefined}\n if (\n fieldsetValue &&\n typeof fieldsetValue === 'object' &&\n !Array.isArray(fieldsetValue)\n ) {\n const cleanedValue = Object.fromEntries(\n Object.entries(fieldsetValue).filter(([, value]) => {\n // Keep the property if it has a meaningful value\n return value !== '' && value !== null && value !== undefined;\n }),\n );\n\n acc[field.name!] =\n Object.keys(cleanedValue).length > 0\n ? await parseFormValuesToAPI(cleanedValue, fieldset.fields)\n : undefined;\n } else {\n acc[field.name!] = await parseFormValuesToAPI(\n fieldsetValue,\n fieldset.fields,\n );\n }\n }\n break;\n }\n\n case supportedTypes.TEXTAREA:\n case supportedTypes.TEXT:\n // Attempt to remove null bytes from form values - https://gitlab.com/remote-com/employ-starbase/tracker/-/issues/10670\n acc[field.name] = formValues[field.name].replace(/\\0/g, '');\n break;\n\n case supportedTypes.GROUP_ARRAY: {\n // NOTE: The field `name` in group arrays represents a path, but we only\n // need the last part of it which is represented by `nameKey`.\n const transformedFields = field\n ?.fields?.()\n .map((subField: $TSFixMe) => ({\n ...subField,\n name: subField.nameKey || '',\n }));\n\n const parsedFieldValues = await Promise.all(\n formValues[field.name]?.map(\n (fieldValues: Record<string, $TSFixMe>) =>\n parseFormValuesToAPI(fieldValues, transformedFields),\n ) || [],\n );\n\n acc[field.name] = parsedFieldValues;\n break;\n }\n\n case supportedTypes.EXTRA: {\n const extraField = field;\n if (extraField.includeValueToApi !== false) {\n const formValue = formValues[extraField.name];\n const fieldTransformValueToAPI =\n extraField?.transformValueToAPI ||\n fieldTypesTransformations[extraField.type]?.transformValueToAPI;\n\n if (fieldTransformValueToAPI) {\n const result = fieldTransformValueToAPI(field)(formValue);\n // Await if it's a promise\n acc[extraField.name] =\n result instanceof Promise ? await result : result;\n break;\n }\n\n acc[extraField.name] = formValue;\n break;\n }\n acc[extraField.name] = undefined;\n break;\n }\n\n default: {\n const formValue = formValues[field.name];\n const fieldTransformValueToAPI =\n field?.transformValueToAPI ||\n fieldTypesTransformations[field.type]?.transformValueToAPI;\n\n if (fieldTransformValueToAPI) {\n const result = fieldTransformValueToAPI(field)(formValue);\n // Await if it's a promise - THIS IS THE KEY FIX\n acc[field.name] = result instanceof Promise ? await result : result;\n break;\n }\n acc[field.name] = formValue;\n break;\n }\n }\n\n if (field.const !== undefined && field.const === field.default) {\n acc[field.name!] = field.const;\n }\n\n return acc;\n }),\n );\n\n // Merge all accumulated objects\n return parsedFieldsWithValues.reduce(\n (acc, current) => ({ ...acc, ...current }),\n { ...formValues },\n );\n}\n\nfunction isFieldVisible(field: $TSFixMe, formValues: Record<string, unknown>) {\n if (field.visibilityCondition) {\n return field.visibilityCondition(formValues);\n }\n\n if (typeof field.isVisible !== 'undefined') {\n return Boolean(field.isVisible);\n }\n\n return true;\n}\n\nfunction applyFieldDynamicProperties(\n field: $TSFixMe,\n values: Record<string, unknown> | Record<string, unknown>[],\n) {\n if (field.calculateDynamicProperties) {\n return {\n ...field,\n ...(field.calculateDynamicProperties(values) || {}),\n };\n }\n\n return field;\n}\n\nfunction excludeValuesInvisible(\n values: $TSFixMe,\n fields: $TSFixMe[],\n keepTruthyInvisibleValues?: boolean,\n parentFieldKeyPath?: string,\n) {\n const valuesAsked: Record<string, $TSFixMe> = {};\n\n fields\n .map((field) => applyFieldDynamicProperties(field, values))\n .forEach((field) => {\n let fieldKeyPath = field.name;\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${field.name}`\n : parentFieldKeyPath;\n }\n\n const valueOfField = getNestedValue(values, fieldKeyPath!);\n\n // keepTruthyInvisibleValues: false/undefined -> remove invisible field\n // keepTruthyInvisibleValues: true -> keep invisible field if it has a value\n if (\n !isFieldVisible(field, values) &&\n !(keepTruthyInvisibleValues && !!valueOfField)\n ) {\n return;\n }\n\n if (field.meta?.ignoreValue) {\n return;\n }\n\n if (field.type === 'fieldset' && field.valueGroupingDisabled) {\n Object.assign(\n valuesAsked,\n excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n ),\n );\n } else if (Array.isArray(field.fields)) {\n valuesAsked[field.name!] = excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n );\n } else {\n if (valueOfField === undefined) {\n return;\n }\n valuesAsked[field.name!] = valueOfField;\n }\n });\n\n return valuesAsked;\n}\n\nfunction removeEmptyValues<T extends Record<string, $TSFixMe>>(\n obj: T,\n): Record<string, $TSFixMe> {\n return Object.fromEntries(\n Object.entries(obj).filter(\n ([, value]) => value !== undefined && value !== null && value !== '',\n ),\n );\n}\n\nfunction cleanUnderscoreFields(\n obj: Record<string, $TSFixMe>,\n): Record<string, $TSFixMe> {\n if (Array.isArray(obj)) {\n return obj.map(cleanUnderscoreFields);\n }\n if (obj && typeof obj === 'object') {\n return Object.entries(obj).reduce(\n (acc, [key, value]) => {\n if (!key.startsWith('_')) {\n acc[key] = cleanUnderscoreFields(value);\n }\n return acc;\n },\n {} as Record<string, $TSFixMe>,\n );\n }\n return obj;\n}\n\nexport async function parseSubmitValues(\n formValues: Record<string, $TSFixMe>,\n fields: $TSFixMe[],\n config?: { keepInvisibleValues?: boolean },\n) {\n const visibleFormValues = config?.keepInvisibleValues\n ? formValues\n : excludeValuesInvisible(formValues, fields);\n const convertedFormValues = await parseFormValuesToAPI(\n visibleFormValues,\n fields,\n );\n const formValuesWithTrimmedStrings = trimStringValues(convertedFormValues);\n\n const formValuesWithUndefined = removeEmptyValues(\n formValuesWithTrimmedStrings,\n );\n\n const valuesWithReadOnly = prefillReadOnlyFields(\n formValuesWithUndefined,\n fields,\n );\n return cleanUnderscoreFields(valuesWithReadOnly);\n}\n\nexport async function parseJSFToValidate(\n formValues: Record<string, $TSFixMe>,\n fields: JSFFields,\n config: { isPartialValidation: boolean } = {\n isPartialValidation: false,\n },\n) {\n const valuesParsed = await parseSubmitValues(formValues, fields, {\n /* We cannot exclude invisible fields (excludeValuesInvisible) because\n they are needed for conditional fields validations */\n keepInvisibleValues: config?.isPartialValidation,\n });\n return valuesParsed;\n}\n\nfunction castFieldTo<T>(field: Field) {\n return field as unknown as T;\n}\n\nfunction getDefaultValueForType(type: string) {\n switch (type) {\n case supportedTypes.FILE:\n return undefined; // Allows fallback values in function declarations to be used\n default:\n return '';\n }\n}\n\nfunction getInitialDefaultValue(\n defaultValues: Record<string, $TSFixMe>,\n field: Field,\n) {\n // getNestedValue is needed because some values could be nested object, like billing address\n // use camelCase to support forms with fields in snake_case or kebab_case.\n const defaultFieldValue = getNestedValue(defaultValues, field.name);\n const fieldTransformValueFromAPI =\n field?.transformValueFromAPI ||\n fieldTypesTransformations[field.type]?.transformValueFromAPI;\n\n if (fieldTransformValueFromAPI) {\n return fieldTransformValueFromAPI(field)(defaultFieldValue);\n }\n\n // TODO: We need to get rid of value as fn for json-schema. Related !5560\n const generatedValue =\n typeof field.value === 'function'\n ? field.value(defaultFieldValue, defaultValues)\n : null;\n\n // field.value is deprecated. should use \"default\" instead.\n const defaultValueDeprecated =\n typeof field.value !== 'function' ? field.value : null;\n const initialValueForCheckboxAsBool =\n castFieldTo<$TSFixMe>(field).checkboxValue === true\n ? defaultFieldValue || false\n : null;\n\n // nullish coalescing but excluding empty strings. (to support 0 (zero) as valid numbers)\n const excludeString = (val: $TSFixMe) => (val === '' ? undefined : val);\n\n return (\n excludeString(generatedValue) ??\n excludeString(defaultFieldValue) ??\n excludeString(defaultValueDeprecated) ??\n excludeString(field.default) ??\n initialValueForCheckboxAsBool ??\n getDefaultValueForType(field.type)\n );\n}\n\n/**\n * Get initial values for sub fields within fieldsets\n * @param {Object} field The form field\n * @param {Object} defaultValues The form default values\n * @param {String=} parentFieldKeyPath The path to the parent field using dot-notation\n * @returns {Object} The initial values for a fieldset\n */\nfunction getInitialSubFieldValues(\n field: $TSFixMe,\n defaultValues: Record<string, unknown>,\n parentFieldKeyPath?: string,\n) {\n const initialValue: Record<string, Record<string, unknown>> = {};\n\n let fieldKeyPath = field.name;\n\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${fieldKeyPath}`\n : parentFieldKeyPath;\n }\n\n const subFields = field.fields;\n\n if (Array.isArray(subFields)) {\n const subFieldValues = {};\n\n subFields.forEach((subField) => {\n Object.assign(\n subFieldValues,\n getInitialSubFieldValues(subField, defaultValues, fieldKeyPath),\n );\n });\n\n if (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled) {\n Object.assign(initialValue, subFieldValues);\n } else {\n initialValue[field.name!] = subFieldValues;\n }\n } else {\n initialValue[field.name!] = getInitialDefaultValue(defaultValues, {\n ...field,\n // NOTE: To utilize the `get` function from `lodash` in `getInitialDefaultValue` correctly\n // we need to use the field path instead of just its name.\n name: fieldKeyPath,\n });\n }\n\n return initialValue;\n}\n\nexport function getInitialValues(\n fields: JSFFields,\n defaultValues: Record<string, unknown>,\n) {\n const initialValues: Record<string, unknown> = {};\n const defaultFieldValues = defaultValues;\n\n // loop over fields array\n // if prop does not exit in the initialValues object,\n // pluck off the name and value props and add it to the initialValues object;\n fields\n .map((field) => applyFieldDynamicProperties(field, defaultFieldValues))\n .forEach((field) => {\n switch (field.type) {\n case supportedTypes.FIELDSET: {\n if (field.valueGroupingDisabled) {\n Object.assign(\n initialValues,\n getInitialValues(field.fields, defaultFieldValues),\n );\n } else {\n const subFieldValues = getInitialSubFieldValues(\n field,\n defaultFieldValues,\n );\n Object.assign(initialValues, subFieldValues);\n }\n break;\n }\n default: {\n if (!initialValues[field.name]) {\n initialValues[field.name] = getInitialDefaultValue(\n defaultFieldValues,\n field,\n );\n }\n break;\n }\n }\n });\n\n return initialValues;\n}\n\n/**\n * Wraps fields listed in fieldsets with a fieldset field.\n * @param fields - Complete fields list.\n * @param fieldsets - fields list to be wrapped in a fieldset field.\n * @param values - Values for each field.\n * @returns The fields with the fieldsets wrapped.\n */\nexport function getFieldsWithFlatFieldsets({\n fields = [],\n fieldsets = {},\n values,\n}: {\n fields: $TSFixMe[];\n fieldsets: Record<string, { propertiesByName: string[]; title: string }>;\n values: Record<string, unknown>;\n}) {\n const flatFieldsetsKeys = Object.keys(fieldsets);\n\n if (!flatFieldsetsKeys?.length) {\n return fields;\n }\n\n const flatFieldsetsFieldNames = new Set(\n flatFieldsetsKeys.flatMap(\n (flatFieldsetKey) => fieldsets[flatFieldsetKey]?.propertiesByName ?? [],\n ),\n );\n\n const flatFieldsetsWithFields = flatFieldsetsKeys.map((flatFieldsetKey) => {\n const { propertiesByName: flatFieldsetFields = [], ...rest } =\n fieldsets[flatFieldsetKey];\n\n const childFields = flatFieldsetFields\n .map((name) => fields.find((f) => f.name === name))\n .filter((field): field is $TSFixMe => !!field);\n\n return {\n ...rest,\n name: flatFieldsetKey,\n type: 'fieldset-flat',\n inputType: 'fieldset-flat',\n fields: childFields,\n label: fieldsets[flatFieldsetKey].title,\n // Hide the fieldset if none of the children fields are visible.\n isVisible: childFields\n .map((childField) => applyFieldDynamicProperties(childField, values))\n .some((childField) => isFieldVisible(childField, values)),\n };\n });\n\n const sortedFields = flatFieldsetsWithFields.reduce((accumulator, field) => {\n const accumulatedFieldsSorted = [...accumulator];\n\n /**\n * We place the flat fieldset at the original position of its first field.\n * If no field is found, we move it to the end.\n */\n const fieldsetPosition = field.fields[0]\n ? accumulator.findIndex(\n (accumulatorItem) => accumulatorItem.name === field.fields[0].name,\n )\n : accumulator.length;\n\n accumulatedFieldsSorted.splice(\n fieldsetPosition,\n 0,\n field as unknown as $TSFixMe,\n );\n\n return accumulatedFieldsSorted;\n }, fields);\n\n const filteredFields = sortedFields.filter((field) => {\n // Always keep the fieldset wrapper\n if (field.type === 'fieldset-flat') {\n return true;\n }\n return !flatFieldsetsFieldNames.has(field.name!);\n });\n\n return filteredFields;\n}\n\nexport function enableAckFields(\n fields: JSFFields,\n values: Record<string, unknown>,\n) {\n let result = values;\n fields.forEach((field) => {\n if ('const' in field) {\n result = Object.fromEntries(\n Object.entries(values).map(([k, v]) => {\n if (k === field.name) {\n return [k, field.const];\n }\n return [k, v];\n }),\n );\n }\n });\n return result;\n}\n\n/**\n * Get the minimum start date for the onboarding process.\n * @param minOnBoardingTime\n * @returns Date\n */\nexport function getMinStartDate(minOnBoardingTime: number) {\n const today = new Date();\n\n // Make sure our base date is UTC and set the time to 00:00:00\n today.setDate(today.getUTCDate());\n today.setHours(0, 0, 0, 0);\n\n // The + 1 ensures you get the full preparation time before the employee can actually start working.\n // It's the difference between \"preparation completes on this day\" vs \"earliest possible start date after preparation\".\n const minDate = addBusinessDays(today, minOnBoardingTime + 1);\n return isWeekend(minDate) ? nextMonday(minDate) : minDate;\n}\n\n/**\n * Check if a field has a forced value.\n * @param field - The field to check.\n * @returns True if the field has a forced value, false otherwise.\n */\nexport function checkFieldHasForcedValue(field: $TSFixMe) {\n // A field to be considered \"forced value\" must:\n return (\n field.const !== undefined && // Only accepts a specific value\n field.const === field.default && // It can be prefilled, meaning it's not critical\n field.type !== 'checkbox' && // Because checkbox must always be visible\n field.type !== 'hidden' // Because hidden inputs shouldn't be visible\n );\n}\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport { ValidationError } from 'yup';\nimport DOMPurify from 'dompurify';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\nimport { convertFromCents } from '@/src/components/form/utils';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function formatCurrency(\n amount: number | undefined | null,\n currencyCode = 'EUR',\n): string {\n if (amount == null) {\n return '-';\n }\n\n const value = amount / 100;\n\n return new Intl.NumberFormat('en', {\n style: 'currency',\n currency: currencyCode,\n currencyDisplay: 'symbol',\n }).format(value);\n}\n\ntype YupError = Pick<ValidationError, 'type' | 'errors'> & {\n inner: Record<string, YupError>[];\n};\n\n/**\n * Transforms a Yup ValidationError object into a more readable object. The format is as follows:\n * {\n * [fieldName]: {\n * type: string,\n * errors: string[],\n * inner: YupError[],\n * },\n * }\n * @param errors\n * @returns\n */\nexport const transformYupErrorsIntoObject = (errors: ValidationError) => {\n const validationErrors: Record<string, YupError> = {};\n\n errors.inner.forEach((error: ValidationError) => {\n if (error.path !== undefined) {\n validationErrors[error.path] = {\n type: error.type,\n errors: error.errors,\n inner: error.inner.map((innerError) =>\n transformYupErrorsIntoObject(innerError),\n ),\n };\n }\n });\n\n return validationErrors;\n};\n\n/**\n * Debug utility to add version to window object\n * @param version - The version of the SDK\n */\nexport function debug(version: string) {\n window.RemoteFlowsSDK = {\n version,\n };\n}\n\n// Deduplicates rel values if necessary and appends noopener and noreferrer\nconst appendSecureRelValue = (rel: string | null) => {\n const attributes = new Set(rel ? rel.toLowerCase().split(' ') : []);\n\n attributes.add('noopener');\n attributes.add('noreferrer');\n\n return Array.from(attributes).join(' ');\n};\n\nif (DOMPurify.isSupported) {\n DOMPurify.addHook('afterSanitizeAttributes', (node) => {\n const target = node.getAttribute('target');\n\n if (node.tagName === 'A' && (!target || target !== '_self')) {\n const href = node.getAttribute('href');\n\n // Skip internal anchors (#section), relative URLs, and non-http protocols\n if (href && !href.startsWith('#') && /^https?:\\/\\//i.test(href)) {\n node.setAttribute('target', '_blank');\n const rel = node.getAttribute('rel');\n node.setAttribute('rel', appendSecureRelValue(rel));\n }\n }\n });\n}\n\nexport const sanitizeHtml = (html: string) => {\n return DOMPurify.sanitize(html, { ADD_ATTR: ['target'] });\n};\n\nexport const sanitizeHtmlWithImageErrorHandling = (html: string) => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n\n // Add onerror handler to all img tags to hide them if they fail to load\n const images = doc.querySelectorAll('img');\n images.forEach((img) => {\n img.setAttribute('onerror', \"this.style.display='none'\");\n });\n\n const modifiedHtml = doc.body.innerHTML;\n\n // Sanitize with DOMPurify, allowing onerror attribute\n // Note: The global afterSanitizeAttributes hook (defined above) will still apply\n // to add target=\"_blank\" and rel=\"noopener noreferrer\" to external links\n return DOMPurify.sanitize(modifiedHtml, {\n ADD_ATTR: ['target', 'onerror'],\n });\n};\n\n/**\n * Strips HTML tags and decodes HTML entities from a string\n * @param html - The HTML string to strip\n * @returns Plain text without HTML tags or entities\n */\nexport const stripHtml = (\n html: string | undefined | null,\n): string | undefined | null => {\n if (html === null || html === undefined) {\n return html;\n }\n\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n\n return doc.body.textContent || '';\n};\n\n/**\n * Ensures base64 data has the correct data URI prefix for PDF content\n * @param base64Data - The base64 data string\n * @returns The base64 data with proper data URI prefix\n */\nexport const clearBase64Data = (base64Data: string) => {\n if (!base64Data) return '';\n\n const cleanedData = base64Data.trim();\n\n if (cleanedData.startsWith('data:application/pdf;base64,')) {\n return cleanedData;\n }\n\n if (cleanedData.startsWith('data:')) {\n return cleanedData;\n }\n\n return `data:application/pdf;base64,${cleanedData}`;\n};\n\n/**\n * Function to prettify form values. Returns a pretty value and label for each field.\n * @param values - Form values to prettify\n * @param fields - Form fields\n * @returns Prettified form values\n */\n// @ts-expect-error need to check function return type\nexport function prettifyFormValues(\n values: Record<string, unknown>,\n fields: JSFFields | undefined,\n options?: { skipMoneyConversion?: boolean },\n) {\n if (!fields) {\n return {};\n }\n return Object.fromEntries(\n Object.entries(values)\n // @ts-expect-error need to check function return type\n .map(([key, value]) => {\n if (value === undefined) {\n return [key, undefined];\n }\n\n const field = fields.find((field) => field.name === key);\n\n if (field?.isVisible === false || field?.deprecated) {\n return [key, undefined];\n }\n\n if (field?.type === 'radio' || field?.type === 'select') {\n const option = (\n field.options as Array<{ value: string; label: string }>\n ).find((option) => option.value === value);\n\n if (option) {\n return [\n key,\n {\n prettyValue: stripHtml(option?.label),\n label: stripHtml(field?.label as string),\n inputType: field?.type,\n },\n ];\n }\n return;\n }\n\n if (field?.type === 'checkbox' && field?.const) {\n return [\n key,\n {\n prettyValue: true,\n label: stripHtml(field.label as string),\n inputType: field?.type,\n },\n ];\n }\n\n if (field?.type === 'countries' && Array.isArray(value)) {\n return [\n key,\n {\n prettyValue: value.join(),\n label: stripHtml(field.label as string),\n inputType: field?.type,\n },\n ];\n }\n\n if (field?.type === 'fieldset') {\n // @ts-expect-error need to check function return type\n const prettiedFieldset = prettifyFormValues(\n value as Record<string, unknown>,\n field.fields as JSFFields,\n options,\n );\n\n // Handles benefits fieldset in specific\n if (!prettiedFieldset.label && prettiedFieldset.value) {\n const prettyValue: Record<string, unknown> = {\n ...prettiedFieldset.value,\n label: stripHtml(field.label as string),\n inputType: field?.type,\n };\n return [key, prettyValue];\n }\n\n return [key, prettiedFieldset];\n }\n\n if (field?.type === 'money') {\n // value can be a string | number | null the values should come in cents\n // we convert to normal format and not use formatCurrency as consumers are expecting normal number\n return [\n key,\n {\n prettyValue:\n !options?.skipMoneyConversion &&\n (typeof value === 'string' || typeof value === 'number')\n ? convertFromCents(value)\n : value,\n label: stripHtml(field.label as string),\n inputType: field?.type,\n currency: field?.currency,\n },\n ];\n }\n\n if (field) {\n return [\n key,\n {\n prettyValue: value,\n label: stripHtml(field.label as string),\n inputType: field?.type,\n },\n ];\n }\n })\n .filter(Boolean),\n );\n}\n\n/**\n * Creates a structured error object with the error message and raw error object\n * @param message - The error message\n * @returns\n */\nexport function createStructuredError(message: string) {\n return {\n error: new Error(message),\n rawError: { message },\n fieldErrors: [],\n };\n}\n\n/**\n * Checks if the error is a structured error\n * @param err - The error\n * @returns True if the error is a structured error\n */\nexport function isStructuredError(err: unknown): err is {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n} {\n return (\n typeof err === 'object' &&\n err !== null &&\n 'error' in err &&\n 'rawError' in err &&\n 'fieldErrors' in err\n );\n}\n\n/**\n * Handles the error for a step and optionally sets form field errors\n * @param err - The error\n * @param fieldsMeta - The fields metadata\n * @param form - Optional form instance to set field errors\n * @returns The structured error\n */\nexport function handleStepError(\n err: unknown,\n fieldsMeta?: NestedMeta,\n form?: {\n setError: (name: string, error: { type: string; message: string }) => void;\n },\n): {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n} {\n // If it's already a structured error from mutateAsyncOrThrow\n if (isStructuredError(err)) {\n const normalizedFieldErrors = normalizeFieldErrors(\n err.fieldErrors || [],\n fieldsMeta,\n );\n\n // Automatically set form field errors if form is provided\n if (form) {\n setFormFieldErrors(form, normalizedFieldErrors);\n }\n\n return {\n error: err.error,\n rawError: err.rawError,\n fieldErrors: normalizedFieldErrors,\n };\n }\n\n // For unexpected errors, create a structured error\n const fallbackError = createStructuredError(\n err instanceof Error ? err.message : 'An unexpected error occurred',\n );\n\n return {\n ...fallbackError,\n fieldErrors: [], // No field errors for unexpected errors\n };\n}\n\n/**\n * Gets a nested value from an object using a dot-notation path string.\n * Replacement for lodash.get with support for nested property access.\n * @param obj - The object to query\n * @param path - The path to the property (e.g., 'user.address.city')\n * @param defaultValue - The value to return if the resolved value is undefined\n * @returns The resolved value or defaultValue\n */\nexport function getNestedValue<T = unknown>(\n obj: unknown,\n path: string,\n defaultValue?: T,\n): T | undefined {\n if (obj == null || typeof path !== 'string') {\n return defaultValue;\n }\n\n const keys = path.split('.');\n let result: unknown = obj;\n\n for (const key of keys) {\n if (result == null || typeof result !== 'object') {\n return defaultValue;\n }\n result = (result as Record<string, unknown>)[key];\n }\n\n return (result === undefined ? defaultValue : result) as T | undefined;\n}\n\n/**\n * Sets backend validation errors into react-hook-form state\n * Converts backend field paths to react-hook-form paths and sets errors\n *\n * @example\n * Backend: \"provisional_start_date\" → Form: \"provisional_start_date\"\n * Backend: \"service_duration/expiration_date\" → Form: \"service_duration.expiration_date\"\n * Backend: \"benefits[0]/value\" → Form: \"benefits.0.value\"\n *\n * @param form - The react-hook-form instance\n * @param fieldErrors - Array of normalized field errors from the backend\n */\nexport function setFormFieldErrors(\n form: {\n setError: (name: string, error: { type: string; message: string }) => void;\n },\n fieldErrors: NormalizedFieldError[],\n): void {\n fieldErrors.forEach(({ field, messages }) => {\n try {\n // Convert backend field path to react-hook-form path\n // \"/\" → \".\" for nested objects\n // \"[index]\" → \".index\" for arrays\n const formFieldPath = field\n .replace(/\\//g, '.')\n .replace(/\\[(\\d+)\\]/g, '.$1');\n\n form.setError(formFieldPath, {\n type: 'server',\n message: messages.join('. '),\n });\n } catch (error) {\n // Silently ignore if field doesn't exist in form\n // This can happen if backend returns errors for fields not in current step\n console.warn(`Could not set error for field: ${field}`, error);\n }\n });\n}\n"],"mappings":"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","names":["isMutationError","error","__name","extractFieldErrors","errors","fieldErrors","key","value","messages","msg","nestedKey","nestedValue","mutationToPromise","mutation","values","resolve","reject","response","errorData","httpResponse","errorMessage","normalizeFieldErrors","meta","fieldError","fieldMeta","userFriendlyLabel","pathParts","current","part","toBase64","__name","file","resolve","reject","reader","error","convertFilesToBase64","files","base64","dataURLtoFile","dataURL","filename","arr","mime","bstr","u8arr","char","addBusinessDays","isWeekend","nextMonday","clsx","twMerge","DOMPurify","cn","inputs","twMerge","clsx","__name","formatCurrency","amount","currencyCode","value","transformYupErrorsIntoObject","errors","validationErrors","error","innerError","debug","version","appendSecureRelValue","rel","attributes","DOMPurify","node","target","href","sanitizeHtml","html","sanitizeHtmlWithImageErrorHandling","doc","img","modifiedHtml","stripHtml","clearBase64Data","base64Data","cleanedData","prettifyFormValues","values","fields","options","key","field","option","prettiedFieldset","prettyValue","convertFromCents","createStructuredError","message","isStructuredError","err","handleStepError","fieldsMeta","form","normalizedFieldErrors","normalizeFieldErrors","setFormFieldErrors","getNestedValue","obj","path","defaultValue","keys","result","fieldErrors","messages","formFieldPath","textInputTypes","checkboxTypes","supportedTypes","round","value","__name","convertToValidCost","convertToCents","amount","validAmount","convertFromCents","normalizedValue","trimStringValues","values","result","key","item","prefillReadOnlyFields","fields","newValues","field","fieldName","extractFieldsetFieldsValues","formValues","nestedAcc","subField","fieldTypesTransformations","selectedCountries","option","selectedCountry","getCountryValue","opt","castValue","files","convertFilesToBase64","parseFormValuesToAPI","filteredFields","acc","fieldset","nestedFormValues","fieldsetValue","cleanedValue","transformedFields","parsedFieldValues","fieldValues","extraField","formValue","fieldTransformValueToAPI","current","isFieldVisible","applyFieldDynamicProperties","excludeValuesInvisible","keepTruthyInvisibleValues","parentFieldKeyPath","valuesAsked","fieldKeyPath","valueOfField","getNestedValue","removeEmptyValues","obj","cleanUnderscoreFields","parseSubmitValues","config","visibleFormValues","convertedFormValues","formValuesWithTrimmedStrings","formValuesWithUndefined","valuesWithReadOnly","parseJSFToValidate","getDefaultValueForType","type","supportedTypes","__name","getInitialDefaultValue","defaultValues","field","defaultFieldValue","getNestedValue","fieldTransformValueFromAPI","fieldTypesTransformations","generatedValue","defaultValueDeprecated","initialValueForCheckboxAsBool","excludeString","val","getInitialSubFieldValues","parentFieldKeyPath","initialValue","fieldKeyPath","subFields","subFieldValues","subField","getInitialValues","fields","initialValues","defaultFieldValues","applyFieldDynamicProperties","getFieldsWithFlatFieldsets","fieldsets","values","flatFieldsetsKeys","flatFieldsetsFieldNames","flatFieldsetKey","flatFieldsetFields","rest","childFields","name","f","childField","isFieldVisible","accumulator","accumulatedFieldsSorted","fieldsetPosition","accumulatorItem","enableAckFields","result","k","v","getMinStartDate","minOnBoardingTime","today","minDate","addBusinessDays","isWeekend","nextMonday","checkFieldHasForcedValue"]}
|
package/dist/chunk-QZZJE6P7.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as R,b as x,c as N,d as A}from"./chunk-HQLGDW2G.js";import{a as T}from"./chunk-ZE3YT3Q6.js";import{a as C}from"./chunk-AHUSQVQY.js";import{b as B}from"./chunk-BC4V2YAK.js";import{a as w,c as f}from"./chunk-WDO7XH6B.js";import{n as i,o as n,r as F}from"./chunk-NXRWBI36.js";import{a as m}from"./chunk-P37U34EQ.js";import{MoreHorizontal as G}from"lucide-react";import{useState as P}from"react";import{Fragment as U,jsx as g,jsxs as E}from"react/jsx-runtime";function L({actions:e=[],className:r,label:a,"data-testid":l}){let[_,d]=P(!1);return E("div",{className:i("relative",r),children:[g(B,{"data-testid":l,variant:"ghost","aria-label":a,className:"h-8 w-8 p-0",onClick:()=>d(!_),children:g(G,{className:"h-4 w-4"})}),_&&E(U,{children:[g("div",{className:"fixed inset-0 z-40",onClick:()=>d(!1)}),g("div",{className:"absolute right-0 top-1/2 mt-1 bg-white border border-gray-200 rounded-md shadow-lg z-50 min-w-[120px]",children:e.map((c,u)=>g("button",{"data-testid":`${l}-${c.label.toLowerCase().replace(" ","-")}`,className:i("w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100",c.disabled&&"opacity-50 cursor-not-allowed"),onClick:()=>{c.onClick(),d(!1)},disabled:c.disabled,children:c.label},u))})]})]})}m(L,"ActionsDropdown");import{ChevronDown as S,Info as $}from"lucide-react";import j from"react-flagpack";import{useState as O}from"react";import{Fragment as b,jsx as o,jsxs as t}from"react/jsx-runtime";var Z={GB:"GB-UKM"},K=m(({title:e,country:r,region:a,annualGrossSalary:l,onDelete:_,onExportPdf:d,onEdit:c})=>{let u=[{label:"Edit",onClick:c},{label:"Export",onClick:d},{label:"Delete",onClick:_}];return t("div",{className:"RemoteFlows__EstimationResults__Header flex justify-between",children:[t("div",{className:"flex flex-row items-center gap-6",children:[o("div",{className:"RemoteFlows__EstimationResultsHeader__FlagContainer flex h-16 w-16 items-center justify-center rounded-lg bg-[#F4F4F5]",children:o(j,{code:Z[r.alpha_2_code]||r.alpha_2_code})}),t("div",{className:"space-y-1",children:[o("h2",{"data-testid":"estimation-results-header-title",className:"RemoteFlows__EstimationResultsHeader__Title text-lg font-medium leading-none text-[#181818]",children:e}),t("p",{className:"RemoteFlows__EstimationResultsHeader__Country text-xs text-[#71717A]",children:[r.name," ",a?` (${a.name})`:""]}),t("p",{"data-testid":"estimation-results-header-annual-gross-salary",className:"RemoteFlows__EstimationResultsHeader__AnnualGrossSalary text-xs text-[#71717A]",children:[o("span",{className:"text-[#181818]",children:"Employee annual gross salary:"})," ",l]})]})]}),o(L,{label:"Actions",className:"RemoteFlows__EstimationResults__ActionsDropdown",actions:u})]})},"EstimationResultsHeader"),V=m(()=>({steps:[{id:"add-employment-details",title:"Add employment details",description:"You add employee employments details."},{id:"invite-employee",title:"Invite employee",description:"Hire receives an email invitation from Remote to start the self-enrollment process."},{id:"verify-information",title:"Verify information",description:"Remote prepares the Employment Agreement and verifies all the information."},{id:"sign-contract",title:"Sign contract",description:"All parties sign the Employment Agreement and are ready to start. \u{1F389}"}],helpText:"For customers who accept Remote's Terms of Service (ToS), the employee onboarding timeline starts once the employee has been invited to the platform and completed self enrollment.",zendeskArticleId:w.employeeOnboardingTimeline}),"getOnboardingTimelineData");function Y({minimumOnboardingDays:e,data:r,className:a}){return o(R,{collapsible:!0,className:i("RemoteFlows__EstimationResults__OnboardingTimeline w-full",a),children:t(x,{value:"timeline",className:"RemoteFlows__OnboardingTimeline__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__OnboardingTimeline__AccordionTrigger hover:no-underline px-0 py-4",children:t("div",{className:"flex items-center justify-between w-full",children:[o("span",{className:"RemoteFlows__OnboardingTimeline__Title text-base font-medium text-[#0F172A]",children:"Onboarding timeline"}),e!=null&&t("span",{className:"RemoteFlows__OnboardingTimeline__Description text-base text-muted-foreground mr-4",children:[e," days"]})]})}),t(A,{className:"px-0 pb-4",children:[o("ul",{className:"RemoteFlows__OnboardingTimeline__List list-disc list-inside space-y-2",children:r.steps.map(l=>t("li",{children:[o("strong",{className:"font-medium text-[#09090B]",children:l.title})," ","- ",l.description]},l.id))}),t("p",{className:"RemoteFlows__OnboardingTimeline__HelpText text-xs text-muted-foreground mt-4",children:[r.helpText,r.zendeskArticleId&&o(f,{zendeskId:r.zendeskArticleId,children:"Learn more"})]})]})]})})}m(Y,"OnboardingTimeline");function q({className:e,countryBenefitsUrl:r,countryGuideUrl:a,country:l}){return o(R,{collapsible:!0,className:i("RemoteFlows__EstimationResults__HiringSection w-full",e),children:t(x,{value:"timeline",className:"RemoteFlows__HiringSection__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__HiringSection__AccordionTrigger hover:no-underline px-0 py-4",children:o("div",{className:"flex items-center justify-between w-full",children:t("span",{className:"text-base font-medium text-[#0F172A]",children:["Hiring in ",l.name]})})}),o(A,{children:t("div",{className:"flex flex-col gap-1",children:[a&&o("a",{href:a,target:"_blank",className:"RemoteFlows__Link",children:"Explore our complete guide \u2197"}),r&&o("a",{href:r,target:"_blank",className:"RemoteFlows__Link",children:"Explore our available benefits \u2197"})]})})]})})}m(q,"HiringSection");function J({isMultipleCurrency:e,className:r}){return t("div",{className:i("RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center",r),children:[o("span",{"aria-hidden":!0}),e?t(b,{children:[o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employee currency"}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employer currency"})]}):t(b,{children:[o("span",{}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Amount"})]})]})}m(J,"EstimationHeaders");function I({label:e,amounts:r,className:a,children:l}){let[_,d]=O(!0);return t("div",{className:i("RemoteFlows__EstimationResults__Row",a),children:[t("div",{className:"RemoteFlows__EstimationRow__Grid grid grid-cols-3 items-center",children:[t("div",{className:"RemoteFlows__EstimationRow__LabelContainer flex items-center gap-2",children:[o("span",{className:i("RemoteFlows__EstimationRow__Title min-w-[140px] font-medium text-[#09090B]"),children:e}),o("button",{onClick:()=>d(!_),className:"RemoteFlows__EstimationRow__CollapseButton p-1 hover:bg-gray-100 rounded",children:o(S,{className:`h-4 w-4 text-muted-foreground transition-transform ${_?"rotate-180":""}`})})]}),Array.isArray(r)?r.map((c,u)=>o("span",{className:i("RemoteFlows__EstimationRow__RegionalAmount text-right font-medium text-[#09090B]"),children:c},u)):t(b,{children:[o("span",{}),o("span",{className:i("RemoteFlows__EstimationRow__EmployerAmount text-right font-medium text-[#09090B]"),children:r})]})]}),_&&l&&o("div",{className:"RemoteFlows__EstimationRow__CollapsibleContent mt-4",children:l})]})}m(I,"EstimationRow");function Q({item:e,isMultipleCurrency:r,level:a=0}){let[l,_]=O(!1),d=e.children&&e.children.length>0,c=a>0,u=e.isCollapsible||d;return t("li",{className:i("RemoteFlows__BreakdownList__Item pb-3",c&&"pb-1"),children:[t("div",{className:i(r?"RemoteFlows__BreakdownList__Grid grid grid-cols-3 items-center justify-between":"RemoteFlows__BreakdownList__Grid grid grid-cols-2 items-center justify-between"),children:[t("div",{className:i("RemoteFlows__BreakdownList__LabelContainer flex items-center gap-2",c&&"pl-3"),children:[!c&&o("span",{className:"RemoteFlows__BreakdownList__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0","aria-hidden":"true"}),u?t("button",{onClick:()=>_(!l),className:"RemoteFlows__BreakdownList__CollapseButton flex items-center gap-2 hover:bg-gray-100 rounded p-1",children:[o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B]"),children:e.label}),o(S,{className:`RemoteFlows__BreakdownList__ChevronDown h-3 w-3 text-muted-foreground transition-transform ${l?"rotate-180":""}`})]}):o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B] p-1"),children:e.label}),e.tooltip&&o(T,{content:t(b,{children:[o("span",{dangerouslySetInnerHTML:{__html:F(e.tooltip)}})," ",e.zendeskId&&o(f,{zendeskId:Number(e.zendeskId),children:"Learn more"})]}),children:o("button",{className:"RemoteFlows__BreakdownList__InfoButton p-1 hover:bg-gray-100 rounded",children:o($,{className:i("RemoteFlows__BreakdownList__InfoButton__Icon text-muted-foreground",c?"h-3 w-3":"h-4 w-4")})})})]}),r?t(b,{children:[o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employee-amount",className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"}),o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employer-amount",className:i("RemoteFlows__BreakdownList__EmployerAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__EmployerAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__EmployerAmountText--NotNested text-[#09090B]"),children:e.employerAmount||"\u2014"})]}):o("span",{"data-testid":e.dataSelector,className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"})]}),d&&l&&o("div",{className:"mt-1",children:o(k,{items:e.children,isMultipleCurrency:r,level:a+1})})]})}m(Q,"BreakdownListItem");function k({items:e,isMultipleCurrency:r,className:a,level:l}){return o("ul",{className:i("RemoteFlows__BreakdownList list-none",a),children:e.map((_,d)=>o(Q,{item:_,isMultipleCurrency:r,level:l},d))})}m(k,"BreakdownList");var pe=m(({estimation:e,title:r,components:a,onDelete:l,onExportPdf:_,onEdit:d})=>{let c=a?.HiringSection||q,u=a?.OnboardingTimeline||Y,z=a?.Header||K,h=a?.Footer,H=V(),p=e.employer_currency_costs.currency.code!==e.regional_currency_costs.currency.code,v=e.employer_currency_costs.monthly_management_fee,D=e.region.code!==e.country.code,M=n(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.code);return t(C,{className:"RemoteFlows__EstimationResults__Card p-10",children:[o("div",{className:"RemoteFlows__Separator",children:o(z,{title:r,annualGrossSalary:M,region:D?e.region:void 0,country:e.country,onDelete:l,onExportPdf:_,onEdit:d})}),t("div",{className:"RemoteFlows__Separator",children:[o(J,{isMultipleCurrency:p,className:"mb-3"}),o(I,{label:"Monthly total cost",amounts:p?[n(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.code),n(e.employer_currency_costs.monthly_total,e.employer_currency_costs.currency.code)]:n(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.code),children:o(k,{items:[{label:"Gross monthly salary",regionalAmount:n(e.regional_currency_costs.monthly_gross_salary,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.monthly_gross_salary,e.employer_currency_costs.currency.code),zendeskId:w.extraPayments.toString(),tooltip:"This country respects extra payments on top of the gross salary."},{label:"Mandatory employer costs",regionalAmount:n(e.regional_currency_costs.monthly_contributions_total,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.monthly_contributions_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.monthly_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.monthly_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:n(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:n(e.regional_currency_costs.monthly_benefits_total,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.monthly_benefits_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.monthly_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.monthly_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:n(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...v?[{label:"Monthly fee",regionalAmount:n(e.regional_currency_costs.monthly_management_fee,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.monthly_management_fee,e.employer_currency_costs.currency.code),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})]}),o("div",{className:"RemoteFlows__Separator",children:o(I,{label:"Annual total cost",amounts:p?[n(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.code),n(e.employer_currency_costs.annual_total,e.employer_currency_costs.currency.code)]:n(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.code),children:o(k,{items:[{label:"Gross annual salary",dataSelector:"annual-gross-salary",regionalAmount:n(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.annual_gross_salary,e.employer_currency_costs.currency.code)},{label:"Mandatory employer costs",regionalAmount:n(e.regional_currency_costs.annual_contributions_total,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.annual_contributions_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.annual_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.annual_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:n(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:n(e.regional_currency_costs.annual_benefits_total,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.annual_benefits_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.annual_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.annual_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:n(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Extra statutory payments",regionalAmount:n(e.regional_currency_costs.extra_statutory_payments_total,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.extra_statutory_payments_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.extra_statutory_payments_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.extra_statutory_payments_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:n(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...v?[{label:"Annual fee",regionalAmount:n(e.regional_currency_costs.annual_management_fee,e.regional_currency_costs.currency.code),employerAmount:n(e.employer_currency_costs.annual_management_fee,e.employer_currency_costs.currency.code),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})}),o("div",{className:"RemoteFlows__Separator",children:o(u,{minimumOnboardingDays:e.minimum_onboarding_time,data:H})}),o(c,{countryBenefitsUrl:e.country_benefits_details_url,countryGuideUrl:e.country_guide_url,country:e.country}),h&&o(h,{})]})},"EstimationResults");export{pe as a};
|
|
2
|
-
//# sourceMappingURL=chunk-QZZJE6P7.js.map
|
package/dist/chunk-UWSG45OM.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{g as B,h as f,i as h}from"./chunk-HDOEUCXY.js";import{a as z}from"./chunk-WVJDCDGZ.js";import{a as M}from"./chunk-WI4YITIC.js";import{a as p}from"./chunk-S5BNS2JE.js";import{$ as A,C as P,D as v,I as V,J as y,M as R,P as j,S as x,U as D,ea as I,g as b,i as E,j as F,m as q,n as _,pa as K,q as O,r as C,ra as Q,ta as k,x as w,y as S}from"./chunk-XI55YG73.js";import{e as s}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as l,useQuery as u}from"@tanstack/react-query";import{useMemo as U}from"react";var se=t(e=>{let{client:r}=s();return u({queryKey:["company",e],retry:!1,enabled:!!e,queryFn:t(async()=>{let n=await v({client:r,headers:{Authorization:""},path:{company_id:e}});if(n.error||!n.data)throw new Error("Failed to fetch employment data");return n},"queryFn"),select:t(({data:n})=>n.data.company,"select")})},"useCompany"),ie=t(e=>{let{client:r}=s();return u({queryKey:["benefit-offers",e],retry:!1,enabled:!!e,queryFn:t(async()=>O({client:r,path:{employment_id:e}}).then(n=>{if(n.error||!n.data)throw new Error("Failed to fetch benefit offers data");return n}),"queryFn"),select:t(({data:n})=>n?.data?.reduce((o,a)=>({...o,[a.benefit_group.slug]:{value:a.benefit_tier?.slug??"no",...a.benefit_group?.filter?.slug?{filter:a.benefit_group?.filter?.slug}:{}}}),{}),"select")})},"useBenefitOffers"),me=t((e,r)=>{let{client:n}=s();return u({queryKey:["employment-engagement-agreement-details",e],retry:!1,enabled:r?.enabled??!!e,queryFn:t(async()=>q({client:n,headers:{Authorization:""},path:{employment_id:e}}).then(o=>{if(o.error||!o.data)throw new Error("Failed to fetch engagement agreement details");return o}),"queryFn"),select:t(({data:o})=>o?.data?.details,"select")})},"useEmploymentEngagementAgreementDetails"),le=t(()=>{let{client:e}=s();return l({mutationFn:t(r=>I({client:e,headers:{Authorization:""},path:r}),"mutationFn")})},"useEmploymentInvite"),ue=t(()=>{let{client:e}=s();return l({mutationFn:t(r=>P({client:e,body:r}),"mutationFn")})},"useCreateReserveInvoice"),ce=t(({countryCode:e,form:r,fieldValues:n,options:o,query:a={},jsonSchemaVersion:i})=>{let{client:m}=s(),g=i?{json_schema_version:i}:{};return u({queryKey:["onboarding-json-schema-form",e,r,i],retry:!1,queryFn:t(async()=>{let d=await y({client:m,headers:{Authorization:""},path:{country_code:e,form:r},query:{skip_benefits:!0,...a,...g}});if(d.error||!d.data)throw new Error("Failed to fetch onboarding schema");return d},"queryFn"),enabled:o?.queryOptions?.enabled,select:t(({data:d})=>{let c=d?.data||{};return p(c,n,o)},"select")})},"useJSONSchemaForm"),de=t(({countryCode:e,options:r,query:n={},jsonSchemaVersion:o})=>{let{client:a}=s(),i=o?{json_schema_version:o}:{},{data:m,...g}=u({queryKey:["onboarding-contract-details-schema",e,o],retry:!1,queryFn:t(async()=>{let c=await y({client:a,headers:{Authorization:""},path:{country_code:e,form:"contract_details"},query:{skip_benefits:!0,...n,...i}});if(c.error||!c.data)throw new Error("Failed to fetch onboarding schema");return c},"queryFn"),enabled:r?.queryOptions?.enabled});return{data:U(()=>{let c=m?.data.data;return c?p(c,{},r):null},[r,m?.data]),isLoading:g.isLoading}},"useContractDetailsSchema"),pe=t((e,r,n)=>{let{client:o}=s(),a={json_schema_version:h(n)};return u({queryKey:["benefit-offers-schema",e],retry:!1,enabled:!!e,queryFn:t(async()=>{let i=await j({client:o,path:{employment_id:e},query:a});if(i.error||!i.data)throw new Error("Failed to fetch benefit offers schema");return i},"queryFn"),select:t(({data:i})=>{let m=i?.data?.schema||{};return p(m,r,{jsfModify:n?.jsfModify?.benefits})},"select")})},"useBenefitOffersSchema"),ye=t(e=>{let{client:r}=s(),n={json_schema_version:f(e)};return l({mutationFn:t(o=>E({client:r,headers:{Authorization:""},body:o,query:{...n}}),"mutationFn")})},"useCreateEmployment"),ge=t((e,r)=>{let{client:n}=s(),o={employment_basic_information_json_schema_version:f(r),contract_details_json_schema_version:B(r,e)||1};return l({mutationFn:t(({employmentId:a,...i})=>x({client:n,headers:{Authorization:""},body:i,path:{employment_id:a},query:{skip_benefits:!0,...o}}),"mutationFn")})},"useUpdateEmployment"),fe=t(()=>{let{client:e}=s();return l({mutationFn:t(({employmentId:r,...n})=>_({client:e,headers:{Authorization:""},body:n,path:{employment_id:r}}),"mutationFn")})},"useUpdateEmploymentEngagementAgreementDetails"),he=t(e=>{let{client:r}=s();return l({mutationFn:t(({employmentId:n,...o})=>{let a={json_schema_version:h(e)};return C({client:r,body:o,path:{employment_id:n},query:a})},"mutationFn")})},"useUpdateBenefitsOffers"),be=t(e=>{let{client:r}=s(),{data:n,isLoading:o}=u({...M(r,"onboarding-countries"),select:t(i=>i.data?.data?.filter(m=>m.eor_onboarding).map(m=>({label:m.name,value:m.code,employment_agreement_preview_available:m.employment_agreement_preview_available}))||[],"select"),enabled:e?.queryOptions?.enabled}),a=p(z.data.schema,{},e);if(n){let i=a.fields.find(m=>m.name==="country");i&&(i.options=n)}return{isLoading:o,selectCountryForm:a,countries:n}},"useCountriesSchemaField"),Ee=t(({type:e="spread"})=>{let{client:r}=s();return l({mutationFn:t(n=>(e==="no_spread"?b:A)({client:r,body:n}),"mutationFn")})},"useConvertCurrency"),Fe=t(()=>{let{client:e}=s();return l({mutationFn:t(({employmentId:r,...n})=>D({client:e,path:{employment_id:r},body:n}),"mutationFn")})},"useUpsertContractEligibility"),qe=t((e,r,n=!0)=>{let{client:o}=s();return u({queryKey:["employment-onboarding-reserves-status",e,r],retry:!1,enabled:n&&!!e&&!!r,queryFn:t(async()=>{let a=await F({client:o,headers:{Authorization:""},path:{company_id:e,employment_id:r}});if(a.error||!a.data)throw new Error("Failed to fetch employment onboarding reserves status");return a},"queryFn"),select:t(({data:a})=>a?.data?.status,"select")})},"useEmploymentOnboardingReservesStatus"),_e=t((e,r,n)=>{let{client:o}=s(),a=n?.jsonSchemaVersion?{json_schema_version:n.jsonSchemaVersion}:{};return u({queryKey:["engagement-agreement-details",e,n?.jsonSchemaVersion],retry:!1,enabled:n?.queryOptions?.enabled??!!e,queryFn:t(async()=>{let i=await y({client:o,headers:{Authorization:""},path:{country_code:e,form:"engagement_agreement_details"},query:a});if(i.error||!i.data)throw new Error("Failed to fetch engagement agreement details");return i},"queryFn"),select:t(({data:i})=>{let m=i?.data||{};return p(m,r,{jsfModify:n?.jsfModify?.engagement_agreement_details})},"select")})},"useEngagementAgreementDetailsSchema"),Oe=t((e,r)=>{let{client:n}=s();return u({queryKey:["pre-onboarding-requirements",e],queryFn:t(async()=>{let o=await k({client:n,path:{employment_id:e}});if(o.error||!o.data)throw new Error("Failed to fetch pre-onboarding requirements");return o},"queryFn"),enabled:r?.queryOptions?.enabled??!0,select:t(o=>o.data?.data,"select")})},"useGetPreOnboardingRequirements"),Ce=t(()=>{let{client:e}=s();return l({mutationFn:t(({employmentId:r,body:n})=>V({client:e,path:{employment_id:r,requirement_slug:n.requirement_slug}}),"mutationFn")})},"useCreatePreOnboardingDocument"),we=t((e,r,n)=>{let{client:o}=s();return u({queryKey:["pre-onboarding-document",e,r],queryFn:t(async()=>{let a=await R({client:o,path:{employment_id:e,id:r}});if(a.error||!a.data)throw new Error("Failed to fetch pre-onboarding document");return a},"queryFn"),enabled:(n?.queryOptions?.enabled??!0)&&!!r,select:t(a=>a.data?.data,"select")})},"useGetPreOnboardingDocument"),Se=t(()=>{let{client:e}=s();return l({mutationFn:t(({employmentId:r,documentId:n,signature:o})=>K({client:e,path:{employment_id:r,id:n},body:{signature:o}}),"mutationFn")})},"useSignPreOnboardingDocument"),Pe=t(()=>{let{client:e}=s();return l({mutationFn:t(({employmentId:r,requirementSlug:n})=>S({client:e,path:{employment_id:r,requirement_slug:n}}),"mutationFn")})},"useAcknowledgePreOnboardingRequirement"),ve=t(()=>{let{client:e}=s();return l({mutationFn:t(({employmentId:r,requirementSlug:n})=>w({client:e,path:{employment_id:r,requirement_slug:n}}),"mutationFn")})},"useRemoveAcknowledgePreOnboardingRequirement"),Ve=t((e,r)=>{let{client:n}=s();return u({queryKey:["employment-agreement-preview",e],retry:!1,enabled:(r?.queryOptions?.enabled??!0)&&!!e,queryFn:t(async()=>{let o=await Q({client:n,path:{employment_id:e}});if(o.error||!o.data)throw new Error("Failed to fetch employment agreement preview");return o},"queryFn"),select:t(o=>o.data?.data.employment_agreement,"select")})},"useEmploymentAgreementPreview");export{se as a,ie as b,me as c,le as d,ue as e,ce as f,de as g,pe as h,ye as i,ge as j,fe as k,he as l,be as m,Ee as n,Fe as o,qe as p,_e as q,Oe as r,Ce as s,we as t,Se as u,Pe as v,ve as w,Ve as x};
|
|
2
|
-
//# sourceMappingURL=chunk-UWSG45OM.js.map
|
package/dist/chunk-WDO7XH6B.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{l as b}from"./chunk-XI55YG73.js";import{n as m,s as u}from"./chunk-NXRWBI36.js";import{b as g,e as f}from"./chunk-H2O4CVKF.js";import{a as e}from"./chunk-P37U34EQ.js";var L={disclaimerCostCalculator:4668194326797,engagingContractors:43161434169613,employmentAgreements:39266991211149,employeeOnboardingTimeline:4411262104589,extraPayments:4466822781709,germanyLaborLeasing:43002165606541,internationalPricing:4410698586893,pricingPlanOptions:43161720465421,ir35Status:42810224523917,remoteFxRate:33271144977421,terminationEmployeeCommunication:4411585179661,terminationNoticePeriods:5831900985613,involuntaryOffboardingServiceCharge:4406932229133,reconciliationInvoice:17604014808589},l=e(r=>`https://support.remote.com/hc/en-us/articles/${r}`,"buildZendeskURL");import{useQuery as w}from"@tanstack/react-query";var k=e((r,t)=>{let{client:i}=f();return w({queryKey:["zendesk-article",r],queryFn:e(async()=>{let n=await b({client:i,path:{id:Number(r)}});if(n.error)throw new Error(n.error.message||"Failed to fetch article");return n},"queryFn"),select:e(n=>{let o=n.data?.data.help_center_article;return o&&{...o,body:u(o.body||"")}},"select"),retry:!1,...t})},"useZendeskArticle");import{jsx as R}from"react/jsx-runtime";var C=e(({Trigger:r,zendeskId:t,open:i,onClose:n})=>{let{components:o}=g(),c=l(t),s=e(()=>{n?.()},"handleClose"),{data:a,isLoading:Z,error:h}=k(t,{enabled:i}),p=o?.zendeskDrawer;if(!p)throw new Error("Zendesk drawer component not found");return R(p,{open:i,onClose:s,data:a,isLoading:Z,error:h,zendeskURL:c,Trigger:r})},"ZendeskDrawer");import{useState as x}from"react";import{jsx as d}from"react/jsx-runtime";var y="RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0";function Q({zendeskId:r,className:t,onClick:i,children:n,external:o=!1}){let[c,s]=x(!1),a=e(()=>{o||s(!0),i?.(r)},"handleClick");return o?d("a",{href:l(r),target:"_blank",rel:"noopener noreferrer",onClick:a,className:m(y,t),children:n}):d(C,{zendeskId:r,open:c,onClose:()=>s(!1),Trigger:d("button",{onClick:a,className:m(y,t),children:n})})}e(Q,"ZendeskTriggerButton");export{L as a,l as b,Q as c};
|
|
2
|
-
//# sourceMappingURL=chunk-WDO7XH6B.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/shared/zendesk-drawer/utils.ts","../src/components/shared/zendesk-drawer/api.ts","../src/components/shared/zendesk-drawer/ZendeskDrawer.tsx","../src/components/shared/zendesk-drawer/ZendeskTriggerButton.tsx"],"sourcesContent":["export const zendeskArticles = {\n /**\n * Disclaimer for Cost Calculator\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4668194326797\n */\n disclaimerCostCalculator: 4668194326797,\n /**\n * Guide for engaging contractors\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/43161434169613\n */\n engagingContractors: 43161434169613,\n /**\n * Employment Agreements\n * Access: Public (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/39266991211149\n */\n employmentAgreements: 39266991211149,\n /**\n * Employee Onboarding Timeline\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4411262104589\n */\n employeeOnboardingTimeline: 4411262104589,\n /**\n * Extra Payments\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4466822781709\n */\n extraPayments: 4466822781709,\n /**\n * Germany Labor Leasing\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/43002165606541\n */\n germanyLaborLeasing: 43002165606541,\n /**\n * International Pricing\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4410698586893\n */\n internationalPricing: 4410698586893,\n /**\n * Pricing Plan Options\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/43161720465421\n */\n pricingPlanOptions: 43161720465421,\n /**\n * IR35 Status\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/42810224523917\n */\n ir35Status: 42810224523917,\n /**\n * Remote FX Rate\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/33271144977421\n */\n remoteFxRate: 33271144977421,\n /**\n * Employee Communication for Terminations\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4411585179661\n */\n terminationEmployeeCommunication: 4411585179661,\n /**\n * Notice Period for Terminations by Country\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/5831900985613\n */\n terminationNoticePeriods: 5831900985613,\n /**\n * Involuntary Offboarding Service Charge\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4406932229133\n */\n involuntaryOffboardingServiceCharge: 4406932229133,\n /**\n * Reconciliation Invoice\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/17604014808589\n */\n reconciliationInvoice: 17604014808589,\n};\n\nexport const buildZendeskURL = (zendeskId: number) => {\n return `https://support.remote.com/hc/en-us/articles/${zendeskId}`;\n};\n","import { getV1HelpCenterArticlesId } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { sanitizeHtmlWithImageErrorHandling } from '@/src/lib/utils';\nimport { Client } from '@/src/client/client';\nimport { useQuery } from '@tanstack/react-query';\n\nexport const useZendeskArticle = (\n zendeskId: number | null,\n queryOptions?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['zendesk-article', zendeskId],\n queryFn: async () => {\n const response = await getV1HelpCenterArticlesId({\n client: client as Client,\n path: {\n id: Number(zendeskId),\n },\n });\n\n if (response.error) {\n throw new Error(response.error.message || 'Failed to fetch article');\n }\n\n return response;\n },\n select: (data) => {\n const article = data.data?.data.help_center_article;\n if (article) {\n return {\n ...article,\n body: sanitizeHtmlWithImageErrorHandling(article.body || ''),\n };\n }\n return article;\n },\n retry: false,\n ...queryOptions,\n });\n};\n","import { useZendeskArticle } from '@/src/components/shared/zendesk-drawer/api';\nimport { useFormFields } from '@/src/context';\nimport { buildZendeskURL } from '@/src/components/shared/zendesk-drawer/utils';\n\nexport type ZendeskDrawerProps = {\n Trigger: React.ReactElement;\n zendeskId: number;\n open: boolean;\n onClose: () => void;\n};\n\nexport const ZendeskDrawer = ({\n Trigger,\n zendeskId,\n open,\n onClose,\n}: ZendeskDrawerProps) => {\n const { components } = useFormFields();\n const zendeskURL = buildZendeskURL(zendeskId);\n\n const handleClose = () => {\n onClose?.();\n };\n\n const { data, isLoading, error } = useZendeskArticle(zendeskId, {\n enabled: open,\n });\n\n const CustomZendeskDrawer = components?.zendeskDrawer;\n\n if (!CustomZendeskDrawer) {\n throw new Error(`Zendesk drawer component not found`);\n }\n\n return (\n <CustomZendeskDrawer\n open={open}\n onClose={handleClose}\n data={data}\n isLoading={isLoading}\n error={error}\n zendeskURL={zendeskURL}\n Trigger={Trigger}\n />\n );\n};\n","import { cn } from '@/src/lib/utils';\nimport { ZendeskDrawer } from './ZendeskDrawer';\nimport { buildZendeskURL } from './utils';\nimport { useState } from 'react';\n\ninterface ZendeskTriggerButtonProps {\n /**\n * The Zendesk ID for the help article\n */\n zendeskId: number;\n /**\n * The class name for the button\n */\n className?: string;\n /**\n * The callback function to be called when the button is clicked\n */\n onClick?: (zendeskId: number) => void;\n /**\n * The children to be rendered inside the button\n */\n children?: React.ReactNode;\n /**\n * Whether to open the help article in a new tab\n */\n external?: boolean;\n}\n\nconst baseClassName =\n 'RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0';\n\nexport function ZendeskTriggerButton({\n zendeskId,\n className,\n onClick,\n children,\n external = false,\n}: ZendeskTriggerButtonProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n if (!external) {\n setIsOpen(true);\n }\n onClick?.(zendeskId);\n };\n\n if (external) {\n return (\n <a\n href={buildZendeskURL(zendeskId)}\n target='_blank'\n rel='noopener noreferrer'\n onClick={handleClick}\n className={cn(baseClassName, className)}\n >\n {children}\n </a>\n );\n }\n\n return (\n <ZendeskDrawer\n zendeskId={zendeskId}\n open={isOpen}\n onClose={() => setIsOpen(false)}\n Trigger={\n <button onClick={handleClick} className={cn(baseClassName, className)}>\n {children}\n </button>\n }\n />\n );\n}\n"],"mappings":"8KAAO,IAAMA,EAAkB,CAM7B,yBAA0B,cAM1B,oBAAqB,eAMrB,qBAAsB,eAMtB,2BAA4B,cAM5B,cAAe,cAMf,oBAAqB,eAMrB,qBAAsB,cAMtB,mBAAoB,eAMpB,WAAY,eAMZ,aAAc,eAMd,iCAAkC,cAMlC,yBAA0B,cAM1B,oCAAqC,cAMrC,sBAAuB,cACzB,EAEaC,EAAkBC,EAACC,GACvB,gDAAgDA,CAAS,GADnC,mBCnF/B,OAAS,YAAAC,MAAgB,wBAElB,IAAMC,EAAoBC,EAAA,CAC/BC,EACAC,IACG,CACH,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAS,CACd,SAAU,CAAC,kBAAmBJ,CAAS,EACvC,QAASD,EAAA,SAAY,CACnB,IAAMM,EAAW,MAAMC,EAA0B,CAC/C,OAAQJ,EACR,KAAM,CACJ,GAAI,OAAOF,CAAS,CACtB,CACF,CAAC,EAED,GAAIK,EAAS,MACX,MAAM,IAAI,MAAMA,EAAS,MAAM,SAAW,yBAAyB,EAGrE,OAAOA,CACT,EAbS,WAcT,OAAQN,EAACQ,GAAS,CAChB,IAAMC,EAAUD,EAAK,MAAM,KAAK,oBAChC,OAAIC,GACK,CACL,GAAGA,EACH,KAAMC,EAAmCD,EAAQ,MAAQ,EAAE,CAC7D,CAGJ,EATQ,UAUR,MAAO,GACP,GAAGP,CACL,CAAC,CACH,EAlCiC,qBC6B7B,cAAAS,MAAA,oBAxBG,IAAMC,EAAgBC,EAAA,CAAC,CAC5B,QAAAC,EACA,UAAAC,EACA,KAAAC,EACA,QAAAC,CACF,IAA0B,CACxB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/BC,EAAaC,EAAgBN,CAAS,EAEtCO,EAAcT,EAAA,IAAM,CACxBI,IAAU,CACZ,EAFoB,eAId,CAAE,KAAAM,EAAM,UAAAC,EAAW,MAAAC,CAAM,EAAIC,EAAkBX,EAAW,CAC9D,QAASC,CACX,CAAC,EAEKW,EAAsBT,GAAY,cAExC,GAAI,CAACS,EACH,MAAM,IAAI,MAAM,oCAAoC,EAGtD,OACEhB,EAACgB,EAAA,CACC,KAAMX,EACN,QAASM,EACT,KAAMC,EACN,UAAWC,EACX,MAAOC,EACP,WAAYL,EACZ,QAASN,EACX,CAEJ,EAlC6B,iBCR7B,OAAS,YAAAc,MAAgB,QA8CnB,cAAAC,MAAA,oBArBN,IAAMC,EACJ,qIAEK,SAASC,EAAqB,CACnC,UAAAC,EACA,UAAAC,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EAAW,EACb,EAA8B,CAC5B,GAAM,CAACC,EAAQC,CAAS,EAAIC,EAAS,EAAK,EAEpCC,EAAcC,EAAA,IAAM,CACnBL,GACHE,EAAU,EAAI,EAEhBJ,IAAUF,CAAS,CACrB,EALoB,eAOpB,OAAII,EAEAP,EAAC,KACC,KAAMa,EAAgBV,CAAS,EAC/B,OAAO,SACP,IAAI,sBACJ,QAASQ,EACT,UAAWG,EAAGb,EAAeG,CAAS,EAErC,SAAAE,EACH,EAKFN,EAACe,EAAA,CACC,UAAWZ,EACX,KAAMK,EACN,QAAS,IAAMC,EAAU,EAAK,EAC9B,QACET,EAAC,UAAO,QAASW,EAAa,UAAWG,EAAGb,EAAeG,CAAS,EACjE,SAAAE,EACH,EAEJ,CAEJ,CA1CgBM,EAAAV,EAAA","names":["zendeskArticles","buildZendeskURL","__name","zendeskId","useQuery","useZendeskArticle","__name","zendeskId","queryOptions","client","useClient","useQuery","response","getV1HelpCenterArticlesId","data","article","sanitizeHtmlWithImageErrorHandling","jsx","ZendeskDrawer","__name","Trigger","zendeskId","open","onClose","components","useFormFields","zendeskURL","buildZendeskURL","handleClose","data","isLoading","error","useZendeskArticle","CustomZendeskDrawer","useState","jsx","baseClassName","ZendeskTriggerButton","zendeskId","className","onClick","children","external","isOpen","setIsOpen","useState","handleClick","__name","buildZendeskURL","cn","ZendeskDrawer"]}
|
package/dist/chunk-XI5G4SGA.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as y}from"./chunk-ZG2AYULT.js";import{a as l,c as m}from"./chunk-WDO7XH6B.js";import{c}from"./chunk-4FGKIGKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as p}from"react";import{Fragment as N,jsx as v,jsxs as C}from"react/jsx-runtime";var R=t(({currencies:{from:d,to:F},shouldSwapOrder:s,salary_conversion_properties:a,conversionType:_="no_spread",defaultValue:r,splitDescription:f,...e})=>{let{setValue:n,getValues:i}=c(),g={label:a?.label||"Salary conversion",description:a?.description||C(N,{children:["The conversion is based on the Remote FX rate."," ",v(m,{className:"text-sm",zendeskId:l.remoteFxRate,children:"Learn more \u2197"})]})},u=s?"salary_conversion":e.name,b=s?e.name:"salary_conversion";return p(()=>{if(s){let o=i(e.name);o?(n("salary_conversion",o),n("salary_converted","salary_conversion")):r&&(n("salary_conversion",r),n("salary_converted","salary_conversion"))}else{let o=i("salary_conversion");o?(n(e.name,o),n("salary_converted",e.name)):r&&(n(e.name,r),n("salary_converted",e.name))}},[s,r,n,i,e.name]),v(y,{...e,sourceCurrency:d,targetCurrency:F,mainFieldName:u,conversionFieldName:b,conversionProperties:g,classNamePrefix:"RemoteFlows-Salary",conversionType:_,splitDescription:f})},"SalaryField");export{R as a};
|
|
2
|
-
//# sourceMappingURL=chunk-XI5G4SGA.js.map
|
package/dist/chunk-XPVYX7LE.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as r}from"./chunk-P37U34EQ.js";import{useState as f,useEffect as v,useRef as x}from"react";var m=r(t=>Object.values(t).find(n=>n.visible!==!1)||t[Object.keys(t)[0]],"getInitialStep"),k=r((t,i)=>{let c=Object.keys(t);if(c.length===0)throw new Error("No steps provided to useStepState");let n=x(t);n.current=t;let[p,d]=f({}),S=m(t),[o,a]=f({currentStep:S,totalSteps:c.length,values:null});v(()=>{i?.(S)},[]);function T(){let{index:s}=o.currentStep,l=Object.values(n.current).find(e=>e.index>s&&e.visible!==!1);l&&(a(e=>({...e,currentStep:l,values:{...e.values,[e.currentStep.name]:{...e.values?.[e.currentStep.name],...p}}})),i?.(l),d({}))}r(T,"nextStep");function F(){let{index:s}=o.currentStep,l=Object.values(n.current).reverse().find(e=>e.index<s&&e.visible!==!1);l&&(a(e=>({...e,currentStep:l,values:{...e.values,[e.currentStep.name]:{...e.values?.[e.currentStep.name],...p}}})),i?.(l),d({}))}r(F,"previousStep");function b(s){a(u=>({...u,currentStep:n.current[s]})),i?.(n.current[s])}r(b,"goToStep");function V(s){a(u=>({...u,values:s}))}return r(V,"setStepValues"),{nextStep:T,previousStep:F,stepState:o,goToStep:b,fieldValues:p,setFieldValues:d,setStepValues:V}},"useStepState");export{k as a};
|
|
2
|
-
//# sourceMappingURL=chunk-XPVYX7LE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/useStepState.ts"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { FieldValues } from 'react-hook-form';\n\nexport type Step<T extends string> = {\n index: number;\n name: T;\n visible?: boolean;\n};\n\ntype StepState<T extends string, Fields = FieldValues> = {\n currentStep: Step<T>;\n totalSteps: number;\n values:\n | {\n [key in T]: Fields;\n }\n | null;\n};\n\nconst getInitialStep = <T extends string>(steps: Record<T, Step<T>>) => {\n const stepValues = Object.values(steps) as Step<T>[];\n const firstVisibleStep = stepValues.find((step) => step.visible !== false);\n return firstVisibleStep || steps[Object.keys(steps)[0] as T]; // Fallback to first if none found\n};\n\nexport const useStepState = <T extends string, Fields = FieldValues>(\n steps: Record<T, Step<T>>,\n onStepChange?: (step: Step<T>) => void,\n) => {\n const stepKeys = Object.keys(steps) as Array<keyof typeof steps>;\n\n if (stepKeys.length === 0) {\n throw new Error('No steps provided to useStepState');\n }\n\n // Keep the latest steps in a ref so nextStep/previousStep/goToStep resolve\n // visibility against current data even when invoked from a callback that\n // closed over an earlier render — e.g. right after an async refetch flips a\n // step's visibility but before the component has re-rendered.\n const stepsRef = useRef(steps);\n stepsRef.current = steps;\n\n const [fieldValues, setFieldValues] = useState<Fields>({} as Fields);\n const initialStep = getInitialStep(steps);\n const [stepState, setStepState] = useState<StepState<T, Fields>>({\n currentStep: initialStep,\n totalSteps: stepKeys.length,\n values: null,\n });\n\n // Call onStepChange once when the hook initializes\n // Note: intentionally no deps to only run on mount and avoid re-renders\n // when onStepChange/steps references change\n useEffect(() => {\n onStepChange?.(initialStep);\n // oxlint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n function nextStep() {\n const { index } = stepState.currentStep;\n const stepValues = Object.values<Step<T>>(stepsRef.current);\n const nextStep = stepValues.find(\n (step) => step.index > index && step.visible !== false,\n );\n\n if (nextStep) {\n setStepState((previousState) => ({\n ...previousState,\n currentStep: nextStep,\n values: {\n ...previousState.values,\n [previousState.currentStep.name]: {\n ...previousState.values?.[previousState.currentStep.name as T],\n ...fieldValues,\n },\n } as { [key in T]: Fields },\n }));\n onStepChange?.(nextStep);\n setFieldValues({} as Fields);\n }\n }\n\n function previousStep() {\n const { index } = stepState.currentStep;\n const stepValues = Object.values<Step<T>>(stepsRef.current);\n const previousStep = stepValues\n .reverse()\n .find((step) => step.index < index && step.visible !== false);\n\n if (previousStep) {\n setStepState((previousState) => ({\n ...previousState,\n currentStep: previousStep,\n values: {\n ...previousState.values,\n [previousState.currentStep.name]: {\n ...previousState.values?.[previousState.currentStep.name as T],\n ...fieldValues,\n },\n } as { [key in T]: Fields },\n }));\n onStepChange?.(previousStep);\n setFieldValues({} as Fields);\n }\n }\n\n function goToStep(step: T) {\n setStepState((previousState) => ({\n ...previousState,\n currentStep: stepsRef.current[step],\n }));\n onStepChange?.(stepsRef.current[step]);\n }\n\n function setStepValues(values: Record<T, Fields>) {\n setStepState((previousState) => ({\n ...previousState,\n values: values,\n }));\n }\n\n return {\n /**\n * Moves to the next step in the step state.\n * It updates the current step and resets the field values for the next step.\n * The field values for the current step are stored in the step state.\n * @returns {void}\n */\n nextStep,\n /**\n * Moves to the previous step in the step state.\n * It updates the current step and resets the field values for the previous step.\n * The field values for the current step are stored in the step state.\n * @returns {void}\n */\n previousStep,\n /**\n * The current step state containing the current step, total number of steps and\n * the form values for each step.\n * @returns {StepState<T>} The current step state.\n */\n stepState,\n /**\n * Goes to a specific step in the step state.\n * @param step The step to go to.\n * @returns {void}\n */\n goToStep,\n /**\n * The field values for the current step.\n * @returns {FieldValues} The field values for the current step.\n */\n fieldValues,\n /**\n * Sets the field values for the current step.\n * @param values The field values to set.\n * @returns {void}\n */\n setFieldValues,\n /**\n * Sets the step values for the step state.\n * This is used to update all values in the step state.\n * @param values The values to set for the all steps.\n * @returns {void}\n */\n setStepValues,\n };\n};\n"],"mappings":"wCAAA,OAAS,YAAAA,EAAU,aAAAC,EAAW,UAAAC,MAAc,QAmB5C,IAAMC,EAAiBC,EAAmBC,GACrB,OAAO,OAAOA,CAAK,EACF,KAAMC,GAASA,EAAK,UAAY,EAAK,GAC9CD,EAAM,OAAO,KAAKA,CAAK,EAAE,CAAC,CAAM,EAHtC,kBAMVE,EAAeH,EAAA,CAC1BC,EACAG,IACG,CACH,IAAMC,EAAW,OAAO,KAAKJ,CAAK,EAElC,GAAII,EAAS,SAAW,EACtB,MAAM,IAAI,MAAM,mCAAmC,EAOrD,IAAMC,EAAWC,EAAON,CAAK,EAC7BK,EAAS,QAAUL,EAEnB,GAAM,CAACO,EAAaC,CAAc,EAAIC,EAAiB,CAAC,CAAW,EAC7DC,EAAcZ,EAAeE,CAAK,EAClC,CAACW,EAAWC,CAAY,EAAIH,EAA+B,CAC/D,YAAaC,EACb,WAAYN,EAAS,OACrB,OAAQ,IACV,CAAC,EAKDS,EAAU,IAAM,CACdV,IAAeO,CAAW,CAE5B,EAAG,CAAC,CAAC,EAEL,SAASI,GAAW,CAClB,GAAM,CAAE,MAAAC,CAAM,EAAIJ,EAAU,YAEtBG,EADa,OAAO,OAAgBT,EAAS,OAAO,EAC9B,KACzBJ,GAASA,EAAK,MAAQc,GAASd,EAAK,UAAY,EACnD,EAEIa,IACFF,EAAcI,IAAmB,CAC/B,GAAGA,EACH,YAAaF,EACb,OAAQ,CACN,GAAGE,EAAc,OACjB,CAACA,EAAc,YAAY,IAAI,EAAG,CAChC,GAAGA,EAAc,SAASA,EAAc,YAAY,IAAS,EAC7D,GAAGT,CACL,CACF,CACF,EAAE,EACFJ,IAAeW,CAAQ,EACvBN,EAAe,CAAC,CAAW,EAE/B,CAtBST,EAAAe,EAAA,YAwBT,SAASG,GAAe,CACtB,GAAM,CAAE,MAAAF,CAAM,EAAIJ,EAAU,YAEtBM,EADa,OAAO,OAAgBZ,EAAS,OAAO,EAEvD,QAAQ,EACR,KAAMJ,GAASA,EAAK,MAAQc,GAASd,EAAK,UAAY,EAAK,EAE1DgB,IACFL,EAAcI,IAAmB,CAC/B,GAAGA,EACH,YAAaC,EACb,OAAQ,CACN,GAAGD,EAAc,OACjB,CAACA,EAAc,YAAY,IAAI,EAAG,CAChC,GAAGA,EAAc,SAASA,EAAc,YAAY,IAAS,EAC7D,GAAGT,CACL,CACF,CACF,EAAE,EACFJ,IAAec,CAAY,EAC3BT,EAAe,CAAC,CAAW,EAE/B,CAtBST,EAAAkB,EAAA,gBAwBT,SAASC,EAASjB,EAAS,CACzBW,EAAcI,IAAmB,CAC/B,GAAGA,EACH,YAAaX,EAAS,QAAQJ,CAAI,CACpC,EAAE,EACFE,IAAeE,EAAS,QAAQJ,CAAI,CAAC,CACvC,CANSF,EAAAmB,EAAA,YAQT,SAASC,EAAcC,EAA2B,CAChDR,EAAcI,IAAmB,CAC/B,GAAGA,EACH,OAAQI,CACV,EAAE,CACJ,CALS,OAAArB,EAAAoB,EAAA,iBAOF,CAOL,SAAAL,EAOA,aAAAG,EAMA,UAAAN,EAMA,SAAAO,EAKA,YAAAX,EAMA,eAAAC,EAOA,cAAAW,CACF,CACF,EA9I4B","names":["useState","useEffect","useRef","getInitialStep","__name","steps","step","useStepState","onStepChange","stepKeys","stepsRef","useRef","fieldValues","setFieldValues","useState","initialStep","stepState","setStepState","useEffect","nextStep","index","previousState","previousStep","goToStep","setStepValues","values"]}
|
package/dist/chunk-XZMPAJRL.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a,b as s,e as l,h as c,i as u}from"./chunk-PB6UQ4A4.js";import{a as n}from"./chunk-P37U34EQ.js";function E(e={}){let o=[{name:"select_country",label:"Select Country",visible:!!e?.includeSelectCountry},{name:"basic_information",label:"Basic Information",visible:!0},{name:"pricing_plan",label:"Pricing Plan",visible:!0},{name:"eligibility_questionnaire",label:"Eligibility Questionnaire",visible:!!e?.includeEligibilityQuestionnaire},{name:"contract_origin",label:"Contract Options",visible:!!(e?.includeContractOrigin??!0)},{name:"contract_details",label:"Contract Details",visible:!!(e?.includeContractDetails??!0)},{name:"contract_preview",label:"Contract Preview",visible:!!e?.includeContractPreview},{name:"review",label:"Review",visible:!0}].map((i,r)=>({name:i.name,index:r,label:i.label,visible:i.visible}));return{steps:o.reduce((i,r)=>(i[r.name]={index:r.index,name:r.name,visible:r.visible},i),{}),stepsArray:o}}n(E,"buildSteps");var v=n((e,t)=>{if(e&&t&&e!==t)return`When the contractor will start providing service to your company. ${`This date does not match the date you provided in the Basic Information step - ${e} - and will override it only when both parties have signed the contract.`}`},"calculateProvisionalStartDateDescription"),g=n(e=>e===a||e===s,"isCMOrCMPlus"),m=["SAU","KWT","OMN","QAT","BHR"],y=n(e=>m.includes(e),"isNationalityCountryCode"),S=n((e,t)=>!t||t.length===0?!0:!t.some(o=>l[o]===e),"shouldIncludeProduct"),C=["initiated","invited","created_awaiting_reserve","created_reserve_paid","active"],f=["initiated","created_awaiting_reserve","invited","active"];function R(e){return e?u:c}n(R,"transformAiErrorResponse");var b=1,A=n(e=>e?.jsonSchemaVersion?.employment_basic_information||b,"getBasicInformationSchemaVersion");export{E as a,v as b,g as c,y as d,S as e,C as f,f as g,R as h,A as i};
|
|
2
|
-
//# sourceMappingURL=chunk-XZMPAJRL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractorOnboarding/utils.ts"],"sourcesContent":["import { Step } from '@/src/flows/useStepState';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n ProductType,\n PRODUCT_IDENTIFIER_MAP,\n REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE,\n REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport { Employment } from '@/src/flows/Onboarding/types';\n\nexport type StepKeys =\n | 'select_country'\n | 'basic_information'\n | 'contract_origin'\n | 'contract_details'\n | 'eligibility_questionnaire'\n | 'contract_preview'\n | 'pricing_plan'\n | 'review';\n\ntype StepConfig = {\n includeSelectCountry?: boolean;\n includeContractOrigin?: boolean;\n includeEligibilityQuestionnaire?: boolean;\n includeContractDetails?: boolean;\n includeContractPreview?: boolean;\n};\n\nexport function buildSteps(config: StepConfig = {}) {\n const stepDefinitions: Array<{\n name: StepKeys;\n label: string;\n visible: boolean;\n }> = [\n {\n name: 'select_country',\n label: 'Select Country',\n visible: Boolean(config?.includeSelectCountry),\n },\n {\n name: 'basic_information',\n label: 'Basic Information',\n visible: true,\n },\n {\n name: 'pricing_plan',\n label: 'Pricing Plan',\n visible: true,\n },\n {\n name: 'eligibility_questionnaire',\n label: 'Eligibility Questionnaire',\n visible: Boolean(config?.includeEligibilityQuestionnaire),\n },\n {\n name: 'contract_origin',\n label: 'Contract Options',\n visible: Boolean(config?.includeContractOrigin ?? true),\n },\n {\n name: 'contract_details',\n label: 'Contract Details',\n visible: Boolean(config?.includeContractDetails ?? true),\n },\n {\n name: 'contract_preview',\n label: 'Contract Preview',\n visible: Boolean(config?.includeContractPreview),\n },\n {\n name: 'review',\n label: 'Review',\n visible: true,\n },\n ];\n\n const stepsArray = stepDefinitions.map((step, index) => ({\n name: step.name,\n index,\n label: step.label,\n visible: step.visible,\n }));\n\n const steps = stepsArray.reduce(\n (acc, step) => {\n acc[step.name] = {\n index: step.index,\n name: step.name,\n visible: step.visible,\n };\n return acc;\n },\n {} as Record<string, Step<StepKeys>>,\n );\n\n return { steps, stepsArray };\n}\n\n/**\n * Calculates the description for the provisional start date field\n * based on whether the dates match between basic information and contract details steps\n */\nexport const calculateProvisionalStartDateDescription = (\n employmentProvisionalStartDate: string | undefined,\n fieldProvisionalStartDate: string | undefined,\n): string | undefined => {\n const datesNotMatching =\n employmentProvisionalStartDate &&\n fieldProvisionalStartDate &&\n employmentProvisionalStartDate !== fieldProvisionalStartDate;\n\n if (datesNotMatching) {\n const datesDontMatchWarning = `This date does not match the date you provided in the Basic Information step - ${\n employmentProvisionalStartDate\n } - and will override it only when both parties have signed the contract.`;\n return `When the contractor will start providing service to your company. ${datesDontMatchWarning}`;\n }\n return undefined;\n};\n\n/**\n * Checks if the selected pricing plan is CM (standard) or CM+ (plus)\n */\nexport const isCMOrCMPlus = (subscription: string | undefined): boolean => {\n return (\n subscription === contractorStandardProductIdentifier ||\n subscription === contractorPlusProductIdentifier\n );\n};\n\nconst NATIONALITY_COUNTRY_CODES = ['SAU', 'KWT', 'OMN', 'QAT', 'BHR'];\n\n/**\n * Checks if the country code is a country code that requires nationality status field\n */\nexport const isNationalityCountryCode = (countryCode: string) => {\n return NATIONALITY_COUNTRY_CODES.includes(countryCode);\n};\n\n/**\n * Checks if a product should be included based on the excludeProducts list\n * @param productIdentifier - The product identifier to check\n * @param excludeProducts - Array of products to exclude\n * @returns true if the product should be included, false otherwise\n */\nexport const shouldIncludeProduct = (\n productIdentifier: string,\n excludeProducts?: ProductType[],\n): boolean => {\n if (!excludeProducts || excludeProducts.length === 0) {\n return true;\n }\n\n return !excludeProducts.some(\n (excluded) => PRODUCT_IDENTIFIER_MAP[excluded] === productIdentifier,\n );\n};\n\n/**\n * Array of employment statuses that are allowed to proceed to the review step.\n * These statuses indicate that the employment is in a final state and the employment cannot be modified further.\n * @type {Employment['status'][]}\n * @constant\n */\nexport const reviewStepAllowedEmploymentStatus: Employment['status'][] = [\n 'initiated',\n 'invited',\n 'created_awaiting_reserve',\n 'created_reserve_paid',\n 'active',\n];\n\nexport const disabledInviteButtonEmploymentStatus: Employment['status'][] = [\n 'initiated',\n 'created_awaiting_reserve',\n 'invited',\n 'active',\n];\n\n/**\n * Transforms AI error messages to use default localized messages\n * @param isContractorOfRecord - Whether the contractor is a Contractor of Record\n * @param errors - Array of error messages from the API\n * @returns Array containing the appropriate default error message\n */\nexport function transformAiErrorResponse(\n isContractorOfRecord: boolean,\n): string {\n const remoteAiErrorMessage = isContractorOfRecord\n ? REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE\n : REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE;\n return remoteAiErrorMessage;\n}\n\nconst DEFAULT_VERSION = 1;\n\n/**\n * Gets the basic information schema version from options\n * @param options - The flow options containing version configurations\n * @returns The jsonSchemaVersion for basic information or default (1)\n */\nexport const getBasicInformationSchemaVersion = (options?: {\n jsonSchemaVersion?: { employment_basic_information?: number | 'latest' };\n}): number | 'latest' => {\n return (\n options?.jsonSchemaVersion?.employment_basic_information || DEFAULT_VERSION\n );\n};\n"],"mappings":"uGA6BO,SAASA,EAAWC,EAAqB,CAAC,EAAG,CAgDlD,IAAMC,EA3CD,CACH,CACE,KAAM,iBACN,MAAO,iBACP,QAAS,EAAQD,GAAQ,oBAC3B,EACA,CACE,KAAM,oBACN,MAAO,oBACP,QAAS,EACX,EACA,CACE,KAAM,eACN,MAAO,eACP,QAAS,EACX,EACA,CACE,KAAM,4BACN,MAAO,4BACP,QAAS,EAAQA,GAAQ,+BAC3B,EACA,CACE,KAAM,kBACN,MAAO,mBACP,QAAS,GAAQA,GAAQ,uBAAyB,GACpD,EACA,CACE,KAAM,mBACN,MAAO,mBACP,QAAS,GAAQA,GAAQ,wBAA0B,GACrD,EACA,CACE,KAAM,mBACN,MAAO,mBACP,QAAS,EAAQA,GAAQ,sBAC3B,EACA,CACE,KAAM,SACN,MAAO,SACP,QAAS,EACX,CACF,EAEmC,IAAI,CAACE,EAAMC,KAAW,CACvD,KAAMD,EAAK,KACX,MAAAC,EACA,MAAOD,EAAK,MACZ,QAASA,EAAK,OAChB,EAAE,EAcF,MAAO,CAAE,MAZKD,EAAW,OACvB,CAACG,EAAKF,KACJE,EAAIF,EAAK,IAAI,EAAI,CACf,MAAOA,EAAK,MACZ,KAAMA,EAAK,KACX,QAASA,EAAK,OAChB,EACOE,GAET,CAAC,CACH,EAEgB,WAAAH,CAAW,CAC7B,CApEgBI,EAAAN,EAAA,cA0ET,IAAMO,EAA2CD,EAAA,CACtDE,EACAC,IACuB,CAMvB,GAJED,GACAC,GACAD,IAAmCC,EAMnC,MAAO,qEAHuB,kFAC5BD,CACF,0EACiG,EAGrG,EAhBwD,4CAqB3CE,EAAeJ,EAACK,GAEzBA,IAAiBC,GACjBD,IAAiBE,EAHO,gBAOtBC,EAA4B,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EAKvDC,EAA2BT,EAACU,GAChCF,EAA0B,SAASE,CAAW,EADf,4BAU3BC,EAAuBX,EAAA,CAClCY,EACAC,IAEI,CAACA,GAAmBA,EAAgB,SAAW,EAC1C,GAGF,CAACA,EAAgB,KACrBC,GAAaC,EAAuBD,CAAQ,IAAMF,CACrD,EAVkC,wBAmBvBI,EAA4D,CACvE,YACA,UACA,2BACA,uBACA,QACF,EAEaC,EAA+D,CAC1E,YACA,2BACA,UACA,QACF,EAQO,SAASC,EACdC,EACQ,CAIR,OAH6BA,EACzBC,EACAC,CAEN,CAPgBrB,EAAAkB,EAAA,4BAShB,IAAMI,EAAkB,EAOXC,EAAmCvB,EAACwB,GAI7CA,GAAS,mBAAmB,8BAAgCF,EAJhB","names":["buildSteps","config","stepsArray","step","index","acc","__name","calculateProvisionalStartDateDescription","employmentProvisionalStartDate","fieldProvisionalStartDate","isCMOrCMPlus","subscription","contractorStandardProductIdentifier","contractorPlusProductIdentifier","NATIONALITY_COUNTRY_CODES","isNationalityCountryCode","countryCode","shouldIncludeProduct","productIdentifier","excludeProducts","excluded","PRODUCT_IDENTIFIER_MAP","reviewStepAllowedEmploymentStatus","disabledInviteButtonEmploymentStatus","transformAiErrorResponse","isContractorOfRecord","REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE","REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE","DEFAULT_VERSION","getBasicInformationSchemaVersion","options"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{DatePickerFieldDefault-ARSIRGKX.js.map → DatePickerFieldDefault-AZHJN2U6.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{FileUploadFieldDefault-CFK64E3M.js.map → FileUploadFieldDefault-QHOKNCU2.js.map}
RENAMED
|
File without changes
|
/package/dist/{ForcedValueFieldDefault-IB7EX73O.js.map → ForcedValueFieldDefault-BEOC4MYU.js.map}
RENAMED
|
File without changes
|
/package/dist/{MultiSelectFieldDefault-HP5FIBJY.js.map → MultiSelectFieldDefault-QKXVTGF2.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/{RadioGroupFieldDefault-DRF3H2ZB.js.map → RadioGroupFieldDefault-ZHHXDUUU.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{WorkScheduleFieldDefault-JAU2YFQF.js.map → WorkScheduleFieldDefault-23WY3SVD.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|