@remoteoss/remote-flows 1.42.1 → 1.42.2
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/{RadioGroupFieldDefault-XR37OID5.js → RadioGroupFieldDefault-X3HP3BDR.js} +2 -2
- package/dist/chunk-3BRO52TO.js +2 -0
- package/dist/chunk-3BRO52TO.js.map +1 -0
- package/dist/{chunk-JQN26ZTU.js → chunk-3DD3UNKM.js} +2 -2
- package/dist/{chunk-CFGQQEXD.js → chunk-3GB6QH7W.js} +2 -2
- package/dist/{chunk-YUKREGGF.js → chunk-3QG44XYC.js} +2 -2
- package/dist/{chunk-YCP65XIN.js → chunk-3YP27SZK.js} +2 -2
- package/dist/chunk-5LJ5IFXF.js +2 -0
- package/dist/chunk-5LJ5IFXF.js.map +1 -0
- package/dist/chunk-6JW4ERRK.js +2 -0
- package/dist/{chunk-7WB6IHRF.js.map → chunk-6JW4ERRK.js.map} +1 -1
- package/dist/{chunk-HIDA2KDX.js → chunk-ARNYUYFG.js} +2 -2
- package/dist/{chunk-Q5OFEWTH.js → chunk-C3J4KQEW.js} +2 -2
- package/dist/{chunk-R3JUKEDN.js → chunk-DS6URMR3.js} +2 -2
- package/dist/{chunk-PEJ5SKA2.js → chunk-FMP4J4GT.js} +2 -2
- package/dist/{chunk-LV6MDD3M.js → chunk-GYSU3LLC.js} +2 -2
- package/dist/{chunk-HAI4J2FU.js → chunk-HGY2ZKJN.js} +2 -2
- package/dist/{chunk-YRDXBXXA.js → chunk-IOGX6GAZ.js} +2 -2
- package/dist/{chunk-DSL5O7NR.js → chunk-LWTE6DD4.js} +2 -2
- package/dist/{chunk-OISWU4YR.js → chunk-PDQ5GZSE.js} +2 -2
- package/dist/{chunk-SL7O5CUW.js → chunk-RLFV5DLC.js} +2 -2
- package/dist/{chunk-YZ3KEILH.js → chunk-RU5E42WN.js} +2 -2
- package/dist/{chunk-7JWQ24VU.js → chunk-SRGB5JQU.js} +2 -2
- package/dist/{chunk-XICRWKIW.js → chunk-SRXYQVLN.js} +2 -2
- package/dist/{chunk-SQ5KB57O.js → chunk-TM2GTPUI.js} +2 -2
- package/dist/{chunk-F67DSAFU.js → chunk-TWBTRW4Z.js} +2 -2
- package/dist/{chunk-ADXJUDVS.js → chunk-XT6WMFV5.js} +2 -2
- package/dist/{chunk-3HMUXWNW.js → chunk-YRNO7X3H.js} +2 -2
- package/dist/{chunk-G2FGMFTN.js → chunk-YYX3OX7N.js} +2 -2
- package/dist/{chunk-VJGCSIOB.js → chunk-ZQWAUPIL.js} +2 -2
- package/dist/{chunk-RG36YL7L.js → chunk-ZVNUZW4X.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/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/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/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
- 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/SaveDraftButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
- 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/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/EstimationResults/EstimationResults.d.ts +2 -2
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
- package/dist/flows/CostCalculator/api.d.ts +2 -2
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +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 +2 -2
- package/dist/flows/CreateCompany/api.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
- package/dist/flows/CreateCompany/context.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +4 -4
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +4 -4
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +4 -4
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
- package/dist/flows/Onboarding/components/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/context.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/context.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/index.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/types.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +3 -3
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +4 -4
- package/dist/flows/Termination/api.d.ts +5 -5
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +4 -4
- package/dist/flows/Termination/hooks.d.ts +4 -4
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -6
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/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/types.d.ts +2 -2
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.d.ts +13 -13
- 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-CvqpPAsB.d.ts → mutations-Bb4S8J29.d.ts} +1 -1
- package/dist/{remoteFlows-BVi0Lj1G.d.ts → remoteFlows-CZEN0YS9.d.ts} +1 -1
- package/dist/{types-Bfjdf2vn.d.ts → types-BjDBV8pu.d.ts} +1 -1
- package/dist/{types-Bj0pRx3Z.d.ts → types-CBDzsY3a.d.ts} +1 -1
- package/dist/{types--NmU3NkX.d.ts → types-CBkHhvbz.d.ts} +4 -4
- package/dist/{types-DaXs0fB1.d.ts → types-DuPw8mPr.d.ts} +2 -2
- package/dist/{types-CrB4ZN-n.d.ts → types-DvNZcY-b.d.ts} +3 -3
- package/dist/{types-DyMXlKcr.d.ts → types-QvgO54zG.d.ts} +1 -1
- package/dist/{types-DDzY4RXN.d.ts → types-cBDclXLf.d.ts} +3 -3
- package/dist/{types.gen-B96RNslX.d.ts → types.gen-rKTincuW.d.ts} +1 -1
- package/dist/{utils-BoX3Tocr.d.ts → utils-Cexn9XOb.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-7WB6IHRF.js +0 -2
- package/dist/chunk-NZHABET6.js +0 -2
- package/dist/chunk-NZHABET6.js.map +0 -1
- package/dist/chunk-UYSY6Z5S.js +0 -2
- package/dist/chunk-UYSY6Z5S.js.map +0 -1
- /package/dist/{RadioGroupFieldDefault-XR37OID5.js.map → RadioGroupFieldDefault-X3HP3BDR.js.map} +0 -0
- /package/dist/{chunk-JQN26ZTU.js.map → chunk-3DD3UNKM.js.map} +0 -0
- /package/dist/{chunk-CFGQQEXD.js.map → chunk-3GB6QH7W.js.map} +0 -0
- /package/dist/{chunk-YUKREGGF.js.map → chunk-3QG44XYC.js.map} +0 -0
- /package/dist/{chunk-YCP65XIN.js.map → chunk-3YP27SZK.js.map} +0 -0
- /package/dist/{chunk-HIDA2KDX.js.map → chunk-ARNYUYFG.js.map} +0 -0
- /package/dist/{chunk-Q5OFEWTH.js.map → chunk-C3J4KQEW.js.map} +0 -0
- /package/dist/{chunk-R3JUKEDN.js.map → chunk-DS6URMR3.js.map} +0 -0
- /package/dist/{chunk-PEJ5SKA2.js.map → chunk-FMP4J4GT.js.map} +0 -0
- /package/dist/{chunk-LV6MDD3M.js.map → chunk-GYSU3LLC.js.map} +0 -0
- /package/dist/{chunk-HAI4J2FU.js.map → chunk-HGY2ZKJN.js.map} +0 -0
- /package/dist/{chunk-YRDXBXXA.js.map → chunk-IOGX6GAZ.js.map} +0 -0
- /package/dist/{chunk-DSL5O7NR.js.map → chunk-LWTE6DD4.js.map} +0 -0
- /package/dist/{chunk-OISWU4YR.js.map → chunk-PDQ5GZSE.js.map} +0 -0
- /package/dist/{chunk-SL7O5CUW.js.map → chunk-RLFV5DLC.js.map} +0 -0
- /package/dist/{chunk-YZ3KEILH.js.map → chunk-RU5E42WN.js.map} +0 -0
- /package/dist/{chunk-7JWQ24VU.js.map → chunk-SRGB5JQU.js.map} +0 -0
- /package/dist/{chunk-XICRWKIW.js.map → chunk-SRXYQVLN.js.map} +0 -0
- /package/dist/{chunk-SQ5KB57O.js.map → chunk-TM2GTPUI.js.map} +0 -0
- /package/dist/{chunk-F67DSAFU.js.map → chunk-TWBTRW4Z.js.map} +0 -0
- /package/dist/{chunk-ADXJUDVS.js.map → chunk-XT6WMFV5.js.map} +0 -0
- /package/dist/{chunk-3HMUXWNW.js.map → chunk-YRNO7X3H.js.map} +0 -0
- /package/dist/{chunk-G2FGMFTN.js.map → chunk-YYX3OX7N.js.map} +0 -0
- /package/dist/{chunk-VJGCSIOB.js.map → chunk-ZQWAUPIL.js.map} +0 -0
- /package/dist/{chunk-RG36YL7L.js.map → chunk-ZVNUZW4X.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=RadioGroupFieldDefault-
|
|
1
|
+
import{a}from"./chunk-3BRO52TO.js";import"./chunk-3UBFABDS.js";import"./chunk-ZOTY3CAM.js";import"./chunk-OPDKYPYM.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as RadioGroupFieldDefault};
|
|
2
|
+
//# sourceMappingURL=RadioGroupFieldDefault-X3HP3BDR.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as f,b as g}from"./chunk-3UBFABDS.js";import{b as R}from"./chunk-ZOTY3CAM.js";import{a as u}from"./chunk-OPDKYPYM.js";import{j as l,k as F,l as t,n as s,o as _}from"./chunk-Y3CJRZLA.js";import{n as m}from"./chunk-G2LZFGZA.js";import{a as c}from"./chunk-P37U34EQ.js";import{Fragment as v}from"react";import{jsx as e,jsxs as a}from"react/jsx-runtime";var w=c(({field:d,fieldData:i,fieldState:C})=>{let{name:r,label:n,description:p,options:b}=i;return e("fieldset",{className:m("space-y-3",`RemoteFlows__RadioGroupField__Item__${r}`),"data-field":r,children:a(l,{children:[e("legend",{children:n}),p&&e(s,{helpCenter:e(u,{helpCenter:i.meta?.helpCenter}),children:p}),e(t,{children:e(f,{"aria-label":n||r,onValueChange:o=>{d.onChange(o)},value:d.value,className:"flex flex-col",children:b?.map(o=>e(v,{children:a(l,{"data-field":r,className:"flex items-start space-x-3 space-y-0 gap-0 min-h-[24px] RemoteFlows__RadioField__Item",children:[e(t,{children:e(g,{value:o.value,className:m("RemoteFlows__RadioField__Input",o.recommended&&"mt-1"),disabled:o.disabled})}),a("div",{children:[a(F,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:[e("span",{dangerouslySetInnerHTML:{__html:o.label}})," ",o.recommended&&e(R,{variant:"secondary",className:"ml-2",children:"Recommended"})]}),o.description&&e(s,{className:"mt-2",children:o.description})]})]})},o.value))})}),C.error&&e(_,{})]})})},"RadioGroupFieldDefault");export{w as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3BRO52TO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/fields/default/RadioGroupFieldDefault.tsx"],"sourcesContent":["import { Fragment } from 'react';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { RadioGroup, RadioGroupItem } from '@/src/components/ui/radio-group';\nimport { cn } from '@/src/lib/utils';\nimport { RadioGroupComponentProps } from '@/src/types/fields';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport { Badge } from '@/src/components/ui/badge';\n\nexport const RadioGroupFieldDefault = ({\n field,\n fieldData,\n fieldState,\n}: RadioGroupComponentProps) => {\n const { name, label, description, options } = fieldData;\n return (\n <fieldset\n className={cn('space-y-3', `RemoteFlows__RadioGroupField__Item__${name}`)}\n data-field={name}\n >\n <FormItem>\n <legend>{label}</legend>\n {description && (\n <FormDescription\n helpCenter={<HelpCenter helpCenter={fieldData.meta?.helpCenter} />}\n >\n {description}\n </FormDescription>\n )}\n <FormControl>\n <RadioGroup\n aria-label={label || name}\n onValueChange={(value: string) => {\n field.onChange(value);\n }}\n value={field.value}\n className='flex flex-col'\n >\n {options?.map((option) => (\n <Fragment key={option.value}>\n <FormItem\n data-field={name}\n className='flex items-start space-x-3 space-y-0 gap-0 min-h-[24px] RemoteFlows__RadioField__Item'\n >\n <FormControl>\n <RadioGroupItem\n value={option.value}\n className={cn(\n 'RemoteFlows__RadioField__Input',\n option.recommended && 'mt-1',\n )}\n disabled={option.disabled}\n />\n </FormControl>\n <div>\n <FormLabel className='font-normal mb-0 RemoteFlows__RadioField__Label'>\n <span\n dangerouslySetInnerHTML={{ __html: option.label }}\n />{' '}\n {option.recommended && (\n <Badge variant='secondary' className='ml-2'>\n Recommended\n </Badge>\n )}\n </FormLabel>\n {option.description && (\n <FormDescription className='mt-2'>\n {option.description}\n </FormDescription>\n )}\n </div>\n </FormItem>\n </Fragment>\n ))}\n </RadioGroup>\n </FormControl>\n {fieldState.error && <FormMessage />}\n </FormItem>\n </fieldset>\n );\n};\n"],"mappings":"mRAAA,OAAS,YAAAA,MAAgB,QA0BjB,cAAAC,EAkCY,QAAAC,MAlCZ,oBAZD,IAAMC,EAAyBC,EAAA,CAAC,CACrC,MAAAC,EACA,UAAAC,EACA,WAAAC,CACF,IAAgC,CAC9B,GAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,YAAAC,EAAa,QAAAC,CAAQ,EAAIL,EAC9C,OACEL,EAAC,YACC,UAAWW,EAAG,YAAa,uCAAuCJ,CAAI,EAAE,EACxE,aAAYA,EAEZ,SAAAN,EAACW,EAAA,CACC,UAAAZ,EAAC,UAAQ,SAAAQ,EAAM,EACdC,GACCT,EAACa,EAAA,CACC,WAAYb,EAACc,EAAA,CAAW,WAAYT,EAAU,MAAM,WAAY,EAE/D,SAAAI,EACH,EAEFT,EAACe,EAAA,CACC,SAAAf,EAACgB,EAAA,CACC,aAAYR,GAASD,EACrB,cAAgBU,GAAkB,CAChCb,EAAM,SAASa,CAAK,CACtB,EACA,MAAOb,EAAM,MACb,UAAU,gBAET,SAAAM,GAAS,IAAKQ,GACblB,EAACmB,EAAA,CACC,SAAAlB,EAACW,EAAA,CACC,aAAYL,EACZ,UAAU,wFAEV,UAAAP,EAACe,EAAA,CACC,SAAAf,EAACoB,EAAA,CACC,MAAOF,EAAO,MACd,UAAWP,EACT,iCACAO,EAAO,aAAe,MACxB,EACA,SAAUA,EAAO,SACnB,EACF,EACAjB,EAAC,OACC,UAAAA,EAACoB,EAAA,CAAU,UAAU,kDACnB,UAAArB,EAAC,QACC,wBAAyB,CAAE,OAAQkB,EAAO,KAAM,EAClD,EAAG,IACFA,EAAO,aACNlB,EAACsB,EAAA,CAAM,QAAQ,YAAY,UAAU,OAAO,uBAE5C,GAEJ,EACCJ,EAAO,aACNlB,EAACa,EAAA,CAAgB,UAAU,OACxB,SAAAK,EAAO,YACV,GAEJ,GACF,GAhCaA,EAAO,KAiCtB,CACD,EACH,EACF,EACCZ,EAAW,OAASN,EAACuB,EAAA,EAAY,GACpC,EACF,CAEJ,EAvEsC","names":["Fragment","jsx","jsxs","RadioGroupFieldDefault","__name","field","fieldData","fieldState","name","label","description","options","cn","FormItem","FormDescription","HelpCenter","FormControl","RadioGroup","value","option","Fragment","RadioGroupItem","FormLabel","Badge","FormMessage"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as _}from"./chunk-5WIBTOCI.js";import{a as h}from"./chunk-ID4S6FWD.js";import{a as l}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as _}from"./chunk-5WIBTOCI.js";import{a as h}from"./chunk-ID4S6FWD.js";import{a as l}from"./chunk-6JW4ERRK.js";import{B as p,D as y,W as f,fa as C}from"./chunk-BYDNNJHZ.js";import{e as c}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMutation as F}from"@tanstack/react-query";import{useQuery as u}from"@tanstack/react-query";var b=n(e=>{let{client:o}=c();return u({...e,queryKey:["company-currencies"],retry:!1,queryFn:n(async()=>{let r=await f({client:o});if(r.error||!r.data)throw new Error("Failed to fetch company currencies");return r},"queryFn"),select:n(({data:r})=>r?.data?.company_currencies.map(t=>({value:t.code,label:t.code}))||[],"select")})},"useCompanyCurrencies"),A=n(()=>{let{client:e}=c();return F({mutationFn:n(o=>C({client:e,headers:{Authorization:""},body:o,query:{action:"send_create_password_email"}}),"mutationFn")})},"useCreateCompanyRequest"),I=n(()=>{let{client:e}=c();return F({mutationFn:n(({companyId:o,payload:r,jsonSchemaVersion:t})=>p({client:e,headers:{Authorization:""},path:{company_id:o},body:r,query:{address_details_json_schema_version:t}}),"mutationFn")})},"useUpdateCompanyRequest"),P=n(e=>{let{client:o}=c(),{data:r,isLoading:t}=u({...h(o,"create-company-countries"),select:n(i=>i.data?.data?.filter(s=>s.eor_onboarding).map(s=>({label:s.name,value:s.code}))||[],"select"),enabled:e?.queryOptions?.enabled}),{data:a,isLoading:m}=b(e?.queryOptions),d=l(_.data.schema,{},e);if(r){let i=d.fields.find(s=>s.name==="country_code");i&&(i.options=r)}if(a){let i=d.fields.find(s=>s.name==="desired_currency");i&&(i.options=a)}return{isLoading:t||m,companyBasicInformationForm:d}},"useCountriesSchemaField"),z=n(({countryCode:e,fieldValues:o,options:r})=>{let{client:t}=c();return u({queryKey:["company-address-details-schema",e],retry:!1,queryFn:n(async()=>{if(!e)throw new Error("Country code is required");let a=await y({client:t,headers:{Authorization:""},path:{country_code:e,form:"address_details"},query:{json_schema_version:r?.jsonSchemaVersion?.form_schema?.address_details||"latest"}});if(a.error||!a.data)throw new Error("Failed to fetch address details schema");return a},"queryFn"),enabled:r?.queryOptions?.enabled&&!!e,select:n(({data:a})=>{let m=a?.data||{};return l(m,o,r)},"select")})},"useAddressDetailsSchema");export{A as a,I as b,P as c,z as d};
|
|
2
|
+
//# sourceMappingURL=chunk-3DD3UNKM.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d,b as w}from"./chunk-WMBHCIFS.js";import{a as g}from"./chunk-GNDFT5KG.js";import{a as E}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as d,b as w}from"./chunk-WMBHCIFS.js";import{a as g}from"./chunk-GNDFT5KG.js";import{a as E}from"./chunk-6JW4ERRK.js";import{C as P,U as F,e as _}from"./chunk-BYDNNJHZ.js";import{b as h,h as C}from"./chunk-G2LZFGZA.js";import{a as j}from"./chunk-JDIKYCN6.js";import{e as c}from"./chunk-H2O4CVKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:u}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await _({client:u,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let l=o?.data||{};return E(l,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>P({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:u,stepState:m,nextStep:o,previousStep:l}=j(d),{data:i,isLoading:v,isError:q,error:Q}=g({employmentId:n,queryParams:{exclude_files:!0}}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function x(p){let f=await C(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:y}=h(A),H=await y(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:y}=h(S);return y(V)}default:throw new Error("Invalid step state")}}e(x,"onSubmit");async function z(p){if(s){let f=await C(p,s?.fields);return s?.handleValidation(f)}return null}e(z,"handleValidation");function O(){l()}return e(O,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:q||M,error:Q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:z,checkFieldUpdates:u,onSubmit:x,back:O}},"useContractAmendment");export{te as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3GB6QH7W.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as i,c as m,d as s,e as f}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as i,c as m,d as s,e as f}from"./chunk-FMP4J4GT.js";import{a as n}from"./chunk-NW3D7CPK.js";import{a}from"./chunk-P37U34EQ.js";import{useState as O}from"react";var B=a(({proposedTerminationDate:e,employeeName:y,employmentId:o,employment:r,render:d})=>{let[t,u]=O(!1),l=m({employmentId:o}),p=n(e).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),c=i({employmentId:o,options:{enabled:t}}),D=s({employmentId:o,date:e}),P=f({employmentId:o,proposedTerminationDate:e,employment:r});return d({leavePoliciesSummaryQuery:l,timeoffQuery:c||{data:{bookedDays:0,timeoffs:[]}},bookedTimeBeforeAndAfterTerminationQuery:D,formattedProposedTerminationDate:p,employeeName:y,proposedTerminationDate:e,summaryData:P??{data:{entitledDays:"0 days",bookedDays:"0 days",usedDays:"0 days",approvedDaysBeforeTermination:"0 days",approvedDaysAfterTermination:"0 days",remainingDays:"0 days",isUnlimitedPto:!1},isLoading:!1,isError:!1,error:null},employment:r,open:t,onOpenChange:a(()=>{u(T=>!T)},"onOpenChange")})},"PaidTimeOffContainer");export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3QG44XYC.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{m as J}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{m as J}from"./chunk-ARNYUYFG.js";import{a as L}from"./chunk-OV6PV4N5.js";import{c as B,n as G}from"./chunk-Y3CJRZLA.js";import{e as A,f as k,g as M}from"./chunk-G2LZFGZA.js";import{b as H}from"./chunk-H2O4CVKF.js";import{a as n,b as d,c as qe}from"./chunk-P37U34EQ.js";var D=d((En,U)=>{"use strict";function we(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}n(we,"isObject");U.exports=we});var X=d((In,V)=>{"use strict";var Fe=typeof global=="object"&&global&&global.Object===Object&&global;V.exports=Fe});var _=d((qn,z)=>{"use strict";var Pe=X(),ke=typeof self=="object"&&self&&self.Object===Object&&self,Me=Pe||ke||Function("return this")();z.exports=Me});var Q=d((wn,K)=>{"use strict";var Le=_(),De=n(function(){return Le.Date.now()},"now");K.exports=De});var Z=d((Pn,Y)=>{"use strict";var _e=/\s/;function $e(e){for(var t=e.length;t--&&_e.test(e.charAt(t)););return t}n($e,"trimmedEndIndex");Y.exports=$e});var ne=d((Mn,ee)=>{"use strict";var Ne=Z(),We=/^\s+/;function Be(e){return e&&e.slice(0,Ne(e)+1).replace(We,"")}n(Be,"baseTrim");ee.exports=Be});var $=d((Dn,te)=>{"use strict";var Ae=_(),He=Ae.Symbol;te.exports=He});var se=d((_n,ie)=>{"use strict";var re=$(),oe=Object.prototype,Ge=oe.hasOwnProperty,Je=oe.toString,O=re?re.toStringTag:void 0;function Ue(e){var t=Ge.call(e,O),r=e[O];try{e[O]=void 0;var i=!0}catch{}var u=Je.call(e);return i&&(t?e[O]=r:delete e[O]),u}n(Ue,"getRawTag");ie.exports=Ue});var ce=d((Nn,ae)=>{"use strict";var Ve=Object.prototype,Xe=Ve.toString;function ze(e){return Xe.call(e)}n(ze,"objectToString");ae.exports=ze});var le=d((Bn,de)=>{"use strict";var ue=$(),Ke=se(),Qe=ce(),Ye="[object Null]",Ze="[object Undefined]",fe=ue?ue.toStringTag:void 0;function en(e){return e==null?e===void 0?Ze:Ye:fe&&fe in Object(e)?Ke(e):Qe(e)}n(en,"baseGetTag");de.exports=en});var pe=d((Hn,me)=>{"use strict";function nn(e){return e!=null&&typeof e=="object"}n(nn,"isObjectLike");me.exports=nn});var be=d((Jn,ge)=>{"use strict";var tn=le(),rn=pe(),on="[object Symbol]";function sn(e){return typeof e=="symbol"||rn(e)&&tn(e)==on}n(sn,"isSymbol");ge.exports=sn});var Ce=d((Vn,xe)=>{"use strict";var an=ne(),ve=D(),cn=be(),ye=NaN,un=/^[-+]0x[0-9a-f]+$/i,fn=/^0b[01]+$/i,dn=/^0o[0-7]+$/i,ln=parseInt;function mn(e){if(typeof e=="number")return e;if(cn(e))return ye;if(ve(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ve(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=an(e);var r=fn.test(e);return r||dn.test(e)?ln(e.slice(2),r?2:8):un.test(e)?ye:+e}n(mn,"toNumber");xe.exports=mn});var Se=d((zn,Te)=>{"use strict";var pn=D(),N=Q(),he=Ce(),gn="Expected a function",bn=Math.max,vn=Math.min;function yn(e,t,r){var i,u,b,l,s,a,p=0,E=!1,f=!1,x=!0;if(typeof e!="function")throw new TypeError(gn);t=he(t)||0,pn(r)&&(E=!!r.leading,f="maxWait"in r,b=f?bn(he(r.maxWait)||0,t):b,x="trailing"in r?!!r.trailing:x);function C(o){var g=i,y=u;return i=u=void 0,p=o,l=e.apply(y,g),l}n(C,"invokeFunc");function R(o){return p=o,s=setTimeout(m,t),E?C(o):l}n(R,"leadingEdge");function q(o){var g=o-a,y=o-p,c=t-g;return f?vn(c,b-y):c}n(q,"remainingWait");function T(o){var g=o-a,y=o-p;return a===void 0||g>=t||g<0||f&&y>=b}n(T,"shouldInvoke");function m(){var o=N();if(T(o))return S(o);s=setTimeout(m,q(o))}n(m,"timerExpired");function S(o){return s=void 0,x&&i?C(o):(i=u=void 0,l)}n(S,"trailingEdge");function I(){s!==void 0&&clearTimeout(s),p=0,i=a=u=s=void 0}n(I,"cancel");function w(){return s===void 0?l:S(N())}n(w,"flush");function j(){var o=N(),g=T(o);if(i=arguments,u=this,a=o,g){if(s===void 0)return R(a);if(f)return clearTimeout(s),s=setTimeout(m,t),C(a)}return s===void 0&&(s=setTimeout(m,t)),l}return n(j,"debounced"),j.cancel=I,j.flush=w,j}n(yn,"debounce");Te.exports=yn});import{useState as hn,useCallback as Tn,useEffect as Ee,useRef as Sn}from"react";var Oe=qe(Se(),1);import{useCallback as xn,useEffect as Cn,useRef as je}from"react";function W(e,t){let r=je(e);Cn(()=>{r.current=e},[e]);let i=je((0,Oe.default)(u=>{r.current(u)},t)).current;return xn(u=>{i(u)},[i])}n(W,"useDebounce");import{Fragment as On,jsx as h,jsxs as Re}from"react/jsx-runtime";var jn=n(({description:e,showConversion:t,targetCurrency:r,className:i,onClick:u})=>{let{components:b}=H(),l=t?`Hide ${r} conversion`:`Show ${r} conversion`,s=b?.button;if(!s)throw new Error("Button component not found");return Re("span",{className:i,children:[h(G,{as:"span",children:e})," ",h(s,{className:`${i.replace("-description","-button")}`,"data-type":"inline",onClick:u,children:l})]})},"DescriptionWithConversion"),ut=n(({sourceCurrency:e,targetCurrency:t,mainFieldName:r,conversionFieldName:i,conversionProperties:u,classNamePrefix:b,description:l,conversionType:s="spread",...a})=>{let[p,E]=hn(!1),{setValue:f,watch:x}=B(),C=x(r||a.name),R=Sn(!0),q=e&&t&&e!==t,{mutateAsync:T}=J({type:s}),m=`${a.name}_converted`;Ee(()=>{f(m,r||a.name)},[f,r,a.name,m]),Ee(()=>{if(R.current){R.current=!1;return}f(i,"")},[e,i,f]);let S=Tn(async(c,v,F)=>{if(!(!c||isNaN(c)||c<=0))return T({source_currency:v,target_currency:F,amount:c})},[T]),I=W(async c=>{let v=k(c),P=1/((await S(v,t,e))?.data?.data.conversion_data?.exchange_rate??1),Ie=A(Number(v)*P);f(i,M(Ie))},500),w=W(async c=>{let v=k(c),P=(await S(v,t,e))?.data?.data.conversion_data.target_amount;f(r||a.name,M(P))},500),j=n(c=>{f(m,r||a.name),p&&I(c.target.value)},"handleMainFieldChange"),o=n(c=>{f(m,i),w(c.target.value)},"handleConversionFieldChange"),g=n(c=>{c.preventDefault(),E(v=>!v),!p&&C&&I(C)},"toggleConversion"),y=q?h(jn,{targetCurrency:t,description:l,showConversion:p,className:`${b}-description`,onClick:g}):l;return Re(On,{children:[h(L,{...a,name:r||a.name,additionalProps:{currency:e},description:y,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:j}),p&&h(L,{additionalProps:{currency:t},name:i,label:u?.label||"Conversion",description:u?.description,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:o}),h("input",{type:"hidden",name:m,value:x(m)||r||a.name})]})},"CurrencyConversionField");export{ut as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3YP27SZK.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as ct}from"./chunk-VAIBLWOY.js";import{a as lt}from"./chunk-SRXYQVLN.js";import{c as mt}from"./chunk-KMLI4ISS.js";import{a as rt}from"./chunk-GNDFT5KG.js";import{a as Ge,b as He,c as We,f as $e,g as ze,h as Qe,i as Xe,j as Ye,k as Ze,l as et,n as tt,o as nt,p as at,q as it,u as st}from"./chunk-ARNYUYFG.js";import{a as xe,b as Te,c as Ie,e as Ke,f as Ue}from"./chunk-K7HS55JD.js";import{b as L,h as _,i as A,k as ae,u as F}from"./chunk-G2LZFGZA.js";import{a as ot}from"./chunk-JDIKYCN6.js";import{a as d}from"./chunk-P37U34EQ.js";import{useCallback as Ut,useEffect as ie,useMemo as l,useRef as Gt,useState as G}from"react";import Ht from"lodash.mergewith";import{jsx as dt}from"react/jsx-runtime";var Wt={employment_basic_information:"basic_information",contract_details:"contract_details"},$t={select_country:null,basic_information:"employment_basic_information",engagement_agreement_details:null,contract_details:"contract_details",benefits:null,employment_agreement_preview:null,review:null},zt=d(({isLoadingBasicInformationForm:u,isLoadingContractDetailsForm:q,isLoadingEngagementAgreementDetails:H,isLoadingEmploymentAgreementPreview:W,isLoadingEmploymentEngagementAgreementDetails:a,isLoadingEmployment:k,isLoadingBenefitsOffersSchema:R,isLoadingBenefitOffers:o,isLoadingCompany:N,isLoadingCountries:i,employmentStatus:v,employmentId:s,currentStepName:J,basicInformationFields:w,contractDetailsFields:$,arePreOnboardingRequirementsFulfilled:z,isLoadingOnboardingReservesStatus:Q})=>{let B=u||q||H||a||k||R||o||N||i||W,h=v&&Te.includes(v),X=v&&!Ie.includes(v)&&z&&!Q,x=!!(s&&h&&J!=="review"),Y=B||x,f=!!(x&&!B&&w.length>0&&$.length>0);return{isLoading:Y,isNavigatingToReview:f,isEmploymentReadOnly:h,canInvite:X}},"getLoadingStates"),dn=d(({employmentId:u,companyId:q,countryCode:H,type:W,options:a,skipSteps:k,externalId:R,initialValues:o})=>{let{updateErrorContext:N}=mt({flow:"onboarding",metadata:{employmentId:u,companyId:q,isUpdating:!!u}}),[i,v]=G(u),[s,J]=G(H||null),[w,$]=G(!1),[z,Q]=G(!1),B=a?.features?.includes("dynamic_steps")??!1,h=a?.features?.includes("ea_preview")&&z,{steps:X,stepsArray:x}=l(()=>xe({includeSelectCountry:!k?.includes("select_country"),includeEngagementAgreementDetails:w,useDynamicSteps:B,useEAPreview:h}),[w,k,B,h]),Y=Ut(e=>{N({step:e.name})},[N]),{fieldValues:f,stepState:t,setFieldValues:ut,previousStep:ft,nextStep:pt,goToStep:Z,setStepValues:se}=ot(X,Y),{data:T,isLoading:re}=We(i,{enabled:!!(i&&a?.features?.includes("dynamic_steps"))}),gt=l(()=>({...o,...T,...t.values?.engagement_agreement_details,...f}),[T,o,t.values?.engagement_agreement_details,f]),{data:c,isLoading:oe}=at(s,gt,{jsfModify:a?.jsfModify,queryOptions:{enabled:!!(s&&a?.features?.includes("dynamic_steps"))}});ie(()=>{let e=!!(c?.fields&&c.fields.length>0);e!==w&&$(e)},[c?.fields,w]);let I=Gt({select_country:{},basic_information:{},contract_details:{},benefits:{},engagement_agreement_details:{},employment_agreement_preview:{}}),{data:p,isLoading:le,refetch:yt}=rt({employmentId:i,queryParams:{exclude_files:!0}});u&&p?.country?.code&&!s&&J(p.country.code);let{data:ce,isLoading:me}=He(i),{data:K,isLoading:de,refetch:_t}=Ge(q),bt=a?.features?.includes("onboarding_reserves")&&t.currentStep.name==="review"||!1,{data:St,isLoading:ue}=nt(q,i,bt),Et=!!(a?.features?.includes("pre_onboarding_requirements")&&i),{data:U,isLoading:fe}=it(i,{queryOptions:{enabled:Et}}),pe=l(()=>fe?!1:!U||U.length===0?!0:U.every(e=>e.status==="finished"),[U,fe]),{selectCountryForm:D,isLoading:ge,countries:ye}=et({jsfModify:a?.jsfModify?.select_country,queryOptions:{enabled:t.currentStep.name==="select_country"}}),_e=l(()=>!!ye?.find(e=>e.value===s)?.employment_agreement_preview_available,[ye,s]);ie(()=>{Q(_e)},[_e]);let Ft=!!i&&h&&t.currentStep.name==="employment_agreement_preview",{data:vt,isLoading:be}=st(i,{queryOptions:{enabled:Ft}}),Se=Qe(a),Ee=Xe(s,a),Fe=Ze(a),ve=Ye(),we=tt(),{mutateAsync:wt}=L(Se),{mutateAsync:he}=L(Ee),{mutateAsync:ht}=L(Fe),{mutateAsync:Ct}=L(ve),{mutateAsync:Vt}=L(we),Ot=$t[t.currentStep.name]||"employment_basic_information",Pt=Wt[Ot],Mt=p?.[Pt]||{},Ce=d(({form:e,options:r={},query:m={},jsonSchemaVersion:M})=>{let te=Object.keys(f).length>0?{...o,...t.values?.[t.currentStep.name],...f}:{...o,...Mt};return $e({countryCode:s,form:e,fieldValues:te,query:m,options:{...r,queryOptions:{enabled:r.queryOptions?.enabled??!0}},jsonSchemaVersion:M})},"useJSONSchema"),Lt=!!(s&&(t.currentStep.name==="basic_information"||u)),At=!!(s&&(t.currentStep.name==="contract_details"||u)),{data:g,isLoading:Ve}=Ce({form:"employment_basic_information",options:{jsfModify:a?.jsfModify?.basic_information,queryOptions:{enabled:Lt}},jsonSchemaVersion:Ue(a)}),C=a?.jsfModify?.contract_details?.fields?.annual_gross_salary,ee=C&&typeof C=="object"&&"presentation"in C?C.presentation:void 0,Oe=a?.jsfModify?.contract_details?.fields?.equity_compensation,qt=l(()=>({fields:{annual_gross_salary:{...C,presentation:{annual_gross_salary_conversion_properties:{label:ee?.annual_gross_salary_conversion_properties?.label,description:ee?.annual_gross_salary_conversion_properties?.description},desiredCurrency:K?.desired_currency,Component:d(e=>dt(lt,{desiredCurrency:K?.desired_currency||"",...e}),"Component")}},equity_compensation:{...Oe,presentation:{calculateDynamicProperties:d((e,r)=>{let m=e.equity_compensation?.offer_equity_compensation,M=r?.meta?.cost;return{extra:dt(ct,{offerEquity:m,equityCost:M})}},"calculateDynamicProperties")}}}}),[C,ee,K?.desired_currency,Oe]),Rt=Ke(a,s),{data:y,isLoading:Pe}=Ce({form:"contract_details",query:{employment_id:i},options:{jsfModify:{...a?.jsfModify?.contract_details,fields:{...a?.jsfModify?.contract_details?.fields,...qt.fields}},queryOptions:{enabled:At}},jsonSchemaVersion:Rt}),{data:b,isLoading:Me}=ze(i,f,a),Le=l(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...f};return Ht({},ce,e)}return{}},[t.currentStep.name,ce,t.values,f]),n=l(()=>({select_country:D?.fields||[],basic_information:g?.fields||[],engagement_agreement_details:c?.fields||[],contract_details:y?.fields||[],benefits:b?.fields||[],employment_agreement_preview:[],review:[]}),[D?.fields,g?.fields,y?.fields,b?.fields,c?.fields]),Bt={select_country:null,basic_information:g?.meta["x-jsf-fieldsets"],engagement_agreement_details:c?.meta["x-jsf-fieldsets"],contract_details:y?.meta["x-jsf-fieldsets"],benefits:null,employment_agreement_preview:null,review:null},Dt={select_country:D?.meta?.["x-jsf-presentation"],basic_information:g?.meta?.["x-jsf-presentation"],engagement_agreement_details:c?.meta?.["x-jsf-presentation"],contract_details:y?.meta?.["x-jsf-presentation"],benefits:b?.meta?.["x-jsf-presentation"],employment_agreement_preview:null,review:null},{country:Ae,basic_information:qe={},contract_details:Re={},status:Be}=p||{},De=Ae?.code,je=t.currentStep.name,V=l(()=>A(n.select_country,{country:s||De||""}),[n.select_country,s,De]),O=l(()=>{let e={...o,...qe};return A(n.basic_information,e)},[n.basic_information,qe,o]),j=l(()=>{let e={...o,...T};return A(n.engagement_agreement_details,e)},[n.engagement_agreement_details,o,T]),E=l(()=>{let e={...o,...Re};return A(n.contract_details,e)},[n.contract_details,Re,o]),P=l(()=>{let e={...o,...Le};return A(n.benefits,e)},[n.benefits,Le,o]),jt=l(()=>p?{select_country:V,basic_information:ae(n.basic_information,O),engagement_agreement_details:j,contract_details:p?.contract_details!==null?ae(n.contract_details,E):E,benefits:P,employment_agreement_preview:{}}:{select_country:V,basic_information:O,contract_details:E,benefits:P,employment_agreement_preview:{}},[V,O,j,E,P,p,n]),{isLoading:kt,isNavigatingToReview:ke,isEmploymentReadOnly:Nt,canInvite:Jt}=l(()=>zt({isLoadingBasicInformationForm:Ve,isLoadingContractDetailsForm:Pe,isLoadingEngagementAgreementDetails:oe,isLoadingEmploymentEngagementAgreementDetails:re,isLoadingEmployment:le,isLoadingBenefitsOffersSchema:Me,isLoadingBenefitOffers:me,isLoadingCompany:de,isLoadingCountries:ge,isLoadingEmploymentAgreementPreview:be,employmentId:u,employmentStatus:Be,basicInformationFields:n.basic_information,contractDetailsFields:n.contract_details,currentStepName:je,arePreOnboardingRequirementsFulfilled:pe,isLoadingOnboardingReservesStatus:ue}),[Ve,Pe,oe,re,le,Me,me,de,ge,be,u,Be,n.basic_information,n.contract_details,je,pe,ue]);ie(()=>{ke&&(I.current={select_country:F(V,n.select_country,{skipMoneyConversion:!0}),basic_information:F(O,n.basic_information,{skipMoneyConversion:!0}),engagement_agreement_details:F(j,n.engagement_agreement_details,{skipMoneyConversion:!0}),contract_details:F(E,n.contract_details,{skipMoneyConversion:!0}),benefits:F(P,n.benefits,{skipMoneyConversion:!0}),employment_agreement_preview:{}},se({select_country:V,basic_information:O,contract_details:E,benefits:P,engagement_agreement_details:j,employment_agreement_preview:{},review:{}}),Z("review"))},[O,P,E,j,Z,ke,V,se,n.basic_information,n.benefits,n.contract_details,n.select_country,n.engagement_agreement_details]);let Ne=d(async e=>D&&t.currentStep.name==="select_country"?e:g&&t.currentStep.name==="basic_information"?await _(e,g?.fields,{isPartialValidation:!1}):c&&t.currentStep.name==="engagement_agreement_details"?await _(e,c?.fields,{isPartialValidation:!1}):y&&t.currentStep.name==="contract_details"?await _(e,y?.fields,{isPartialValidation:!1}):b&&t.currentStep.name==="benefits"?await _(e,b?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function xt(e){let r=t.currentStep.name,m=await Ne(e);switch(r in I.current&&(I.current[r]=F(m,n[r])),_t(),t.currentStep.name){case"select_country":return J(m.country),Promise.resolve({data:{countryCode:m.country}});case"basic_information":{let M=!i&&s,Je=i&&s&&p?.country&&p?.country.code!==s;if(M||Je){let te={basic_information:m,type:W,country_code:s,external_id:R};try{let S=await wt(te);if(S.error)return S;if(S.data){let ne=S.data?.data?.employment?.id;return ne&&(v(ne),await Vt({employmentId:ne,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),S}}catch(S){throw console.error("Error creating onboarding:",S),S}}else if(i)return he({employmentId:i,basic_information:m,pricing_plan_details:{frequency:"monthly"},external_id:R});return}case"engagement_agreement_details":return Ct({employmentId:i,engagement_agreement_details:m});case"contract_details":return he({employmentId:i,external_id:R,...{contract_details:m,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return ht({employmentId:i,...m})}}d(xt,"onSubmit");function Tt(){ft()}d(Tt,"back");function It(){pt()}d(It,"next");function Kt(e){Z(e)}return d(Kt,"goTo"),{employmentId:i,options:{features:a?.features},creditRiskStatus:K?.default_legal_entity_credit_risk_status,onboardingReservesStatus:St,fieldValues:f,stepState:t,fields:n[t.currentStep.name],isLoading:kt,isSubmitting:Se.isPending||Ee.isPending||Fe.isPending||ve.isPending||we.isPending,initialValues:jt,handleValidation:d(async e=>{if(t.currentStep.name==="select_country")return D.handleValidation(e);if(t.currentStep.name==="benefits"&&b){let r=await _(e,b?.fields,{isPartialValidation:!1});return b?.handleValidation(r)}if(g&&t.currentStep.name==="basic_information"){let r=await _(e,g?.fields,{isPartialValidation:!1});return g?.handleValidation(r)}if(c&&t.currentStep.name==="engagement_agreement_details"){let r=await _(e,c?.fields,{isPartialValidation:!1});return c?.handleValidation(r)}if(y&&t.currentStep.name==="contract_details"){let r=await _(e,y?.fields,{isPartialValidation:!1});return y?.handleValidation(r)}return null},"handleValidation"),checkFieldUpdates:ut,parseFormValues:Ne,onSubmit:xt,back:Tt,next:It,goTo:Kt,meta:{fields:I.current,fieldsets:Bt[t.currentStep.name],presentation:Dt[t.currentStep.name]},refetchEmployment:yt,employment:p,isEmploymentReadOnly:Nt,canInvite:Jt,steps:x,selectedCountry:s?{code:s,name:Ae?.name}:null,employmentAgreementPreview:vt}},"useOnboarding");export{dn as a};
|
|
2
|
+
//# sourceMappingURL=chunk-5LJ5IFXF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Onboarding/hooks.tsx"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n buildSteps,\n StepKeys,\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 useEmploymentAgreementPreview,\n useEmploymentEngagementAgreementDetails,\n useEmploymentOnboardingReservesStatus,\n useEngagementAgreementDetailsSchema,\n useGetPreOnboardingRequirements,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpdateEmploymentEngagementAgreementDetails,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n engagement_agreement_details: null,\n contract_details: 'contract_details',\n benefits: null,\n employment_agreement_preview: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentAgreementPreview,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEngagementAgreementDetails: boolean;\n isLoadingEmploymentEngagementAgreementDetails: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n isLoadingEmploymentAgreementPreview: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n arePreOnboardingRequirementsFulfilled: boolean;\n isLoadingOnboardingReservesStatus: boolean;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEngagementAgreementDetails ||\n isLoadingEmploymentEngagementAgreementDetails ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries ||\n isLoadingEmploymentAgreementPreview;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus) &&\n arePreOnboardingRequirementsFulfilled &&\n !isLoadingOnboardingReservesStatus;\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\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n\n const [\n includeEngagementAgreementDetails,\n setIncludeEngagementAgreementDetails,\n ] = useState<boolean>(false);\n\n const [\n includeEmploymentAgreementPreview,\n setIncludeEmploymentAgreementPreview,\n ] = useState<boolean>(false);\n\n const useDynamicSteps = options?.features?.includes('dynamic_steps') ?? false;\n const useEAPreview =\n options?.features?.includes('ea_preview') &&\n includeEmploymentAgreementPreview;\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEngagementAgreementDetails,\n useDynamicSteps,\n useEAPreview,\n }),\n [\n includeEngagementAgreementDetails,\n skipSteps,\n useDynamicSteps,\n useEAPreview,\n ],\n );\n\n const onStepChange = useCallback(\n (step: Step<StepKeys>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps, onStepChange);\n\n const {\n data: employmentEngagementAgreementDetails,\n isLoading: isLoadingEmploymentEngagementAgreementDetails,\n } = useEmploymentEngagementAgreementDetails(internalEmploymentId, {\n enabled: Boolean(\n !!internalEmploymentId && options?.features?.includes('dynamic_steps'),\n ),\n });\n\n const engagementAgreementDetailsFieldValues = useMemo(() => {\n return {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n ...stepState.values?.engagement_agreement_details,\n ...fieldValues,\n };\n }, [\n employmentEngagementAgreementDetails,\n onboardingInitialValues,\n stepState.values?.engagement_agreement_details,\n fieldValues,\n ]);\n\n const {\n data: engagementAgreementDetailsSchema,\n isLoading: isLoadingEngagementAgreementDetails,\n } = useEngagementAgreementDetailsSchema(\n internalCountryCode as string,\n engagementAgreementDetailsFieldValues,\n {\n jsfModify: options?.jsfModify,\n queryOptions: {\n enabled: Boolean(\n !!internalCountryCode && options?.features?.includes('dynamic_steps'),\n ),\n },\n },\n );\n\n // logic to include the engagement agreement details step based on the schema fields\n useEffect(() => {\n const hasFields = Boolean(\n engagementAgreementDetailsSchema?.fields &&\n engagementAgreementDetailsSchema.fields.length > 0,\n );\n if (hasFields !== includeEngagementAgreementDetails) {\n setIncludeEngagementAgreementDetails(hasFields);\n }\n }, [\n engagementAgreementDetailsSchema?.fields,\n includeEngagementAgreementDetails,\n ]);\n\n const fieldsMetaRef = useRef<{\n select_country: NestedMeta;\n basic_information: NestedMeta;\n contract_details: NestedMeta;\n benefits: NestedMeta;\n engagement_agreement_details: NestedMeta;\n employment_agreement_preview: NestedMeta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n engagement_agreement_details: {},\n employment_agreement_preview: {},\n });\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const {\n data: onboardingReservesStatus,\n isLoading: isLoadingOnboardingReservesStatus,\n } = useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const isPreOnboardingRequirementsEnabled = Boolean(\n options?.features?.includes('pre_onboarding_requirements') &&\n !!internalEmploymentId,\n );\n\n const { data: requirements, isLoading: isLoadingPreOnboardingRequirements } =\n useGetPreOnboardingRequirements(internalEmploymentId as string, {\n queryOptions: {\n enabled: isPreOnboardingRequirementsEnabled,\n },\n });\n\n const arePreOnboardingRequirementsFulfilled = useMemo(() => {\n // While loading, block the invite\n if (isLoadingPreOnboardingRequirements) {\n return false;\n }\n // If no requirements data at all, allow invite (don't block the flow)\n if (!requirements || requirements.length === 0) {\n return true;\n }\n\n // Check if all requirements are finished (even if there's an error, check cached data)\n return requirements.every(\n (requirement) => requirement.status === 'finished',\n );\n }, [requirements, isLoadingPreOnboardingRequirements]);\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const isEmploymentAgreementPreviewAvailable = useMemo(() => {\n return Boolean(\n countries?.find((country) => country.value === internalCountryCode)\n ?.employment_agreement_preview_available,\n );\n }, [countries, internalCountryCode]);\n\n useEffect(() => {\n setIncludeEmploymentAgreementPreview(isEmploymentAgreementPreviewAvailable);\n }, [isEmploymentAgreementPreviewAvailable]);\n\n const isEmploymentEnabled =\n Boolean(internalEmploymentId) &&\n useEAPreview &&\n stepState.currentStep.name === 'employment_agreement_preview';\n\n const {\n data: employmentAgreementPreview,\n isLoading: isLoadingEmploymentAgreementPreview,\n } = useEmploymentAgreementPreview(internalEmploymentId, {\n queryOptions: {\n enabled: isEmploymentEnabled,\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateEngagementAgreementMutation =\n useUpdateEmploymentEngagementAgreementDetails();\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n // TODO: refactor all uses in onboarding together to avoid having mixed behaviour\n const { mutateAsync: updateEngagementAgreementMutationAsync } =\n mutationToPromise(updateEngagementAgreementMutation);\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n 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 StepKeys], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n employment_agreement_preview: [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n engagementAgreementDetailsSchema?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n employment_agreement_preview: null,\n review: null,\n };\n\n const stepPresentation: Record<\n StepKeys,\n Record<string, unknown> | null | undefined\n > = {\n select_country: selectCountryForm?.meta?.['x-jsf-presentation'],\n basic_information: basicInformationForm?.meta?.['x-jsf-presentation'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta?.['x-jsf-presentation'],\n contract_details: contractDetailsForm?.meta?.['x-jsf-presentation'],\n benefits: benefitOffersSchema?.meta?.['x-jsf-presentation'],\n employment_agreement_preview: 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 engagementAgreementDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n };\n\n return getInitialValues(\n stepFields.engagement_agreement_details,\n initialValues,\n );\n }, [\n stepFields.engagement_agreement_details,\n onboardingInitialValues,\n employmentEngagementAgreementDetails,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n employment_agreement_preview: {},\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n employment_agreement_preview: {},\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n engagementAgreementDetailsInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n isLoadingEmploymentAgreementPreview,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n isLoadingEmploymentAgreementPreview,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n { skipMoneyConversion: true },\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n { skipMoneyConversion: true },\n ),\n engagement_agreement_details: prettifyFormValues(\n engagementAgreementDetailsInitialValues,\n stepFields.engagement_agreement_details,\n { skipMoneyConversion: true },\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n { skipMoneyConversion: true },\n ),\n employment_agreement_preview: {},\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n employment_agreement_preview: {},\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n engagementAgreementDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n stepFields.engagement_agreement_details,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return 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 engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n return await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\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 const parsedValues = await parseFormValues(values);\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\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 'engagement_agreement_details': {\n return updateEngagementAgreementMutationAsync({\n employmentId: internalEmploymentId as string,\n engagement_agreement_details: parsedValues,\n });\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: StepKeys) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Onboarding flow options (feature flags)\n */\n options: {\n features: options?.features,\n },\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateEngagementAgreementMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: 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 engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n { isPartialValidation: false },\n );\n return engagementAgreementDetailsSchema?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\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 presentation: stepPresentation[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 * Steps array for dynamic step navigation\n * When 'dynamic_steps' feature is enabled:\n * - Returns all steps including hidden ones with their original indices\n * - Consumers must filter by `visible` property\n * When disabled (default):\n * - Returns only visible steps with sequential indices\n * - Maintains backwards compatibility with existing implementations\n * @returns {Array<{name: string, visible: boolean, index: number, label: string}>}\n */\n steps: stepsArray,\n /**\n * Selected country for the onboarding\n * @returns {name: string, code: string} | null\n */\n selectedCountry: internalCountryCode\n ? {\n code: internalCountryCode,\n name: country?.name,\n }\n : null,\n\n /**\n * Employment agreement preview\n */\n employmentAgreementPreview,\n };\n};\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEngagementAgreementDetails","isLoadingEmploymentAgreementPreview","isLoadingEmploymentEngagementAgreementDetails","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","arePreOnboardingRequirementsFulfilled","isLoadingOnboardingReservesStatus","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","includeEngagementAgreementDetails","setIncludeEngagementAgreementDetails","includeEmploymentAgreementPreview","setIncludeEmploymentAgreementPreview","useDynamicSteps","useEAPreview","steps","stepsArray","useMemo","buildSteps","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employmentEngagementAgreementDetails","useEmploymentEngagementAgreementDetails","engagementAgreementDetailsFieldValues","engagementAgreementDetailsSchema","useEngagementAgreementDetailsSchema","useEffect","hasFields","fieldsMetaRef","useRef","employment","refetchEmployment","useEmploymentQuery","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","isOnboardingReservesEnabled","onboardingReservesStatus","useEmploymentOnboardingReservesStatus","isPreOnboardingRequirementsEnabled","requirements","isLoadingPreOnboardingRequirements","useGetPreOnboardingRequirements","requirement","selectCountryForm","countries","useCountriesSchemaField","isEmploymentAgreementPreviewAvailable","country","isEmploymentEnabled","employmentAgreementPreview","useEmploymentAgreementPreview","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateEngagementAgreementMutation","useUpdateEmploymentEngagementAgreementDetails","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateEngagementAgreementMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","getBasicInformationSchemaVersion","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","stepPresentation","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","engagementAgreementDetailsInitialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{f as m}from"./chunk-G2LZFGZA.js";import{b as u}from"./chunk-626FTNKA.js";import{a}from"./chunk-P37U34EQ.js";import{createHeadlessForm as F,modify as p}from"@remoteoss/remote-json-schema-form-kit";var O=a((e,o,n)=>{if(n&&n.jsfModify){let{required:r,allOf:i,...t}=n.jsfModify,{schema:s,warnings:d}=p(e,{...t,muteLogging:!0});if(d&&d.length>0&&console.warn("jsfModify warnings:",d),e=s,r){let f=Array.isArray(s.required)?s.required:[];typeof r=="function"?e.required=r(f):e.required=[...f,...r]}i&&(e.allOf=[...Array.isArray(s.allOf)?s.allOf:[],...i])}let l={};o&&(l=u(e.properties||{},"money").reduce((i,t)=>(i[t]=m(o[t]),i),{}));let y=JSON.parse(JSON.stringify({...o,...l}));return{meta:{"x-jsf-fieldsets":e["x-jsf-fieldsets"]||e["x-rmt-flatFieldsets"],"x-jsf-presentation":e["x-jsf-presentation"]},...F(e,{initialValues:y})}},"createHeadlessForm");export{O as a};
|
|
2
|
+
//# sourceMappingURL=chunk-6JW4ERRK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/createHeadlessForm.tsx"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport {\n JSFModify,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify },\n): JSONSchemaFormResultWithFieldsets => {\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n // muteLogging: true suppresses the generic library log; we surface the\n // actual warnings ourselves when present so they're actionable.\n const { schema, warnings } = modify(jsfSchema, {\n ...modifyConfig,\n muteLogging: true,\n } as Parameters<typeof modify>[1]);\n if (warnings && warnings.length > 0) {\n // eslint-disable-next-line no-console\n console.warn('jsfModify warnings:', warnings);\n }\n jsfSchema = schema;\n\n if (required) {\n const baseRequired = Array.isArray(schema.required)\n ? schema.required\n : [];\n\n if (typeof required === 'function') {\n // Function: allows full control over required fields\n jsfSchema.required = required(baseRequired);\n } else {\n // Array: merge with existing required fields (backwards compatible)\n jsfSchema.required = [...baseRequired, ...required];\n }\n }\n\n if (allOf) {\n jsfSchema.allOf = [\n ...(Array.isArray(schema.allOf) ? schema.allOf : []),\n ...allOf,\n ];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n 'x-jsf-fieldsets'
|
|
1
|
+
{"version":3,"sources":["../src/common/createHeadlessForm.tsx"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport {\n JSFModify,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify },\n): JSONSchemaFormResultWithFieldsets => {\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n // muteLogging: true suppresses the generic library log; we surface the\n // actual warnings ourselves when present so they're actionable.\n const { schema, warnings } = modify(jsfSchema, {\n ...modifyConfig,\n muteLogging: true,\n } as Parameters<typeof modify>[1]);\n if (warnings && warnings.length > 0) {\n // eslint-disable-next-line no-console\n console.warn('jsfModify warnings:', warnings);\n }\n jsfSchema = schema;\n\n if (required) {\n const baseRequired = Array.isArray(schema.required)\n ? schema.required\n : [];\n\n if (typeof required === 'function') {\n // Function: allows full control over required fields\n jsfSchema.required = required(baseRequired);\n } else {\n // Array: merge with existing required fields (backwards compatible)\n jsfSchema.required = [...baseRequired, ...required];\n }\n }\n\n if (allOf) {\n jsfSchema.allOf = [\n ...(Array.isArray(schema.allOf) ? schema.allOf : []),\n ...allOf,\n ];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n // Support for both x-jsf-fieldsets and x-rmt-flatFieldsets\n // before x-jsf-fieldsets was used, but it was migrated to x-rmt-flatFieldsets\n // this allows to everything to keep working as expected without renaming the whole thing\n 'x-jsf-fieldsets':\n (jsfSchema['x-jsf-fieldsets'] as JSFFieldset) ||\n (jsfSchema['x-rmt-flatFieldsets'] as JSFFieldset),\n 'x-jsf-presentation': jsfSchema['x-jsf-presentation'] as\n | Record<string, unknown>\n | undefined,\n },\n ...baseCreateHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n};\n"],"mappings":"mHACA,OACE,sBAAsBA,EACtB,UAAAC,MACK,yCAgBA,IAAMC,EAAqBC,EAAA,CAChCC,EACAC,EACAC,IACsC,CACtC,GAAIA,GAAWA,EAAQ,UAAW,CAChC,GAAM,CAAE,SAAAC,EAAU,MAAAC,EAAO,GAAGC,CAAa,EAAIH,EAAQ,UAG/C,CAAE,OAAAI,EAAQ,SAAAC,CAAS,EAAIC,EAAOR,EAAW,CAC7C,GAAGK,EACH,YAAa,EACf,CAAiC,EAOjC,GANIE,GAAYA,EAAS,OAAS,GAEhC,QAAQ,KAAK,sBAAuBA,CAAQ,EAE9CP,EAAYM,EAERH,EAAU,CACZ,IAAMM,EAAe,MAAM,QAAQH,EAAO,QAAQ,EAC9CA,EAAO,SACP,CAAC,EAED,OAAOH,GAAa,WAEtBH,EAAU,SAAWG,EAASM,CAAY,EAG1CT,EAAU,SAAW,CAAC,GAAGS,EAAc,GAAGN,CAAQ,CAEtD,CAEIC,IACFJ,EAAU,MAAQ,CAChB,GAAI,MAAM,QAAQM,EAAO,KAAK,EAAIA,EAAO,MAAQ,CAAC,EAClD,GAAGF,CACL,EAEJ,CAEA,IAAIM,EAAiD,CAAC,EAElDT,IAEFS,EADoBC,EAAiBX,EAAU,YAAc,CAAC,EAAG,OAAO,EAC1C,OAC5B,CAACY,EAAKC,KACJD,EAAIC,CAAK,EAAIC,EAAeb,EAAYY,CAAK,CAAC,EACvCD,GAET,CAAC,CACH,GAOF,IAAMG,EAAgB,KAAK,MACzB,KAAK,UAAU,CACb,GAAGd,EACH,GAAGS,CACL,CAAC,CACH,EAEA,MAAO,CACL,KAAM,CAIJ,kBACGV,EAAU,iBAAiB,GAC3BA,EAAU,qBAAqB,EAClC,qBAAsBA,EAAU,oBAAoB,CAGtD,EACA,GAAGgB,EAAuBhB,EAAW,CACnC,cAAAe,CACF,CAAC,CACH,CACF,EAjFkC","names":["baseCreateHeadlessForm","modify","createHeadlessForm","__name","jsfSchema","fieldValues","options","required","allOf","modifyConfig","schema","warnings","modify","baseRequired","moneyFieldsData","findFieldsByType","acc","field","convertToCents","initialValues","baseCreateHeadlessForm"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{e as K,f as p,g as y}from"./chunk-K7HS55JD.js";import{a as B}from"./chunk-WVJDCDGZ.js";import{a as U}from"./chunk-ID4S6FWD.js";import{a as d}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{e as K,f as p,g as y}from"./chunk-K7HS55JD.js";import{a as B}from"./chunk-WVJDCDGZ.js";import{a as U}from"./chunk-ID4S6FWD.js";import{a as d}from"./chunk-6JW4ERRK.js";import{A as q,D as w,G as P,H as v,J as S,M as V,O as x,T as j,Y as D,da as A,g,i as f,ia as R,j as b,ja as I,l as h,m as E,p as F,q as C,x as O,z as _}from"./chunk-BYDNNJHZ.js";import{e as s}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as u,useQuery as l}from"@tanstack/react-query";var re=t(e=>{let{client:r}=s();return l({queryKey:["company",e],retry:!1,enabled:!!e,queryFn:t(async()=>{let n=await q({client:r,headers:{Authorization:""},path:{company_id:e}});if(n.error||!n.data)throw new Error("Failed to fetch employment data");return n},"queryFn"),select:t(({data:n})=>n.data.company,"select")})},"useCompany"),oe=t(e=>{let{client:r}=s();return l({queryKey:["benefit-offers",e],retry:!1,enabled:!!e,queryFn:t(async()=>F({client:r,path:{employment_id:e}}).then(n=>{if(n.error||!n.data)throw new Error("Failed to fetch benefit offers data");return n}),"queryFn"),select:t(({data:n})=>n?.data?.reduce((o,a)=>({...o,[a.benefit_group.slug]:{value:a.benefit_tier?.slug??"no",...a.benefit_group?.filter?.slug?{filter:a.benefit_group?.filter?.slug}:{}}}),{}),"select")})},"useBenefitOffers"),ae=t((e,r)=>{let{client:n}=s();return l({queryKey:["employment-engagement-agreement-details",e],retry:!1,enabled:r?.enabled??!!e,queryFn:t(async()=>h({client:n,headers:{Authorization:""},path:{employment_id:e}}).then(o=>{if(o.error||!o.data)throw new Error("Failed to fetch engagement agreement details");return o}),"queryFn"),select:t(({data:o})=>o?.data?.details,"select")})},"useEmploymentEngagementAgreementDetails"),se=t(()=>{let{client:e}=s();return u({mutationFn:t(r=>D({client:e,headers:{Authorization:""},path:r}),"mutationFn")})},"useEmploymentInvite"),ie=t(()=>{let{client:e}=s();return u({mutationFn:t(r=>_({client:e,body:r}),"mutationFn")})},"useCreateReserveInvoice"),me=t(({countryCode:e,form:r,fieldValues:n,options:o,query:a={},jsonSchemaVersion:i})=>{let{client:m}=s(),z=i?{json_schema_version:i}:{};return l({queryKey:["onboarding-json-schema-form",e,r,i],retry:!1,queryFn:t(async()=>{let c=await w({client:m,headers:{Authorization:""},path:{country_code:e,form:r},query:{skip_benefits:!0,...a,...z}});if(c.error||!c.data)throw new Error("Failed to fetch onboarding schema");return c},"queryFn"),enabled:o?.queryOptions?.enabled,select:t(({data:c})=>{let M=c?.data||{};return d(M,n,o)},"select")})},"useJSONSchemaForm"),le=t((e,r,n)=>{let{client:o}=s(),a={json_schema_version:y(n)};return l({queryKey:["benefit-offers-schema",e],retry:!1,enabled:!!e,queryFn:t(async()=>{let i=await S({client:o,path:{employment_id:e},query:a});if(i.error||!i.data)throw new Error("Failed to fetch benefit offers schema");return i},"queryFn"),select:t(({data:i})=>{let m=i?.data?.schema||{};return d(m,r,{jsfModify:n?.jsfModify?.benefits})},"select")})},"useBenefitOffersSchema"),ue=t(e=>{let{client:r}=s(),n={json_schema_version:p(e)};return u({mutationFn:t(o=>f({client:r,headers:{Authorization:""},body:o,query:{...n}}),"mutationFn")})},"useCreateEmployment"),ce=t((e,r)=>{let{client:n}=s(),o={employment_basic_information_json_schema_version:p(r),contract_details_json_schema_version:K(r,e)||1};return u({mutationFn:t(({employmentId:a,...i})=>V({client:n,headers:{Authorization:""},body:i,path:{employment_id:a},query:{skip_benefits:!0,...o}}),"mutationFn")})},"useUpdateEmployment"),de=t(()=>{let{client:e}=s();return u({mutationFn:t(({employmentId:r,...n})=>E({client:e,headers:{Authorization:""},body:n,path:{employment_id:r}}),"mutationFn")})},"useUpdateEmploymentEngagementAgreementDetails"),pe=t(e=>{let{client:r}=s();return u({mutationFn:t(({employmentId:n,...o})=>{let a={json_schema_version:y(e)};return C({client:r,body:o,path:{employment_id:n},query:a})},"mutationFn")})},"useUpdateBenefitsOffers"),ye=t(e=>{let{client:r}=s(),{data:n,isLoading:o}=l({...U(r,"onboarding-countries"),select:t(i=>i.data?.data?.filter(m=>m.eor_onboarding).map(m=>({label:m.name,value:m.code,employment_agreement_preview_available:m.employment_agreement_preview_available}))||[],"select"),enabled:e?.queryOptions?.enabled}),a=d(B.data.schema,{},e);if(n){let i=a.fields.find(m=>m.name==="country");i&&(i.options=n)}return{isLoading:o,selectCountryForm:a,countries:n}},"useCountriesSchemaField"),ge=t(({type:e="spread"})=>{let{client:r}=s();return u({mutationFn:t(n=>(e==="no_spread"?g:j)({client:r,body:n}),"mutationFn")})},"useConvertCurrency"),fe=t(()=>{let{client:e}=s();return u({mutationFn:t(({employmentId:r,...n})=>x({client:e,path:{employment_id:r},body:n}),"mutationFn")})},"useUpsertContractEligibility"),be=t((e,r,n=!0)=>{let{client:o}=s();return l({queryKey:["employment-onboarding-reserves-status",e,r],retry:!1,enabled:n&&!!e&&!!r,queryFn:t(async()=>{let a=await b({client:o,headers:{Authorization:""},path:{company_id:e,employment_id:r}});if(a.error||!a.data)throw new Error("Failed to fetch employment onboarding reserves status");return a},"queryFn"),select:t(({data:a})=>a?.data?.status,"select")})},"useEmploymentOnboardingReservesStatus"),he=t((e,r,n)=>{let{client:o}=s();return l({queryKey:["engagement-agreement-details",e],retry:!1,enabled:n?.queryOptions?.enabled??!!e,queryFn:t(async()=>{let a=await v({client:o,path:{country_code:e}});if(a.error||!a.data)throw new Error("Failed to fetch engagement agreement details");return a},"queryFn"),select:t(({data:a})=>{let i=a?.data?.schema||{};return d(i,r,{jsfModify:n?.jsfModify?.engagement_agreement_details})},"select")})},"useEngagementAgreementDetailsSchema"),Ee=t((e,r)=>{let{client:n}=s();return l({queryKey:["pre-onboarding-requirements",e],queryFn:t(async()=>{let o=await O({client:n,path:{employment_id:e}});if(o.error||!o.data)throw new Error("Failed to fetch pre-onboarding requirements");return o},"queryFn"),enabled:r?.queryOptions?.enabled??!0,select:t(o=>o.data?.data,"select")})},"useGetPreOnboardingRequirements"),Fe=t(()=>{let{client:e}=s();return u({mutationFn:t(({employmentId:r,body:n})=>A({client:e,body:n,path:{employment_id:r}}),"mutationFn")})},"useCreatePreOnboardingDocument"),Ce=t((e,r,n)=>{let{client:o}=s();return l({queryKey:["pre-onboarding-document",e,r],queryFn:t(async()=>{let a=await P({client:o,path:{employment_id:e,id:r}});if(a.error||!a.data)throw new Error("Failed to fetch pre-onboarding document");return a},"queryFn"),enabled:(n?.queryOptions?.enabled??!0)&&!!r,select:t(a=>a.data?.data,"select")})},"useGetPreOnboardingDocument"),Oe=t(()=>{let{client:e}=s();return u({mutationFn:t(({employmentId:r,documentId:n,signature:o})=>R({client:e,path:{employment_id:r,id:n},body:{signature:o}}),"mutationFn")})},"useSignPreOnboardingDocument"),_e=t((e,r)=>{let{client:n}=s();return l({queryKey:["employment-agreement-preview",e],retry:!1,enabled:(r?.queryOptions?.enabled??!0)&&!!e,queryFn:t(async()=>{let o=await I({client:n,path:{employment_id:e}});if(o.error||!o.data)throw new Error("Failed to fetch employment agreement preview");return o},"queryFn"),select:t(o=>o.data?.data.employment_agreement,"select")})},"useEmploymentAgreementPreview");export{re as a,oe as b,ae as c,se as d,ie as e,me as f,le as g,ue as h,ce as i,de as j,pe as k,ye as l,ge as m,fe as n,be as o,he as p,Ee as q,Fe as r,Ce as s,Oe as t,_e as u};
|
|
2
|
+
//# sourceMappingURL=chunk-ARNYUYFG.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as L,b as H,c as U,e as O}from"./chunk-N6XLGYRK.js";import{f as W}from"./chunk-HIDA2KDX.js";import{a as oe}from"./chunk-ID4S6FWD.js";import{a as ie}from"./chunk-X4IJ52GQ.js";import{a as _,c as I,d as k,e as J,f as j}from"./chunk-LJUWER2H.js";import{f as le,g as V,h as te}from"./chunk-Y3CJRZLA.js";import{n as g}from"./chunk-G2LZFGZA.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function Ne({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(Ne,"FullScreenDialog");function xe({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(xe,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l})}i(X,"TabsTrigger");function Ae({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ae,"TabsContent");import*as Z from"react";import*as x from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ve}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ve(x.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(x.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(x.Corner,{})]}));ne.displayName=x.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(x.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(x.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=x.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as ke,useMemo as Je}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||d.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(d.length===0&&m.length===0&&p.length===0))return{added:d,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let d=G(a||[],s||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let d=Oe(e,l);return d&&(a.nestedFields=d),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),d=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,v)=>{d.has(v)||(p.push(v),b.set(v,{fieldName:v,diffType:"added"}))}),d.forEach(({field:f},v)=>{if(!m.has(v))t.push(v),b.set(v,{fieldName:v,diffType:"removed"});else{let{field:N}=m.get(v);Me(f,N)?(c.push(v),b.set(v,{fieldName:v,diffType:"modified",changes:Ee(f,N)})):(S.push(v),b.set(v,{fieldName:v,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),ve=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ue,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as u}from"react/jsx-runtime";var Ie=i(({children:e,diffType:l,changes:a})=>{let s=ve(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:u("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),de=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:d,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ue(()=>{let c=i((S,b)=>S.map(f=>{let v=b.get(f.name),N=v?.diffType||"unchanged",T=v?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let A=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{A.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,A);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:A})=>o(Ie,{diffType:N,fieldName:f.name,changes:T,children:A}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return u(L,{className:"h-full",children:[o(H,{children:u(U,{children:[d," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ue(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let v=c.current,N=S.current;if(!v||!N)return;let T=i(()=>{b.current||(b.current=!0,N.scrollTop=v.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,v.scrollTop=N.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return v.addEventListener("scroll",T),N.addEventListener("scroll",C),()=>{v.removeEventListener("scroll",T),N.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return u("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):u("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),u("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),u("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),u("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),u("div",{className:"grid grid-cols-2 gap-6",children:[o(de,{version:e,fields:a,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(de,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],ee={ALB:[{value:1,label:"v1"},{value:2,label:"v2"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"},{value:2,label:"v2"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"},{value:6,label:"v6"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"},{value:2,label:"v2"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],COL:[{value:1,label:"v1"},{value:2,label:"v2"}],CRI:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CYP:[{value:1,label:"v1"},{value:2,label:"v2"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DNK:[{value:1,label:"v1"},{value:2,label:"v2"}],DOM:[{value:1,label:"v1"},{value:2,label:"v2"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],EST:[{value:1,label:"v1"},{value:2,label:"v2"}],FIN:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA_SAS:[{value:1,label:"v1"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],GEO:[{value:1,label:"v1"},{value:2,label:"v2"}],GRC:[{value:1,label:"v1"},{value:2,label:"v2"}],GTM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ITA:[{value:1,label:"v1"},{value:2,label:"v2"}],ITA_APL:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LTU:[{value:1,label:"v1"},{value:2,label:"v2"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MAR:[{value:1,label:"v1"},{value:2,label:"v2"}],MDA:[{value:1,label:"v1"},{value:2,label:"v2"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"},{value:2,label:"v2"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"},{value:2,label:"v2"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"},{value:2,label:"v2"}],PRI:[{value:1,label:"v1"},{value:2,label:"v2"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PRY:[{value:1,label:"v1"},{value:2,label:"v2"}],ROU:[{value:1,label:"v1"},{value:2,label:"v2"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SVK:[{value:1,label:"v1"},{value:2,label:"v2"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],TWN:[{value:1,label:"v1"},{value:2,label:"v2"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"},{value:2,label:"v2"}],USA:[{value:1,label:"v1"},{value:2,label:"v2"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[d,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:v}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:N,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),C=v||T,P=ee[p],A=P!==void 0,D=Je(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return ke(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(d)||m(D[0].value)},[e,p,D,a,d]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(V,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!A&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(V,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(k,{id:"country-select",children:r(I,{placeholder:"Select a country"})}),r(J,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(V,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(k,{id:"top-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(V,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(d),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(k,{id:"bottom-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:d,topFields:f?.fields||[],bottomFields:N?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:N?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,Ne as d,xe as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ae as n,ne as o,fe as p};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as L,b as H,c as U,e as O}from"./chunk-N6XLGYRK.js";import{f as W}from"./chunk-ARNYUYFG.js";import{a as oe}from"./chunk-ID4S6FWD.js";import{a as ie}from"./chunk-X4IJ52GQ.js";import{a as _,c as I,d as k,e as J,f as j}from"./chunk-LJUWER2H.js";import{f as le,g as V,h as te}from"./chunk-Y3CJRZLA.js";import{n as g}from"./chunk-G2LZFGZA.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function Ne({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(Ne,"FullScreenDialog");function xe({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(xe,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l})}i(X,"TabsTrigger");function Ae({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ae,"TabsContent");import*as Z from"react";import*as x from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ve}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ve(x.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(x.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(x.Corner,{})]}));ne.displayName=x.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(x.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(x.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=x.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as ke,useMemo as Je}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||d.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(d.length===0&&m.length===0&&p.length===0))return{added:d,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let d=G(a||[],s||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let d=Oe(e,l);return d&&(a.nestedFields=d),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),d=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,v)=>{d.has(v)||(p.push(v),b.set(v,{fieldName:v,diffType:"added"}))}),d.forEach(({field:f},v)=>{if(!m.has(v))t.push(v),b.set(v,{fieldName:v,diffType:"removed"});else{let{field:N}=m.get(v);Me(f,N)?(c.push(v),b.set(v,{fieldName:v,diffType:"modified",changes:Ee(f,N)})):(S.push(v),b.set(v,{fieldName:v,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),ve=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ue,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as u}from"react/jsx-runtime";var Ie=i(({children:e,diffType:l,changes:a})=>{let s=ve(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:u("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),de=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:d,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ue(()=>{let c=i((S,b)=>S.map(f=>{let v=b.get(f.name),N=v?.diffType||"unchanged",T=v?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let A=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{A.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,A);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:A})=>o(Ie,{diffType:N,fieldName:f.name,changes:T,children:A}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return u(L,{className:"h-full",children:[o(H,{children:u(U,{children:[d," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ue(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let v=c.current,N=S.current;if(!v||!N)return;let T=i(()=>{b.current||(b.current=!0,N.scrollTop=v.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,v.scrollTop=N.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return v.addEventListener("scroll",T),N.addEventListener("scroll",C),()=>{v.removeEventListener("scroll",T),N.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return u("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):u("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),u("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),u("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),u("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),u("div",{className:"grid grid-cols-2 gap-6",children:[o(de,{version:e,fields:a,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(de,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],ee={ALB:[{value:1,label:"v1"},{value:2,label:"v2"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"},{value:2,label:"v2"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"},{value:6,label:"v6"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"},{value:2,label:"v2"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],COL:[{value:1,label:"v1"},{value:2,label:"v2"}],CRI:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CYP:[{value:1,label:"v1"},{value:2,label:"v2"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DNK:[{value:1,label:"v1"},{value:2,label:"v2"}],DOM:[{value:1,label:"v1"},{value:2,label:"v2"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],EST:[{value:1,label:"v1"},{value:2,label:"v2"}],FIN:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA_SAS:[{value:1,label:"v1"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],GEO:[{value:1,label:"v1"},{value:2,label:"v2"}],GRC:[{value:1,label:"v1"},{value:2,label:"v2"}],GTM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ITA:[{value:1,label:"v1"},{value:2,label:"v2"}],ITA_APL:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LTU:[{value:1,label:"v1"},{value:2,label:"v2"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MAR:[{value:1,label:"v1"},{value:2,label:"v2"}],MDA:[{value:1,label:"v1"},{value:2,label:"v2"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"},{value:2,label:"v2"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"},{value:2,label:"v2"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"},{value:2,label:"v2"}],PRI:[{value:1,label:"v1"},{value:2,label:"v2"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PRY:[{value:1,label:"v1"},{value:2,label:"v2"}],ROU:[{value:1,label:"v1"},{value:2,label:"v2"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SVK:[{value:1,label:"v1"},{value:2,label:"v2"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],TWN:[{value:1,label:"v1"},{value:2,label:"v2"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"},{value:2,label:"v2"}],USA:[{value:1,label:"v1"},{value:2,label:"v2"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[d,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:v}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:N,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),C=v||T,P=ee[p],A=P!==void 0,D=Je(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return ke(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(d)||m(D[0].value)},[e,p,D,a,d]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(V,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!A&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(V,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(k,{id:"country-select",children:r(I,{placeholder:"Select a country"})}),r(J,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(V,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(k,{id:"top-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(V,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(d),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(k,{id:"bottom-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:d,topFields:f?.fields||[],bottomFields:N?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:N?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,Ne as d,xe as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ae as n,ne as o,fe as p};
|
|
2
|
+
//# sourceMappingURL=chunk-C3J4KQEW.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as W}from"./chunk-PQG6KZIO.js";import{a as Y}from"./chunk-3QSHWQS3.js";import{a as Q}from"./chunk-4MB3FE3T.js";import{a as J}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as W}from"./chunk-PQG6KZIO.js";import{a as Y}from"./chunk-3QSHWQS3.js";import{a as Q}from"./chunk-4MB3FE3T.js";import{a as J}from"./chunk-3QG44XYC.js";import{a as H}from"./chunk-IF42CZJH.js";import{a as U}from"./chunk-6DHV4GT6.js";import{a as q,b as B,c as L,d as z}from"./chunk-WLPWXK7I.js";import{f as Z,g as K}from"./chunk-FMP4J4GT.js";import{a as R}from"./chunk-ZXGAFQXW.js";import{a as S}from"./chunk-6PWZ4TBI.js";import{a as N}from"./chunk-GNDFT5KG.js";import{a as E}from"./chunk-6JW4ERRK.js";import{a as _,c as v}from"./chunk-RFVHV6RE.js";import{s as O}from"./chunk-BYDNNJHZ.js";import{b as w,h as u,n as D}from"./chunk-G2LZFGZA.js";import{a as A}from"./chunk-JDIKYCN6.js";import{a as I}from"./chunk-626FTNKA.js";import{e as $}from"./chunk-H2O4CVKF.js";import{a as o}from"./chunk-P37U34EQ.js";import xe from"lodash.omitby";import je from"lodash.isnull";import{format as x,isFuture as Ve,parseISO as j,subDays as Pe}from"date-fns";import{useMemo as V}from"react";import be from"lodash.omit";import{useQuery as Fe}from"@tanstack/react-query";var G=o(({query:t,options:e})=>{let{client:y}=$();return Fe({queryKey:["payroll-calendars"],queryFn:o(()=>O({client:y,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as Me,isToday as ge,parseISO as Se}from"date-fns";var X=o(t=>{if(!t)return!1;let e=Se(t);return Me(e)||ge(e)},"isInProbationPeriod");import{Fragment as ke,jsx as m,jsxs as Ce}from"react/jsx-runtime";var lo=o(({employmentId:t,options:e,initialValues:y})=>{let{fieldValues:c,setFieldValues:ee,stepState:l,previousStep:oe,nextStep:ie}=A(q),{data:n,isLoading:te}=N({employmentId:t,queryParams:{exclude_files:!0}}),{data:ne}=G({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),T=X(n?.probation_period_end_date),F=B(ne),P=V(()=>T?x(new Date,"yyyy-MM-dd"):x(F,"yyyy-MM-dd"),[T,F]),M=!!(n?.provisional_start_date&&Ve(j(n.provisional_start_date))),ae={personal_email:n?.basic_information?.email},g=z({...ae,...y,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},M),d=V(()=>({...g,...c}),[c,g]),b=L({minTerminationDate:F,isEmployeeInProbationPeriod:T,selectedDate:j(d.proposed_termination_date)}),re=V(()=>{let s=R.data.schema.properties.termination_reason.oneOf,a=M?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:a},proposed_termination_date_info:S("Proposed termination date",Ce(ke,{children:["In most cases, Remote must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",m(v,{external:!0,zendeskId:_.terminationNoticePeriods,className:D("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:x(Pe(j(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...b},...d.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return m(J,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Q,{...r})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return m(U,{render:r=>i?m(i,{...r}):m(W,{...r})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:_.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:_.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...i}):m(Y,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,M,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,b]),{data:f,isLoading:se}=K({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...re?.fields}},step:l.currentStep.name}),me=E(H.data.schema),k=Z(),{mutateAsync:de}=w(k);async function fe(s){if(!t)throw new Error("Employment id is missing");if(f){let a=await C(s,!0),{customer_informed_employee:i}=a,r=i==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,ue=await I(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),_e=be(ue,"customer_informed_employee_date","customer_informed_employee_description"),ye=xe({..._e,...r},je),p=a.timesheet_file??[],h=Array.isArray(p)&&p.length>0?{content:p[0].content,name:p[0].name}:void 0,Te={employment_id:t,termination_details:{...ye,timesheet_file:h||void 0},type:"termination"};return de(Te)}}o(fe,"onSubmit");function le(){oe()}o(le,"back");function ce(){ie()}o(ce,"next");let pe=Object.keys(c).length>0,C=o(async(s,a=!1)=>a?await u(s,me.fields,{isPartialValidation:!0}):f?await u(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:pe,stepState:l,fields:f?.fields||[],isLoading:se||te,isSubmitting:k.isPending,initialValues:g,handleValidation:o(async s=>{if(f){let a=await u(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:ee,parseFormValues:C,onSubmit:fe,back:le,next:ce}},"useTermination");export{lo as a};
|
|
2
|
+
//# sourceMappingURL=chunk-DS6URMR3.js.map
|