@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,2 @@
|
|
|
1
|
+
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{I as n,L as r,U as i,X as a,l as o,v as s}from"./CheckBoxField-DSq9Qf8u.js";import{At as c}from"./sdk.gen-C7MLoCMc.js";import{t as l}from"./HelpCenter-DUyZK5NH.js";import{o as u}from"./api-D3v21Bid.js";import{useCallback as d,useEffect as f,useRef as p,useState as m}from"react";import{Fragment as h,jsx as g,jsxs as _}from"react/jsx-runtime";import v from"lodash.omit";var y=t(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),b=t(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),x=t(((e,t)=>{var n=b(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),S=t(((e,t)=>{var n=x();t.exports=function(){return n.Date.now()}})),C=t(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),w=t(((e,t)=>{var n=C(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),T=t(((e,t)=>{t.exports=x().Symbol})),E=t(((e,t)=>{var n=T(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),D=t(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),O=t(((e,t)=>{var n=T(),r=E(),i=D(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),k=t(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),A=t(((e,t)=>{var n=O(),r=k(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),j=t(((e,t)=>{var n=w(),r=y(),i=A(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),M=e(t(((e,t)=>{var n=y(),r=S(),i=j(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c}))(),1);function N(e,t){let n=p(e);f(()=>{n.current=e},[e]);let r=p((0,M.default)(e=>{n.current(e)},t)).current;return d(e=>{r(e)},[r])}const P=({description:e,helpCenter:t,toggle:n,className:r})=>_(`span`,{className:r,children:[g(s,{as:`span`,helpCenter:t,children:e}),` `,n]}),F=({showConversion:e,targetCurrency:t,className:n,onClick:r})=>{let{components:i}=c(),a=e?`Hide ${t} conversion`:`Show ${t} conversion`,o=i?.button;if(!o)throw Error(`Button component not found`);return g(o,{className:n,"data-type":`inline`,onClick:r,children:a})},I=({sourceCurrency:e,targetCurrency:t,mainFieldName:s,conversionFieldName:c,conversionProperties:y,classNamePrefix:b,description:x,conversionType:S=`spread`,meta:C,splitDescription:w=!1,...T})=>{let[E,D]=m(!1),{setValue:O,watch:k}=a(),A=k(s||T.name),j=p(!0),M=e&&t&&e!==t,{mutateAsync:I}=u({type:S}),L=`${T.name}_converted`;f(()=>{O(L,s||T.name)},[O,s,T.name,L]),f(()=>{if(j.current){j.current=!1;return}O(c,``)},[e,c,O]);let R=d(async(e,t,n)=>{if(!(!e||isNaN(e)||e<=0))return I({source_currency:t,target_currency:n,amount:e})},[I]),z=N(async a=>{let o=r(a),s=1/((await R(o,t,e))?.data?.data.conversion_data?.exchange_rate??1),l=i(Number(o)*s);O(c,n(l))},500),B=N(async i=>{let a=r(i),o=(await R(a,t,e))?.data?.data.conversion_data.target_amount;O(s||T.name,n(o))},500),V=e=>{O(L,s||T.name),E&&z(e.target.value)},H=e=>{O(L,c),B(e.target.value)},U=M?g(F,{targetCurrency:t,showConversion:E,className:`${b}-button`,onClick:e=>{e.preventDefault(),D(e=>!e),!E&&A&&z(A)}}):null,W=w?{meta:C,description:x,descriptionSuffix:U}:{meta:U?v(C,`helpCenter`):C,description:U?g(P,{description:x,helpCenter:g(l,{helpCenter:C?.helpCenter}),toggle:U,className:`${b}-description`}):x};return _(h,{children:[g(o,{...T,...W,name:s||T.name,additionalProps:{currency:e},type:`text`,inputMode:`decimal`,pattern:`^[0-9.]*$`,maxLength:15,onChange:V}),E&&g(o,{additionalProps:{currency:t},name:c,label:y?.label||`Conversion`,description:y?.description,type:`text`,inputMode:`decimal`,pattern:`^[0-9.]*$`,maxLength:15,onChange:H}),g(`input`,{type:`hidden`,name:L,value:k(L)||s||T.name})]})};export{I as t};
|
|
2
|
+
//# sourceMappingURL=CurrencyConversionField-DMi3ydBX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurrencyConversionField-DMi3ydBX.js","names":["debounce"],"sources":["../node_modules/lodash/isObject.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/now.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/debounce.js","../src/common/hooks.ts","../src/components/form/fields/CurrencyConversionField.tsx"],"sourcesContent":["/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","import { useCallback, useEffect, useRef } from 'react';\nimport debounce from 'lodash/debounce';\n\nexport function useDebounce(\n callback: (value: string) => Promise<void>,\n delay: number,\n) {\n const callbackRef = useRef(callback);\n\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n const debouncedFn = useRef(\n // WE NEED TO FIX: react-hooks/refs - Passing a ref to a function may read its value during render\n // oxlint-disable-next-line react-hooks/refs\n debounce((value: string) => {\n callbackRef.current(value);\n }, delay),\n ).current;\n\n return useCallback(\n (value: string) => {\n debouncedFn(value);\n },\n [debouncedFn],\n );\n}\n","import { ReactNode, useState, useCallback, useEffect, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { TextField } from '@/src/components/form/fields/TextField';\nimport { useConvertCurrency } from '@/src/flows/Onboarding/api';\nimport { JSFField } from '@/src/types/remoteFlows';\nimport { HelpCenterDataProps } from '@/src/types/fields';\nimport { useFormFields } from '@/src/context';\nimport { useDebounce } from '@/src/common/hooks';\nimport { FormDescription } from '@/src/components/ui/form';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport {\n convertFromCents,\n convertToCents,\n round,\n} from '@/src/components/form/utils';\n\ntype DescriptionWithConversionProps = {\n description: ReactNode;\n helpCenter: ReactNode;\n toggle: ReactNode;\n className: string;\n};\n\nconst DescriptionWithConversion = ({\n description,\n helpCenter,\n toggle,\n className,\n}: DescriptionWithConversionProps) => (\n <span className={className}>\n <FormDescription as='span' helpCenter={helpCenter}>\n {description}\n </FormDescription>{' '}\n {toggle}\n </span>\n);\n\ntype ConversionToggleProps = {\n showConversion: boolean;\n targetCurrency: string;\n className: string;\n onClick: (evt: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nconst ConversionToggle = ({\n showConversion,\n targetCurrency,\n className,\n onClick,\n}: ConversionToggleProps) => {\n const { components } = useFormFields();\n const label = showConversion\n ? `Hide ${targetCurrency} conversion`\n : `Show ${targetCurrency} conversion`;\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n return (\n <CustomButton className={className} data-type='inline' onClick={onClick}>\n {label}\n </CustomButton>\n );\n};\n\nexport type CurrencyConversionFieldProps = JSFField & {\n sourceCurrency: string;\n targetCurrency: string;\n mainFieldName?: string;\n conversionFieldName: string;\n conversionProperties?: {\n label?: string;\n description?: ReactNode;\n };\n useProxy?: boolean;\n classNamePrefix: string;\n conversionType?: 'spread' | 'no_spread';\n meta?: {\n helpCenter?: HelpCenterDataProps;\n };\n /**\n * Enabled by the 'split_salary_description' feature flag. When on, the description, the help\n * center link and the conversion toggle are handed to the text component as three separate\n * slots instead of being packed into the description node.\n */\n splitDescription?: boolean;\n};\n\nexport const CurrencyConversionField = ({\n sourceCurrency,\n targetCurrency,\n mainFieldName,\n conversionFieldName,\n conversionProperties,\n classNamePrefix,\n description,\n conversionType = 'spread',\n meta,\n splitDescription = false,\n ...props\n}: CurrencyConversionFieldProps) => {\n const [showConversion, setShowConversion] = useState(false);\n const { setValue, watch } = useFormContext();\n const fieldValue = watch(mainFieldName || props.name);\n const isFirstRender = useRef(true);\n\n const canShowConversion =\n sourceCurrency && targetCurrency && sourceCurrency !== targetCurrency;\n\n const { mutateAsync: convertCurrency } = useConvertCurrency({\n type: conversionType,\n });\n\n // we keep track of the last input the user used, so we can make sure\n // we keep consistent currency rates\n const lastInputFieldName = `${props.name}_converted`;\n useEffect(() => {\n setValue(lastInputFieldName, mainFieldName || props.name);\n }, [setValue, mainFieldName, props.name, lastInputFieldName]);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n\n // when source currency changes, reset the conversion field\n setValue(conversionFieldName, '');\n }, [sourceCurrency, conversionFieldName, setValue]);\n\n const convertCurrencyCallback = useCallback(\n async (amount: number | null, fromCurrency: string, toCurrency: string) => {\n if (!amount || isNaN(amount) || amount <= 0) return;\n\n return convertCurrency({\n source_currency: fromCurrency,\n target_currency: toCurrency,\n amount,\n });\n },\n [convertCurrency],\n );\n\n const debouncedConvertCurrency = useDebounce(async (value: string) => {\n // The SDK sets the employer billing currency in the salary field, but internally we don't do it like this, is set based on the employee billing currency\n // That's why we need to do 1 / exchange rate to get the correct amount, if currencies were different, it would be done in the debouncedConvertCurrencyReverse\n // THE BE always transforms from the target currency to the source currency\n const amountInCents = convertToCents(value);\n const conversion = await convertCurrencyCallback(\n amountInCents,\n targetCurrency,\n sourceCurrency,\n );\n\n const exchangeRate =\n 1 / (conversion?.data?.data.conversion_data?.exchange_rate ?? 1);\n\n const amount = round(Number(amountInCents) * exchangeRate);\n\n setValue(conversionFieldName, convertFromCents(amount));\n }, 500);\n\n const debouncedConvertCurrencyReverse = useDebounce(async (value: string) => {\n const amount = convertToCents(value);\n const conversion = await convertCurrencyCallback(\n amount,\n targetCurrency,\n sourceCurrency,\n );\n\n const conversionAmount =\n conversion?.data?.data.conversion_data.target_amount;\n\n setValue(mainFieldName || props.name, convertFromCents(conversionAmount));\n }, 500);\n\n const handleMainFieldChange = (evt: React.ChangeEvent<HTMLInputElement>) => {\n setValue(lastInputFieldName, mainFieldName || props.name);\n if (showConversion) {\n debouncedConvertCurrency(evt.target.value);\n }\n };\n\n const handleConversionFieldChange = (\n evt: React.ChangeEvent<HTMLInputElement>,\n ) => {\n setValue(lastInputFieldName, conversionFieldName);\n debouncedConvertCurrencyReverse(evt.target.value);\n };\n\n const toggleConversion = (evt: React.MouseEvent<HTMLButtonElement>) => {\n evt.preventDefault();\n setShowConversion((prev) => !prev);\n\n if (!showConversion && fieldValue) {\n debouncedConvertCurrency(fieldValue);\n }\n };\n\n const conversionToggle = canShowConversion ? (\n <ConversionToggle\n targetCurrency={targetCurrency}\n showConversion={showConversion}\n className={`${classNamePrefix}-button`}\n onClick={toggleConversion}\n />\n ) : null;\n\n // With the split_salary_description feature, the toggle is handed over as a separate slot so the\n // text component stays free to render the description, the help center link and the toggle\n // however it wants. Without it, we keep packing them into the description node: it's the only\n // slot every text component is known to render, so the toggle can't get lost. The help center\n // link is then rendered by us and stripped from the meta we forward, to avoid rendering it twice\n // (FormDescription appends it after its children, which would put it after the toggle).\n const descriptionProps = splitDescription\n ? { meta, description, descriptionSuffix: conversionToggle }\n : {\n meta: conversionToggle ? omit(meta, 'helpCenter') : meta,\n description: conversionToggle ? (\n <DescriptionWithConversion\n description={description}\n helpCenter={<HelpCenter helpCenter={meta?.helpCenter} />}\n toggle={conversionToggle}\n className={`${classNamePrefix}-description`}\n />\n ) : (\n description\n ),\n };\n\n return (\n <>\n <TextField\n {...props}\n {...descriptionProps}\n name={mainFieldName || props.name}\n additionalProps={{ currency: sourceCurrency }}\n type='text'\n inputMode='decimal'\n pattern='^[0-9.]*$'\n maxLength={15}\n onChange={handleMainFieldChange}\n />\n {showConversion && (\n <TextField\n additionalProps={{ currency: targetCurrency }}\n name={conversionFieldName}\n label={conversionProperties?.label || 'Conversion'}\n description={conversionProperties?.description}\n type='text'\n inputMode='decimal'\n pattern='^[0-9.]*$'\n maxLength={15}\n onChange={handleConversionFieldChange}\n />\n )}\n <input\n type='hidden'\n name={lastInputFieldName}\n value={watch(lastInputFieldName) || mainFieldName || props.name}\n />\n </>\n );\n};\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{C as t,E as n,S as r,_ as i,m as a,p as o,v as s,x as c}from"./CheckBoxField-DSq9Qf8u.js";import{t as l}from"./HelpCenter-DUyZK5NH.js";import{n as u,r as d,t as f}from"./popover-DwWAD4cG.js";import{useState as p}from"react";import{format as m}from"date-fns";import{Fragment as h,jsx as g,jsxs as _}from"react/jsx-runtime";import{CalendarIcon as v,ChevronLeft as y,ChevronRight as b}from"lucide-react";import{DayPicker as x}from"react-day-picker";function S({className:e,classNames:t,showOutsideDays:r=!0,...i}){return g(x,{showOutsideDays:r,className:n(`p-3`,e),classNames:{months:`flex flex-col sm:flex-row gap-2`,month:`flex flex-col gap-4`,caption:`flex justify-center pt-1 relative items-center w-full`,caption_label:`text-sm font-medium`,nav:`flex items-center gap-1`,nav_button:n(a({variant:`outline`}),`size-7 bg-transparent p-0 opacity-50 hover:opacity-100`),nav_button_previous:`absolute left-1`,nav_button_next:`absolute right-1`,table:`w-full border-collapse space-x-1`,head_row:`flex`,head_cell:`text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]`,row:`flex w-full mt-2`,cell:n(`relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md`,i.mode===`range`?`[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md`:`[&:has([aria-selected])]:rounded-md`),day:n(a({variant:`ghost`}),`size-8 p-0 font-normal aria-selected:opacity-100`),day_range_start:`day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground`,day_range_end:`day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground`,day_selected:`bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground`,day_today:`bg-accent text-accent-foreground`,day_outside:`day-outside text-muted-foreground aria-selected:text-muted-foreground`,day_disabled:`text-muted-foreground opacity-50`,day_range_middle:`aria-selected:bg-accent aria-selected:text-accent-foreground`,day_hidden:`invisible`,...t},components:{IconLeft:({className:e,...t})=>g(y,{className:n(`size-4`,e),...t}),IconRight:({className:e,...t})=>g(b,{className:n(`size-4`,e),...t})},...i})}var C=e({DatePickerFieldDefault:()=>w});function w({field:e,fieldData:a,fieldState:y}){let{name:b,label:x,description:C,minDate:w,maxDate:T}=a,E=w?new Date(w):void 0,D=T?new Date(T):void 0,[O,k]=p(!1),A=new Date().getFullYear(),j=E?E.getFullYear():1900,M=Math.max(j,D?D.getFullYear():A+10);return _(c,{"data-field":b,className:`flex flex-col RemoteFlows__DatePickerField__Item__${b}`,children:[g(r,{className:`RemoteFlows__DatePickerField__Label`,children:x}),_(f,{open:O,onOpenChange:k,children:[g(d,{asChild:!0,children:g(i,{children:g(`div`,{children:_(o,{type:`button`,variant:`outline`,className:n(`w-full pl-3 text-left font-normal`,!e.value&&`text-muted-foreground`),"data-testid":`date-picker-button-${b}`,children:[e.value&&g(h,{children:m(e.value,`yyyy-MM-dd`)}),g(v,{className:`ml-auto h-4 w-4 opacity-50`})]})})})}),g(u,{className:`w-auto p-0 RemoteFlows__DatepickerField__PopoverContent`,align:`start`,children:g(S,{mode:`single`,captionLayout:`dropdown`,fromYear:j,toYear:M,className:`RemoteFlows__DatepickerField__Calendar`,selected:e.value?new Date(e.value):void 0,onDayClick:t=>{let n=m(t,`yyyy-MM-dd`);e.onChange(n),k(!1)},defaultMonth:e.value?new Date(e.value):D??E,disabled:e=>!!(E&&e<E||D&&e>D)})})]}),C?g(s,{helpCenter:g(l,{helpCenter:a.meta?.helpCenter}),children:C}):null,y.error&&g(t,{className:`RemoteFlows__DatePickerField__Error`})]})}export{C as n,w as t};
|
|
2
|
+
//# sourceMappingURL=DatePickerFieldDefault-DirN5nuB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerFieldDefault-DirN5nuB.js","names":[],"sources":["../src/components/ui/calendar.tsx","../src/components/form/fields/default/DatePickerFieldDefault.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '@/src/lib/utils';\nimport { buttonVariants } from '@/src/components/ui/button';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: React.ComponentProps<typeof DayPicker>) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3', className)}\n classNames={{\n months: 'flex flex-col sm:flex-row gap-2',\n month: 'flex flex-col gap-4',\n caption: 'flex justify-center pt-1 relative items-center w-full',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center gap-1',\n nav_button: cn(\n buttonVariants({ variant: 'outline' }),\n 'size-7 bg-transparent p-0 opacity-50 hover:opacity-100',\n ),\n nav_button_previous: 'absolute left-1',\n nav_button_next: 'absolute right-1',\n table: 'w-full border-collapse space-x-1',\n head_row: 'flex',\n head_cell:\n 'text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]',\n row: 'flex w-full mt-2',\n cell: cn(\n 'relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md',\n props.mode === 'range'\n ? '[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md'\n : '[&:has([aria-selected])]:rounded-md',\n ),\n day: cn(\n buttonVariants({ variant: 'ghost' }),\n 'size-8 p-0 font-normal aria-selected:opacity-100',\n ),\n day_range_start:\n 'day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground',\n day_range_end:\n 'day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground',\n day_selected:\n 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',\n day_today: 'bg-accent text-accent-foreground',\n day_outside:\n 'day-outside text-muted-foreground aria-selected:text-muted-foreground',\n day_disabled: 'text-muted-foreground opacity-50',\n day_range_middle:\n 'aria-selected:bg-accent aria-selected:text-accent-foreground',\n day_hidden: 'invisible',\n ...classNames,\n }}\n components={{\n IconLeft: ({ className, ...props }) => (\n <ChevronLeft className={cn('size-4', className)} {...props} />\n ),\n IconRight: ({ className, ...props }) => (\n <ChevronRight className={cn('size-4', className)} {...props} />\n ),\n }}\n {...props}\n />\n );\n}\n\nexport { Calendar };\n","import { Button } from '@/src/components/ui/button';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { DatePickerComponentProps } from '@/src/types/fields';\nimport { CalendarIcon } from 'lucide-react';\nimport { format } from 'date-fns';\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from '@/src/components/ui/popover';\nimport { cn } from '@/src/lib/utils';\nimport { Calendar } from '@/src/components/ui/calendar';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport { useState } from 'react';\n\nexport function DatePickerFieldDefault({\n field,\n fieldData,\n fieldState,\n}: DatePickerComponentProps) {\n const { name, label, description, minDate, maxDate } = fieldData;\n const minDateValue = minDate ? new Date(minDate) : undefined;\n const maxDateValue = maxDate ? new Date(maxDate) : undefined;\n const [open, setOpen] = useState(false);\n\n const currentYear = new Date().getFullYear();\n const fromYear = minDateValue ? minDateValue.getFullYear() : 1900;\n const toYear = Math.max(\n fromYear,\n maxDateValue ? maxDateValue.getFullYear() : currentYear + 10,\n );\n\n return (\n <FormItem\n data-field={name}\n className={`flex flex-col RemoteFlows__DatePickerField__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__DatePickerField__Label'>\n {label}\n </FormLabel>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <FormControl>\n <div>\n <Button\n type='button'\n variant={'outline'}\n className={cn(\n 'w-full pl-3 text-left font-normal',\n !field.value && 'text-muted-foreground',\n )}\n data-testid={`date-picker-button-${name}`}\n >\n {field.value && <>{format(field.value, 'yyyy-MM-dd')}</>}\n <CalendarIcon className='ml-auto h-4 w-4 opacity-50' />\n </Button>\n </div>\n </FormControl>\n </PopoverTrigger>\n <PopoverContent\n className={`w-auto p-0 RemoteFlows__DatepickerField__PopoverContent`}\n align='start'\n >\n <Calendar\n mode='single'\n captionLayout='dropdown'\n fromYear={fromYear}\n toYear={toYear}\n className='RemoteFlows__DatepickerField__Calendar'\n selected={field.value ? new Date(field.value) : undefined}\n onDayClick={(day) => {\n const formattedDate = format(day, 'yyyy-MM-dd');\n field.onChange(formattedDate);\n setOpen(false);\n }}\n defaultMonth={\n field.value\n ? new Date(field.value)\n : (maxDateValue ?? minDateValue)\n }\n disabled={(date: Date) => {\n if (minDateValue && date < minDateValue) return true;\n if (maxDateValue && date > maxDateValue) return true;\n return false;\n }}\n />\n </PopoverContent>\n </Popover>\n {description ? (\n <FormDescription\n helpCenter={<HelpCenter helpCenter={fieldData.meta?.helpCenter} />}\n >\n {description}\n </FormDescription>\n ) : null}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__DatePickerField__Error' />\n )}\n </FormItem>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{At as e}from"./sdk.gen-C7MLoCMc.js";import{jsx as t}from"react/jsx-runtime";const n=({open:n,onOpenChange:r,title:i,trigger:a,children:o,className:s=``,direction:c=`right`})=>{let{components:l}=e(),u=l?.drawer;if(!u)throw Error(`Drawer component not found`);return t(u,{open:n,onOpenChange:r,title:i,trigger:a,direction:c,className:s,children:o})};export{n as t};
|
|
2
|
+
//# sourceMappingURL=Drawer-BBXMyvwR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawer-BBXMyvwR.js","names":[],"sources":["../src/components/shared/drawer/Drawer.tsx"],"sourcesContent":["import { useFormFields } from '@/src/context';\nimport { DrawerComponentProps } from '@/src/types/remoteFlows';\n\nexport type DrawerProps = DrawerComponentProps & {\n className?: string;\n direction?: 'left' | 'right' | 'bottom' | 'top';\n};\n\nexport const Drawer = ({\n open,\n onOpenChange,\n title,\n trigger,\n children,\n className = '',\n direction = 'right',\n}: DrawerProps) => {\n const { components } = useFormFields();\n const CustomDrawer = components?.drawer;\n\n if (!CustomDrawer) {\n throw new Error(`Drawer component not found`);\n }\n\n return (\n <CustomDrawer\n open={open}\n onOpenChange={onOpenChange}\n title={title}\n trigger={trigger}\n direction={direction}\n className={className}\n >\n {children}\n </CustomDrawer>\n );\n};\n"],"mappings":"mFAQA,MAAa,GAAU,CACrB,OACA,eACA,QACA,UACA,WACA,YAAY,GACZ,YAAY,WACK,CACjB,GAAM,CAAE,cAAe,EAAc,EAC/B,EAAe,GAAY,OAEjC,GAAI,CAAC,EACH,MAAU,MAAM,4BAA4B,EAG9C,OACE,EAAC,EAAD,CACQ,OACQ,eACP,QACE,UACE,YACA,YAEV,UACW,CAAA,CAElB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{E as t}from"./CheckBoxField-DSq9Qf8u.js";import{a as n,n as r,o as i,r as a,s as o}from"./checkbox-_YWwA7wV.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";var l=e({DrawerDefault:()=>u});function u({open:e,onOpenChange:l,direction:u,className:d,title:f,trigger:p,children:m}){return c(r,{open:e,onOpenChange:l,direction:u,children:[s(o,{asChild:!0,children:p}),s(a,{className:t(`RemoteFlows__Drawer h-full w-[540px] mt-0 ml-auto px-4`,d),children:c(`div`,{className:`h-full flex flex-col`,children:[s(n,{children:s(i,{children:f})}),s(`div`,{className:`flex-1 overflow-y-auto`,children:m})]})})]})}export{l as n,u as t};
|
|
2
|
+
//# sourceMappingURL=DrawerDefault-CadLGBmQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerDefault-CadLGBmQ.js","names":["DrawerPrimitive"],"sources":["../src/components/shared/drawer/DrawerDefault.tsx"],"sourcesContent":["import { DrawerComponentProps } from '@/src/types/remoteFlows';\nimport {\n Drawer as DrawerPrimitive,\n DrawerTrigger,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n} from '@/src/components/ui/drawer';\nimport { cn } from '@/src/lib/utils';\n\nexport function DrawerDefault({\n open,\n onOpenChange,\n direction,\n className,\n title,\n trigger,\n children,\n}: DrawerComponentProps) {\n return (\n <DrawerPrimitive\n open={open}\n onOpenChange={onOpenChange}\n direction={direction}\n >\n <DrawerTrigger asChild>{trigger}</DrawerTrigger>\n <DrawerContent\n className={cn(\n 'RemoteFlows__Drawer h-full w-[540px] mt-0 ml-auto px-4',\n className,\n )}\n >\n <div className='h-full flex flex-col'>\n <DrawerHeader>\n <DrawerTitle>{title}</DrawerTitle>\n </DrawerHeader>\n <div className='flex-1 overflow-y-auto'>{children}</div>\n </div>\n </DrawerContent>\n </DrawerPrimitive>\n );\n}\n"],"mappings":"2PAUA,SAAgB,EAAc,CAC5B,OACA,eACA,YACA,YACA,QACA,UACA,YACuB,CACvB,OACE,EAACA,EAAD,CACQ,OACQ,eACH,YAHb,SAAA,CAKE,EAAC,EAAD,CAAe,QAAA,GAAS,SAAA,CAAuB,CAAA,EAC/C,EAAC,EAAD,CACE,UAAW,EACT,yDACA,CACF,EAEA,SAAA,EAAC,MAAD,CAAK,UAAU,uBAAf,SAAA,CACE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAA,SAAc,CAAmB,CAAA,CACrB,CAAA,EACd,EAAC,MAAD,CAAK,UAAU,yBAA0B,UAAc,CAAA,CACpD,GACQ,CAAA,CACA,GAErB"}
|
|
@@ -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({EmailFieldDefault:()=>i});function i({field:e,fieldData:r}){return n(t,{name:e.name,...r,type:`email`})}export{r as n,i as t};
|
|
2
|
+
//# sourceMappingURL=EmailFieldDefault-B0L_D4D9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailFieldDefault-B0L_D4D9.js","names":[],"sources":["../src/components/form/fields/default/EmailFieldDefault.tsx"],"sourcesContent":["import { TextField } from '@/src/components/form/fields/TextField';\nimport { FieldComponentProps } from '@/src/types/fields';\n\nexport function EmailFieldDefault({ field, fieldData }: FieldComponentProps) {\n return <TextField name={field.name} {...fieldData} type='email' />;\n}\n"],"mappings":"8KAGA,SAAgB,EAAkB,CAAE,QAAO,aAAkC,CAC3E,OAAO,EAAC,EAAD,CAAW,KAAM,EAAM,KAAM,GAAI,EAAW,KAAK,OAAS,CAAA,CACnE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{C as t,E as n,S as r,_ as i,v as a,x as o}from"./CheckBoxField-DSq9Qf8u.js";import{E as s}from"./checkbox-_YWwA7wV.js";import{t as c}from"./HelpCenter-DUyZK5NH.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=e({FileUploadFieldDefault:()=>f});function f({field:e,fieldState:d,fieldData:f}){let{name:p,label:m,description:h,multiple:g,accept:_}=f;return u(o,{"data-field":p,className:`RemoteFlows__FileUpload__Item__${p}`,children:[l(r,{className:`RemoteFlows__FileUpload__Label`,children:m}),l(i,{children:l(s,{onChange:e.onChange,multiple:g,className:n(`RemoteFlows__FileUpload__Input`),accept:_,files:e.value})}),(h||f.meta?.helpCenter)&&l(`div`,{className:`flex items-center justify-between`,children:l(a,{className:`RemoteFlows__FileUpload__Description`,helpCenter:l(c,{helpCenter:f.meta?.helpCenter}),children:h})}),d.error&&l(t,{className:`RemoteFlows__FileUpload__Error`})]})}export{d as n,f as t};
|
|
2
|
+
//# sourceMappingURL=FileUploadFieldDefault-B0cz44f6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUploadFieldDefault-B0cz44f6.js","names":[],"sources":["../src/components/form/fields/default/FileUploadFieldDefault.tsx"],"sourcesContent":["import {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { FileUploader } from '@/src/components/ui/file-uploader';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport { cn } from '@/src/lib/utils';\nimport { FileComponentProps } from '@/src/types/fields';\n\nexport function FileUploadFieldDefault({\n field,\n fieldState,\n fieldData,\n}: FileComponentProps) {\n const { name, label, description, multiple, accept } = fieldData;\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__FileUpload__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__FileUpload__Label'>{label}</FormLabel>\n <FormControl>\n <FileUploader\n onChange={field.onChange}\n multiple={multiple}\n className={cn('RemoteFlows__FileUpload__Input')}\n accept={accept}\n files={field.value}\n />\n </FormControl>\n {(description || fieldData.meta?.helpCenter) && (\n <div className='flex items-center justify-between'>\n <FormDescription\n className='RemoteFlows__FileUpload__Description'\n helpCenter={<HelpCenter helpCenter={fieldData.meta?.helpCenter} />}\n >\n {description}\n </FormDescription>\n </div>\n )}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__FileUpload__Error' />\n )}\n </FormItem>\n );\n}\n"],"mappings":"wTAYA,SAAgB,EAAuB,CACrC,QACA,aACA,aACqB,CACrB,GAAM,CAAE,OAAM,QAAO,cAAa,WAAU,UAAW,EAEvD,OACE,EAAC,EAAD,CACE,aAAY,EACZ,UAAW,kCAAkC,IAF/C,SAAA,CAIE,EAAC,EAAD,CAAW,UAAU,iCAAkC,SAAA,CAAiB,CAAA,EACxE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CACE,SAAU,EAAM,SACN,WACV,UAAW,EAAG,gCAAgC,EACtC,SACR,MAAO,EAAM,KACd,CAAA,CACU,CAAA,GACX,GAAe,EAAU,MAAM,aAC/B,EAAC,MAAD,CAAK,UAAU,oCACb,SAAA,EAAC,EAAD,CACE,UAAU,uCACV,WAAY,EAAC,EAAD,CAAY,WAAY,EAAU,MAAM,UAAa,CAAA,EAEhE,SAAA,CACc,CAAA,CACd,CAAA,EAEN,EAAW,OACV,EAAC,EAAD,CAAa,UAAU,gCAAkC,CAAA,CAEnD,GAEd"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{h as t}from"./CheckBoxField-DSq9Qf8u.js";import{t as n}from"./HelpCenter-DUyZK5NH.js";import{jsx as r,jsxs as i}from"react/jsx-runtime";var a=e({ForcedValueFieldDefault:()=>o});function o({fieldData:e}){let{name:a,title:o,description:s,meta:c}=e,l=`forced-value-${a}-title`,u=`forced-value-${a}-description`;return i(`div`,{role:`group`,"aria-labelledby":o?l:void 0,"aria-describedby":s?u:void 0,children:[o&&r(`p`,{id:l,className:`text-sm RemoteFlows__ForcedValue__Title__${a}`,dangerouslySetInnerHTML:{__html:o}}),r(t,{as:`span`,id:u,className:`text-xs RemoteFlows__ForcedValue__Description__${a}`,helpCenter:r(n,{className:`RemoteFlows__ForcedValue__HelpCenterLink`,helpCenter:c?.helpCenter}),children:s})]})}export{a as n,o as t};
|
|
2
|
+
//# sourceMappingURL=ForcedValueFieldDefault-Bp_ipb0c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ForcedValueFieldDefault-Bp_ipb0c.js","names":["Description"],"sources":["../src/components/form/fields/default/ForcedValueFieldDefault.tsx"],"sourcesContent":["import { ForcedValueComponentProps } from '@/src/types/fields';\nimport { BaseFormDescription as Description } from '@/src/components/ui/form';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\n\nexport function ForcedValueFieldDefault({\n fieldData,\n}: ForcedValueComponentProps) {\n const { name, title, description, meta } = fieldData;\n\n const titleId = `forced-value-${name}-title`;\n const descriptionId = `forced-value-${name}-description`;\n\n return (\n <div\n role='group'\n aria-labelledby={title ? titleId : undefined}\n aria-describedby={description ? descriptionId : undefined}\n >\n {title && (\n <p\n id={titleId}\n className={`text-sm RemoteFlows__ForcedValue__Title__${name}`}\n dangerouslySetInnerHTML={{\n __html: title,\n }}\n />\n )}\n <Description\n as='span'\n id={descriptionId}\n className={`text-xs RemoteFlows__ForcedValue__Description__${name}`}\n helpCenter={\n <HelpCenter\n className='RemoteFlows__ForcedValue__HelpCenterLink'\n helpCenter={meta?.helpCenter}\n />\n }\n >\n {description}\n </Description>\n </div>\n );\n}\n"],"mappings":"2OAIA,SAAgB,EAAwB,CACtC,aAC4B,CAC5B,GAAM,CAAE,OAAM,QAAO,cAAa,QAAS,EAErC,EAAU,gBAAgB,EAAK,QAC/B,EAAgB,gBAAgB,EAAK,cAE3C,OACE,EAAC,MAAD,CACE,KAAK,QACL,kBAAiB,EAAQ,EAAU,IAAA,GACnC,mBAAkB,EAAc,EAAgB,IAAA,GAHlD,SAAA,CAKG,GACC,EAAC,IAAD,CACE,GAAI,EACJ,UAAW,4CAA4C,IACvD,wBAAyB,CACvB,OAAQ,CACV,CACD,CAAA,EAEH,EAACA,EAAD,CACE,GAAG,OACH,GAAI,EACJ,UAAW,kDAAkD,IAC7D,WACE,EAAC,EAAD,CACE,UAAU,2CACV,WAAY,GAAM,UACnB,CAAA,EAGF,SAAA,CACU,CAAA,CACV,GAET"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{u as e}from"./CheckBoxField-DSq9Qf8u.js";import{jsx as t}from"react/jsx-runtime";function n({helpCenter:n,className:r}){return!n||!n.id||!n.callToAction?null:t(e,{zendeskId:n.id,className:r,children:n.callToAction})}export{n as t};
|
|
2
|
+
//# sourceMappingURL=HelpCenter-DUyZK5NH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HelpCenter-DUyZK5NH.js","names":[],"sources":["../src/components/shared/zendesk-drawer/HelpCenter.tsx"],"sourcesContent":["import { ZendeskTriggerButton } from './ZendeskTriggerButton';\nimport { HelpCenterDataProps } from '@/src/types/fields';\n\ntype HelpCenterProps = {\n helpCenter?: HelpCenterDataProps;\n className?: string;\n};\n\nexport function HelpCenter({ helpCenter, className }: HelpCenterProps) {\n if (!helpCenter || !helpCenter.id || !helpCenter.callToAction) {\n return null;\n }\n\n return (\n <ZendeskTriggerButton zendeskId={helpCenter.id} className={className}>\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n );\n}\n"],"mappings":"wFAQA,SAAgB,EAAW,CAAE,aAAY,aAA8B,CAKrE,MAJI,CAAC,GAAc,CAAC,EAAW,IAAM,CAAC,EAAW,aACxC,KAIP,EAAC,EAAD,CAAsB,UAAW,EAAW,GAAe,YACxD,SAAA,EAAW,YACQ,CAAA,CAE1B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{A as e,E as t,G as n,H as r,K as i,T as a,g as o}from"./CheckBoxField-DSq9Qf8u.js";import{At as s}from"./sdk.gen-C7MLoCMc.js";import{t as c}from"./JSONSchemaForm-DehMm5lM.js";import{t as l}from"./useJSONSchemaForm-CiLms2z5.js";import{c as u,i as d,n as f,t as p}from"./api-CsVWNT2E.js";import{r as m}from"./employment-Ddl1RWTS.js";import{t as h}from"./Drawer-BBXMyvwR.js";import{createContext as g,useCallback as _,useContext as v,useEffect as y,useId as b,useState as x}from"react";import{jsx as S}from"react/jsx-runtime";const C=g({form:null,formId:void 0,invoiceScheduleBag:void 0}),w=()=>{let e=v(C);if(!e.form)throw Error(`useInvoiceScheduleContext must be used within an InvoiceScheduleFlow`);return{form:e.form,formId:e.formId,invoiceScheduleBag:e.invoiceScheduleBag}},T=({employmentId:e,jsfModify:t})=>{let[n,o]=x({}),{data:s,isLoading:c}=m({employmentId:e,enabled:!!e}),l=s?.contractor_type===`cor`,{data:h,isLoading:g}=f({enabled:!0,employmentId:e,jsfModify:t,includeOneTime:!0,isContractorOfRecord:l,includeCustomDays:!0,fieldValues:n}),v=p(),{mutateAsyncOrThrow:y}=i(v),b=d(),{mutateAsyncOrThrow:S}=i(b),C=_(e=>{o(e)},[]),w=_(async e=>{if(!h)return null;let t=await r(e,h.fields,{isPartialValidation:!1});return h.handleValidation(t)??null},[h]),T=_(async e=>await r(e,h?.fields??[],{isPartialValidation:!1}),[h]),E=_(async t=>{let n=await T(t);return{employment_id:e,...u(n)}},[e,T]),D=_(()=>{if(!e)throw Error("No contractor to act on. Pass a non-empty `employmentId` to the flow.")},[e]),O=_(async t=>{D();let n=await T(t),r=(await S({employmentId:e,values:n}))?.data?.contractor_invoice_preview;if(r)return{...r,content:a(r.content)}},[D,e,T,S]),k=_(async t=>{D();let n=await T(t);return y({employmentId:e,values:n})},[D,e,y,T]);return{fields:h?.fields??[],handleValidation:w,parseFormValues:E,onSubmit:k,previewInvoice:O,checkFieldUpdates:C,employmentId:e,isSubmitting:v.isPending,isPreviewingInvoice:b.isPending,isLoading:!e||c||g&&!h,isContractorOfRecord:l,meta:{fields:h?.fields}}},E=({employmentId:e,jsfModify:t,defaultValues:n,render:r})=>{let i=b(),a=T({employmentId:e,jsfModify:t}),o=l({handleValidation:a.handleValidation,checkFieldUpdates:a.checkFieldUpdates,defaultValues:{currency:``,periodicity:``,start_date:``,number:``,note:``,...n}}),{isContractorOfRecord:s}=a;return y(()=>{if(!s)return;let e=o.getValues(`periodicity`);e&&e!==`one_time`&&o.setValue(`periodicity`,``)},[s,o]),S(C.Provider,{value:{form:o,formId:i,invoiceScheduleBag:a},children:r(a)})};function D({onSubmit:e,onSuccess:t,onError:r}){let{form:i,formId:a,invoiceScheduleBag:s}=w(),l=async i=>{try{let n=await s?.parseFormValues(i);n&&await e?.(n);let r=await s?.onSubmit(i);await t?.(r)}catch(e){if(n(e)){r?.({error:e.error,rawError:e.rawError,fieldErrors:e.fieldErrors});return}r?.({error:e,rawError:{},fieldErrors:[]})}};return S(o,{...i,children:S(`form`,{id:a,onSubmit:i.handleSubmit(l),className:`space-y-4 RemoteFlows__InvoiceScheduleForm`,children:S(c,{fields:s?.fields??[]})})})}function O({children:e,...n}){let{formId:r,invoiceScheduleBag:i}=w(),{components:a}=s(),o=a?.button;if(!o)throw Error(`Button component not found`);return S(o,{...n,type:`submit`,className:t(`RemoteFlows__InvoiceScheduleForm__SubmitButton`,n.className),form:r,disabled:n.disabled||i?.isSubmitting||!i?.employmentId,children:e})}function k({onSuccess:n,onError:r,className:i,children:a,disabled:o=!1,...c}){let[l,u]=x(null),[d,f]=x(!1),{form:p,invoiceScheduleBag:m}=w(),{components:g}=s(),_=async()=>{try{let e=await m?.previewInvoice(p.getValues());e&&(u(e),f(!0),await n?.(e))}catch(t){r?.(e(t))}},v=g?.button;if(!v)throw Error(`Button component not found`);let y=g?.pdfViewer;if(!y)throw Error(`PDFViewer component not found`);return S(h,{open:d,onOpenChange:e=>{e||f(!1)},title:`Invoice Preview`,className:`top-0 bottom-0 left-auto right-0 h-full max-h-none w-full max-w-[900px] rounded-t-none flex flex-col`,trigger:S(v,{...c,type:`button`,onClick:_,disabled:o||m?.isPreviewingInvoice||!m?.employmentId,className:t(`RemoteFlows__InvoiceScheduleForm__PreviewButton`,i),children:a}),children:l&&S(y,{base64Data:l.content,fileName:l.name})})}export{T as a,E as i,O as n,D as r,k as t};
|
|
2
|
+
//# sourceMappingURL=InvoiceSchedule-DxWc0xu-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvoiceSchedule-DxWc0xu-.js","names":[],"sources":["../src/flows/InvoiceSchedule/context.ts","../src/flows/InvoiceSchedule/hooks.tsx","../src/flows/InvoiceSchedule/InvoiceScheduleFlow.tsx","../src/flows/InvoiceSchedule/InvoiceScheduleForm.tsx","../src/flows/InvoiceSchedule/InvoiceScheduleSubmitButton.tsx","../src/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { UseFormReturn } from 'react-hook-form';\nimport { useInvoiceSchedule } from '@/src/flows/InvoiceSchedule/hooks';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const InvoiceScheduleContext = createContext<{\n form: UseFormReturn<$TSFixMe> | null;\n formId: string | undefined;\n invoiceScheduleBag?: ReturnType<typeof useInvoiceSchedule>;\n}>({\n form: null,\n formId: undefined,\n invoiceScheduleBag: undefined,\n});\n\nexport const useInvoiceScheduleContext = () => {\n const context = useContext(InvoiceScheduleContext);\n if (!context.form) {\n throw new Error(\n 'useInvoiceScheduleContext must be used within an InvoiceScheduleFlow',\n );\n }\n\n return {\n form: context.form,\n formId: context.formId,\n invoiceScheduleBag: context.invoiceScheduleBag,\n } as const;\n};\n","import { useCallback, useState } from 'react';\nimport {\n useCreateInvoiceSchedule,\n useGetCreateInvoiceScheduleSchema,\n usePreviewContractorInvoice,\n} from '@/src/common/invoice-schedules/api';\nimport { ContractorInvoicePreview } from '@/src/common/invoice-schedules/types';\nimport { buildInvoiceSchedulePayload } from '@/src/common/invoice-schedules/utils';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport {\n InvoiceScheduleFormValues,\n InvoiceSchedulePayload,\n UseInvoiceScheduleOptions,\n} from '@/src/flows/InvoiceSchedule/types';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { clearBase64Data } from '@/src/lib/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n Fields,\n ValidationResult,\n} from '@remoteoss/remote-json-schema-form-kit';\n\n/**\n * Headless hook powering the standalone invoice-schedule screen.\n *\n * Mirrors the platform's single-screen \"Create invoice schedule\" modal: one form render, one\n * submission, for the contractor named by `employmentId`. Sourcing that id — a picker, a route\n * param, a row the user clicked — is the consumer's; the flow only ever acts on one contractor.\n */\nexport const useInvoiceSchedule = ({\n employmentId,\n jsfModify,\n}: UseInvoiceScheduleOptions) => {\n // The schema's conditionals depend on what has been filled in so far, so the current\n // values have to reach `createHeadlessForm`. `checkFieldUpdates` is wired to the form's\n // watch subscription by `useJSONSchemaForm`.\n const [fieldValues, setFieldValues] = useState<Record<string, unknown>>({});\n\n // `contractor_type` is not on the employments list payload, so the individual employment is\n // fetched purely to tell Contractor of Record apart.\n const { data: employment, isLoading: isLoadingEmployment } =\n useEmploymentQuery({\n employmentId,\n enabled: Boolean(employmentId),\n });\n\n const isContractorOfRecord =\n (employment as $TSFixMe)?.contractor_type === 'cor';\n\n const { data: schemaForm, isLoading: isLoadingCurrencies } =\n useGetCreateInvoiceScheduleSchema({\n enabled: true,\n employmentId,\n jsfModify,\n includeOneTime: true,\n isContractorOfRecord,\n includeCustomDays: true,\n fieldValues,\n });\n\n const createInvoiceScheduleMutation = useCreateInvoiceSchedule();\n const { mutateAsyncOrThrow } = mutationToPromise(\n createInvoiceScheduleMutation,\n );\n\n const previewContractorInvoiceMutation = usePreviewContractorInvoice();\n const { mutateAsyncOrThrow: previewContractorInvoiceAsync } =\n mutationToPromise(previewContractorInvoiceMutation);\n\n /**\n * Feed the latest form values back in so the schema's conditionals re-evaluate.\n * `InvoiceScheduleForm` wires this to the form's watch subscription.\n */\n const checkFieldUpdates = useCallback((values: InvoiceScheduleFormValues) => {\n setFieldValues(values);\n }, []);\n\n // Annotated rather than inferred: the generated result's inferred type reaches into\n // json-schema-form internals that cannot be named from here (TS4023).\n const handleValidation = useCallback(\n async (\n values: InvoiceScheduleFormValues,\n ): Promise<ValidationResult | null> => {\n if (!schemaForm) return null;\n\n // Values must be parsed first — money inputs hold strings, and the item amounts are\n // declared `integer`, which JSF v1 enforces. Validating raw values fails on every\n // amount and blocks submission.\n const parsed = await parseJSFToValidate(values, schemaForm.fields, {\n isPartialValidation: false,\n });\n\n return (schemaForm.handleValidation(parsed) as ValidationResult) ?? null;\n },\n [schemaForm],\n );\n\n // Coerces the raw form values into the shapes the API expects — most importantly money\n // inputs into integer cents, which `buildInvoiceItems` requires to pick a slot up.\n const parseValues = useCallback(\n async (values: InvoiceScheduleFormValues) =>\n (await parseJSFToValidate(values, schemaForm?.fields ?? [], {\n isPartialValidation: false,\n })) as InvoiceScheduleFormValues,\n [schemaForm],\n );\n\n const parseFormValues = useCallback(\n async (values: InvoiceScheduleFormValues) => {\n const parsed = await parseValues(values);\n\n return {\n employment_id: employmentId,\n ...buildInvoiceSchedulePayload(parsed),\n } as InvoiceSchedulePayload;\n },\n [employmentId, parseValues],\n );\n\n // `employmentId` is required by the types, but a consumer reading it off a route that has\n // not resolved yet still hands over an empty string. Both endpoints are scoped to an\n // employment, so fail here rather than calling them with a blank one.\n const assertEmploymentId = useCallback(() => {\n if (!employmentId) {\n throw new Error(\n 'No contractor to act on. Pass a non-empty `employmentId` to the flow.',\n );\n }\n }, [employmentId]);\n\n /**\n * Renders the invoice the current form values describe as a draft PDF, without creating\n * anything. The preview endpoint covers a single invoice, so the recurrence fields are\n * left out of the payload — `buildInvoicePreviewPayload` does that.\n */\n const previewInvoice = useCallback(\n async (\n values: InvoiceScheduleFormValues,\n ): Promise<ContractorInvoicePreview | undefined> => {\n assertEmploymentId();\n const parsed = await parseValues(values);\n\n const response = await previewContractorInvoiceAsync({\n employmentId,\n values: parsed,\n });\n\n // Cast because `content` arrives as a `data:application/pdf;base64,…` string, not the\n // `Blob | File` the OpenAPI spec's `format: binary` makes the generated type promise.\n const preview = response?.data?.contractor_invoice_preview as\n | ContractorInvoicePreview\n | undefined;\n\n if (!preview) return undefined;\n\n return { ...preview, content: clearBase64Data(preview.content) };\n },\n [\n assertEmploymentId,\n employmentId,\n parseValues,\n previewContractorInvoiceAsync,\n ],\n );\n\n const onSubmit = useCallback(\n async (values: InvoiceScheduleFormValues) => {\n assertEmploymentId();\n const parsed = await parseValues(values);\n\n return mutateAsyncOrThrow({\n employmentId,\n values: parsed,\n });\n },\n [assertEmploymentId, employmentId, mutateAsyncOrThrow, parseValues],\n );\n\n return {\n /**\n * Form fields generated from the invoice-schedule schema.\n */\n fields: (schemaForm?.fields ?? []) as Fields,\n /**\n * Validation handler for the generated form.\n */\n handleValidation,\n /**\n * Turns form values into the API payload without submitting.\n */\n parseFormValues,\n /**\n * Creates the invoice schedule.\n */\n onSubmit,\n /**\n * Renders the current form values as a draft invoice PDF without creating anything.\n * Resolves to a `data:application/pdf;base64,…` document, or `undefined` if the API\n * returned none. `InvoiceSchedulePreviewButton` wires this up for you.\n */\n previewInvoice,\n /**\n * Feed the latest form values back in so conditional fields re-evaluate.\n */\n checkFieldUpdates,\n /**\n * The contractor the schedule will be created for.\n */\n employmentId,\n /**\n * True while the schedule is being created.\n */\n isSubmitting: createInvoiceScheduleMutation.isPending,\n /**\n * True while a draft PDF preview is being generated.\n */\n isPreviewingInvoice: previewContractorInvoiceMutation.isPending,\n /**\n * True until there is a form worth showing. Safe to return early on.\n *\n * Covers all three ways there isn't one yet:\n *\n * - `employmentId` is empty — the currencies query is disabled without one, so nothing\n * is in flight and no schema is built. Reporting \"ready\" would hand the consumer a\n * form with no fields and a live submit button.\n * - the currencies are still loading, so the schema cannot be built.\n * - the employment is still loading, so it is not yet known whether this contractor is\n * a Contractor of Record. Rendering before that lets the user pick a frequency that\n * the restriction then withdraws.\n *\n * The employment is only excluded from a loading flag when a picker can change the\n * contractor mid-flow, which would unmount a part-filled form. This flow is told its\n * contractor once, and both requests go out together, so waiting for both costs nothing.\n */\n isLoading:\n !employmentId ||\n isLoadingEmployment ||\n (isLoadingCurrencies && !schemaForm),\n /**\n * Whether the contractor is a Contractor of Record, which the platform restricts\n * to one-off invoicing.\n */\n isContractorOfRecord,\n /**\n * Field metadata, for building error messages.\n */\n meta: {\n fields: schemaForm?.fields,\n },\n };\n};\n","import React, { useEffect, useId } from 'react';\nimport { useJSONSchemaForm } from '@/src/components/form/useJSONSchemaForm';\nimport { ONE_TIME_PERIODICITY } from '@/src/common/invoice-schedules';\nimport { InvoiceScheduleContext } from '@/src/flows/InvoiceSchedule/context';\nimport { useInvoiceSchedule } from '@/src/flows/InvoiceSchedule/hooks';\nimport { UseInvoiceScheduleOptions } from '@/src/flows/InvoiceSchedule/types';\n\nexport type InvoiceScheduleFlowProps = {\n /**\n * The contractor to create the schedule for. Sourcing it is yours — a picker of your own, a\n * route param, the row the user clicked; the flow only ever acts on this one contractor.\n */\n employmentId: string;\n /**\n * Modify the generated JSON-schema form fields.\n */\n jsfModify?: UseInvoiceScheduleOptions['jsfModify'];\n /**\n * Default values for the form fields.\n */\n defaultValues?: Record<string, unknown>;\n render: (\n invoiceScheduleBag: ReturnType<typeof useInvoiceSchedule>,\n ) => React.ReactNode;\n};\n\n/**\n * Standalone screen for creating a contractor invoice schedule, mirroring the platform's\n * single-screen modal. Mount it anywhere — it does not depend on the onboarding flow.\n */\nexport const InvoiceScheduleFlow = ({\n employmentId,\n jsfModify,\n defaultValues,\n render,\n}: InvoiceScheduleFlowProps) => {\n const formId = useId();\n const invoiceScheduleBag = useInvoiceSchedule({\n employmentId,\n jsfModify,\n });\n\n // `useJSONSchemaForm` subscribes to form changes and feeds them back through\n // `checkFieldUpdates`, which is what makes the schema's conditionals — the item-row\n // reveal and the semi-monthly day fields — re-evaluate as the form is filled in.\n const form = useJSONSchemaForm({\n handleValidation: invoiceScheduleBag.handleValidation,\n checkFieldUpdates: invoiceScheduleBag.checkFieldUpdates,\n defaultValues: {\n currency: '',\n periodicity: '',\n start_date: '',\n number: '',\n note: '',\n ...defaultValues,\n },\n });\n\n // Contractor of Record is only known once the employment request resolves, so the form\n // offers the recurring frequencies until then and a frequency chosen in that window\n // outlives the schema shrinking to one-off. Validation does reject it — the field's `oneOf`\n // no longer holds it — but the select renders blank in the meantime and the user only finds\n // out on submit, so drop it as soon as the restriction is known.\n const { isContractorOfRecord } = invoiceScheduleBag;\n\n useEffect(() => {\n if (!isContractorOfRecord) return;\n\n const periodicity = form.getValues('periodicity');\n if (periodicity && periodicity !== ONE_TIME_PERIODICITY) {\n form.setValue('periodicity', '');\n }\n }, [isContractorOfRecord, form]);\n\n return (\n <InvoiceScheduleContext.Provider\n value={{\n form,\n formId,\n invoiceScheduleBag,\n }}\n >\n {render(invoiceScheduleBag)}\n </InvoiceScheduleContext.Provider>\n );\n};\n","import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useInvoiceScheduleContext } from '@/src/flows/InvoiceSchedule/context';\nimport {\n InvoiceScheduleFormValues,\n InvoiceSchedulePayload,\n InvoiceScheduleResponse,\n} from '@/src/flows/InvoiceSchedule/types';\nimport { isMutationError, NormalizedFieldError } from '@/src/lib/mutations';\n\ntype InvoiceScheduleFormProps = Partial<{\n /**\n * Called with the parsed payload before it is sent to Remote. Throwing aborts the submission.\n */\n onSubmit: (payload: InvoiceSchedulePayload) => Promise<void> | void;\n /**\n * Called once the schedule has been created.\n */\n onSuccess: (data: InvoiceScheduleResponse) => Promise<void> | void;\n /**\n * Called when creating the schedule fails.\n */\n onError: (error: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n}>;\n\nexport function InvoiceScheduleForm({\n onSubmit,\n onSuccess,\n onError,\n}: InvoiceScheduleFormProps) {\n const { form, formId, invoiceScheduleBag } = useInvoiceScheduleContext();\n\n const handleSubmit = async (values: InvoiceScheduleFormValues) => {\n try {\n const payload = await invoiceScheduleBag?.parseFormValues(values);\n\n if (payload) {\n await onSubmit?.(payload);\n }\n\n const response = await invoiceScheduleBag?.onSubmit(values);\n await onSuccess?.(response as InvoiceScheduleResponse);\n } catch (error: unknown) {\n // Reported to the consumer rather than re-thrown: this runs inside react-hook-form's\n // handleSubmit, so re-throwing would surface as an unhandled rejection.\n if (isMutationError(error)) {\n onError?.({\n error: error.error,\n rawError: error.rawError as Record<string, unknown>,\n fieldErrors: error.fieldErrors as NormalizedFieldError[],\n });\n return;\n }\n\n onError?.({\n error: error as Error,\n rawError: {},\n fieldErrors: [],\n });\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__InvoiceScheduleForm'\n >\n <JSONSchemaFormFields fields={invoiceScheduleBag?.fields ?? []} />\n </form>\n </Form>\n );\n}\n","import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useInvoiceScheduleContext } from '@/src/flows/InvoiceSchedule/context';\nimport { useFormFields } from '@/src/context';\nimport { cn } from '@/src/lib/utils';\n\nexport function InvoiceScheduleSubmitButton({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> &\n Record<string, unknown>) {\n const { formId, invoiceScheduleBag } = useInvoiceScheduleContext();\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='submit'\n className={cn(\n 'RemoteFlows__InvoiceScheduleForm__SubmitButton',\n props.className,\n )}\n form={formId}\n // Mirrors the preview button: both endpoints are scoped to an employment, so with no\n // contractor to create for there is nothing to submit.\n disabled={\n props.disabled ||\n invoiceScheduleBag?.isSubmitting ||\n !invoiceScheduleBag?.employmentId\n }\n >\n {children}\n </CustomButton>\n );\n}\n","import { ButtonHTMLAttributes, useState } from 'react';\nimport { Drawer } from '@/src/components/shared/drawer/Drawer';\nimport { useFormFields } from '@/src/context';\nimport { ContractorInvoicePreview } from '@/src/common/invoice-schedules/types';\nimport { useInvoiceScheduleContext } from '@/src/flows/InvoiceSchedule/context';\nimport { cn, handleStepError } from '@/src/lib/utils';\nimport { NormalizedFieldError } from '@/src/lib/mutations';\n\ntype InvoiceSchedulePreviewButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: (data: ContractorInvoicePreview) => 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\n/**\n * Renders the invoice the form currently describes as a draft (non-persisted) PDF, shown in\n * a drawer through the `pdfViewer` component. The standalone twin of the onboarding step's\n * `PreviewInvoiceButton`.\n *\n * Disabled while a preview is in flight, and while the flow has no contractor to preview\n * against — the endpoint is scoped to an employment.\n *\n * `onSuccess` receives the same document, for consumers that want to do something else with\n * it. Note `preview.content` is a `data:application/pdf;base64,...` URI: browsers block\n * top-level navigation to the `data:` scheme, so it can be rendered in an `iframe`/`embed`\n * or handed to an `<a download>`, but not passed to `window.open`.\n */\nexport function InvoiceSchedulePreviewButton({\n onSuccess,\n onError,\n className,\n children,\n disabled = false,\n ...props\n}: InvoiceSchedulePreviewButtonProps) {\n const [preview, setPreview] = useState<ContractorInvoicePreview | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const { form, invoiceScheduleBag } = useInvoiceScheduleContext();\n const { components } = useFormFields();\n\n const handlePreview = async () => {\n try {\n const previewDocument = await invoiceScheduleBag?.previewInvoice(\n form.getValues(),\n );\n\n if (previewDocument) {\n setPreview(previewDocument);\n setIsOpen(true);\n await onSuccess?.(previewDocument);\n }\n } catch (error: unknown) {\n // No field meta: this flow's `meta.fields` is the flat field list, not the per-step\n // `NestedMeta` the onboarding step passes, so errors keep their raw field names.\n onError?.(handleStepError(error));\n }\n };\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n const CustomPdfViewer = components?.pdfViewer;\n if (!CustomPdfViewer) {\n throw new Error(`PDFViewer component not found`);\n }\n\n return (\n <Drawer\n open={isOpen}\n // Opened by handlePreview once the PDF is available, so the trigger's own open request\n // is ignored — only close requests are honored.\n onOpenChange={(open) => {\n if (!open) {\n setIsOpen(false);\n }\n }}\n title='Invoice Preview'\n // A side panel, not the bottom sheet `DrawerContent`'s base classes assume: the\n // primitive positions every drawer along the bottom regardless of `direction`, so the\n // inset is overridden here rather than in the shared drawer, which other flows use.\n className='top-0 bottom-0 left-auto right-0 h-full max-h-none w-full max-w-[900px] rounded-t-none flex flex-col'\n trigger={\n <CustomButton\n {...props}\n type='button'\n onClick={handlePreview}\n disabled={\n disabled ||\n invoiceScheduleBag?.isPreviewingInvoice ||\n !invoiceScheduleBag?.employmentId\n }\n className={cn(\n 'RemoteFlows__InvoiceScheduleForm__PreviewButton',\n className,\n )}\n >\n {children}\n </CustomButton>\n }\n >\n {preview && (\n <CustomPdfViewer base64Data={preview.content} fileName={preview.name} />\n )}\n </Drawer>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{E as e,F as t,L as n,N as r,V as i,X as a,a as o,b as s,h as c,l,r as u,s as d,t as f,u as p,y as m,z as h}from"./CheckBoxField-DSq9Qf8u.js";import{At as g,jt as _}from"./sdk.gen-C7MLoCMc.js";import{Fragment as v,useCallback as y,useEffect as b,useMemo as x,useRef as S,useState as C}from"react";import{Fragment as w,jsx as T,jsxs as E}from"react/jsx-runtime";import{createHeadlessForm as D,modify as O}from"@remoteoss/remote-json-schema-form-kit";import k from"lodash.omit";function A(e){return e.inner.reduce((e,t)=>({...e,[t.path]:{type:t.type??`validation`,message:t.message}}),{})}function j(e,t=``){return Object.entries(e||{}).reduce((e,[n,r])=>{let i=t?`${t}.${n}`:n;if(typeof r==`object`&&r&&!Array.isArray(r))return{...e,...j(r,i)};let a=typeof r==`string`?r:JSON.stringify(r);return e[i]={type:`validation`,message:a},e[`${i}.value`]={type:`validation`,message:a},e},{})}const M=e=>async t=>{let n=await e(t);if(!n)return{values:t,errors:{}};let r=`formErrors`in n?n.formErrors:void 0;return Object.keys(r||{}).length>0?{values:{},errors:j(r)}:{values:t,errors:{}}};function N(e,t){return Object.entries(e).reduce((e,[n,r])=>(e[n]=t.includes(n)?r===`yes`:r,e),{})}function P(e,t){let n=[];for(let[r,i]of Object.entries(e))(i[`x-jsf-presentation`].type===t||i[`x-jsf-presentation`].inputType===t)&&n.push(r);return n}const F=(e,t,r)=>{let{transformMoneyFields:i}=r||{transformMoneyFields:!0};if(r&&r.jsfModify){let{required:t,allOf:n,...i}=r.jsfModify,{schema:a,warnings:o}=O(e,{...i,muteLogging:!0});if(o&&o.length>0&&o.filter(e=>e?.type!==`FIELD_TO_CHANGE_NOT_FOUND`).length,e=a,t){let n=Array.isArray(a.required)?a.required:[];typeof t==`function`?e.required=t(n):e.required=[...n,...t]}n&&(e.allOf=[...Array.isArray(a.allOf)?a.allOf:[],...n])}let a={};t&&i&&(a=P(e.properties||{},`money`).reduce((e,r)=>(e[r]=n(t[r]),e),{}));let o=JSON.parse(JSON.stringify({...t,...a}));return{meta:{"x-jsf-fieldsets":e[`x-jsf-fieldsets`]||e[`x-rmt-flatFieldsets`],"x-jsf-presentation":e[`x-jsf-presentation`]},...D(e,{initialValues:o})}};function I({description:e,label:t,name:n,minDate:r,maxDate:o,onChange:s,component:c,...l}){let{components:u}=g(),{control:d}=a(),f=_(),p;l.meta?.mot&&typeof l.meta.mot==`number`?p=i(l.meta.mot):typeof r==`string`&&(p=new Date(`${r}T00:00:00`));let h;return o&&(h=new Date(`${o}T23:59:59`)),T(m,{control:d,name:n,render:({field:r,fieldState:i})=>{let a=c||u?.date;if(!a)throw Error(`Date picker component not found for field ${n}`);let o={description:e,label:t,name:n,onChange:s,transformHtml:f,...p&&{minDate:p.toISOString()},...h&&{maxDate:h.toISOString()},...l};return T(a,{field:{...r,onChange:e=>{r.onChange(e),s?.(e)}},fieldState:i,fieldData:o})}})}const L=(e,t)=>{if(!t)return null;for(let n of e)if(n instanceof File&&n.size>t){let e=Math.round(t/1048576),r=Math.round(n.size/1048576);return`File "${n.name}" exceeds maximum size of ${e}MB (file is ${r}MB)`}return null};function R({name:e,description:t,label:n,multiple:r=!1,onChange:i,component:o,accept:s,maxSize:c,...l}){let{components:u}=g(),{control:d,setError:f,clearErrors:p}=a(),h=_(),v=async(t,n)=>{let r=L(t,c);if(r){f(e,{message:r});return}p(e),n.onChange(t),i?.(t)};return T(m,{control:d,name:e,render:({field:i,fieldState:a})=>{let d=o||u.file;if(!d)throw Error(`File upload component not found for field ${e}`);let f={name:e,description:t,label:n,multiple:r,accept:s,maxFileSize:c,transformHtml:h,...l};return T(d,{field:{...i,value:i.value,onChange:async e=>v(e,i)},fieldState:a,fieldData:f})}})}function z({component:e,onChange:t,...n}){let{components:r}=g(),{control:i}=a(),o=_();return T(m,{control:i,name:n.name,render:({field:i,fieldState:a})=>{let s=e||r.number;if(!s)throw Error(`Number component not found for field ${n.name}`);let c={onChange:t,transformHtml:o,...n};return T(s,{field:{...i,onChange:e=>{i.onChange(e),t?.(e)}},fieldState:a,fieldData:c})}})}function B({name:e,defaultValue:t,description:n,label:r,options:i,onChange:o,component:s,...c}){let{components:l}=g(),{control:u}=a(),d=_();return T(m,{control:u,name:e,defaultValue:t,render:({field:a,fieldState:u})=>{let f=s||l?.radio;if(!f)throw Error(`Radio group component not found for field ${e}`);let p={name:e,defaultValue:t,description:n,label:r,options:i,transformHtml:d,...c};return T(f,{field:{...a,onChange:e=>{a.onChange(e),o?.(e)}},fieldState:u,fieldData:p})}})}function V({label:e,name:t,options:n,defaultValue:r,description:i,onChange:o,component:s,...c}){let{control:l}=a(),{components:u}=g(),d=_();return T(m,{defaultValue:r,control:l,name:t,render:({field:a,fieldState:l})=>{let f=s||u?.select;if(!f)throw Error(`Select component not found for field ${t}`);let p={label:e,name:t,options:n,defaultValue:r,description:i,onChange:o,transformHtml:d,...c};return T(f,{field:{...a,onChange:e=>{let t=(Array.isArray(c.jsonType)?c.jsonType.includes(`number`):c.jsonType===`number`)?Number(e):e;a.onChange(t),o?.(t)}},fieldState:l,fieldData:p})}})}function H({label:e,name:t,options:n,defaultValue:r,description:i,onChange:o,$meta:s,component:c,...l}){let{control:u}=a(),{components:d}=g(),f=_();return T(m,{defaultValue:r,control:u,name:t,render:({field:a,fieldState:u})=>{let p=c||d.countries;if(!p)throw Error(`Country component not found for field ${t}`);let m={label:e,name:t,options:n,defaultValue:r,description:i,onChange:o,$meta:s,transformHtml:f,...l};return T(p,{field:{...a,onChange:e=>{a.onChange(e),o?.(e)}},fieldState:u,fieldData:m})}})}function U({name:e,description:t,label:n,onChange:r,maxLength:i,component:o,...s}){let{components:c}=g(),{control:l}=a(),u=_();return T(m,{control:l,name:e,render:({field:a,fieldState:l})=>{let d=o||c.textarea;if(!d)throw Error(`Text area component not found for field ${e}`);let f={name:e,description:t,label:n,maxLength:i,transformHtml:u,...s};return T(d,{field:{...a,onChange:e=>{a.onChange(e),r?.(e)}},fieldState:l,fieldData:f})}})}function W({component:e,onChange:t,...n}){let{components:r}=g(),{control:i}=a(),o=_();return T(m,{control:i,name:n.name,render:({field:i,fieldState:a})=>{let s=e||r.email;if(!s)throw Error(`Email component not found for field ${n.name}`);let c={onChange:t,transformHtml:o,...n};return T(s,{field:{...i,onChange:e=>{i.onChange(e),t?.(e)}},fieldState:a,fieldData:c})}})}function G(e){let{control:t,setValue:n}=a();return b(()=>{e.const!==void 0&&e.const===e.default&&e.name&&n(e.name,e.const)},[e.const,e.default,e.name,n]),T(m,{control:t,name:e.name,render:({field:e})=>T(`input`,{...e,type:`hidden`})})}function ee(e){let{components:t}=g(),{setValue:n,control:r,watch:i}=a(),s=_(),c=i(e.name),[l,d]=C(c),{workHoursSummary:f,breakSummary:p}=u(l),h=o(l);b(()=>{n(e.name,l)},[l,e.name,n]);function v(e){d(e)}let y=e.component||t[`work-schedule`];if(!y)throw Error(`Work schedule component not found for field ${e.name}`);let x={...e,onSubmit:v,currentSchedule:l,transformHtml:s,defaultFormattedValue:{workHoursSummary:f,breakSummary:p,totalWorkHours:h}};return T(m,{control:r,name:e.name,render:({field:t,fieldState:n})=>T(y,{field:{...t,onChange:n=>{t.onChange(n),e.onChange?.(n)}},fieldState:n,fieldData:x})})}function te({label:e,name:t,options:n,defaultValue:r,description:i,onChange:o,component:s,...c}){let{control:l}=a(),{components:u}=g(),d=_();return T(m,{defaultValue:r,control:l,name:t,render:({field:a,fieldState:l})=>{let f=s||u?.[`multi-select`];if(!f)throw Error(`Multi select component not found for field ${t}`);let p={label:e,name:t,options:n,defaultValue:r,description:i,onChange:o,transformHtml:d,...c};return T(f,{field:{...a,onChange:e=>{a.onChange(e),o?.(e)}},fieldState:l,fieldData:p})}})}const ne=e=>T(z,{maxLength:15,...e});function re(e){return e.replace(/\s/g,``)}function K(e=``,t){let n=RegExp(`^(\\+|00)(\\d{${t?.dialCode?.length??0}})(.*)$`),r=e?.match(n);if(!r)return{prefix:``,dialCode:``,phoneNumber:e};let[,i,a,o]=r;return{prefix:i,dialCode:a,phoneNumber:o}}function q({dialCodes:e,dialCodeMaxLength:t},n){let{prefix:r}=K(n);if(r)for(let i=t+r.length;i>r.length;i--){let t=n.slice(r.length,i);if(e[t])return e[t]}}function J(e){let t={},n=0;return e.forEach(e=>{e.areaCodes?e.areaCodes.forEach(r=>{let i=e.dialCode+r;t[i]=e,i.length>n&&(n=i.length)}):(t[e.dialCode]=e,e.dialCode.length>n&&(n=e.dialCode.length))}),{dialCodes:t,dialCodeMaxLength:n}}function ie(e=``){let t=e.match(/\(([^)]+)\)/g);if(t?.length===2)return t[1].replace(/\(|\)/g,``).split(`|`)}function ae(e){return e.map(e=>({name:e.label,dialCode:e.meta.countryCode,pattern:e.pattern,areaCodes:ie(e.pattern)}))}function oe({field:e,fieldState:t,fieldData:n,component:r,onChangeCountryCode:i,onChangePhoneNumber:a}){let{value:o}=e,{options:s}=n,c=x(()=>ae(s),[s]),l=x(()=>J(c),[c]),u=S(!1),[d,f]=C(()=>q(J(c),o||``));b(()=>{if((!o||o===`+`)&&(u.current=!1),u.current)return;let e=q(l,o||``);f(e)},[o,l]);let{prefix:p,phoneNumber:m}=x(()=>K(o,d),[o,d]),h=y(t=>{if(!t)return;let n=`+${t.dialCode}${m}`;u.current=!0,f(t),e.onChange(n),i&&i(t)},[m,e,i]),g=y(t=>{let n=re(t.target.value),r;r=d?`${p}${d.dialCode}${n}`:`${p}${n}`,e.onChange(r),a&&a({target:{value:r,name:e.name}})},[d,p,e,a]),_=x(()=>({...n,onChangeCountryCode:h,onChangePhoneNumber:g,currentCountry:d,nationalPhoneNumber:m}),[n,h,g,d,m]);return T(r,{field:e,fieldState:t,fieldData:_})}function se({name:e,description:t,label:n,onChangeCountryCode:r,onChangePhoneNumber:i,component:o,...s}){let{components:c}=g(),{control:l}=a(),u=_();return T(m,{control:l,name:e,render:({field:a,fieldState:l})=>{let d=o||c.tel;if(!d)throw Error(`Tel component not found for field ${e}`);let f={name:e,description:t,label:n,transformHtml:u,...s};return T(oe,{field:a,fieldState:l,fieldData:f,component:d,onChangeCountryCode:r,onChangePhoneNumber:i})}})}function ce({name:e,description:t,label:n,type:r,onChange:i,component:o,maxLength:s,...c}){let{components:l}=g(),{control:u}=a(),d=_();return T(m,{control:u,name:e,render:({field:a,fieldState:u})=>{let f=o||l?.time;if(!f)throw Error(`Time component not found for field ${e}`);let p={name:e,description:t,label:n,type:r,onChange:i,maxLength:s,transformHtml:d,...c};return T(f,{field:{...a,onChange:e=>{a.onChange(e),i?.(e)}},fieldState:u,fieldData:p})}})}const Y={checkbox:f,text:l,email:W,money:ne,select:V,"multi-select":te,radio:B,number:z,file:R,date:I,textarea:U,countries:H,hidden:G,tel:se,time:ce,"work-schedule":ee};function X({title:e,description:t,severity:n}){let{components:i}=g(),a=i.statement;if(!a)throw Error(`Statement component not found`);return T(a,{data:{title:e?r(e):void 0,description:r(t),severity:n}})}function Z({name:e,value:t,description:n,statement:i,label:o,helpCenter:s}){let{setValue:c}=a(),{components:l}=g(),u=_();b(()=>{c(e,t)},[e,t,c]);let d=i?.description||n,f=i?.title?r(i.title):r(o);if(!d&&!i?.title)return null;let p=l?.forcedValue;if(!p)throw Error(`Forced value component not found for field ${e}`);return T(p,{fieldData:{name:e,value:t,title:f,description:d,meta:{helpCenter:s},transformHtml:u}})}function Q({label:n,name:r,fields:i,description:o,components:s,statement:l,isFlatFieldset:u,extra:f,variant:m=`outset`,features:h,meta:_,Component:y,...x}){let{helpCenter:C}=_||{},{watch:D,setValue:O,trigger:A,formState:j}=a(),{components:M}=g(),N=h?.toggle?.stateField,P=N?D(N):h?.toggle?.defaultExpanded??!0,F=i.map(({name:e})=>`${r}.${e}`),I=i.some(e=>e.calculateDynamicProperties),L=D(F),R=I?D():L,z=S(L),B=S(null),V=()=>{N&&O(N,!P)};b(()=>{let e=L,t=z.current,n=j.isSubmitted||j.submitCount>0,r=!1;for(let n=0;n<e.length;n++)if(e[n]!==void 0&&t[n]!==e[n]){r=!0;break}return r&&n&&(B.current&&clearTimeout(B.current),B.current=setTimeout(()=>{A()},50)),z.current=[...e],()=>{B.current&&clearTimeout(B.current)}},[L,A,j.isSubmitted,j.submitCount]);let H=M?.fieldsetToggle||d,U=`${r}-content`,W=`${r}-header`;return y?T(y,{...x,name:r,value:D(r),setValue:e=>{O(r,e)}}):E(`fieldset`,{className:e(`border-1 border-input p-4 rounded-xl`,`RemoteFlows__FieldSetField`,`RemoteFlows__FieldSetField__${r}`),children:[T(`legend`,{className:e(`text-sm font-semibold px-2`,m===`inset`&&`hidden`),children:n}),C?.callToAction&&C?.id&&m===`outset`&&T(p,{className:`RemoteFlows__FieldSetField__HelpCenterLink mb-3`,zendeskId:C.id,children:C.callToAction}),m===`inset`&&E(w,{children:[E(`div`,{className:`RemoteFlows__FieldSetField__Header`,id:W,"data-state":P?`expanded`:`collapsed`,"aria-expanded":P,children:[T(`h3`,{className:e(`RemoteFlows__FieldSetField__Title`),children:n}),h?.toggle?.enabled&&T(H,{isExpanded:P,onToggle:V,"aria-expanded":P,"aria-controls":U,"aria-label":`${P?`Hide`:`Show`} ${n}`,className:e(`RemoteFlows__FieldSetField__Toggle`,h.toggle?.className),children:P?h.toggle.labels?.collapse??`Remove`:h.toggle.labels?.expand??`Define`})]}),C?.callToAction&&C?.id&&T(p,{className:`RemoteFlows__FieldSetField__HelpCenterLink mb-3`,zendeskId:C.id,children:C.callToAction})]}),P&&E(`div`,{id:U,"aria-labelledby":W,role:`region`,children:[o?T(c,{as:`div`,className:`mb-5 RemoteFlows__FieldSetField__Description`,children:o}):null,E(`div`,{className:`grid gap-4`,children:[i.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(R,e)||{}}),e.isVisible===!1||e.deprecated)return null;let n=e.type,i=`${u?e.name:`${r}.${e.name}`}`,a=t(e),o=(t,n)=>e.WrapperComponent?T(e.WrapperComponent,{children:t},n):T(v,{children:t},n);if(a){let t=k(e,`WrapperComponent`);return o(T(Z,{name:i,description:t.description,value:t.const,statement:t.statement,label:t.label,helpCenter:t.meta?.helpCenter}),i)}if(n===`fieldset`){let t=k(e,`WrapperComponent`);return o(T(Q,{...t,name:i,components:s}),i)}if(n===`fieldset-flat`){let t=k(e,`WrapperComponent`);return o(T(Q,{...t,name:i,components:s,isFlatFieldset:!0}),i)}let c=Y[n];if(e.Component){let{Component:t}=e,n=k(e,`WrapperComponent`);return o(E(w,{children:[T(t,{...n,value:D(i),setValue:e=>{O(i,e)}}),e.statement?T(X,{...e.statement}):null,e.extra?e.extra:null]}),i)}if(!c)return E(`p`,{className:`error`,children:[`Field type `,n,` not supported`]});n===`select`&&e.multiple&&(c=Y[`multi-select`]);let l=k(e,`WrapperComponent`);return o(E(w,{children:[T(c,{...l,name:i,component:s?.[n]}),e.statement?T(X,{...e.statement}):null,e.extra?e.extra:null]}),i)}),f||null,l?T(X,{...l}):null]})]})]})}const $={...Y,fieldset:Q,"fieldset-flat":Q},le=({fields:e,fieldsets:n,fieldValues:r,components:i})=>{let{setValue:o,watch:c}=a();if(!e||e.length===0)return null;let l=n&&r?h({fields:e,fieldsets:n,values:r}):e,u=(e,t,n)=>t.WrapperComponent?T(t.WrapperComponent,{children:e},n):T(v,{children:e},n);return T(w,{children:l.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(r,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(t(e)){let t=k(e,`WrapperComponent`);return u(T(Z,{name:t.name,description:t.description,value:t.const,statement:t.statement,label:t.label,helpCenter:t.meta?.helpCenter}),e,e.name)}if(e.Component){let{Component:t}=e,n=k(e,[`Component`,`WrapperComponent`]);return u(E(s,{name:e.name,children:[T(t,{...n,value:c(e.name),setValue:t=>o(e.name,t)}),e.statement?T(X,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)}let n=e.type,a=$[n];if(!a)return E(`p`,{className:`error`,children:[`Field type `,n,` not supported`]});if(n===`fieldset`){let t=k(e,`WrapperComponent`);return u(T(a,{...t,components:i}),e,e.name)}if(n===`fieldset-flat`){let t=k(e,`WrapperComponent`);return u(T(a,{...t,components:i,isFlatFieldset:!0}),e,e.name)}n===`select`&&e.multiple&&(a=$[`multi-select`]);let l=k(e,`WrapperComponent`);return u(E(w,{children:[T(a,{...l,component:i&&i[n]}),e.statement?T(X,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)})})};export{N as a,F as i,Q as n,A as o,X as r,M as s,le as t};
|
|
2
|
+
//# sourceMappingURL=JSONSchemaForm-DehMm5lM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JSONSchemaForm-DehMm5lM.js","names":["createHeadlessForm","baseCreateHeadlessForm"],"sources":["../src/components/form/validationResolver.ts","../src/flows/utils.ts","../src/common/createHeadlessForm.tsx","../src/components/form/fields/DatePickerField.tsx","../src/components/form/fields/FileUploadField.tsx","../src/components/form/fields/NumberField.tsx","../src/components/form/fields/RadioGroupField.tsx","../src/components/form/fields/SelectField.tsx","../src/components/form/fields/CountryField.tsx","../src/components/form/fields/TextAreaField.tsx","../src/components/form/fields/EmailField.tsx","../src/components/form/fields/HiddenField.tsx","../src/components/form/fields/WorkScheduleField.tsx","../src/components/form/fields/MultiSelectField.tsx","../src/components/form/fields/MoneyField.tsx","../src/components/form/fields/TelField.tsx","../src/components/form/fields/TimeField.tsx","../src/components/form/fields/baseFields.tsx","../src/components/form/Statement.tsx","../src/components/form/fields/ForcedValueField.tsx","../src/components/form/fields/FieldSetField.tsx","../src/components/form/fields/fieldsMapping.tsx","../src/components/form/JSONSchemaForm.tsx"],"sourcesContent":["import { FieldErrors, FieldValues, Resolver } from 'react-hook-form';\nimport type { ValidationError } from 'yup';\nimport type {\n FormErrors,\n ValidationResult,\n} from '@remoteoss/remote-json-schema-form-kit';\n\n// TODO: deprecated only used in the CostCalculatorFlow as we're using yup there\nexport function iterateErrors(error: ValidationError) {\n const errors = (error as ValidationError).inner.reduce(\n (\n allErrors: Record<string, { type: string; message: string }>,\n currentError: ValidationError,\n ) => {\n return {\n ...allErrors,\n [currentError.path as string]: {\n type: currentError.type ?? 'validation',\n message: currentError.message,\n },\n };\n },\n {} as Record<string, { type: string; message: string }>,\n );\n\n return errors;\n}\n\nexport function iterateFormErrors(\n formErrors?: FormErrors,\n parentPath = '',\n): FieldErrors {\n return Object.entries(formErrors || {}).reduce(\n (allErrors: FieldErrors, [fieldName, message]) => {\n const fullPath = parentPath ? `${parentPath}.${fieldName}` : fieldName;\n\n // If message is a nested object, recurse\n if (\n typeof message === 'object' &&\n message !== null &&\n !Array.isArray(message)\n ) {\n return {\n ...allErrors,\n ...iterateFormErrors(message as FormErrors, fullPath),\n };\n }\n\n // Extract the error message string from various payload formats\n const messageString =\n typeof message === 'string' ? message : JSON.stringify(message);\n\n allErrors[fullPath] = {\n type: 'validation',\n message: messageString,\n };\n\n // Also add errors for nested variants (.value and .filter) in case the field is nested\n allErrors[`${fullPath}.value`] = {\n type: 'validation',\n message: messageString,\n };\n\n return allErrors;\n },\n {} as FieldErrors,\n );\n}\n\nexport const useJsonSchemasValidationFormResolver = <\n T extends FieldValues = FieldValues,\n>(\n handleValidation: (data: T) => Promise<ValidationResult | null>,\n): Resolver<T> => {\n return async (data: T) => {\n const result = await handleValidation(data);\n\n // Handle null case - return no errors\n if (!result) {\n return {\n values: data,\n errors: {} as Record<string, never>,\n };\n }\n\n const formErrors = 'formErrors' in result ? result.formErrors : undefined;\n\n if (Object.keys(formErrors || {}).length > 0) {\n const errors = iterateFormErrors(formErrors);\n return {\n values: {} as Record<string, never>,\n errors: errors as FieldErrors<T>,\n };\n }\n return {\n values: data,\n errors: {} as Record<string, never>,\n };\n };\n};\n","import { SupportedTypes } from '../components/form/fields/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype ParsedRadioValues = Record<string, unknown>;\n\n/**\n * Parses the form values to convert radio button values from 'yes'/'no' to boolean.\n *\n * @param values - The form values as a record of key-value pairs.\n * @param fieldKeys - An array of field keys that represent radio button fields.\n * @returns A new object with the parsed values, where radio button fields are converted to boolean.\n *\n * @example\n * const values = {\n * ack: 'yes',\n * confidential: 'no',\n * username: 'john_doe',\n * };\n * const fieldKeys = ['ack', 'confidential'];\n * const parsedValues = parseFormRadioValues(values, fieldKeys);\n * // Output: { ack: true, confidential: false, username: 'john_doe' }\n */\nexport function parseFormRadioValues(\n values: Record<string, unknown>,\n fieldKeys: string[],\n) {\n return Object.entries(values).reduce<ParsedRadioValues>(\n (acc, [key, value]) => {\n acc[key] = fieldKeys.includes(key) ? value === 'yes' : value;\n return acc;\n },\n {},\n );\n}\n\nexport function findFieldsByType(\n fields: Record<string, $TSFixMe>,\n type: SupportedTypes,\n) {\n const fieldsNames = [];\n for (const [key, value] of Object.entries(fields)) {\n // old schemas use type, new schemas use inputType\n // as probably we need to support both for now, that's why we check both\n if (\n value['x-jsf-presentation'].type === type ||\n value['x-jsf-presentation'].inputType === type\n ) {\n fieldsNames.push(key);\n }\n }\n return fieldsNames;\n}\n","import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport {\n JSFModify,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify; transformMoneyFields?: boolean },\n): JSONSchemaFormResultWithFieldsets => {\n const { transformMoneyFields } = options || {\n transformMoneyFields: true,\n };\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n // muteLogging: true suppresses the generic library log; we surface the\n // actual warnings ourselves when present so they're actionable.\n const { schema, warnings } = modify(jsfSchema, {\n ...modifyConfig,\n muteLogging: true,\n } as Parameters<typeof modify>[1]);\n if (warnings && warnings.length > 0) {\n // FIELD_TO_CHANGE_NOT_FOUND is expected noise, not a bug: some field\n // customizations (e.g. equity_compensation) are shared across every\n // onboarding contract details schema even though not every country's schema defines\n // that field. Only surface the warning types that do indicate a real\n // misconfiguration, and only in this repo's own dev build (see\n // RF_INTERNAL_DEV in tsdown.config.ts) — never to consumers of the\n // published package.\n const actionableWarnings = warnings.filter(\n (warning) => warning?.type !== 'FIELD_TO_CHANGE_NOT_FOUND',\n );\n if (\n actionableWarnings.length > 0 &&\n process.env.RF_INTERNAL_DEV === 'true'\n ) {\n // eslint-disable-next-line no-console\n console.warn('jsfModify warnings:', actionableWarnings);\n }\n }\n jsfSchema = schema;\n\n if (required) {\n const baseRequired = Array.isArray(schema.required)\n ? schema.required\n : [];\n\n if (typeof required === 'function') {\n // Function: allows full control over required fields\n jsfSchema.required = required(baseRequired);\n } else {\n // Array: merge with existing required fields (backwards compatible)\n jsfSchema.required = [...baseRequired, ...required];\n }\n }\n\n if (allOf) {\n jsfSchema.allOf = [\n ...(Array.isArray(schema.allOf) ? schema.allOf : []),\n ...allOf,\n ];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues && transformMoneyFields) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n // Support for both x-jsf-fieldsets and x-rmt-flatFieldsets\n // before x-jsf-fieldsets was used, but it was migrated to x-rmt-flatFieldsets\n // this allows to everything to keep working as expected without renaming the whole thing\n 'x-jsf-fieldsets':\n (jsfSchema['x-jsf-fieldsets'] as JSFFieldset) ||\n (jsfSchema['x-rmt-flatFieldsets'] as JSFFieldset),\n 'x-jsf-presentation': jsfSchema['x-jsf-presentation'] as\n | Record<string, unknown>\n | undefined,\n },\n ...baseCreateHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n};\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: $TSFixMe) => void;\n component?: Components['date'];\n};\n\nexport function DatePickerField({\n description,\n label,\n name,\n minDate,\n maxDate,\n onChange,\n component,\n ...rest\n}: DatePickerFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n let minDateValue: Date;\n if (rest.meta?.mot && typeof rest.meta.mot === 'number') {\n minDateValue = getMinStartDate(rest.meta.mot);\n } else if (typeof minDate === 'string') {\n minDateValue = new Date(`${minDate}T00:00:00`);\n }\n\n let maxDateValue: Date | undefined;\n if (maxDate) {\n maxDateValue = new Date(`${maxDate}T23:59:59`);\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.date;\n\n if (!Component) {\n throw new Error(`Date picker component not found for field ${name}`);\n }\n\n const customDatePickerFieldProps = {\n description,\n label,\n name,\n onChange,\n transformHtml,\n ...(minDateValue && { minDate: minDateValue.toISOString() }),\n ...(maxDateValue && { maxDate: maxDateValue.toISOString() }),\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customDatePickerFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { FieldDataProps } from '@/src/types/fields';\n\nconst validateFileSize = (files: File[], maxSize?: number): string | null => {\n if (!maxSize) return null;\n\n for (const file of files) {\n // `file` may not be a real File at runtime (e.g. an already-uploaded reference mixed in\n // via a multi-file field) even though the public type says otherwise — guard defensively.\n if (file instanceof File && file.size > maxSize) {\n const maxSizeMB = Math.round(maxSize / (1024 * 1024));\n const fileSizeMB = Math.round(file.size / (1024 * 1024));\n return `File \"${file.name}\" exceeds maximum size of ${maxSizeMB}MB (file is ${fileSizeMB}MB)`;\n }\n }\n return null;\n};\n\nexport type FieldFileDataProps = FieldDataProps & {\n accept?: string;\n multiple?: boolean;\n maxFileSize?: number;\n};\n\nexport type FileUploadFieldProps = JSFField & {\n onChange?: (value: File[]) => void;\n multiple?: boolean;\n component?: Components['file'];\n maxSize?: number;\n accept?: string;\n};\n\nexport function FileUploadField({\n name,\n description,\n label,\n multiple = false,\n onChange,\n component,\n accept,\n maxSize,\n ...rest\n}: FileUploadFieldProps) {\n const { components } = useFormFields();\n const { control, setError, clearErrors } = useFormContext();\n const transformHtml = useTransformer();\n\n const handleOnChange = async (\n files: File[],\n field: ControllerRenderProps<FieldValues, string>,\n ) => {\n const sizeError = validateFileSize(files, maxSize);\n if (sizeError) {\n setError(name, { message: sizeError });\n return;\n }\n\n clearErrors(name);\n field.onChange(files);\n onChange?.(files);\n };\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.file;\n if (!Component) {\n throw new Error(`File upload component not found for field ${name}`);\n }\n\n const customFileUploadFieldProps: FieldFileDataProps = {\n name,\n description,\n label,\n multiple,\n accept,\n maxFileSize: maxSize,\n transformHtml,\n ...rest,\n };\n\n return (\n <Component\n field={{\n ...field,\n value: field.value,\n onChange: async (value: File[]) => handleOnChange(value, field),\n }}\n fieldState={fieldState}\n fieldData={customFileUploadFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\nimport { TextFieldProps } from './TextField';\n\nexport type NumberFieldProps = TextFieldProps & {\n component?: Components['number'];\n onChange?: (value: number) => void;\n};\n\nexport function NumberField({\n component,\n onChange,\n ...props\n}: NumberFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n const Component = component || components.number;\n\n if (!Component) {\n throw new Error(`Number component not found for field ${props.name}`);\n }\n\n const customNumberFieldProps = {\n onChange,\n transformHtml,\n ...props,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: number) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customNumberFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\n\ntype RadioGroupFieldProps = JSFField & {\n onChange?: (value: string) => void;\n component?: Components['radio'];\n};\n\nexport function RadioGroupField({\n name,\n defaultValue,\n description,\n label,\n options,\n onChange,\n component,\n ...rest\n}: RadioGroupFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const Component = component || components?.radio;\n if (!Component) {\n throw new Error(`Radio group component not found for field ${name}`);\n }\n const customRadioGroupFieldProps = {\n name,\n defaultValue,\n description,\n label,\n options,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customRadioGroupFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\ntype SelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string | number; label: string }>;\n className?: string;\n onChange?: (value: string | number) => void;\n component?: Components['select'];\n};\n\nexport function SelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: SelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.select;\n\n if (!Component) {\n throw new Error(`Select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string | number) => {\n const isNumberType = Array.isArray(rest.jsonType)\n ? rest.jsonType.includes('number')\n : rest.jsonType === 'number';\n const maybeCastValue = isNumberType ? Number(value) : value;\n field.onChange(maybeCastValue);\n onChange?.(maybeCastValue);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype CountryFieldProps = JSFField & {\n options: Array<{ value: string; label: string }>;\n onChange?: (value: $TSFixMe) => void;\n $meta: {\n regions: Record<string, string[]>;\n subregions: Record<string, string[]>;\n };\n component?: Components['countries'];\n};\n\nexport function CountryField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n component,\n ...rest\n}: CountryFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.countries;\n if (!Component) {\n throw new Error(`Country component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nexport type TextAreaFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n maxLength?: number;\n component?: Components['textarea'];\n};\n\nexport function TextAreaField({\n name,\n description,\n label,\n onChange,\n maxLength,\n component,\n ...rest\n}: TextAreaFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.textarea;\n if (!Component) {\n throw new Error(`Text area component not found for field ${name}`);\n }\n const customTextAreaFieldProps = {\n name,\n description,\n label,\n maxLength,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(evt);\n onChange?.(evt);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextAreaFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldProps } from './TextField';\nimport { Components } from '@/src/types/remoteFlows';\n\ntype EmailFieldProps = TextFieldProps & {\n component?: Components['email'];\n};\n\nexport function EmailField({ component, onChange, ...props }: EmailFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n const Component = component || components.email;\n\n if (!Component) {\n throw new Error(`Email component not found for field ${props.name}`);\n }\n\n const customEmailFieldProps = {\n onChange,\n transformHtml,\n ...props,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customEmailFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useEffect } from 'react';\nimport { FormField } from '../../ui/form';\nimport { Field } from '@/src/flows/types';\n\nexport function HiddenField(props: Field) {\n const { control, setValue } = useFormContext();\n\n // If the field has a forced/computed value (const === default), set it\n // If not it'll get the value from the form state\n useEffect(() => {\n if (\n props.const !== undefined &&\n props.const === props.default &&\n props.name\n ) {\n setValue(props.name, props.const);\n }\n }, [props.const, props.default, props.name, setValue]);\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field }) => {\n return <input {...field} type='hidden' />;\n }}\n />\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\n\nimport {\n buildWorkScheduleSummary,\n calculateTotalWorkHours,\n DailySchedule,\n} from './workScheduleUtils';\n\ntype WorkScheduleFieldProps = JSFField & {\n name: string;\n default: DailySchedule[];\n onChange?: (value: $TSFixMe) => void;\n component?: Components['work-schedule'];\n};\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\nexport function WorkScheduleField(props: WorkScheduleFieldProps) {\n const { components } = useFormFields();\n const { setValue, control, watch } = useFormContext();\n const transformHtml = useTransformer();\n const watchedSchedule = watch(props.name);\n const [currentSchedule, setCurrentSchedule] =\n useState<DailySchedule[]>(watchedSchedule);\n\n const { workHoursSummary, breakSummary } =\n buildWorkScheduleSummary(currentSchedule);\n const totalWorkHours = calculateTotalWorkHours(currentSchedule);\n\n useEffect(() => {\n setValue(props.name, currentSchedule);\n }, [currentSchedule, props.name, setValue]);\n\n function onSubmit(data: WorkScheduleFormData['schedule']) {\n setCurrentSchedule(data);\n }\n\n const Component = props.component || components['work-schedule'];\n if (!Component) {\n throw new Error(\n `Work schedule component not found for field ${props.name}`,\n );\n }\n\n const fieldData = {\n ...props,\n onSubmit,\n currentSchedule,\n transformHtml,\n defaultFormattedValue: {\n workHoursSummary,\n breakSummary,\n totalWorkHours,\n },\n };\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype MultiSelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string; label: string }>;\n className?: string;\n onChange?: (value: $TSFixMe) => void;\n component?: Components['select'];\n};\n\nexport function MultiSelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: MultiSelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.['multi-select'];\n if (!Component) {\n throw new Error(`Multi select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import {\n NumberField,\n NumberFieldProps,\n} from '@/src/components/form/fields/NumberField';\n\n// TODO: We use the number field and the the number type is what the partner overrides\n// TODO: this needs to be changed in the future with the changes from https://github.com/remoteoss/remote-flows/pull/128\nexport const MoneyField = (props: NumberFieldProps) => {\n return <NumberField maxLength={15} {...props} />;\n};\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components } from '@/src/types/remoteFlows';\nimport {\n useFormContext,\n ControllerFieldState,\n ControllerRenderProps,\n FieldValues,\n} from 'react-hook-form';\nimport { TelFieldComponentProps, TelFieldDataProps } from '@/src/types/fields';\nimport { useMemo, useCallback, useState, useEffect, useRef } from 'react';\n\nexport type Country = {\n name: string;\n dialCode: string;\n pattern: string;\n areaCodes?: string[];\n};\n\n/**\n * Removes all spaces from input.\n */\nfunction removeSpaces(value: string) {\n return value.replace(/\\s/g, '');\n}\n\nfunction getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber: string = '',\n country?: Country,\n) {\n const baseRegex = new RegExp(\n `^(\\\\+|00)(\\\\d{${country?.dialCode?.length ?? 0}})(.*)$`,\n );\n const baseMatch = internationalPhoneNumber?.match(baseRegex);\n\n if (!baseMatch) {\n return {\n prefix: '',\n dialCode: '',\n phoneNumber: internationalPhoneNumber,\n };\n }\n\n const [, plusOrCallPrefix, dialCode, phoneNumber] = baseMatch;\n\n return {\n prefix: plusOrCallPrefix,\n dialCode,\n phoneNumber,\n };\n}\n\nfunction getCountryFromPhoneNumber(\n {\n dialCodes,\n dialCodeMaxLength,\n }: ReturnType<typeof getCountryDataByCountryCode>,\n internationalPhoneNumber: string,\n) {\n const { prefix } = getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n );\n\n if (!prefix) {\n return undefined;\n }\n\n // Try longest dial codes first - critical for US/Canada\n for (let i = dialCodeMaxLength + prefix.length; i > prefix.length; i--) {\n const dialCode = internationalPhoneNumber.slice(prefix.length, i);\n\n if (dialCodes[dialCode]) {\n return dialCodes[dialCode];\n }\n }\n\n return undefined;\n}\n\n/**\n * Creates a map of dial codes (including area codes) to country objects.\n * Handles countries like US/Canada that share +1 with different area codes.\n */\nexport function getCountryDataByCountryCode(countries: Country[]) {\n const dialCodes: Record<string, Country> = {};\n let dialCodeMaxLength = 0;\n\n countries.forEach((country) => {\n if (country.areaCodes) {\n // For countries with area codes (e.g., +1204, +1226)\n country.areaCodes.forEach((areaCode) => {\n const code = country.dialCode + areaCode;\n dialCodes[code] = country;\n if (code.length > dialCodeMaxLength) {\n dialCodeMaxLength = code.length;\n }\n });\n } else {\n // For countries with simple dial codes (e.g., +44, +351)\n dialCodes[country.dialCode] = country;\n if (country.dialCode.length > dialCodeMaxLength) {\n dialCodeMaxLength = country.dialCode.length;\n }\n }\n });\n\n return { dialCodes, dialCodeMaxLength };\n}\n\nfunction getAreaCodesFromPattern(pattern: string = '') {\n const codeGroupPattern = /\\(([^)]+)\\)/g;\n const groups = pattern.match(codeGroupPattern);\n\n if (groups?.length === 2) {\n return groups[1].replace(/\\(|\\)/g, '').split('|');\n }\n\n return undefined;\n}\n\nfunction transformSchemaToCountries(\n options: Array<{\n value: string;\n label: string;\n meta: { countryCode: string };\n pattern: string;\n }>,\n): Country[] {\n return options.map((option) => ({\n name: option.label,\n dialCode: option.meta.countryCode,\n pattern: option.pattern,\n areaCodes: getAreaCodesFromPattern(option.pattern),\n }));\n}\n\nexport function TelFieldRenderer({\n field,\n fieldState,\n fieldData,\n component: Component,\n onChangeCountryCode,\n onChangePhoneNumber,\n}: {\n field: ControllerRenderProps<FieldValues, string>;\n fieldState: ControllerFieldState;\n fieldData: TelFieldDataProps;\n component: React.ComponentType<TelFieldComponentProps>;\n onChangeCountryCode?: (newCountry: Country) => void;\n onChangePhoneNumber?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}) {\n const { value: internationalPhoneNumber } = field;\n const { options } = fieldData;\n\n const countries = useMemo(\n () => transformSchemaToCountries(options),\n [options],\n );\n\n const countriesByCountryCode = useMemo(\n () => getCountryDataByCountryCode(countries),\n [countries],\n );\n\n // Track if the country change was due to manual selection\n const isManualSelectionRef = useRef(false);\n\n // Use state to track country, so manual selection is preserved\n const [country, setCountry] = useState<Country | undefined>(() =>\n getCountryFromPhoneNumber(\n getCountryDataByCountryCode(countries),\n internationalPhoneNumber || '',\n ),\n );\n\n // Re-detect country when phone number changes externally (e.g., form reset or area code typed)\n useEffect(() => {\n // Reset manual selection flag if field is cleared\n if (!internationalPhoneNumber || internationalPhoneNumber === '+') {\n isManualSelectionRef.current = false;\n }\n\n if (isManualSelectionRef.current) {\n return;\n }\n\n const detected = getCountryFromPhoneNumber(\n countriesByCountryCode,\n internationalPhoneNumber || '',\n );\n setCountry(detected);\n }, [internationalPhoneNumber, countriesByCountryCode]);\n\n const { prefix, phoneNumber: nationalPhoneNumber } = useMemo(\n () =>\n getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n country,\n ),\n [internationalPhoneNumber, country],\n );\n\n const handleCountryCodeChange = useCallback(\n (newCountry: Country) => {\n if (!newCountry) return;\n const newValue = `+${newCountry.dialCode}${nationalPhoneNumber}`;\n\n // Mark as manual selection to prevent useEffect from overriding\n isManualSelectionRef.current = true;\n\n // Update country state to preserve manual selection\n setCountry(newCountry);\n\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangeCountryCode) {\n onChangeCountryCode(newCountry);\n }\n },\n [nationalPhoneNumber, field, onChangeCountryCode],\n );\n\n const handlePhoneNumberChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const valueWithoutSpaces = removeSpaces(event.target.value);\n let newValue: string;\n if (country) {\n newValue = `${prefix}${country.dialCode}${valueWithoutSpaces}`;\n } else {\n newValue = `${prefix}${valueWithoutSpaces}`;\n }\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangePhoneNumber) {\n const syntheticEvent = {\n target: { value: newValue, name: field.name },\n } as React.ChangeEvent<HTMLInputElement>;\n onChangePhoneNumber(syntheticEvent);\n }\n },\n [country, prefix, field, onChangePhoneNumber],\n );\n\n const fieldDataWithComputedValues = useMemo(\n () => ({\n ...fieldData,\n onChangeCountryCode: handleCountryCodeChange,\n onChangePhoneNumber: handlePhoneNumberChange,\n currentCountry: country,\n nationalPhoneNumber,\n }),\n [\n fieldData,\n handleCountryCodeChange,\n handlePhoneNumberChange,\n country,\n nationalPhoneNumber,\n ],\n );\n\n return (\n <Component\n field={field}\n fieldState={fieldState}\n fieldData={fieldDataWithComputedValues}\n />\n );\n}\n\nexport type TelFieldProps = TelFieldDataProps & {\n name: string;\n component?: Components['tel'];\n};\n\nexport function TelField({\n name,\n description,\n label,\n onChangeCountryCode,\n onChangePhoneNumber,\n component,\n ...rest\n}: TelFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.tel;\n if (!Component) {\n throw new Error(`Tel component not found for field ${name}`);\n }\n\n const customTelFieldProps: TelFieldDataProps = {\n name,\n description,\n label,\n transformHtml,\n ...rest,\n };\n\n return (\n <TelFieldRenderer\n field={field}\n fieldState={fieldState}\n fieldData={customTelFieldProps}\n component={Component}\n onChangeCountryCode={onChangeCountryCode}\n onChangePhoneNumber={onChangePhoneNumber}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\n\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TimeFieldDataProps } from '@/src/types/fields';\n\nexport type TimeFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n component?: Components['time'];\n};\n\nexport function TimeField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n maxLength,\n ...rest\n}: TimeFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.time;\n\n if (!Component) {\n throw new Error(`Time component not found for field ${name}`);\n }\n\n const customTimeFieldProps: TimeFieldDataProps = {\n name,\n description,\n label,\n type,\n onChange,\n maxLength,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customTimeFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { CheckBoxField } from './CheckBoxField';\nimport { DatePickerField } from './DatePickerField';\nimport { FileUploadField } from './FileUploadField';\nimport { NumberField } from './NumberField';\nimport { RadioGroupField } from './RadioGroupField';\nimport { SelectField } from './SelectField';\nimport { CountryField } from './CountryField';\nimport { TextAreaField } from './TextAreaField';\nimport { TextField } from './TextField';\nimport { EmailField } from './EmailField';\nimport { HiddenField } from './HiddenField';\nimport { WorkScheduleField } from './WorkScheduleField';\nimport { MultiSelectField } from './MultiSelectField';\nimport { MoneyField } from './MoneyField';\nimport { TelField } from './TelField';\nimport { TimeField } from './TimeField';\nimport { SupportedTypes } from './types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const baseFields: Record<\n Exclude<SupportedTypes, 'fieldset' | 'fieldset-flat'>,\n React.ComponentType<$TSFixMe>\n> = {\n checkbox: CheckBoxField,\n text: TextField,\n email: EmailField,\n money: MoneyField,\n select: SelectField,\n 'multi-select': MultiSelectField,\n radio: RadioGroupField,\n number: NumberField,\n file: FileUploadField,\n date: DatePickerField,\n textarea: TextAreaField,\n countries: CountryField,\n hidden: HiddenField,\n tel: TelField,\n time: TimeField,\n 'work-schedule': WorkScheduleField,\n};\n","import { useFormFields } from '@/src/context';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { StatementComponentProps } from '@/src/types/fields';\n\ntype StatementProps = StatementComponentProps['data'];\n\nexport function Statement({ title, description, severity }: StatementProps) {\n const { components } = useFormFields();\n\n const Component = components.statement;\n\n if (!Component) {\n throw new Error(`Statement component not found`);\n }\n\n return (\n <Component\n data={{\n title: title ? sanitizeHtml(title) : undefined,\n description: sanitizeHtml(description),\n severity,\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useEffect } from 'react';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { HelpCenterDataProps } from '@/src/types/fields';\n\nexport type ForcedValueFieldProps = {\n name: string;\n value: string;\n description: string;\n statement?: {\n title?: string;\n description?: string;\n };\n label: string;\n helpCenter?: HelpCenterDataProps;\n};\n\nexport function ForcedValueField({\n name,\n value,\n description,\n statement,\n label,\n helpCenter,\n}: ForcedValueFieldProps) {\n const { setValue } = useFormContext();\n const { components } = useFormFields();\n const transformHtml = useTransformer();\n\n useEffect(() => {\n setValue(name, value);\n }, [name, value, setValue]);\n\n const forcedValueDescription = statement?.description || description;\n const forcedValueTitle = statement?.title\n ? sanitizeHtml(statement.title)\n : sanitizeHtml(label);\n\n // A forced value with no title and no description has nothing to show the user, so we\n // skip rendering entirely (the value is still set on the form via the effect above).\n const isHiddenValue = !forcedValueDescription && !statement?.title;\n\n if (isHiddenValue) {\n return null;\n }\n\n const Component = components?.forcedValue;\n\n if (!Component) {\n throw new Error(`Forced value component not found for field ${name}`);\n }\n\n return (\n <Component\n fieldData={{\n name,\n value,\n title: forcedValueTitle,\n description: forcedValueDescription,\n meta: { helpCenter },\n transformHtml,\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { Fragment, useEffect, useRef } from 'react';\nimport omit from 'lodash.omit';\nimport { baseFields } from '@/src/components/form/fields/baseFields';\nimport { cn } from '@/src/lib/utils';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { Statement } from '@/src/components/form/Statement';\nimport { useFormFields } from '@/src/context';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { FieldsetToggleButtonDefault } from '@/src/components/form/fields/default/FieldsetToggleButtonDefault';\nimport { BaseTypes, SupportedTypes } from './types';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { checkFieldHasForcedValue } from '@/src/components/form/utils';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\nimport { BaseFormDescription } from '@/src/components/ui/form';\n\ntype FieldBase = {\n label: string;\n name: string;\n description: string;\n Component?: React.ComponentType<$TSFixMe>;\n inputType: SupportedTypes;\n multiple?: boolean;\n};\n\ntype FieldWithOptions = FieldBase & {\n type: 'select' | 'radio';\n options: Array<{ value: string; label: string }>;\n};\n\ntype FieldWithoutOptions = FieldBase & {\n type: Exclude<SupportedTypes, 'select' | 'radio'>;\n options?: never;\n};\n\ntype Field = FieldWithOptions | FieldWithoutOptions;\n\ntype FieldSetFeatures = {\n toggle?: {\n enabled: boolean;\n defaultExpanded?: boolean;\n stateField?: string;\n labels?: {\n expand: string;\n collapse: string;\n };\n className?: string;\n };\n};\n\nexport type FieldSetProps = {\n label: string;\n name: string;\n description: string;\n fields: Field[];\n features?: FieldSetFeatures;\n components: Components;\n statement?: StatementComponentProps['data'];\n isFlatFieldset: boolean;\n extra?: React.ReactNode;\n variant: 'outset' | 'inset';\n Component?: React.ComponentType<$TSFixMe>;\n meta?: {\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n } & Record<string, $TSFixMe>;\n};\n\nexport function FieldSetField({\n label,\n name,\n fields,\n description,\n components,\n statement,\n isFlatFieldset,\n extra,\n variant = 'outset',\n features,\n meta,\n Component,\n ...props\n}: FieldSetProps) {\n const { helpCenter } = meta || {};\n const { watch, setValue, trigger, formState } = useFormContext();\n const { components: formComponents } = useFormFields();\n\n // Get expanded state from form state if stateField is provided\n const stateField = features?.toggle?.stateField;\n const isExpanded = stateField\n ? watch(stateField)\n : (features?.toggle?.defaultExpanded ?? true);\n\n const fieldNames = fields.map(\n ({ name: fieldName }) => `${name}.${fieldName}`,\n );\n const fieldsetNeedsAllFormValues = fields.some(\n (field: $TSFixMe) => field.calculateDynamicProperties,\n );\n const watchedValues = watch(fieldNames);\n const allFormValues = fieldsetNeedsAllFormValues ? watch() : watchedValues;\n const prevValuesRef = useRef<string[]>(watchedValues);\n const triggerTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const toggleExpanded = () => {\n if (stateField) {\n setValue(stateField, !isExpanded);\n }\n };\n\n useEffect(() => {\n const currentValues = watchedValues;\n const previousValues = prevValuesRef.current;\n const hasBeenSubmitted = formState.isSubmitted || formState.submitCount > 0;\n\n // Check if any value has changed\n let hasChanged = false;\n for (let i = 0; i < currentValues.length; i++) {\n if (\n currentValues[i] !== undefined &&\n previousValues[i] !== currentValues[i]\n ) {\n hasChanged = true;\n // This is to prevent the form from triggering validation too many times\n break;\n }\n }\n // If changes detected and we haven't triggered yet, run trigger\n if (hasChanged && hasBeenSubmitted) {\n // We need to debounce the validation trigger so that tests don't freeze\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n triggerTimeoutRef.current = setTimeout(() => {\n trigger();\n }, 50);\n }\n\n prevValuesRef.current = [...currentValues];\n\n return () => {\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n };\n }, [watchedValues, trigger, formState.isSubmitted, formState.submitCount]);\n\n const ToggleComponent =\n formComponents?.fieldsetToggle || FieldsetToggleButtonDefault;\n const contentId = `${name}-content`;\n const headerId = `${name}-header`;\n\n if (Component) {\n return (\n <Component\n {...props}\n name={name}\n value={watch(name)}\n setValue={(value: unknown) => {\n setValue(name, value);\n }}\n />\n );\n }\n\n return (\n <fieldset\n className={cn(\n 'border-1 border-input p-4 rounded-xl',\n `RemoteFlows__FieldSetField`,\n `RemoteFlows__FieldSetField__${name}`,\n )}\n >\n <legend\n className={cn(\n 'text-sm font-semibold px-2',\n variant === 'inset' && 'hidden',\n )}\n >\n {label}\n </legend>\n {helpCenter?.callToAction && helpCenter?.id && variant === 'outset' && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n {variant === 'inset' && (\n <>\n <div\n className='RemoteFlows__FieldSetField__Header'\n id={headerId}\n data-state={isExpanded ? 'expanded' : 'collapsed'}\n aria-expanded={isExpanded}\n >\n <h3 className={cn('RemoteFlows__FieldSetField__Title')}>{label}</h3>\n {features?.toggle?.enabled && (\n <ToggleComponent\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n aria-expanded={isExpanded}\n aria-controls={contentId}\n aria-label={`${isExpanded ? 'Hide' : 'Show'} ${label}`}\n className={cn(\n 'RemoteFlows__FieldSetField__Toggle',\n features.toggle?.className,\n )}\n >\n {isExpanded\n ? (features.toggle.labels?.collapse ?? 'Remove')\n : (features.toggle.labels?.expand ?? 'Define')}\n </ToggleComponent>\n )}\n </div>\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </>\n )}\n {isExpanded && (\n <div id={contentId} aria-labelledby={headerId} role='region'>\n {description ? (\n <BaseFormDescription\n as='div'\n className='mb-5 RemoteFlows__FieldSetField__Description'\n >\n {description}\n </BaseFormDescription>\n ) : null}\n <div className='grid gap-4'>\n {fields.map((field: $TSFixMe) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(allFormValues, field) ||\n {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated) {\n return null; // Skip hidden or deprecated fields\n }\n\n const fieldType = field.type;\n const fieldKey = `${isFlatFieldset ? field.name : `${name}.${field.name}`}`;\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n // Helper function to wrap content with WrapperComponent if present\n const wrapWithCustomWrapper = (\n content: React.ReactNode,\n key: string,\n ) => {\n if (field.WrapperComponent) {\n return (\n <field.WrapperComponent key={key}>\n {content}\n </field.WrapperComponent>\n );\n }\n return <Fragment key={key}>{content}</Fragment>;\n };\n\n if (isForcedValue) {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <ForcedValueField\n name={fieldKey}\n description={fieldProps.description}\n value={fieldProps.const}\n statement={fieldProps.statement}\n label={fieldProps.label}\n helpCenter={fieldProps.meta?.helpCenter}\n />,\n fieldKey,\n );\n }\n\n // Handle nested fieldsets\n if (fieldType === 'fieldset') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n />,\n fieldKey,\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n isFlatFieldset\n />,\n fieldKey,\n );\n }\n // We need to do the check after checking (field.type || field.inputType) === 'fieldset' or (field.type || field.inputType) === 'fieldset-flat'\n // circular dependency most likely\n let FieldComponent = baseFields[fieldType as BaseTypes];\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<$TSFixMe>;\n };\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <Component\n {...fieldProps}\n value={watch(fieldKey) as string}\n setValue={(value: unknown) => {\n setValue(fieldKey, value);\n }}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n fieldKey,\n );\n }\n\n if (!FieldComponent) {\n return (\n <p className='error'>Field type {fieldType} not supported</p>\n );\n }\n\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = baseFields['multi-select'];\n }\n\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <FieldComponent\n {...fieldProps}\n name={fieldKey}\n component={components?.[fieldType as keyof Components]}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n fieldKey,\n );\n })}\n {extra ? extra : null}\n {statement ? <Statement {...statement} /> : null}\n </div>\n </div>\n )}\n </fieldset>\n );\n}\n","import { $TSFixMe } from '@/src/types/remoteFlows';\nimport { baseFields } from './baseFields';\nimport { FieldSetField } from './FieldSetField';\nimport { SupportedTypes } from './types';\n\nexport const fieldsMap: Record<\n SupportedTypes,\n React.ComponentType<$TSFixMe>\n> = {\n ...baseFields,\n fieldset: FieldSetField,\n 'fieldset-flat': FieldSetField,\n};\n","import React, { Fragment } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { fieldsMap } from '@/src/components/form/fields/fieldsMapping';\nimport { Statement } from '@/src/components/form/Statement';\nimport { FormFieldNameProvider } from '@/src/components/ui/form';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\nimport {\n Components,\n JSFFieldset,\n JSFFields,\n $TSFixMe,\n} from '@/src/types/remoteFlows';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { checkFieldHasForcedValue, getFieldsWithFlatFieldsets } from './utils';\n\ntype JSONSchemaFormFieldsProps = {\n fields: JSFFields;\n components?: Components;\n fieldsets?: JSFFieldset | null | undefined;\n fieldValues?: Record<string, unknown>;\n};\n\nexport const JSONSchemaFormFields = ({\n fields,\n fieldsets,\n fieldValues,\n components,\n}: JSONSchemaFormFieldsProps) => {\n const { setValue, watch } = useFormContext();\n\n if (!fields || fields.length === 0) return null;\n\n const maybeFieldWithFlatFieldsets =\n fieldsets && fieldValues\n ? getFieldsWithFlatFieldsets({\n fields: fields,\n fieldsets: fieldsets,\n values: fieldValues,\n })\n : fields;\n\n const wrapWithCustomWrapper = (\n content: React.ReactNode,\n field: $TSFixMe,\n key: string,\n ) => {\n if (field.WrapperComponent) {\n return (\n <field.WrapperComponent key={key}>{content}</field.WrapperComponent>\n );\n }\n return <Fragment key={key}>{content}</Fragment>;\n };\n\n return (\n <>\n {maybeFieldWithFlatFieldsets.map((field) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(fieldValues, field) || {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated || field.hidden) {\n return null; // Skip hidden or deprecated fields\n }\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n if (isForcedValue) {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <ForcedValueField\n name={fieldProps.name as string}\n description={fieldProps.description as string}\n value={fieldProps.const as string}\n statement={fieldProps.statement as $TSFixMe}\n label={fieldProps.label as string}\n helpCenter={fieldProps.meta?.helpCenter}\n />,\n field,\n field.name as string,\n );\n }\n\n if (field.Component) {\n const { Component } = field as $TSFixMe;\n const fieldProps = omit(field, ['Component', 'WrapperComponent']);\n return wrapWithCustomWrapper(\n // Named, but deliberately not wrapped in `FormField`: the component owns its value\n // through the `value`/`setValue` props below, so a `Controller` would fight it.\n // Without the name, a `FormMessage` inside the component has no field to read an\n // error from and silently renders nothing, so validation failures go unreported.\n <FormFieldNameProvider name={field.name as string}>\n <Component\n {...fieldProps}\n value={watch(field.name) as string}\n setValue={(value: unknown) => setValue(field.name, value)}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </FormFieldNameProvider>,\n field,\n field.name as string,\n );\n }\n\n // We use field.type on purpose here, not field.inputType, when using field.inputType\n // the conditionals didn't work as expected\n // I believe json-schema-form in the latest versions uses field.inputType correctly but\n // the version of json-schema-form is decided by remote-json-schema-form-kit\n // our product uses field.type instead of field.inputType and we probably should do the same\n const fieldType = field.type;\n let FieldComponent = fieldsMap[fieldType as keyof typeof fieldsMap];\n\n if (!FieldComponent) {\n return (\n <p className='error'>\n Field type {fieldType as string} not supported\n </p>\n );\n }\n\n if (fieldType === 'fieldset') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldComponent {...fieldProps} components={components} />,\n field,\n field.name,\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldComponent\n {...fieldProps}\n components={components}\n isFlatFieldset\n />,\n field,\n field.name,\n );\n }\n\n // TODO: Have doubts about this, it seems we only support checkbox for multiple select\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = fieldsMap['multi-select'];\n }\n\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <FieldComponent\n {...fieldProps}\n component={\n components && components[fieldType as keyof Components]\n }\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n field,\n field.name as string,\n );\n })}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{B as e,E as t,H as n,g as r}from"./CheckBoxField-DSq9Qf8u.js";import{At as i}from"./sdk.gen-C7MLoCMc.js";import{i as a,t as o}from"./JSONSchemaForm-DehMm5lM.js";import{t as s}from"./useJSONSchemaForm-CiLms2z5.js";import{createContext as c,useCallback as l,useContext as u,useEffect as d,useId as f,useMemo as p,useState as m}from"react";import{jsx as h}from"react/jsx-runtime";const g=c(null),_=()=>{let e=u(g);if(!e)throw Error(`useJsonSchemaPlaygroundContext must be used within a JsonSchemaPlaygroundFlow`);return e},v=t=>{let{defaultSchema:r=`simple-user-profile`,initialValues:i={},schemas:o={},onSubmit:s,onError:c,onSchemaChange:u}=t,[f,h]=m({selectedSchema:r,submittedResults:[],isLoading:!1,isSubmitting:!1,resetKey:0,fieldsVersion:0});d(()=>{r&&r!==f.selectedSchema&&h(e=>({...e,selectedSchema:r,resetKey:e.resetKey+1}))},[r]);let g=p(()=>({...i}),[i]),_=p(()=>o?.[f.selectedSchema],[o,f.selectedSchema]),v=p(()=>{try{h(e=>({...e,isLoading:!0}));let e=a(_.schema,g,{transformMoneyFields:!1});return h(e=>({...e,isLoading:!1})),e}catch(e){throw h(e=>({...e,isLoading:!1})),c?.(e),e}},[_.schema,g,c]),y=l(e=>{h(t=>({...t,selectedSchema:e})),u?.(e),h(e=>({...e,resetKey:e.resetKey+1}))},[u]),b=l(async e=>{h(e=>({...e,isSubmitting:!0}));try{await s?.(e);let t={success:!0,data:e,timestamp:new Date().toISOString()};return h(e=>({...e,isSubmitting:!1,submittedResults:[t,...e.submittedResults]})),t}catch(t){let n={success:!1,data:e,timestamp:new Date().toISOString()};throw h(e=>({...e,isSubmitting:!1,submittedResults:[n,...e.submittedResults]})),c?.(t),t}},[s,c]),x=l(()=>{h(e=>({...e,resetKey:e.resetKey+1}))},[]),S=l(()=>{h(e=>({...e,submittedResults:[]}))},[]),C=l(async e=>{if(!v.fields)return null;let t=await n(e,v.fields,{isPartialValidation:!0}),r=await v.handleValidation(t);return h(e=>({...e,fieldsVersion:e.fieldsVersion+1})),r},[v]),w=p(()=>e(v.fields,g),[v.fields,g]);return{selectedSchema:f.selectedSchema,resetKey:f.resetKey,isLoading:f.isLoading,isSubmitting:f.isSubmitting,submittedResults:f.submittedResults,fieldValues:g,initialValues:w,currentSchemaData:_,fields:v.fields,meta:v.meta,handleSchemaChange:y,handleSubmit:b,handleReset:x,clearResults:S,checkFieldUpdates:async e=>{await C(e)},handleValidation:C}},y=({onSubmit:e,className:t,components:n})=>{let{formId:i,playgroundBag:a}=_(),c=s({handleValidation:a.handleValidation,defaultValues:a.initialValues,checkFieldUpdates:a.checkFieldUpdates});d(()=>{a.checkFieldUpdates(c.getValues())},[]);let l=async t=>{await a.handleSubmit(t),e?.(t)};return h(r,{...c,children:h(`form`,{id:i,onSubmit:c.handleSubmit(l),className:t,children:h(o,{components:n,fields:a.fields??[],fieldValues:a.fieldValues,fieldsets:a.meta[`x-jsf-fieldsets`]})})})},b=e=>{let{playgroundBag:t}=_();return h(y,{...e},`form-${t.selectedSchema}-${t.resetKey}`)};function x({children:e,...t}){let{formId:n,playgroundBag:r}=_(),{components:a}=i(),o=a?.button;if(!o)throw Error(`Button component not found`);return h(o,{...t,form:n,disabled:t.disabled||r.isSubmitting,children:r.isSubmitting?`Submitting...`:e})}function S({children:e,...n}){let{formId:r,playgroundBag:a}=_(),{components:o}=i(),s=o?.button;if(!s)throw Error(`Button component not found`);return h(s,{...n,type:`reset`,className:t(`RemoteFlows__JsonSchemaPlayground__ResetButton`,n.className),form:r,onClick:e=>{a.handleReset(),n.onClick?.(e)},children:e})}const C=({defaultSchema:e,initialValues:t,schemas:n,onSubmit:r,onSchemaChange:i,onError:a,render:o})=>{let s=f(),c=v({defaultSchema:e,initialValues:t,schemas:n,onSubmit:r,onSchemaChange:i,onError:a});return h(g.Provider,{value:{formId:s,playgroundBag:c},children:o({playgroundBag:c,components:{Form:b,SubmitButton:x,ResetButton:S}})})};export{v as n,_ as r,C as t};
|
|
2
|
+
//# sourceMappingURL=JsonSchemaPlayground-CTwG5Y1Q.js.map
|