@remoteoss/remote-flows 1.25.0 → 1.27.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-EPOEMC2J.js +2 -0
- package/dist/CheckboxFieldDefault-QLUSGCSO.js +2 -0
- package/dist/CountryFieldDefault-BNXTXEWS.js +2 -0
- package/dist/DatePickerFieldDefault-FJ7HVEV5.js +2 -0
- package/dist/DrawerDefault-WN7Z4LY7.js +2 -0
- package/dist/EmailFieldDefault-LTDNKVUW.js +2 -0
- package/dist/FieldsetToggleButtonDefault-4RZ3GTDF.js +2 -0
- package/dist/FileUploadFieldDefault-HSLW6SHB.js +2 -0
- package/dist/MultiSelectFieldDefault-GSJWVA5H.js +2 -0
- package/dist/NumberFieldDefault-NVOVVUNK.js +2 -0
- package/dist/RadioGroupFieldDefault-ZLKZ4B4D.js +2 -0
- package/dist/SelectFieldDefault-WU4CDEZD.js +2 -0
- package/dist/StatementDefault-T3RCCUE5.js +2 -0
- package/dist/TableFieldDefault-S5XRYF36.js +2 -0
- package/dist/TelFieldDefault-D5EW44ZU.js +2 -0
- package/dist/TextAreaFieldDefault-G5AIZNH7.js +2 -0
- package/dist/TextFieldDefault-FCVIHZTV.js +2 -0
- package/dist/WorkScheduleFieldDefault-5JZPKI2P.js +2 -0
- package/dist/ZendeskDrawerDefault-WQ32QQVE.js +2 -0
- package/dist/{chunk-R4PLUUI3.js → chunk-2OGPILJM.js} +2 -2
- package/dist/{chunk-RAVJ3LMO.js → chunk-2P4RPBIO.js} +2 -2
- package/dist/{chunk-MEOD4UGO.js → chunk-2UZ72KAQ.js} +2 -2
- package/dist/chunk-3DQ5RNLK.js +2 -0
- package/dist/chunk-3DQ5RNLK.js.map +1 -0
- package/dist/{chunk-IJDBUKEM.js → chunk-4Y2DWXQB.js} +2 -2
- package/dist/{chunk-FHGQELT7.js → chunk-5EDCZGZV.js} +2 -2
- package/dist/{chunk-HLR7IUW7.js → chunk-5QHQT6DL.js} +2 -2
- package/dist/{chunk-N4TAXXWW.js → chunk-5TGKHA2W.js} +2 -2
- package/dist/{chunk-QMPXBDDO.js → chunk-64AJX2DH.js} +2 -2
- package/dist/{chunk-YQMALPDQ.js → chunk-65K5T3GC.js} +2 -2
- package/dist/{chunk-3HAKPYWK.js → chunk-6K3ISPZ3.js} +2 -2
- package/dist/{chunk-5MJH36G3.js → chunk-6QJZMW6S.js} +2 -2
- package/dist/chunk-6S566ZMF.js +2 -0
- package/dist/chunk-6S566ZMF.js.map +1 -0
- package/dist/{chunk-5BGETBLF.js → chunk-6SDLOAEO.js} +2 -2
- package/dist/{chunk-JJDAJQG4.js → chunk-6Y4QJ7WK.js} +2 -2
- package/dist/{chunk-RXNDKUY6.js → chunk-72RFYT5Y.js} +2 -2
- package/dist/{chunk-74U3UMRA.js → chunk-75P5LUKA.js} +2 -2
- package/dist/chunk-7DQY3SRL.js +2 -0
- package/dist/chunk-7DQY3SRL.js.map +1 -0
- package/dist/{chunk-43MCQDBU.js → chunk-7N2A2ZJ5.js} +2 -2
- package/dist/chunk-7SRRP2D6.js +2 -0
- package/dist/chunk-7SRRP2D6.js.map +1 -0
- package/dist/{chunk-3HZOTQHD.js → chunk-7X56CYUV.js} +2 -2
- package/dist/chunk-7ZBLKUKE.js +2 -0
- package/dist/chunk-7ZBLKUKE.js.map +1 -0
- package/dist/{chunk-UB5WD4YM.js → chunk-ACKYD4QC.js} +2 -2
- package/dist/{chunk-3BEEU2N4.js → chunk-AL37BOFX.js} +2 -2
- package/dist/{chunk-WI6ZYN4S.js → chunk-ALF55LF2.js} +2 -2
- package/dist/{chunk-S3YIFNST.js → chunk-B5UGFNCU.js} +2 -2
- package/dist/{chunk-LZL5KK3N.js → chunk-B7HGVWIT.js} +2 -2
- package/dist/{chunk-OOEKN64P.js → chunk-BAE2OWEH.js} +2 -2
- package/dist/{chunk-VSBNYQZM.js → chunk-BC2H7WGB.js} +2 -2
- package/dist/{chunk-ZR6AKRA3.js → chunk-BFSBZTDB.js} +2 -2
- package/dist/{chunk-5EYREHAZ.js → chunk-BTP3NN3N.js} +2 -2
- package/dist/{chunk-R3HLTYHX.js → chunk-CLAVZQBC.js} +2 -2
- package/dist/{chunk-S6MU4NHQ.js → chunk-CMR5CIYN.js} +2 -2
- package/dist/chunk-CODZ7A6U.js +2 -0
- package/dist/chunk-CODZ7A6U.js.map +1 -0
- package/dist/{chunk-JHH66SSM.js → chunk-CUSAI2ZT.js} +2 -2
- package/dist/{chunk-DXHWEBVC.js → chunk-DHLSO7BU.js} +2 -2
- package/dist/{chunk-WVND2FCE.js → chunk-DR25AW5C.js} +2 -2
- package/dist/{chunk-OABRM5LK.js → chunk-DYNVJFJH.js} +2 -2
- package/dist/{chunk-LBNA4RGS.js → chunk-EC6ZM3SX.js} +2 -2
- package/dist/{chunk-7NZH3TF3.js → chunk-EN5ZMAYF.js} +2 -2
- package/dist/{chunk-IFD3RW53.js → chunk-ET4QWXWY.js} +2 -2
- package/dist/{chunk-552XBDTE.js → chunk-FFVTWWGX.js} +2 -2
- package/dist/{chunk-2Y7QAG2Q.js → chunk-FOBUW3RN.js} +2 -2
- package/dist/{chunk-L3XWJ35V.js → chunk-FTC4EFBO.js} +2 -2
- package/dist/{chunk-6PRPMEWS.js → chunk-GFM747IZ.js} +2 -2
- package/dist/{chunk-FYBXLFMI.js → chunk-GLJV3B55.js} +2 -2
- package/dist/{chunk-FZVUO3UU.js → chunk-HBX37YK2.js} +2 -2
- package/dist/{chunk-YTWEXSYT.js → chunk-HGBOZH6Q.js} +2 -2
- package/dist/{chunk-E3HFSANG.js → chunk-HGETJXZZ.js} +2 -2
- package/dist/{chunk-LBGZYTNR.js → chunk-HI7TK62N.js} +2 -2
- package/dist/{chunk-AGZHFGBR.js → chunk-INV4YWPR.js} +2 -2
- package/dist/{chunk-DA3D7BEQ.js → chunk-JBOUDOIM.js} +2 -2
- package/dist/chunk-JR6VISHQ.js +2 -0
- package/dist/chunk-JR6VISHQ.js.map +1 -0
- package/dist/{chunk-UFLWSKNE.js → chunk-JXWFFVQO.js} +2 -2
- package/dist/chunk-KFNCHTUX.js +2 -0
- package/dist/{chunk-5ISPVKB4.js.map → chunk-KFNCHTUX.js.map} +1 -1
- package/dist/{chunk-5XNFVJNM.js → chunk-KIUI7FHF.js} +2 -2
- package/dist/{chunk-766AUWUO.js → chunk-KMBA73YG.js} +2 -2
- package/dist/{chunk-237RQGWE.js → chunk-KVMWDA6O.js} +2 -2
- package/dist/{chunk-VJMCAVOL.js → chunk-L6V2G5TE.js} +2 -2
- package/dist/{chunk-Q6NTGZUW.js → chunk-L7TAT462.js} +2 -2
- package/dist/{chunk-ZZPQGX7X.js → chunk-LBJAKZ6V.js} +2 -2
- package/dist/{chunk-FUOTJMAO.js → chunk-M64UJF3B.js} +2 -2
- package/dist/chunk-MGVJ2TKE.js +2 -0
- package/dist/chunk-MGVJ2TKE.js.map +1 -0
- package/dist/{chunk-AEKGVWE5.js → chunk-MMIHT4V6.js} +2 -2
- package/dist/{chunk-UJJ5576U.js → chunk-MVPXUUUE.js} +2 -2
- package/dist/{chunk-Y4P3ZYQK.js → chunk-NORWRQQM.js} +2 -2
- package/dist/chunk-NTRKVVLQ.js +2 -0
- package/dist/chunk-NTRKVVLQ.js.map +1 -0
- package/dist/{chunk-R47Q7R6C.js → chunk-O5XQUEB5.js} +6 -6
- package/dist/chunk-O5XQUEB5.js.map +1 -0
- package/dist/{chunk-IKSPEKDA.js → chunk-O7TCU5D2.js} +2 -2
- package/dist/{chunk-7WV3GBEI.js → chunk-OGKH4RJL.js} +2 -2
- package/dist/{chunk-ZBJ4VEDO.js → chunk-OJTYP5W7.js} +2 -2
- package/dist/chunk-OSQ6VUDM.js +2 -0
- package/dist/chunk-OSQ6VUDM.js.map +1 -0
- package/dist/{chunk-MOM5PCKI.js → chunk-OVA2X5BB.js} +2 -2
- package/dist/{chunk-TPH6YQRJ.js → chunk-OXCSFW3F.js} +2 -2
- package/dist/{chunk-SHXQGRNL.js → chunk-PK2E2DJH.js} +2 -2
- package/dist/{chunk-SSBGIR74.js → chunk-PLKF2BTI.js} +2 -2
- package/dist/{chunk-RWMNB4RJ.js → chunk-PX6B2DBO.js} +2 -2
- package/dist/{chunk-32M6SNGV.js → chunk-PZFFXEI3.js} +2 -2
- package/dist/{chunk-COZWEBRG.js → chunk-QV4FEP6W.js} +2 -2
- package/dist/{chunk-QEIHXZIK.js → chunk-QV7CVQDJ.js} +2 -2
- package/dist/{chunk-PSBC73OL.js → chunk-R5WFXN2Z.js} +2 -2
- package/dist/{chunk-A3NABWR7.js → chunk-RRZ2GPQS.js} +2 -2
- package/dist/{chunk-YRAIYQ2K.js → chunk-RUYVQ6R6.js} +2 -2
- package/dist/{chunk-BTGWCFHJ.js → chunk-SBTZUZDR.js} +2 -2
- package/dist/{chunk-5FOI6SK4.js → chunk-SW7DKXXK.js} +2 -2
- package/dist/chunk-T5U7ZIBV.js +2 -0
- package/dist/chunk-T5U7ZIBV.js.map +1 -0
- package/dist/chunk-TVBZT6FA.js +2 -0
- package/dist/chunk-TVBZT6FA.js.map +1 -0
- package/dist/{chunk-K5XSOKKX.js → chunk-TXU6EUWN.js} +2 -2
- package/dist/{chunk-EVJ77XIZ.js → chunk-U4344VZW.js} +2 -2
- package/dist/{chunk-4Z2DLHAT.js → chunk-UBNSYRKM.js} +2 -2
- package/dist/{chunk-X5TMQDWS.js → chunk-UN4RAIAR.js} +2 -2
- package/dist/{chunk-R4F5WRKC.js → chunk-UOZUG2KL.js} +2 -2
- package/dist/{chunk-R3NDFTIM.js → chunk-UZNF4JV3.js} +2 -2
- package/dist/{chunk-GPXETIKG.js → chunk-V5OIMFSH.js} +2 -2
- package/dist/{chunk-S62HZDF7.js → chunk-VDVWAYXP.js} +2 -2
- package/dist/{chunk-DJOLLEOJ.js → chunk-VHAJRKCI.js} +2 -2
- package/dist/{chunk-TFJOJCCS.js → chunk-VKKORLLM.js} +2 -2
- package/dist/{chunk-AVJEDFND.js → chunk-VSXPCSKU.js} +2 -2
- package/dist/{chunk-GBQPG5OU.js → chunk-VZXZ7ELU.js} +2 -2
- package/dist/{chunk-JOHNIKN6.js → chunk-W2ZXKNL4.js} +2 -2
- package/dist/{chunk-LRPDJWIO.js → chunk-WXEBBNWP.js} +2 -2
- package/dist/{chunk-DJYO6IIO.js → chunk-XADVV6OP.js} +2 -2
- package/dist/{chunk-XULW2ME7.js → chunk-XK77JKBO.js} +2 -2
- package/dist/chunk-XO4DAKV7.js +2 -0
- package/dist/chunk-XO4DAKV7.js.map +1 -0
- package/dist/{chunk-65KMTRFL.js → chunk-XYV6WN5C.js} +2 -2
- package/dist/{chunk-423VHE7M.js → chunk-YYMGZZTO.js} +2 -2
- package/dist/{chunk-E37JLKX4.js → chunk-ZIFQZ33N.js} +2 -2
- package/dist/{chunk-YNMQONDL.js → chunk-ZNGMRPG6.js} +2 -2
- package/dist/{chunk-D3EUFZXJ.js → chunk-ZQZWWNXL.js} +2 -2
- package/dist/chunk-ZQZWWNXL.js.map +1 -0
- package/dist/{chunk-OOSCL4WD.js → chunk-ZSBQDVXM.js} +2 -2
- package/dist/{chunk-CHRRWZHW.js → chunk-ZX3JVVRL.js} +2 -2
- package/dist/default-components.d.ts +2 -2
- package/dist/default-components.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +2 -2
- package/dist/flows/ContractAmendment/utils.d.ts +2 -2
- package/dist/flows/ContractAmendment/utils.js +1 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +8 -20
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +8 -7
- package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
- package/dist/flows/CostCalculator/api.d.ts +5 -9
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +4 -4
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +2 -2
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
- package/dist/flows/CreateCompany/CreateCompany.js +1 -1
- package/dist/flows/CreateCompany/api.d.ts +6 -14
- package/dist/flows/CreateCompany/api.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
- package/dist/flows/CreateCompany/context.d.ts +7 -6
- package/dist/flows/CreateCompany/hooks.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +4 -4
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +9 -17
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +17 -9
- package/dist/flows/Onboarding/hooks.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/Onboarding/utils.js +1 -1
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +5 -5
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/api.d.ts +8 -12
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +7 -7
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +7 -7
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +7 -7
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +4 -4
- package/dist/flows/Termination/hooks.d.ts +4 -4
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -6
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/Termination/utils.js +1 -1
- package/dist/flows/types.d.ts +4 -3
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +3 -3
- package/dist/internals.js +1 -1
- package/dist/{mutations-k1bkfjOU.d.ts → mutations-B8Mignyp.d.ts} +1 -1
- package/dist/{remoteFlows-CizrXXw-.d.ts → remoteFlows-B_Qw-y-E.d.ts} +14 -2
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/{types-DWSLcaDI.d.ts → types-B5J_4wyN.d.ts} +41 -11
- package/dist/{types-Cg4eblxv.d.ts → types-BkwrqJ5I.d.ts} +4 -4
- package/dist/{types-CRnEmzMD.d.ts → types-D8HNn_KX.d.ts} +1 -1
- package/dist/{types-DoYYKUID.d.ts → types-XM7RZKic.d.ts} +3 -3
- package/dist/{types-VJHlrVxd.d.ts → types-b3-hzr00.d.ts} +2 -2
- package/dist/{types.gen-Dgw1W-SB.d.ts → types.gen-DowXAxCF.d.ts} +660 -20
- package/dist/{utils-DaoVOrzw.d.ts → utils-CqFJ189L.d.ts} +1 -1
- package/package.json +62 -62
- package/dist/ButtonDefault-A5JWQEZF.js +0 -2
- package/dist/CheckboxFieldDefault-2YCVL3MM.js +0 -2
- package/dist/CountryFieldDefault-IY664WKC.js +0 -2
- package/dist/DatePickerFieldDefault-UZ3W2B3R.js +0 -2
- package/dist/DrawerDefault-HQGPEMMY.js +0 -2
- package/dist/EmailFieldDefault-6GQMGBQV.js +0 -2
- package/dist/FieldsetToggleButtonDefault-NQCXWGRK.js +0 -2
- package/dist/FileUploadFieldDefault-L3LOK4A5.js +0 -2
- package/dist/MultiSelectFieldDefault-OE5NHM6A.js +0 -2
- package/dist/NumberFieldDefault-MV3FSZOG.js +0 -2
- package/dist/RadioGroupFieldDefault-J3ESFNPW.js +0 -2
- package/dist/SelectFieldDefault-F2MAJW7S.js +0 -2
- package/dist/StatementDefault-FTAOOAL4.js +0 -2
- package/dist/TableFieldDefault-LXHWAWPG.js +0 -2
- package/dist/TelFieldDefault-EHHOHIQD.js +0 -2
- package/dist/TextAreaFieldDefault-VXPH3YGT.js +0 -2
- package/dist/TextFieldDefault-QWGENVEE.js +0 -2
- package/dist/WorkScheduleFieldDefault-SJSAWRYV.js +0 -2
- package/dist/ZendeskDrawerDefault-SUUZWWY2.js +0 -2
- package/dist/chunk-3VALWCZ5.js +0 -2
- package/dist/chunk-3VALWCZ5.js.map +0 -1
- package/dist/chunk-5ISPVKB4.js +0 -2
- package/dist/chunk-D3EUFZXJ.js.map +0 -1
- package/dist/chunk-EARN6G25.js +0 -2
- package/dist/chunk-EARN6G25.js.map +0 -1
- package/dist/chunk-EJCCWBLQ.js +0 -2
- package/dist/chunk-EJCCWBLQ.js.map +0 -1
- package/dist/chunk-KQUKUR4T.js +0 -2
- package/dist/chunk-KQUKUR4T.js.map +0 -1
- package/dist/chunk-LXOYWRNU.js +0 -2
- package/dist/chunk-LXOYWRNU.js.map +0 -1
- package/dist/chunk-NZ7BAZNH.js +0 -2
- package/dist/chunk-NZ7BAZNH.js.map +0 -1
- package/dist/chunk-OORPUQ3N.js +0 -2
- package/dist/chunk-OORPUQ3N.js.map +0 -1
- package/dist/chunk-R47Q7R6C.js.map +0 -1
- package/dist/chunk-U7S4TUFV.js +0 -2
- package/dist/chunk-U7S4TUFV.js.map +0 -1
- package/dist/chunk-UITO344H.js +0 -2
- package/dist/chunk-UITO344H.js.map +0 -1
- package/dist/chunk-VJNTRMOS.js +0 -2
- package/dist/chunk-VJNTRMOS.js.map +0 -1
- package/dist/chunk-YZKXKNDS.js +0 -2
- package/dist/chunk-YZKXKNDS.js.map +0 -1
- package/dist/chunk-ZAQUO2SM.js +0 -2
- package/dist/chunk-ZAQUO2SM.js.map +0 -1
- /package/dist/{ButtonDefault-A5JWQEZF.js.map → ButtonDefault-EPOEMC2J.js.map} +0 -0
- /package/dist/{CheckboxFieldDefault-2YCVL3MM.js.map → CheckboxFieldDefault-QLUSGCSO.js.map} +0 -0
- /package/dist/{CountryFieldDefault-IY664WKC.js.map → CountryFieldDefault-BNXTXEWS.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-UZ3W2B3R.js.map → DatePickerFieldDefault-FJ7HVEV5.js.map} +0 -0
- /package/dist/{DrawerDefault-HQGPEMMY.js.map → DrawerDefault-WN7Z4LY7.js.map} +0 -0
- /package/dist/{EmailFieldDefault-6GQMGBQV.js.map → EmailFieldDefault-LTDNKVUW.js.map} +0 -0
- /package/dist/{FieldsetToggleButtonDefault-NQCXWGRK.js.map → FieldsetToggleButtonDefault-4RZ3GTDF.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-L3LOK4A5.js.map → FileUploadFieldDefault-HSLW6SHB.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-OE5NHM6A.js.map → MultiSelectFieldDefault-GSJWVA5H.js.map} +0 -0
- /package/dist/{NumberFieldDefault-MV3FSZOG.js.map → NumberFieldDefault-NVOVVUNK.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-J3ESFNPW.js.map → RadioGroupFieldDefault-ZLKZ4B4D.js.map} +0 -0
- /package/dist/{SelectFieldDefault-F2MAJW7S.js.map → SelectFieldDefault-WU4CDEZD.js.map} +0 -0
- /package/dist/{StatementDefault-FTAOOAL4.js.map → StatementDefault-T3RCCUE5.js.map} +0 -0
- /package/dist/{TableFieldDefault-LXHWAWPG.js.map → TableFieldDefault-S5XRYF36.js.map} +0 -0
- /package/dist/{TelFieldDefault-EHHOHIQD.js.map → TelFieldDefault-D5EW44ZU.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-VXPH3YGT.js.map → TextAreaFieldDefault-G5AIZNH7.js.map} +0 -0
- /package/dist/{TextFieldDefault-QWGENVEE.js.map → TextFieldDefault-FCVIHZTV.js.map} +0 -0
- /package/dist/{WorkScheduleFieldDefault-SJSAWRYV.js.map → WorkScheduleFieldDefault-5JZPKI2P.js.map} +0 -0
- /package/dist/{ZendeskDrawerDefault-SUUZWWY2.js.map → ZendeskDrawerDefault-WQ32QQVE.js.map} +0 -0
- /package/dist/{chunk-R4PLUUI3.js.map → chunk-2OGPILJM.js.map} +0 -0
- /package/dist/{chunk-RAVJ3LMO.js.map → chunk-2P4RPBIO.js.map} +0 -0
- /package/dist/{chunk-MEOD4UGO.js.map → chunk-2UZ72KAQ.js.map} +0 -0
- /package/dist/{chunk-IJDBUKEM.js.map → chunk-4Y2DWXQB.js.map} +0 -0
- /package/dist/{chunk-FHGQELT7.js.map → chunk-5EDCZGZV.js.map} +0 -0
- /package/dist/{chunk-HLR7IUW7.js.map → chunk-5QHQT6DL.js.map} +0 -0
- /package/dist/{chunk-N4TAXXWW.js.map → chunk-5TGKHA2W.js.map} +0 -0
- /package/dist/{chunk-QMPXBDDO.js.map → chunk-64AJX2DH.js.map} +0 -0
- /package/dist/{chunk-YQMALPDQ.js.map → chunk-65K5T3GC.js.map} +0 -0
- /package/dist/{chunk-3HAKPYWK.js.map → chunk-6K3ISPZ3.js.map} +0 -0
- /package/dist/{chunk-5MJH36G3.js.map → chunk-6QJZMW6S.js.map} +0 -0
- /package/dist/{chunk-5BGETBLF.js.map → chunk-6SDLOAEO.js.map} +0 -0
- /package/dist/{chunk-JJDAJQG4.js.map → chunk-6Y4QJ7WK.js.map} +0 -0
- /package/dist/{chunk-RXNDKUY6.js.map → chunk-72RFYT5Y.js.map} +0 -0
- /package/dist/{chunk-74U3UMRA.js.map → chunk-75P5LUKA.js.map} +0 -0
- /package/dist/{chunk-43MCQDBU.js.map → chunk-7N2A2ZJ5.js.map} +0 -0
- /package/dist/{chunk-3HZOTQHD.js.map → chunk-7X56CYUV.js.map} +0 -0
- /package/dist/{chunk-UB5WD4YM.js.map → chunk-ACKYD4QC.js.map} +0 -0
- /package/dist/{chunk-3BEEU2N4.js.map → chunk-AL37BOFX.js.map} +0 -0
- /package/dist/{chunk-WI6ZYN4S.js.map → chunk-ALF55LF2.js.map} +0 -0
- /package/dist/{chunk-S3YIFNST.js.map → chunk-B5UGFNCU.js.map} +0 -0
- /package/dist/{chunk-LZL5KK3N.js.map → chunk-B7HGVWIT.js.map} +0 -0
- /package/dist/{chunk-OOEKN64P.js.map → chunk-BAE2OWEH.js.map} +0 -0
- /package/dist/{chunk-VSBNYQZM.js.map → chunk-BC2H7WGB.js.map} +0 -0
- /package/dist/{chunk-ZR6AKRA3.js.map → chunk-BFSBZTDB.js.map} +0 -0
- /package/dist/{chunk-5EYREHAZ.js.map → chunk-BTP3NN3N.js.map} +0 -0
- /package/dist/{chunk-R3HLTYHX.js.map → chunk-CLAVZQBC.js.map} +0 -0
- /package/dist/{chunk-S6MU4NHQ.js.map → chunk-CMR5CIYN.js.map} +0 -0
- /package/dist/{chunk-JHH66SSM.js.map → chunk-CUSAI2ZT.js.map} +0 -0
- /package/dist/{chunk-DXHWEBVC.js.map → chunk-DHLSO7BU.js.map} +0 -0
- /package/dist/{chunk-WVND2FCE.js.map → chunk-DR25AW5C.js.map} +0 -0
- /package/dist/{chunk-OABRM5LK.js.map → chunk-DYNVJFJH.js.map} +0 -0
- /package/dist/{chunk-LBNA4RGS.js.map → chunk-EC6ZM3SX.js.map} +0 -0
- /package/dist/{chunk-7NZH3TF3.js.map → chunk-EN5ZMAYF.js.map} +0 -0
- /package/dist/{chunk-IFD3RW53.js.map → chunk-ET4QWXWY.js.map} +0 -0
- /package/dist/{chunk-552XBDTE.js.map → chunk-FFVTWWGX.js.map} +0 -0
- /package/dist/{chunk-2Y7QAG2Q.js.map → chunk-FOBUW3RN.js.map} +0 -0
- /package/dist/{chunk-L3XWJ35V.js.map → chunk-FTC4EFBO.js.map} +0 -0
- /package/dist/{chunk-6PRPMEWS.js.map → chunk-GFM747IZ.js.map} +0 -0
- /package/dist/{chunk-FYBXLFMI.js.map → chunk-GLJV3B55.js.map} +0 -0
- /package/dist/{chunk-FZVUO3UU.js.map → chunk-HBX37YK2.js.map} +0 -0
- /package/dist/{chunk-YTWEXSYT.js.map → chunk-HGBOZH6Q.js.map} +0 -0
- /package/dist/{chunk-E3HFSANG.js.map → chunk-HGETJXZZ.js.map} +0 -0
- /package/dist/{chunk-LBGZYTNR.js.map → chunk-HI7TK62N.js.map} +0 -0
- /package/dist/{chunk-AGZHFGBR.js.map → chunk-INV4YWPR.js.map} +0 -0
- /package/dist/{chunk-DA3D7BEQ.js.map → chunk-JBOUDOIM.js.map} +0 -0
- /package/dist/{chunk-UFLWSKNE.js.map → chunk-JXWFFVQO.js.map} +0 -0
- /package/dist/{chunk-5XNFVJNM.js.map → chunk-KIUI7FHF.js.map} +0 -0
- /package/dist/{chunk-766AUWUO.js.map → chunk-KMBA73YG.js.map} +0 -0
- /package/dist/{chunk-237RQGWE.js.map → chunk-KVMWDA6O.js.map} +0 -0
- /package/dist/{chunk-VJMCAVOL.js.map → chunk-L6V2G5TE.js.map} +0 -0
- /package/dist/{chunk-Q6NTGZUW.js.map → chunk-L7TAT462.js.map} +0 -0
- /package/dist/{chunk-ZZPQGX7X.js.map → chunk-LBJAKZ6V.js.map} +0 -0
- /package/dist/{chunk-FUOTJMAO.js.map → chunk-M64UJF3B.js.map} +0 -0
- /package/dist/{chunk-AEKGVWE5.js.map → chunk-MMIHT4V6.js.map} +0 -0
- /package/dist/{chunk-UJJ5576U.js.map → chunk-MVPXUUUE.js.map} +0 -0
- /package/dist/{chunk-Y4P3ZYQK.js.map → chunk-NORWRQQM.js.map} +0 -0
- /package/dist/{chunk-IKSPEKDA.js.map → chunk-O7TCU5D2.js.map} +0 -0
- /package/dist/{chunk-7WV3GBEI.js.map → chunk-OGKH4RJL.js.map} +0 -0
- /package/dist/{chunk-ZBJ4VEDO.js.map → chunk-OJTYP5W7.js.map} +0 -0
- /package/dist/{chunk-MOM5PCKI.js.map → chunk-OVA2X5BB.js.map} +0 -0
- /package/dist/{chunk-TPH6YQRJ.js.map → chunk-OXCSFW3F.js.map} +0 -0
- /package/dist/{chunk-SHXQGRNL.js.map → chunk-PK2E2DJH.js.map} +0 -0
- /package/dist/{chunk-SSBGIR74.js.map → chunk-PLKF2BTI.js.map} +0 -0
- /package/dist/{chunk-RWMNB4RJ.js.map → chunk-PX6B2DBO.js.map} +0 -0
- /package/dist/{chunk-32M6SNGV.js.map → chunk-PZFFXEI3.js.map} +0 -0
- /package/dist/{chunk-COZWEBRG.js.map → chunk-QV4FEP6W.js.map} +0 -0
- /package/dist/{chunk-QEIHXZIK.js.map → chunk-QV7CVQDJ.js.map} +0 -0
- /package/dist/{chunk-PSBC73OL.js.map → chunk-R5WFXN2Z.js.map} +0 -0
- /package/dist/{chunk-A3NABWR7.js.map → chunk-RRZ2GPQS.js.map} +0 -0
- /package/dist/{chunk-YRAIYQ2K.js.map → chunk-RUYVQ6R6.js.map} +0 -0
- /package/dist/{chunk-BTGWCFHJ.js.map → chunk-SBTZUZDR.js.map} +0 -0
- /package/dist/{chunk-5FOI6SK4.js.map → chunk-SW7DKXXK.js.map} +0 -0
- /package/dist/{chunk-K5XSOKKX.js.map → chunk-TXU6EUWN.js.map} +0 -0
- /package/dist/{chunk-EVJ77XIZ.js.map → chunk-U4344VZW.js.map} +0 -0
- /package/dist/{chunk-4Z2DLHAT.js.map → chunk-UBNSYRKM.js.map} +0 -0
- /package/dist/{chunk-X5TMQDWS.js.map → chunk-UN4RAIAR.js.map} +0 -0
- /package/dist/{chunk-R4F5WRKC.js.map → chunk-UOZUG2KL.js.map} +0 -0
- /package/dist/{chunk-R3NDFTIM.js.map → chunk-UZNF4JV3.js.map} +0 -0
- /package/dist/{chunk-GPXETIKG.js.map → chunk-V5OIMFSH.js.map} +0 -0
- /package/dist/{chunk-S62HZDF7.js.map → chunk-VDVWAYXP.js.map} +0 -0
- /package/dist/{chunk-DJOLLEOJ.js.map → chunk-VHAJRKCI.js.map} +0 -0
- /package/dist/{chunk-TFJOJCCS.js.map → chunk-VKKORLLM.js.map} +0 -0
- /package/dist/{chunk-AVJEDFND.js.map → chunk-VSXPCSKU.js.map} +0 -0
- /package/dist/{chunk-GBQPG5OU.js.map → chunk-VZXZ7ELU.js.map} +0 -0
- /package/dist/{chunk-JOHNIKN6.js.map → chunk-W2ZXKNL4.js.map} +0 -0
- /package/dist/{chunk-LRPDJWIO.js.map → chunk-WXEBBNWP.js.map} +0 -0
- /package/dist/{chunk-DJYO6IIO.js.map → chunk-XADVV6OP.js.map} +0 -0
- /package/dist/{chunk-XULW2ME7.js.map → chunk-XK77JKBO.js.map} +0 -0
- /package/dist/{chunk-65KMTRFL.js.map → chunk-XYV6WN5C.js.map} +0 -0
- /package/dist/{chunk-423VHE7M.js.map → chunk-YYMGZZTO.js.map} +0 -0
- /package/dist/{chunk-E37JLKX4.js.map → chunk-ZIFQZ33N.js.map} +0 -0
- /package/dist/{chunk-YNMQONDL.js.map → chunk-ZNGMRPG6.js.map} +0 -0
- /package/dist/{chunk-OOSCL4WD.js.map → chunk-ZSBQDVXM.js.map} +0 -0
- /package/dist/{chunk-CHRRWZHW.js.map → chunk-ZX3JVVRL.js.map} +0 -0
package/dist/chunk-U7S4TUFV.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as d,k as _,l as x,m as u,n as f}from"./chunk-RXNDKUY6.js";import{c as t}from"./chunk-EARN6G25.js";import{a as p}from"./chunk-P37U34EQ.js";import*as b from"react";import{jsx as T}from"react/jsx-runtime";var n=b.forwardRef(({className:e,...r},a)=>T("textarea",{className:t("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:a,...r}));n.displayName="Textarea";import{jsx as o,jsxs as l}from"react/jsx-runtime";function C({field:e,fieldState:r,fieldData:a}){let{name:i,label:c,description:s,maxLength:m}=a,g=e.value?.length??0;return l(d,{"data-field":i,className:`RemoteFlows__TextArea__Item__${i}`,children:[o(_,{className:"RemoteFlows__TextArea__Label",children:c}),o(x,{children:o(n,{...e,value:e.value??"",onChange:F=>{e.onChange(F)},className:t(r.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:c})}),(s||m)&&l("div",{className:"flex items-center justify-between",children:[s&&o(u,{className:"RemoteFlows__TextArea__Description",children:s}),m&&l("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[g,"/",m]})]}),r.error&&o(f,{className:"RemoteFlows__TextArea__Error"})]})}p(C,"TextAreaFieldDefault");export{C as a};
|
|
2
|
-
//# sourceMappingURL=chunk-U7S4TUFV.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/textarea.tsx","../src/components/form/fields/default/TextAreaFieldDefault.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<'textarea'>\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n","import {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { Textarea } from '@/src/components/ui/textarea';\nimport { cn } from '@/src/lib/utils';\nimport { FieldComponentProps } from '@/src/types/fields';\n\nexport function TextAreaFieldDefault({\n field,\n fieldState,\n fieldData,\n}: FieldComponentProps) {\n const { name, label, description, maxLength } = fieldData;\n const valueLength = field.value?.length ?? 0;\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__TextArea__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__TextArea__Label'>{label}</FormLabel>\n <FormControl>\n <Textarea\n {...field}\n value={field.value ?? ''}\n onChange={(event: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(event);\n }}\n className={cn(\n fieldState.error && 'border-red-500 focus-visible:ring-red-500',\n 'RemoteFlows__TextArea__Input',\n )}\n placeholder={label}\n />\n </FormControl>\n {(description || maxLength) && (\n <div className='flex items-center justify-between'>\n {description && (\n <FormDescription className='RemoteFlows__TextArea__Description'>\n {description}\n </FormDescription>\n )}\n {maxLength && (\n <span className='text-sm ml-auto RemoteFlows__TextArea__MaxLength'>\n {valueLength}/{maxLength}\n </span>\n )}\n </div>\n )}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__TextArea__Error' />\n )}\n </FormItem>\n );\n}\n"],"mappings":"oJAAA,UAAYA,MAAW,QASnB,cAAAC,MAAA,oBALJ,IAAMC,EAAiB,aAGrB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAExBJ,EAAC,YACC,UAAWK,EACT,kTACAH,CACF,EACA,IAAKE,EACJ,GAAGD,EACN,CAEH,EACDF,EAAS,YAAc,WCIjB,cAAAK,EAuBM,QAAAC,MAvBN,oBAZC,SAASC,EAAqB,CACnC,MAAAC,EACA,WAAAC,EACA,UAAAC,CACF,EAAwB,CACtB,GAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,YAAAC,EAAa,UAAAC,CAAU,EAAIJ,EAC1CK,EAAcP,EAAM,OAAO,QAAU,EAC3C,OACEF,EAACU,EAAA,CACC,aAAYL,EACZ,UAAW,gCAAgCA,CAAI,GAE/C,UAAAN,EAACY,EAAA,CAAU,UAAU,+BAAgC,SAAAL,EAAM,EAC3DP,EAACa,EAAA,CACC,SAAAb,EAACc,EAAA,CACE,GAAGX,EACJ,MAAOA,EAAM,OAAS,GACtB,SAAWY,GAAkD,CAC3DZ,EAAM,SAASY,CAAK,CACtB,EACA,UAAWC,EACTZ,EAAW,OAAS,4CACpB,8BACF,EACA,YAAaG,EACf,EACF,GACEC,GAAeC,IACfR,EAAC,OAAI,UAAU,oCACZ,UAAAO,GACCR,EAACiB,EAAA,CAAgB,UAAU,qCACxB,SAAAT,EACH,EAEDC,GACCR,EAAC,QAAK,UAAU,mDACb,UAAAS,EAAY,IAAED,GACjB,GAEJ,EAEDL,EAAW,OACVJ,EAACkB,EAAA,CAAY,UAAU,+BAA+B,GAE1D,CAEJ,CA9CgBC,EAAAjB,EAAA","names":["React","jsx","Textarea","className","props","ref","cn","jsx","jsxs","TextAreaFieldDefault","field","fieldState","fieldData","name","label","description","maxLength","valueLength","FormItem","FormLabel","FormControl","Textarea","event","cn","FormDescription","FormMessage","__name"]}
|
package/dist/chunk-UITO344H.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as V,b as J,c as j,e as D}from"./chunk-A3NABWR7.js";import{e as q}from"./chunk-5XNFVJNM.js";import{a as te}from"./chunk-FZVUO3UU.js";import{a as ae}from"./chunk-KQUKUR4T.js";import{a as P,c as E,d as M,e as I,f as _}from"./chunk-ZZPQGX7X.js";import{f as X,g as R,h as Q}from"./chunk-RXNDKUY6.js";import{c as S}from"./chunk-EARN6G25.js";import{d as ee}from"./chunk-KQPDXXG3.js";import{a as c}from"./chunk-P37U34EQ.js";import*as A from"@radix-ui/react-collapsible";var be=A.Root,fe=A.CollapsibleTrigger,ge=A.CollapsibleContent;import*as F from"@radix-ui/react-tabs";import{jsx as H}from"react/jsx-runtime";function G({className:e,...t}){return H(F.Root,{"data-slot":"tabs",className:S("flex flex-col gap-2",e),...t})}c(G,"Tabs");function Y({className:e,...t}){return H(F.List,{"data-slot":"tabs-list",className:S("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...t})}c(Y,"TabsList");function W({className:e,...t}){return H(F.Trigger,{"data-slot":"tabs-trigger",className:S("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}c(W,"TabsTrigger");function ye({className:e,...t}){return H(F.Content,{"data-slot":"tabs-content",className:S("flex-1 outline-none",e),...t})}c(ye,"TabsContent");import*as K from"react";import*as x from"@radix-ui/react-scroll-area";import{jsx as k,jsxs as he}from"react/jsx-runtime";var le=K.forwardRef(({className:e,children:t,...s},a)=>he(x.Root,{ref:a,className:S("relative overflow-hidden",e),...s,children:[k(x.Viewport,{className:"h-full w-full rounded-[inherit]",children:t}),k(se,{}),k(x.Corner,{})]}));le.displayName=x.Root.displayName;var se=K.forwardRef(({className:e,orientation:t="vertical",...s},a)=>k(x.ScrollAreaScrollbar,{ref:a,orientation:t,className:S("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...s,children:k(x.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=x.ScrollAreaScrollbar.displayName;import{useState as B,useEffect as Ce,useMemo as Fe}from"react";import{useQuery as we}from"@tanstack/react-query";import O from"fast-deep-equal";var ne=c(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=c((e,t)=>{if(O(e,t))return;let s=new Map((e||[]).map(l=>[l.value,l])),a=new Map((t||[]).map(l=>[l.value,l])),o=[],y=[],f=[];if(a.forEach((l,v)=>{s.has(v)||o.push({value:l.value,label:l.label})}),s.forEach((l,v)=>{if(!a.has(v))y.push({value:l.value,label:l.label});else{let r=a.get(v);if(!O(l,r)){let p={};l.label!==r.label&&(p.label={old:l.label,new:r.label}),Object.keys(p).length>0&&f.push({value:v,changes:p})}}}),!(o.length===0&&y.length===0&&f.length===0))return{added:o,removed:y,modified:f}},"compareOptions"),xe=c((e,t)=>{let s=e.fields,a=t.fields;if(!s&&!a)return;let o=U(s||[],a||[]);if(o.added.length>0||o.removed.length>0||o.modified.length>0||o.reordered.length>0)return Array.from(o.fieldDiffs.values())},"compareNestedFields"),re=c((e,t,s,a)=>{if(s!==a)return!0;let o={label:e.label!==t.label,required:e.required!==t.required,inputType:e.inputType!==t.inputType,type:e.type!==t.type,jsonType:!O(e.jsonType,t.jsonType),name:e.name!==t.name,defaultValue:e.defaultValue!==t.defaultValue,minDate:e.minDate!==t.minDate,maxDate:e.maxDate!==t.maxDate,maxLength:e.maxLength!==t.maxLength,multiple:e.multiple!==t.multiple,isVisible:e.isVisible!==t.isVisible,options:!O(e.options,t.options)},y=(()=>{let l=e.fields,v=t.fields;if(!l&&!v)return!1;if(!l||!v)return!0;let r=U(l,v);return r.added.length>0||r.removed.length>0||r.modified.length>0||r.reordered.length>0})();return Object.values(o).some(l=>l)||y},"isFieldModified"),Ne=c((e,t)=>{let s={};e.label!==t.label&&(s.label={old:e.label,new:t.label}),e.required!==t.required&&(s.required={old:e.required,new:t.required}),e.type!==t.type&&(s.type={old:e.type,new:t.type}),e.inputType!==t.inputType&&(s.inputType={old:e.inputType,new:t.inputType}),O(e.jsonType,t.jsonType)||(s.jsonType={old:e.jsonType,new:t.jsonType}),O(e.defaultValue,t.defaultValue)||(s.defaultValue={old:e.defaultValue,new:t.defaultValue}),e.minDate!==t.minDate&&(s.minDate={old:e.minDate||"",new:t.minDate||""}),e.maxDate!==t.maxDate&&(s.maxDate={old:e.maxDate||"",new:t.maxDate||""}),e.maxLength!==t.maxLength&&(s.maxLength={old:e.maxLength||0,new:t.maxLength||0}),e.multiple!==t.multiple&&(s.multiple={old:e.multiple||!1,new:t.multiple||!1}),e.isVisible!==t.isVisible&&(s.isVisible={old:e.isVisible,new:t.isVisible});let a=Le(e.options,t.options);a&&(s.options=a);let o=xe(e,t);return o&&(s.nestedFields=o),Object.keys(s).length>0?s:void 0},"getFieldChanges"),U=c((e=[],t=[])=>{let s=e.filter(ne),a=t.filter(ne),o=new Map(s.map((b,u)=>[b.name,{field:b,index:u}])),y=new Map(a.map((b,u)=>[b.name,{field:b,index:u}])),f=[],l=[],v=[],r=[],p=[],h=new Map;return y.forEach((b,u)=>{o.has(u)||(f.push(u),h.set(u,{fieldName:u,diffType:"added"}))}),o.forEach(({field:b,index:u},g)=>{if(!y.has(g))l.push(g),h.set(g,{fieldName:g,diffType:"removed"});else{let{field:T,index:N}=y.get(g);re(b,T,u,N)?u!==N&&!re(b,T,u,u)?(p.push(g),h.set(g,{fieldName:g,diffType:"unchanged",orderChanged:{oldIndex:u,newIndex:N}})):(v.push(g),h.set(g,{fieldName:g,diffType:"modified",orderChanged:u!==N?{oldIndex:u,newIndex:N}:void 0,changes:Ne(b,T)})):(r.push(g),h.set(g,{fieldName:g,diffType:"unchanged"}))}}),{added:f,removed:l,modified:v,unchanged:r,reordered:p,fieldDiffs:h}},"compareFormFields"),oe=c((e,t)=>{if(t&&e==="unchanged")return"bg-blue-50 border-l-4 border-blue-500";switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as de,useRef as $,useEffect as Se}from"react";import{jsx as n,jsxs as m}from"react/jsx-runtime";var Te=c(({children:e,diffType:t,orderChanged:s,changes:a})=>{let o=oe(t,!!s);if(t==="unchanged"&&!s)return n("div",{children:e});let l=s&&t==="unchanged"&&n("span",{className:"text-xs font-semibold text-blue-700 bg-blue-100 px-2 py-1 rounded",children:"MOVED"})||t!=="unchanged"&&{added:n("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:n("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:n("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[t],v=c(()=>{if(!a||t!=="modified")return null;let r=[];if(a.label&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Label:"})," ",n("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",n("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Required:"})," ",n("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",n("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Type:"})," ",n("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",n("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Input Type:"})," ",n("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",n("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let p=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,h=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"JSON Type:"})," ",n("span",{className:"line-through text-red-600",children:p})," \u2192"," ",n("span",{className:"text-green-600",children:h})]},"jsonType"))}return a.defaultValue!==void 0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Default Value:"})," ",n("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",n("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(p=>p.label).join(", ")]},"options-added")),a.options.removed.length>0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(p=>p.label).join(", ")]},"options-removed")),a.options.modified.length>0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),r.length===0?null:m("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[n("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),r]})},"renderChanges");return m("div",{className:`p-3 mb-2 rounded ${o} relative`,children:[m("div",{className:"absolute top-2 right-2",children:[l,s&&t!=="unchanged"&&n("span",{className:"ml-2 text-xs text-gray-600",children:"(position changed)"})]}),e,v()]})},"FieldWrapper"),ie=c(({version:e,fields:t,fieldsets:s,diffMap:a,title:o,scrollRef:y})=>{let f=X({mode:"onBlur"}),l=de(()=>t.map(v=>{let r=a.get(v.name),p=r?.diffType||"unchanged",h=r?.orderChanged,b=r?.changes;return{...v,WrapperComponent:c(({children:u})=>n(Te,{diffType:p,fieldName:v.name,orderChanged:h,changes:b,children:u}),"WrapperComponent")}}),[t,a]);return m(V,{className:"h-full",children:[n(J,{children:m(j,{children:[o," - Version ",e]})}),n(D,{ref:y,className:"overflow-y-auto max-h-[600px]",children:n(Q,{...f,children:n("form",{className:"space-y-4",children:n(ae,{fields:l,fieldsets:s,fieldValues:{}})})})})]})},"FormPanel"),ue=c(({topVersion:e,bottomVersion:t,topFields:s,bottomFields:a,topFieldsets:o,bottomFieldsets:y,isLoading:f})=>{let l=de(()=>U(s,a),[s,a]),v=$(null),r=$(null),p=$(!1);if(Se(()=>{let b=v.current,u=r.current;if(!b||!u)return;let g=c(()=>{p.current||(p.current=!0,u.scrollTop=b.scrollTop,requestAnimationFrame(()=>{p.current=!1}))},"handleLeftScroll"),T=c(()=>{p.current||(p.current=!0,b.scrollTop=u.scrollTop,requestAnimationFrame(()=>{p.current=!1}))},"handleRightScroll");return b.addEventListener("scroll",g),u.addEventListener("scroll",T),()=>{b.removeEventListener("scroll",g),u.removeEventListener("scroll",T)}},[s,a]),f)return n("div",{className:"flex items-center justify-center h-96",children:m("div",{className:"text-center",children:[n("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),n("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let h=l.added.length===0&&l.removed.length===0&&l.modified.length===0&&l.reordered.length===0;return m("div",{className:"space-y-6",children:[n(V,{children:n(D,{className:"pt-6",children:h?n("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):m("div",{className:"flex gap-6 justify-center",children:[l.added.length>0&&m("div",{className:"flex items-center gap-2",children:[n("span",{className:"w-4 h-4 bg-green-500 rounded"}),m("span",{className:"text-sm",children:[l.added.length," field",l.added.length>1?"s":""," ","added"]})]}),l.removed.length>0&&m("div",{className:"flex items-center gap-2",children:[n("span",{className:"w-4 h-4 bg-red-500 rounded"}),m("span",{className:"text-sm",children:[l.removed.length," field",l.removed.length>1?"s":""," removed"]})]}),l.modified.length>0&&m("div",{className:"flex items-center gap-2",children:[n("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),m("span",{className:"text-sm",children:[l.modified.length," field",l.modified.length>1?"s":""," modified"]})]}),l.reordered.length>0&&m("div",{className:"flex items-center gap-2",children:[n("span",{className:"w-4 h-4 bg-blue-500 rounded"}),m("span",{className:"text-sm",children:[l.reordered.length," field",l.reordered.length>1?"s":""," reordered"]})]})]})})}),m("div",{className:"grid grid-cols-2 gap-6",children:[n(ie,{version:e,fields:s,fieldsets:o,diffMap:l.fieldDiffs,title:"Left",scrollRef:v}),n(ie,{version:t,fields:a,fieldsets:y,diffMap:l.fieldDiffs,title:"Right",scrollRef:r})]})]})},"SchemaFormComparison");var me=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"},{value:"latest",label:"Latest"}],z={ALB:[{value:"latest",label:"Latest"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],ARG:[{value:"latest",label:"Latest"}],ARM:[{value:"latest",label:"Latest"}],AUS:[{value:"latest",label:"Latest"}],AUT:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],BEL:[{value:"latest",label:"Latest"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],BLR:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],BOL:[{value:"latest",label:"Latest"}],BRA:[{value:"latest",label:"Latest"}],CAN:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],CHE:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],CHL:[{value:"latest",label:"Latest"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],COL:[{value:"latest",label:"Latest"}],CRI:[{value:"latest",label:"Latest"}],CYP:[{value:"latest",label:"Latest"}],CZE:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],DNK:[{value:"latest",label:"Latest"}],DOM:[{value:"latest",label:"Latest"}],ECU:[{value:"latest",label:"Latest"}],EGY:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],ESP:[{value:"latest",label:"Latest"}],EST:[{value:"latest",label:"Latest"}],FIN:[{value:"latest",label:"Latest"}],FRA:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],FRA_SAS:[{value:"latest",label:"Latest"}],GBR:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],GEO:[{value:"latest",label:"Latest"}],GRC:[{value:"latest",label:"Latest"}],GTM:[{value:"latest",label:"Latest"}],HKG:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],HND:[{value:"latest",label:"Latest"}],HRV:[{value:"latest",label:"Latest"}],HUN:[{value:"latest",label:"Latest"}],IDN:[{value:"latest",label:"Latest"}],IND:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],IRL:[{value:"latest",label:"Latest"}],ISL:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],ISR:[{value:"latest",label:"Latest"}],ITA:[{value:"latest",label:"Latest"}],ITA_APL:[{value:"latest",label:"Latest"}],JAM:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],JPN:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],KEN:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],KGZ:[{value:"latest",label:"Latest"}],KHM:[{value:"latest",label:"Latest"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],LBN:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],LTU:[{value:"latest",label:"Latest"}],LUX:[{value:"latest",label:"Latest"}],LVA:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],MAR:[{value:"latest",label:"Latest"}],MDA:[{value:"latest",label:"Latest"}],MEX:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],MLT:[{value:"latest",label:"Latest"}],MNG:[{value:"latest",label:"Latest"}],MUS:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],MYS:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],NGA:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],NIC:[{value:"latest",label:"Latest"}],NLD:[{value:"latest",label:"Latest"}],NOR:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],NZL:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],PAK:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],PAN:[{value:"latest",label:"Latest"}],PER:[{value:"latest",label:"Latest"}],PHL:[{value:"latest",label:"Latest"}],POL:[{value:"latest",label:"Latest"}],PRI:[{value:"latest",label:"Latest"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],PRY:[{value:"latest",label:"Latest"}],ROU:[{value:"latest",label:"Latest"}],SAU:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],SGP:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],SLV:[{value:"latest",label:"Latest"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],SVK:[{value:"latest",label:"Latest"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],SWE:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],THA:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],TUR:[{value:"latest",label:"Latest"}],TWN:[{value:"latest",label:"Latest"}],UGA:[{value:"latest",label:"Latest"}],UKR:[{value:"latest",label:"Latest"}],URY:[{value:"latest",label:"Latest"}],USA:[{value:"latest",label:"Latest"}],VNM:[{value:"latest",label:"Latest"}],XKX:[{value:"latest",label:"Latest"}],ZAF:[{value:"latest",label:"Latest"}],ZWE:[{value:"latest",label:"Latest"}]},pe=Object.fromEntries(Object.entries(z).filter(([,e])=>e.length>1)),ce=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as i,jsxs as L}from"react/jsx-runtime";var ve=c(()=>{let[e,t]=B("employment_basic_information"),[s,a]=B(1),[o,y]=B(1),[f,l]=B("ARE"),{client:v}=ee(),{data:r}=we({...te(v,"schema-comparison"),select:c(d=>d.data?.data?.filter(C=>C.eor_onboarding).filter(C=>Object.keys(pe).includes(C.code)).map(C=>({label:C.name,value:C.code}))||[],"select")}),p=e==="contract_details",{data:h,isLoading:b}=q({countryCode:f,form:e,fieldValues:{},jsonSchemaVersion:s,options:{queryOptions:{enabled:!0}}}),{data:u,isLoading:g}=q({countryCode:f,form:e,fieldValues:{},jsonSchemaVersion:o,options:{queryOptions:{enabled:!0}}}),T=b||g,N=z[f],Z=N!==void 0,w=Fe(()=>e==="employment_basic_information"?me:N||[{value:"latest",label:"Latest"}],[e,N]);return Ce(()=>{let d=w.map(C=>C.value);d.includes(s)||a(w[0].value),d.includes(o)||y(w[0].value)},[e,f,w,s,o]),L("div",{className:"space-y-6",children:[L(V,{children:[i(J,{children:i(j,{children:"Configuration"})}),L(D,{className:"space-y-4",children:[L("div",{children:[i(R,{className:"mb-2 block",children:"Form Type"}),i(G,{value:e,onValueChange:d=>t(d),children:i(Y,{className:"grid w-full grid-cols-2",children:ce.map(d=>i(W,{value:d.value,children:d.label},d.value))})})]}),p&&!Z&&i("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:L("div",{className:"flex",children:[i("div",{className:"flex-shrink-0",children:i("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:i("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),L("div",{className:"ml-3",children:[i("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),i("div",{className:"mt-2 text-sm text-yellow-700",children:L("p",{children:["Country"," ",i("span",{className:"font-semibold",children:f})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),p&&L("div",{children:[i(R,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),L(P,{value:f,onValueChange:l,children:[i(M,{id:"country-select",children:i(E,{placeholder:"Select a country"})}),i(I,{children:r?.map(d=>i(_,{value:d.value,children:d.label},d.value))})]})]}),L("div",{className:"grid grid-cols-2 gap-4",children:[L("div",{children:[i(R,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),L(P,{value:String(s),onValueChange:d=>a(d==="latest"?"latest":Number(d)),children:[i(M,{id:"top-version",children:i(E,{placeholder:"Select version"})}),i(I,{children:w.map(d=>i(_,{value:String(d.value),children:d.label},String(d.value)))})]})]}),L("div",{children:[i(R,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),L(P,{value:String(o),onValueChange:d=>y(d==="latest"?"latest":Number(d)),children:[i(M,{id:"bottom-version",children:i(E,{placeholder:"Select version"})}),i(I,{children:w.map(d=>i(_,{value:String(d.value),children:d.label},String(d.value)))})]})]})]})]})]}),i(ue,{topVersion:s,bottomVersion:o,topFields:h?.fields||[],bottomFields:u?.fields||[],topFieldsets:h?.meta?.["x-jsf-fieldsets"],bottomFieldsets:u?.meta?.["x-jsf-fieldsets"],isLoading:T})]})},"JsonSchemaComparison");export{be as a,fe as b,ge as c,G as d,Y as e,W as f,ye as g,le as h,ve as i};
|
|
2
|
-
//# sourceMappingURL=chunk-UITO344H.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/collapsible.tsx","../src/components/ui/tabs.tsx","../src/components/ui/scroll-area.tsx","../src/components/JsonSchemaComparison/JsonSchemaComparison.tsx","../src/components/JsonSchemaComparison/formDiffDetector.ts","../src/components/JsonSchemaComparison/SchemaFormComparison.tsx","../src/components/JsonSchemaComparison/schemaVersions.ts"],"sourcesContent":["import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='tabs'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='tabs-trigger'\n className={cn(\n \"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='tabs-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n","import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport { cn } from '@/src/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className='h-full w-full rounded-[inherit]'>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className='relative flex-1 rounded-full bg-border' />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import { useState, useEffect, useMemo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport { Label } from '@/src/components/ui/label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/src/components/ui/select';\nimport { Tabs, TabsList, TabsTrigger } from '@/src/components/ui/tabs';\nimport { useJSONSchemaForm } from '@/src/flows/Onboarding/api';\nimport { SchemaFormComparison } from './SchemaFormComparison';\nimport {\n BASIC_INFO_VERSIONS,\n COUNTRY_CONTRACT_VERSIONS,\n COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS,\n FORM_TYPES,\n type FormType,\n type SchemaVersion,\n} from './schemaVersions';\nimport { countriesOptions } from '@/src/common/api/countries';\nimport { useClient } from '@/src/context';\nimport type { Client } from '@/src/client/client';\nimport { JSFField } from '@/src/types/remoteFlows';\n\nexport const JsonSchemaComparison = () => {\n const [formType, setFormType] = useState<FormType>(\n 'employment_basic_information',\n );\n const [topVersion, setTopVersion] = useState<SchemaVersion>(1);\n const [bottomVersion, setBottomVersion] = useState<SchemaVersion>(1);\n const [countryCode, setCountryCode] = useState<string>('ARE');\n\n const { client } = useClient();\n\n const { data: countriesData } = useQuery({\n ...countriesOptions(client as Client, 'schema-comparison'),\n select: (response) =>\n response.data?.data\n ?.filter(\n (country: { eor_onboarding?: boolean }) => country.eor_onboarding,\n )\n .filter((country: { code: string }) =>\n Object.keys(\n COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS,\n ).includes(country.code),\n )\n .map((country: { name: string; code: string }) => ({\n label: country.name,\n value: country.code,\n })) || [],\n });\n\n const isContractDetails = formType === 'contract_details';\n\n const { data: topSchema, isLoading: isLoadingTop } = useJSONSchemaForm({\n countryCode: countryCode,\n form: formType,\n fieldValues: {},\n jsonSchemaVersion: topVersion,\n options: {\n queryOptions: {\n enabled: true,\n },\n },\n });\n\n const { data: bottomSchema, isLoading: isLoadingBottom } = useJSONSchemaForm({\n countryCode: countryCode,\n form: formType,\n fieldValues: {},\n jsonSchemaVersion: bottomVersion,\n options: {\n queryOptions: {\n enabled: true,\n },\n },\n });\n\n const isLoading = isLoadingTop || isLoadingBottom;\n\n const countryVersions = COUNTRY_CONTRACT_VERSIONS[countryCode];\n const hasCountryMapping = countryVersions !== undefined;\n\n const versionOptions = useMemo(() => {\n return formType === 'employment_basic_information'\n ? BASIC_INFO_VERSIONS\n : countryVersions || [{ value: 'latest', label: 'Latest' }];\n }, [formType, countryVersions]);\n\n useEffect(() => {\n const availableVersionValues = versionOptions.map((v) => v.value);\n\n if (!availableVersionValues.includes(topVersion)) {\n // WE NEED TO FIX: react-hooks/set-state-in-effect - Calling setState synchronously within an effect can trigger cascading renders\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setTopVersion(versionOptions[0].value);\n }\n if (!availableVersionValues.includes(bottomVersion)) {\n setBottomVersion(versionOptions[0].value);\n }\n }, [formType, countryCode, versionOptions, topVersion, bottomVersion]);\n\n return (\n <div className='space-y-6'>\n <Card>\n <CardHeader>\n <CardTitle>Configuration</CardTitle>\n </CardHeader>\n <CardContent className='space-y-4'>\n <div>\n <Label className='mb-2 block'>Form Type</Label>\n <Tabs\n value={formType}\n onValueChange={(value) => setFormType(value as FormType)}\n >\n <TabsList className='grid w-full grid-cols-2'>\n {FORM_TYPES.map((type) => (\n <TabsTrigger key={type.value} value={type.value}>\n {type.label}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n </div>\n\n {isContractDetails && !hasCountryMapping && (\n <div className='rounded-md bg-yellow-50 p-4 border border-yellow-200'>\n <div className='flex'>\n <div className='flex-shrink-0'>\n <svg\n className='h-5 w-5 text-yellow-400'\n viewBox='0 0 20 20'\n fill='currentColor'\n >\n <path\n fillRule='evenodd'\n d='M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z'\n clipRule='evenodd'\n />\n </svg>\n </div>\n <div className='ml-3'>\n <h3 className='text-sm font-medium text-yellow-800'>\n Version mappings not found\n </h3>\n <div className='mt-2 text-sm text-yellow-700'>\n <p>\n Country{' '}\n <span className='font-semibold'>{countryCode}</span> is\n not configured in COUNTRY_CONTRACT_VERSIONS. Using default\n (latest only).\n </p>\n </div>\n </div>\n </div>\n </div>\n )}\n\n {isContractDetails && (\n <div>\n <Label htmlFor='country-select' className='mb-2 block'>\n Country\n </Label>\n <Select value={countryCode} onValueChange={setCountryCode}>\n <SelectTrigger id='country-select'>\n <SelectValue placeholder='Select a country' />\n </SelectTrigger>\n <SelectContent>\n {countriesData?.map(\n (country: { label: string; value: string }) => (\n <SelectItem key={country.value} value={country.value}>\n {country.label}\n </SelectItem>\n ),\n )}\n </SelectContent>\n </Select>\n </div>\n )}\n\n <div className='grid grid-cols-2 gap-4'>\n <div>\n <Label htmlFor='top-version' className='mb-2 block'>\n Left Version\n </Label>\n <Select\n value={String(topVersion)}\n onValueChange={(value) =>\n setTopVersion(value === 'latest' ? 'latest' : Number(value))\n }\n >\n <SelectTrigger id='top-version'>\n <SelectValue placeholder='Select version' />\n </SelectTrigger>\n <SelectContent>\n {versionOptions.map((version) => (\n <SelectItem\n key={String(version.value)}\n value={String(version.value)}\n >\n {version.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n <div>\n <Label htmlFor='bottom-version' className='mb-2 block'>\n Right Version\n </Label>\n <Select\n value={String(bottomVersion)}\n onValueChange={(value) =>\n setBottomVersion(\n value === 'latest' ? 'latest' : Number(value),\n )\n }\n >\n <SelectTrigger id='bottom-version'>\n <SelectValue placeholder='Select version' />\n </SelectTrigger>\n <SelectContent>\n {versionOptions.map((version) => (\n <SelectItem\n key={String(version.value)}\n value={String(version.value)}\n >\n {version.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <SchemaFormComparison\n topVersion={topVersion}\n bottomVersion={bottomVersion}\n topFields={(topSchema?.fields as JSFField[]) || []}\n bottomFields={(bottomSchema?.fields as JSFField[]) || []}\n topFieldsets={topSchema?.meta?.['x-jsf-fieldsets']}\n bottomFieldsets={bottomSchema?.meta?.['x-jsf-fieldsets']}\n isLoading={isLoading}\n />\n </div>\n );\n};\n","import type { $TSFixMe, JSFField } from '@/src/types/remoteFlows';\nimport equal from 'fast-deep-equal';\n\nexport type DiffType = 'added' | 'removed' | 'modified' | 'unchanged';\n\nexport interface FieldDiff {\n fieldName: string;\n diffType: DiffType;\n orderChanged?: { oldIndex: number; newIndex: number };\n changes?: {\n label?: { old: string; new: string };\n required?: { old: boolean; new: boolean };\n type?: { old: string; new: string };\n inputType?: { old: string; new: string };\n jsonType?: { old: string; new: string };\n defaultValue?: { old: unknown; new: unknown };\n minDate?: { old: string; new: string };\n maxDate?: { old: string; new: string };\n maxLength?: { old: number; new: number };\n multiple?: { old: boolean; new: boolean };\n isVisible?: { old: boolean; new: boolean };\n options?: {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n };\n nestedFields?: FieldDiff[];\n };\n}\n\nexport interface FormDiff {\n added: string[];\n removed: string[];\n modified: string[];\n unchanged: string[];\n reordered: string[];\n fieldDiffs: Map<string, FieldDiff>;\n}\n\nconst validateField = (field: JSFField): boolean => {\n if (!field.name) {\n console.warn('Field missing required \"name\" property:', field);\n return false;\n }\n if (!field.type) {\n console.warn(`Field \"${field.name}\" missing required \"type\" property`);\n return false;\n }\n return true;\n};\n\nconst compareOptions = (\n options1: JSFField['options'],\n options2: JSFField['options'],\n):\n | {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n }\n | undefined => {\n if (equal(options1, options2)) return undefined;\n\n const map1 = new Map((options1 || []).map((o) => [o.value, o]));\n const map2 = new Map((options2 || []).map((o) => [o.value, o]));\n\n const added: Array<{ value: string; label: string }> = [];\n const removed: Array<{ value: string; label: string }> = [];\n const modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }> = [];\n\n map2.forEach((option, value) => {\n if (!map1.has(value)) {\n added.push({ value: option.value, label: option.label });\n }\n });\n\n map1.forEach((option1, value) => {\n if (!map2.has(value)) {\n removed.push({ value: option1.value, label: option1.label });\n } else {\n const option2 = map2.get(value)!;\n if (!equal(option1, option2)) {\n const changes: { label?: { old: string; new: string } } = {};\n if (option1.label !== option2.label) {\n changes.label = { old: option1.label, new: option2.label };\n }\n if (Object.keys(changes).length > 0) {\n modified.push({ value, changes });\n }\n }\n }\n });\n\n if (added.length === 0 && removed.length === 0 && modified.length === 0) {\n return undefined;\n }\n\n return { added, removed, modified };\n};\n\nconst compareNestedFields = (\n field1: JSFField,\n field2: JSFField,\n): FieldDiff[] | undefined => {\n const nestedFields1 = (field1 as $TSFixMe).fields;\n\n const nestedFields2 = (field2 as $TSFixMe).fields;\n\n if (!nestedFields1 && !nestedFields2) return undefined;\n\n const nestedDiff = compareFormFields(\n nestedFields1 || [],\n nestedFields2 || [],\n );\n\n const hasChanges =\n nestedDiff.added.length > 0 ||\n nestedDiff.removed.length > 0 ||\n nestedDiff.modified.length > 0 ||\n nestedDiff.reordered.length > 0;\n\n if (!hasChanges) return undefined;\n\n return Array.from(nestedDiff.fieldDiffs.values());\n};\n\nconst isFieldModified = (\n field1: JSFField,\n field2: JSFField,\n index1: number,\n index2: number,\n): boolean => {\n if (index1 !== index2) {\n return true;\n }\n\n // Only compare user-facing schema properties, not internal/computed ones\n // Ignore: schema (Yup), computedAttributes, scopedJsonSchema, errorMessage, meta, description\n // Note: nested fields are checked via compareNestedFields to avoid deep equal with problematic properties\n const checks = {\n label: field1.label !== field2.label,\n required: field1.required !== field2.required,\n inputType: field1.inputType !== field2.inputType,\n type: field1.type !== field2.type,\n jsonType: !equal(field1.jsonType, field2.jsonType), // Use equal since jsonType can be an array like ['string', 'null']\n name: field1.name !== field2.name,\n defaultValue: field1.defaultValue !== field2.defaultValue,\n minDate: field1.minDate !== field2.minDate,\n maxDate: field1.maxDate !== field2.maxDate,\n maxLength: field1.maxLength !== field2.maxLength,\n multiple: field1.multiple !== field2.multiple,\n isVisible: field1.isVisible !== field2.isVisible,\n options: !equal(field1.options, field2.options),\n };\n\n // Check for nested field changes using compareNestedFields to avoid deep isEqual\n const hasNestedChanges = (() => {\n const nestedFields1 = (field1 as $TSFixMe).fields;\n const nestedFields2 = (field2 as $TSFixMe).fields;\n\n // If both undefined or null, no changes\n if (!nestedFields1 && !nestedFields2) return false;\n\n // If one is defined and the other isn't, there's a change\n if (!nestedFields1 || !nestedFields2) return true;\n\n // Recursively compare using our proper comparison logic\n const nestedDiff = compareFormFields(nestedFields1, nestedFields2);\n return (\n nestedDiff.added.length > 0 ||\n nestedDiff.removed.length > 0 ||\n nestedDiff.modified.length > 0 ||\n nestedDiff.reordered.length > 0\n );\n })();\n\n const isModified =\n Object.values(checks).some((check) => check) || hasNestedChanges;\n\n return isModified;\n};\n\nconst getFieldChanges = (field1: JSFField, field2: JSFField) => {\n const changes: FieldDiff['changes'] = {};\n\n if (field1.label !== field2.label) {\n changes.label = { old: field1.label, new: field2.label };\n }\n\n if (field1.required !== field2.required) {\n changes.required = { old: field1.required, new: field2.required };\n }\n\n if (field1.type !== field2.type) {\n changes.type = { old: field1.type, new: field2.type };\n }\n\n if (field1.inputType !== field2.inputType) {\n changes.inputType = {\n old: field1.inputType,\n new: field2.inputType,\n };\n }\n\n if (!equal(field1.jsonType, field2.jsonType)) {\n changes.jsonType = {\n old: field1.jsonType,\n new: field2.jsonType,\n };\n }\n\n if (!equal(field1.defaultValue, field2.defaultValue)) {\n changes.defaultValue = {\n old: field1.defaultValue,\n new: field2.defaultValue,\n };\n }\n\n if (field1.minDate !== field2.minDate) {\n changes.minDate = {\n old: field1.minDate || '',\n new: field2.minDate || '',\n };\n }\n\n if (field1.maxDate !== field2.maxDate) {\n changes.maxDate = {\n old: field1.maxDate || '',\n new: field2.maxDate || '',\n };\n }\n\n if (field1.maxLength !== field2.maxLength) {\n changes.maxLength = {\n old: field1.maxLength || 0,\n new: field2.maxLength || 0,\n };\n }\n\n if (field1.multiple !== field2.multiple) {\n changes.multiple = {\n old: field1.multiple || false,\n new: field2.multiple || false,\n };\n }\n\n if (field1.isVisible !== field2.isVisible) {\n changes.isVisible = {\n old: field1.isVisible,\n new: field2.isVisible,\n };\n }\n\n const optionsDiff = compareOptions(field1.options, field2.options);\n if (optionsDiff) {\n changes.options = optionsDiff;\n }\n\n const nestedFieldsDiff = compareNestedFields(field1, field2);\n if (nestedFieldsDiff) {\n changes.nestedFields = nestedFieldsDiff;\n }\n\n return Object.keys(changes).length > 0 ? changes : undefined;\n};\n\nexport const compareFormFields = (\n fields1: JSFField[] = [],\n fields2: JSFField[] = [],\n): FormDiff => {\n const validFields1 = fields1.filter(validateField);\n const validFields2 = fields2.filter(validateField);\n\n const fieldMap1 = new Map(\n validFields1.map((f, i) => [f.name, { field: f, index: i }]),\n );\n const fieldMap2 = new Map(\n validFields2.map((f, i) => [f.name, { field: f, index: i }]),\n );\n\n const added: string[] = [];\n const removed: string[] = [];\n const modified: string[] = [];\n const unchanged: string[] = [];\n const reordered: string[] = [];\n const fieldDiffs = new Map<string, FieldDiff>();\n\n fieldMap2.forEach((_, name) => {\n if (!fieldMap1.has(name)) {\n added.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'added',\n });\n }\n });\n\n fieldMap1.forEach(({ field: field1, index: index1 }, name) => {\n if (!fieldMap2.has(name)) {\n removed.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'removed',\n });\n } else {\n const { field: field2, index: index2 } = fieldMap2.get(name)!;\n\n if (isFieldModified(field1, field2, index1, index2)) {\n const onlyPositionChanged =\n index1 !== index2 && !isFieldModified(field1, field2, index1, index1);\n\n if (onlyPositionChanged) {\n reordered.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'unchanged',\n orderChanged: { oldIndex: index1, newIndex: index2 },\n });\n } else {\n modified.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'modified',\n orderChanged:\n index1 !== index2\n ? { oldIndex: index1, newIndex: index2 }\n : undefined,\n changes: getFieldChanges(field1, field2),\n });\n }\n } else {\n unchanged.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'unchanged',\n });\n }\n }\n });\n\n return {\n added,\n removed,\n modified,\n unchanged,\n reordered,\n fieldDiffs,\n };\n};\n\nexport const getDiffStyles = (\n diffType: DiffType,\n hasOrderChange?: boolean,\n): string => {\n if (hasOrderChange && diffType === 'unchanged') {\n return 'bg-blue-50 border-l-4 border-blue-500';\n }\n\n switch (diffType) {\n case 'added':\n return 'bg-green-50 border-l-4 border-green-500';\n case 'removed':\n return 'bg-red-50 border-l-4 border-red-500';\n case 'modified':\n return 'bg-yellow-50 border-l-4 border-yellow-500';\n case 'unchanged':\n default:\n return '';\n }\n};\n","import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useForm } from 'react-hook-form';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport type { JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { compareFormFields, getDiffStyles } from './formDiffDetector';\nimport { useMemo, useRef, useEffect } from 'react';\n\ninterface SchemaFormComparisonProps {\n topVersion: string | number;\n bottomVersion: string | number;\n topFields: JSFField[];\n bottomFields: JSFField[];\n topFieldsets?: JSFFieldset | null;\n bottomFieldsets?: JSFFieldset | null;\n isLoading?: boolean;\n}\n\nconst FieldWrapper = ({\n children,\n diffType,\n orderChanged,\n changes,\n}: {\n children: React.ReactNode;\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n fieldName: string;\n orderChanged?: { oldIndex: number; newIndex: number };\n changes?: {\n label?: { old: string; new: string };\n required?: { old: boolean; new: boolean };\n type?: { old: string; new: string };\n inputType?: { old: string; new: string };\n jsonType?: { old: string; new: string };\n defaultValue?: { old: unknown; new: unknown };\n minDate?: { old: string; new: string };\n maxDate?: { old: string; new: string };\n maxLength?: { old: number; new: number };\n multiple?: { old: boolean; new: boolean };\n isVisible?: { old: boolean; new: boolean };\n options?: {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n };\n nestedFields?: unknown[];\n };\n}) => {\n const styles = getDiffStyles(diffType, !!orderChanged);\n\n if (diffType === 'unchanged' && !orderChanged) {\n return <div>{children}</div>;\n }\n\n const badges = {\n added: (\n <span className='text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded'>\n NEW\n </span>\n ),\n removed: (\n <span className='text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded'>\n REMOVED\n </span>\n ),\n modified: (\n <span className='text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded'>\n MODIFIED\n </span>\n ),\n };\n\n const reorderedBadge = orderChanged && diffType === 'unchanged' && (\n <span className='text-xs font-semibold text-blue-700 bg-blue-100 px-2 py-1 rounded'>\n MOVED\n </span>\n );\n\n const badge =\n reorderedBadge || (diffType !== 'unchanged' && badges[diffType]);\n\n const renderChanges = () => {\n if (!changes || diffType !== 'modified') return null;\n\n const changesList: React.ReactNode[] = [];\n\n if (changes.label) {\n changesList.push(\n <div key='label' className='text-xs'>\n <span className='font-semibold'>Label:</span>{' '}\n <span className='line-through text-red-600'>{changes.label.old}</span>{' '}\n → <span className='text-green-600'>{changes.label.new}</span>\n </div>,\n );\n }\n\n if (changes.required) {\n changesList.push(\n <div key='required' className='text-xs'>\n <span className='font-semibold'>Required:</span>{' '}\n <span className='line-through text-red-600'>\n {changes.required.old ? 'Yes' : 'No'}\n </span>{' '}\n →{' '}\n <span className='text-green-600'>\n {changes.required.new ? 'Yes' : 'No'}\n </span>\n </div>,\n );\n }\n\n if (changes.type) {\n changesList.push(\n <div key='type' className='text-xs'>\n <span className='font-semibold'>Type:</span>{' '}\n <span className='line-through text-red-600'>{changes.type.old}</span>{' '}\n → <span className='text-green-600'>{changes.type.new}</span>\n </div>,\n );\n }\n\n if (changes.inputType) {\n changesList.push(\n <div key='inputType' className='text-xs'>\n <span className='font-semibold'>Input Type:</span>{' '}\n <span className='line-through text-red-600'>\n {changes.inputType.old}\n </span>{' '}\n → <span className='text-green-600'>{changes.inputType.new}</span>\n </div>,\n );\n }\n\n if (changes.jsonType) {\n const oldJsonType = Array.isArray(changes.jsonType.old)\n ? changes.jsonType.old.join(' | ')\n : changes.jsonType.old;\n const newJsonType = Array.isArray(changes.jsonType.new)\n ? changes.jsonType.new.join(' | ')\n : changes.jsonType.new;\n\n changesList.push(\n <div key='jsonType' className='text-xs'>\n <span className='font-semibold'>JSON Type:</span>{' '}\n <span className='line-through text-red-600'>{oldJsonType}</span> →{' '}\n <span className='text-green-600'>{newJsonType}</span>\n </div>,\n );\n }\n\n if (changes.defaultValue !== undefined) {\n changesList.push(\n <div key='defaultValue' className='text-xs'>\n <span className='font-semibold'>Default Value:</span>{' '}\n <span className='line-through text-red-600'>\n {JSON.stringify(changes.defaultValue.old)}\n </span>{' '}\n →{' '}\n <span className='text-green-600'>\n {JSON.stringify(changes.defaultValue.new)}\n </span>\n </div>,\n );\n }\n\n if (changes.options) {\n if (changes.options.added.length > 0) {\n changesList.push(\n <div key='options-added' className='text-xs'>\n <span className='font-semibold text-green-700'>Options Added:</span>{' '}\n {changes.options.added.map((opt) => opt.label).join(', ')}\n </div>,\n );\n }\n if (changes.options.removed.length > 0) {\n changesList.push(\n <div key='options-removed' className='text-xs'>\n <span className='font-semibold text-red-700'>Options Removed:</span>{' '}\n {changes.options.removed.map((opt) => opt.label).join(', ')}\n </div>,\n );\n }\n if (changes.options.modified.length > 0) {\n changesList.push(\n <div key='options-modified' className='text-xs'>\n <span className='font-semibold'>Options Modified:</span>{' '}\n {changes.options.modified.length} option(s)\n </div>,\n );\n }\n }\n\n if (changes.nestedFields && changes.nestedFields.length > 0) {\n changesList.push(\n <div key='nestedFields' className='text-xs'>\n <span className='font-semibold'>Nested Fields:</span>{' '}\n {changes.nestedFields.length} field(s) changed\n </div>,\n );\n }\n\n if (changesList.length === 0) return null;\n\n return (\n <div className='mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1'>\n <div className='text-xs font-semibold text-yellow-800 mb-1'>\n Changes:\n </div>\n {changesList}\n </div>\n );\n };\n\n return (\n <div className={`p-3 mb-2 rounded ${styles} relative`}>\n <div className='absolute top-2 right-2'>\n {badge}\n {orderChanged && diffType !== 'unchanged' && (\n <span className='ml-2 text-xs text-gray-600'>(position changed)</span>\n )}\n </div>\n {children}\n {renderChanges()}\n </div>\n );\n};\n\nconst FormPanel = ({\n version,\n fields,\n fieldsets,\n diffMap,\n title,\n scrollRef,\n}: {\n version: string | number;\n fields: JSFField[];\n fieldsets?: JSFFieldset | null;\n diffMap: Map<\n string,\n {\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n orderChanged?: { oldIndex: number; newIndex: number };\n changes?: unknown;\n }\n >;\n title: string;\n scrollRef?: React.RefObject<HTMLDivElement | null>;\n}) => {\n const form = useForm({\n mode: 'onBlur',\n });\n\n const fieldsWithWrappers = useMemo(() => {\n return fields.map((field) => {\n const diff = diffMap.get(field.name);\n const diffType = diff?.diffType || 'unchanged';\n const orderChanged = diff?.orderChanged;\n const changes = diff?.changes;\n\n return {\n ...field,\n WrapperComponent: ({ children }: { children: React.ReactNode }) => (\n <FieldWrapper\n diffType={diffType}\n fieldName={field.name}\n orderChanged={orderChanged}\n changes={changes as never}\n >\n {children}\n </FieldWrapper>\n ),\n };\n });\n }, [fields, diffMap]);\n\n return (\n <Card className='h-full'>\n <CardHeader>\n <CardTitle>\n {title} - Version {version}\n </CardTitle>\n </CardHeader>\n <CardContent ref={scrollRef} className='overflow-y-auto max-h-[600px]'>\n <Form {...form}>\n <form className='space-y-4'>\n <JSONSchemaFormFields\n fields={fieldsWithWrappers}\n fieldsets={fieldsets}\n fieldValues={{}}\n />\n </form>\n </Form>\n </CardContent>\n </Card>\n );\n};\n\nexport const SchemaFormComparison = ({\n topVersion,\n bottomVersion,\n topFields,\n bottomFields,\n topFieldsets,\n bottomFieldsets,\n isLoading,\n}: SchemaFormComparisonProps) => {\n const diff = useMemo(\n () => compareFormFields(topFields, bottomFields),\n [topFields, bottomFields],\n );\n\n const leftScrollRef = useRef<HTMLDivElement>(null);\n const rightScrollRef = useRef<HTMLDivElement>(null);\n const isSyncing = useRef(false);\n\n useEffect(() => {\n const leftEl = leftScrollRef.current;\n const rightEl = rightScrollRef.current;\n\n if (!leftEl || !rightEl) return;\n\n const handleLeftScroll = () => {\n if (isSyncing.current) return;\n isSyncing.current = true;\n rightEl.scrollTop = leftEl.scrollTop;\n requestAnimationFrame(() => {\n isSyncing.current = false;\n });\n };\n\n const handleRightScroll = () => {\n if (isSyncing.current) return;\n isSyncing.current = true;\n leftEl.scrollTop = rightEl.scrollTop;\n requestAnimationFrame(() => {\n isSyncing.current = false;\n });\n };\n\n leftEl.addEventListener('scroll', handleLeftScroll);\n rightEl.addEventListener('scroll', handleRightScroll);\n\n return () => {\n leftEl.removeEventListener('scroll', handleLeftScroll);\n rightEl.removeEventListener('scroll', handleRightScroll);\n };\n }, [topFields, bottomFields]);\n\n if (isLoading) {\n return (\n <div className='flex items-center justify-center h-96'>\n <div className='text-center'>\n <div className='animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto'></div>\n <p className='mt-4 text-gray-600'>Loading schemas...</p>\n </div>\n </div>\n );\n }\n\n const hasNoDifferences =\n diff.added.length === 0 &&\n diff.removed.length === 0 &&\n diff.modified.length === 0 &&\n diff.reordered.length === 0;\n\n return (\n <div className='space-y-6'>\n <Card>\n <CardContent className='pt-6'>\n {hasNoDifferences ? (\n <p className='text-center text-gray-600'>\n No differences detected between the two versions\n </p>\n ) : (\n <div className='flex gap-6 justify-center'>\n {diff.added.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-green-500 rounded'></span>\n <span className='text-sm'>\n {diff.added.length} field{diff.added.length > 1 ? 's' : ''}{' '}\n added\n </span>\n </div>\n )}\n {diff.removed.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-red-500 rounded'></span>\n <span className='text-sm'>\n {diff.removed.length} field\n {diff.removed.length > 1 ? 's' : ''} removed\n </span>\n </div>\n )}\n {diff.modified.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-yellow-500 rounded'></span>\n <span className='text-sm'>\n {diff.modified.length} field\n {diff.modified.length > 1 ? 's' : ''} modified\n </span>\n </div>\n )}\n {diff.reordered.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-blue-500 rounded'></span>\n <span className='text-sm'>\n {diff.reordered.length} field\n {diff.reordered.length > 1 ? 's' : ''} reordered\n </span>\n </div>\n )}\n </div>\n )}\n </CardContent>\n </Card>\n\n <div className='grid grid-cols-2 gap-6'>\n <FormPanel\n version={topVersion}\n fields={topFields}\n fieldsets={topFieldsets}\n diffMap={diff.fieldDiffs}\n title='Left'\n scrollRef={leftScrollRef}\n />\n <FormPanel\n version={bottomVersion}\n fields={bottomFields}\n fieldsets={bottomFieldsets}\n diffMap={diff.fieldDiffs}\n title='Right'\n scrollRef={rightScrollRef}\n />\n </div>\n </div>\n );\n};\n","export type SchemaVersion = number | 'latest';\n\nexport interface VersionOption {\n value: SchemaVersion;\n label: string;\n}\n\nexport const BASIC_INFO_VERSIONS: VersionOption[] = [\n { value: 1, label: 'v1 (Legacy)' },\n { value: 3, label: 'v3 (Recommended)' },\n { value: 'latest', label: 'Latest' },\n];\n\n// AI generated from tiger\nexport const COUNTRY_CONTRACT_VERSIONS: Record<string, VersionOption[]> = {\n ALB: [{ value: 'latest', label: 'Latest' }],\n ARE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n ARG: [{ value: 'latest', label: 'Latest' }],\n ARM: [{ value: 'latest', label: 'Latest' }],\n AUS: [{ value: 'latest', label: 'Latest' }],\n AUT: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n BEL: [{ value: 'latest', label: 'Latest' }],\n BGD: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n BGR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n BIH: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n BLR: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n BOL: [{ value: 'latest', label: 'Latest' }],\n BRA: [{ value: 'latest', label: 'Latest' }],\n CAN: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n CHE: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n CHL: [{ value: 'latest', label: 'Latest' }],\n CHN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n COL: [{ value: 'latest', label: 'Latest' }],\n CRI: [{ value: 'latest', label: 'Latest' }],\n CYP: [{ value: 'latest', label: 'Latest' }],\n CZE: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n DEU: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n DNK: [{ value: 'latest', label: 'Latest' }],\n DOM: [{ value: 'latest', label: 'Latest' }],\n ECU: [{ value: 'latest', label: 'Latest' }],\n EGY: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n ESP: [{ value: 'latest', label: 'Latest' }],\n EST: [{ value: 'latest', label: 'Latest' }],\n FIN: [{ value: 'latest', label: 'Latest' }],\n FRA: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n FRA_SAS: [{ value: 'latest', label: 'Latest' }],\n GBR: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n GEO: [{ value: 'latest', label: 'Latest' }],\n GRC: [{ value: 'latest', label: 'Latest' }],\n GTM: [{ value: 'latest', label: 'Latest' }],\n HKG: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n HND: [{ value: 'latest', label: 'Latest' }],\n HRV: [{ value: 'latest', label: 'Latest' }],\n HUN: [{ value: 'latest', label: 'Latest' }],\n IDN: [{ value: 'latest', label: 'Latest' }],\n IND: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n IRL: [{ value: 'latest', label: 'Latest' }],\n ISL: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n ISR: [{ value: 'latest', label: 'Latest' }],\n ITA: [{ value: 'latest', label: 'Latest' }],\n ITA_APL: [{ value: 'latest', label: 'Latest' }],\n JAM: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n JPN: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n KEN: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n KGZ: [{ value: 'latest', label: 'Latest' }],\n KHM: [{ value: 'latest', label: 'Latest' }],\n KOR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n LBN: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n LKA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n LTU: [{ value: 'latest', label: 'Latest' }],\n LUX: [{ value: 'latest', label: 'Latest' }],\n LVA: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n MAR: [{ value: 'latest', label: 'Latest' }],\n MDA: [{ value: 'latest', label: 'Latest' }],\n MEX: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n MKD: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n MLT: [{ value: 'latest', label: 'Latest' }],\n MNG: [{ value: 'latest', label: 'Latest' }],\n MUS: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n MYS: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n NGA: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n NIC: [{ value: 'latest', label: 'Latest' }],\n NLD: [{ value: 'latest', label: 'Latest' }],\n NOR: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n NZL: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n PAK: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n PAN: [{ value: 'latest', label: 'Latest' }],\n PER: [{ value: 'latest', label: 'Latest' }],\n PHL: [{ value: 'latest', label: 'Latest' }],\n POL: [{ value: 'latest', label: 'Latest' }],\n PRI: [{ value: 'latest', label: 'Latest' }],\n PRT: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n PRY: [{ value: 'latest', label: 'Latest' }],\n ROU: [{ value: 'latest', label: 'Latest' }],\n SAU: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n SGP: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n SLV: [{ value: 'latest', label: 'Latest' }],\n SRB: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n SVK: [{ value: 'latest', label: 'Latest' }],\n SVN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n SWE: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n THA: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n TUN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n TUR: [{ value: 'latest', label: 'Latest' }],\n TWN: [{ value: 'latest', label: 'Latest' }],\n UGA: [{ value: 'latest', label: 'Latest' }],\n UKR: [{ value: 'latest', label: 'Latest' }],\n URY: [{ value: 'latest', label: 'Latest' }],\n USA: [{ value: 'latest', label: 'Latest' }],\n VNM: [{ value: 'latest', label: 'Latest' }],\n XKX: [{ value: 'latest', label: 'Latest' }],\n ZAF: [{ value: 'latest', label: 'Latest' }],\n ZWE: [{ value: 'latest', label: 'Latest' }],\n};\n\nexport const COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS =\n Object.fromEntries(\n Object.entries(COUNTRY_CONTRACT_VERSIONS).filter(\n ([, versions]) => versions.length > 1,\n ),\n ) as Record<string, VersionOption[]>;\n\nexport const FORM_TYPES = [\n { value: 'employment_basic_information', label: 'Basic Information' },\n { value: 'contract_details', label: 'Contract Details' },\n] as const;\n\nexport type FormType = (typeof FORM_TYPES)[number]['value'];\n"],"mappings":"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","names":["CollapsiblePrimitive","Collapsible","CollapsibleTrigger","CollapsibleContent","TabsPrimitive","jsx","Tabs","className","props","cn","__name","TabsList","TabsTrigger","TabsContent","React","ScrollAreaPrimitive","jsx","jsxs","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","useState","useEffect","useMemo","useQuery","equal","validateField","__name","field","compareOptions","options1","options2","equal","map1","o","map2","added","removed","modified","option","value","option1","option2","changes","compareNestedFields","field1","field2","nestedFields1","nestedFields2","nestedDiff","compareFormFields","isFieldModified","index1","index2","checks","hasNestedChanges","check","getFieldChanges","optionsDiff","nestedFieldsDiff","fields1","fields2","validFields1","validFields2","fieldMap1","f","i","fieldMap2","unchanged","reordered","fieldDiffs","_","name","getDiffStyles","diffType","hasOrderChange","useMemo","useRef","useEffect","jsx","jsxs","FieldWrapper","__name","children","diffType","orderChanged","changes","styles","getDiffStyles","badge","renderChanges","changesList","oldJsonType","newJsonType","opt","FormPanel","version","fields","fieldsets","diffMap","title","scrollRef","form","useForm","fieldsWithWrappers","useMemo","field","diff","Card","CardHeader","CardTitle","CardContent","Form","JSONSchemaFormFields","SchemaFormComparison","topVersion","bottomVersion","topFields","bottomFields","topFieldsets","bottomFieldsets","isLoading","compareFormFields","leftScrollRef","useRef","rightScrollRef","isSyncing","useEffect","leftEl","rightEl","handleLeftScroll","handleRightScroll","hasNoDifferences","BASIC_INFO_VERSIONS","COUNTRY_CONTRACT_VERSIONS","COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS","versions","FORM_TYPES","jsx","jsxs","JsonSchemaComparison","__name","formType","setFormType","useState","topVersion","setTopVersion","bottomVersion","setBottomVersion","countryCode","setCountryCode","client","useClient","countriesData","useQuery","countriesOptions","response","country","COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS","isContractDetails","topSchema","isLoadingTop","useJSONSchemaForm","bottomSchema","isLoadingBottom","isLoading","countryVersions","COUNTRY_CONTRACT_VERSIONS","hasCountryMapping","versionOptions","useMemo","BASIC_INFO_VERSIONS","useEffect","availableVersionValues","v","Card","CardHeader","CardTitle","CardContent","Label","Tabs","value","TabsList","FORM_TYPES","type","TabsTrigger","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","version","SchemaFormComparison"]}
|
package/dist/chunk-VJNTRMOS.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as qe}from"./chunk-6PRPMEWS.js";import{a as Je}from"./chunk-VAIBLWOY.js";import{a as Be}from"./chunk-TFJOJCCS.js";import{a as Pe,b as xe,e as Oe,f as Me,g as Re,h as ve,i as we,j as Te,l as Le,m as ke}from"./chunk-5XNFVJNM.js";import{a as ge,b as Ee,c as Ce,d as Fe,f as he,g as Ve}from"./chunk-LXOYWRNU.js";import{e as C,f as T,h as $}from"./chunk-552XBDTE.js";import{a as w,j as M}from"./chunk-EARN6G25.js";import{a as De}from"./chunk-TSPDJUGG.js";import{a as r}from"./chunk-P37U34EQ.js";import{useCallback as ht,useEffect as Vt,useMemo as p,useRef as Pt,useState as Ue}from"react";import xt from"lodash.mergewith";import{createContext as _t,useContext as St,useMemo as bt,useCallback as gt,useRef as Et}from"react";import{jsx as Ct}from"react/jsx-runtime";var je=_t(void 0);function Lt({children:a}){let u=Et({}),c=gt(o=>{u.current={...u.current,...o}},[]),F=bt(()=>({errorContextRef:u,updateContext:c}),[c]);return Ct(je.Provider,{value:F,children:a})}r(Lt,"ErrorContextProvider");var Ne=r(()=>{let a=St(je);if(!a)throw new Error("useErrorContext must be used within ErrorContextProvider");return a},"useErrorContext");import{useEffect as Ae,useMemo as Ft}from"react";function Ie(a){let{updateContext:u,errorContextRef:c}=Ne();return Ae(()=>{a&&(c.current=a)},[]),Ae(()=>()=>{c.current={}},[c]),{...Ft(()=>({updateErrorContext:r(o=>{u(o)},"updateErrorContext"),clearErrorContext:r(()=>{c.current={}},"clearErrorContext")}),[]),errorContext:c}}r(Ie,"useErrorReporting");import{jsx as He}from"react/jsx-runtime";var Ot={employment_basic_information:"basic_information",contract_details:"contract_details"},Mt={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},Rt=r(({isLoadingBasicInformationForm:a,isLoadingContractDetailsForm:u,isLoadingEmployment:c,isLoadingBenefitsOffersSchema:F,isLoadingBenefitOffers:o,isLoadingCompany:N,isLoadingCountries:R,employmentStatus:s,employmentId:L,currentStepName:A,basicInformationFields:I,contractDetailsFields:y})=>{let t=a||u||c||F||o||N||R,k=s&&Ce.includes(s),U=s&&!Fe.includes(s),B=!!(L&&k&&A!=="review"),v=t||B,D=!!(B&&!t&&I.length>0&&y.length>0);return{isLoading:v,isNavigatingToReview:D,isEmploymentReadOnly:k,canInvite:U}},"getLoadingStates"),en=r(({employmentId:a,companyId:u,countryCode:c,type:F,options:o,skipSteps:N,externalId:R,initialValues:s})=>{let{updateErrorContext:L}=Ie({flow:"onboarding",metadata:{employmentId:a,companyId:u,isUpdating:!!a}}),A=N?.includes("select_country")?Ee:ge,I=ht(e=>{L({step:e.name})},[L]),{fieldValues:y,stepState:t,setFieldValues:k,previousStep:U,nextStep:B,goToStep:v,setStepValues:D}=De(A,I),q=Pt({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[l,We]=Ue(a),[d,z]=Ue(c||null),{data:m,isLoading:K,refetch:Ge}=Be({employmentId:l,queryParams:{exclude_files:!0}});a&&m?.country?.code&&!d&&z(m.country.code);let{data:Q,isLoading:Y}=xe(l),{data:J,isLoading:X,refetch:$e}=Pe(u),ze=o?.features?.includes("onboarding_reserves")&&t.currentStep.name==="review"||!1,{data:Ke}=ke(u,l,ze),{selectCountryForm:j,isLoading:Z}=Te({jsfModify:o?.jsfModify?.select_country,queryOptions:{enabled:t.currentStep.name==="select_country"}}),ee=Re(o),te=ve(d,o),ne=we(o),oe=Le(),{mutateAsync:Qe}=w(ee),{mutateAsync:re}=w(te),{mutateAsync:Ye}=w(ne),{mutateAsync:Xe}=w(oe),Ze=Mt[t.currentStep.name]||"employment_basic_information",et=Ot[Ze],tt=m?.[et]||{},ae=r(({form:e,options:i={},query:f={},jsonSchemaVersion:O})=>{let W=Object.keys(y).length>0?{...s,...t.values?.[t.currentStep.name],...y}:{...s,...tt};return Oe({countryCode:d,form:e,fieldValues:W,query:f,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}},jsonSchemaVersion:O})},"useJSONSchema"),nt=!!(d&&(t.currentStep.name==="basic_information"||a)),ot=!!(d&&(t.currentStep.name==="contract_details"||a)),{data:_,isLoading:ie}=ae({form:"employment_basic_information",options:{jsfModify:o?.jsfModify?.basic_information,queryOptions:{enabled:nt}},jsonSchemaVersion:Ve(o)}),h=o?.jsfModify?.contract_details?.fields?.annual_gross_salary,H=h&&typeof h=="object"&&"presentation"in h?h.presentation:void 0,se=o?.jsfModify?.contract_details?.fields?.equity_compensation,rt=p(()=>({fields:{annual_gross_salary:{...h,presentation:{annual_gross_salary_conversion_properties:{label:H?.annual_gross_salary_conversion_properties?.label,description:H?.annual_gross_salary_conversion_properties?.description},desiredCurrency:J?.desired_currency,Component:r(e=>He(qe,{desiredCurrency:J?.desired_currency||"",...e}),"Component")}},equity_compensation:{...se,presentation:{calculateDynamicProperties:r((e,i)=>{let f=e.equity_compensation?.offer_equity_compensation,O=i?.meta?.cost;return{extra:He(Je,{offerEquity:f,equityCost:O})}},"calculateDynamicProperties")}}}}),[h,H,J?.desired_currency,se]),at=he(o,d),{data:S,isLoading:ce}=ae({form:"contract_details",query:{employment_id:l},options:{jsfModify:{...o?.jsfModify?.contract_details,fields:{...o?.jsfModify?.contract_details?.fields,...rt.fields}},queryOptions:{enabled:ot}},jsonSchemaVersion:at}),{data:g,isLoading:le}=Me(l,y,o),de=p(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...y};return xt({},Q,e)}return{}},[t.currentStep.name,Q,t.values,y]),n=p(()=>({select_country:j?.fields||[],basic_information:_?.fields||[],contract_details:S?.fields||[],benefits:g?.fields||[],review:[]}),[j?.fields,_?.fields,S?.fields,g?.fields]),it={select_country:null,basic_information:_?.meta["x-jsf-fieldsets"],contract_details:S?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:st,basic_information:ue={},contract_details:me={},status:fe}=m||{},pe=st?.code,ye=t.currentStep.name,V=p(()=>T(n.select_country,{country:d||pe||""}),[n.select_country,d,pe]),P=p(()=>{let e={...s,...ue};return T(n.basic_information,e)},[n.basic_information,ue,s]),E=p(()=>{let e={...s,...me};return T(n.contract_details,e)},[n.contract_details,me,s]),x=p(()=>{let e={...s,...de};return T(n.benefits,e)},[n.benefits,de,s]),ct=p(()=>m?{select_country:V,basic_information:$(n.basic_information,P),contract_details:m?.contract_details!==null?$(n.contract_details,E):E,benefits:x}:{select_country:V,basic_information:P,contract_details:E,benefits:x},[V,P,E,x,m,n]),{isLoading:lt,isNavigatingToReview:_e,isEmploymentReadOnly:dt,canInvite:ut}=p(()=>Rt({isLoadingBasicInformationForm:ie,isLoadingContractDetailsForm:ce,isLoadingEmployment:K,isLoadingBenefitsOffersSchema:le,isLoadingBenefitOffers:Y,isLoadingCompany:X,isLoadingCountries:Z,employmentId:a,employmentStatus:fe,basicInformationFields:n.basic_information,contractDetailsFields:n.contract_details,currentStepName:ye}),[ie,ce,K,le,Y,X,Z,a,fe,n.basic_information,n.contract_details,ye]);Vt(()=>{_e&&(q.current={select_country:M(V,n.select_country),basic_information:M(P,n.basic_information),contract_details:M(E,n.contract_details),benefits:M(x,n.benefits)},D({select_country:V,basic_information:P,contract_details:E,benefits:x,review:{}}),v("review"))},[P,x,E,v,_e,V,D,n.basic_information,n.benefits,n.contract_details,n.select_country]);let Se=r(async e=>j&&t.currentStep.name==="select_country"?e:_&&t.currentStep.name==="basic_information"?await C(e,_?.fields,{isPartialValidation:!1}):S&&t.currentStep.name==="contract_details"?await C(e,S?.fields,{isPartialValidation:!1}):g&&t.currentStep.name==="benefits"?await C(e,g?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function mt(e){let i=t.currentStep.name;i in q.current&&(q.current[i]=M(e,n[i]));let f=await Se(e);switch($e(),t.currentStep.name){case"select_country":return z(f.country),Promise.resolve({data:{countryCode:f.country}});case"basic_information":{let O=!l&&d,be=l&&d&&m?.country&&m?.country.code!==d;if(O||be){let W={basic_information:f,type:F,country_code:d,external_id:R};try{let b=await Qe(W);if(b.error)return b;if(b.data){let G=b.data?.data?.employment?.id;return G&&(We(G),await Xe({employmentId:G,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),b}}catch(b){throw console.error("Error creating onboarding:",b),b}}else if(l)return re({employmentId:l,basic_information:f,pricing_plan_details:{frequency:"monthly"},external_id:R});return}case"contract_details":return re({employmentId:l,external_id:R,...{contract_details:f,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Ye({employmentId:l,...f})}}r(mt,"onSubmit");function ft(){U()}r(ft,"back");function pt(){B()}r(pt,"next");function yt(e){v(e)}return r(yt,"goTo"),{employmentId:l,creditRiskStatus:J?.default_legal_entity_credit_risk_status,onboardingReservesStatus:Ke,fieldValues:y,stepState:t,fields:n[t.currentStep.name],isLoading:lt,isSubmitting:ee.isPending||te.isPending||ne.isPending||oe.isPending,initialValues:ct,handleValidation:r(async e=>{if(t.currentStep.name==="select_country")return j.handleValidation(e);if(t.currentStep.name==="benefits"&&g){let i=await C(e,g?.fields,{isPartialValidation:!1});return g?.handleValidation(i)}if(_&&t.currentStep.name==="basic_information"){let i=await C(e,_?.fields,{isPartialValidation:!1});return _?.handleValidation(i)}if(S&&t.currentStep.name==="contract_details"){let i=await C(e,S?.fields,{isPartialValidation:!1});return S?.handleValidation(i)}return null},"handleValidation"),checkFieldUpdates:k,parseFormValues:Se,onSubmit:mt,back:ft,next:pt,goTo:yt,meta:{fields:q.current,fieldsets:it[t.currentStep.name]},refetchEmployment:Ge,employment:m,isEmploymentReadOnly:dt,canInvite:ut}},"useOnboarding");export{je as a,Lt as b,en as c};
|
|
2
|
-
//# sourceMappingURL=chunk-VJNTRMOS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/hooks.tsx","../src/components/error-handling/ErrorContext.tsx","../src/components/error-handling/useErrorReporting.ts"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmploymentOnboardingReservesStatus,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const onStepChange = useCallback(\n (step: Step<keyof typeof STEPS>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n onStepChange,\n );\n\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n benefits: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n });\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const { data: onboardingReservesStatus } =\n useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: getBasicInformationSchemaVersion(options),\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (benefitOffersSchema && stepState.currentStep.name === 'benefits') {\n return await parseJSFToValidate(values, benefitOffersSchema?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = await parseFormValues(values);\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: keyof typeof STEPS) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n };\n};\n","import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useCallback,\n useRef,\n RefObject,\n} from 'react';\nimport type { ErrorContextData } from './types';\n\nexport type ErrorContextValue = {\n errorContextRef: RefObject<ErrorContextData>;\n updateContext: (updates: Partial<ErrorContextData>) => void;\n};\n\nexport const ErrorContext = createContext<ErrorContextValue | undefined>(\n undefined,\n);\n\nexport function ErrorContextProvider({ children }: { children: ReactNode }) {\n const errorContextRef = useRef<ErrorContextData>({});\n\n const updateContext = useCallback((updates: Partial<ErrorContextData>) => {\n errorContextRef.current = { ...errorContextRef.current, ...updates };\n }, []);\n\n // Memoize the value object to prevent unnecessary re-renders\n // Note: setContext is stable from useState and doesn't need to be in deps\n const value = useMemo(\n () => ({\n errorContextRef,\n updateContext,\n }),\n [updateContext],\n );\n\n return (\n <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>\n );\n}\n\nexport const useErrorContext = () => {\n const ctx = useContext(ErrorContext);\n if (!ctx) {\n throw new Error('useErrorContext must be used within ErrorContextProvider');\n }\n return ctx;\n};\n","import { useErrorContext } from '@/src/components/error-handling/ErrorContext';\nimport { ErrorContextData } from '@/src/components/error-handling/types';\nimport { useEffect, useMemo } from 'react';\n\nexport function useErrorReporting(initialContext: ErrorContextData) {\n const { updateContext, errorContextRef } = useErrorContext();\n\n // Set initial context on mount\n useEffect(() => {\n if (initialContext) {\n errorContextRef.current = initialContext;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clear context on unmount\n useEffect(() => {\n return () => {\n errorContextRef.current = {};\n };\n }, [errorContextRef]);\n\n // Note: setContext and updateContext are stable, don't need to be in deps\n const handlers = useMemo(\n () => ({\n updateErrorContext: (updates: Partial<ErrorContextData>) => {\n updateContext(updates);\n },\n\n clearErrorContext: () => {\n errorContextRef.current = {};\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return {\n ...handlers,\n /**\n * @internal For unit testing only - we access the errorContext in the error boundary directly\n * Use updateErrorContext() and clearErrorContext() handlers instead.\n */\n errorContext: errorContextRef,\n };\n}\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","createContext","useContext","useMemo","useCallback","useRef","jsx","ErrorContext","createContext","ErrorContextProvider","children","errorContextRef","useRef","updateContext","useCallback","updates","value","useMemo","__name","useErrorContext","ctx","useContext","useEffect","useMemo","useErrorReporting","initialContext","updateContext","errorContextRef","useErrorContext","useEffect","useMemo","__name","updates","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","refetchEmployment","useEmploymentQuery","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","isOnboardingReservesEnabled","onboardingReservesStatus","useEmploymentOnboardingReservesStatus","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","getBasicInformationSchemaVersion","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","useMemo","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","useEffect","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo"]}
|
package/dist/chunk-YZKXKNDS.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as A}from"./chunk-UB5WD4YM.js";import{i as Q,j as X}from"./chunk-552XBDTE.js";import{b as U,c as q,f as K}from"./chunk-R3NDFTIM.js";import{a as Z}from"./chunk-MEOD4UGO.js";import{a as G}from"./chunk-R3HLTYHX.js";import{b as N}from"./chunk-IFD3RW53.js";import{c as g,i as h}from"./chunk-RXNDKUY6.js";import{c as k,g as R}from"./chunk-EARN6G25.js";import{b as S}from"./chunk-KQPDXXG3.js";import{a as i}from"./chunk-P37U34EQ.js";import{Fragment as ve,useEffect as Ze,useRef as De}from"react";import{jsx as Y}from"react/jsx-runtime";function j({description:e,label:o,name:t,minDate:r,maxDate:s,onChange:a,component:l,...p}){let{components:u}=S(),{control:F}=g(),c;p.meta?.mot&&typeof p.meta.mot=="number"?c=Q(p.meta.mot):typeof r=="string"&&(c=new Date(`${r}T00:00:00`));let m;return s&&(m=new Date(`${s}T23:59:59`)),Y(h,{control:F,name:t,render:({field:f,fieldState:C})=>{let d=l||u?.date;if(!d)throw new Error(`Date picker component not found for field ${t}`);let y={description:e,label:o,name:t,onChange:a,...c&&{minDate:c.toISOString()},...m&&{maxDate:m.toISOString()},...p};return Y(d,{field:{...f,onChange:i(T=>{f.onChange(T),a?.(T)},"onChange")},fieldState:C,fieldData:y})}})}i(j,"DatePickerField");import{jsx as ee}from"react/jsx-runtime";var ke=i((e,o)=>{if(!o)return null;for(let t of e)if(t.size>o){let r=Math.round(o/1048576),s=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${r}MB (file is ${s}MB)`}return null},"validateFileSize");function oe({name:e,description:o,label:t,multiple:r,onChange:s,component:a,accept:l,maxSize:p,...u}){let{components:F}=S(),{control:c,setError:m,clearErrors:f}=g(),C=i(async(d,y)=>{let T=ke(d,p);if(T){m(e,{message:T});return}f(e),y.onChange(d),s?.(d)},"handleOnChange");return ee(h,{control:c,name:e,render:({field:d,fieldState:y})=>{let T=a||F.file;if(!T)throw new Error(`File upload component not found for field ${e}`);let P={name:e,description:o,label:t,multiple:r,accept:l,maxFileSize:p,...u};return ee(T,{field:{...d,value:d.value,onChange:i(async x=>C(x,d),"onChange")},fieldState:y,fieldData:P})}})}i(oe,"FileUploadField");import{jsx as te}from"react/jsx-runtime";function H(e){let{components:o}=S(),{control:t}=g(),r=e.component||o.number;if(!r)throw new Error(`Number component not found for field ${e.name}`);return te(h,{control:t,name:e.name,render:({field:s,fieldState:a})=>te(r,{field:{...s,onChange:i(l=>{s.onChange(l),e.onChange?.(l)},"onChange")},fieldState:a,fieldData:e})})}i(H,"NumberField");import{jsx as ne}from"react/jsx-runtime";function re({name:e,defaultValue:o,description:t,label:r,options:s,onChange:a,component:l,...p}){let{components:u}=S(),{control:F}=g();return ne(h,{control:F,name:e,defaultValue:o,render:({field:c,fieldState:m})=>{let f=l||u?.radio;if(!f)throw new Error(`Radio group component not found for field ${e}`);let C={name:e,defaultValue:o,description:t,label:r,options:s,...p};return ne(f,{field:{...c,onChange:i(d=>{c.onChange(d),a?.(d)},"onChange")},fieldState:m,fieldData:C})}})}i(re,"RadioGroupField");import{jsx as ie}from"react/jsx-runtime";function le({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,component:l,...p}){let{control:u}=g(),{components:F}=S();return ie(h,{defaultValue:r,control:u,name:o,render:({field:c,fieldState:m})=>{let f=l||F?.select;if(!f)throw new Error(`Select component not found for field ${o}`);let C={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,...p};return ie(f,{field:{...c,onChange:i(d=>{let T=(Array.isArray(p.jsonType)?p.jsonType.includes("number"):p.jsonType==="number")?Number(d):d;c.onChange(T),a?.(T)},"onChange")},fieldState:m,fieldData:C})}})}i(le,"SelectField");import{jsx as se}from"react/jsx-runtime";function ae({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,$meta:l,component:p,...u}){let{control:F}=g(),{components:c}=S();return se(h,{defaultValue:r,control:F,name:o,render:({field:m,fieldState:f})=>{let C=p||c.countries;if(!C)throw new Error(`Country component not found for field ${o}`);let d={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,$meta:l,...u};return se(C,{field:{...m,onChange:i(y=>{m.onChange(y),a?.(y)},"onChange")},fieldState:f,fieldData:d})}})}i(ae,"CountryField");import{jsx as me}from"react/jsx-runtime";function de({name:e,description:o,label:t,onChange:r,maxLength:s,component:a,...l}){let{components:p}=S(),{control:u}=g();return me(h,{control:u,name:e,render:({field:F,fieldState:c})=>{let m=a||p.textarea;if(!m)throw new Error(`Text area component not found for field ${e}`);let f={name:e,description:o,label:t,maxLength:s,...l};return me(m,{field:{...F,onChange:i(C=>{F.onChange(C),r?.(C)},"onChange")},fieldState:c,fieldData:f})}})}i(de,"TextAreaField");import{jsx as pe}from"react/jsx-runtime";function ce(e){let{components:o}=S(),{control:t}=g(),r=e.component||o.email;if(!r)throw new Error(`Email component not found for field ${e.name}`);return pe(h,{control:t,name:e.name,render:({field:s,fieldState:a})=>pe(r,{field:{...s,onChange:i(l=>{s.onChange(l),e.onChange?.(l)},"onChange")},fieldState:a,fieldData:e})})}i(ce,"EmailField");import{jsx as ue}from"react/jsx-runtime";function Fe(e){let{control:o}=g();return ue(h,{control:o,name:e.name,render:({field:t})=>ue("input",{...t,type:"hidden"})})}i(Fe,"HiddenField");import{useEffect as Ne,useState as Ve}from"react";import{jsx as fe}from"react/jsx-runtime";function ge(e){let{components:o}=S(),{setValue:t,control:r,watch:s}=g(),a=s(e.name),[l,p]=Ve(a),{workHoursSummary:u,breakSummary:F}=q(l),c=U(l);Ne(()=>{t(e.name,l)},[l,e.name,t]);function m(d){p(d)}i(m,"onSubmit");let f=e.component||o["work-schedule"];if(!f)throw new Error(`Work schedule component not found for field ${e.name}`);let C={...e,onSubmit:m,currentSchedule:l,defaultFormattedValue:{workHoursSummary:u,breakSummary:F,totalWorkHours:c}};return fe(h,{control:r,name:e.name,render:({field:d,fieldState:y})=>fe(f,{field:{...d,onChange:i(T=>{d.onChange(T),e.onChange?.(T)},"onChange")},fieldState:y,fieldData:C})})}i(ge,"WorkScheduleField");import{jsx as Ce}from"react/jsx-runtime";function he({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,component:l,...p}){let{control:u}=g(),{components:F}=S();return Ce(h,{defaultValue:r,control:u,name:o,render:({field:c,fieldState:m})=>{let f=l||F?.["multi-select"];if(!f)throw new Error(`Multi select component not found for field ${o}`);let C={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,...p};return Ce(f,{field:{...c,onChange:i(d=>{c.onChange(d),a?.(d)},"onChange")},fieldState:m,fieldData:C})}})}i(he,"MultiSelectField");import{jsx as Ae}from"react/jsx-runtime";var Se=i(e=>Ae(H,{maxLength:15,...e}),"MoneyField");import{useMemo as B,useCallback as ye,useState as He,useEffect as Be,useRef as Je}from"react";import{jsx as W}from"react/jsx-runtime";function We(e){return e.replace(/\s/g,"")}i(We,"removeSpaces");function be(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),r=e?.match(t);if(!r)return{prefix:"",dialCode:"",phoneNumber:e};let[,s,a,l]=r;return{prefix:s,dialCode:a,phoneNumber:l}}i(be,"getStructuredNumberFromInternationalNumber");function Te({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:r}=be(t);if(r)for(let s=o+r.length;s>r.length;s--){let a=t.slice(r.length,s);if(e[a])return e[a]}}i(Te,"getCountryFromPhoneNumber");function xe(e){let o={},t=0;return e.forEach(r=>{r.areaCodes?r.areaCodes.forEach(s=>{let a=r.dialCode+s;o[a]=r,a.length>t&&(t=a.length)}):(o[r.dialCode]=r,r.dialCode.length>t&&(t=r.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}i(xe,"getCountryDataByCountryCode");function Ie(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}i(Ie,"getAreaCodesFromPattern");function Le(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:Ie(o.pattern)}))}i(Le,"transformSchemaToCountries");function ze({field:e,fieldState:o,fieldData:t,component:r,onChangeCountryCode:s,onChangePhoneNumber:a}){let{value:l}=e,{options:p}=t,u=B(()=>Le(p),[p]),F=B(()=>xe(u),[u]),c=Je(!1),[m,f]=He(()=>Te(xe(u),l||""));Be(()=>{if((!l||l==="+")&&(c.current=!1),c.current)return;let x=Te(F,l||"");f(x)},[l,F]);let{prefix:C,phoneNumber:d}=B(()=>be(l,m),[l,m]),y=ye(x=>{if(!x)return;let w=`+${x.dialCode}${d}`;c.current=!0,f(x),e.onChange(w),s&&s(x)},[d,e,s]),T=ye(x=>{let w=We(x.target.value),$;if(m?$=`${C}${m.dialCode}${w}`:$=`${C}${w}`,e.onChange($),a){let V={target:{value:$,name:e.name}};a(V)}},[m,C,e,a]),P=B(()=>({...t,onChangeCountryCode:y,onChangePhoneNumber:T,currentCountry:m,nationalPhoneNumber:d}),[t,y,T,m,d]);return W(r,{field:e,fieldState:o,fieldData:P})}i(ze,"TelFieldRenderer");function $e({name:e,description:o,label:t,onChangeCountryCode:r,onChangePhoneNumber:s,component:a,...l}){let{components:p}=S(),{control:u}=g();return W(h,{control:u,name:e,render:({field:F,fieldState:c})=>{let m=a||p.tel;if(!m)throw new Error(`Tel component not found for field ${e}`);let f={name:e,description:o,label:t,...l};return W(ze,{field:F,fieldState:c,fieldData:f,component:m,onChangeCountryCode:r,onChangePhoneNumber:s})}})}i($e,"TelField");var I={checkbox:K,text:G,email:ce,money:Se,select:le,"multi-select":he,radio:re,number:H,file:oe,date:j,textarea:de,countries:ae,hidden:Fe,tel:$e,"work-schedule":ge};import{useEffect as Oe}from"react";import{jsx as J,jsxs as _e}from"react/jsx-runtime";var Ge=i(({name:e,description:o,helpCenter:t})=>_e("span",{children:[J("span",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:R(o)}}),t?.callToAction&&t?.id&&J(N,{className:"RemoteFlows__ForcedValue__HelpCenterLink",zendeskId:t.id,children:t.callToAction})]}),"Description");function Pe({name:e,value:o,description:t,statement:r,label:s,helpCenter:a}){let{setValue:l}=g(),p=R(r?.description||t);Oe(()=>{l(e,o)},[]);let u=r?.title?R(r?.title):R(s);return _e("div",{children:[u&&J("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:u}}),J(Ge,{name:e,description:p,helpCenter:a})]})}i(Pe,"ForcedValueField");import{Fragment as Ue,jsx as b,jsxs as v}from"react/jsx-runtime";function Re({label:e,name:o,fields:t,description:r,components:s,statement:a,isFlatFieldset:l,extra:p,variant:u="outset",features:F,meta:c}){let{helpCenter:m}=c||{},{watch:f,setValue:C,trigger:d,formState:y}=g(),{components:T}=S(),P=F?.toggle?.stateField,x=P?f(P):F?.toggle?.defaultExpanded??!0,w=t.map(({name:n})=>`${o}.${n}`),$=f(w),V=De($),M=De(null),we=i(()=>{P&&C(P,!x)},"toggleExpanded");Ze(()=>{let n=$,_=V.current,O=y.isSubmitted||y.submitCount>0,E=!1;for(let D=0;D<n.length;D++)if(n[D]!==void 0&&_[D]!==n[D]){E=!0;break}return E&&O&&(M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{d()},50)),V.current=[...n],()=>{M.current&&clearTimeout(M.current)}},[$,d,y.isSubmitted,y.submitCount]);let Ee=T?.fieldsetToggle||Z,L=`${o}-content`,z=`${o}-header`;return v("fieldset",{className:k("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[b("legend",{className:k("text-sm font-semibold px-2",u==="inset"&&"hidden"),children:e}),m?.callToAction&&m?.id&&u==="outset"&&b(N,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction}),u==="inset"&&v(Ue,{children:[v("div",{className:"RemoteFlows__FieldSetField__Header",id:z,"data-state":x?"expanded":"collapsed","aria-expanded":x,children:[b("h3",{className:k("RemoteFlows__FieldSetField__Title"),children:e}),F?.toggle?.enabled&&b(Ee,{isExpanded:x,onToggle:we,"aria-expanded":x,"aria-controls":L,"aria-label":`${x?"Hide":"Show"} ${e}`,className:k("RemoteFlows__FieldSetField__Toggle",F.toggle?.className),children:x?F.toggle.labels?.collapse??"Remove":F.toggle.labels?.expand??"Define"})]}),m?.callToAction&&m?.id&&b(N,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction})]}),x&&v("div",{id:L,"aria-labelledby":z,role:"region",children:[r?b("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:R(r)}}):null,v("div",{className:"grid gap-4",children:[t.map(n=>{if(n.calculateDynamicProperties&&(n={...n,...n.calculateDynamicProperties($,n)||{}}),n.isVisible===!1||n.deprecated)return null;let _=n.type;if(X(n))return b(Pe,{name:`${l?n.name:`${o}.${n.name}`}`,description:n.description,value:n.const,statement:n.statement,label:n.label,helpCenter:n.meta?.helpCenter},`${l?n.name:`${o}.${n.name}`}`);if(_==="fieldset")return b(Re,{...n,name:`${l?n.name:`${o}.${n.name}`}`,components:s},`${l?n.name:`${o}.${n.name}`}`);if(_==="fieldset-flat")return b(Re,{...n,name:`${l?n.name:`${o}.${n.name}`}`,components:s,isFlatFieldset:!0},`${l?n.name:`${o}.${n.name}`}`);let E=I[_];if(n.Component){let{Component:D}=n;return v(ve,{children:[b(D,{setValue:Me=>C(l?n.name:`${o}.${n.name}`,Me),...n}),n.statement?b(A,{...n.statement}):null,n.extra?n.extra:null]},`${l?n.name:`${o}.${n.name}`}`)}return E?(_==="select"&&n.multiple&&(E=I["multi-select"]),v(ve,{children:[b(E,{...n,name:`${l?n.name:`${o}.${n.name}`}`,component:s?.[_]}),n.statement?b(A,{...n.statement}):null,n.extra?n.extra:null]},`${l?n.name:`${o}.${n.name}`}`)):v("p",{className:"error",children:["Field type ",_," not supported"]})}),p||null,a?b(A,{...a}):null]})]})]})}i(Re,"FieldSetField");export{I as a,Pe as b,Re as c};
|
|
2
|
-
//# sourceMappingURL=chunk-YZKXKNDS.js.map
|