@remoteoss/remote-flows 1.55.0 → 1.56.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-Dr1uPypn.js +2 -0
- package/dist/ButtonDefault-Dr1uPypn.js.map +1 -0
- package/dist/CheckBoxField-DSq9Qf8u.js +2 -0
- package/dist/CheckBoxField-DSq9Qf8u.js.map +1 -0
- package/dist/CheckboxFieldDefault-DjffkXJJ.js +2 -0
- package/dist/CheckboxFieldDefault-DjffkXJJ.js.map +1 -0
- package/dist/ContractAmendment-DxUe6jzs.js +2 -0
- package/dist/ContractAmendment-DxUe6jzs.js.map +1 -0
- package/dist/ContractDocument-isTSjaPh.js +2 -0
- package/dist/ContractDocument-isTSjaPh.js.map +1 -0
- package/dist/ContractorOnboarding-QSgRChZR.js +2 -0
- package/dist/ContractorOnboarding-QSgRChZR.js.map +1 -0
- package/dist/CostCalculator-CoUCw59l.js +2 -0
- package/dist/CostCalculator-CoUCw59l.js.map +1 -0
- package/dist/CountryFieldDefault-CY7EZdM8.js +2 -0
- package/dist/CountryFieldDefault-CY7EZdM8.js.map +1 -0
- package/dist/CreateCompany-BiSCCH_S.js +2 -0
- package/dist/CreateCompany-BiSCCH_S.js.map +1 -0
- package/dist/CurrencyConversionField-DMi3ydBX.js +2 -0
- package/dist/CurrencyConversionField-DMi3ydBX.js.map +1 -0
- package/dist/DatePickerFieldDefault-DirN5nuB.js +2 -0
- package/dist/DatePickerFieldDefault-DirN5nuB.js.map +1 -0
- package/dist/Drawer-BBXMyvwR.js +2 -0
- package/dist/Drawer-BBXMyvwR.js.map +1 -0
- package/dist/DrawerDefault-CadLGBmQ.js +2 -0
- package/dist/DrawerDefault-CadLGBmQ.js.map +1 -0
- package/dist/EmailFieldDefault-B0L_D4D9.js +2 -0
- package/dist/EmailFieldDefault-B0L_D4D9.js.map +1 -0
- package/dist/FileUploadFieldDefault-B0cz44f6.js +2 -0
- package/dist/FileUploadFieldDefault-B0cz44f6.js.map +1 -0
- package/dist/ForcedValueFieldDefault-Bp_ipb0c.js +2 -0
- package/dist/ForcedValueFieldDefault-Bp_ipb0c.js.map +1 -0
- package/dist/HelpCenter-DUyZK5NH.js +2 -0
- package/dist/HelpCenter-DUyZK5NH.js.map +1 -0
- package/dist/InvoiceSchedule-DxWc0xu-.js +2 -0
- package/dist/InvoiceSchedule-DxWc0xu-.js.map +1 -0
- package/dist/JSONSchemaForm-DehMm5lM.js +2 -0
- package/dist/JSONSchemaForm-DehMm5lM.js.map +1 -0
- package/dist/JsonSchemaPlayground-CTwG5Y1Q.js +2 -0
- package/dist/JsonSchemaPlayground-CTwG5Y1Q.js.map +1 -0
- package/dist/MultiSelectFieldDefault-Bt5bdhNg.js +2 -0
- package/dist/MultiSelectFieldDefault-Bt5bdhNg.js.map +1 -0
- package/dist/NumberFieldDefault-BGYFkaSl.js +2 -0
- package/dist/NumberFieldDefault-BGYFkaSl.js.map +1 -0
- package/dist/Onboarding-axVT9XVh.js +2 -0
- package/dist/Onboarding-axVT9XVh.js.map +1 -0
- package/dist/PDFPreviewDefault-DFTUnKAv.js +2 -0
- package/dist/PDFPreviewDefault-DFTUnKAv.js.map +1 -0
- package/dist/PayrollAdminOnboarding-Byn90Nuf.js +2 -0
- package/dist/PayrollAdminOnboarding-Byn90Nuf.js.map +1 -0
- package/dist/PayrollEmployeeOnboarding-BQjn-7oA.js +2 -0
- package/dist/PayrollEmployeeOnboarding-BQjn-7oA.js.map +1 -0
- package/dist/RadioGroupFieldDefault-s-2o9vOe.js +2 -0
- package/dist/RadioGroupFieldDefault-s-2o9vOe.js.map +1 -0
- package/dist/SelectFieldDefault-OYOYuCIs.js +2 -0
- package/dist/SelectFieldDefault-OYOYuCIs.js.map +1 -0
- package/dist/StatementDefault-Bc0RsZ_4.js +2 -0
- package/dist/StatementDefault-Bc0RsZ_4.js.map +1 -0
- package/dist/TableFieldDefault-BOrfv3dp.js +2 -0
- package/dist/TableFieldDefault-BOrfv3dp.js.map +1 -0
- package/dist/TelFieldDefault-Dd2Kf1yP.js +2 -0
- package/dist/TelFieldDefault-Dd2Kf1yP.js.map +1 -0
- package/dist/Termination-sjnHMs8m.js +2 -0
- package/dist/Termination-sjnHMs8m.js.map +1 -0
- package/dist/TextAreaFieldDefault-D5rn1dmT.js +2 -0
- package/dist/TextAreaFieldDefault-D5rn1dmT.js.map +1 -0
- package/dist/TextFieldDefault-BS6xccU-.js +2 -0
- package/dist/TextFieldDefault-BS6xccU-.js.map +1 -0
- package/dist/TimeFieldDefault-Bd0k6ctZ.js +2 -0
- package/dist/TimeFieldDefault-Bd0k6ctZ.js.map +1 -0
- package/dist/WorkScheduleFieldDefault-O5iYdTl0.js +2 -0
- package/dist/WorkScheduleFieldDefault-O5iYdTl0.js.map +1 -0
- package/dist/ZendeskDrawerDefault-Cfb4bGsf.js +2 -0
- package/dist/ZendeskDrawerDefault-Cfb4bGsf.js.map +1 -0
- package/dist/ZendeskTriggerButtonDefault-Cs2NQKyk.js +2 -0
- package/dist/ZendeskTriggerButtonDefault-Cs2NQKyk.js.map +1 -0
- package/dist/alert-CRHuNoGl.js +2 -0
- package/dist/alert-CRHuNoGl.js.map +1 -0
- package/dist/api-C6Xa3W-_.js +2 -0
- package/dist/api-C6Xa3W-_.js.map +1 -0
- package/dist/api-CsVWNT2E.js +2 -0
- package/dist/api-CsVWNT2E.js.map +1 -0
- package/dist/api-D3v21Bid.js +2 -0
- package/dist/api-D3v21Bid.js.map +1 -0
- package/dist/basic-tooltip-Dr-_TRDa.js +2 -0
- package/dist/basic-tooltip-Dr-_TRDa.js.map +1 -0
- package/dist/checkbox-_YWwA7wV.js +2 -0
- package/dist/checkbox-_YWwA7wV.js.map +1 -0
- package/dist/countries-BiKsglKy.js +2 -0
- package/dist/countries-BiKsglKy.js.map +1 -0
- package/dist/dates-CD1yZ0Ni.js +2 -0
- package/dist/dates-CD1yZ0Ni.js.map +1 -0
- package/dist/default-components.d.ts +5 -9
- package/dist/default-components.js +1 -1
- package/dist/default-components.js.map +1 -1
- package/dist/employment-Ddl1RWTS.js +2 -0
- package/dist/employment-Ddl1RWTS.js.map +1 -0
- package/dist/flows/ContractAmendment/index.d.ts +2 -18
- package/dist/flows/ContractAmendment/index.js +1 -2
- package/dist/flows/ContractDocument/index.d.ts +2 -7
- package/dist/flows/ContractDocument/index.js +1 -2
- package/dist/flows/ContractorOnboarding/index.d.ts +3 -32
- package/dist/flows/ContractorOnboarding/index.js +1 -2
- package/dist/flows/CostCalculator/index.d.ts +2 -20
- package/dist/flows/CostCalculator/index.js +1 -2
- package/dist/flows/CreateCompany/index.d.ts +2 -13
- package/dist/flows/CreateCompany/index.js +1 -2
- package/dist/flows/InvoiceSchedule/index.d.ts +2 -16
- package/dist/flows/InvoiceSchedule/index.js +1 -2
- package/dist/flows/JsonSchemaPlayground/index.d.ts +2 -13
- package/dist/flows/JsonSchemaPlayground/index.js +1 -2
- package/dist/flows/Onboarding/index.d.ts +4 -19
- package/dist/flows/Onboarding/index.js +1 -2
- package/dist/flows/PayrollAdminOnboarding/index.d.ts +3 -14
- package/dist/flows/PayrollAdminOnboarding/index.js +1 -2
- package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +3 -14
- package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -2
- package/dist/flows/Termination/index.d.ts +2 -32
- package/dist/flows/Termination/index.js +1 -2
- package/dist/gpOnboarding-BeH-l_v0.js +2 -0
- package/dist/gpOnboarding-BeH-l_v0.js.map +1 -0
- package/dist/index-BZYxe7c7.d.ts +103 -0
- package/dist/index-Bdw5R9SK.d.ts +248 -0
- package/dist/index-Bfp0Dih3.d.ts +416 -0
- package/dist/index-CpUmq5t-.d.ts +408 -0
- package/dist/index-CtaBzbkN.d.ts +9 -0
- package/dist/index-DSNiRSgk.d.ts +111 -0
- package/dist/index-DZOv3Kqg.d.ts +3071 -0
- package/dist/index-DqbaX4JJ.d.ts +210 -0
- package/dist/index-DsnJn9oQ.d.ts +443 -0
- package/dist/index-Zkya1HrW.d.ts +191 -0
- package/dist/index-pnWfqMqx.d.ts +664 -0
- package/dist/index-xjEJT03m.d.ts +51 -0
- package/dist/index.css +1 -2
- package/dist/index.d.ts +17 -267
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/internals-CzDL30xI.js +2 -0
- package/dist/internals-CzDL30xI.js.map +1 -0
- package/dist/internals.d.ts +141 -127
- package/dist/internals.js +1 -2
- package/dist/json-schema-form-AtvQYqTV.d.ts +6 -0
- package/dist/multi-select-DhP6T9xS.js +2 -0
- package/dist/multi-select-DhP6T9xS.js.map +1 -0
- package/dist/mutations-BtF_JHC1.d.ts +26 -0
- package/dist/popover-DwWAD4cG.js +2 -0
- package/dist/popover-DwWAD4cG.js.map +1 -0
- package/dist/remoteFlows-DzjJtmiU.d.ts +558 -0
- package/dist/rolldown-runtime-hePW80VL.js +1 -0
- package/dist/sdk.gen-C7MLoCMc.js +8 -0
- package/dist/sdk.gen-C7MLoCMc.js.map +1 -0
- package/dist/styles.css +1 -2
- package/dist/styles.d.ts +1 -2
- package/dist/styles.js +1 -2
- package/dist/{types-DvsjrBmu.d.ts → types-CAZgciMr.d.ts} +9 -7
- package/dist/types-DM3hjkjw.d.ts +899 -0
- package/dist/types-PZPLLCvV.d.ts +72 -0
- package/dist/types-d7RBqkQv.d.ts +170 -0
- package/dist/uploadConfig-fhh8D6_J.js +2 -0
- package/dist/uploadConfig-fhh8D6_J.js.map +1 -0
- package/dist/useErrorReporting-BC2ObW1s.js +2 -0
- package/dist/useErrorReporting-BC2ObW1s.js.map +1 -0
- package/dist/useJSONSchemaForm-CiLms2z5.js +2 -0
- package/dist/useJSONSchemaForm-CiLms2z5.js.map +1 -0
- package/dist/useStepState-BmZF37pW.js +2 -0
- package/dist/useStepState-BmZF37pW.js.map +1 -0
- package/dist/useStepState-DPuZ-xcq.d.ts +10 -0
- package/package.json +8 -5
- package/dist/ButtonDefault-N32RTG32.js +0 -2
- package/dist/ButtonDefault-N32RTG32.js.map +0 -1
- package/dist/CheckboxFieldDefault-X5SIWA6P.js +0 -2
- package/dist/CheckboxFieldDefault-X5SIWA6P.js.map +0 -1
- package/dist/CountryFieldDefault-AZOQXIVV.js +0 -2
- package/dist/CountryFieldDefault-AZOQXIVV.js.map +0 -1
- package/dist/DatePickerFieldDefault-NZL3TD4C.js +0 -2
- package/dist/DatePickerFieldDefault-NZL3TD4C.js.map +0 -1
- package/dist/DrawerDefault-E67XIROQ.js +0 -2
- package/dist/DrawerDefault-E67XIROQ.js.map +0 -1
- package/dist/EmailFieldDefault-R7LQD4WN.js +0 -2
- package/dist/EmailFieldDefault-R7LQD4WN.js.map +0 -1
- package/dist/FieldsetToggleButtonDefault-SHDKV2VO.js +0 -2
- package/dist/FieldsetToggleButtonDefault-SHDKV2VO.js.map +0 -1
- package/dist/FileUploadFieldDefault-A74OEKR7.js +0 -2
- package/dist/FileUploadFieldDefault-A74OEKR7.js.map +0 -1
- package/dist/ForcedValueFieldDefault-WD6FPQPF.js +0 -2
- package/dist/ForcedValueFieldDefault-WD6FPQPF.js.map +0 -1
- package/dist/MultiSelectFieldDefault-4RDSLVXE.js +0 -2
- package/dist/MultiSelectFieldDefault-4RDSLVXE.js.map +0 -1
- package/dist/NumberFieldDefault-U5SJAHHQ.js +0 -2
- package/dist/NumberFieldDefault-U5SJAHHQ.js.map +0 -1
- package/dist/PDFPreviewDefault-T6YPWXGY.js +0 -2
- package/dist/PDFPreviewDefault-T6YPWXGY.js.map +0 -1
- package/dist/RadioGroupFieldDefault-RMLMHLRP.js +0 -2
- package/dist/RadioGroupFieldDefault-RMLMHLRP.js.map +0 -1
- package/dist/SelectFieldDefault-LMCEGGY5.js +0 -2
- package/dist/SelectFieldDefault-LMCEGGY5.js.map +0 -1
- package/dist/StatementDefault-33EDZARR.js +0 -2
- package/dist/StatementDefault-33EDZARR.js.map +0 -1
- package/dist/TableFieldDefault-BJIHEN3V.js +0 -2
- package/dist/TableFieldDefault-BJIHEN3V.js.map +0 -1
- package/dist/TelFieldDefault-6327HAAP.js +0 -2
- package/dist/TelFieldDefault-6327HAAP.js.map +0 -1
- package/dist/TextAreaFieldDefault-ULWPOPSP.js +0 -2
- package/dist/TextAreaFieldDefault-ULWPOPSP.js.map +0 -1
- package/dist/TextFieldDefault-LEKXVZP4.js +0 -2
- package/dist/TextFieldDefault-LEKXVZP4.js.map +0 -1
- package/dist/TimeFieldDefault-EDFT5XUB.js +0 -2
- package/dist/TimeFieldDefault-EDFT5XUB.js.map +0 -1
- package/dist/WorkScheduleFieldDefault-YFHD6UUW.js +0 -2
- package/dist/WorkScheduleFieldDefault-YFHD6UUW.js.map +0 -1
- package/dist/ZendeskDrawerDefault-DC4SUPEC.js +0 -2
- package/dist/ZendeskDrawerDefault-DC4SUPEC.js.map +0 -1
- package/dist/ZendeskTriggerButtonDefault-L4BVVXHA.js +0 -2
- package/dist/ZendeskTriggerButtonDefault-L4BVVXHA.js.map +0 -1
- package/dist/chunk-2HLKH3BT.js +0 -2
- package/dist/chunk-2HLKH3BT.js.map +0 -1
- package/dist/chunk-2I3BUFQJ.js +0 -2
- package/dist/chunk-2I3BUFQJ.js.map +0 -1
- package/dist/chunk-2QSJKNZO.js +0 -2
- package/dist/chunk-2QSJKNZO.js.map +0 -1
- package/dist/chunk-2QVO3BVI.js +0 -2
- package/dist/chunk-2QVO3BVI.js.map +0 -1
- package/dist/chunk-2UD2ZFSN.js +0 -2
- package/dist/chunk-2UD2ZFSN.js.map +0 -1
- package/dist/chunk-2UEZACSE.js +0 -2
- package/dist/chunk-2UEZACSE.js.map +0 -1
- package/dist/chunk-2W354SK7.js +0 -2
- package/dist/chunk-2W354SK7.js.map +0 -1
- package/dist/chunk-36DZMQHH.js +0 -2
- package/dist/chunk-36DZMQHH.js.map +0 -1
- package/dist/chunk-36JXX3VA.js +0 -2
- package/dist/chunk-36JXX3VA.js.map +0 -1
- package/dist/chunk-3UDRMQNE.js +0 -2
- package/dist/chunk-3UDRMQNE.js.map +0 -1
- package/dist/chunk-4LQUD36G.js +0 -2
- package/dist/chunk-4LQUD36G.js.map +0 -1
- package/dist/chunk-4MI7BMM5.js +0 -2
- package/dist/chunk-4MI7BMM5.js.map +0 -1
- package/dist/chunk-4QEPM5MQ.js +0 -2
- package/dist/chunk-4QEPM5MQ.js.map +0 -1
- package/dist/chunk-54EKTCFE.js +0 -2
- package/dist/chunk-54EKTCFE.js.map +0 -1
- package/dist/chunk-55CB7X5W.js +0 -2
- package/dist/chunk-55CB7X5W.js.map +0 -1
- package/dist/chunk-5DCPSSPR.js +0 -2
- package/dist/chunk-5DCPSSPR.js.map +0 -1
- package/dist/chunk-5FEJD2N7.js +0 -2
- package/dist/chunk-5FEJD2N7.js.map +0 -1
- package/dist/chunk-5HFK7EMV.js +0 -2
- package/dist/chunk-5HFK7EMV.js.map +0 -1
- package/dist/chunk-5HXGF3IA.js +0 -2
- package/dist/chunk-5HXGF3IA.js.map +0 -1
- package/dist/chunk-5IIFCA3F.js +0 -2
- package/dist/chunk-5IIFCA3F.js.map +0 -1
- package/dist/chunk-5JKUOW3P.js +0 -2
- package/dist/chunk-5JKUOW3P.js.map +0 -1
- package/dist/chunk-5KMUUL7U.js +0 -1
- package/dist/chunk-5KMUUL7U.js.map +0 -1
- package/dist/chunk-5WFWHEXV.js +0 -2
- package/dist/chunk-5WFWHEXV.js.map +0 -1
- package/dist/chunk-5X2OXK7T.js +0 -2
- package/dist/chunk-5X2OXK7T.js.map +0 -1
- package/dist/chunk-62EFEBHN.js +0 -2
- package/dist/chunk-62EFEBHN.js.map +0 -1
- package/dist/chunk-64PDV5NF.js +0 -2
- package/dist/chunk-64PDV5NF.js.map +0 -1
- package/dist/chunk-677YKNHH.js +0 -2
- package/dist/chunk-677YKNHH.js.map +0 -1
- package/dist/chunk-6AMPXS3F.js +0 -2
- package/dist/chunk-6AMPXS3F.js.map +0 -1
- package/dist/chunk-6DHV4GT6.js +0 -2
- package/dist/chunk-6DHV4GT6.js.map +0 -1
- package/dist/chunk-6FLU37JM.js +0 -2
- package/dist/chunk-6FLU37JM.js.map +0 -1
- package/dist/chunk-6HBIQAF2.js +0 -2
- package/dist/chunk-6HBIQAF2.js.map +0 -1
- package/dist/chunk-744REBZC.js +0 -2
- package/dist/chunk-744REBZC.js.map +0 -1
- package/dist/chunk-753FEV2S.js +0 -2
- package/dist/chunk-753FEV2S.js.map +0 -1
- package/dist/chunk-76ZDXC2T.js +0 -2
- package/dist/chunk-76ZDXC2T.js.map +0 -1
- package/dist/chunk-7BB24CX5.js +0 -2
- package/dist/chunk-7BB24CX5.js.map +0 -1
- package/dist/chunk-7LP2MXCW.js +0 -2
- package/dist/chunk-7LP2MXCW.js.map +0 -1
- package/dist/chunk-7LQEU3B4.js +0 -2
- package/dist/chunk-7LQEU3B4.js.map +0 -1
- package/dist/chunk-7TCY4ON2.js +0 -2
- package/dist/chunk-7TCY4ON2.js.map +0 -1
- package/dist/chunk-7TRSA2OH.js +0 -2
- package/dist/chunk-7TRSA2OH.js.map +0 -1
- package/dist/chunk-A3LRPGV3.js +0 -2
- package/dist/chunk-A3LRPGV3.js.map +0 -1
- package/dist/chunk-A7ZJQCNU.js +0 -1
- package/dist/chunk-A7ZJQCNU.js.map +0 -1
- package/dist/chunk-AC5CQ6HL.js +0 -2
- package/dist/chunk-AC5CQ6HL.js.map +0 -1
- package/dist/chunk-ADXTCKMJ.js +0 -2
- package/dist/chunk-ADXTCKMJ.js.map +0 -1
- package/dist/chunk-AFTFDGSD.js +0 -2
- package/dist/chunk-AFTFDGSD.js.map +0 -1
- package/dist/chunk-AJ5AKHYP.js +0 -2
- package/dist/chunk-AJ5AKHYP.js.map +0 -1
- package/dist/chunk-AOE6FXVP.js +0 -2
- package/dist/chunk-AOE6FXVP.js.map +0 -1
- package/dist/chunk-AP6FKWKX.js +0 -2
- package/dist/chunk-AP6FKWKX.js.map +0 -1
- package/dist/chunk-APUJLKUM.js +0 -2
- package/dist/chunk-APUJLKUM.js.map +0 -1
- package/dist/chunk-ASKPQZY2.js +0 -2
- package/dist/chunk-ASKPQZY2.js.map +0 -1
- package/dist/chunk-AVBV7L5E.js +0 -2
- package/dist/chunk-AVBV7L5E.js.map +0 -1
- package/dist/chunk-AXZ4IDY7.js +0 -2
- package/dist/chunk-AXZ4IDY7.js.map +0 -1
- package/dist/chunk-B3MEKP45.js +0 -2
- package/dist/chunk-B3MEKP45.js.map +0 -1
- package/dist/chunk-B7BJXPGT.js +0 -2
- package/dist/chunk-B7BJXPGT.js.map +0 -1
- package/dist/chunk-BHHK7QQZ.js +0 -2
- package/dist/chunk-BHHK7QQZ.js.map +0 -1
- package/dist/chunk-BHTFKQJO.js +0 -2
- package/dist/chunk-BHTFKQJO.js.map +0 -1
- package/dist/chunk-BOVUSO4A.js +0 -2
- package/dist/chunk-BOVUSO4A.js.map +0 -1
- package/dist/chunk-BTAKGADS.js +0 -2
- package/dist/chunk-BTAKGADS.js.map +0 -1
- package/dist/chunk-BUR3X6FL.js +0 -2
- package/dist/chunk-BUR3X6FL.js.map +0 -1
- package/dist/chunk-BXR3EF3L.js +0 -2
- package/dist/chunk-BXR3EF3L.js.map +0 -1
- package/dist/chunk-BZ7YOEB6.js +0 -2
- package/dist/chunk-BZ7YOEB6.js.map +0 -1
- package/dist/chunk-C4HFMTSB.js +0 -2
- package/dist/chunk-C4HFMTSB.js.map +0 -1
- package/dist/chunk-CEFPQAKH.js +0 -2
- package/dist/chunk-CEFPQAKH.js.map +0 -1
- package/dist/chunk-CEFR62S6.js +0 -2
- package/dist/chunk-CEFR62S6.js.map +0 -1
- package/dist/chunk-CGILHL4U.js +0 -2
- package/dist/chunk-CGILHL4U.js.map +0 -1
- package/dist/chunk-CW7CHRMN.js +0 -2
- package/dist/chunk-CW7CHRMN.js.map +0 -1
- package/dist/chunk-CX57A6WK.js +0 -2
- package/dist/chunk-CX57A6WK.js.map +0 -1
- package/dist/chunk-CYAISKZB.js +0 -2
- package/dist/chunk-CYAISKZB.js.map +0 -1
- package/dist/chunk-D7F3QKN5.js +0 -2
- package/dist/chunk-D7F3QKN5.js.map +0 -1
- package/dist/chunk-D7MYOH3P.js +0 -2
- package/dist/chunk-D7MYOH3P.js.map +0 -1
- package/dist/chunk-DB4JHJ3Z.js +0 -2
- package/dist/chunk-DB4JHJ3Z.js.map +0 -1
- package/dist/chunk-DC4ZTOZE.js +0 -2
- package/dist/chunk-DC4ZTOZE.js.map +0 -1
- package/dist/chunk-DFJNVGK4.js +0 -2
- package/dist/chunk-DFJNVGK4.js.map +0 -1
- package/dist/chunk-DFTTDXJ5.js +0 -2
- package/dist/chunk-DFTTDXJ5.js.map +0 -1
- package/dist/chunk-DSJXT5ZP.js +0 -2
- package/dist/chunk-DSJXT5ZP.js.map +0 -1
- package/dist/chunk-ECD2RHON.js +0 -2
- package/dist/chunk-ECD2RHON.js.map +0 -1
- package/dist/chunk-EEGKPPQK.js +0 -2
- package/dist/chunk-EEGKPPQK.js.map +0 -1
- package/dist/chunk-EOOCBFPJ.js +0 -1
- package/dist/chunk-EOOCBFPJ.js.map +0 -1
- package/dist/chunk-EUQLCVA5.js +0 -2
- package/dist/chunk-EUQLCVA5.js.map +0 -1
- package/dist/chunk-EW6UABH3.js +0 -2
- package/dist/chunk-EW6UABH3.js.map +0 -1
- package/dist/chunk-EWRSIBE2.js +0 -2
- package/dist/chunk-EWRSIBE2.js.map +0 -1
- package/dist/chunk-F37FQXEZ.js +0 -2
- package/dist/chunk-F37FQXEZ.js.map +0 -1
- package/dist/chunk-F62JZXCH.js +0 -2
- package/dist/chunk-F62JZXCH.js.map +0 -1
- package/dist/chunk-F6NFCJYW.js +0 -2
- package/dist/chunk-F6NFCJYW.js.map +0 -1
- package/dist/chunk-FB3PEQTO.js +0 -2
- package/dist/chunk-FB3PEQTO.js.map +0 -1
- package/dist/chunk-FGBEOUQK.js +0 -1
- package/dist/chunk-FGBEOUQK.js.map +0 -1
- package/dist/chunk-FHYOWPXB.js +0 -2
- package/dist/chunk-FHYOWPXB.js.map +0 -1
- package/dist/chunk-FIOX5JX5.js +0 -2
- package/dist/chunk-FIOX5JX5.js.map +0 -1
- package/dist/chunk-FIPWWOZY.js +0 -2
- package/dist/chunk-FIPWWOZY.js.map +0 -1
- package/dist/chunk-FJD5GFO4.js +0 -2
- package/dist/chunk-FJD5GFO4.js.map +0 -1
- package/dist/chunk-FPCF4TH2.js +0 -8
- package/dist/chunk-FPCF4TH2.js.map +0 -1
- package/dist/chunk-FPP5ZANJ.js +0 -2
- package/dist/chunk-FPP5ZANJ.js.map +0 -1
- package/dist/chunk-FSGFBJJF.js +0 -2
- package/dist/chunk-FSGFBJJF.js.map +0 -1
- package/dist/chunk-FZ7FWFJX.js +0 -1
- package/dist/chunk-FZ7FWFJX.js.map +0 -1
- package/dist/chunk-G6F6ZZES.js +0 -2
- package/dist/chunk-G6F6ZZES.js.map +0 -1
- package/dist/chunk-GA7B6FUD.js +0 -1
- package/dist/chunk-GA7B6FUD.js.map +0 -1
- package/dist/chunk-GIQIO4GI.js +0 -2
- package/dist/chunk-GIQIO4GI.js.map +0 -1
- package/dist/chunk-GMXL2Z5N.js +0 -2
- package/dist/chunk-GMXL2Z5N.js.map +0 -1
- package/dist/chunk-GNW6DGUS.js +0 -2
- package/dist/chunk-GNW6DGUS.js.map +0 -1
- package/dist/chunk-GPWQPJQ7.js +0 -2
- package/dist/chunk-GPWQPJQ7.js.map +0 -1
- package/dist/chunk-GYMFEHNM.js +0 -2
- package/dist/chunk-GYMFEHNM.js.map +0 -1
- package/dist/chunk-H2O4CVKF.js +0 -2
- package/dist/chunk-H2O4CVKF.js.map +0 -1
- package/dist/chunk-H3GKCPVS.js +0 -2
- package/dist/chunk-H3GKCPVS.js.map +0 -1
- package/dist/chunk-H3Y7IISD.js +0 -2
- package/dist/chunk-H3Y7IISD.js.map +0 -1
- package/dist/chunk-H5M3D6CI.js +0 -2
- package/dist/chunk-H5M3D6CI.js.map +0 -1
- package/dist/chunk-H66IKMI4.js +0 -2
- package/dist/chunk-H66IKMI4.js.map +0 -1
- package/dist/chunk-H6XROFQT.js +0 -2
- package/dist/chunk-H6XROFQT.js.map +0 -1
- package/dist/chunk-HBONR7VY.js +0 -2
- package/dist/chunk-HBONR7VY.js.map +0 -1
- package/dist/chunk-HDFNGXCV.js +0 -2
- package/dist/chunk-HDFNGXCV.js.map +0 -1
- package/dist/chunk-HI6GH4J7.js +0 -2
- package/dist/chunk-HI6GH4J7.js.map +0 -1
- package/dist/chunk-HN5HLFTB.js +0 -2
- package/dist/chunk-HN5HLFTB.js.map +0 -1
- package/dist/chunk-I757RN7F.js +0 -2
- package/dist/chunk-I757RN7F.js.map +0 -1
- package/dist/chunk-IBOSDGWK.js +0 -2
- package/dist/chunk-IBOSDGWK.js.map +0 -1
- package/dist/chunk-IBQVGZMF.js +0 -2
- package/dist/chunk-IBQVGZMF.js.map +0 -1
- package/dist/chunk-IFDFCKT4.js +0 -2
- package/dist/chunk-IFDFCKT4.js.map +0 -1
- package/dist/chunk-IFIJ7OVJ.js +0 -2
- package/dist/chunk-IFIJ7OVJ.js.map +0 -1
- package/dist/chunk-IJAV22PE.js +0 -2
- package/dist/chunk-IJAV22PE.js.map +0 -1
- package/dist/chunk-IROMMYZS.js +0 -2
- package/dist/chunk-IROMMYZS.js.map +0 -1
- package/dist/chunk-IZRM26GZ.js +0 -2
- package/dist/chunk-IZRM26GZ.js.map +0 -1
- package/dist/chunk-J23IEAZ2.js +0 -2
- package/dist/chunk-J23IEAZ2.js.map +0 -1
- package/dist/chunk-JCES7EE2.js +0 -2
- package/dist/chunk-JCES7EE2.js.map +0 -1
- package/dist/chunk-JCKH3UYE.js +0 -2
- package/dist/chunk-JCKH3UYE.js.map +0 -1
- package/dist/chunk-JGKYFH4L.js +0 -2
- package/dist/chunk-JGKYFH4L.js.map +0 -1
- package/dist/chunk-JIGRVBQS.js +0 -2
- package/dist/chunk-JIGRVBQS.js.map +0 -1
- package/dist/chunk-JJUOWS3K.js +0 -2
- package/dist/chunk-JJUOWS3K.js.map +0 -1
- package/dist/chunk-JK4CPPN4.js +0 -2
- package/dist/chunk-JK4CPPN4.js.map +0 -1
- package/dist/chunk-JMBQAG6H.js +0 -2
- package/dist/chunk-JMBQAG6H.js.map +0 -1
- package/dist/chunk-JNPESWI7.js +0 -2
- package/dist/chunk-JNPESWI7.js.map +0 -1
- package/dist/chunk-JO5D2522.js +0 -2
- package/dist/chunk-JO5D2522.js.map +0 -1
- package/dist/chunk-JRMI5S74.js +0 -2
- package/dist/chunk-JRMI5S74.js.map +0 -1
- package/dist/chunk-JXPMQMTT.js +0 -2
- package/dist/chunk-JXPMQMTT.js.map +0 -1
- package/dist/chunk-K3QDNFF5.js +0 -2
- package/dist/chunk-K3QDNFF5.js.map +0 -1
- package/dist/chunk-KF52YXGI.js +0 -2
- package/dist/chunk-KF52YXGI.js.map +0 -1
- package/dist/chunk-KFYWUBRS.js +0 -2
- package/dist/chunk-KFYWUBRS.js.map +0 -1
- package/dist/chunk-KGSH67IW.js +0 -2
- package/dist/chunk-KGSH67IW.js.map +0 -1
- package/dist/chunk-KMLI4ISS.js +0 -2
- package/dist/chunk-KMLI4ISS.js.map +0 -1
- package/dist/chunk-KQ2ZXMJF.js +0 -2
- package/dist/chunk-KQ2ZXMJF.js.map +0 -1
- package/dist/chunk-KSHK3ZPX.js +0 -2
- package/dist/chunk-KSHK3ZPX.js.map +0 -1
- package/dist/chunk-KUQJG26N.js +0 -2
- package/dist/chunk-KUQJG26N.js.map +0 -1
- package/dist/chunk-KVUKJU5U.js +0 -2
- package/dist/chunk-KVUKJU5U.js.map +0 -1
- package/dist/chunk-L2GAD6S5.js +0 -2
- package/dist/chunk-L2GAD6S5.js.map +0 -1
- package/dist/chunk-L74V3INS.js +0 -2
- package/dist/chunk-L74V3INS.js.map +0 -1
- package/dist/chunk-LFUMRNDK.js +0 -2
- package/dist/chunk-LFUMRNDK.js.map +0 -1
- package/dist/chunk-LKHRHBFP.js +0 -2
- package/dist/chunk-LKHRHBFP.js.map +0 -1
- package/dist/chunk-LVYZIOOZ.js +0 -2
- package/dist/chunk-LVYZIOOZ.js.map +0 -1
- package/dist/chunk-LWGSXQKI.js +0 -1
- package/dist/chunk-LWGSXQKI.js.map +0 -1
- package/dist/chunk-M3TA5X2H.js +0 -2
- package/dist/chunk-M3TA5X2H.js.map +0 -1
- package/dist/chunk-MAEAZFMR.js +0 -1
- package/dist/chunk-MAEAZFMR.js.map +0 -1
- package/dist/chunk-MBGHSHR6.js +0 -2
- package/dist/chunk-MBGHSHR6.js.map +0 -1
- package/dist/chunk-MRYRNB7Y.js +0 -2
- package/dist/chunk-MRYRNB7Y.js.map +0 -1
- package/dist/chunk-MWBEA2NI.js +0 -2
- package/dist/chunk-MWBEA2NI.js.map +0 -1
- package/dist/chunk-MZM26I3S.js +0 -2
- package/dist/chunk-MZM26I3S.js.map +0 -1
- package/dist/chunk-NEVSZEMH.js +0 -2
- package/dist/chunk-NEVSZEMH.js.map +0 -1
- package/dist/chunk-NILEOD3X.js +0 -2
- package/dist/chunk-NILEOD3X.js.map +0 -1
- package/dist/chunk-NP3RMRKZ.js +0 -2
- package/dist/chunk-NP3RMRKZ.js.map +0 -1
- package/dist/chunk-NW3D7CPK.js +0 -2
- package/dist/chunk-NW3D7CPK.js.map +0 -1
- package/dist/chunk-NXSRNOBC.js +0 -2
- package/dist/chunk-NXSRNOBC.js.map +0 -1
- package/dist/chunk-OCZ5EG5J.js +0 -2
- package/dist/chunk-OCZ5EG5J.js.map +0 -1
- package/dist/chunk-ODRR3US4.js +0 -2
- package/dist/chunk-ODRR3US4.js.map +0 -1
- package/dist/chunk-OGDYY2TK.js +0 -2
- package/dist/chunk-OGDYY2TK.js.map +0 -1
- package/dist/chunk-OHVXJXF4.js +0 -1
- package/dist/chunk-OHVXJXF4.js.map +0 -1
- package/dist/chunk-OL5C4QEH.js +0 -2
- package/dist/chunk-OL5C4QEH.js.map +0 -1
- package/dist/chunk-ONELHWYF.js +0 -2
- package/dist/chunk-ONELHWYF.js.map +0 -1
- package/dist/chunk-OUVSBTOE.js +0 -2
- package/dist/chunk-OUVSBTOE.js.map +0 -1
- package/dist/chunk-OV4ARZIX.js +0 -2
- package/dist/chunk-OV4ARZIX.js.map +0 -1
- package/dist/chunk-P37U34EQ.js +0 -2
- package/dist/chunk-P37U34EQ.js.map +0 -1
- package/dist/chunk-P4LSZLTJ.js +0 -2
- package/dist/chunk-P4LSZLTJ.js.map +0 -1
- package/dist/chunk-PB6UQ4A4.js +0 -2
- package/dist/chunk-PB6UQ4A4.js.map +0 -1
- package/dist/chunk-PE2UM2SW.js +0 -2
- package/dist/chunk-PE2UM2SW.js.map +0 -1
- package/dist/chunk-PGS35CGC.js +0 -2
- package/dist/chunk-PGS35CGC.js.map +0 -1
- package/dist/chunk-PGWKJ6FK.js +0 -2
- package/dist/chunk-PGWKJ6FK.js.map +0 -1
- package/dist/chunk-POA6NSFQ.js +0 -2
- package/dist/chunk-POA6NSFQ.js.map +0 -1
- package/dist/chunk-PUX6FYHV.js +0 -2
- package/dist/chunk-PUX6FYHV.js.map +0 -1
- package/dist/chunk-PVORGGT3.js +0 -2
- package/dist/chunk-PVORGGT3.js.map +0 -1
- package/dist/chunk-Q3ALCPJN.js +0 -2
- package/dist/chunk-Q3ALCPJN.js.map +0 -1
- package/dist/chunk-QATHYZUV.js +0 -2
- package/dist/chunk-QATHYZUV.js.map +0 -1
- package/dist/chunk-QETOBZUA.js +0 -2
- package/dist/chunk-QETOBZUA.js.map +0 -1
- package/dist/chunk-QRSWXKRV.js +0 -2
- package/dist/chunk-QRSWXKRV.js.map +0 -1
- package/dist/chunk-QTEQCA5N.js +0 -2
- package/dist/chunk-QTEQCA5N.js.map +0 -1
- package/dist/chunk-QXW2MAFG.js +0 -2
- package/dist/chunk-QXW2MAFG.js.map +0 -1
- package/dist/chunk-QYA7D7ZQ.js +0 -2
- package/dist/chunk-QYA7D7ZQ.js.map +0 -1
- package/dist/chunk-R4E37FVX.js +0 -2
- package/dist/chunk-R4E37FVX.js.map +0 -1
- package/dist/chunk-R5Y7AZWB.js +0 -2
- package/dist/chunk-R5Y7AZWB.js.map +0 -1
- package/dist/chunk-RADQBXMO.js +0 -2
- package/dist/chunk-RADQBXMO.js.map +0 -1
- package/dist/chunk-RJXFAG4D.js +0 -2
- package/dist/chunk-RJXFAG4D.js.map +0 -1
- package/dist/chunk-RQZ5QNCM.js +0 -2
- package/dist/chunk-RQZ5QNCM.js.map +0 -1
- package/dist/chunk-S64P7IA7.js +0 -2
- package/dist/chunk-S64P7IA7.js.map +0 -1
- package/dist/chunk-SDF4QRJ2.js +0 -2
- package/dist/chunk-SDF4QRJ2.js.map +0 -1
- package/dist/chunk-SGE4DLC3.js +0 -2
- package/dist/chunk-SGE4DLC3.js.map +0 -1
- package/dist/chunk-SIVFXETC.js +0 -2
- package/dist/chunk-SIVFXETC.js.map +0 -1
- package/dist/chunk-SLEK47CR.js +0 -2
- package/dist/chunk-SLEK47CR.js.map +0 -1
- package/dist/chunk-SRLBVFNQ.js +0 -2
- package/dist/chunk-SRLBVFNQ.js.map +0 -1
- package/dist/chunk-SRNXXOUH.js +0 -2
- package/dist/chunk-SRNXXOUH.js.map +0 -1
- package/dist/chunk-SS2SYDCB.js +0 -2
- package/dist/chunk-SS2SYDCB.js.map +0 -1
- package/dist/chunk-SSUL5J5I.js +0 -2
- package/dist/chunk-SSUL5J5I.js.map +0 -1
- package/dist/chunk-SWCZJY6I.js +0 -2
- package/dist/chunk-SWCZJY6I.js.map +0 -1
- package/dist/chunk-SWLNTVAX.js +0 -2
- package/dist/chunk-SWLNTVAX.js.map +0 -1
- package/dist/chunk-SXW4FROO.js +0 -2
- package/dist/chunk-SXW4FROO.js.map +0 -1
- package/dist/chunk-SYZIGZ2F.js +0 -2
- package/dist/chunk-SYZIGZ2F.js.map +0 -1
- package/dist/chunk-TDKKCSKV.js +0 -2
- package/dist/chunk-TDKKCSKV.js.map +0 -1
- package/dist/chunk-TDUPMUA2.js +0 -2
- package/dist/chunk-TDUPMUA2.js.map +0 -1
- package/dist/chunk-TJOQF7N6.js +0 -2
- package/dist/chunk-TJOQF7N6.js.map +0 -1
- package/dist/chunk-TKJQB2O2.js +0 -2
- package/dist/chunk-TKJQB2O2.js.map +0 -1
- package/dist/chunk-TNWH6PVQ.js +0 -2
- package/dist/chunk-TNWH6PVQ.js.map +0 -1
- package/dist/chunk-TSR7O3QD.js +0 -2
- package/dist/chunk-TSR7O3QD.js.map +0 -1
- package/dist/chunk-TVZAFTPT.js +0 -2
- package/dist/chunk-TVZAFTPT.js.map +0 -1
- package/dist/chunk-U7JAGEOV.js +0 -2
- package/dist/chunk-U7JAGEOV.js.map +0 -1
- package/dist/chunk-UDF7IJTE.js +0 -2
- package/dist/chunk-UDF7IJTE.js.map +0 -1
- package/dist/chunk-UGU2ENUA.js +0 -2
- package/dist/chunk-UGU2ENUA.js.map +0 -1
- package/dist/chunk-UKEIM24T.js +0 -2
- package/dist/chunk-UKEIM24T.js.map +0 -1
- package/dist/chunk-UYOKK4QW.js +0 -2
- package/dist/chunk-UYOKK4QW.js.map +0 -1
- package/dist/chunk-UYUPSPOE.js +0 -1
- package/dist/chunk-UYUPSPOE.js.map +0 -1
- package/dist/chunk-UZ4TEF73.js +0 -1
- package/dist/chunk-UZ4TEF73.js.map +0 -1
- package/dist/chunk-VAIBLWOY.js +0 -2
- package/dist/chunk-VAIBLWOY.js.map +0 -1
- package/dist/chunk-VC3W5YDI.js +0 -2
- package/dist/chunk-VC3W5YDI.js.map +0 -1
- package/dist/chunk-VDJJEIOD.js +0 -2
- package/dist/chunk-VDJJEIOD.js.map +0 -1
- package/dist/chunk-VDRNNOVA.js +0 -2
- package/dist/chunk-VDRNNOVA.js.map +0 -1
- package/dist/chunk-VEQWK7QQ.js +0 -2
- package/dist/chunk-VEQWK7QQ.js.map +0 -1
- package/dist/chunk-VPFTBK24.js +0 -2
- package/dist/chunk-VPFTBK24.js.map +0 -1
- package/dist/chunk-VSK4KV55.js +0 -2
- package/dist/chunk-VSK4KV55.js.map +0 -1
- package/dist/chunk-VVMBSA4F.js +0 -2
- package/dist/chunk-VVMBSA4F.js.map +0 -1
- package/dist/chunk-W5WYIDDY.js +0 -2
- package/dist/chunk-W5WYIDDY.js.map +0 -1
- package/dist/chunk-WBKBVV3X.js +0 -2
- package/dist/chunk-WBKBVV3X.js.map +0 -1
- package/dist/chunk-WC7TWLA7.js +0 -2
- package/dist/chunk-WC7TWLA7.js.map +0 -1
- package/dist/chunk-WCJZAOZR.js +0 -2
- package/dist/chunk-WCJZAOZR.js.map +0 -1
- package/dist/chunk-WMKJCDHA.js +0 -2
- package/dist/chunk-WMKJCDHA.js.map +0 -1
- package/dist/chunk-WQFBJPV2.js +0 -2
- package/dist/chunk-WQFBJPV2.js.map +0 -1
- package/dist/chunk-WSRH5UQP.js +0 -2
- package/dist/chunk-WSRH5UQP.js.map +0 -1
- package/dist/chunk-WYP2CB4I.js +0 -2
- package/dist/chunk-WYP2CB4I.js.map +0 -1
- package/dist/chunk-X2CSXDCG.js +0 -2
- package/dist/chunk-X2CSXDCG.js.map +0 -1
- package/dist/chunk-X4IBNXCR.js +0 -2
- package/dist/chunk-X4IBNXCR.js.map +0 -1
- package/dist/chunk-XLAXG4H6.js +0 -2
- package/dist/chunk-XLAXG4H6.js.map +0 -1
- package/dist/chunk-XLBZIIHS.js +0 -2
- package/dist/chunk-XLBZIIHS.js.map +0 -1
- package/dist/chunk-XNV6ZN7J.js +0 -2
- package/dist/chunk-XNV6ZN7J.js.map +0 -1
- package/dist/chunk-XPCQ5QJV.js +0 -2
- package/dist/chunk-XPCQ5QJV.js.map +0 -1
- package/dist/chunk-Y25ROTI4.js +0 -2
- package/dist/chunk-Y25ROTI4.js.map +0 -1
- package/dist/chunk-Y2NCUO3F.js +0 -2
- package/dist/chunk-Y2NCUO3F.js.map +0 -1
- package/dist/chunk-YBHHWAOI.js +0 -2
- package/dist/chunk-YBHHWAOI.js.map +0 -1
- package/dist/chunk-YE6NRJ2L.js +0 -2
- package/dist/chunk-YE6NRJ2L.js.map +0 -1
- package/dist/chunk-YP6UTKJJ.js +0 -2
- package/dist/chunk-YP6UTKJJ.js.map +0 -1
- package/dist/chunk-YPBPOUGX.js +0 -2
- package/dist/chunk-YPBPOUGX.js.map +0 -1
- package/dist/chunk-YTK3CQEH.js +0 -2
- package/dist/chunk-YTK3CQEH.js.map +0 -1
- package/dist/chunk-YUNA3QKT.js +0 -2
- package/dist/chunk-YUNA3QKT.js.map +0 -1
- package/dist/chunk-YZMAY2I6.js +0 -2
- package/dist/chunk-YZMAY2I6.js.map +0 -1
- package/dist/chunk-Z23FQVGN.js +0 -1
- package/dist/chunk-Z23FQVGN.js.map +0 -1
- package/dist/chunk-Z4Q2UO2Y.js +0 -2
- package/dist/chunk-Z4Q2UO2Y.js.map +0 -1
- package/dist/chunk-ZDHGJ3FH.js +0 -2
- package/dist/chunk-ZDHGJ3FH.js.map +0 -1
- package/dist/chunk-ZE3YT3Q6.js +0 -2
- package/dist/chunk-ZE3YT3Q6.js.map +0 -1
- package/dist/chunk-ZI7EPJT7.js +0 -2
- package/dist/chunk-ZI7EPJT7.js.map +0 -1
- package/dist/chunk-ZNHBMI37.js +0 -2
- package/dist/chunk-ZNHBMI37.js.map +0 -1
- package/dist/chunk-ZZXFTUY7.js +0 -2
- package/dist/chunk-ZZXFTUY7.js.map +0 -1
- package/dist/flows/ContractAmendment/ContractAmendmentBack.d.ts +0 -6
- package/dist/flows/ContractAmendment/ContractAmendmentBack.js +0 -2
- package/dist/flows/ContractAmendment/ContractAmendmentBack.js.map +0 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +0 -30
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +0 -2
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js.map +0 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +0 -46
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +0 -2
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js.map +0 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +0 -33
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +0 -2
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js.map +0 -1
- package/dist/flows/ContractAmendment/ContractAmendmentSubmit.d.ts +0 -6
- package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +0 -2
- package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js.map +0 -1
- package/dist/flows/ContractAmendment/context.d.ts +0 -65
- package/dist/flows/ContractAmendment/context.js +0 -2
- package/dist/flows/ContractAmendment/context.js.map +0 -1
- package/dist/flows/ContractAmendment/hooks.d.ts +0 -99
- package/dist/flows/ContractAmendment/hooks.js +0 -2
- package/dist/flows/ContractAmendment/hooks.js.map +0 -1
- package/dist/flows/ContractAmendment/index.js.map +0 -1
- package/dist/flows/ContractAmendment/types.d.ts +0 -16
- package/dist/flows/ContractAmendment/types.js +0 -1
- package/dist/flows/ContractAmendment/types.js.map +0 -1
- package/dist/flows/ContractAmendment/utils.d.ts +0 -12
- package/dist/flows/ContractAmendment/utils.js +0 -2
- package/dist/flows/ContractAmendment/utils.js.map +0 -1
- package/dist/flows/ContractDocument/ContractDocumentFlow.d.ts +0 -14
- package/dist/flows/ContractDocument/ContractDocumentFlow.js +0 -2
- package/dist/flows/ContractDocument/ContractDocumentFlow.js.map +0 -1
- package/dist/flows/ContractDocument/context.d.ts +0 -45
- package/dist/flows/ContractDocument/context.js +0 -2
- package/dist/flows/ContractDocument/context.js.map +0 -1
- package/dist/flows/ContractDocument/hooks.d.ts +0 -6
- package/dist/flows/ContractDocument/hooks.js +0 -2
- package/dist/flows/ContractDocument/hooks.js.map +0 -1
- package/dist/flows/ContractDocument/index.js.map +0 -1
- package/dist/flows/ContractDocument/types.d.ts +0 -6
- package/dist/flows/ContractDocument/types.js +0 -1
- package/dist/flows/ContractDocument/types.js.map +0 -1
- package/dist/flows/ContractDocument/utils.d.ts +0 -16
- package/dist/flows/ContractDocument/utils.js +0 -2
- package/dist/flows/ContractDocument/utils.js.map +0 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +0 -35
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +0 -2
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js.map +0 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +0 -1019
- package/dist/flows/ContractorOnboarding/api.js +0 -2
- package/dist/flows/ContractorOnboarding/api.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +0 -30
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +0 -2
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +0 -2
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +0 -27
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +0 -2
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +0 -9
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.js +0 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +0 -12
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +0 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +0 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.d.ts +0 -11
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +0 -2
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +0 -41
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +0 -2
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.d.ts +0 -23
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js +0 -2
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +0 -2
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js +0 -2
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingBack.d.ts +0 -7
- package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +0 -2
- package/dist/flows/ContractorOnboarding/components/OnboardingBack.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +0 -26
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +0 -2
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.d.ts +0 -6
- package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +0 -2
- package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.js +0 -2
- package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +0 -2
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +0 -19
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.js +0 -2
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +0 -30
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +0 -2
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/SkipInvoiceScheduleButton.d.ts +0 -24
- package/dist/flows/ContractorOnboarding/components/SkipInvoiceScheduleButton.js +0 -2
- package/dist/flows/ContractorOnboarding/components/SkipInvoiceScheduleButton.js.map +0 -1
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.d.ts +0 -7
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +0 -2
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js.map +0 -1
- package/dist/flows/ContractorOnboarding/constants.d.ts +0 -56
- package/dist/flows/ContractorOnboarding/constants.js +0 -2
- package/dist/flows/ContractorOnboarding/constants.js.map +0 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +0 -171
- package/dist/flows/ContractorOnboarding/context.js +0 -2
- package/dist/flows/ContractorOnboarding/context.js.map +0 -1
- package/dist/flows/ContractorOnboarding/hooks.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/hooks.js +0 -2
- package/dist/flows/ContractorOnboarding/hooks.js.map +0 -1
- package/dist/flows/ContractorOnboarding/index.js.map +0 -1
- package/dist/flows/ContractorOnboarding/invoiceScheduleConstants.d.ts +0 -16
- package/dist/flows/ContractorOnboarding/invoiceScheduleConstants.js +0 -2
- package/dist/flows/ContractorOnboarding/invoiceScheduleConstants.js.map +0 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +0 -55
- package/dist/flows/ContractorOnboarding/jsfModify.js +0 -2
- package/dist/flows/ContractorOnboarding/jsfModify.js.map +0 -1
- package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.d.ts +0 -25
- package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.js +0 -2
- package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.js.map +0 -1
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.d.ts +0 -177
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.js +0 -2
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.js.map +0 -1
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.js +0 -2
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.js.map +0 -1
- package/dist/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep.d.ts +0 -26
- package/dist/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep.js +0 -2
- package/dist/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep.js.map +0 -1
- package/dist/flows/ContractorOnboarding/json-schemas/signature.d.ts +0 -48
- package/dist/flows/ContractorOnboarding/json-schemas/signature.js +0 -2
- package/dist/flows/ContractorOnboarding/json-schemas/signature.js.map +0 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +0 -31
- package/dist/flows/ContractorOnboarding/types.js +0 -1
- package/dist/flows/ContractorOnboarding/types.js.map +0 -1
- package/dist/flows/ContractorOnboarding/utils.d.ts +0 -111
- package/dist/flows/ContractorOnboarding/utils.js +0 -2
- package/dist/flows/ContractorOnboarding/utils.js.map +0 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +0 -70
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +0 -2
- package/dist/flows/CostCalculator/CostCalculatorFlow.js.map +0 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +0 -48
- package/dist/flows/CostCalculator/CostCalculatorForm.js +0 -2
- package/dist/flows/CostCalculator/CostCalculatorForm.js.map +0 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.d.ts +0 -6
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +0 -2
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js.map +0 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.d.ts +0 -6
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +0 -2
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js.map +0 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +0 -51
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +0 -2
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js.map +0 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +0 -25
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +0 -2
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js.map +0 -1
- package/dist/flows/CostCalculator/api.d.ts +0 -91
- package/dist/flows/CostCalculator/api.js +0 -2
- package/dist/flows/CostCalculator/api.js.map +0 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +0 -23
- package/dist/flows/CostCalculator/components/SalaryField.js +0 -2
- package/dist/flows/CostCalculator/components/SalaryField.js.map +0 -1
- package/dist/flows/CostCalculator/constants.d.ts +0 -16
- package/dist/flows/CostCalculator/constants.js +0 -2
- package/dist/flows/CostCalculator/constants.js.map +0 -1
- package/dist/flows/CostCalculator/context.d.ts +0 -57
- package/dist/flows/CostCalculator/context.js +0 -2
- package/dist/flows/CostCalculator/context.js.map +0 -1
- package/dist/flows/CostCalculator/hooks.d.ts +0 -110
- package/dist/flows/CostCalculator/hooks.js +0 -2
- package/dist/flows/CostCalculator/hooks.js.map +0 -1
- package/dist/flows/CostCalculator/index.js.map +0 -1
- package/dist/flows/CostCalculator/jsonSchema.d.ts +0 -134
- package/dist/flows/CostCalculator/jsonSchema.js +0 -2
- package/dist/flows/CostCalculator/jsonSchema.js.map +0 -1
- package/dist/flows/CostCalculator/types.d.ts +0 -109
- package/dist/flows/CostCalculator/types.js +0 -1
- package/dist/flows/CostCalculator/types.js.map +0 -1
- package/dist/flows/CostCalculator/utils.d.ts +0 -26
- package/dist/flows/CostCalculator/utils.js +0 -2
- package/dist/flows/CostCalculator/utils.js.map +0 -1
- package/dist/flows/CreateCompany/CreateCompany.d.ts +0 -16
- package/dist/flows/CreateCompany/CreateCompany.js +0 -2
- package/dist/flows/CreateCompany/CreateCompany.js.map +0 -1
- package/dist/flows/CreateCompany/api.d.ts +0 -73
- package/dist/flows/CreateCompany/api.js +0 -2
- package/dist/flows/CreateCompany/api.js.map +0 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +0 -12
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +0 -2
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js.map +0 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +0 -12
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +0 -2
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js.map +0 -1
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +0 -15
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js +0 -2
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js.map +0 -1
- package/dist/flows/CreateCompany/components/CreateCompanySubmit.d.ts +0 -6
- package/dist/flows/CreateCompany/components/CreateCompanySubmit.js +0 -2
- package/dist/flows/CreateCompany/components/CreateCompanySubmit.js.map +0 -1
- package/dist/flows/CreateCompany/context.d.ts +0 -81
- package/dist/flows/CreateCompany/context.js +0 -2
- package/dist/flows/CreateCompany/context.js.map +0 -1
- package/dist/flows/CreateCompany/hooks.d.ts +0 -12
- package/dist/flows/CreateCompany/hooks.js +0 -2
- package/dist/flows/CreateCompany/hooks.js.map +0 -1
- package/dist/flows/CreateCompany/index.js.map +0 -1
- package/dist/flows/CreateCompany/json-schemas/companyBasicInformationStep.d.ts +0 -76
- package/dist/flows/CreateCompany/json-schemas/companyBasicInformationStep.js +0 -2
- package/dist/flows/CreateCompany/json-schemas/companyBasicInformationStep.js.map +0 -1
- package/dist/flows/CreateCompany/types.d.ts +0 -12
- package/dist/flows/CreateCompany/types.js +0 -1
- package/dist/flows/CreateCompany/types.js.map +0 -1
- package/dist/flows/CreateCompany/utils.d.ts +0 -8
- package/dist/flows/CreateCompany/utils.js +0 -2
- package/dist/flows/CreateCompany/utils.js.map +0 -1
- package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.d.ts +0 -36
- package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.js +0 -2
- package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.js.map +0 -1
- package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.d.ts +0 -31
- package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.js +0 -2
- package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.js.map +0 -1
- package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.d.ts +0 -33
- package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.js +0 -2
- package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.js.map +0 -1
- package/dist/flows/InvoiceSchedule/InvoiceScheduleSubmitButton.d.ts +0 -6
- package/dist/flows/InvoiceSchedule/InvoiceScheduleSubmitButton.js +0 -2
- package/dist/flows/InvoiceSchedule/InvoiceScheduleSubmitButton.js.map +0 -1
- package/dist/flows/InvoiceSchedule/context.d.ts +0 -51
- package/dist/flows/InvoiceSchedule/context.js +0 -2
- package/dist/flows/InvoiceSchedule/context.js.map +0 -1
- package/dist/flows/InvoiceSchedule/hooks.d.ts +0 -100
- package/dist/flows/InvoiceSchedule/hooks.js +0 -2
- package/dist/flows/InvoiceSchedule/hooks.js.map +0 -1
- package/dist/flows/InvoiceSchedule/index.js.map +0 -1
- package/dist/flows/InvoiceSchedule/types.d.ts +0 -51
- package/dist/flows/InvoiceSchedule/types.js +0 -1
- package/dist/flows/InvoiceSchedule/types.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +0 -18
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +0 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +0 -15
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +0 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundResetButton.d.ts +0 -6
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundResetButton.js +0 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundResetButton.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundSubmitButton.d.ts +0 -6
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundSubmitButton.js +0 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundSubmitButton.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/context.d.ts +0 -20
- package/dist/flows/JsonSchemaPlayground/context.js +0 -2
- package/dist/flows/JsonSchemaPlayground/context.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/hooks.d.ts +0 -11
- package/dist/flows/JsonSchemaPlayground/hooks.js +0 -2
- package/dist/flows/JsonSchemaPlayground/hooks.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/index.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/types.d.ts +0 -11
- package/dist/flows/JsonSchemaPlayground/types.js +0 -1
- package/dist/flows/JsonSchemaPlayground/types.js.map +0 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +0 -21
- package/dist/flows/Onboarding/OnboardingFlow.js +0 -2
- package/dist/flows/Onboarding/OnboardingFlow.js.map +0 -1
- package/dist/flows/Onboarding/api.d.ts +0 -17
- package/dist/flows/Onboarding/api.js +0 -2
- package/dist/flows/Onboarding/api.js.map +0 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +0 -18
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +0 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js.map +0 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +0 -17
- package/dist/flows/Onboarding/components/BasicInformationStep.js +0 -2
- package/dist/flows/Onboarding/components/BasicInformationStep.js.map +0 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +0 -17
- package/dist/flows/Onboarding/components/BenefitsStep.js +0 -2
- package/dist/flows/Onboarding/components/BenefitsStep.js.map +0 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +0 -17
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +0 -2
- package/dist/flows/Onboarding/components/ContractDetailsStep.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.d.ts +0 -11
- package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.d.ts +0 -16
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.d.ts +0 -15
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.d.ts +0 -12
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.d.ts +0 -13
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.d.ts +0 -21
- package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/constants.d.ts +0 -10
- package/dist/flows/Onboarding/components/DailySchedule/constants.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/constants.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/types.d.ts +0 -164
- package/dist/flows/Onboarding/components/DailySchedule/types.js +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/types.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.d.ts +0 -54
- package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.js.map +0 -1
- package/dist/flows/Onboarding/components/DailySchedule/utils.d.ts +0 -69
- package/dist/flows/Onboarding/components/DailySchedule/utils.js +0 -2
- package/dist/flows/Onboarding/components/DailySchedule/utils.js.map +0 -1
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.d.ts +0 -5
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +0 -2
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js.map +0 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +0 -17
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +0 -2
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js.map +0 -1
- package/dist/flows/Onboarding/components/EquityPriceDetails.d.ts +0 -17
- package/dist/flows/Onboarding/components/EquityPriceDetails.js +0 -2
- package/dist/flows/Onboarding/components/EquityPriceDetails.js.map +0 -1
- package/dist/flows/Onboarding/components/OnboardingBack.d.ts +0 -7
- package/dist/flows/Onboarding/components/OnboardingBack.js +0 -2
- package/dist/flows/Onboarding/components/OnboardingBack.js.map +0 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +0 -27
- package/dist/flows/Onboarding/components/OnboardingForm.js +0 -2
- package/dist/flows/Onboarding/components/OnboardingForm.js.map +0 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +0 -26
- package/dist/flows/Onboarding/components/OnboardingInvite.js +0 -2
- package/dist/flows/Onboarding/components/OnboardingInvite.js.map +0 -1
- package/dist/flows/Onboarding/components/OnboardingSubmit.d.ts +0 -6
- package/dist/flows/Onboarding/components/OnboardingSubmit.js +0 -2
- package/dist/flows/Onboarding/components/OnboardingSubmit.js.map +0 -1
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +0 -17
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +0 -2
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.js.map +0 -1
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.d.ts +0 -5
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +0 -2
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js.map +0 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +0 -17
- package/dist/flows/Onboarding/components/ReviewStep.js +0 -2
- package/dist/flows/Onboarding/components/ReviewStep.js.map +0 -1
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +0 -19
- package/dist/flows/Onboarding/components/SaveDraftButton.js +0 -2
- package/dist/flows/Onboarding/components/SaveDraftButton.js.map +0 -1
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +0 -17
- package/dist/flows/Onboarding/components/SelectCountryStep.js +0 -2
- package/dist/flows/Onboarding/components/SelectCountryStep.js.map +0 -1
- package/dist/flows/Onboarding/context.d.ts +0 -156
- package/dist/flows/Onboarding/context.js +0 -2
- package/dist/flows/Onboarding/context.js.map +0 -1
- package/dist/flows/Onboarding/hooks.d.ts +0 -17
- package/dist/flows/Onboarding/hooks.js +0 -2
- package/dist/flows/Onboarding/hooks.js.map +0 -1
- package/dist/flows/Onboarding/index.js.map +0 -1
- package/dist/flows/Onboarding/types.d.ts +0 -17
- package/dist/flows/Onboarding/types.js +0 -1
- package/dist/flows/Onboarding/types.js.map +0 -1
- package/dist/flows/Onboarding/utils.d.ts +0 -17
- package/dist/flows/Onboarding/utils.js +0 -2
- package/dist/flows/Onboarding/utils.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +0 -17
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/api.d.ts +0 -82
- package/dist/flows/PayrollAdminOnboarding/api.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/api.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +0 -12
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/components/BackButton.d.ts +0 -6
- package/dist/flows/PayrollAdminOnboarding/components/BackButton.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/components/BackButton.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +0 -12
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +0 -16
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +0 -13
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +0 -12
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.d.ts +0 -6
- package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.d.ts +0 -12
- package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/context.d.ts +0 -24
- package/dist/flows/PayrollAdminOnboarding/context.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/context.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +0 -13
- package/dist/flows/PayrollAdminOnboarding/hooks.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/hooks.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/index.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.d.ts +0 -25
- package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.js +0 -2
- package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.js.map +0 -1
- package/dist/flows/PayrollAdminOnboarding/types.d.ts +0 -13
- package/dist/flows/PayrollAdminOnboarding/types.js +0 -1
- package/dist/flows/PayrollAdminOnboarding/types.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +0 -17
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/api.d.ts +0 -69
- package/dist/flows/PayrollEmployeeOnboarding/api.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/api.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/BackButton.d.ts +0 -6
- package/dist/flows/PayrollEmployeeOnboarding/components/BackButton.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/BackButton.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +0 -17
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +0 -18
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +0 -12
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +0 -13
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +0 -12
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +0 -18
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/SubmitButton.d.ts +0 -6
- package/dist/flows/PayrollEmployeeOnboarding/components/SubmitButton.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/SubmitButton.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.d.ts +0 -12
- package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +0 -24
- package/dist/flows/PayrollEmployeeOnboarding/context.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/context.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +0 -13
- package/dist/flows/PayrollEmployeeOnboarding/hooks.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/hooks.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/index.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/taxErrors.d.ts +0 -12
- package/dist/flows/PayrollEmployeeOnboarding/taxErrors.js +0 -2
- package/dist/flows/PayrollEmployeeOnboarding/taxErrors.js.map +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +0 -13
- package/dist/flows/PayrollEmployeeOnboarding/types.js +0 -1
- package/dist/flows/PayrollEmployeeOnboarding/types.js.map +0 -1
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +0 -14
- package/dist/flows/Termination/AdditionalDetailsForm.js +0 -2
- package/dist/flows/Termination/AdditionalDetailsForm.js.map +0 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +0 -14
- package/dist/flows/Termination/EmployeeComunicationForm.js +0 -2
- package/dist/flows/Termination/EmployeeComunicationForm.js.map +0 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +0 -14
- package/dist/flows/Termination/PaidTimeOffForm.js +0 -2
- package/dist/flows/Termination/PaidTimeOffForm.js.map +0 -1
- package/dist/flows/Termination/TerminationBack.d.ts +0 -6
- package/dist/flows/Termination/TerminationBack.js +0 -2
- package/dist/flows/Termination/TerminationBack.js.map +0 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +0 -14
- package/dist/flows/Termination/TerminationDetailsForm.js +0 -2
- package/dist/flows/Termination/TerminationDetailsForm.js.map +0 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +0 -18
- package/dist/flows/Termination/TerminationFlow.js +0 -2
- package/dist/flows/Termination/TerminationFlow.js.map +0 -1
- package/dist/flows/Termination/TerminationForm.d.ts +0 -23
- package/dist/flows/Termination/TerminationForm.js +0 -2
- package/dist/flows/Termination/TerminationForm.js.map +0 -1
- package/dist/flows/Termination/TerminationSubmit.d.ts +0 -6
- package/dist/flows/Termination/TerminationSubmit.js +0 -2
- package/dist/flows/Termination/TerminationSubmit.js.map +0 -1
- package/dist/flows/Termination/api.d.ts +0 -106
- package/dist/flows/Termination/api.js +0 -2
- package/dist/flows/Termination/api.js.map +0 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.d.ts +0 -10
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.js +0 -2
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.js.map +0 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.d.ts +0 -11
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +0 -2
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js.map +0 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.d.ts +0 -18
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +0 -2
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js.map +0 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/constants.d.ts +0 -12
- package/dist/flows/Termination/components/AcknowledgeInformation/constants.js +0 -2
- package/dist/flows/Termination/components/AcknowledgeInformation/constants.js.map +0 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/types.d.ts +0 -11
- package/dist/flows/Termination/components/AcknowledgeInformation/types.js +0 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/types.js.map +0 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +0 -36
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +0 -2
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js.map +0 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +0 -36
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +0 -2
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js.map +0 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +0 -24
- package/dist/flows/Termination/components/PaidTimeOff/types.js +0 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.js.map +0 -1
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.d.ts +0 -5
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +0 -2
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js.map +0 -1
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.d.ts +0 -5
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +0 -2
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js.map +0 -1
- package/dist/flows/Termination/context.d.ts +0 -82
- package/dist/flows/Termination/context.js +0 -2
- package/dist/flows/Termination/context.js.map +0 -1
- package/dist/flows/Termination/hooks.d.ts +0 -14
- package/dist/flows/Termination/hooks.js +0 -2
- package/dist/flows/Termination/hooks.js.map +0 -1
- package/dist/flows/Termination/index.js.map +0 -1
- package/dist/flows/Termination/json-schemas/additionalInformation.d.ts +0 -45
- package/dist/flows/Termination/json-schemas/additionalInformation.js +0 -2
- package/dist/flows/Termination/json-schemas/additionalInformation.js.map +0 -1
- package/dist/flows/Termination/json-schemas/defaultSchema.d.ts +0 -18
- package/dist/flows/Termination/json-schemas/defaultSchema.js +0 -2
- package/dist/flows/Termination/json-schemas/defaultSchema.js.map +0 -1
- package/dist/flows/Termination/json-schemas/employeeComunication.d.ts +0 -137
- package/dist/flows/Termination/json-schemas/employeeComunication.js +0 -2
- package/dist/flows/Termination/json-schemas/employeeComunication.js.map +0 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.d.ts +0 -372
- package/dist/flows/Termination/json-schemas/jsonSchema.js +0 -2
- package/dist/flows/Termination/json-schemas/jsonSchema.js.map +0 -1
- package/dist/flows/Termination/json-schemas/paidTimeOff.d.ts +0 -101
- package/dist/flows/Termination/json-schemas/paidTimeOff.js +0 -2
- package/dist/flows/Termination/json-schemas/paidTimeOff.js.map +0 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +0 -18
- package/dist/flows/Termination/json-schemas/schema.js +0 -2
- package/dist/flows/Termination/json-schemas/schema.js.map +0 -1
- package/dist/flows/Termination/json-schemas/terminationDetails.d.ts +0 -146
- package/dist/flows/Termination/json-schemas/terminationDetails.js +0 -2
- package/dist/flows/Termination/json-schemas/terminationDetails.js.map +0 -1
- package/dist/flows/Termination/types.d.ts +0 -14
- package/dist/flows/Termination/types.js +0 -1
- package/dist/flows/Termination/types.js.map +0 -1
- package/dist/flows/Termination/utils.d.ts +0 -14
- package/dist/flows/Termination/utils.js +0 -2
- package/dist/flows/Termination/utils.js.map +0 -1
- package/dist/flows/types.d.ts +0 -109
- package/dist/flows/types.js +0 -1
- package/dist/flows/types.js.map +0 -1
- package/dist/flows/useStepState.d.ts +0 -63
- package/dist/flows/useStepState.js +0 -2
- package/dist/flows/useStepState.js.map +0 -1
- package/dist/flows/utils.d.ts +0 -28
- package/dist/flows/utils.js +0 -2
- package/dist/flows/utils.js.map +0 -1
- package/dist/index.css.map +0 -1
- package/dist/internals.js.map +0 -1
- package/dist/mutations-CP-6Q1qD.d.ts +0 -24
- package/dist/remoteFlows-XC0Ss0fy.d.ts +0 -554
- package/dist/styles.css.map +0 -1
- package/dist/styles.js.map +0 -1
- package/dist/types-6A_DAOTw.d.ts +0 -91
- package/dist/types-BiZEYxvl.d.ts +0 -224
- package/dist/types-BnNeE0Fd.d.ts +0 -946
- package/dist/types-CASxD27i.d.ts +0 -120
- package/dist/types-Cgl9btOl.d.ts +0 -247
- package/dist/types-DUb6Xtze.d.ts +0 -128
- package/dist/types-DoJBHy3H.d.ts +0 -498
- package/dist/types-UQad9Aui.d.ts +0 -95
- package/dist/types-iOFkkiK3.d.ts +0 -93
- package/dist/types.gen-ClcXnZQX.d.ts +0 -3676
- package/dist/utils-B8OKS73W.d.ts +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonSchemaPlayground-CTwG5Y1Q.js","names":[],"sources":["../src/flows/JsonSchemaPlayground/context.ts","../src/flows/JsonSchemaPlayground/hooks.ts","../src/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.tsx","../src/flows/JsonSchemaPlayground/JsonSchemaPlaygroundSubmitButton.tsx","../src/flows/JsonSchemaPlayground/JsonSchemaPlaygroundResetButton.tsx","../src/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { useJsonSchemaPlayground } from './hooks';\n\nexport interface JsonSchemaPlaygroundContextValue {\n formId: string;\n playgroundBag: ReturnType<typeof useJsonSchemaPlayground>;\n}\n\nexport const JsonSchemaPlaygroundContext =\n createContext<JsonSchemaPlaygroundContextValue | null>(null);\n\nexport const useJsonSchemaPlaygroundContext = () => {\n const context = useContext(JsonSchemaPlaygroundContext);\n if (!context) {\n throw new Error(\n 'useJsonSchemaPlaygroundContext must be used within a JsonSchemaPlaygroundFlow',\n );\n }\n\n return context;\n};\n","import { useState, useCallback, useMemo, useEffect } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport {\n JsonSchemaPlaygroundResult,\n JsonSchemaPlaygroundState,\n UseJsonSchemaPlaygroundOptions,\n} from './types';\n\nexport const useJsonSchemaPlayground = (\n options: UseJsonSchemaPlaygroundOptions,\n) => {\n const {\n defaultSchema = 'simple-user-profile',\n initialValues: jsonSchemaInitialValues = {},\n schemas: customSchemas = {},\n onSubmit,\n onError,\n onSchemaChange,\n } = options;\n\n const [state, setState] = useState<JsonSchemaPlaygroundState>({\n selectedSchema: defaultSchema,\n submittedResults: [],\n isLoading: false,\n isSubmitting: false,\n resetKey: 0,\n fieldsVersion: 0,\n });\n\n // Sync internal state with external defaultSchema prop (for browser back/forward)\n useEffect(() => {\n if (defaultSchema && defaultSchema !== state.selectedSchema) {\n setState((prev) => ({\n ...prev,\n selectedSchema: defaultSchema,\n resetKey: prev.resetKey + 1,\n }));\n }\n // Only react to defaultSchema changes from parent, not internal state changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultSchema]);\n\n const fieldValues = useMemo(() => {\n return {\n ...jsonSchemaInitialValues,\n };\n }, [jsonSchemaInitialValues]);\n\n // Get current schema\n const currentSchemaData = useMemo(() => {\n return customSchemas?.[state.selectedSchema];\n }, [customSchemas, state.selectedSchema]);\n\n // Create headless form from current schema\n const headlessForm = useMemo(() => {\n try {\n setState((prev) => ({ ...prev, isLoading: true }));\n const form = createHeadlessForm(currentSchemaData.schema, fieldValues, {\n transformMoneyFields: false,\n });\n setState((prev) => ({ ...prev, isLoading: false }));\n return form;\n } catch (error) {\n setState((prev) => ({ ...prev, isLoading: false }));\n onError?.(error);\n throw error;\n }\n }, [currentSchemaData.schema, fieldValues, onError]);\n\n // Handle schema selection\n const handleSchemaChange = useCallback(\n (schemaKey: string) => {\n setState((prev) => ({ ...prev, selectedSchema: schemaKey }));\n onSchemaChange?.(schemaKey);\n setState((prev) => ({ ...prev, resetKey: prev.resetKey + 1 }));\n },\n [onSchemaChange],\n );\n\n // Handle form submission\n const handleSubmit = useCallback(\n async (values: FieldValues) => {\n setState((prev) => ({ ...prev, isSubmitting: true }));\n\n try {\n await onSubmit?.(values);\n\n const result: JsonSchemaPlaygroundResult = {\n success: true,\n data: values,\n timestamp: new Date().toISOString(),\n };\n\n setState((prev) => ({\n ...prev,\n isSubmitting: false,\n submittedResults: [result, ...prev.submittedResults],\n }));\n\n return result;\n } catch (error) {\n const result: JsonSchemaPlaygroundResult = {\n success: false,\n data: values,\n timestamp: new Date().toISOString(),\n };\n\n setState((prev) => ({\n ...prev,\n isSubmitting: false,\n submittedResults: [result, ...prev.submittedResults],\n }));\n\n onError?.(error);\n throw error;\n }\n },\n [onSubmit, onError],\n );\n\n // Handle form reset\n const handleReset = useCallback(() => {\n setState((prev) => ({ ...prev, resetKey: prev.resetKey + 1 }));\n }, []);\n\n // Clear results\n const clearResults = useCallback(() => {\n setState((prev) => ({ ...prev, submittedResults: [] }));\n }, []);\n\n // Validation functions\n const handleValidation = useCallback(\n async (values: FieldValues) => {\n if (!headlessForm.fields) {\n return null;\n }\n // Invisible values are kept on purpose here, mirroring Onboarding's\n // jsfVersion-1 contract_details handling: a hidden fieldset coming\n // back would lose the values driving its own children (e.g.\n // daily_schedule's selected_days) if they were stripped before\n // handleValidation resolves visibility.\n const parsedValues = await parseJSFToValidate(\n values,\n headlessForm.fields,\n { isPartialValidation: true },\n );\n const result = await headlessForm.handleValidation(parsedValues);\n\n setState((prev) => ({ ...prev, fieldsVersion: prev.fieldsVersion + 1 }));\n\n return result;\n },\n [headlessForm],\n );\n\n const initialValues = useMemo(() => {\n return getInitialValues(headlessForm.fields, fieldValues);\n }, [headlessForm.fields, fieldValues]);\n\n return {\n // State\n selectedSchema: state.selectedSchema,\n resetKey: state.resetKey,\n isLoading: state.isLoading,\n isSubmitting: state.isSubmitting,\n submittedResults: state.submittedResults,\n fieldValues,\n initialValues,\n\n // Schema data\n currentSchemaData,\n\n // Form data from headless form\n fields: headlessForm.fields,\n meta: headlessForm.meta,\n\n // Actions\n handleSchemaChange,\n handleSubmit,\n handleReset,\n clearResults,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: async (values: FieldValues) => {\n await handleValidation(values);\n },\n\n // Validation\n handleValidation,\n };\n};\n","import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useEffect } from 'react';\nimport { useJsonSchemaPlaygroundContext } from './context';\nimport { useJSONSchemaForm } from '@/src/components/form/useJSONSchemaForm';\nimport { Components } from '@/src/types/remoteFlows';\n\nexport interface JsonSchemaPlaygroundFormProps {\n onSubmit?: (values: Record<string, unknown>) => void;\n className?: string;\n components?: Components;\n defaultValues?: Record<string, unknown>;\n}\n\nconst JsonSchemaPlaygroundFormInner = ({\n onSubmit,\n className,\n components,\n}: JsonSchemaPlaygroundFormProps) => {\n const { formId, playgroundBag } = useJsonSchemaPlaygroundContext();\n\n const form = useJSONSchemaForm({\n handleValidation: playgroundBag.handleValidation,\n defaultValues: playgroundBag.initialValues,\n checkFieldUpdates: playgroundBag.checkFieldUpdates,\n });\n\n useEffect(() => {\n // Update field values when form values change\n playgroundBag.checkFieldUpdates(form.getValues());\n // oxlint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleFormSubmit = async (values: Record<string, unknown>) => {\n await playgroundBag.handleSubmit(values);\n onSubmit?.(values);\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleFormSubmit)}\n className={className}\n >\n <JSONSchemaFormFields\n components={components}\n fields={playgroundBag.fields ?? []}\n fieldValues={playgroundBag.fieldValues}\n fieldsets={playgroundBag.meta['x-jsf-fieldsets']}\n />\n </form>\n </Form>\n );\n};\n\nexport const JsonSchemaPlaygroundForm = (\n props: JsonSchemaPlaygroundFormProps,\n) => {\n const { playgroundBag } = useJsonSchemaPlaygroundContext();\n\n // `useJSONSchemaForm` (inside JsonSchemaPlaygroundFormInner) creates its\n // react-hook-form instance with `defaultValues` that react-hook-form only\n // reads once, on mount. The key must live here, not on the inner <Form>,\n // so switching schemas or resetting fully remounts that hook instance\n // instead of re-rendering it with stale defaults.\n return (\n <JsonSchemaPlaygroundFormInner\n key={`form-${playgroundBag.selectedSchema}-${playgroundBag.resetKey}`}\n {...props}\n />\n );\n};\n","import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useJsonSchemaPlaygroundContext } from './context';\nimport { useFormFields } from '@/src/context';\n\nexport function JsonSchemaPlaygroundSubmitButton({\n children,\n ...props\n}: PropsWithChildren<\n ButtonHTMLAttributes<HTMLButtonElement> & Record<string, unknown>\n>) {\n const { formId, playgroundBag } = useJsonSchemaPlaygroundContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error('Button component not found');\n }\n\n return (\n <CustomButton\n {...props}\n form={formId}\n disabled={props.disabled || playgroundBag.isSubmitting}\n >\n {playgroundBag.isSubmitting ? 'Submitting...' : children}\n </CustomButton>\n );\n}\n","import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useJsonSchemaPlaygroundContext } from './context';\nimport { cn } from '@/src/lib/utils';\nimport { useFormFields } from '@/src/context';\n\nexport function JsonSchemaPlaygroundResetButton({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> &\n Record<string, unknown>) {\n const { formId, playgroundBag } = useJsonSchemaPlaygroundContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error('Button component not found');\n }\n\n return (\n <CustomButton\n {...props}\n type='reset'\n className={cn(\n 'RemoteFlows__JsonSchemaPlayground__ResetButton',\n props.className,\n )}\n form={formId}\n onClick={(evt) => {\n playgroundBag.handleReset();\n props.onClick?.(evt);\n }}\n >\n {children}\n </CustomButton>\n );\n}\n","import React, { useId } from 'react';\nimport { JsonSchemaPlaygroundContext } from './context';\nimport { useJsonSchemaPlayground } from './hooks';\nimport { JsonSchemaPlaygroundForm } from './JsonSchemaPlaygroundForm';\nimport { JsonSchemaPlaygroundSubmitButton } from './JsonSchemaPlaygroundSubmitButton';\nimport { JsonSchemaPlaygroundResetButton } from './JsonSchemaPlaygroundResetButton';\nimport {\n UseJsonSchemaPlaygroundOptions,\n JsonSchemaPlaygroundRenderProps,\n} from './types';\n\nexport interface JsonSchemaPlaygroundFlowProps extends UseJsonSchemaPlaygroundOptions {\n render: (renderProps: JsonSchemaPlaygroundRenderProps) => React.ReactNode;\n}\n\nexport const JsonSchemaPlaygroundFlow = ({\n defaultSchema,\n initialValues,\n schemas,\n onSubmit,\n onSchemaChange,\n onError,\n render,\n}: JsonSchemaPlaygroundFlowProps) => {\n const formId = useId();\n\n const playgroundBag = useJsonSchemaPlayground({\n defaultSchema,\n initialValues,\n schemas,\n onSubmit,\n onSchemaChange,\n onError,\n });\n\n return (\n <JsonSchemaPlaygroundContext.Provider\n value={{\n formId,\n playgroundBag,\n }}\n >\n {render({\n playgroundBag,\n components: {\n Form: JsonSchemaPlaygroundForm,\n SubmitButton: JsonSchemaPlaygroundSubmitButton,\n ResetButton: JsonSchemaPlaygroundResetButton,\n },\n })}\n </JsonSchemaPlaygroundContext.Provider>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{C as t,S as n,_ as r,v as i,x as a}from"./CheckBoxField-DSq9Qf8u.js";import{t as o}from"./HelpCenter-DUyZK5NH.js";import{t as s}from"./multi-select-DhP6T9xS.js";import{useEffect as c,useState as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";var f=e({MultiSelectFieldDefault:()=>p});const p=({field:e,fieldState:f,fieldData:p})=>{let[m,h]=l([]),{name:g,label:_,description:v,options:y}=p,b=m||y?.filter(t=>e.value?.includes(t.value));return c(()=>{h(y?.filter(t=>e.value?.includes(t.value))||[])},[e.value,y]),d(a,{"data-field":g,className:`RemoteFlows__SelectField__Item__${g}`,children:[u(n,{className:`RemoteFlows__SelectField__Label`,children:_}),u(r,{children:u(s,{options:y||[],selected:b,onChange:t=>{let n=t.map(({value:e})=>e);e.onChange(n),h(t)}})}),(v||p.meta?.helpCenter)&&u(i,{helpCenter:u(o,{helpCenter:p.meta?.helpCenter}),children:v}),f.error&&u(t,{})]})};export{f as n,p as t};
|
|
2
|
+
//# sourceMappingURL=MultiSelectFieldDefault-Bt5bdhNg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectFieldDefault-Bt5bdhNg.js","names":[],"sources":["../src/components/form/fields/default/MultiSelectFieldDefault.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { MultiSelect, Option } from '@/src/components/ui/multi-select';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport { FieldComponentProps } from '@/src/types/fields';\n\nexport const MultiSelectFieldDefault = ({\n field,\n fieldState,\n fieldData,\n}: FieldComponentProps) => {\n const [selected, setSelected] = useState<Option[]>([]);\n const { name, label, description, options } = fieldData;\n const selectedOptions =\n selected ||\n options?.filter((option) => field.value?.includes(option.value));\n\n useEffect(() => {\n // WE NEED TO FIX: react-hooks/set-state-in-effect - Calling setState synchronously within an effect can trigger cascading renders\n // oxlint-disable-next-line react-hooks/set-state-in-effect\n setSelected(\n options?.filter((option) => field.value?.includes(option.value)) || [],\n );\n }, [field.value, options]);\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__SelectField__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__SelectField__Label'>{label}</FormLabel>\n <FormControl>\n <MultiSelect\n options={options || []}\n selected={selectedOptions}\n onChange={(rawValues: Option[]) => {\n const values = rawValues.map(({ value }) => value);\n field.onChange(values); // This triggers the wrapped onChange from MultiSelectField\n setSelected(rawValues);\n }}\n />\n </FormControl>\n {(description || fieldData.meta?.helpCenter) && (\n <FormDescription\n helpCenter={<HelpCenter helpCenter={fieldData.meta?.helpCenter} />}\n >\n {description}\n </FormDescription>\n )}\n {fieldState.error && <FormMessage />}\n </FormItem>\n );\n};\n"],"mappings":"sWAYA,MAAa,GAA2B,CACtC,QACA,aACA,eACyB,CACzB,GAAM,CAAC,EAAU,GAAe,EAAmB,CAAC,CAAC,EAC/C,CAAE,OAAM,QAAO,cAAa,WAAY,EACxC,EACJ,GACA,GAAS,OAAQ,GAAW,EAAM,OAAO,SAAS,EAAO,KAAK,CAAC,EASjE,OAPA,MAAgB,CAGd,EACE,GAAS,OAAQ,GAAW,EAAM,OAAO,SAAS,EAAO,KAAK,CAAC,GAAK,CAAC,CACvE,CACF,EAAG,CAAC,EAAM,MAAO,CAAO,CAAC,EAEvB,EAAC,EAAD,CACE,aAAY,EACZ,UAAW,mCAAmC,IAFhD,SAAA,CAIE,EAAC,EAAD,CAAW,UAAU,kCAAmC,SAAA,CAAiB,CAAA,EACzE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CACE,QAAS,GAAW,CAAC,EACrB,SAAU,EACV,SAAW,GAAwB,CACjC,IAAM,EAAS,EAAU,KAAK,CAAE,WAAY,CAAK,EACjD,EAAM,SAAS,CAAM,EACrB,EAAY,CAAS,CACvB,CACD,CAAA,CACU,CAAA,GACX,GAAe,EAAU,MAAM,aAC/B,EAAC,EAAD,CACE,WAAY,EAAC,EAAD,CAAY,WAAY,EAAU,MAAM,UAAa,CAAA,EAEhE,SAAA,CACc,CAAA,EAElB,EAAW,OAAS,EAAC,EAAD,CAAc,CAAA,CAC3B,GAEd"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{l as t}from"./CheckBoxField-DSq9Qf8u.js";import{jsx as n}from"react/jsx-runtime";var r=e({NumberFieldDefault:()=>i});function i({field:e,fieldData:r}){return n(t,{type:`text`,inputMode:`decimal`,pattern:`^[0-9.]*$`,...e,...r})}export{r as n,i as t};
|
|
2
|
+
//# sourceMappingURL=NumberFieldDefault-BGYFkaSl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberFieldDefault-BGYFkaSl.js","names":[],"sources":["../src/components/form/fields/default/NumberFieldDefault.tsx"],"sourcesContent":["import { TextField } from '@/src/components/form/fields/TextField';\nimport { FieldComponentProps } from '@/src/types/fields';\n\nexport function NumberFieldDefault({ field, fieldData }: FieldComponentProps) {\n return (\n <TextField\n type='text'\n inputMode='decimal'\n pattern='^[0-9.]*$'\n {...field}\n {...fieldData}\n />\n );\n}\n"],"mappings":"+KAGA,SAAgB,EAAmB,CAAE,QAAO,aAAkC,CAC5E,OACE,EAAC,EAAD,CACE,KAAK,OACL,UAAU,UACV,QAAQ,YACR,GAAI,EACJ,GAAI,CACL,CAAA,CAEL"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{B as e,E as t,H as n,J as r,K as i,M as a,R as o,X as s,Y as c,d as l,f as u,g as d,p as f,q as p,w as m}from"./CheckBoxField-DSq9Qf8u.js";import{At as h}from"./sdk.gen-C7MLoCMc.js";import{_ as g,c as _,d as v,f as y,g as b,h as x,t as ee,v as S}from"./checkbox-_YWwA7wV.js";import{t as C}from"./JSONSchemaForm-DehMm5lM.js";import{A as te,C as ne,D as re,E as w,M as T,O as ie,S as ae,T as oe,_ as se,a as ce,b as le,c as ue,d as de,f as fe,g as pe,h as me,i as he,j as E,k as ge,l as D,m as _e,n as ve,p as ye,r as be,s as xe,t as Se,u as Ce,v as we,w as Te,x as Ee,y as De}from"./api-D3v21Bid.js";import{t as Oe}from"./CurrencyConversionField-DMi3ydBX.js";import{t as ke}from"./useJSONSchemaForm-CiLms2z5.js";import{r as Ae}from"./employment-Ddl1RWTS.js";import{t as je}from"./useStepState-BmZF37pW.js";import{a as Me,c as Ne,d as O,l as Pe,n as k,o as A,r as Fe,s as Ie,t as Le,u as Re}from"./internals-CzDL30xI.js";import{t as ze}from"./useErrorReporting-BC2ObW1s.js";import{createContext as j,createElement as Be,useCallback as Ve,useContext as He,useEffect as Ue,useId as We,useMemo as M,useRef as Ge,useState as N}from"react";import{Fragment as Ke,jsx as P,jsxs as F}from"react/jsx-runtime";import{RotateCcw as qe}from"lucide-react";import Je from"lodash.mergewith";import{zodResolver as I}from"@hookform/resolvers/zod";import{z as L}from"zod";const Ye=({currency:e,desiredCurrency:t,annual_gross_salary_conversion_properties:n,splitDescription:r,...i})=>P(Oe,{...i,sourceCurrency:e,targetCurrency:t,splitDescription:r,conversionFieldName:`annual_gross_salary_conversion`,conversionProperties:{...n,description:n?.description||`Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time.`},classNamePrefix:`RemoteFlows-AnnualGrossSalary`,conversionType:`no_spread`}),Xe=(e,t)=>`${e} ${t}`,Ze=({offerEquity:e,equityCost:t})=>{let n=e===`yes`,r=!!t?.discount,i=t&&t.original?Xe(t.original.amount,t.original.currency):null,a=t&&t.calculated?Xe(t.calculated.amount,t.calculated.currency):null;return!n||!t?null:F(`div`,{className:`RemoteFlows__EquityPriceDetails`,children:[F(`span`,{className:`RemoteFlows__Equity__Price`,children:[`A monthly fee of`,` `,F(`strong`,{children:[r?F(Ke,{children:[P(`s`,{children:i}),` `,a]}):a,` `,`will apply.`]})]}),P(`span`,{className:`RemoteFlows__Equity__Fee`,children:`This is a fee for managing equity through Remote.`}),P(`span`,{className:`RemoteFlows__Equity__Reporting`,children:`To fulfill local reporting obligations, Remote must note any equity grants made and any related taxable events, such as exercising stock options and RSU vesting.`})]})},Qe=L.object({day:L.string().min(1),checked:L.boolean(),start_time:L.string().optional().nullable(),end_time:L.string().optional().nullable(),break_duration_minutes:L.string().optional().nullable()}).superRefine((e,t)=>{if(e.checked){for(let n of[`start_time`,`end_time`]){let r=e[n];r&&!Fe.test(r)?t.addIssue({code:`custom`,path:[n],message:`Invalid time format (HH:mm)`}):e.checked&&!r&&t.addIssue({code:`custom`,path:[n],message:`Required`})}e.checked&&(e.break_duration_minutes?/^\d+$/.test(e.break_duration_minutes)||t.addIssue({code:`custom`,path:[`break_duration_minutes`],message:`Must be a whole number of minutes`}):t.addIssue({code:`custom`,path:[`break_duration_minutes`],message:`Required`}))}}),$e=L.object({schedule:L.array(Qe).refine(e=>e.some(e=>e.checked),{message:`Select at least one work day`})});function R({availableWorkDays:e,defaultSchedule:t,defaultStartTime:n,defaultEndTime:r,defaultBreakDurationMinutes:i,value:a}){let{schedule:o,selected_days:s}=O({value:a,defaultSchedule:t});return e.map(e=>{let t=o[e];return{day:e,checked:s.includes(e),start_time:t?.start_time??n,end_time:t?.end_time??r,break_duration_minutes:String(t?.break_duration_minutes??i)}})}function et(e,t){return e.every((e,n)=>{let r=t[n];return e.checked===r.checked?!e.checked||e.start_time===r.start_time&&e.end_time===r.end_time&&e.break_duration_minutes===r.break_duration_minutes:!1})}function tt(e){let t=e.schedule.filter(e=>e.checked);return{selected_days:t.map(e=>e.day),schedule:t.reduce((e,t)=>({...e,[t.day]:{start_time:t.start_time,end_time:t.end_time,break_duration_minutes:Number(t.break_duration_minutes)}}),{})}}function z(e){let t=$e.safeParse({schedule:e});if(t.success)return{valid:!0};let n=t.error.issues.find(e=>e.path[0]===`schedule`&&e.path.length===1)?.message,r=new Map;return t.error.issues.forEach(e=>{if(e.path.length===3&&e.path[0]===`schedule`){let t=e.path[1],n=e.path[2];if(typeof t==`number`&&typeof n==`string`){let i=`schedule.${t}.${n}`;r.set(i,e.message)}}}),{valid:!1,formError:n,hasFieldErrors:r.size>0,fieldErrors:r}}function nt({availableWorkDays:e,defaultSchedule:t,defaultStartTime:n,defaultEndTime:i,defaultBreakDurationMinutes:a,subtractBreaksFromWorkHours:o=!1,workHoursBounds:s,workSchedule:l,countryName:u,value:d,setValue:f}){let p=M(()=>R({availableWorkDays:e,defaultSchedule:t,defaultStartTime:n,defaultEndTime:i,defaultBreakDurationMinutes:a,value:d}),[e,t,n,i,a,d]),m=c({mode:`onBlur`,defaultValues:{schedule:p},resolver:I($e)}),{control:h}=m;r({name:`schedule`,control:h});let{watch:g,setValue:_}=m,v=g(`schedule`),y=e=>{f(tt(e)),m.reset(e)},b=()=>{m.reset({schedule:p}),T(z(p))},x=R({availableWorkDays:e,defaultSchedule:t,defaultStartTime:n,defaultEndTime:i,defaultBreakDurationMinutes:a,value:void 0}),ee=()=>{m.reset({schedule:x}),T(z(x))},S=!et(g(`schedule`),x),C=v.filter(e=>e.checked).map(e=>({day:e.day,start_time:e.start_time,end_time:e.end_time,break_duration_minutes:Number(e.break_duration_minutes)||0})),te=Me(C,o),ne=C.some(e=>!Fe.test(e.start_time)||!Fe.test(e.end_time)),re=s&&u&&!ne?Ie({totalWeeklyHours:te,workHoursBounds:s,countryName:u,workSchedule:l}):null,[w,T]=N(()=>z(p));Ue(()=>{T(z(p))},[p]);let ie=Ve(()=>{T(z(v))},[v]),ae=w.valid?null:w.formError??null,oe=!w.valid&&w.hasFieldErrors,se=w.valid?new Map:w.fieldErrors;return{state:{rows:v.map(e=>{let t=A(e.start_time,e.end_time,o&&Number(e.break_duration_minutes)||0);return{...e,hours:Number.isNaN(t)?0:t}}),unsavedSummaryDays:C,hoursRangeError:re,isDirty:S,formError:ae,hasFieldErrors:oe,getFieldError:(e,t)=>se.get(`schedule.${e}.${t}`)},actions:{updateRow:(e,t,n)=>{_(`schedule.${e}.${t}`,n)},toggleDay:e=>{let t=v[e]?.checked;_(`schedule.${e}.checked`,!t);let n=v.map((n,r)=>r===e?{...n,checked:!t}:n);T(z(n))},save:async()=>{let e=z(v);e.valid?y({schedule:v}):T(e)},reset:ee,close:b,validate:()=>z(v).valid,handleBlur:ie}}}const rt=({render:e,metadata:t,value:n,...r})=>{let{watch:i}=s(),a=i(`schedule_type`),o=i(`work_schedule`),c=Pe(t),l=Re(c.workHoursPerWeekConfig,{scheduleType:a,workSchedule:o}),u=Ne(n,c.defaultSchedule),d=Me(u,c.subtractBreaksFromWorkHours),f=Ie({totalWeeklyHours:d,workHoursBounds:l,countryName:c.countryName,workSchedule:o}),p=nt({availableWorkDays:c.availableWorkDays,defaultSchedule:c.defaultSchedule,defaultStartTime:c.defaultStartTime,defaultEndTime:c.defaultEndTime,defaultBreakDurationMinutes:c.defaultBreakDurationMinutes,subtractBreaksFromWorkHours:c.subtractBreaksFromWorkHours,workHoursBounds:l,workSchedule:o,countryName:c.countryName,value:n,setValue:r.setValue});return e({summaryDays:u,subtractBreaksFromWorkHours:c.subtractBreaksFromWorkHours,savedScheduleHoursError:f,editBag:p})},it=j(null),at=()=>{let e=He(it);if(!e)throw Error(`useDialogControl must be used within EditEmployeeWorkingHoursDialog`);return e},ot=({children:e,onClose:t})=>{let[n,r]=N(!1),i=()=>{r(!1)},a=()=>{t?.(),r(!1)};return P(it.Provider,{value:{close:i,cancel:a},children:F(v,{open:n,onOpenChange:e=>{if(!e){a();return}r(e)},children:[P(g,{asChild:!0,children:P(f,{variant:`link`,className:`flex items-center p-0 self-start RemoteFlows__DailySchedule__Trigger`,children:`Edit schedule`})}),F(y,{className:`sm:max-w-4xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__DailySchedule__Content`,children:[P(x,{children:P(b,{className:`RemoteFlows__DailySchedule__Title`,children:`Edit employee working hours`})}),e]})]})})},st={monday:`Monday`,tuesday:`Tuesday`,wednesday:`Wednesday`,thursday:`Thursday`,friday:`Friday`,saturday:`Saturday`,sunday:`Sunday`},ct=({state:e,actions:t,subtractBreaksFromWorkHours:n})=>{let{close:r,cancel:i}=at();return F(`div`,{className:`space-y-4 RemoteFlows__DailyScheduleForm`,children:[P(`p`,{className:`text-gray-600 text-sm mb-4 RemoteFlows__DailyScheduleForm__Description`,children:`The times displayed are in the employee's time zone in the 24-hour format.`}),F(`div`,{className:`grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__DailyScheduleForm__Header`,children:[P(`div`,{className:`col-span-3`}),P(`div`,{className:`col-span-3 text-center`,children:`Start`}),P(`div`,{className:`col-span-3 text-center`,children:`End`}),P(`div`,{className:`col-span-3 text-center`,children:`Break (minutes)`})]}),P(`div`,{className:`RemoteFlows__DailyScheduleForm__Rows`,children:e.rows.map((n,r)=>F(`div`,{className:`grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__DailyScheduleForm__Row`,children:[P(`div`,{className:`col-span-3`,children:F(`div`,{className:`flex items-center gap-2`,children:[P(ee,{id:`schedule-${r}-checked`,checked:n.checked,onCheckedChange:()=>t.toggleDay(r)}),P(m,{htmlFor:`schedule-${r}-checked`,children:st[n.day]})]})}),P(`div`,{className:`col-span-3`,children:P(_,{type:`text`,value:n.start_time,onChange:e=>t.updateRow(r,`start_time`,e.target.value),onBlur:t.handleBlur,disabled:!n.checked,placeholder:`HH:mm`,"aria-invalid":!!e.getFieldError(r,`start_time`),className:e.getFieldError(r,`start_time`)?`border-destructive`:``})}),P(`div`,{className:`col-span-3`,children:P(_,{type:`text`,value:n.end_time,onChange:e=>t.updateRow(r,`end_time`,e.target.value),onBlur:t.handleBlur,disabled:!n.checked,placeholder:`HH:mm`,"aria-invalid":!!e.getFieldError(r,`end_time`),className:e.getFieldError(r,`end_time`)?`border-destructive`:``})}),P(`div`,{className:`col-span-2`,children:P(_,{type:`number`,value:n.break_duration_minutes,onChange:e=>t.updateRow(r,`break_duration_minutes`,e.target.value),onBlur:t.handleBlur,disabled:!n.checked,placeholder:`Minutes`,"aria-invalid":!!e.getFieldError(r,`break_duration_minutes`),className:e.getFieldError(r,`break_duration_minutes`)?`border-destructive`:``})}),P(`div`,{className:`col-span-1 text-center text-sm text-gray-500 RemoteFlows__DailyScheduleForm__Row__Hours`,children:n.checked&&n.hours>0?`${n.hours}h`:`-`})]},n.day))}),P(`div`,{className:`rounded-lg border p-4 RemoteFlows__DailyScheduleForm__Preview`,children:P(k,{days:e.unsavedSummaryDays,subtractBreaksFromWorkHours:n})}),P(Le,{error:e.hoursRangeError}),e.formError?P(`p`,{className:`text-destructive text-sm mb-0`,children:e.formError}):null,!e.formError&&e.hasFieldErrors&&P(`p`,{className:`text-destructive text-sm mb-0`,children:`Please check the form for errors. Time fields must use HH:mm format (e.g., 09:00), and all checked days must have start time, end time, and break duration filled in.`}),F(`div`,{className:`flex items-center gap-4 pt-4`,children:[e.isDirty&&F(f,{type:`button`,variant:`ghost`,className:`gap-2 RemoteFlows__DailyScheduleForm__ResetButton`,onClick:t.reset,children:[P(qe,{className:`h-4 w-4`}),`Reset to default`]}),F(`div`,{className:`flex gap-4 ml-auto`,children:[P(f,{type:`button`,variant:`outline`,onClick:i,children:`Cancel`}),P(f,{type:`button`,onClick:async()=>{await t.save(),t.validate()&&r()},disabled:!!e.hoursRangeError,children:`Save schedule`})]})]})]})},lt=({summaryDays:e,subtractBreaksFromWorkHours:t,savedScheduleHoursError:n,editBag:r})=>F(`div`,{className:`flex flex-col gap-3 RemoteFlows__DailySchedule`,children:[F(`div`,{className:`flex items-center gap-2 RemoteFlows__DailySchedule__Header`,children:[P(`p`,{className:`text-sm font-medium RemoteFlows__DailySchedule__Title`,children:`Daily schedule`}),P(S,{variant:`secondary`,className:`RemoteFlows__DailySchedule__Badge`,children:`customized hours (employee's timezone)`})]}),F(`div`,{className:`flex flex-col gap-1 RemoteFlows__DailySchedule__Summary`,children:[P(k,{days:e,subtractBreaksFromWorkHours:t}),P(Le,{error:n}),P(ot,{onClose:r.actions.close,children:P(ct,{...r,subtractBreaksFromWorkHours:t})})]})]}),ut={employment_basic_information:`basic_information`,contract_details:`contract_details`},dt={select_country:null,basic_information:`employment_basic_information`,engagement_agreement_details:null,contract_details:`contract_details`,benefits:null,employment_agreement_preview:null,review:null},ft=({isLoadingBasicInformationForm:e,isLoadingContractDetailsForm:t,isLoadingContractDetailsFormV1:n,isLoadingEngagementAgreementDetails:r,isLoadingEmploymentAgreementPreview:i,isLoadingEmploymentEngagementAgreementDetails:a,isLoadingEmployment:o,isLoadingBenefitsOffersSchema:s,isLoadingBenefitOffers:c,isLoadingCompany:l,isLoadingCountries:u,employmentStatus:d,employmentId:f,currentStepName:p,basicInformationFields:m,contractDetailsFields:h,arePreOnboardingRequirementsFulfilled:g,isLoadingOnboardingReservesStatus:_,isLoadingPreOnboardingRequirements:v,shouldFreezeEmploymentData:y})=>{let b=e||t||r||a||o||s||c||l||u||i||n||v||_,x=d&&te.includes(d)||y,ee=d&&!w.includes(d)&&g,S=!!(f&&x&&p!==`review`);return{isLoading:b||S,isNavigatingToReview:!!(S&&!b&&m.length>0&&h.length>0),isEmploymentReadOnly:x,canInvite:ee}},pt=({countryCode:e,query:t,enabled:n,jsonSchemaVersion:r,jsfModify:i})=>{let a=M(()=>({queryOptions:{enabled:n},transformMoneyFields:!1,jsfModify:i}),[n,i]),{data:o,isLoading:s}=ce({countryCode:e,query:t,options:a,jsonSchemaVersion:r});return{form:o,isLoading:s}},mt=({employmentId:t,companyId:r,countryCode:s,type:c,options:l,skipSteps:u,externalId:d,partnerExternalId:f,initialValues:p})=>{let{updateErrorContext:m}=ze({flow:`onboarding`,metadata:{employmentId:t,companyId:r,isUpdating:!!t}}),[,h]=N(0),[g,_]=N(t),[v,y]=N(s||null),[b,x]=N(!1),[ee,S]=N(!1),C=l?.features?.includes(`dynamic_steps`)??!1,te=l?.features?.includes(`split_salary_description`)??!1,w=!!(l?.features?.includes(`ea_preview`)&&ee),{steps:ce,stepsArray:le}=M(()=>oe({includeSelectCountry:!u?.includes(`select_country`),includeEngagementAgreementDetails:b,useDynamicSteps:C,useEAPreview:w}),[b,u,C,w]),pe=Ve(e=>{m({step:e.name})},[m]),{fieldValues:E,stepState:D,setFieldValues:ye,previousStep:Se,nextStep:Ce,goToStep:De,setStepValues:Oe}=je(ce,pe),{data:ke,isLoading:Me}=fe(g,{enabled:!!(g&&l?.features?.includes(`dynamic_steps`))}),Ne=M(()=>({...p,...ke,...D.values?.engagement_agreement_details,...E}),[ke,p,D.values?.engagement_agreement_details,E]),{data:O,isLoading:Pe}=me(v,Ne,{jsfModify:l?.jsfModify,queryOptions:{enabled:!!(v&&l?.features?.includes(`dynamic_steps`))},jsonSchemaVersion:ge(l)});Ue(()=>{let e=!!(O?.fields&&O.fields.length>0);e!==b&&x(e)},[O?.fields,b]);let k=Ge({select_country:{},basic_information:{},contract_details:{},benefits:{},engagement_agreement_details:{},employment_agreement_preview:{}}),{data:A,isLoading:Fe,refetch:Ie}=Ae({employmentId:g,queryParams:{exclude_files:!0}});t&&A?.country?.code&&!v&&y(A.country.code);let{data:Le,isLoading:Re}=ve(g),{data:j,isLoading:Be,refetch:He}=he(r),We=l?.features?.includes(`onboarding_reserves`)&&D.currentStep.name===`review`||!1,{data:Ke,isLoading:F}=_e(r,g,We),qe=!!(l?.features?.includes(`pre_onboarding_requirements`)&&g),{data:I,isLoading:L}=se(g,{queryOptions:{enabled:qe}}),Xe=!!I?.some(e=>e.freeze_employment_data),Qe=M(()=>L?!1:!I||I.length===0||I.every(e=>e.status===`finished`),[I,L]),$e=M(()=>D.currentStep.name===`select_country`||u?.includes(`select_country`)&&!!v&&C&&l?.features?.includes(`ea_preview`),[D.currentStep.name,u,v,C,l?.features]),{selectCountryForm:R,isLoading:et,countries:tt}=xe({jsfModify:l?.jsfModify?.select_country,queryOptions:{enabled:$e}}),z=M(()=>!!tt?.find(e=>e.value===v)?.employment_agreement_preview_available,[tt,v]);Ue(()=>{S(z)},[z]);let nt=!!g&&w&&D.currentStep.name===`employment_agreement_preview`,{data:it,isLoading:at}=de(g,{queryOptions:{enabled:nt}}),ot=ue(l),st=ae(v,l),ct=Ee(l),mt=ne(),ht=Te(),{mutateAsync:B}=i(ot),{mutateAsync:V}=i(st),{mutateAsync:gt}=i(ct),{mutateAsync:_t}=i(mt),{mutateAsync:vt}=i(ht),yt=dt[D.currentStep.name]||`employment_basic_information`,bt=ut[yt],xt=A?.[bt]||{},St=({form:e,options:t={},query:n={},jsonSchemaVersion:r})=>{let i=Object.keys(E).length>0?{...p,...D.values?.[D.currentStep.name],...E}:{...p,...xt};return we({countryCode:v,form:e,fieldValues:i,query:n,options:{...t,queryOptions:{enabled:t.queryOptions?.enabled??!0}},jsonSchemaVersion:r})},Ct=!(!v||D.currentStep.name!==`basic_information`&&!t),wt=!!(v&&(D.currentStep.name===`contract_details`&&!T(v)||t)),H=!(!T(v)||D.currentStep.name!==`contract_details`&&!t),{data:U,isLoading:Tt}=St({form:`employment_basic_information`,options:{jsfModify:l?.jsfModify?.basic_information,queryOptions:{enabled:Ct}},jsonSchemaVersion:re(l)}),W=l?.jsfModify?.contract_details?.fields?.annual_gross_salary,Et=W&&typeof W==`object`&&`presentation`in W?W.presentation:void 0,Dt=l?.jsfModify?.contract_details?.fields?.equity_compensation,G=l?.jsfModify?.contract_details?.fields?.daily_schedule,Ot=!!l?.features?.includes(`daily_schedule`),kt=M(()=>({fields:{annual_gross_salary:{...W,presentation:{annual_gross_salary_conversion_properties:{label:Et?.annual_gross_salary_conversion_properties?.label,description:Et?.annual_gross_salary_conversion_properties?.description},desiredCurrency:j?.desired_currency,Component:e=>P(Ye,{desiredCurrency:j?.desired_currency||``,splitDescription:te,...e})}},equity_compensation:{...Dt,presentation:{calculateDynamicProperties:(e,t)=>{let n=e.equity_compensation?.offer_equity_compensation,r=t?.meta?.cost;return{extra:P(Ze,{offerEquity:n,equityCost:r})}}}},...Ot?{daily_schedule:{...G,presentation:{...G?.[`x-jsf-presentation`],...G?.presentation,Component:e=>{let t=G?.[`x-jsf-presentation`]?.Component??G?.presentation?.Component;return P(rt,{...e,render:e=>P(t||lt,{...e})})}}}}:{}}}),[W,Et,j?.desired_currency,Dt,te,Ot,G]),At=ie(l,v),{data:K,isLoading:jt}=St({form:`contract_details`,query:{employment_id:g},options:{jsfModify:{...l?.jsfModify?.contract_details,fields:{...l?.jsfModify?.contract_details?.fields,...kt.fields}},queryOptions:{enabled:wt}},jsonSchemaVersion:At}),Mt=M(()=>({...l?.jsfModify?.contract_details,fields:{...l?.jsfModify?.contract_details?.fields,...kt.fields}}),[l?.jsfModify?.contract_details,kt.fields]),{form:q,isLoading:Nt}=pt({countryCode:v,query:{employment_id:g},enabled:H,jsonSchemaVersion:At,jsfModify:Mt}),{data:J,isLoading:Pt}=be(g,E,l),Ft=M(()=>{if(D.currentStep.name===`benefits`){let e={...D.values?.[D.currentStep.name],...E};return Je({},Le,e)}return{}},[D.currentStep.name,Le,D.values,E]),Y=M(()=>({select_country:R?.fields||[],basic_information:U?.fields||[],engagement_agreement_details:O?.fields||[],contract_details:H?q?.fields||[]:K?.fields||[],benefits:J?.fields||[],employment_agreement_preview:[],review:[]}),[R?.fields,U?.fields,K?.fields,J?.fields,O?.fields,H,q?.fields]),It=M(()=>({select_country:null,basic_information:U?.meta[`x-jsf-fieldsets`],engagement_agreement_details:O?.meta[`x-jsf-fieldsets`],contract_details:H?q?.meta[`x-jsf-fieldsets`]:K?.meta[`x-jsf-fieldsets`],benefits:null,employment_agreement_preview:null,review:null}),[U?.meta,O?.meta,H,q?.meta,K?.meta]),Lt=M(()=>({select_country:R?.meta?.[`x-jsf-presentation`],basic_information:U?.meta?.[`x-jsf-presentation`],engagement_agreement_details:O?.meta?.[`x-jsf-presentation`],contract_details:H?q?.meta?.[`x-jsf-presentation`]:K?.meta?.[`x-jsf-presentation`],benefits:J?.meta?.[`x-jsf-presentation`],employment_agreement_preview:null,review:null}),[R?.meta,U?.meta,O?.meta,H,q?.meta,K?.meta,J?.meta]),{country:Rt,basic_information:zt={},contract_details:Bt={},status:Vt}=A||{},Ht=Rt?.code,Ut=D.currentStep.name,X=M(()=>e(Y.select_country,{country:v||Ht||``}),[Y.select_country,v,Ht]),Z=M(()=>{let t={...p,...zt};return e(Y.basic_information,t)},[Y.basic_information,zt,p]),Wt=M(()=>{let t={...p,...ke};return e(Y.engagement_agreement_details,t)},[Y.engagement_agreement_details,p,ke]),Q=M(()=>{let t={...p,...Bt};return e(Y.contract_details,t)},[Y.contract_details,Bt,p]),$=M(()=>{let t={...p,...Ft};return e(Y.benefits,t)},[Y.benefits,Ft,p]),Gt=M(()=>A?{select_country:X,basic_information:o(Y.basic_information,Z),engagement_agreement_details:Wt,contract_details:A?.contract_details===null?Q:o(Y.contract_details,Q),benefits:$,employment_agreement_preview:{}}:{select_country:X,basic_information:Z,contract_details:Q,benefits:$,employment_agreement_preview:{}},[X,Z,Wt,Q,$,A,Y]),{isLoading:Kt,isNavigatingToReview:qt,isEmploymentReadOnly:Jt,canInvite:Yt}=M(()=>ft({isLoadingBasicInformationForm:Tt,isLoadingContractDetailsForm:jt,isLoadingContractDetailsFormV1:Nt,isLoadingEngagementAgreementDetails:Pe,isLoadingEmploymentEngagementAgreementDetails:Me,isLoadingEmployment:Fe,isLoadingBenefitsOffersSchema:Pt,isLoadingBenefitOffers:Re,isLoadingPreOnboardingRequirements:L,isLoadingCompany:Be,isLoadingCountries:et,isLoadingEmploymentAgreementPreview:at,employmentId:t,employmentStatus:Vt,basicInformationFields:Y.basic_information,contractDetailsFields:Y.contract_details,currentStepName:Ut,arePreOnboardingRequirementsFulfilled:Qe,isLoadingOnboardingReservesStatus:F,shouldFreezeEmploymentData:Xe}),[Tt,jt,Pe,Me,Fe,Pt,Re,L,Be,et,at,t,Vt,Y.basic_information,Y.contract_details,Ut,Qe,F,Nt,Xe]);Ue(()=>{qt&&(k.current={select_country:a(X,Y.select_country,{skipMoneyConversion:!0}),basic_information:a(Z,Y.basic_information,{skipMoneyConversion:!0}),engagement_agreement_details:a(Wt,Y.engagement_agreement_details,{skipMoneyConversion:!0}),contract_details:a(Q,Y.contract_details,{skipMoneyConversion:!0}),benefits:a($,Y.benefits,{skipMoneyConversion:!0}),employment_agreement_preview:{}},Oe({select_country:X,basic_information:Z,contract_details:Q,benefits:$,engagement_agreement_details:Wt,employment_agreement_preview:{},review:{}}),De(`review`))},[Z,$,Q,Wt,De,qt,X,Oe,Y.basic_information,Y.benefits,Y.contract_details,Y.select_country,Y.engagement_agreement_details]);let Xt=async e=>R&&D.currentStep.name===`select_country`?await n(e,R.fields,{isPartialValidation:!1}):U&&D.currentStep.name===`basic_information`?await n(e,U?.fields,{isPartialValidation:!1}):O&&D.currentStep.name===`engagement_agreement_details`?await n(e,O?.fields,{isPartialValidation:!1}):K&&D.currentStep.name===`contract_details`&&!H?await n(e,K?.fields,{isPartialValidation:!1}):q&&D.currentStep.name===`contract_details`&&H?await n(e,q?.fields,{isPartialValidation:!1}):J&&D.currentStep.name===`benefits`?await n(e,J?.fields,{isPartialValidation:!1}):{};async function Zt(e){let t=D.currentStep.name,n=await Xt(e);switch(t in k.current&&(k.current[t]=a(n,Y[t])),He(),D.currentStep.name){case`select_country`:return y(n.country),Promise.resolve({data:{countryCode:n.country}});case`basic_information`:{let e=!g&&v,t=g&&v&&A?.country&&A?.country.code!==v;if(e||t){let e={basic_information:n,type:c,country_code:v,external_id:d,partner_external_id:f};try{let t=await B(e);if(t.error)return t;if(t.data){let e=t.data?.data?.employment?.id;return e&&(_(e),await vt({employmentId:e,eligible_to_work_in_residing_country:`citizen`,employer_or_work_restrictions:!1})),t}}catch(e){throw console.error(`Error creating onboarding:`,e),e}}else if(g)return V({employmentId:g,basic_information:n,pricing_plan_details:{frequency:`monthly`},external_id:d,partner_external_id:f});return}case`engagement_agreement_details`:return _t({employmentId:g,engagement_agreement_details:n});case`contract_details`:return V({employmentId:g,external_id:d,partner_external_id:f,contract_details:n,pricing_plan_details:{frequency:`monthly`}});case`benefits`:return gt({employmentId:g,...n})}}function Qt(){Se()}function $t(){Ce()}function en(e){De(e)}let tn=Ve(async e=>{if(D.currentStep.name===`select_country`){let t=await n(e,R.fields,{isPartialValidation:!1});return R.handleValidation(t)}if(D.currentStep.name===`benefits`&&J){let t=await n(e,J?.fields,{isPartialValidation:!1});return J?.handleValidation(t)}if(U&&D.currentStep.name===`basic_information`){let t=await n(e,U?.fields,{isPartialValidation:!1});return U?.handleValidation(t)}if(O&&D.currentStep.name===`engagement_agreement_details`){let t=await n(e,O?.fields,{isPartialValidation:!1});return O?.handleValidation(t)}if(K&&D.currentStep.name===`contract_details`&&!H){let t=await n(e,K?.fields,{isPartialValidation:!1});return K?.handleValidation(t)}if(q&&D.currentStep.name===`contract_details`&&H){let t=await n(e,q?.fields,{isPartialValidation:!0}),r=q?.handleValidation(t);return h(e=>e+1),r}return null},[D,R,J,U,O,K,q,H,h]),nn=Ve(async e=>{ye(e),H&&D.currentStep.name===`contract_details`&&await tn(e)},[ye,H,D,tn]);return{employmentId:g,options:{features:l?.features},creditRiskStatus:j?.default_legal_entity_credit_risk_status,onboardingReservesStatus:Ke,fieldValues:E,stepState:D,fields:Y[D.currentStep.name],isLoading:Kt,isSubmitting:ot.isPending||st.isPending||ct.isPending||mt.isPending||ht.isPending,initialValues:Gt,handleValidation:tn,checkFieldUpdates:nn,parseFormValues:Xt,onSubmit:Zt,back:Qt,next:$t,goTo:en,meta:{fields:k.current,fieldsets:It[D.currentStep.name],presentation:Lt[D.currentStep.name]},refetchEmployment:Ie,employment:A,isEmploymentReadOnly:Jt,canInvite:Yt,steps:le,selectedCountry:v?{code:v,name:Rt?.name}:null,employmentAgreementPreview:it}},ht=j({formId:void 0,onboardingBag:null,creditScore:{showReserveInvoice:!1,showInviteSuccessful:!1},setCreditScore:()=>{}}),B=()=>{let e=He(ht);if(!e.formId||!e.onboardingBag)throw Error(`useOnboardingContext must be used within a OnboardingContextProvider`);return{formId:e.formId,onboardingBag:e.onboardingBag,creditScore:e.creditScore,setCreditScore:e.setCreditScore}};function V({defaultValues:e,onSubmit:t,components:n}){let{formId:r,onboardingBag:i}=B(),a=ke({handleValidation:i.handleValidation,defaultValues:e,checkFieldUpdates:i.checkFieldUpdates});Ue(()=>{i.employmentId&&i?.checkFieldUpdates(a.getValues())},[]);let o=async(e,n)=>{let r=n?.nativeEvent;if(r?.isDraftSubmission){let{onSuccess:t,onError:n}=r.draftCallbacks;try{let r=await i.onSubmit(e);if(r?.data)t?.();else if(r?.error){let e=i.stepState.currentStep.name,t=i.meta?.fields?.[e],a=p(r?.fieldErrors||[],t);n?.({error:r.error,rawError:r.rawError,fieldErrors:a})}}catch(e){n?.({error:e,rawError:e,fieldErrors:[]})}}else await t(e)};return Be(d,{...a,key:`form-${i.stepState.currentStep.name}`},P(`form`,{id:r,onSubmit:a.handleSubmit(o),className:`space-y-4 RemoteFlows__OnboardingForm`,children:P(C,{components:n,fields:i.fields,fieldsets:i.meta.fieldsets,fieldValues:i.fieldValues})}))}function gt({onSubmit:e,onSuccess:t,onError:n}){let{onboardingBag:r}=B(),i=async i=>{try{let a=await r.parseFormValues(i);await e?.(a);let o=await r.onSubmit(i);if(o?.data){await t?.(o?.data),r?.next();return}if(o?.error){let e=p(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:e})}}catch(e){n?.({error:e,rawError:e,fieldErrors:[]})}},a=r.stepState.values?.basic_information||r.initialValues.basic_information;return P(V,{defaultValues:a,onSubmit:i})}function _t({children:e,...t}){let{formId:n,onboardingBag:r}=B(),{components:i}=h(),a=i?.button;if(!a)throw Error(`Button component not found`);return P(a,{...t,form:n,disabled:t.disabled||r.isSubmitting,children:e})}function vt({children:e,onClick:t,...n}){let{onboardingBag:{back:r,isEmploymentReadOnly:i}}=B(),{components:a}=h(),o=e=>{i||r(),t?.(e)},s=a?.button;if(!s)throw Error(`Button component not found`);return P(s,{...n,onClick:o,children:e})}function yt({onSubmit:e,onSuccess:t,onError:n,render:r,...a}){let{components:o}=h(),{onboardingBag:s,setCreditScore:c}=B(),l=ye(),u=Ce(),{mutateAsync:d}=i(l),{mutateAsync:f}=i(u),p=!(s.creditRiskStatus!==`deposit_required`&&s.onboardingReservesStatus!==`deposit_required`||!s.employment?.status||E.includes(s.employment.status)),m=!!(p&&s.canInvite),g=async()=>{try{if(await e?.(),m&&s.employmentId){let e=await f({employment_slug:s.employmentId});if(e.data){await t?.({data:e.data,employmentStatus:`created_awaiting_reserve`}),c?.(e=>({...e,showReserveInvoice:!0})),s.refetchEmployment();return}e.error&&n?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}else if(s.employmentId){let e=await d({employment_id:s.employmentId});if(e.data){await t?.({data:e.data,employmentStatus:`invited`}),c?.(e=>({...e,showInviteSuccessful:!0})),s.refetchEmployment();return}e.error&&n?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}}catch(e){n?.({error:e,rawError:e,fieldErrors:[]})}},_=o?.button;if(!_)throw Error(`Button component not found`);let v=!s.canInvite||l.isPending||u.isPending||a.disabled;return P(_,{...a,disabled:v,onClick:e=>{g(),a.onClick?.(e)},children:r({employmentStatus:p?`created_awaiting_reserve`:`invited`})})}function bt({onSubmit:e,onError:t,onSuccess:n}){let{onboardingBag:r}=B();return P(V,{defaultValues:r.stepState.values?.contract_details||r.initialValues.contract_details,onSubmit:async i=>{try{let a=await r.parseFormValues(i);await e?.(a);let o=await r.onSubmit(i);if(o?.data){await n?.(o.data),r?.next();return}if(o?.error){let e=p(o?.fieldErrors||[],r.meta?.fields?.contract_details);t?.({error:o.error,rawError:o.rawError,fieldErrors:e})}}catch(e){t?.({error:e,rawError:e,fieldErrors:[]})}}})}function xt({components:t,onSubmit:n,onError:r,onSuccess:i}){let{onboardingBag:a}=B(),o=a.fields??[],s=e(o,a.initialValues.benefits);return P(V,{defaultValues:s,components:t,onSubmit:async e=>{try{await n?.(e);let t=await a.onSubmit(e);if(t?.data){await i?.(t.data),a?.next();return}if(t?.error){let e=p(t?.fieldErrors||[],a.meta?.fields?.benefits);r?.({error:t.error,rawError:t.rawError,fieldErrors:e})}}catch(e){r?.({error:e,rawError:e,fieldErrors:[]})}}})}function St({onSubmit:e,onSuccess:t,onError:n}){let{onboardingBag:r}=B(),i=async i=>{try{await e?.({countryCode:i.country});let a=await r.onSubmit(i);if(a?.data){await t?.(a?.data),r?.next();return}a?.error&&n?.({error:a.error,rawError:a.rawError,fieldErrors:[]})}catch(e){n?.({error:e,rawError:e,fieldErrors:[]})}},a=r.stepState.values?.select_country||r.initialValues.select_country;return P(V,{defaultValues:a,onSubmit:i})}const Ct=[`invited`,`created_reserve_paid`],wt=[`deposit_required`,`referred`];function H({render:e}){let{onboardingBag:t,creditScore:n}=B(),r=t.creditRiskStatus===`deposit_required`,i=t.onboardingReservesStatus===`deposit_required`,a=r||i,o=t.creditRiskStatus===`referred`,s=t.employment?.status&&Ct.includes(t.employment.status),c=t.creditRiskStatus&&wt.includes(t.creditRiskStatus),l=a&&t.employment?.status&&!s,u=!a&&t.creditRiskStatus&&!c||t.employment?.status&&s;return e({creditRiskState:o?`referred`:l?n.showReserveInvoice?`deposit_required_successful`:`deposit_required`:u?n.showInviteSuccessful?`invite_successful`:`invite`:null,creditRiskStatus:t.creditRiskStatus})}const U=({onSuccess:e,onError:t,className:n,children:r,disabled:i=!1,...a})=>{let{onboardingBag:o,formId:s}=B(),{components:c}=h(),l=async()=>{let n=document.getElementById(s);if(n){let r=new Event(`submit`,{bubbles:!0,cancelable:!0});r.isDraftSubmission=!0,r.draftCallbacks={onSuccess:e,onError:t},n.dispatchEvent(r)}},u=c?.button;if(!u)throw Error(`Button component not found`);return P(u,{...a,onClick:l,disabled:i||o.isSubmitting,className:n,children:r})};function Tt({onSubmit:e,onSuccess:t,onError:n}){let{onboardingBag:r}=B(),i=async i=>{try{let a=await r.parseFormValues(i);await e?.(a);let o=await r.onSubmit(i);if(o?.data){await t?.(o?.data),r?.next();return}if(o?.error){let e=p(o?.fieldErrors||[],r.meta?.fields?.engagement_agreement_details);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:e})}}catch(e){n?.({error:e,rawError:e,fieldErrors:[]})}},a=r.stepState.values?.engagement_agreement_details||r.initialValues.engagement_agreement_details;return P(V,{defaultValues:a,onSubmit:i})}const W=({employmentId:e})=>{let{onboardingBag:t}=B(),[n,r]=N({}),[a,o]=N(),s=!!(t.options?.features?.includes(`pre_onboarding_requirements`)&&e),{data:c,isLoading:l,refetch:u}=se(e,{queryOptions:{enabled:s}}),d=new Map;for(let e of c??[])e.depends_on_requirement&&d.set(e.depends_on_requirement.slug,e);let f=a?n[a]:void 0,{data:p,isLoading:m}=pe(e,f,{queryOptions:{enabled:!!f}}),h=D(),g=le(),_=Se(),v=De(),{mutateAsyncOrThrow:y}=i(h),{mutateAsyncOrThrow:b}=i(g),{mutateAsyncOrThrow:x}=i(_),{mutateAsyncOrThrow:ee}=i(v),S=async t=>{let i=c?.find(e=>e.slug===t);if(i?.status===`blocked`){let e=i.depends_on_requirement?.name;throw Error(`Cannot create document for blocked requirement. ${e?`${e} must be completed first.`:`A dependent requirement must be completed first.`}`)}let a=n[t];if(o(t),a)return null;let s=await y({employmentId:e,body:{requirement_slug:t,employment_id:e}}),l=s?.data.pre_onboarding_document.id;return l&&r(e=>({...e,[t]:l})),s},C=async t=>{let n=c?.find(e=>e.slug===t),r=n?.status===`blocked`,i=ne(t);if(r){let e=n?.depends_on_requirement?.name;throw Error(`Cannot acknowledge blocked requirement. ${e?`${e} must be completed first.`:`A dependent requirement must be completed first.`}`)}if(i)throw Error(`Cannot uncheck this acknowledgement because other requirements depend on it and are already in progress or completed.`);if(w)throw Error(`Cannot acknowledge requirement while pending acknowledgement`);n?.status===`finished`?await ee({employmentId:e,requirementSlug:t}):await x({employmentId:e,requirementSlug:t}),await u()},te=async t=>{if(!a)throw Error(`No active requirement selected`);let r=n[a];if(!r)throw Error(`No document to sign`);if(!t)throw Error(`Signature is required`);let i=await b({employmentId:e,documentId:r,signature:t});return await u(),i},ne=e=>d.get(e)?.status===`finished`,re=e=>a===e&&(h.isPending||m),w=_.isPending||v.isPending;return{requirements:c,isLoadingRequirements:l,documentPreview:p,isSigning:g.isPending,onCreateDocument:S,onSignDocument:te,onAcknowledgeRequirement:C,isPendingAcknowledgement:w,isAckLocked:ne,isRequirementLoading:re}},Et=({render:e})=>{let{onboardingBag:t}=B();return e(W({employmentId:t.employmentId}))};function Dt(){let{onboardingBag:e}=B();return P(V,{defaultValues:{},onSubmit:async()=>{e?.next()}})}const G=({employmentId:e,companyId:t,countryCode:n,type:r=`employee`,externalId:i,partnerExternalId:a,skipSteps:o,initialValues:s,render:c,options:l})=>{let u=We(),d=mt({companyId:t,countryCode:n,employmentId:e,type:r,options:l,skipSteps:o,externalId:i,partnerExternalId:a,initialValues:s}),[f,p]=N({showReserveInvoice:!1,showInviteSuccessful:!1});return P(ht.Provider,{value:{formId:u,onboardingBag:d,creditScore:f,setCreditScore:p},children:c({onboardingBag:d,components:{BasicInformationStep:gt,EngagementAgreementDetailsStep:Tt,ContractDetailsStep:bt,BenefitsStep:xt,SubmitButton:_t,SaveDraftButton:U,BackButton:vt,OnboardingInvite:yt,SelectCountryStep:St,ReviewStep:H,PreOnboardingRequirements:Et,PreviewEmploymentAgreementStep:Dt}})})},Ot=()=>F(Ke,{children:[P(`div`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__InfoBox`),children:P(`p`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__InfoBoxText`),children:`You are previewing a draft version of our employment agreement template for this specific hire in this specific country, based on the selections you made on the previous screens.`})}),P(`p`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__Description`),children:`Remote's agreements are drafted by local employment and labor law experts to ensure compliance, balance, and efficiency.`}),F(`div`,{children:[P(`p`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__WarningTitle`),children:`We strongly discourage customizations or redlining.`}),P(`p`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__Description`),children:`Modifying agreements can:`}),F(`ul`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__List list-disc list-inside`),children:[P(`li`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__ListItem`),children:`Create compliance risks`}),P(`li`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__ListItem`),children:`Jeopardize enforceability`}),P(`li`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__ListItem`),children:`Increase the risk of misemployment`})]})]}),P(`p`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__Description`),children:`If you have questions or believe a change is necessary, please do not invite the employee. Instead, save this invitation as a draft and contact your Account Executive or Customer Success Manager at Remote.`}),F(`p`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__Description`),children:[`If neither is available, please reach out to`,` `,P(`a`,{href:`mailto:help@remote.com`,className:t(`RemoteFlows__EmploymentAgreementInfoContent__Link`),target:`_blank`,rel:`noopener noreferrer`,children:`help@remote.com ↗`}),`. Our Legal team will review and, where possible, align your needs with local compliance requirements, before inviting the employee, ensuring a smooth onboarding process.`]}),F(`p`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__Description`),children:[`For guidance, see our`,` `,P(`a`,{className:t(`RemoteFlows__EmploymentAgreementInfoContent__Link`),href:l(u.employmentAgreements),target:`_blank`,rel:`noopener noreferrer`,children:`Agreement Engagement Guide ↗`}),` `,`to understand what can (and can't) be modified.`]})]});export{rt as i,G as n,st as r,Ot as t};
|
|
2
|
+
//# sourceMappingURL=Onboarding-axVT9XVh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Onboarding-axVT9XVh.js","names":["useJSONSchemaForm"],"sources":["../src/flows/Onboarding/components/AnnualGrossSalary.tsx","../src/flows/Onboarding/components/EquityPriceDetails.tsx","../src/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.tsx","../src/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.tsx","../src/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.tsx","../src/flows/Onboarding/components/DailySchedule/constants.ts","../src/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.tsx","../src/flows/Onboarding/components/DailySchedule/DailySchedule.tsx","../src/flows/Onboarding/hooks.tsx","../src/flows/Onboarding/context.ts","../src/flows/Onboarding/components/OnboardingForm.tsx","../src/flows/Onboarding/components/BasicInformationStep.tsx","../src/flows/Onboarding/components/OnboardingSubmit.tsx","../src/flows/Onboarding/components/OnboardingBack.tsx","../src/flows/Onboarding/components/OnboardingInvite.tsx","../src/flows/Onboarding/components/ContractDetailsStep.tsx","../src/flows/Onboarding/components/BenefitsStep.tsx","../src/flows/Onboarding/components/SelectCountryStep.tsx","../src/flows/Onboarding/components/ReviewStep.tsx","../src/flows/Onboarding/components/SaveDraftButton.tsx","../src/flows/Onboarding/components/EngagementAgreementDetailsStep.tsx","../src/flows/Onboarding/components/PreOnboardingRequirements.tsx","../src/flows/Onboarding/components/PreviewEmploymentAgreementStep.tsx","../src/flows/Onboarding/OnboardingFlow.tsx","../src/flows/Onboarding/components/EmploymentAgreementInfoContent.tsx"],"sourcesContent":["import { CurrencyConversionField } from '@/src/components/form/fields/CurrencyConversionField';\nimport { JSFField } from '@/src/types/remoteFlows';\n\ntype AnnualGrossSalaryProps = JSFField & {\n currency: string;\n desiredCurrency: string;\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n splitDescription?: boolean;\n};\n\nexport const AnnualGrossSalary = ({\n currency,\n desiredCurrency,\n annual_gross_salary_conversion_properties,\n splitDescription,\n ...props\n}: AnnualGrossSalaryProps) => {\n return (\n <CurrencyConversionField\n {...props}\n sourceCurrency={currency}\n targetCurrency={desiredCurrency}\n splitDescription={splitDescription}\n conversionFieldName='annual_gross_salary_conversion'\n conversionProperties={{\n ...annual_gross_salary_conversion_properties,\n description:\n annual_gross_salary_conversion_properties?.description ||\n 'Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time.',\n }}\n classNamePrefix='RemoteFlows-AnnualGrossSalary'\n conversionType='no_spread'\n />\n );\n};\n","const formatMoney = (amount: number, currency: string) => {\n return `${amount} ${currency}`;\n};\n\ntype Cost = {\n currency: string;\n amount: number;\n};\n\ntype EquityPriceDetailsProps = {\n offerEquity: 'yes' | 'no' | null;\n equityCost?: {\n original: Cost;\n discount?: Cost;\n\n calculated?: Cost;\n };\n};\n\nexport const EquityPriceDetails = ({\n offerEquity,\n equityCost,\n}: EquityPriceDetailsProps) => {\n const offersEquity = offerEquity === 'yes';\n const isFeeWaived = !!equityCost?.discount;\n const formattedWaivedPrice =\n equityCost && equityCost.original\n ? formatMoney(equityCost.original.amount, equityCost.original.currency)\n : null;\n const formattedPrice =\n equityCost && equityCost.calculated\n ? formatMoney(\n equityCost.calculated.amount,\n equityCost.calculated.currency,\n )\n : null;\n\n if (!offersEquity || !equityCost) {\n return null;\n }\n\n return (\n <div className='RemoteFlows__EquityPriceDetails'>\n <span className='RemoteFlows__Equity__Price'>\n A monthly fee of{' '}\n <strong>\n {isFeeWaived ? (\n <>\n <s>{formattedWaivedPrice}</s> {formattedPrice}\n </>\n ) : (\n formattedPrice\n )}{' '}\n will apply.\n </strong>\n </span>\n <span className='RemoteFlows__Equity__Fee'>\n This is a fee for managing equity through Remote.\n </span>\n <span className='RemoteFlows__Equity__Reporting'>\n To fulfill local reporting obligations, Remote must note any equity\n grants made and any related taxable events, such as exercising stock\n options and RSU vesting.\n </span>\n </div>\n );\n};\n","import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useFieldArray, useForm } from 'react-hook-form';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { z } from 'zod';\n\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n DailyScheduleValue,\n DailyScheduleSummaryDay,\n Weekday,\n DailyScheduleDefaultDay,\n WorkHoursRange,\n DailyScheduleEditBag,\n DailyScheduleEditFormRow,\n} from '@/src/flows/Onboarding/components/DailySchedule/types';\nimport {\n calculateTotalWeeklyHours,\n calculateWorkingHours,\n getDailyScheduleHoursError,\n resolveDailyScheduleValue,\n TIME_PATTERN,\n} from '@/src/flows/Onboarding/components/DailySchedule/utils';\n\n/** Internal form data type - rows without calculated hours */\ntype DailyScheduleEditFormRowInternal = Omit<DailyScheduleEditFormRow, 'hours'>;\n\nexport type DailyScheduleEditFormData = {\n schedule: DailyScheduleEditFormRowInternal[];\n};\n\nconst dayRowSchema = z\n .object({\n day: z.string().min(1),\n checked: z.boolean(),\n start_time: z.string().optional().nullable(),\n end_time: z.string().optional().nullable(),\n break_duration_minutes: z.string().optional().nullable(),\n })\n .superRefine((row, ctx) => {\n if (!row.checked) {\n return;\n }\n for (const field of ['start_time', 'end_time'] as const) {\n const value = row[field];\n if (value && !TIME_PATTERN.test(value)) {\n ctx.addIssue({\n code: 'custom',\n path: [field],\n message: 'Invalid time format (HH:mm)',\n });\n } else if (row.checked && !value) {\n ctx.addIssue({ code: 'custom', path: [field], message: 'Required' });\n }\n }\n\n if (row.checked) {\n if (!row.break_duration_minutes) {\n ctx.addIssue({\n code: 'custom',\n path: ['break_duration_minutes'],\n message: 'Required',\n });\n } else if (!/^\\d+$/.test(row.break_duration_minutes)) {\n ctx.addIssue({\n code: 'custom',\n path: ['break_duration_minutes'],\n message: 'Must be a whole number of minutes',\n });\n }\n }\n });\n\n/** What counts as a valid `daily_schedule` edit — the library's call, not the consumer's. */\nexport const dailyScheduleEditFormSchema = z.object({\n schedule: z\n .array(dayRowSchema)\n .refine((rows) => rows.some((row) => row.checked), {\n message: 'Select at least one work day',\n }),\n});\n\ntype BuildDailyScheduleEditFormDefaultValuesOptions = {\n availableWorkDays: Weekday[];\n defaultSchedule: DailyScheduleDefaultDay[];\n defaultStartTime: string;\n defaultEndTime: string;\n defaultBreakDurationMinutes: number;\n value: DailyScheduleValue | undefined;\n};\n\nexport function buildDailyScheduleEditFormDefaultValues({\n availableWorkDays,\n defaultSchedule,\n defaultStartTime,\n defaultEndTime,\n defaultBreakDurationMinutes,\n value,\n}: BuildDailyScheduleEditFormDefaultValuesOptions): DailyScheduleEditFormRowInternal[] {\n const { schedule, selected_days: selectedDays } = resolveDailyScheduleValue({\n value,\n defaultSchedule,\n });\n\n return availableWorkDays.map((day) => {\n const daySchedule = schedule[day];\n\n return {\n day,\n checked: selectedDays.includes(day),\n start_time: daySchedule?.start_time ?? defaultStartTime,\n end_time: daySchedule?.end_time ?? defaultEndTime,\n break_duration_minutes: String(\n daySchedule?.break_duration_minutes ?? defaultBreakDurationMinutes,\n ),\n };\n });\n}\n\n/**\n * True when `rows` matches the metadata-driven default schedule — ported from\n * Dragon's `compareSchedules`/`dirty` tracking (`workScheduleFieldReducer.js`),\n * which only shows its \"Reset to default\" button once the schedule actually\n * deviates from the default, rather than showing it unconditionally.\n */\nfunction isDefaultSchedule(\n rows: DailyScheduleEditFormRowInternal[],\n defaultRows: DailyScheduleEditFormRowInternal[],\n): boolean {\n return rows.every((row, index) => {\n const defaultRow = defaultRows[index];\n\n if (row.checked !== defaultRow.checked) {\n return false;\n }\n\n if (!row.checked) {\n return true;\n }\n\n return (\n row.start_time === defaultRow.start_time &&\n row.end_time === defaultRow.end_time &&\n row.break_duration_minutes === defaultRow.break_duration_minutes\n );\n });\n}\n\n/** The single write-back shape Tiger expects, built from a validated edit-form submission. */\nexport function mapDailyScheduleEditFormDataToValue(\n data: DailyScheduleEditFormData,\n): DailyScheduleValue {\n const selectedRows = data.schedule.filter((row) => row.checked);\n\n return {\n selected_days: selectedRows.map((row) => row.day),\n schedule: selectedRows.reduce(\n (acc, row) => ({\n ...acc,\n [row.day]: {\n start_time: row.start_time,\n end_time: row.end_time,\n break_duration_minutes: Number(row.break_duration_minutes),\n },\n }),\n {},\n ),\n };\n}\n\nexport type UseDailyScheduleEditFormOptions = {\n availableWorkDays: Weekday[];\n defaultSchedule: DailyScheduleDefaultDay[];\n defaultStartTime: string;\n defaultEndTime: string;\n defaultBreakDurationMinutes: number;\n value: DailyScheduleValue | undefined;\n setValue: (value: DailyScheduleValue) => void;\n subtractBreaksFromWorkHours?: boolean;\n workHoursBounds?: WorkHoursRange;\n workSchedule?: string;\n countryName?: string;\n};\n\n/** Framework-agnostic validation result */\ntype ValidationResult =\n | { valid: true }\n | {\n valid: false;\n formError?: string;\n hasFieldErrors: boolean;\n fieldErrors: Map<string, string>; // \"schedule.0.start_time\" -> error message\n };\n\n/**\n * Framework-agnostic validation using the Zod schema directly.\n * Returns validation result that both RHF and custom implementations can use.\n */\nfunction validateSchedule(\n rows: DailyScheduleEditFormRowInternal[],\n): ValidationResult {\n const result = dailyScheduleEditFormSchema.safeParse({ schedule: rows });\n\n if (result.success) {\n return { valid: true };\n }\n\n // Extract selection error (array-level validation)\n const formError = result.error.issues.find(\n (issue) => issue.path[0] === 'schedule' && issue.path.length === 1,\n )?.message;\n\n // Build a map of field-level errors\n const fieldErrors = new Map<string, string>();\n result.error.issues.forEach((issue) => {\n // schedule[index].field - we want field-level errors only\n if (issue.path.length === 3 && issue.path[0] === 'schedule') {\n const index = issue.path[1];\n const field = issue.path[2];\n // Ensure index and field are strings/numbers, not symbols\n if (typeof index === 'number' && typeof field === 'string') {\n const key = `schedule.${index}.${field}`;\n fieldErrors.set(key, issue.message);\n }\n }\n });\n\n const hasFieldErrors = fieldErrors.size > 0;\n\n return { valid: false, formError, hasFieldErrors, fieldErrors };\n}\n\n/**\n * Headless edit-form for `daily_schedule`: react-hook-form + the library's\n * own validation rules + the save mapping, ready for any UI to bind to.\n */\nexport function useDailyScheduleEditForm({\n availableWorkDays,\n defaultSchedule,\n defaultStartTime,\n defaultEndTime,\n defaultBreakDurationMinutes,\n subtractBreaksFromWorkHours = false,\n workHoursBounds,\n workSchedule,\n countryName,\n value,\n setValue,\n}: UseDailyScheduleEditFormOptions): DailyScheduleEditBag {\n // Memoize to prevent rebuilding on every render, which would cause\n const savedScheduleRows = useMemo(\n () =>\n buildDailyScheduleEditFormDefaultValues({\n availableWorkDays,\n defaultSchedule,\n defaultStartTime,\n defaultEndTime,\n defaultBreakDurationMinutes,\n value,\n }),\n [\n availableWorkDays,\n defaultSchedule,\n defaultStartTime,\n defaultEndTime,\n defaultBreakDurationMinutes,\n value,\n ],\n );\n\n const form = useForm<DailyScheduleEditFormData>({\n mode: 'onBlur',\n defaultValues: {\n schedule: savedScheduleRows,\n },\n resolver: zodResolver(dailyScheduleEditFormSchema) as $TSFixMe,\n });\n\n const { control } = form;\n useFieldArray({ name: 'schedule', control });\n const { watch, setValue: setFormValue } = form;\n const watchedSchedule = watch('schedule');\n\n // Export a manual save function that form components can call with their own onSuccess\n const saveValue = (data: DailyScheduleEditFormData) => {\n setValue(mapDailyScheduleEditFormDataToValue(data));\n form.reset(data);\n };\n\n // Discards any unsaved edits by resetting the form back to the last saved\n // schedule. Wired to every way of closing the dialog without saving\n // (Cancel, overlay click, Escape, the close button) so reopening the\n // dialog never shows stale, discarded edits.\n const handleClose = () => {\n form.reset({ schedule: savedScheduleRows });\n setValidationResult(validateSchedule(savedScheduleRows));\n };\n\n const defaultScheduleRows = buildDailyScheduleEditFormDefaultValues({\n availableWorkDays,\n defaultSchedule,\n defaultStartTime,\n defaultEndTime,\n defaultBreakDurationMinutes,\n value: undefined,\n });\n\n // Resets the form to the metadata-driven default schedule, discarding both\n // the saved `value` and any unsaved edits.\n const handleReset = () => {\n form.reset({ schedule: defaultScheduleRows });\n setValidationResult(validateSchedule(defaultScheduleRows));\n };\n\n const formValues = watch('schedule');\n\n const isDirty = !isDefaultSchedule(formValues, defaultScheduleRows);\n\n // Same \"checked rows -> summary days\" shape the read-only summary and the\n // edit modal's live preview both build from, kept here so `hoursError`\n // reflects the schedule as the user is actively editing it.\n const unsavedSummaryDays: DailyScheduleSummaryDay[] = watchedSchedule\n .filter((row) => row.checked)\n .map((row) => ({\n day: row.day,\n start_time: row.start_time,\n end_time: row.end_time,\n break_duration_minutes: Number(row.break_duration_minutes) || 0,\n }));\n\n const totalWeeklyHours = calculateTotalWeeklyHours(\n unsavedSummaryDays,\n subtractBreaksFromWorkHours,\n );\n\n const hasIncompleteOrInvalidTimes = unsavedSummaryDays.some(\n (day) =>\n !TIME_PATTERN.test(day.start_time) || !TIME_PATTERN.test(day.end_time),\n );\n\n const hoursRangeError =\n workHoursBounds && countryName && !hasIncompleteOrInvalidTimes\n ? getDailyScheduleHoursError({\n totalWeeklyHours,\n workHoursBounds,\n countryName,\n workSchedule,\n })\n : null;\n\n // Framework-agnostic validation - stored in state and only updated onBlur or when external values change\n const [validationResult, setValidationResult] = useState<ValidationResult>(\n () => validateSchedule(savedScheduleRows),\n );\n\n // Validate when external value prop changes\n // Now that savedScheduleRows is memoized, this effect only runs when\n // savedScheduleRows actually changes (not on every render)\n useEffect(() => {\n setValidationResult(validateSchedule(savedScheduleRows));\n }, [savedScheduleRows]);\n\n // Validate onBlur - consumers call this from field onBlur handlers\n const handleBlur = useCallback(() => {\n setValidationResult(validateSchedule(watchedSchedule));\n }, [watchedSchedule]);\n\n const formError = validationResult.valid\n ? null\n : (validationResult.formError ?? null);\n const hasFieldErrors = validationResult.valid\n ? false\n : validationResult.hasFieldErrors;\n const fieldErrors = validationResult.valid\n ? new Map<string, string>()\n : validationResult.fieldErrors;\n\n // Enrich rows with calculated hours for display\n const rowsWithHours: DailyScheduleEditFormRow[] = watchedSchedule.map(\n (row) => {\n const hours = calculateWorkingHours(\n row.start_time,\n row.end_time,\n subtractBreaksFromWorkHours\n ? Number(row.break_duration_minutes) || 0\n : 0,\n );\n\n return {\n ...row,\n hours: Number.isNaN(hours) ? 0 : hours,\n };\n },\n );\n\n // Helper to check if a specific field has an error\n const getFieldError = (\n index: number,\n field: keyof Omit<DailyScheduleEditFormRow, 'hours'>,\n ) => {\n return fieldErrors.get(`schedule.${index}.${field}`);\n };\n\n // Return the stable public API - framework-agnostic\n return {\n state: {\n rows: rowsWithHours,\n unsavedSummaryDays,\n hoursRangeError,\n isDirty,\n formError,\n hasFieldErrors,\n getFieldError,\n },\n actions: {\n updateRow: (\n index: number,\n field: keyof Omit<DailyScheduleEditFormRow, 'hours'>,\n value: unknown,\n ) => {\n setFormValue(`schedule.${index}.${field}` as $TSFixMe, value);\n },\n toggleDay: (index: number) => {\n const currentValue = watchedSchedule[index]?.checked;\n setFormValue(`schedule.${index}.checked`, !currentValue);\n // Validate immediately after toggling to update error state\n // This ensures errors are cleared/shown when checking/unchecking days\n // Compute the next schedule state with the toggled value\n const nextSchedule = watchedSchedule.map((row, i) =>\n i === index ? { ...row, checked: !currentValue } : row,\n );\n setValidationResult(validateSchedule(nextSchedule));\n },\n save: async () => {\n // Framework-agnostic validation\n const validation = validateSchedule(watchedSchedule);\n if (validation.valid) {\n saveValue({ schedule: watchedSchedule });\n } else {\n // Update state so errors become visible\n setValidationResult(validation);\n }\n },\n reset: handleReset,\n close: handleClose,\n validate: () => {\n // Framework-agnostic validation check\n const validation = validateSchedule(watchedSchedule);\n return validation.valid;\n },\n handleBlur,\n },\n };\n}\n","import { useFormContext } from 'react-hook-form';\nimport { DailyScheduleContainerProps } from '@/src/flows/Onboarding/components/DailySchedule/types';\nimport {\n calculateTotalWeeklyHours,\n getDailyScheduleHoursError,\n getDailyScheduleSummaryDays,\n getDefaultsFromSchema,\n getWorkHoursBounds,\n} from '@/src/flows/Onboarding/components/DailySchedule/utils';\nimport { useDailyScheduleEditForm } from '@/src/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm';\n\n/**\n * Headless container for the `daily_schedule`, following the pattern of the\n * `PaidTimeOffContainer`: owns schema-metadata derivation and calls `render`\n * with the computed payload.\n *\n */\nexport const DailyScheduleContainer = ({\n render,\n metadata,\n value,\n ...fieldProps\n}: DailyScheduleContainerProps) => {\n const { watch } = useFormContext();\n const watchedScheduleType = watch('schedule_type');\n const watchedWorkSchedule = watch('work_schedule');\n\n const defaults = getDefaultsFromSchema(metadata);\n const workHoursBounds = getWorkHoursBounds(defaults.workHoursPerWeekConfig, {\n scheduleType: watchedScheduleType,\n workSchedule: watchedWorkSchedule,\n });\n\n const summaryDays = getDailyScheduleSummaryDays(\n value,\n defaults.defaultSchedule,\n );\n const totalWeeklyHours = calculateTotalWeeklyHours(\n summaryDays,\n defaults.subtractBreaksFromWorkHours,\n );\n const savedScheduleHoursError = getDailyScheduleHoursError({\n totalWeeklyHours,\n workHoursBounds,\n countryName: defaults.countryName,\n workSchedule: watchedWorkSchedule,\n });\n\n const formBag = useDailyScheduleEditForm({\n availableWorkDays: defaults.availableWorkDays,\n defaultSchedule: defaults.defaultSchedule,\n defaultStartTime: defaults.defaultStartTime,\n defaultEndTime: defaults.defaultEndTime,\n defaultBreakDurationMinutes: defaults.defaultBreakDurationMinutes,\n subtractBreaksFromWorkHours: defaults.subtractBreaksFromWorkHours,\n workHoursBounds,\n workSchedule: watchedWorkSchedule,\n countryName: defaults.countryName,\n value,\n setValue: fieldProps.setValue,\n });\n\n return render({\n summaryDays,\n subtractBreaksFromWorkHours: defaults.subtractBreaksFromWorkHours,\n savedScheduleHoursError,\n editBag: formBag,\n });\n};\n","import { createContext, useContext, useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/src/components/ui/dialog';\nimport { Button } from '@/src/components/ui/button';\n\ntype DialogControlContextValue = {\n /** Closes the dialog as-is, without discarding form state (used after a successful save). */\n close: () => void;\n /** Discards unsaved edits and closes the dialog. */\n cancel: () => void;\n};\n\nconst DialogControlContext = createContext<DialogControlContextValue | null>(\n null,\n);\n\nexport const useDialogControl = () => {\n const context = useContext(DialogControlContext);\n if (!context) {\n throw new Error(\n 'useDialogControl must be used within EditEmployeeWorkingHoursDialog',\n );\n }\n return context;\n};\n\ntype EditEmployeeWorkingHoursDialogProps = {\n children: React.ReactNode;\n /**\n * Called whenever the dialog closes without saving — Cancel, overlay\n * click, Escape, or the close button — so the parent can reset the edit\n * form back to the last saved schedule before it's shown again.\n */\n onClose?: () => void;\n};\n\nexport const EditEmployeeWorkingHoursDialog = ({\n children,\n onClose,\n}: EditEmployeeWorkingHoursDialogProps) => {\n const [open, setOpen] = useState(false);\n\n const close = () => {\n setOpen(false);\n };\n\n const cancel = () => {\n onClose?.();\n setOpen(false);\n };\n\n // Radix funnels the close button, overlay click, and Escape all through\n // `onOpenChange(false)` — treat those the same as an explicit Cancel.\n const handleOpenChange = (nextOpen: boolean) => {\n if (!nextOpen) {\n cancel();\n return;\n }\n setOpen(nextOpen);\n };\n\n return (\n <DialogControlContext.Provider value={{ close, cancel }}>\n <Dialog open={open} onOpenChange={handleOpenChange}>\n <DialogTrigger asChild>\n <Button\n variant='link'\n className='flex items-center p-0 self-start RemoteFlows__DailySchedule__Trigger'\n >\n Edit schedule\n </Button>\n </DialogTrigger>\n <DialogContent className='sm:max-w-4xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__DailySchedule__Content'>\n <DialogHeader>\n <DialogTitle className='RemoteFlows__DailySchedule__Title'>\n Edit employee working hours\n </DialogTitle>\n </DialogHeader>\n {children}\n </DialogContent>\n </Dialog>\n </DialogControlContext.Provider>\n );\n};\n","import { Weekday } from '@/src/flows/Onboarding/components/DailySchedule/types';\n\nexport const WEEKDAY_LABELS: Record<Weekday, string> = {\n monday: 'Monday',\n tuesday: 'Tuesday',\n wednesday: 'Wednesday',\n thursday: 'Thursday',\n friday: 'Friday',\n saturday: 'Saturday',\n sunday: 'Sunday',\n};\n","import { DailyScheduleSummaryBody } from '@/src/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody';\nimport { DailyScheduleHoursErrorBanner } from '@/src/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner';\nimport { Button } from '@/src/components/ui/button';\nimport { RotateCcw } from 'lucide-react';\nimport { useDailyScheduleEditForm } from '@/src/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm';\nimport { useDialogControl } from '@/src/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog';\nimport { WEEKDAY_LABELS } from '@/src/flows/Onboarding/components/DailySchedule/constants';\nimport { Checkbox } from '@/src/components/ui/checkbox';\nimport { Input } from '@/src/components/ui/input';\nimport { Label } from '@/src/components/ui/label';\n\ntype DailyScheduleEditFormProps = ReturnType<\n typeof useDailyScheduleEditForm\n> & {\n subtractBreaksFromWorkHours: boolean;\n};\n\nexport const DailyScheduleEditForm = ({\n state,\n actions,\n subtractBreaksFromWorkHours,\n}: DailyScheduleEditFormProps) => {\n const { close, cancel } = useDialogControl();\n\n const handleSave = async () => {\n await actions.save();\n // Only close if validation passed\n if (actions.validate()) {\n close();\n }\n };\n\n return (\n <div className='space-y-4 RemoteFlows__DailyScheduleForm'>\n <p className='text-gray-600 text-sm mb-4 RemoteFlows__DailyScheduleForm__Description'>\n The times displayed are in the employee's time zone in the 24-hour\n format.\n </p>\n\n <div className='grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__DailyScheduleForm__Header'>\n <div className='col-span-3'></div>\n <div className='col-span-3 text-center'>Start</div>\n <div className='col-span-3 text-center'>End</div>\n <div className='col-span-3 text-center'>Break (minutes)</div>\n </div>\n\n <div className='RemoteFlows__DailyScheduleForm__Rows'>\n {state.rows.map((row, index) => (\n <div\n key={row.day}\n className='grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__DailyScheduleForm__Row'\n >\n <div className='col-span-3'>\n <div className='flex items-center gap-2'>\n <Checkbox\n id={`schedule-${index}-checked`}\n checked={row.checked}\n onCheckedChange={() => actions.toggleDay(index)}\n />\n <Label htmlFor={`schedule-${index}-checked`}>\n {WEEKDAY_LABELS[row.day]}\n </Label>\n </div>\n </div>\n <div className='col-span-3'>\n <Input\n type='text'\n value={row.start_time}\n onChange={(e) =>\n actions.updateRow(index, 'start_time', e.target.value)\n }\n onBlur={actions.handleBlur}\n disabled={!row.checked}\n placeholder='HH:mm'\n aria-invalid={!!state.getFieldError(index, 'start_time')}\n className={\n state.getFieldError(index, 'start_time')\n ? 'border-destructive'\n : ''\n }\n />\n </div>\n <div className='col-span-3'>\n <Input\n type='text'\n value={row.end_time}\n onChange={(e) =>\n actions.updateRow(index, 'end_time', e.target.value)\n }\n onBlur={actions.handleBlur}\n disabled={!row.checked}\n placeholder='HH:mm'\n aria-invalid={!!state.getFieldError(index, 'end_time')}\n className={\n state.getFieldError(index, 'end_time')\n ? 'border-destructive'\n : ''\n }\n />\n </div>\n <div className='col-span-2'>\n <Input\n type='number'\n value={row.break_duration_minutes}\n onChange={(e) =>\n actions.updateRow(\n index,\n 'break_duration_minutes',\n e.target.value,\n )\n }\n onBlur={actions.handleBlur}\n disabled={!row.checked}\n placeholder='Minutes'\n aria-invalid={\n !!state.getFieldError(index, 'break_duration_minutes')\n }\n className={\n state.getFieldError(index, 'break_duration_minutes')\n ? 'border-destructive'\n : ''\n }\n />\n </div>\n <div className='col-span-1 text-center text-sm text-gray-500 RemoteFlows__DailyScheduleForm__Row__Hours'>\n {row.checked ? (row.hours > 0 ? `${row.hours}h` : '-') : '-'}\n </div>\n </div>\n ))}\n </div>\n\n <div className='rounded-lg border p-4 RemoteFlows__DailyScheduleForm__Preview'>\n <DailyScheduleSummaryBody\n days={state.unsavedSummaryDays}\n subtractBreaksFromWorkHours={subtractBreaksFromWorkHours}\n />\n </div>\n\n <DailyScheduleHoursErrorBanner error={state.hoursRangeError} />\n\n {state.formError ? (\n <p className='text-destructive text-sm mb-0'>{state.formError}</p>\n ) : null}\n\n {!state.formError && state.hasFieldErrors && (\n <p className='text-destructive text-sm mb-0'>\n Please check the form for errors. Time fields must use HH:mm format\n (e.g., 09:00), and all checked days must have start time, end time,\n and break duration filled in.\n </p>\n )}\n\n <div className='flex items-center gap-4 pt-4'>\n {state.isDirty && (\n <Button\n type='button'\n variant='ghost'\n className='gap-2 RemoteFlows__DailyScheduleForm__ResetButton'\n onClick={actions.reset}\n >\n <RotateCcw className='h-4 w-4' />\n Reset to default\n </Button>\n )}\n <div className='flex gap-4 ml-auto'>\n <Button type='button' variant='outline' onClick={cancel}>\n Cancel\n </Button>\n <Button\n type='button'\n onClick={handleSave}\n disabled={!!state.hoursRangeError}\n >\n Save schedule\n </Button>\n </div>\n </div>\n </div>\n );\n};\n","import { Badge } from '@/src/components/ui/badge';\nimport { DailyScheduleHoursErrorBanner } from '@/src/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner';\nimport { DailyScheduleSummaryBody } from '@/src/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody';\nimport { EditEmployeeWorkingHoursDialog } from '@/src/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog';\nimport { DailyScheduleEditForm } from '@/src/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm';\nimport { DailyScheduleRenderProps } from '@/src/flows/Onboarding/components/DailySchedule/types';\n\ntype DailyScheduleProps = DailyScheduleRenderProps;\n\nexport const DailySchedule = ({\n summaryDays,\n subtractBreaksFromWorkHours,\n savedScheduleHoursError,\n editBag,\n}: DailyScheduleProps) => {\n return (\n <div className='flex flex-col gap-3 RemoteFlows__DailySchedule'>\n <div className='flex items-center gap-2 RemoteFlows__DailySchedule__Header'>\n <p className='text-sm font-medium RemoteFlows__DailySchedule__Title'>\n Daily schedule\n </p>\n <Badge\n variant='secondary'\n className='RemoteFlows__DailySchedule__Badge'\n >\n customized hours (employee's timezone)\n </Badge>\n </div>\n <div className='flex flex-col gap-1 RemoteFlows__DailySchedule__Summary'>\n <DailyScheduleSummaryBody\n days={summaryDays}\n subtractBreaksFromWorkHours={subtractBreaksFromWorkHours}\n />\n <DailyScheduleHoursErrorBanner error={savedScheduleHoursError} />\n <EditEmployeeWorkingHoursDialog onClose={editBag.actions.close}>\n <DailyScheduleEditForm\n {...editBag}\n subtractBreaksFromWorkHours={subtractBreaksFromWorkHours}\n />\n </EditEmployeeWorkingHoursDialog>\n </div>\n </div>\n );\n};\n","import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n getEngagementAgreementDetailsSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n buildSteps,\n StepKeys,\n usesJsfV1ContractDetails,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useContractDetailsSchema,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmploymentAgreementPreview,\n useEmploymentEngagementAgreementDetails,\n useEmploymentOnboardingReservesStatus,\n useEngagementAgreementDetailsSchema,\n useGetPreOnboardingRequirements,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpdateEmploymentEngagementAgreementDetails,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { DailyScheduleContainer } from '@/src/flows/Onboarding/components/DailySchedule/DailyScheduleContainer';\nimport { DailySchedule } from '@/src/flows/Onboarding/components/DailySchedule/DailySchedule';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n engagement_agreement_details: null,\n contract_details: 'contract_details',\n benefits: null,\n employment_agreement_preview: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingContractDetailsFormV1,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentAgreementPreview,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n isLoadingPreOnboardingRequirements,\n shouldFreezeEmploymentData,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingContractDetailsFormV1: boolean;\n isLoadingEngagementAgreementDetails: boolean;\n isLoadingEmploymentEngagementAgreementDetails: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n isLoadingEmploymentAgreementPreview: boolean;\n isLoadingPreOnboardingRequirements: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n arePreOnboardingRequirementsFulfilled: boolean;\n isLoadingOnboardingReservesStatus: boolean;\n shouldFreezeEmploymentData: boolean;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEngagementAgreementDetails ||\n isLoadingEmploymentEngagementAgreementDetails ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries ||\n isLoadingEmploymentAgreementPreview ||\n isLoadingContractDetailsFormV1 ||\n isLoadingPreOnboardingRequirements ||\n isLoadingOnboardingReservesStatus;\n\n // employment needs to be readonly if its one of the following conditions is met:\n // - the employment status is in the review step allowed employment status list\n // - the employment data is frozen by a pre-onboarding requirement\n const isEmploymentReadOnly =\n (employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus)) ||\n shouldFreezeEmploymentData;\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus) &&\n arePreOnboardingRequirementsFulfilled;\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nconst useJsfV1ContractDetails = ({\n countryCode,\n query,\n enabled,\n jsonSchemaVersion,\n jsfModify,\n}: {\n countryCode: string;\n query: Record<string, string>;\n enabled: boolean;\n jsonSchemaVersion: number | 'latest';\n jsfModify?: JSFModify;\n}) => {\n const options = useMemo(\n () => ({\n queryOptions: {\n enabled,\n },\n transformMoneyFields: false,\n jsfModify,\n }),\n [enabled, jsfModify],\n );\n const { data: form, isLoading: isLoadingContractDetails } =\n useContractDetailsSchema({\n countryCode,\n query,\n options,\n jsonSchemaVersion,\n });\n\n return {\n form,\n isLoading: isLoadingContractDetails,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n partnerExternalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n\n const [, setFieldsCount] = useState<number>(0);\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n\n const [\n includeEngagementAgreementDetails,\n setIncludeEngagementAgreementDetails,\n ] = useState<boolean>(false);\n\n const [\n includeEmploymentAgreementPreview,\n setIncludeEmploymentAgreementPreview,\n ] = useState<boolean>(false);\n\n const useDynamicSteps = options?.features?.includes('dynamic_steps') ?? false;\n const useSplitSalaryDescription =\n options?.features?.includes('split_salary_description') ?? false;\n const useEAPreview = Boolean(\n options?.features?.includes('ea_preview') &&\n includeEmploymentAgreementPreview,\n );\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEngagementAgreementDetails,\n useDynamicSteps,\n useEAPreview,\n }),\n [\n includeEngagementAgreementDetails,\n skipSteps,\n useDynamicSteps,\n useEAPreview,\n ],\n );\n\n const onStepChange = useCallback(\n (step: Step<StepKeys>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps, onStepChange);\n\n const {\n data: employmentEngagementAgreementDetails,\n isLoading: isLoadingEmploymentEngagementAgreementDetails,\n } = useEmploymentEngagementAgreementDetails(internalEmploymentId, {\n enabled: Boolean(\n !!internalEmploymentId && options?.features?.includes('dynamic_steps'),\n ),\n });\n\n const engagementAgreementDetailsFieldValues = useMemo(() => {\n return {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n ...stepState.values?.engagement_agreement_details,\n ...fieldValues,\n };\n }, [\n employmentEngagementAgreementDetails,\n onboardingInitialValues,\n stepState.values?.engagement_agreement_details,\n fieldValues,\n ]);\n\n const {\n data: engagementAgreementDetailsSchema,\n isLoading: isLoadingEngagementAgreementDetails,\n } = useEngagementAgreementDetailsSchema(\n internalCountryCode as string,\n engagementAgreementDetailsFieldValues,\n {\n jsfModify: options?.jsfModify,\n queryOptions: {\n enabled: Boolean(\n !!internalCountryCode && options?.features?.includes('dynamic_steps'),\n ),\n },\n jsonSchemaVersion: getEngagementAgreementDetailsSchemaVersion(options),\n },\n );\n\n // logic to include the engagement agreement details step based on the schema fields\n useEffect(() => {\n const hasFields = Boolean(\n engagementAgreementDetailsSchema?.fields &&\n engagementAgreementDetailsSchema.fields.length > 0,\n );\n if (hasFields !== includeEngagementAgreementDetails) {\n setIncludeEngagementAgreementDetails(hasFields);\n }\n }, [\n engagementAgreementDetailsSchema?.fields,\n includeEngagementAgreementDetails,\n ]);\n\n const fieldsMetaRef = useRef<{\n select_country: NestedMeta;\n basic_information: NestedMeta;\n contract_details: NestedMeta;\n benefits: NestedMeta;\n engagement_agreement_details: NestedMeta;\n employment_agreement_preview: NestedMeta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n engagement_agreement_details: {},\n employment_agreement_preview: {},\n });\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const {\n data: onboardingReservesStatus,\n isLoading: isLoadingOnboardingReservesStatus,\n } = useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const isPreOnboardingRequirementsEnabled = Boolean(\n options?.features?.includes('pre_onboarding_requirements') &&\n !!internalEmploymentId,\n );\n\n const { data: requirements, isLoading: isLoadingPreOnboardingRequirements } =\n useGetPreOnboardingRequirements(internalEmploymentId as string, {\n queryOptions: {\n enabled: isPreOnboardingRequirementsEnabled,\n },\n });\n\n const shouldFreezeEmploymentData = Boolean(\n requirements?.some((requirement) => requirement.freeze_employment_data),\n );\n\n const arePreOnboardingRequirementsFulfilled = useMemo(() => {\n // While loading, block the invite\n if (isLoadingPreOnboardingRequirements) {\n return false;\n }\n // If no requirements data at all, allow invite (don't block the flow)\n if (!requirements || requirements.length === 0) {\n return true;\n }\n\n // Check if all requirements are finished (even if there's an error, check cached data)\n return requirements.every(\n (requirement) => requirement.status === 'finished',\n );\n }, [requirements, isLoadingPreOnboardingRequirements]);\n\n const isSelectCountryEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'select_country' ||\n (skipSteps?.includes('select_country') &&\n Boolean(internalCountryCode) &&\n useDynamicSteps &&\n options?.features?.includes('ea_preview'))\n );\n }, [\n stepState.currentStep.name,\n skipSteps,\n internalCountryCode,\n useDynamicSteps,\n options?.features,\n ]);\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: isSelectCountryEnabled,\n },\n });\n\n const isEmploymentAgreementPreviewAvailable = useMemo(() => {\n return Boolean(\n countries?.find((country) => country.value === internalCountryCode)\n ?.employment_agreement_preview_available,\n );\n }, [countries, internalCountryCode]);\n\n useEffect(() => {\n setIncludeEmploymentAgreementPreview(isEmploymentAgreementPreviewAvailable);\n }, [isEmploymentAgreementPreviewAvailable]);\n\n const isEmploymentEnabled =\n Boolean(internalEmploymentId) &&\n useEAPreview &&\n stepState.currentStep.name === 'employment_agreement_preview';\n\n const {\n data: employmentAgreementPreview,\n isLoading: isLoadingEmploymentAgreementPreview,\n } = useEmploymentAgreementPreview(internalEmploymentId, {\n queryOptions: {\n enabled: isEmploymentEnabled,\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateEngagementAgreementMutation =\n useUpdateEmploymentEngagementAgreementDetails();\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n // TODO: refactor all uses in onboarding together to avoid having mixed behaviour\n const { mutateAsync: updateEngagementAgreementMutationAsync } =\n mutationToPromise(updateEngagementAgreementMutation);\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n ((stepState.currentStep.name === 'contract_details' &&\n !usesJsfV1ContractDetails(internalCountryCode)) ||\n Boolean(employmentId)),\n );\n\n const isJsfV1ContractDetailsEnabled = Boolean(\n usesJsfV1ContractDetails(internalCountryCode) &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: getBasicInformationSchemaVersion(options),\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const dailyScheduleField =\n options?.jsfModify?.contract_details?.fields?.daily_schedule;\n const isDailyScheduleEnabled = Boolean(\n options?.features?.includes('daily_schedule'),\n );\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n splitDescription={useSplitSalaryDescription}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n ...(isDailyScheduleEnabled\n ? {\n daily_schedule: {\n ...(dailyScheduleField as $TSFixMe),\n presentation: {\n ...(dailyScheduleField as $TSFixMe)?.['x-jsf-presentation'],\n ...(dailyScheduleField as $TSFixMe)?.presentation,\n Component: (props: $TSFixMe) => {\n const CustomComponent =\n (dailyScheduleField as $TSFixMe)?.['x-jsf-presentation']\n ?.Component ??\n (dailyScheduleField as $TSFixMe)?.presentation?.Component;\n\n return (\n <DailyScheduleContainer\n {...props}\n render={(renderProps) =>\n CustomComponent ? (\n <CustomComponent {...renderProps} />\n ) : (\n <DailySchedule {...renderProps} />\n )\n }\n />\n );\n },\n },\n },\n }\n : {}),\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n useSplitSalaryDescription,\n isDailyScheduleEnabled,\n dailyScheduleField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const jsfV1Modify = useMemo(\n () => ({\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n }),\n [options?.jsfModify?.contract_details, contractDetailsCustomFields.fields],\n );\n\n const {\n form: contractDetailsFormV1,\n isLoading: isLoadingContractDetailsFormV1,\n } = useJsfV1ContractDetails({\n countryCode: internalCountryCode as string,\n query: {\n employment_id: internalEmploymentId as string,\n },\n enabled: isJsfV1ContractDetailsEnabled,\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n jsfModify: jsfV1Modify,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as StepKeys], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.fields || [],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.fields || []\n : contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n employment_agreement_preview: [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n engagementAgreementDetailsSchema?.fields,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = useMemo(\n () => ({\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta['x-jsf-fieldsets'],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.meta['x-jsf-fieldsets']\n : contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n employment_agreement_preview: null,\n review: null,\n }),\n [\n basicInformationForm?.meta,\n engagementAgreementDetailsSchema?.meta,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.meta,\n contractDetailsForm?.meta,\n ],\n );\n\n const stepPresentation: Record<\n StepKeys,\n Record<string, unknown> | null | undefined\n > = useMemo(\n () => ({\n select_country: selectCountryForm?.meta?.['x-jsf-presentation'],\n basic_information: basicInformationForm?.meta?.['x-jsf-presentation'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta?.['x-jsf-presentation'],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.meta?.['x-jsf-presentation']\n : contractDetailsForm?.meta?.['x-jsf-presentation'],\n benefits: benefitOffersSchema?.meta?.['x-jsf-presentation'],\n employment_agreement_preview: null,\n review: null,\n }),\n [\n selectCountryForm?.meta,\n basicInformationForm?.meta,\n engagementAgreementDetailsSchema?.meta,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.meta,\n contractDetailsForm?.meta,\n benefitOffersSchema?.meta,\n ],\n );\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const engagementAgreementDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n };\n\n return getInitialValues(\n stepFields.engagement_agreement_details,\n initialValues,\n );\n }, [\n stepFields.engagement_agreement_details,\n onboardingInitialValues,\n employmentEngagementAgreementDetails,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n employment_agreement_preview: {},\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n employment_agreement_preview: {},\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n engagementAgreementDetailsInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingContractDetailsFormV1,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingPreOnboardingRequirements,\n isLoadingCompany,\n isLoadingCountries,\n isLoadingEmploymentAgreementPreview,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n shouldFreezeEmploymentData,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingPreOnboardingRequirements,\n isLoadingCompany,\n isLoadingCountries,\n isLoadingEmploymentAgreementPreview,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n isLoadingContractDetailsFormV1,\n shouldFreezeEmploymentData,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n { skipMoneyConversion: true },\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n { skipMoneyConversion: true },\n ),\n engagement_agreement_details: prettifyFormValues(\n engagementAgreementDetailsInitialValues,\n stepFields.engagement_agreement_details,\n { skipMoneyConversion: true },\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n { skipMoneyConversion: true },\n ),\n employment_agreement_preview: {},\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n employment_agreement_preview: {},\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n engagementAgreementDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n stepFields.engagement_agreement_details,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return await parseJSFToValidate(values, selectCountryForm.fields, {\n isPartialValidation: false,\n });\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n return await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details' &&\n !isJsfV1ContractDetailsEnabled\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsFormV1 &&\n stepState.currentStep.name === 'contract_details' &&\n isJsfV1ContractDetailsEnabled\n ) {\n return await parseJSFToValidate(values, contractDetailsFormV1?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (benefitOffersSchema && stepState.currentStep.name === 'benefits') {\n return await parseJSFToValidate(values, benefitOffersSchema?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n partner_external_id: partnerExternalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n partner_external_id: partnerExternalId,\n });\n }\n\n return;\n }\n case 'engagement_agreement_details': {\n return updateEngagementAgreementMutationAsync({\n employmentId: internalEmploymentId as string,\n engagement_agreement_details: parsedValues,\n });\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n partner_external_id: partnerExternalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: StepKeys) {\n goToStep(step);\n }\n\n const handleValidation = useCallback(\n async (values: FieldValues): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n const parsedValues = await parseJSFToValidate(\n values,\n selectCountryForm.fields,\n { isPartialValidation: false },\n );\n\n return selectCountryForm.handleValidation(parsedValues);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n { isPartialValidation: false },\n );\n return engagementAgreementDetailsSchema?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details' &&\n !isJsfV1ContractDetailsEnabled\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsFormV1 &&\n stepState.currentStep.name === 'contract_details' &&\n isJsfV1ContractDetailsEnabled\n ) {\n // Invisible values are kept on purpose here. The fields still hold the\n // visibility of the previous change, so dropping their values would hide\n // what a field that is about to become visible needs to compute itself:\n // a hidden fieldset coming back would lose the values driving its own\n // children. handleValidation resolves the visibility first and nulls\n // whatever it considers hidden afterwards, which is the right order.\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsFormV1?.fields,\n { isPartialValidation: true },\n );\n const result = contractDetailsFormV1?.handleValidation(parsedValues);\n setFieldsCount((prev) => prev + 1);\n return result;\n }\n\n return null;\n },\n [\n stepState,\n selectCountryForm,\n benefitOffersSchema,\n basicInformationForm,\n engagementAgreementDetailsSchema,\n contractDetailsForm,\n contractDetailsFormV1,\n isJsfV1ContractDetailsEnabled,\n setFieldsCount,\n ],\n );\n\n const checkFieldUpdates = useCallback(\n async (values: FieldValues) => {\n setFieldValues(values);\n if (\n isJsfV1ContractDetailsEnabled &&\n stepState.currentStep.name === 'contract_details'\n ) {\n await handleValidation(values);\n }\n },\n [\n setFieldValues,\n isJsfV1ContractDetailsEnabled,\n stepState,\n handleValidation,\n ],\n );\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Onboarding flow options (feature flags)\n */\n options: {\n features: options?.features,\n },\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateEngagementAgreementMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation,\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n presentation: stepPresentation[stepState.currentStep.name],\n },\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * Steps array for dynamic step navigation\n * When 'dynamic_steps' feature is enabled:\n * - Returns all steps including hidden ones with their original indices\n * - Consumers must filter by `visible` property\n * When disabled (default):\n * - Returns only visible steps with sequential indices\n * - Maintains backwards compatibility with existing implementations\n * @returns {Array<{name: string, visible: boolean, index: number, label: string}>}\n */\n steps: stepsArray,\n /**\n * Selected country for the onboarding\n * @returns {name: string, code: string} | null\n */\n selectedCountry: internalCountryCode\n ? {\n code: internalCountryCode,\n name: country?.name,\n }\n : null,\n\n /**\n * Employment agreement preview\n */\n employmentAgreementPreview,\n };\n};\n","import type { useOnboarding } from '@/src/flows/Onboarding/hooks';\nimport { createContext, useContext } from 'react';\n\nexport const OnboardingContext = createContext<{\n formId: string | undefined;\n onboardingBag: ReturnType<typeof useOnboarding> | null;\n creditScore: {\n showReserveInvoice: boolean;\n showInviteSuccessful: boolean;\n };\n setCreditScore: React.Dispatch<\n React.SetStateAction<{\n showReserveInvoice: boolean;\n showInviteSuccessful: boolean;\n }>\n >;\n}>({\n formId: undefined,\n onboardingBag: null,\n creditScore: {\n showReserveInvoice: false,\n showInviteSuccessful: false,\n },\n setCreditScore: () => {},\n});\n\nexport const useOnboardingContext = () => {\n const context = useContext(OnboardingContext);\n if (!context.formId || !context.onboardingBag) {\n throw new Error(\n 'useOnboardingContext must be used within a OnboardingContextProvider',\n );\n }\n\n return {\n formId: context.formId,\n onboardingBag: context.onboardingBag,\n creditScore: context.creditScore,\n setCreditScore: context.setCreditScore,\n } as const;\n};\n","import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useEffect } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport {\n BasicInformationFormPayload,\n BenefitsFormPayload,\n ContractDetailsFormPayload,\n EngagementAgreementDetailsFormPayload,\n} from '@/src/flows/Onboarding/types';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { normalizeFieldErrors } from '@/src/lib/mutations';\nimport { useJSONSchemaForm } from '@/src/components/form/useJSONSchemaForm';\n\ntype OnboardingFormProps = {\n onSubmit: (\n payload:\n | BasicInformationFormPayload\n | BenefitsFormPayload\n | ContractDetailsFormPayload\n | EngagementAgreementDetailsFormPayload,\n ) => Promise<void>;\n components?: Components;\n fields?: JSFFields;\n defaultValues: Record<string, unknown>;\n};\n\nexport function OnboardingForm({\n defaultValues,\n onSubmit,\n components,\n}: OnboardingFormProps) {\n const { formId, onboardingBag } = useOnboardingContext();\n\n const form = useJSONSchemaForm({\n handleValidation: onboardingBag.handleValidation,\n defaultValues: defaultValues,\n checkFieldUpdates: onboardingBag.checkFieldUpdates,\n });\n\n useEffect(() => {\n // When the employmentId is set,\n // we need to run the checkFieldUpdates to update fieldValues in useStepState\n if (onboardingBag.employmentId) {\n onboardingBag?.checkFieldUpdates(form.getValues());\n }\n // oxlint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (\n values: Record<string, unknown>,\n event?: React.BaseSyntheticEvent,\n ) => {\n const nativeEvent = event?.nativeEvent as $TSFixMe;\n\n if (nativeEvent?.isDraftSubmission) {\n // Handle draft submission\n const { onSuccess, onError } = nativeEvent.draftCallbacks;\n\n try {\n // Submit the form\n const response = await onboardingBag.onSubmit(values);\n\n if (response?.data) {\n onSuccess?.();\n } else if (response?.error) {\n const currentStepName = onboardingBag.stepState.currentStep.name;\n\n // Get the appropriate fields based on current step\n const currentStepFields =\n onboardingBag.meta?.fields?.[\n currentStepName as keyof typeof onboardingBag.meta.fields\n ];\n\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n currentStepFields,\n );\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n } else {\n // Handle normal form submission\n await onSubmit(values);\n }\n };\n\n return (\n <Form {...form} key={`form-${onboardingBag.stepState.currentStep.name}`}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__OnboardingForm'\n >\n <JSONSchemaFormFields\n components={components}\n fields={onboardingBag.fields}\n fieldsets={onboardingBag.meta.fieldsets}\n fieldValues={onboardingBag.fieldValues}\n />\n </form>\n </Form>\n );\n}\n","import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport { BasicInformationFormPayload } from '@/src/flows/Onboarding/types';\nimport { EmploymentCreationResponse } from '@/src/client';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n normalizeFieldErrors,\n NormalizedFieldError,\n} from '@/src/lib/mutations';\n\ntype BasicInformationStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: BasicInformationFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: EmploymentCreationResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function BasicInformationStep({\n onSubmit,\n onSuccess,\n onError,\n}: BasicInformationStepProps) {\n const { onboardingBag } = useOnboardingContext();\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n const parsedValues = await onboardingBag.parseFormValues(payload);\n await onSubmit?.(parsedValues as BasicInformationFormPayload);\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response?.data as EmploymentCreationResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n onboardingBag.meta?.fields?.basic_information,\n );\n\n onError?.({\n error: response?.error,\n rawError: response?.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const initialValues =\n onboardingBag.stepState.values?.basic_information ||\n onboardingBag.initialValues.basic_information;\n\n return (\n <OnboardingForm defaultValues={initialValues} onSubmit={handleSubmit} />\n );\n}\n","import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useFormFields } from '@/src/context';\n\nexport function OnboardingSubmit({\n children,\n ...props\n}: PropsWithChildren<\n ButtonHTMLAttributes<HTMLButtonElement> & Record<string, unknown>\n>) {\n const { formId, onboardingBag } = useOnboardingContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n return (\n <CustomButton\n {...props}\n form={formId}\n disabled={props.disabled || onboardingBag.isSubmitting}\n >\n {children}\n </CustomButton>\n );\n}\n","import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useFormFields } from '@/src/context';\n\ntype OnboardingBackProps = ButtonHTMLAttributes<HTMLButtonElement> &\n Record<string, unknown>;\n\nexport function OnboardingBack({\n children,\n onClick,\n ...props\n}: PropsWithChildren<OnboardingBackProps>) {\n const {\n onboardingBag: { back, isEmploymentReadOnly },\n } = useOnboardingContext();\n\n const { components } = useFormFields();\n\n const onBackHandler = (evt: React.MouseEvent<HTMLButtonElement>) => {\n // TODO: TBD if we want to allow back button to be clicked when employment is readonly\n if (!isEmploymentReadOnly) {\n back();\n }\n onClick?.(evt);\n };\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n return (\n <CustomButton {...props} onClick={onBackHandler}>\n {children}\n </CustomButton>\n );\n}\n","import { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { useEmploymentInvite } from '@/src/flows/Onboarding/api';\nimport { useCreateReserveInvoice } from '@/src/flows/Onboarding/api';\nimport { FieldError, mutationToPromise } from '@/src/lib/mutations';\nimport { SuccessResponse } from '@/src/client';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useFormFields } from '@/src/context';\nimport { statusesWithReserveAlreadyHandled } from '@/src/flows/Onboarding/utils';\n\nexport type OnboardingInviteProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: ({\n data,\n employmentStatus,\n }: {\n data: SuccessResponse;\n employmentStatus: 'invited' | 'created_awaiting_reserve';\n }) => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n }) => void;\n onSubmit?: () => void | Promise<void>;\n render: (props: {\n employmentStatus: 'invited' | 'created_awaiting_reserve';\n }) => ReactNode;\n} & Record<string, unknown>;\n\nexport function OnboardingInvite({\n onSubmit,\n onSuccess,\n onError,\n render,\n ...props\n}: OnboardingInviteProps) {\n const { components } = useFormFields();\n const { onboardingBag, setCreditScore } = useOnboardingContext();\n const employmentInviteMutation = useEmploymentInvite();\n const useCreateReserveInvoiceMutation = useCreateReserveInvoice();\n\n const { mutateAsync: employmentInviteMutationAsync } = mutationToPromise(\n employmentInviteMutation,\n );\n\n const { mutateAsync: createReserveInvoiceMutationAsync } = mutationToPromise(\n useCreateReserveInvoiceMutation,\n );\n\n const isDepositRequired =\n onboardingBag.creditRiskStatus === 'deposit_required' ||\n onboardingBag.onboardingReservesStatus === 'deposit_required';\n\n const isReserveFlow = Boolean(\n isDepositRequired &&\n onboardingBag.employment?.status &&\n !statusesWithReserveAlreadyHandled.includes(\n onboardingBag.employment.status,\n ),\n );\n\n const shouldCreateReserve = Boolean(isReserveFlow && onboardingBag.canInvite);\n\n const handleSubmit = async () => {\n try {\n await onSubmit?.();\n if (shouldCreateReserve && onboardingBag.employmentId) {\n const response = await createReserveInvoiceMutationAsync({\n employment_slug: onboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'created_awaiting_reserve',\n });\n setCreditScore?.((prev) => ({\n ...prev,\n showReserveInvoice: true,\n }));\n onboardingBag.refetchEmployment();\n return;\n }\n\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n } else if (onboardingBag.employmentId) {\n const response = await employmentInviteMutationAsync({\n employment_id: onboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'invited',\n });\n setCreditScore?.((prev) => ({\n ...prev,\n showInviteSuccessful: true,\n }));\n onboardingBag.refetchEmployment();\n return;\n }\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n const disabled =\n !onboardingBag.canInvite ||\n employmentInviteMutation.isPending ||\n useCreateReserveInvoiceMutation.isPending ||\n props.disabled;\n\n return (\n <CustomButton\n {...props}\n disabled={disabled}\n onClick={(evt) => {\n handleSubmit();\n props.onClick?.(evt);\n }}\n >\n {render({\n employmentStatus: isReserveFlow\n ? 'created_awaiting_reserve'\n : 'invited',\n })}\n </CustomButton>\n );\n}\n","import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport { EmploymentResponse } from '@/src/client';\nimport { ContractDetailsFormPayload } from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\n\ntype ContractDetailsStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: ContractDetailsFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (response: EmploymentResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function ContractDetailsStep({\n onSubmit,\n onError,\n onSuccess,\n}: ContractDetailsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n const parsedValues = await onboardingBag.parseFormValues(payload);\n await onSubmit?.(parsedValues as ContractDetailsFormPayload);\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response.data as EmploymentResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n onboardingBag.meta?.fields?.contract_details,\n );\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n return (\n <OnboardingForm\n defaultValues={\n onboardingBag.stepState.values?.contract_details ||\n onboardingBag.initialValues.contract_details\n }\n onSubmit={handleSubmit}\n />\n );\n}\n","import { Components } from '@/src/types/remoteFlows';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { SuccessResponse } from '@/src/client';\nimport { getInitialValues } from '@/src/components/form/utils';\nimport { BenefitsFormPayload } from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\n\ntype BenefitsStepProps = {\n /**\n * Components to override the default field components used in the form.\n */\n components?: Components;\n /**\n * Callback function to be called when the benefits form is submitted.\n * It can be used to perform any additional validation or processing before\n * the onboarding moves to the last step.\n * @param values\n * @returns\n */\n onSubmit?: (values: BenefitsFormPayload) => void | Promise<void>;\n /**\n * Callback function to be called when the submitting benefits form fails.\n * @param error\n * @returns\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n /**\n * Callback function to be called when benefits form is successfully submitted.\n * This function is called after the submitting benefits form is submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: SuccessResponse) => void | Promise<void>;\n};\n\nexport function BenefitsStep({\n components,\n onSubmit,\n onError,\n onSuccess,\n}: BenefitsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const fields = onboardingBag.fields ?? [];\n const initialValues = getInitialValues(\n fields,\n onboardingBag.initialValues.benefits,\n );\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(payload as BenefitsFormPayload);\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response.data as SuccessResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n onboardingBag.meta?.fields?.benefits,\n );\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n return (\n <OnboardingForm\n defaultValues={initialValues}\n components={components}\n onSubmit={handleSubmit}\n />\n );\n}\n","import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport {\n SelectCountryFormPayload,\n SelectCountrySuccess,\n} from '@/src/flows/Onboarding/types';\nimport { NormalizedFieldError } from '@/src/lib/mutations';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype SelectCountryStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: SelectCountryFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: SelectCountrySuccess) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function SelectCountryStep({\n onSubmit,\n onSuccess,\n onError,\n}: SelectCountryStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.({ countryCode: payload.country });\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response?.data as SelectCountrySuccess);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const initialValues =\n onboardingBag.stepState.values?.select_country ||\n onboardingBag.initialValues.select_country;\n\n return (\n <OnboardingForm defaultValues={initialValues} onSubmit={handleSubmit} />\n );\n}\n","import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport {\n CreditRiskStatus,\n CreditRiskState,\n Employment,\n} from '@/src/flows/Onboarding/types';\n\ntype ReviewStepProps = {\n /**\n * Render prop function for customizing the review step credit risk flow UI\n *\n * @param props - Object containing credit risk information\n * @param props.creditRiskState - Current state of the credit risk flow\n * - 'referred': Company has been referred for manual review\n * - 'deposit_required': Deposit payment is required but not yet paid\n * - 'deposit_required_successful': Deposit payment has been successfully processed\n * - 'invite': Regular invite flow is available (no deposit required)\n * - 'invite_successful': Invitation has been successfully sent\n * - null: No specific credit risk state applies\n *\n * @param props.creditRiskStatus - Credit risk status from the backend\n * - 'not_started': Credit risk assessment has not been initiated\n * - 'ready': Ready for credit risk assessment\n * - 'in_progress': Credit risk assessment is in progress\n * - 'referred': Company has been referred for manual review\n * - 'fail': Credit risk assessment failed\n * - 'deposit_required': Company requires a deposit payment\n * - 'no_deposit_required': No deposit is required for this company\n * - undefined: Credit risk status not yet determined\n * @returns React.ReactNode to render for the review step\n */\n render: (props: {\n creditRiskState: CreditRiskState;\n creditRiskStatus: CreditRiskStatus | undefined;\n }) => React.ReactNode;\n};\n\nconst statusesToNotShowDeposit: Employment['status'][] = [\n 'invited',\n 'created_reserve_paid',\n];\n\nconst CREDIT_RISK_STATUSES: CreditRiskStatus[] = [\n 'deposit_required',\n 'referred',\n];\n\nexport function ReviewStep({ render }: ReviewStepProps) {\n const { onboardingBag, creditScore } = useOnboardingContext();\n\n // Helper variables to make logic more readable\n const isDepositRequiredCreditRisk =\n onboardingBag.creditRiskStatus === 'deposit_required';\n\n const isDepositRequiredReservesStatus =\n onboardingBag.onboardingReservesStatus === 'deposit_required';\n\n const isDepositRequired =\n isDepositRequiredCreditRisk || isDepositRequiredReservesStatus;\n\n const isReferred = onboardingBag.creditRiskStatus === 'referred';\n\n const hasEmploymentStatusThatHidesDeposit =\n onboardingBag.employment?.status &&\n statusesToNotShowDeposit.includes(onboardingBag.employment.status);\n\n const isCreditRiskStatusInExclusionList =\n onboardingBag.creditRiskStatus &&\n CREDIT_RISK_STATUSES.includes(onboardingBag.creditRiskStatus);\n\n const shouldShowDepositFlow =\n isDepositRequired &&\n onboardingBag.employment?.status &&\n !hasEmploymentStatusThatHidesDeposit;\n\n const shouldShowInviteFlow =\n (!isDepositRequired &&\n onboardingBag.creditRiskStatus &&\n !isCreditRiskStatusInExclusionList) ||\n (onboardingBag.employment?.status && hasEmploymentStatusThatHidesDeposit);\n\n const getCreditRiskState = (): CreditRiskState => {\n // check if the company is referred\n if (isReferred) {\n return 'referred';\n }\n\n // Deposit required flow\n if (shouldShowDepositFlow) {\n return creditScore.showReserveInvoice\n ? 'deposit_required_successful'\n : 'deposit_required';\n }\n\n // Invite flow\n if (shouldShowInviteFlow) {\n return creditScore.showInviteSuccessful ? 'invite_successful' : 'invite';\n }\n\n // Default case\n return null;\n };\n\n const creditRiskState = getCreditRiskState();\n\n return render({\n creditRiskState,\n creditRiskStatus: onboardingBag.creditRiskStatus,\n });\n}\n","import { useFormFields } from '@/src/context';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { ButtonHTMLAttributes } from 'react';\nimport { NormalizedFieldError } from '@/src/lib/mutations';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype SaveDraftButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: () => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport const SaveDraftButton = ({\n onSuccess,\n onError,\n className,\n children,\n disabled = false,\n ...props\n}: SaveDraftButtonProps) => {\n const { onboardingBag, formId } = useOnboardingContext();\n\n const { components } = useFormFields();\n\n const handleSaveDraft = async () => {\n const form = document.getElementById(formId);\n if (form) {\n const submitEvent = new Event('submit', {\n bubbles: true,\n cancelable: true,\n });\n (submitEvent as $TSFixMe).isDraftSubmission = true;\n (submitEvent as $TSFixMe).draftCallbacks = { onSuccess, onError };\n form.dispatchEvent(submitEvent);\n }\n };\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n return (\n <CustomButton\n {...props}\n onClick={handleSaveDraft}\n disabled={disabled || onboardingBag.isSubmitting}\n className={className}\n >\n {children}\n </CustomButton>\n );\n};\n","import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\nimport { EngagementAgreementDetailsFormPayload } from '@/src/flows/Onboarding/types';\nimport { SuccessResponse } from '@/src/client';\n\ntype EngagementAgreementDetailsStepProps = {\n /**\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (\n payload: EngagementAgreementDetailsFormPayload,\n ) => void | Promise<void>;\n /**\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: SuccessResponse) => void | Promise<void>;\n /**\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function EngagementAgreementDetailsStep({\n onSubmit,\n onSuccess,\n onError,\n}: EngagementAgreementDetailsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n const parsedValues = await onboardingBag.parseFormValues(payload);\n await onSubmit?.(parsedValues as $TSFixMe);\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response?.data as SuccessResponse);\n onboardingBag?.next();\n return;\n }\n\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n onboardingBag.meta?.fields?.engagement_agreement_details,\n );\n\n onError?.({\n error: response?.error,\n rawError: response?.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const initialValues =\n (onboardingBag.stepState.values?.engagement_agreement_details as Record<\n string,\n unknown\n >) || onboardingBag.initialValues.engagement_agreement_details;\n\n return (\n <OnboardingForm defaultValues={initialValues} onSubmit={handleSubmit} />\n );\n}\n","import { useState } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport {\n useGetPreOnboardingRequirements,\n useCreatePreOnboardingDocument,\n useGetPreOnboardingDocument,\n useSignPreOnboardingDocument,\n useAcknowledgePreOnboardingRequirement,\n useRemoveAcknowledgePreOnboardingRequirement,\n} from '@/src/flows/Onboarding/api';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { PreOnboardingRequirement } from '@/src/client';\n\nexport const usePreOnboardingRequirements = ({\n employmentId,\n}: {\n employmentId: string;\n options?: Parameters<typeof useGetPreOnboardingRequirements>[1];\n}) => {\n const { onboardingBag } = useOnboardingContext();\n const [documentIds, setDocumentIds] = useState<Record<string, string>>({});\n const [activeRequirementSlug, setActiveRequirementSlug] = useState<\n string | undefined\n >();\n\n const isPreOnboardingRequirementsEnabled = Boolean(\n onboardingBag.options?.features?.includes('pre_onboarding_requirements') &&\n !!employmentId,\n );\n\n const {\n data: requirements,\n isLoading: isLoadingRequirements,\n refetch: refetchRequirements,\n } = useGetPreOnboardingRequirements(employmentId, {\n queryOptions: {\n enabled: isPreOnboardingRequirementsEnabled,\n },\n });\n\n const dependentBySlug = new Map<string, PreOnboardingRequirement>();\n for (const req of requirements ?? []) {\n if (req.depends_on_requirement) {\n dependentBySlug.set(req.depends_on_requirement.slug, req);\n }\n }\n\n const activeDocumentId = activeRequirementSlug\n ? documentIds[activeRequirementSlug]\n : undefined;\n\n const { data: documentPreview, isLoading: isLoadingDocumentPreview } =\n useGetPreOnboardingDocument(employmentId, activeDocumentId, {\n queryOptions: { enabled: !!activeDocumentId },\n });\n\n const createDocumentMutation = useCreatePreOnboardingDocument();\n const signDocumentMutation = useSignPreOnboardingDocument();\n const acknowledgeRequirementMutation =\n useAcknowledgePreOnboardingRequirement();\n const deleteAcknowledgeRequirementMutation =\n useRemoveAcknowledgePreOnboardingRequirement();\n\n const { mutateAsyncOrThrow: createDocumentMutationAsync } = mutationToPromise(\n createDocumentMutation,\n );\n const { mutateAsyncOrThrow: signDocumentMutationAsync } =\n mutationToPromise(signDocumentMutation);\n const { mutateAsyncOrThrow: acknowledgeRequirementMutationAsync } =\n mutationToPromise(acknowledgeRequirementMutation);\n const { mutateAsyncOrThrow: deleteAcknowledgeRequirementMutationAsync } =\n mutationToPromise(deleteAcknowledgeRequirementMutation);\n\n const onCreateDocument = async (requirementSlug: string) => {\n const requirement = requirements?.find(\n (req) => req.slug === requirementSlug,\n );\n\n if (requirement?.status === 'blocked') {\n const dependsOnName = requirement.depends_on_requirement?.name;\n throw new Error(\n `Cannot create document for blocked requirement. ${dependsOnName ? `${dependsOnName} must be completed first.` : 'A dependent requirement must be completed first.'}`,\n );\n }\n\n const existingDocumentId = documentIds[requirementSlug];\n setActiveRequirementSlug(requirementSlug);\n\n if (existingDocumentId) {\n return null;\n }\n\n const result = await createDocumentMutationAsync({\n employmentId,\n body: {\n requirement_slug: requirementSlug,\n employment_id: employmentId,\n },\n });\n const newDocumentId = result?.data.pre_onboarding_document.id;\n if (newDocumentId) {\n setDocumentIds((prev) => ({ ...prev, [requirementSlug]: newDocumentId }));\n }\n return result;\n };\n\n const onAcknowledgeRequirement = async (requirementSlug: string) => {\n const requirement = requirements?.find(\n (req) => req.slug === requirementSlug,\n );\n\n const isBlocked = requirement?.status === 'blocked';\n const isLocked = isAckLocked(requirementSlug);\n if (isBlocked) {\n const dependsOnName = requirement?.depends_on_requirement?.name;\n throw new Error(\n `Cannot acknowledge blocked requirement. ${dependsOnName ? `${dependsOnName} must be completed first.` : 'A dependent requirement must be completed first.'}`,\n );\n }\n\n if (isLocked) {\n throw new Error(\n 'Cannot uncheck this acknowledgement because other requirements depend on it and are already in progress or completed.',\n );\n }\n\n if (isPendingAcknowledgement) {\n throw new Error(\n 'Cannot acknowledge requirement while pending acknowledgement',\n );\n }\n\n const isFinished = requirement?.status === 'finished';\n\n if (!isFinished) {\n await acknowledgeRequirementMutationAsync({\n employmentId,\n requirementSlug,\n });\n } else {\n await deleteAcknowledgeRequirementMutationAsync({\n employmentId,\n requirementSlug,\n });\n }\n\n await refetchRequirements();\n };\n\n const onSignDocument = async (signature: string) => {\n if (!activeRequirementSlug) {\n throw new Error('No active requirement selected');\n }\n\n const documentId = documentIds[activeRequirementSlug];\n if (!documentId) {\n throw new Error('No document to sign');\n }\n\n if (!signature) {\n throw new Error('Signature is required');\n }\n\n const responnse = await signDocumentMutationAsync({\n employmentId,\n documentId,\n signature,\n });\n await refetchRequirements();\n return responnse;\n };\n\n const isAckLocked = (requirementSlug: string) => {\n return dependentBySlug.get(requirementSlug)?.status === 'finished';\n };\n\n const isRequirementLoading = (requirementSlug: string) => {\n return (\n activeRequirementSlug === requirementSlug &&\n (createDocumentMutation.isPending || isLoadingDocumentPreview)\n );\n };\n\n const isPendingAcknowledgement =\n acknowledgeRequirementMutation.isPending ||\n deleteAcknowledgeRequirementMutation.isPending;\n\n return {\n requirements,\n isLoadingRequirements,\n documentPreview,\n isSigning: signDocumentMutation.isPending,\n onCreateDocument,\n onSignDocument,\n onAcknowledgeRequirement,\n isPendingAcknowledgement,\n isAckLocked,\n isRequirementLoading,\n };\n};\n\nexport type PreOnboardingRequirementsBag = ReturnType<\n typeof usePreOnboardingRequirements\n>;\n\nexport const PreOnboardingRequirements = ({\n render,\n}: {\n render: (bag: PreOnboardingRequirementsBag) => React.ReactNode;\n}) => {\n const { onboardingBag } = useOnboardingContext();\n\n const bag = usePreOnboardingRequirements({\n employmentId: onboardingBag.employmentId as string,\n });\n\n return render(bag);\n};\n","import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\n\nexport function PreviewEmploymentAgreementStep() {\n const { onboardingBag } = useOnboardingContext();\n\n const handleSubmit = async () => {\n onboardingBag?.next();\n };\n\n return <OnboardingForm defaultValues={{}} onSubmit={handleSubmit} />;\n}\n","import { useId, useState } from 'react';\nimport { useOnboarding } from '@/src/flows/Onboarding/hooks';\nimport { BasicInformationStep } from '@/src/flows/Onboarding/components/BasicInformationStep';\nimport { OnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingSubmit } from '@/src/flows/Onboarding/components/OnboardingSubmit';\nimport { OnboardingBack } from '@/src/flows/Onboarding/components/OnboardingBack';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { OnboardingInvite } from '@/src/flows/Onboarding/components/OnboardingInvite';\nimport { ContractDetailsStep } from '@/src/flows/Onboarding/components/ContractDetailsStep';\nimport { BenefitsStep } from '@/src/flows/Onboarding/components/BenefitsStep';\nimport { SelectCountryStep } from '@/src/flows/Onboarding/components/SelectCountryStep';\nimport { ReviewStep } from '@/src/flows/Onboarding/components/ReviewStep';\nimport { SaveDraftButton } from '@/src/flows/Onboarding/components/SaveDraftButton';\nimport { EngagementAgreementDetailsStep } from '@/src/flows/Onboarding/components/EngagementAgreementDetailsStep';\nimport { PreOnboardingRequirements } from '@/src/flows/Onboarding/components/PreOnboardingRequirements';\nimport { PreviewEmploymentAgreementStep } from '@/src/flows/Onboarding/components/PreviewEmploymentAgreementStep';\n\nexport const OnboardingFlow = ({\n employmentId,\n companyId,\n countryCode,\n type = 'employee',\n externalId,\n partnerExternalId,\n skipSteps,\n initialValues,\n render,\n options,\n}: OnboardingFlowProps) => {\n const formId = useId();\n const onboardingBag = useOnboarding({\n companyId,\n countryCode,\n employmentId,\n type,\n options,\n skipSteps,\n externalId,\n partnerExternalId,\n initialValues,\n });\n\n const [creditScore, setCreditScore] = useState<{\n showReserveInvoice: boolean;\n showInviteSuccessful: boolean;\n }>({\n showReserveInvoice: false,\n showInviteSuccessful: false,\n });\n\n return (\n <OnboardingContext.Provider\n value={{\n formId: formId,\n onboardingBag,\n creditScore,\n setCreditScore: setCreditScore,\n }}\n >\n {render({\n onboardingBag,\n components: {\n BasicInformationStep: BasicInformationStep,\n EngagementAgreementDetailsStep: EngagementAgreementDetailsStep,\n ContractDetailsStep: ContractDetailsStep,\n BenefitsStep: BenefitsStep,\n SubmitButton: OnboardingSubmit,\n SaveDraftButton: SaveDraftButton,\n BackButton: OnboardingBack,\n OnboardingInvite: OnboardingInvite,\n SelectCountryStep: SelectCountryStep,\n ReviewStep: ReviewStep,\n PreOnboardingRequirements: PreOnboardingRequirements,\n PreviewEmploymentAgreementStep: PreviewEmploymentAgreementStep,\n },\n })}\n </OnboardingContext.Provider>\n );\n};\n","import {\n buildZendeskURL,\n zendeskArticles,\n} from '@/src/components/shared/zendesk-drawer/utils';\nimport { cn } from '@/src/internals';\n\nexport const EmploymentAgreementInfoContent = () => {\n return (\n <>\n <div\n className={cn('RemoteFlows__EmploymentAgreementInfoContent__InfoBox')}\n >\n <p\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__InfoBoxText',\n )}\n >\n You are previewing a draft version of our employment agreement\n template for this specific hire in this specific country, based on the\n selections you made on the previous screens.\n </p>\n </div>\n\n <p\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__Description',\n )}\n >\n Remote's agreements are drafted by local employment and labor law\n experts to ensure compliance, balance, and efficiency.\n </p>\n\n <div>\n <p\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__WarningTitle',\n )}\n >\n We strongly discourage customizations or redlining.\n </p>\n <p\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__Description',\n )}\n >\n Modifying agreements can:\n </p>\n <ul\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__List list-disc list-inside',\n )}\n >\n <li\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__ListItem',\n )}\n >\n Create compliance risks\n </li>\n <li\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__ListItem',\n )}\n >\n Jeopardize enforceability\n </li>\n <li\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__ListItem',\n )}\n >\n Increase the risk of misemployment\n </li>\n </ul>\n </div>\n\n <p\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__Description',\n )}\n >\n If you have questions or believe a change is necessary, please do not\n invite the employee. Instead, save this invitation as a draft and\n contact your Account Executive or Customer Success Manager at Remote.\n </p>\n\n <p\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__Description',\n )}\n >\n If neither is available, please reach out to{' '}\n <a\n href='mailto:help@remote.com'\n className={cn('RemoteFlows__EmploymentAgreementInfoContent__Link')}\n target='_blank'\n rel='noopener noreferrer'\n >\n help@remote.com ↗\n </a>\n . Our Legal team will review and, where possible, align your needs with\n local compliance requirements, before inviting the employee, ensuring a\n smooth onboarding process.\n </p>\n\n <p\n className={cn(\n 'RemoteFlows__EmploymentAgreementInfoContent__Description',\n )}\n >\n For guidance, see our{' '}\n <a\n className={cn('RemoteFlows__EmploymentAgreementInfoContent__Link')}\n href={buildZendeskURL(zendeskArticles.employmentAgreements)}\n target='_blank'\n rel='noopener noreferrer'\n >\n Agreement Engagement Guide ↗\n </a>{' '}\n to understand what can (and can't) be modified.\n </p>\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{jsx as t,jsxs as n}from"react/jsx-runtime";var r=e({PDFPreviewDefault:()=>i});function i({base64Data:e,fileName:r=`document.pdf`}){return e?n(`div`,{className:`w-full h-full flex flex-col gap-4`,children:[t(`iframe`,{src:e,className:`w-full flex-1 min-h-[600px] border rounded`,title:r}),n(`div`,{className:`flex justify-between items-center text-sm`,children:[t(`p`,{className:`text-gray-600`,children:r}),t(`a`,{href:e,download:r,className:`text-blue-600 hover:underline`,children:`Download PDF`})]})]}):t(`div`,{className:`w-full border rounded p-8 text-center bg-gray-50`,children:t(`p`,{className:`text-gray-500`,children:`No PDF data available`})})}export{r as n,i as t};
|
|
2
|
+
//# sourceMappingURL=PDFPreviewDefault-DFTUnKAv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PDFPreviewDefault-DFTUnKAv.js","names":[],"sources":["../src/components/shared/pdf-preview/PDFPreviewDefault.tsx"],"sourcesContent":["import { PDFPreviewComponentProps } from '@/src/types/remoteFlows';\n\nexport function PDFPreviewDefault({\n base64Data,\n fileName = 'document.pdf',\n}: PDFPreviewComponentProps) {\n if (!base64Data) {\n return (\n <div className='w-full border rounded p-8 text-center bg-gray-50'>\n <p className='text-gray-500'>No PDF data available</p>\n </div>\n );\n }\n\n return (\n // Fills its container when given one — in a drawer the viewer should use the height it\n // has rather than a fixed slab with dead space under it. `min-h` keeps the previous\n // rendering wherever the parent's height is unconstrained, since an iframe has no\n // intrinsic height to grow from.\n <div className='w-full h-full flex flex-col gap-4'>\n <iframe\n src={base64Data}\n className='w-full flex-1 min-h-[600px] border rounded'\n title={fileName}\n />\n <div className='flex justify-between items-center text-sm'>\n <p className='text-gray-600'>{fileName}</p>\n <a\n href={base64Data}\n download={fileName}\n className='text-blue-600 hover:underline'\n >\n Download PDF\n </a>\n </div>\n </div>\n );\n}\n"],"mappings":"wIAEA,SAAgB,EAAkB,CAChC,aACA,WAAW,gBACgB,CAS3B,OARK,EAaH,EAAC,MAAD,CAAK,UAAU,oCAAf,SAAA,CACE,EAAC,SAAD,CACE,IAAK,EACL,UAAU,6CACV,MAAO,CACR,CAAA,EACD,EAAC,MAAD,CAAK,UAAU,4CAAf,SAAA,CACE,EAAC,IAAD,CAAG,UAAU,gBAAiB,SAAA,CAAY,CAAA,EAC1C,EAAC,IAAD,CACE,KAAM,EACN,SAAU,EACV,UAAU,gCACX,SAAA,cAEE,CAAA,CACA,CACF,CAAA,CAAA,IA3BH,EAAC,MAAD,CAAK,UAAU,mDACb,SAAA,EAAC,IAAD,CAAG,UAAU,gBAAgB,SAAA,uBAAwB,CAAA,CAClD,CAAA,CA2BX"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{A as e,H as t,K as n,g as r}from"./CheckBoxField-DSq9Qf8u.js";import{At as i,Ct as a,St as o,kt as s,nt as c,ot as l,wt as u,y as d}from"./sdk.gen-C7MLoCMc.js";import{i as f,t as p}from"./JSONSchemaForm-DehMm5lM.js";import{t as m}from"./countries-BiKsglKy.js";import{t as h}from"./useJSONSchemaForm-CiLms2z5.js";import{t as g}from"./useStepState-BmZF37pW.js";import{t as _}from"./useErrorReporting-BC2ObW1s.js";import{n as v,t as y}from"./gpOnboarding-BeH-l_v0.js";import{createContext as b,createElement as x,useCallback as S,useContext as C,useId as w,useMemo as T,useState as E}from"react";import{jsx as D}from"react/jsx-runtime";import{useMutation as O,useQuery as k}from"@tanstack/react-query";const A={"x-rmt-meta":{jsfOldVersion:!0},additionalProperties:!1,properties:{country_code:{title:`Country`,description:``,type:`string`,oneOf:[],"x-jsf-presentation":{inputType:`select`}}},required:[`country_code`],type:`object`,"x-jsf-order":[`country_code`]},ee=(e,t,n,r)=>{let{client:i}=s(),a=r?.employmentId;return k({queryKey:[`gp-form-schema`,e,t,a],enabled:!!e&&!!t&&(r?.enabled??!0),retry:!1,queryFn:async()=>{let n=await d({client:i,headers:{Authorization:``},path:{country_code:e,form:t},...a?{query:{employment_id:a}}:{}});if(n.error||!n.data)throw Error(`Failed to fetch ${t} schema`);return n},select:({data:e})=>f(e?.data||{},n)})},te=e=>{let{client:t}=s();return k({...m(t,`gp-admin`),select:t=>{let n=t?.data?.data??[],r={...A,properties:{country_code:{...A.properties.country_code,oneOf:n.map(e=>({const:e.code,title:e.name}))}}};return f(r,e)}})},ne=()=>{let{client:e}=s();return O({mutationFn:({countryCode:t,legalEntityId:n,basicInformation:r,externalId:i})=>c({client:e,headers:{Authorization:``},body:{type:`global_payroll_employee`,country_code:t,engaged_by_entity_slug:n,basic_information:r,external_id:i}})})},re=()=>{let{client:e}=s();return O({mutationFn:({employmentId:t,basicInformation:n})=>a({client:e,headers:{Authorization:``},path:{employment_id:t},body:{basic_information:n}})})},ie=()=>{let{client:e}=s();return O({mutationFn:({employmentId:t,contractDetails:n})=>u({client:e,headers:{Authorization:``},path:{employment_id:t},body:{contract_details:n}})})},ae=()=>{let{client:e}=s();return O({mutationFn:({employmentId:t,administrativeDetails:n})=>o({client:e,headers:{Authorization:``},path:{employment_id:t},body:{administrative_details:n}})})},j=()=>{let{client:e}=s();return O({mutationFn:({employmentId:t})=>l({client:e,headers:{Authorization:``},path:{employment_id:t}})})},M=e=>{let t=0;return{select_country:{index:t++,name:`select_country`,visible:!e},contract_details:{index:t++,name:`contract_details`},administrative_details:{index:t++,name:`administrative_details`},invite:{index:t++,name:`invite`}}},N=({companyId:e,legalEntityId:r,countryCode:i,employmentId:a,initialValues:o,options:s})=>{let{data:c,isLoading:l,isError:u}=y(e),d=r??c?.[0]?.id,[f,p]=E(a),m=o?.basic_information?.country_code,[h,b]=E(i??m),x=!!h&&!!a,C=T(()=>M(x),[x]),{updateErrorContext:w}=_({flow:`payroll_admin_onboarding`}),D=S(e=>{w({step:e.name})},[w]),{stepState:O,nextStep:k,previousStep:A,goToStep:j,setStepValues:N,fieldValues:P,setFieldValues:F}=g(C,D),I=O.currentStep.name,L={select_country:`global_payroll_basic_information`,contract_details:`global_payroll_contract_details`,administrative_details:`global_payroll_administrative_details`},R=te(P),z=ee(h,L[I],P,{employmentId:I===`select_country`?void 0:f}),B=I===`select_country`&&!h,V=B?R.data:z.data,H=B?R.isLoading:z.isLoading,U=ne(),W=re(),G=ie(),K=ae(),{mutateAsyncOrThrow:q}=n(U),{mutateAsyncOrThrow:J}=n(W),{mutateAsyncOrThrow:Y}=n(G),{mutateAsyncOrThrow:X}=n(K),oe=U.isPending||W.isPending||G.isPending||K.isPending,{data:Z,isLoading:se,refetch:Q}=v(f),ce=Z?.find(e=>e.type===`completion`)?.sub_steps?.[0]?.status===`completed`,le=S(e=>{F(e);let t=e.country_code;t&&t!==h&&b(t)},[h,F]),ue=S(async e=>{if(!V)return null;let n=await t(e,V.fields,{isPartialValidation:!1});return V.handleValidation(n)},[V]),$=S(async e=>V?t(e,V.fields,{isPartialValidation:!1}):e,[V]),de=S(async e=>{let t=await $(e);switch(I){case`select_country`:{let e=t.country_code??h;if(!e)throw Error(`Country code is required to create an employment.`);if(e!==h&&b(e),f){let e=await J({employmentId:f,basicInformation:t});return await Q(),e}if(!d)throw Error(`No GP-enabled legal entity available. Cannot create an employment.`);let n=await q({countryCode:e,legalEntityId:d,basicInformation:t}),r=n?.data?.employment?.id;if(!r)throw Error(`Employment was created but no ID was returned. Cannot proceed.`);return p(r),await Q(),n}case`contract_details`:{if(!f)throw Error(`Employment ID is missing. Complete the previous step first.`);let e=await Y({employmentId:f,contractDetails:t});return await Q(),e}case`administrative_details`:{if(!f)throw Error(`Employment ID is missing. Complete the previous step first.`);let e=await X({employmentId:f,administrativeDetails:t});return await Q(),e}default:return}},[I,h,f,d,$,q,J,Y,X,Q]);return{stepState:O,isLoading:se||H||l,isSubmitting:oe,isComplete:ce??!1,companyId:e,legalEntityId:d,legalEntities:c??[],isErrorLegalEntities:u,countryCode:h,employmentId:f,initialValues:o,options:s,apiSteps:Z,refetchSteps:Q,fields:V?.fields??[],meta:V?.meta??{},fieldValues:P,setFieldValues:le,handleValidation:ue,parseFormValues:$,onSubmit:de,setInternalCountryCode:b,setInternalEmploymentId:p,next:k,back:A,goToStep:j,setStepValues:N}},P=b({formId:void 0,adminBag:null}),F=()=>{let e=C(P);if(!e.formId||!e.adminBag)throw Error(`usePayrollAdminOnboardingContext must be used within a PayrollAdminOnboardingFlow`);return e};function I({onSubmit:e,defaultValues:t}){let{formId:n,adminBag:i}=F(),a=h({handleValidation:i.handleValidation,defaultValues:t??{},checkFieldUpdates:i.setFieldValues});return x(r,{...a,key:`form-${i.stepState.currentStep.name}`},D(`form`,{id:n,onSubmit:a.handleSubmit(t=>e(t,a)),className:`space-y-4 RemoteFlows__PayrollAdminForm`,children:D(p,{fields:i.fields,fieldsets:i.meta[`x-jsf-fieldsets`],fieldValues:i.fieldValues})}))}function L({onSubmit:t,onSuccess:n,onError:r}){let{adminBag:i}=F();return async(a,o)=>{try{await t?.(a);let e=await i.onSubmit(a);await n?.(e),i.next()}catch(t){r?.(e(t,void 0,o))}}}function R(e){let{adminBag:t}=F(),n=L(e),r={...t.initialValues?.basic_information,...t.stepState.values?.select_country};return D(I,{onSubmit:n,defaultValues:r},t.countryCode??`no-country`)}function z(e){let{adminBag:t}=F(),n=L(e),r={...t.initialValues?.contract_details,...t.stepState.values?.contract_details};return D(I,{onSubmit:n,defaultValues:r})}function B(e){let{adminBag:t}=F(),n=L(e),r={...t.initialValues?.administrative_details,...t.stepState.values?.administrative_details};return D(I,{onSubmit:n,defaultValues:r})}function V({onSuccess:t,onError:r,children:a}){let{adminBag:o}=F(),{components:s}=i(),c=j(),{mutateAsyncOrThrow:l}=n(c),u=s?.button;if(!u)throw Error(`Button component not found`);return D(u,{onClick:async()=>{try{if(!o.employmentId)throw Error(`Employment ID is missing. Complete the previous steps first.`);let e=await l({employmentId:o.employmentId});await o.refetchSteps(),await t?.(e),o.next()}catch(t){r?.(e(t))}},disabled:c.isPending||o.isSubmitting,children:a??`Send invitation`})}function H({children:e,...t}){let{formId:n,adminBag:r}=F(),{components:a}=i(),o=a?.button;if(!o)throw Error(`Button component not found`);return D(o,{...t,form:n,disabled:t.disabled||r.isSubmitting||r.isLoading,children:e})}function U({children:e,onClick:t,...n}){let{adminBag:r}=F(),{components:a}=i(),o=a?.button;if(!o)throw Error(`Button component not found`);let s=e=>{r.back(),t?.(e)};return D(o,{...n,onClick:s,children:e})}const W=({companyId:e,legalEntityId:t,countryCode:n,employmentId:r,initialValues:i,options:a,render:o})=>{let s=w(),c=N({companyId:e,legalEntityId:t,countryCode:n,employmentId:r,initialValues:i,options:a});return D(P.Provider,{value:{formId:s,adminBag:c},children:o({adminBag:c,components:{SelectCountryStep:R,ContractDetailsStep:z,AdministrativeDetailsStep:B,InvitationStep:V,SubmitButton:H,BackButton:U}})})};export{N as n,W as t};
|
|
2
|
+
//# sourceMappingURL=PayrollAdminOnboarding-Byn90Nuf.js.map
|