@remoteoss/remote-flows 0.5.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-IYVHRHIF.js → chunk-25OMQHCO.js} +2 -2
- package/dist/chunk-2A5R3YN2.js +2 -0
- package/dist/chunk-2A5R3YN2.js.map +1 -0
- package/dist/{chunk-BGPNJUZ6.js → chunk-2E4TPU4E.js} +2 -2
- package/dist/{chunk-QUCO6E4Q.js → chunk-2EPROBXQ.js} +2 -2
- package/dist/{chunk-PRKYQ5O6.js → chunk-3N2Z72JT.js} +2 -2
- package/dist/{chunk-BFFD47LY.js → chunk-4CZKKCKQ.js} +2 -2
- package/dist/{chunk-N23LQHZ3.js → chunk-5IMSGRC3.js} +2 -2
- package/dist/{chunk-6O3WKNSB.js → chunk-5LJOLMV4.js} +2 -2
- package/dist/chunk-6GMGXSKN.js +2 -0
- package/dist/{chunk-3HC236JT.js → chunk-6JWQ4PZE.js} +2 -2
- package/dist/{chunk-2YGGLGBG.js → chunk-6VWI4FCI.js} +2 -2
- package/dist/{chunk-T33QM3L4.js → chunk-7RQYLR2B.js} +2 -2
- package/dist/chunk-AG6UYT2C.js +2 -0
- package/dist/chunk-AG6UYT2C.js.map +1 -0
- package/dist/{chunk-5NCRPBBP.js → chunk-CCYHGN4R.js} +2 -2
- package/dist/{chunk-3XKGVAM4.js → chunk-DMWRLPWG.js} +2 -2
- package/dist/{chunk-HNVJZJG2.js → chunk-KUIJOFEW.js} +2 -2
- package/dist/{chunk-DIL47M74.js → chunk-L6CLZL2D.js} +2 -2
- package/dist/{chunk-OCVTKPKM.js → chunk-LXHKMGWZ.js} +2 -2
- package/dist/{chunk-FKWJNWTH.js → chunk-MBIQ2ECY.js} +2 -2
- package/dist/chunk-MOUO52OS.js +2 -0
- package/dist/chunk-MOUO52OS.js.map +1 -0
- package/dist/{chunk-RYJWEK4S.js → chunk-OOK2XH5H.js} +2 -2
- package/dist/{chunk-GPPJCUV6.js → chunk-QTN4WTLR.js} +2 -2
- package/dist/{chunk-UP5Y6GXN.js → chunk-RTNT5LSU.js} +2 -2
- package/dist/{chunk-S4WAMYEE.js → chunk-S2G7GEGF.js} +2 -2
- package/dist/{chunk-T3HJ2JSB.js → chunk-SX5W3CBP.js} +2 -2
- package/dist/{chunk-BHTXYDFD.js → chunk-UBIYEKYH.js} +2 -2
- package/dist/chunk-UDCOYAXP.js +2 -0
- package/dist/chunk-UDCOYAXP.js.map +1 -0
- package/dist/{chunk-ZKALTI3E.js → chunk-X5UOBUIX.js} +2 -2
- package/dist/chunk-XOOG5SNT.js +2 -0
- package/dist/chunk-XOOG5SNT.js.map +1 -0
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +1 -1
- package/dist/flows/ContractAmendment/hooks.d.ts +1 -1
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +1 -1
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/utils.d.ts +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +6 -2
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
- package/dist/flows/CostCalculator/api.d.ts +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +1 -1
- package/dist/flows/CostCalculator/hooks.d.ts +1 -1
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +1 -1
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +1 -1
- package/dist/flows/CostCalculator/utils.d.ts +1 -1
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +3 -2
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/EquityPriceDetails.d.ts +17 -0
- package/dist/flows/Onboarding/components/EquityPriceDetails.js +2 -0
- package/dist/flows/Onboarding/components/EquityPriceDetails.js.map +1 -0
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +1 -1
- package/dist/flows/Onboarding/hooks.d.ts +1 -1
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +1 -1
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +1 -1
- package/dist/flows/Onboarding/utils.d.ts +1 -1
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +1 -1
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +1 -1
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +1 -1
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/TimeOff.d.ts +1 -1
- package/dist/flows/Termination/context.d.ts +1 -1
- package/dist/flows/Termination/hooks.d.ts +1 -1
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +1 -1
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{types.gen-uIYQx7Be.d.ts → types.gen-DSJsKiNm.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-FS4S4F6X.js +0 -2
- package/dist/chunk-FS4S4F6X.js.map +0 -1
- package/dist/chunk-HSW5HMHH.js +0 -2
- package/dist/chunk-KDWPT7ZP.js +0 -2
- package/dist/chunk-KDWPT7ZP.js.map +0 -1
- package/dist/chunk-VNH5IASS.js +0 -2
- package/dist/chunk-VNH5IASS.js.map +0 -1
- package/dist/chunk-X36OBDKD.js +0 -2
- package/dist/chunk-X36OBDKD.js.map +0 -1
- /package/dist/{chunk-IYVHRHIF.js.map → chunk-25OMQHCO.js.map} +0 -0
- /package/dist/{chunk-BGPNJUZ6.js.map → chunk-2E4TPU4E.js.map} +0 -0
- /package/dist/{chunk-QUCO6E4Q.js.map → chunk-2EPROBXQ.js.map} +0 -0
- /package/dist/{chunk-PRKYQ5O6.js.map → chunk-3N2Z72JT.js.map} +0 -0
- /package/dist/{chunk-BFFD47LY.js.map → chunk-4CZKKCKQ.js.map} +0 -0
- /package/dist/{chunk-N23LQHZ3.js.map → chunk-5IMSGRC3.js.map} +0 -0
- /package/dist/{chunk-6O3WKNSB.js.map → chunk-5LJOLMV4.js.map} +0 -0
- /package/dist/{chunk-HSW5HMHH.js.map → chunk-6GMGXSKN.js.map} +0 -0
- /package/dist/{chunk-3HC236JT.js.map → chunk-6JWQ4PZE.js.map} +0 -0
- /package/dist/{chunk-2YGGLGBG.js.map → chunk-6VWI4FCI.js.map} +0 -0
- /package/dist/{chunk-T33QM3L4.js.map → chunk-7RQYLR2B.js.map} +0 -0
- /package/dist/{chunk-5NCRPBBP.js.map → chunk-CCYHGN4R.js.map} +0 -0
- /package/dist/{chunk-3XKGVAM4.js.map → chunk-DMWRLPWG.js.map} +0 -0
- /package/dist/{chunk-HNVJZJG2.js.map → chunk-KUIJOFEW.js.map} +0 -0
- /package/dist/{chunk-DIL47M74.js.map → chunk-L6CLZL2D.js.map} +0 -0
- /package/dist/{chunk-OCVTKPKM.js.map → chunk-LXHKMGWZ.js.map} +0 -0
- /package/dist/{chunk-FKWJNWTH.js.map → chunk-MBIQ2ECY.js.map} +0 -0
- /package/dist/{chunk-RYJWEK4S.js.map → chunk-OOK2XH5H.js.map} +0 -0
- /package/dist/{chunk-GPPJCUV6.js.map → chunk-QTN4WTLR.js.map} +0 -0
- /package/dist/{chunk-UP5Y6GXN.js.map → chunk-RTNT5LSU.js.map} +0 -0
- /package/dist/{chunk-S4WAMYEE.js.map → chunk-S2G7GEGF.js.map} +0 -0
- /package/dist/{chunk-T3HJ2JSB.js.map → chunk-SX5W3CBP.js.map} +0 -0
- /package/dist/{chunk-BHTXYDFD.js.map → chunk-UBIYEKYH.js.map} +0 -0
- /package/dist/{chunk-ZKALTI3E.js.map → chunk-X5UOBUIX.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as d}from"./chunk-MRYRNB7Y.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as d}from"./chunk-MRYRNB7Y.js";import{a as f}from"./chunk-UDCOYAXP.js";import{b as s}from"./chunk-CFIJKJXD.js";import{f as a,g as l}from"./chunk-STEO7MS2.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as T}from"react";import{jsx as e}from"react/jsx-runtime";function A({fields:m,onSubmit:F}){let{formId:u,terminationBag:o}=d(),c=s(o.handleValidation),i=a({resolver:c,defaultValues:o?.initialValues,shouldUnregister:!1,mode:"onBlur"});T(()=>{let y=i?.watch(r=>{Object.keys(r).some(t=>r[t]!==o?.initialValues?.[t])&&o?.checkFieldUpdates(r)});return()=>y?.unsubscribe()},[]);let p=m||(o?.fields??[]);return e(l,{...i,children:e("form",{id:u,onSubmit:i.handleSubmit(F),className:"space-y-4 RemoteFlows__TerminationForm",children:e(f,{fields:p})})})}n(A,"TerminationForm");export{A as a};
|
|
2
|
+
//# sourceMappingURL=chunk-25OMQHCO.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as t}from"./chunk-P37U34EQ.js";import{Fragment as u,jsx as s,jsxs as n}from"react/jsx-runtime";var i=t((a,e)=>`${a} ${e}`,"formatMoney"),m=t(({offerEquity:a,equityCost:e})=>{let l=a==="yes",r=!!e?.discount,c=e&&e.original?i(e.original.amount,e.original.currency):null,o=e&&e.calculated?i(e.calculated.amount,e.calculated.currency):null;return!l||!e?null:n("div",{className:"RemoteFlows__EquityPriceDetails",children:[n("span",{className:"RemoteFlows__Equity__Price",children:["A monthly fee of"," ",n("strong",{children:[r?n(u,{children:[s("s",{children:c})," ",o]}):o," ","will apply."]})]}),s("span",{className:"RemoteFlows__Equity__Fee",children:"This is a fee for managing equity through Remote."}),s("span",{className:"RemoteFlows__Equity__Reporting",children:"To fulfill local reporting obligations, Remote must note any equity grants made and any related taxable events, such as exercising stock options and RSU vesting."})]})},"EquityPriceDetails");export{m as a};
|
|
2
|
+
//# sourceMappingURL=chunk-2A5R3YN2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Onboarding/components/EquityPriceDetails.tsx"],"sourcesContent":["const formatMoney = (amount: number, currency: string) => {\n return `${amount} ${currency}`;\n};\n\ntype Cost = {\n currency: string;\n amount: number;\n};\n\ntype EquityPriceDetailsProps = {\n offerEquity: 'yes' | 'no' | null;\n equityCost?: {\n original: Cost;\n discount?: Cost;\n\n calculated?: Cost;\n };\n};\n\nexport const EquityPriceDetails = ({\n offerEquity,\n equityCost,\n}: EquityPriceDetailsProps) => {\n const offersEquity = offerEquity === 'yes';\n const isFeeWaived = !!equityCost?.discount;\n const formattedWaivedPrice =\n equityCost && equityCost.original\n ? formatMoney(equityCost.original.amount, equityCost.original.currency)\n : null;\n const formattedPrice =\n equityCost && equityCost.calculated\n ? formatMoney(\n equityCost.calculated.amount,\n equityCost.calculated.currency,\n )\n : null;\n\n if (!offersEquity || !equityCost) {\n return null;\n }\n\n return (\n <div className=\"RemoteFlows__EquityPriceDetails\">\n <span className=\"RemoteFlows__Equity__Price\">\n A monthly fee of{' '}\n <strong>\n {isFeeWaived ? (\n <>\n <s>{formattedWaivedPrice}</s> {formattedPrice}\n </>\n ) : (\n formattedPrice\n )}{' '}\n will apply.\n </strong>\n </span>\n <span className=\"RemoteFlows__Equity__Fee\">\n This is a fee for managing equity through Remote.\n </span>\n <span className=\"RemoteFlows__Equity__Reporting\">\n To fulfill local reporting obligations, Remote must note any equity\n grants made and any related taxable events, such as exercising stock\n options and RSU vesting.\n </span>\n </div>\n );\n};\n"],"mappings":"wCA+CY,mBAAAA,EACE,OAAAC,EADF,QAAAC,MAAA,oBA/CZ,IAAMC,EAAcC,EAAA,CAACC,EAAgBC,IAC5B,GAAGD,CAAM,IAAIC,CAAQ,GADV,eAmBPC,EAAqBH,EAAA,CAAC,CACjC,YAAAI,EACA,WAAAC,CACF,IAA+B,CAC7B,IAAMC,EAAeF,IAAgB,MAC/BG,EAAc,CAAC,CAACF,GAAY,SAC5BG,EACJH,GAAcA,EAAW,SACrBN,EAAYM,EAAW,SAAS,OAAQA,EAAW,SAAS,QAAQ,EACpE,KACAI,EACJJ,GAAcA,EAAW,WACrBN,EACEM,EAAW,WAAW,OACtBA,EAAW,WAAW,QACxB,EACA,KAEN,MAAI,CAACC,GAAgB,CAACD,EACb,KAIPP,EAAC,OAAI,UAAU,kCACb,UAAAA,EAAC,QAAK,UAAU,6BAA6B,6BAC1B,IACjBA,EAAC,UACE,UAAAS,EACCT,EAAAF,EAAA,CACE,UAAAC,EAAC,KAAG,SAAAW,EAAqB,EAAI,IAAEC,GACjC,EAEAA,EACC,IAAI,eAET,GACF,EACAZ,EAAC,QAAK,UAAU,2BAA2B,6DAE3C,EACAA,EAAC,QAAK,UAAU,iCAAiC,6KAIjD,GACF,CAEJ,EA/CkC","names":["Fragment","jsx","jsxs","formatMoney","__name","amount","currency","EquityPriceDetails","offerEquity","equityCost","offersEquity","isFeeWaived","formattedWaivedPrice","formattedPrice"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as n}from"./chunk-25OMQHCO.js";import{b as m}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function p({onSubmit:e}){let{terminationBag:i}=m();return r(n,{onSubmit:o(async t=>{await e?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(p,"EmployeeCommunicationForm");export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-2E4TPU4E.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-LXHKMGWZ.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-QW4JPW6J.js";import{d as s}from"./chunk-CNYSTJVL.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=s(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=t(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
|
|
2
|
+
//# sourceMappingURL=chunk-2EPROBXQ.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-25OMQHCO.js";import{b as m}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as e}from"react/jsx-runtime";function f({onSubmit:n}){let{terminationBag:i}=m();return e(r,{onSubmit:o(async a=>{await n?.(i?.parseFormValues(a)),i?.next()},"handleSubmit")})}o(f,"PaidTimeOffForm");export{f as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3N2Z72JT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-LXHKMGWZ.js";import{b as n}from"./chunk-PGWKJ6FK.js";import{b as i}from"./chunk-QW4JPW6J.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as p}from"react/jsx-runtime";function F({onSubmit:l,onError:t,onSuccess:d}){let{onboardingBag:o}=n(),m=e(async a=>{try{await l?.(o.parseFormValues(a));let r=await o.onSubmit(a);if(r?.data){await d?.(r.data),o?.next();return}if(r?.error){let c=i(r?.fieldErrors||[],o.meta?.fields?.contract_details);t?.({error:r.error,rawError:r.rawError,fieldErrors:c})}}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit");return p(s,{defaultValues:o.stepState.values?.contract_details||o.initialValues.contract_details,onSubmit:m})}e(F,"ContractDetailsStep");export{F as a};
|
|
2
|
+
//# sourceMappingURL=chunk-4CZKKCKQ.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-YECC5GAT.js";import{a as c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-YECC5GAT.js";import{a as c}from"./chunk-SX5W3CBP.js";import{a as e}from"./chunk-HS3TP43Z.js";import{a as m}from"./chunk-HUEFMP54.js";import{a as r}from"./chunk-DMWRLPWG.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-5IMSGRC3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as h}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as h}from"./chunk-6GMGXSKN.js";import{a as S}from"./chunk-XFD3ULUF.js";import{a as P}from"./chunk-WWANHPT7.js";import{a as F}from"./chunk-S4XU4SE7.js";import{a as y}from"./chunk-PWUYHFON.js";import{a as V}from"./chunk-QW4JPW6J.js";import{b as p}from"./chunk-276MJCIE.js";import{a as T}from"./chunk-PJBAQZ6G.js";import{d as _}from"./chunk-3ZWDIEEM.js";import{c as s}from"./chunk-CNYSTJVL.js";import{a as e}from"./chunk-P37U34EQ.js";import{createHeadlessForm as g,modify as x}from"@remoteoss/json-schema-form";import{useMutation as A,useQuery as K}from"@tanstack/react-query";import L from"lodash.omitby";import q from"lodash.isnull";import z from"lodash.omit";function R(o){return{confidential:"",customer_informed_employee:"",customer_informed_employee_date:"",customer_informed_employee_description:"",personal_email:"",termination_reason:void 0,reason_description:"",termination_reason_files:[],will_challenge_termination:"",will_challenge_termination_description:null,agrees_to_pto_amount:"",agrees_to_pto_amount_notes:null,acknowledge_termination_procedure:!1,additional_comments:"",proposed_termination_date:"",risk_assessment_reasons:[],timesheet_file:void 0,...o}}e(R,"buildInitialValues");var B=e(()=>{let{client:o}=_();return A({mutationFn:e(n=>p({client:o,headers:{Authorization:""},body:n}),"mutationFn")})},"useCreateTermination"),I=e(({formValues:o,jsfModify:n,step:m})=>K({queryKey:["rmt-flows-termination-schema",m],queryFn:e(()=>h[m]??S,"queryFn"),select:e(({data:u})=>{let i=u?.schema||{};if(n){let{schema:d}=x(i,n);i=d}return g(i||{},{initialValues:o||{}})},"select")}),"useTerminationSchema"),ue=e(({employmentId:o,options:n})=>{let{fieldValues:m,setFieldValues:u,stepState:i,previousStep:f,nextStep:d}=T(F),k={...i.values?.[i.currentStep.name],...m},{data:r,isLoading:w}=I({formValues:k,jsfModify:n?.jsfModify,step:i.currentStep.name}),l=g(P.data.schema),c=B(),{mutateAsync:b}=V(c);async function C(a){if(!o)throw new Error("Employment id is missing");if(r){let t=s(a,l.fields,{isPartialValidation:!0}),{customer_informed_employee:j}=t,D=j==="yes"?{employee_awareness:{date:t.customer_informed_employee_date,note:t.customer_informed_employee_description}}:void 0,H=y(t,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),J=z(H,"customer_informed_employee_date","customer_informed_employee_description"),O=L({...J,...D},q);return b({employment_id:o,termination_details:O,type:"termination"})}}e(C,"onSubmit");function M(){f()}e(M,"back");function v(){d()}e(v,"next");let E=R({...i.values?.employee_communication,...i.values?.termination_details,...i.values?.paid_time_off,...i.values?.additional_information});return{employmentId:o,stepState:i,fields:r?.fields||[],isLoading:w,isSubmitting:c.isPending,initialValues:E,handleValidation:e(a=>{if(r){let t=s(a,r?.fields);return r?.handleValidation(t)}return null},"handleValidation"),checkFieldUpdates:e(a=>{if(l){let t=s(a,l?.fields,{isPartialValidation:!0});u(t)}},"checkFieldUpdates"),parseFormValues:e(a=>s(a,l.fields,{isPartialValidation:!0}),"parseFormValues"),onSubmit:C,back:M,next:v}},"useTermination");export{ue as a};
|
|
2
|
+
//# sourceMappingURL=chunk-5LJOLMV4.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as m}from"./chunk-W5DG5WWJ.js";import{a as e}from"./chunk-VX2UC3HG.js";import{a as i}from"./chunk-XSHHMBMT.js";import{a as o}from"./chunk-JODJFARP.js";var p={employee_communication:o,termination_details:e,paid_time_off:m,additional_information:i};export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-6GMGXSKN.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-JW2HLB6X.js";import{a as n}from"./chunk-SYEPIESJ.js";import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-JW2HLB6X.js";import{a as n}from"./chunk-SYEPIESJ.js";import{a as e}from"./chunk-5LJOLMV4.js";import{a as T}from"./chunk-KUIJOFEW.js";import{a}from"./chunk-2E4TPU4E.js";import{a as f}from"./chunk-3N2Z72JT.js";import{a as r}from"./chunk-ABFF6YSW.js";import{a as p}from"./chunk-UBIYEKYH.js";import{a as t}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as u}from"react/jsx-runtime";var A=i(({employmentId:d,render:s,options:l})=>{let y=c(),o=e({employmentId:d,options:l});return u(t.Provider,{value:{formId:y,terminationBag:o},children:s({terminationBag:o,components:{SubmitButton:m,TimeOff:n,Back:r,EmployeeComunicationStep:a,TerminationDetailsStep:p,PaidTimeOffStep:f,AdditionalDetailsStep:T}})})},"TerminationFlow");export{A as a};
|
|
2
|
+
//# sourceMappingURL=chunk-6JWQ4PZE.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-X5UOBUIX.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";var l=e(({currency:n,desiredCurrency:o,annual_gross_salary_conversion_properties:r,...a})=>i(s,{...a,sourceCurrency:n,targetCurrency:o,conversionFieldName:"annual_gross_salary_conversion",conversionProperties:{...r,description:r?.description||"Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time."},classNamePrefix:"RemoteFlows-AnnualGrossSalary"}),"AnnualGrossSalary");export{l as a};
|
|
2
|
+
//# sourceMappingURL=chunk-6VWI4FCI.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-KSHK3ZPX.js";import{c as n,d as e}from"./chunk-QTN4WTLR.js";import{b as a}from"./chunk-CFIJKJXD.js";import{f as l}from"./chunk-STEO7MS2.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as y}from"react";import{jsx as d}from"react/jsx-runtime";var h=r(({estimationOptions:i=n,defaultValues:o={countryRegionSlug:"",currencySlug:"",salary:""},options:u,render:c,version:C="standard"})=>{let m=y(),t=e({defaultRegion:o.countryRegionSlug,estimationOptions:i,version:C,options:u}),g=a(t.handleValidation),p=l({resolver:g,defaultValues:{country:o?.countryRegionSlug,currency:o?.currencySlug,region:"",salary:o?.salary},shouldUnregister:!1,mode:"onBlur"});return d(s.Provider,{value:{form:p,formId:m,costCalculatorBag:t},children:c(t)})},"CostCalculatorFlow");export{h as a};
|
|
2
|
+
//# sourceMappingURL=chunk-7RQYLR2B.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as n}from"./chunk-KSHK3ZPX.js";import{a as C}from"./chunk-UDCOYAXP.js";import{g as c}from"./chunk-STEO7MS2.js";import{a as l}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as m}from"react/jsx-runtime";function w({onSubmit:f,onError:d,onSuccess:p,shouldResetForm:e,resetFields:a}){let{form:o,formId:E,costCalculatorBag:t}=n();process.env.NODE_ENV==="development"&&e&&a&&(console.warn('CostCalculatorForm: Both "shouldResetForm" and "resetFields" were provided. Using "shouldResetForm" and ignoring "resetFields".'),a=void 0);let{formState:{isSubmitSuccessful:i}}=o;S(()=>{if(i&&e&&(t?.resetForm(),o.reset()),i&&a){let s={...o.getValues()};a.forEach(r=>{s[r]=""}),t?.resetForm(),o.reset(s)}},[i,o,e,t,a]);let F=l(async u=>{let s=t?.parseFormValues(u),r=await t?.onSubmit(s);await f?.(s),r?.error?d?.(r.error):r?.data&&await p?.(r?.data)},"handleSubmit");return m(c,{...o,children:m("form",{id:E,onSubmit:o.handleSubmit(F),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:m(C,{fields:t?.fields??[]})})})}l(w,"CostCalculatorForm");export{w as a};
|
|
2
|
+
//# sourceMappingURL=chunk-AG6UYT2C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorForm.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { CostCalculatorEstimateResponse } from '@/src/client';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useCostCalculatorContext } from '@/src/flows/CostCalculator/context';\nimport { EstimationError } from '@/src/flows/CostCalculator/hooks';\nimport {\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationSubmitValues,\n} from '@/src/flows/CostCalculator/types';\n\ntype CostCalculatorFormProps = Partial<{\n /**\n * Callback function that handles form submission. When form is submit, the form values are sent to the consumer app before behind submitted to Remote.\n * @param data - The payload sent to the /cost-calculator/estimation endpoint.\n */\n onSubmit: (\n data: CostCalculatorEstimationSubmitValues,\n ) => Promise<void> | void;\n /**\n * Callback function to handle the success when the estimation succeeds. The CostCalculatorEstimateResponse is sent back to you.\n * @param data - The response data from the /cost-calculator/estimation endpoint.\n */\n onSuccess: (data: CostCalculatorEstimateResponse) => Promise<void> | void;\n /**\n * Callback function to handle the error when the estimation fails.\n * @param error - The error object.\n */\n onError: (error: EstimationError) => void;\n /**\n * Whether to reset the form when the form is successfully submitted.\n */\n shouldResetForm?: boolean;\n\n /**\n * Fields to reset when the form is successfully submitted.\n */\n resetFields?: ('country' | 'currency' | 'salary')[];\n}>;\n\nexport function CostCalculatorForm({\n onSubmit,\n onError,\n onSuccess,\n shouldResetForm,\n resetFields,\n}: CostCalculatorFormProps) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n\n if (\n process.env.NODE_ENV === 'development' &&\n shouldResetForm &&\n resetFields\n ) {\n console.warn(\n 'CostCalculatorForm: Both \"shouldResetForm\" and \"resetFields\" were provided. Using \"shouldResetForm\" and ignoring \"resetFields\".',\n );\n resetFields = undefined;\n }\n\n const {\n formState: { isSubmitSuccessful },\n } = form;\n\n useEffect(() => {\n // resets the entire form if the form is successfully submitted and the shouldResetForm prop is true\n if (isSubmitSuccessful && shouldResetForm) {\n costCalculatorBag?.resetForm();\n form.reset();\n }\n\n // resets the specified fields if the form is successfully submitted and the resetFields prop is provided\n if (isSubmitSuccessful && resetFields) {\n // Reset only the specified fields\n const currentValues = form.getValues();\n const resetValues = { ...currentValues };\n resetFields.forEach((field) => {\n resetValues[field] = '';\n });\n\n costCalculatorBag?.resetForm();\n form.reset(resetValues);\n }\n }, [\n isSubmitSuccessful,\n form,\n shouldResetForm,\n costCalculatorBag,\n resetFields,\n ]);\n\n const handleSubmit = async (values: CostCalculatorEstimationFormValues) => {\n const cleanedValues = costCalculatorBag?.parseFormValues(\n values,\n ) as CostCalculatorEstimationSubmitValues;\n const costCalculatorResults =\n await costCalculatorBag?.onSubmit(cleanedValues);\n\n await onSubmit?.(cleanedValues);\n\n if (costCalculatorResults?.error) {\n onError?.(costCalculatorResults.error);\n } else if (costCalculatorResults?.data) {\n await onSuccess?.(costCalculatorResults?.data);\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"space-y-4 RemoteFlows__CostCalculatorForm\"\n >\n <JSONSchemaFormFields fields={costCalculatorBag?.fields ?? []} />\n </form>\n </Form>\n );\n}\n"],"mappings":"gKAAA,OAAS,aAAAA,MAAiB,QAkHlB,cAAAC,MAAA,oBA1ED,SAASC,EAAmB,CACjC,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,YAAAC,CACF,EAA4B,CAC1B,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EAGnE,QAAQ,IAAI,WAAa,eACzBL,GACAC,IAEA,QAAQ,KACN,iIACF,EACAA,EAAc,QAGhB,GAAM,CACJ,UAAW,CAAE,mBAAAK,CAAmB,CAClC,EAAIJ,EAEJK,EAAU,IAAM,CAQd,GANID,GAAsBN,IACxBI,GAAmB,UAAU,EAC7BF,EAAK,MAAM,GAITI,GAAsBL,EAAa,CAGrC,IAAMO,EAAc,CAAE,GADAN,EAAK,UAAU,CACE,EACvCD,EAAY,QAASQ,GAAU,CAC7BD,EAAYC,CAAK,EAAI,EACvB,CAAC,EAEDL,GAAmB,UAAU,EAC7BF,EAAK,MAAMM,CAAW,CACxB,CACF,EAAG,CACDF,EACAJ,EACAF,EACAI,EACAH,CACF,CAAC,EAED,IAAMS,EAAeC,EAAA,MAAOC,GAA+C,CACzE,IAAMC,EAAgBT,GAAmB,gBACvCQ,CACF,EACME,EACJ,MAAMV,GAAmB,SAASS,CAAa,EAEjD,MAAMhB,IAAWgB,CAAa,EAE1BC,GAAuB,MACzBhB,IAAUgB,EAAsB,KAAK,EAC5BA,GAAuB,MAChC,MAAMf,IAAYe,GAAuB,IAAI,CAEjD,EAdqB,gBAgBrB,OACEnB,EAACoB,EAAA,CAAM,GAAGb,EACR,SAAAP,EAAC,QACC,GAAIQ,EACJ,SAAUD,EAAK,aAAaQ,CAAY,EACxC,UAAU,4CAEV,SAAAf,EAACqB,EAAA,CAAqB,OAAQZ,GAAmB,QAAU,CAAC,EAAG,EACjE,EACF,CAEJ,CA9EgBO,EAAAf,EAAA","names":["useEffect","jsx","CostCalculatorForm","onSubmit","onError","onSuccess","shouldResetForm","resetFields","form","formId","costCalculatorBag","useCostCalculatorContext","isSubmitSuccessful","useEffect","resetValues","field","handleSubmit","__name","values","cleanedValues","costCalculatorResults","Form","JSONSchemaFormFields"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as g}from"./chunk-PGWKJ6FK.js";import{d as f,e as w}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as g}from"./chunk-PGWKJ6FK.js";import{d as f,e as w}from"./chunk-MOUO52OS.js";import{a as m}from"./chunk-QW4JPW6J.js";import{b as E}from"./chunk-WZSGDTVV.js";import{b as y}from"./chunk-3ZWDIEEM.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as R}from"react/jsx-runtime";function A({onSubmit:S,onSuccess:d,onError:o,render:u,...r}){let{components:I}=y(),{onboardingBag:t,setCreditScore:c}=g(),n=f(),i=w(),{mutateAsync:b}=m(n),{mutateAsync:_}=m(i),l=a(async()=>{try{if(await S?.(),t.creditRiskStatus==="deposit_required"&&t.employmentId&&t.employment?.status&&!t.isEmploymentReadOnly){let e=await _({employment_slug:t.employmentId});if(e.data){await d?.({data:e.data,employmentStatus:"created_awaiting_reserve"}),c?.(s=>({...s,showReserveInvoice:!0})),t.refetchEmployment();return}e.error&&o?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}else if(t.employmentId){let e=await b({employment_id:t.employmentId});if(e.data){await d?.({data:e.data,employmentStatus:"invited"}),c?.(s=>({...s,showInviteSuccessful:!0})),t.refetchEmployment();return}e.error&&o?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}}catch(e){o?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit"),p=t.creditRiskStatus==="deposit_required"&&t.employment?.status&&!t.isEmploymentReadOnly,v=I?.button;return v?R(v,{...r,disabled:n.isPending||i.isPending||r.disabled,onClick:e=>{l(),r.onClick?.(e)},children:u({employmentStatus:p?"created_awaiting_reserve":"invited"})}):R(E,{...r,disabled:n.isPending||i.isPending||r.disabled,onClick:()=>{l()},children:u({employmentStatus:p?"created_awaiting_reserve":"invited"})})}a(A,"OnboardingInvite");export{A as a};
|
|
2
|
+
//# sourceMappingURL=chunk-CCYHGN4R.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as F}from"./chunk-UDCOYAXP.js";import{b as l}from"./chunk-CFIJKJXD.js";import{f,g as p}from"./chunk-STEO7MS2.js";import{c as u}from"./chunk-CNYSTJVL.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a as r}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as a}from"react/jsx-runtime";var w=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:S,stepState:g,initialValues:i,handleValidation:y}}=_(),V=l(y),e=f({resolver:V,defaultValues:g.values?.form||i,shouldUnregister:!0,mode:"onBlur"});R(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=r(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!w.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=u(t,s,{isPartialValidation:!1});await b?.(d);let n=await S(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return a(p,{...e,children:a("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:a(F,{fields:s})})})}r(x,"ContractAmendmentForm");export{x as a};
|
|
2
|
+
//# sourceMappingURL=chunk-DMWRLPWG.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-25OMQHCO.js";import{b as a}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as p}from"react/jsx-runtime";function F({requesterName:n,onSubmit:s,onSuccess:m,onError:d}){let{terminationBag:e}=a(),l=i(async o=>{await s?.(e?.parseFormValues(o));let r=await e?.onSubmit(o);r?.error?d?.(r.error):r?.data&&await m?.(r.data)},"handleSubmit"),u=e?.fields.map(o=>o.name==="acknowledge_termination_procedure"?{...o,label:o.label.replace("{{requesterName}}",n)}:o);return p(t,{fields:u,onSubmit:l})}i(F,"AdditionalDetailsForm");export{F as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KUIJOFEW.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as x}from"./chunk-CVXZNBHC.js";import{a as R}from"./chunk-3TAUIOLW.js";import{a as N}from"./chunk-MIALHORP.js";import{a as _,b as h,c as v,d as T,e as w}from"./chunk-2IOIRPXX.js";import{a as P}from"./chunk-BHXNRWYC.js";import{a as g}from"./chunk-OYI5OCMY.js";import{a as i}from"./chunk-TC3SWPEN.js";import{a as l}from"./chunk-P37U34EQ.js";import{lazy as z,useState as H}from"react";import*as n from"@radix-ui/react-tabs";import{jsx as b}from"react/jsx-runtime";function k({className:r,...o}){return b(n.Root,{"data-slot":"tabs",className:i("flex flex-col gap-2",r),...o})}l(k,"Tabs");function B({className:r,...o}){return b(n.List,{"data-slot":"tabs-list",className:i("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",r),...o})}l(B,"TabsList");function d({className:r,...o}){return b(n.Trigger,{"data-slot":"tabs-trigger",className:i("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",r),...o})}l(d,"TabsTrigger");import{Fragment as G,jsx as t,jsxs as a}from"react/jsx-runtime";var E=z(()=>import("./flows/CostCalculator/Results/CostCalculatorResultsChart.js"));function X({employmentData:r,options:o}){let[s,S]=H("monthly"),c=r.employments?.[0];if(!c)return null;let e=c.employer_currency_costs,m=e.currency.symbol,f=s==="monthly"?e.monthly_gross_salary:e.annual_gross_salary,C=s==="monthly"?e.monthly_benefits_total:e.annual_benefits_total,p=s==="monthly"?e.monthly_contributions_total:e.annual_contributions_total,D=s==="monthly"?e.monthly_total:e.annual_total,u=s==="monthly"?e.monthly_benefits_breakdown:e.annual_benefits_breakdown,L=s==="monthly"?e.monthly_contributions_breakdown:e.annual_contributions_breakdown,y=[{name:"Gross Salary",value:f,color:o?.chartColors?.grossSalary??"#3b82f6"},{name:"Contributions",value:p,color:o?.chartColors?.contributions??"#f59e0b"}];return u&&y.push({name:"Benefits",value:C??0,color:o?.chartColors?.benefits??"#10b981"}),a(G,{children:[a("div",{className:"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults",children:[a("div",{className:"RemoteFlows__CostCalculatorResults__Header",children:[a("h2",{className:"text-xl font-semibold flex items-center gap-2",children:[t("span",{className:"flex items-center gap-1",children:o?.title??"Cost Calculator"}),t(g,{className:"ml-2",children:c.country.name})]}),t("p",{className:"text-primary-foreground font-medium mt-1",children:o?.description??`Total cost of employment in ${c.country.name}`})]}),t(k,{value:s,onValueChange:F=>S(F),className:"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs",children:a(B,{className:"grid w-full md:w-[200px] grid-cols-2",children:[t(d,{value:"monthly",children:"Monthly"}),t(d,{value:"annual",children:"Annual"})]})})]}),a("div",{className:i("grid grid-cols-1 gap-6",o?.showChart?"md:grid-cols-3":"","RemoteFlows__CostCalculatorResults_CostBreakdown"),children:[a(_,{className:"md:col-span-2 rounded-lg",children:[a(h,{className:"pb-2",children:[t(v,{children:"Cost Breakdown"}),t(T,{children:"Detailed breakdown of all employer costs"})]}),t(w,{children:a("div",{className:"space-y-6",children:[t(N,{grossSalary:f,currency:m}),u?t(x,{benefitsBreakdown:u,benefitsTotal:C,currency:m}):null,t(R,{contributionsBreakdown:L,contributionsTotal:p,currency:m}),t(P,{totalCost:D,currency:m})]})})]}),o?.showChart&&t(E,{chartData:y,currency:m})]})]})}l(X,"CostCalculatorResults");export{X as a};
|
|
2
|
+
//# sourceMappingURL=chunk-L6CLZL2D.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b}from"./chunk-PGWKJ6FK.js";import{b as y}from"./chunk-QW4JPW6J.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b}from"./chunk-PGWKJ6FK.js";import{b as y}from"./chunk-QW4JPW6J.js";import{a as u}from"./chunk-UDCOYAXP.js";import{b as f}from"./chunk-CFIJKJXD.js";import{f as p,g as F}from"./chunk-STEO7MS2.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as d}from"react/jsx-runtime";function N({defaultValues:l,onSubmit:g,components:E}){let{formId:w,onboardingBag:o}=b(),h=f(o.handleValidation),r=p({resolver:h,defaultValues:l,shouldUnregister:!1,mode:"onBlur"});S(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),S(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==l[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let k=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:c}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let B=o.stepState.currentStep.name,P=o.meta?.fields?.[B],O=y(n?.fieldErrors||[],P);c?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){c?.({error:a,rawError:a,fieldErrors:[]})}}else g(t)},"handleSubmit");return d(F,{...r,children:d("form",{id:w,onSubmit:r.handleSubmit(k),className:"space-y-4 RemoteFlows__OnboardingForm",children:d(u,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})})})}m(N,"OnboardingForm");export{N as a};
|
|
2
|
+
//# sourceMappingURL=chunk-LXHKMGWZ.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as S}from"./chunk-Z7WBY27D.js";import{a as c}from"./chunk-7TOZZQQJ.js";import{a as m}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as S}from"./chunk-Z7WBY27D.js";import{a as c}from"./chunk-7TOZZQQJ.js";import{a as m}from"./chunk-RTNT5LSU.js";import{a as r}from"./chunk-OOK2XH5H.js";import{a as f}from"./chunk-2EPROBXQ.js";import{a as s}from"./chunk-4CZKKCKQ.js";import{a}from"./chunk-DBRBPYIF.js";import{a as p}from"./chunk-CCYHGN4R.js";import{a as i}from"./chunk-R4PWQPR6.js";import{a as n}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-XOOG5SNT.js";import{a as t}from"./chunk-P37U34EQ.js";import{useId as w,useState as C}from"react";import{jsx as R}from"react/jsx-runtime";var H=t(({employmentId:d,companyId:b,countryCode:u,type:g="employee",skipSteps:B,render:l,options:v})=>{let O=w(),o=e({companyId:b,countryCode:u,employmentId:d,type:g,options:v,skipSteps:B}),[y,I]=C({showReserveInvoice:!1,showInviteSuccessful:!1});return R(n.Provider,{value:{formId:O,onboardingBag:o,creditScore:y,setCreditScore:I},children:l({onboardingBag:o,components:{BasicInformationStep:r,ContractDetailsStep:s,BenefitsStep:f,SubmitButton:i,SaveDraftButton:c,BackButton:a,OnboardingInvite:p,SelectCountryStep:m,ReviewStep:S}})})},"OnboardingFlow");export{H as a};
|
|
2
|
+
//# sourceMappingURL=chunk-MBIQ2ECY.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as A}from"./chunk-WVJDCDGZ.js";import{b as M}from"./chunk-PWUYHFON.js";import{d as F,f as C,g,h as S,j,k as w,m as E,o as v,p as O,q,s as P,t as x,w as V,y as z}from"./chunk-276MJCIE.js";import{d as a}from"./chunk-3ZWDIEEM.js";import{a as b}from"./chunk-CNYSTJVL.js";import{a as n}from"./chunk-P37U34EQ.js";import{createHeadlessForm as d,modify as h}from"@remoteoss/json-schema-form";import{useMutation as m,useQuery as f}from"@tanstack/react-query";var Y=n(e=>{let{client:r}=a();return f({queryKey:["employment",e],retry:!1,enabled:!!e,select:n(({data:t})=>t?.data.employment,"select"),queryFn:n(async()=>{let t=await O({client:r,headers:{Authorization:""},path:{employment_id:e}});if(t.error||!t.data)throw new Error("Failed to fetch employment data");return t},"queryFn")})},"useEmployment"),Z=n(e=>{let{client:r}=a();return f({queryKey:["company",e],retry:!1,enabled:!!e,queryFn:n(async()=>{let t=await w({client:r,headers:{Authorization:""},path:{company_id:e}});if(t.error||!t.data)throw new Error("Failed to fetch employment data");return t},"queryFn"),select:n(({data:t})=>t.data.company,"select")})},"useCompany"),$=n(e=>{let{client:r}=a();return f({queryKey:["benefit-offers",e],retry:!1,enabled:!!e,queryFn:n(async()=>C({client:r,headers:{Authorization:""},path:{employment_id:e}}).then(t=>{if(t.error||!t.data)throw new Error("Failed to fetch benefit offers data");return t}),"queryFn"),select:n(({data:t})=>t?.data?.reduce((o,s)=>({...o,[s.benefit_group.slug]:{value:s.benefit_tier?.slug??"no",...s.benefit_group?.filter?.slug?{filter:s.benefit_group?.filter?.slug}:{}}}),{}),"select")})},"useBenefitOffers"),ee=n(()=>{let{client:e}=a();return m({mutationFn:n(r=>V({client:e,headers:{Authorization:""},path:r}),"mutationFn")})},"useEmploymentInvite"),te=n(()=>{let{client:e}=a();return m({mutationFn:n(r=>j({client:e,headers:{Authorization:""},body:r}),"mutationFn")})},"useCreateReserveInvoice"),ne=n(({countryCode:e,form:r,fieldValues:t,options:o,query:s={}})=>{let{client:i}=a(),c=o?.jsonSchemaVersion?.form_schema?.[r]?{json_schema_version:o.jsonSchemaVersion.form_schema[r]}:{};return f({queryKey:["onboarding-json-schema-form",e,r],retry:!1,queryFn:n(async()=>{let l=await E({client:i,headers:{Authorization:""},path:{country_code:e,form:r},query:{skip_benefits:!0,...s,...c}});if(l.error||!l.data)throw new Error("Failed to fetch onboarding schema");return l},"queryFn"),enabled:o?.queryOptions?.enabled,select:n(({data:l})=>{let u=l?.data||{};if(o&&o.jsfModify){let{schema:y}=h(u,o.jsfModify);u=y}let k=M(u.properties||{},"money").reduce((y,_)=>(y[_]=b(t[_]),y),{});return{meta:{"x-jsf-fieldsets":u["x-jsf-fieldsets"]},...d(u,{initialValues:{...t,...k}})}},"select")})},"useJSONSchemaForm"),re=n((e,r,t)=>{let o=t?.jsonSchemaVersion?.benefit_offers_form_schema?{json_schema_version:t.jsonSchemaVersion.benefit_offers_form_schema}:{},{client:s}=a();return f({queryKey:["benefit-offers-schema",e],retry:!1,enabled:!!e,queryFn:n(async()=>{let i=await v({client:s,headers:{Authorization:""},path:{employment_id:e},query:o});if(i.error||!i.data)throw new Error("Failed to fetch benefit offers schema");return i},"queryFn"),select:n(({data:i})=>{let c=i?.data?.schema||{};if(t&&t.jsfModify?.benefits){let{schema:p}=h(c,t.jsfModify.benefits);c=p}let l=Object.keys(r).length>0;return d(c,{initialValues:l?{...r}:{}})},"select")})},"useBenefitOffersSchema"),oe=n(e=>{let{client:r}=a(),t=e?.jsonSchemaVersion?.form_schema?.employment_basic_information?{json_schema_version:e.jsonSchemaVersion.form_schema.employment_basic_information}:{};return m({mutationFn:n(o=>F({client:r,headers:{Authorization:""},body:o,query:{...t}}),"mutationFn")})},"useCreateEmployment"),se=n(e=>{let{client:r}=a(),t={employment_basic_information_json_schema_version:e?.jsonSchemaVersion?.form_schema?.employment_basic_information,employment_contract_details_json_schema_version:e?.jsonSchemaVersion?.form_schema?.contract_details},o=Object.fromEntries(Object.entries(t).filter(([,s])=>s!==void 0));return m({mutationFn:n(({employmentId:s,...i})=>q({client:r,headers:{Authorization:""},body:i,path:{employment_id:s},query:{skip_benefits:!0,...o}}),"mutationFn")})},"useUpdateEmployment"),ae=n(e=>{let{client:r}=a();return m({mutationFn:n(({employmentId:t,...o})=>{let s=e?.jsonSchemaVersion?.benefit_offers_form_schema?{json_schema_version:e.jsonSchemaVersion.benefit_offers_form_schema}:{};return g({client:r,headers:{Authorization:""},body:o,path:{employment_id:t},query:{...s}})},"mutationFn")})},"useUpdateBenefitsOffers"),ie=n(()=>{let{client:e}=a();return m({mutationFn:n(r=>S({client:e,headers:{Authorization:""},body:r}),"mutationFn")})},"useMagicLink"),U=n(e=>{let{client:r}=a();return f({...e,queryKey:["countries"],retry:!1,queryFn:n(async()=>{let t=await x({client:r,headers:{Authorization:""}});if(t.error||!t.data)throw new Error("Failed to fetch supported countries");return t},"queryFn"),select:n(({data:t})=>t?.data?.map(o=>({label:o.name,value:o.code}))||[],"select")})},"useCountries"),me=n(e=>{let{data:r,isLoading:t}=U(e?.queryOptions),{schema:o}=h(A.data.schema,e?.jsfModify||{}),s=d(o);if(r){let i=s.fields.find(c=>c.name==="country");i&&(i.options=r)}return{isLoading:t,selectCountryForm:s}},"useCountriesSchemaField"),ce=n(()=>{let{client:e}=a();return m({mutationFn:n(r=>z({client:e,headers:{Authorization:""},body:r}),"mutationFn")})},"useConvertCurrency"),le=n(()=>{let{client:e}=a();return m({mutationFn:n(({employmentId:r,...t})=>P({client:e,headers:{Authorization:""},path:{employment_id:r},body:t}),"mutationFn")})},"useUpsertContractEligibility");export{Y as a,Z as b,$ as c,ee as d,te as e,ne as f,re as g,oe as h,se as i,ae as j,ie as k,me as l,ce as m,le as n};
|
|
2
|
+
//# sourceMappingURL=chunk-MOUO52OS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Onboarding/api.ts"],"sourcesContent":["import {\n ConvertCurrencyParams,\n CreateContractEligibilityParams,\n EmploymentCreateParams,\n EmploymentFullParams,\n getIndexBenefitOffer,\n getShowCompany,\n getShowEmployment,\n getShowFormCountry,\n getShowSchema,\n getSupportedCountry,\n MagicLinkParams,\n patchUpdateEmployment2,\n postConvertCurrencyConverter,\n postCreateContractEligibility,\n postCreateEmployment2,\n postCreateRiskReserve,\n postGenerateMagicLink,\n postInviteEmploymentInvitation,\n PostInviteEmploymentInvitationData,\n putUpdateBenefitOffer,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n} from '@/src/client';\nimport { convertToCents } from '@/src/components/form/utils';\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { OnboardingFlowParams } from '@/src/flows/Onboarding/types';\nimport { FlowOptions, JSONSchemaFormType } from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\nimport { Client } from '@hey-api/client-fetch';\nimport { createHeadlessForm, modify } from '@remoteoss/json-schema-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\n\nexport const useEmployment = (employmentId: string | undefined) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n enabled: !!employmentId,\n select: ({ data }) => {\n return data?.data.employment;\n },\n queryFn: async () => {\n const response = await getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n });\n};\n\nexport const useCompany = (companyId: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company', companyId],\n retry: false,\n enabled: !!companyId,\n queryFn: async () => {\n const response = await getShowCompany({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n select: ({ data }) => {\n return data.data.company;\n },\n });\n};\n\nexport const useBenefitOffers = (employmentId: string | undefined) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n return getIndexBenefitOffer({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers data');\n }\n\n return response;\n });\n },\n select: ({ data }) =>\n data?.data?.reduce(\n (acc, item) => {\n return {\n ...acc,\n [item.benefit_group.slug]: {\n value: item.benefit_tier?.slug ?? 'no',\n ...(item.benefit_group?.filter?.slug\n ? { filter: item.benefit_group?.filter?.slug }\n : {}),\n },\n };\n },\n {} as Record<string, { value: string }>,\n ),\n });\n};\n/**\n * Use this hook to invite an employee to the onboarding flow\n * @returns\n */\nexport const useEmploymentInvite = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: PostInviteEmploymentInvitationData['path']) => {\n return postInviteEmploymentInvitation({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: payload,\n });\n },\n });\n};\n\nexport const useCreateReserveInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: { employment_slug: string }) => {\n return postCreateRiskReserve({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Use this hook to get the JSON schema form for the onboarding flow\n * @param param0\n * @returns\n */\nexport const useJSONSchemaForm = ({\n countryCode,\n form,\n fieldValues,\n options,\n query = {},\n}: {\n countryCode: string;\n form: JSONSchemaFormType;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n}) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.form_schema?.[form]\n ? {\n json_schema_version: options.jsonSchemaVersion.form_schema[form],\n }\n : {};\n return useQuery({\n queryKey: ['onboarding-json-schema-form', countryCode, form],\n retry: false,\n queryFn: async () => {\n const response = await getShowFormCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: form,\n },\n query: {\n skip_benefits: true,\n ...query,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch onboarding schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n let jsfSchema = data?.data || {};\n if (options && options.jsfModify) {\n const { schema } = modify(jsfSchema, options.jsfModify);\n jsfSchema = schema;\n }\n\n // Contract details contains x-jsf-logic that need to be calculated every time a form value changes\n // In particular there are calculations involving the annual_gross_salary field. However this field value doesn't get\n // here in cents. So we need to convert the money fields to cents, so that the calculations are correct.\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n const moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n\n return {\n meta: {\n 'x-jsf-fieldsets': jsfSchema['x-jsf-fieldsets'] as JSFFieldset,\n },\n ...createHeadlessForm(jsfSchema, {\n initialValues: {\n ...fieldValues,\n ...moneyFieldsData,\n },\n }),\n };\n },\n });\n};\n\nexport const useBenefitOffersSchema = (\n employmentId: string,\n fieldValues: FieldValues,\n options: OnboardingFlowParams['options'],\n) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getShowSchema({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers schema');\n }\n\n return response;\n },\n select: ({ data }) => {\n let jsfSchema = data?.data?.schema || {};\n\n if (options && options.jsfModify?.benefits) {\n const { schema } = modify(jsfSchema, options.jsfModify.benefits);\n jsfSchema = schema;\n }\n const hasFieldValues = Object.keys(fieldValues).length > 0;\n const result = createHeadlessForm(jsfSchema, {\n // we need to clone the fieldValues to prevent side effects\n // if we don't do this, the benefits get included in the other steps\n initialValues: hasFieldValues ? { ...fieldValues } : {},\n });\n return result;\n },\n });\n};\n\n/**\n * Use this hook to create an employment\n * @returns\n */\nexport const useCreateEmployment = (\n options?: OnboardingFlowParams['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.form_schema\n ?.employment_basic_information\n ? {\n json_schema_version:\n options.jsonSchemaVersion.form_schema.employment_basic_information,\n }\n : {};\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postCreateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmployment = (\n options?: OnboardingFlowParams['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParams = {\n employment_basic_information_json_schema_version:\n options?.jsonSchemaVersion?.form_schema?.employment_basic_information,\n employment_contract_details_json_schema_version:\n options?.jsonSchemaVersion?.form_schema?.contract_details,\n };\n\n const filteredQueryParams = Object.fromEntries(\n Object.entries(jsonSchemaQueryParams).filter(\n ([, value]) => value !== undefined,\n ),\n );\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentFullParams & { employmentId: string }) => {\n return patchUpdateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n skip_benefits: true,\n ...filteredQueryParams,\n },\n });\n },\n });\n};\n\nexport const useUpdateBenefitsOffers = (\n options?: OnboardingFlowParams['options'],\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: UnifiedEmploymentUpsertBenefitOffersRequest & {\n employmentId: string;\n }) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n return putUpdateBenefitOffer({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useMagicLink = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: MagicLinkParams) => {\n return postGenerateMagicLink({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: params,\n });\n },\n });\n};\n\nconst useCountries = (queryOptions?: { enabled?: boolean }) => {\n const { client } = useClient();\n return useQuery({\n ...queryOptions,\n queryKey: ['countries'],\n retry: false,\n queryFn: async () => {\n const response = await getSupportedCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch supported countries');\n }\n\n return response;\n },\n select: ({ data }) => {\n return (\n data?.data?.map((country) => {\n return {\n label: country.name,\n value: country.code,\n };\n }) || []\n );\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } },\n) => {\n const { data: countries, isLoading } = useCountries(options?.queryOptions);\n\n const { schema: selectCountrySchema } = modify(\n selectCountryStepSchema.data.schema,\n options?.jsfModify || {},\n );\n\n const selectCountryForm = createHeadlessForm(selectCountrySchema);\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n };\n};\n\nexport const useConvertCurrency = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: ConvertCurrencyParams) => {\n return postConvertCurrencyConverter({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n });\n },\n });\n};\n\nexport const useUpsertContractEligibility = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: { employmentId: string } & CreateContractEligibilityParams) => {\n return postCreateContractEligibility({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n"],"mappings":"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","names":["createHeadlessForm","modify","useMutation","useQuery","useEmployment","__name","employmentId","client","useClient","useQuery","data","response","getShowEmployment","useCompany","companyId","getShowCompany","useBenefitOffers","getIndexBenefitOffer","acc","item","useEmploymentInvite","useMutation","payload","postInviteEmploymentInvitation","useCreateReserveInvoice","postCreateRiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaQueryParam","getShowFormCountry","jsfSchema","schema","modify","moneyFieldsData","findFieldsByType","field","convertToCents","createHeadlessForm","useBenefitOffersSchema","getShowSchema","hasFieldValues","useCreateEmployment","postCreateEmployment2","useUpdateEmployment","jsonSchemaQueryParams","filteredQueryParams","value","patchUpdateEmployment2","useUpdateBenefitsOffers","putUpdateBenefitOffer","useMagicLink","params","postGenerateMagicLink","useCountries","queryOptions","getSupportedCountry","country","useCountriesSchemaField","countries","isLoading","selectCountrySchema","selectCountryStepSchema","selectCountryForm","countryField","useConvertCurrency","postConvertCurrencyConverter","useUpsertContractEligibility","postCreateContractEligibility"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-LXHKMGWZ.js";import{b as t}from"./chunk-PGWKJ6FK.js";import{b as e}from"./chunk-QW4JPW6J.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function S({onSubmit:m,onSuccess:d,onError:a}){let{onboardingBag:o}=t(),l=i(async n=>{try{await m?.(o.parseFormValues(n));let r=await o.onSubmit(n);if(r?.data){await d?.(r?.data),o?.next();return}if(r?.error){let p=e(r?.fieldErrors||[],o.meta?.fields?.basic_information);a?.({error:r?.error,rawError:r?.rawError,fieldErrors:p})}}catch(r){a?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),f=o.stepState.values?.basic_information||o.initialValues.basic_information;return c(s,{defaultValues:f,onSubmit:l})}i(S,"BasicInformationStep");export{S as a};
|
|
2
|
+
//# sourceMappingURL=chunk-OOK2XH5H.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as q}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as q}from"./chunk-S2G7GEGF.js";import{a as L}from"./chunk-UPRUP24B.js";import{a as A,b as v,c as k,e as T}from"./chunk-MC6FNME3.js";import{a as x}from"./chunk-CFIJKJXD.js";import{c as g}from"./chunk-CNYSTJVL.js";import{a as o}from"./chunk-P37U34EQ.js";import{object as ce}from"yup";import{createHeadlessForm as ie,modify as ne}from"@remoteoss/json-schema-form";import{useMemo as se,useState as P}from"react";import{string as G,ValidationError as U}from"yup";import{jsx as le}from"react/jsx-runtime";var j={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1},ae=o(t=>{let{schema:i}=ne(L.data.schema,t?.jsfModify||{});return ie(i)},"useStaticSchema"),be=o(({defaultRegion:t,estimationOptions:i,options:n,version:l}={estimationOptions:j})=>{let[p,m]=P(t),[f,M]=P(),[B,I]=P(),{data:C,isLoading:N}=A({includePremiumBenefits:i.includePremiumBenefits}),{data:E,isLoading:z}=v(),D=p||f?.value,{data:S,isLoading:K}=T(D,{includePremiumBenefits:i.includePremiumBenefits,options:n}),w=k(),O=f?.currency,c=n?.jsfModify?.fields?.salary,y=c&&typeof c=="object"&&"presentation"in c?c.presentation:void 0,Q=se(()=>({fields:{salary:{...c,presentation:{salary_conversion_properties:{label:y?.salary_conversion_properties?.label,description:y?.salary_conversion_properties?.description},currencies:{from:O,to:B},Component:o(e=>le(q,{...e}),"Component")}}}}),[O,B,c,y?.salary_conversion_properties?.description,y?.salary_conversion_properties?.label]),u=ae({jsfModify:{fields:{...n?.jsfModify?.fields,...Q?.fields}}});async function W(e){try{await b.validate(e,{abortEarly:!1})}catch(r){return{data:null,error:r}}return new Promise((r,s)=>{w.mutate(H(e,i,l),{onSuccess:o(a=>{a.data?r({data:a.data,error:null}):r({data:null,error:new Error("Something went wrong. Please try again later.")})},"onSuccess"),onError:o(a=>{s({data:null,error:a})},"onError")})})}o(W,"onSubmit");function X(e){let r=C?.find(({value:s})=>s===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?m(r.regionSlug):m(void 0),M(r)}o(X,"onCountryChange");function Y(e){m(e)}o(Y,"onRegionChange");function Z(e){let r=E?.find(s=>s.value===e)?.label;I(r)}o(Z,"onChangeCurrency");let d=u.fields.find(e=>e.name==="region");if(d){let e=f?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];d.options=e,d.isVisible=e.length>0,d.required=e.length>0,d.onChange=Y,d.schema=e.length>0?G().transform(r=>typeof r=="string"?r:"").required("Region is required"):G()}if(E){let e=u.fields.find(r=>r.name==="currency");e&&(e.options=E,e.onChange=Z)}if(C){let e=u.fields.find(r=>r.name==="country");e&&(e.options=C,e.onChange=X)}let ee=o(()=>{M(void 0),m(t)},"resetForm"),J=[...u.fields,...S?.fields||[]],b=$(u.fields);async function re(e){let r=null,s=g(e,J);try{await b.validate(s,{abortEarly:!1}),r={formErrors:{},yupError:new U([],e)}}catch(F){let V=x(F);r={formErrors:Object.entries(V).reduce((R,[te,oe])=>({...R,[te]:oe.message}),{}),yupError:F}}let a=S?.handleValidation(s),h=[...r?.yupError.inner||[],...a?.yupError?.inner||[]],_={...r?.yupError?.value||{},...a?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...a?.formErrors||{}},yupError:new U(h,_)}}return o(re,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:J,validationSchema:b,parseFormValues:o(e=>{let{country:r,region:s,salary:a,currency:h,..._}=e,V=g({country:r,region:s,salary:a,currency:h},u.fields),R=g(_,S?.fields||[]);return{...V,...R}},"parseFormValues"),handleValidation:re,isSubmitting:w.isPending,isLoading:N&&z&&K,onSubmit:W,resetForm:ee}},"useCostCalculator");function $(t){let i=t.reduce((n,l)=>(n[l.name]=l.schema,n),{});return ce(i)}o($,"buildValidationSchema");function ue(t){let i="benefit-";return Object.keys(t).reduce((n,l)=>{let p=t[l];if(p==="none")return n;let f={benefit_group_slug:l.replace(i,""),benefit_tier_slug:p};return[...n,f]},[])}o(ue,"formatBenefits");function H(t,i=j,n="standard"){return{employer_currency_slug:t.currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,employments:[{region_slug:t.region||t.country,annual_gross_salary_in_employer_currency:t.salary,employment_term:t.contract_duration_type??"fixed",title:i.title,age:t.age??void 0,...t.benefits&&{benefits:ue(t.benefits)},...n==="standard"&&{annual_gross_salary:t.salary}}]}}o(H,"buildPayload");export{$ as a,H as b,j as c,be as d};
|
|
2
|
+
//# sourceMappingURL=chunk-QTN4WTLR.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-LXHKMGWZ.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-RTNT5LSU.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-X5UOBUIX.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as l}from"react/jsx-runtime";var t=r(({currencies:{from:o,to:i},salary_conversion_properties:s,...n})=>l(e,{...n,sourceCurrency:o,targetCurrency:i,conversionFieldName:"salary_conversion",conversionProperties:s,classNamePrefix:"RemoteFlows-Salary"}),"SalaryField");export{t as a};
|
|
2
|
+
//# sourceMappingURL=chunk-S2G7GEGF.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as v}from"./chunk-VTNGEN34.js";import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as v}from"./chunk-VTNGEN34.js";import{a as A}from"./chunk-QW4JPW6J.js";import{a as l,b as _}from"./chunk-Z4FTX74F.js";import{c as E,l as w,u as b}from"./chunk-276MJCIE.js";import{a as M}from"./chunk-PJBAQZ6G.js";import{d}from"./chunk-3ZWDIEEM.js";import{a as j,c as S}from"./chunk-CNYSTJVL.js";import{a as t}from"./chunk-P37U34EQ.js";import{createHeadlessForm as I,modify as R}from"@remoteoss/json-schema-form";import{useMutation as Q,useQuery as B}from"@tanstack/react-query";var J=t(({countryCode:a,employment:r,fieldValues:n,options:e})=>{let{client:u}=d(),m=e?.jsonSchemaVersion?.contract_amendments?{json_schema_version:e.jsonSchemaVersion.contract_amendments}:{};return B({queryKey:["contract-amendment-schema"],retry:!1,queryFn:t(async()=>{let o=await E({client:u,headers:{Authorization:""},query:{employment_id:r?.data?.employment?.id,country_code:a,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:t(({data:o})=>{let c=o?.data||{};if(e&&e.jsfModify){let{schema:f}=R(c,e.jsfModify);c=f}let s={...n,annual_gross_salary:n?.annual_gross_salary?j(n?.annual_gross_salary):void 0},y=Object.keys(s).length>0;return I(c,{initialValues:y?s:_(r)})},"select")})},"useContractAmendmentSchemaQuery"),K=t(a=>{let{client:r}=d(),n=a?.jsonSchemaVersion?.contract_amendments?{json_schema_version:a.jsonSchemaVersion.contract_amendments}:{};return Q({mutationFn:t(e=>w({client:r,headers:{Authorization:""},body:e,query:{...n}}),"mutationFn")})},"useCreateContractAmendmentMutation"),U=t(a=>{let{client:r}=d(),n=a?.jsonSchemaVersion?.contract_amendments?{json_schema_version:a.jsonSchemaVersion.contract_amendments}:{};return Q({mutationFn:t(e=>b({client:r,headers:{Authorization:""},body:e,query:{...n}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),ae=t(({employmentId:a,countryCode:r,options:n})=>{let{fieldValues:e,setFieldValues:u,stepState:m,nextStep:o,previousStep:c}=M(l),{data:s,isLoading:y,isError:V,error:f}=v({employmentId:a}),{data:i,isLoading:q,isError:L,error:T}=J({employment:s,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...e},options:n}),k=_(s,i?.fields),F=K(n),g=U(n);async function O(p){let h=S(p,i?.fields||[],{isPartialValidation:!1}),P={employment_id:s?.data.employment?.id,amendment_contract_id:s?.data.employment?.active_contract_id,contract_amendment:{...h}};switch(m.currentStep.name){case l.form.name:{let{mutateAsync:C}=A(g),H=await C(P);return o(),H}case l.confirmation_form.name:{let{mutateAsync:C}=A(F);return C(P)}default:throw new Error("Invalid step state")}}t(O,"onSubmit");function z(p){if(i){let h=S(p,i?.fields);return i?.handleValidation(h)}return null}t(z,"handleValidation");function x(){c()}return t(x,"back"),{stepState:m,fields:i?.fields||[],isLoading:y||q,isError:V||L,error:f||T,isSubmitting:g.isPending||F.isPending,initialValues:k,values:e,handleValidation:z,checkFieldUpdates:u,onSubmit:O,back:x}},"useContractAmendment");export{ae as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SX5W3CBP.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-25OMQHCO.js";import{b as n}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function u({onSubmit:m}){let{terminationBag:i}=n();return a(r,{onSubmit:o(async t=>{await m?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(u,"TerminationDetailsForm");export{u as a};
|
|
2
|
+
//# sourceMappingURL=chunk-UBIYEKYH.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as Ke}from"./chunk-OYI5OCMY.js";import{a as V}from"./chunk-MPMOHDZP.js";import{a as Ce,b as O}from"./chunk-WZSGDTVV.js";import{b as S}from"./chunk-3ZWDIEEM.js";import{a as ae,b as ne,c as _,d as Ue,e as Je,f as qe,g as je,h as P,i as R,j as N,k as w,l as D,m as I}from"./chunk-STEO7MS2.js";import{e as ze,g as Ge}from"./chunk-CNYSTJVL.js";import{a as u}from"./chunk-TC3SWPEN.js";import{a as o}from"./chunk-P37U34EQ.js";import{Fragment as Ko}from"react";import*as Ye from"react";import*as re from"@radix-ui/react-checkbox";import{Check as qt}from"lucide-react";import{jsx as be}from"react/jsx-runtime";var ie=Ye.forwardRef(({className:e,...t},r)=>be(re.Root,{ref:r,className:u("peer h-4 w-4 shrink-0 rounded-sm border border-input ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-checkbox data-[state=checked]:text-primary",e),...t,children:be(re.Indicator,{className:u("flex items-center justify-center text-current"),children:be(qt,{className:"h-4 w-4"})})}));ie.displayName=re.Root.displayName;import{Fragment as jt,jsx as A,jsxs as se}from"react/jsx-runtime";function le({name:e,defaultValue:t,description:r,label:a,onChange:s,multiple:n,options:p,component:g,...F}){let{components:c}=S(),{control:i}=_(),f=o((d,m,v)=>{let l=v.value?[...v.value]:[];m?l.includes(d)||v.onChange([...l,d]):v.onChange(l.filter(y=>y!==d))},"handleCheckboxChange");return A(P,{control:i,name:e,defaultValue:t,render:({field:d,fieldState:m})=>{let v=g||c?.checkbox;if(v){let l={name:e,description:r,label:a,defaultValue:t,multiple:n,options:p,...F};return A(v,{field:{...d,onChange:o(y=>{if(n){let{checked:C,value:b}=y.target;f(b,C,d),s?.(C);return}d.onChange(y),s?.(y)},"onChange")},fieldState:m,fieldData:l})}return se(R,{"data-field":e,className:u(`RemoteFlows__CheckBoxField__Item__${e}`),children:[A(w,{children:se(jt,{children:[p&&n?A(N,{children:a}):null,p&&n?p.map(l=>se("div",{className:"flex space-x-2",children:[A(ie,{id:l.value,onCheckedChange:y=>{f(l.value,y===!0,d),s?.(y,l.value)},checked:d.value?.includes(l.value),className:"RemoteFlows__CheckBox__Input"}),A(N,{htmlFor:l.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:l.label})]},l.value)):se("div",{className:"flex space-x-2",children:[A(ie,{id:e,onCheckedChange:l=>{d.onChange(l),s?.(l)},checked:d.value,className:"RemoteFlows__CheckBox__Input"}),A(N,{htmlFor:e,className:"mb-0 RemoteFlows__CheckBox__Label",children:a})]})]})}),r&&A(D,{children:r}),m.error&&A(I,{})]})}})}o(le,"CheckBoxField");import{CalendarIcon as Qt}from"lucide-react";import{PopoverClose as Zt}from"@radix-ui/react-popover";import{ChevronLeft as Kt,ChevronRight as Yt}from"lucide-react";import{DayPicker as Xt}from"react-day-picker";import{jsx as Se}from"react/jsx-runtime";function Xe({className:e,classNames:t,showOutsideDays:r=!0,...a}){return Se(Xt,{showOutsideDays:r,className:u("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:u(Ce({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:u("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",a.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:u(Ce({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:o(({className:s,...n})=>Se(Kt,{className:u("size-4",s),...n}),"IconLeft"),IconRight:o(({className:s,...n})=>Se(Yt,{className:u("size-4",s),...n}),"IconRight")},...a})}o(Xe,"Calendar");import*as z from"@radix-ui/react-popover";import{jsx as me}from"react/jsx-runtime";function ce({...e}){return me(z.Root,{"data-slot":"popover",...e})}o(ce,"Popover");function de({...e}){return me(z.Trigger,{"data-slot":"popover-trigger",...e})}o(de,"PopoverTrigger");function pe({className:e,align:t="center",sideOffset:r=4,...a}){return me(z.Portal,{children:me(z.Content,{"data-slot":"popover-content",align:t,sideOffset:r,className:u("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...a})})}o(pe,"PopoverContent");import{format as Qe}from"date-fns";import{Fragment as eo,jsx as L,jsxs as Pe}from"react/jsx-runtime";function Ze({description:e,label:t,name:r,minDate:a,onChange:s,component:n,...p}){let{components:g}=S(),{control:F}=_(),c;return p.meta?.mot&&typeof p.meta.mot=="number"?c=Ge(p.meta.mot):a&&(c=new Date(a)),L(P,{control:F,name:r,render:({field:i,fieldState:f})=>{let d=n||g?.date;if(d){let m={description:e,label:t,name:r,onChange:s,...c&&{minDate:c.toISOString()},...p};return L(d,{field:{...i,onChange:o(v=>{i.onChange(v),s?.(v)},"onChange")},fieldState:f,fieldData:m})}return Pe(R,{"data-field":r,className:`flex flex-col RemoteFlows__DatePickerField__Item__${r}`,children:[L(N,{className:"RemoteFlows__DatePickerField__Label",children:t}),Pe(ce,{children:[L(de,{asChild:!0,children:L(w,{children:L("div",{children:Pe(O,{type:"button",variant:"outline",className:u("w-full pl-3 text-left font-normal",!i.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${r}`,children:[i.value&&L(eo,{children:Qe(i.value,"yyyy-MM-dd")}),L(Qt,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),L(pe,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:L(Xe,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:i.value?new Date(i.value):void 0,onSelect:m=>{i.onChange(m?Qe(m,"yyyy-MM-dd"):null),s?.(m)},defaultMonth:c,components:{DayContent:o(m=>L(Zt,{children:m.date.getDate()}),"DayContent")},...c&&{disabled:o(m=>m<c,"disabled")}})})]}),e?L(D,{children:e}):null,f.error&&L(I,{className:"RemoteFlows__DatePickerField__Error"})]})}})}o(Ze,"DatePickerField");import{cva as to}from"class-variance-authority";import{jsx as Ne}from"react/jsx-runtime";var oo=to("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"bg-card bg-warning border-warning-border [&>svg]:text-current"}},defaultVariants:{variant:"default"}});function et({className:e,variant:t,...r}){return Ne("div",{"data-slot":"alert",role:"alert",className:u(oo({variant:t}),e),...r})}o(et,"Alert");function tt({className:e,...t}){return Ne("div",{"data-slot":"alert-title",className:u("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t})}o(tt,"AlertTitle");function ot({className:e,...t}){return Ne("div",{"data-slot":"alert-description",className:u("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}o(ot,"AlertDescription");import{AlertCircle as ro}from"lucide-react";import{jsx as ue,jsxs as ao}from"react/jsx-runtime";function fe({title:e,description:t,severity:r}){let{components:a}=S();if(a?.statement){let s=a?.statement;return ue(s,{data:{title:e,description:t,severity:r}})}return ao(et,{variant:"warning",children:[ue(ro,{className:"h-4 w-4"}),e&&ue(tt,{children:e}),ue(ot,{children:t})]})}o(fe,"Statement");import{useEffect as no,useRef as rt}from"react";import{Fragment as so,jsx as ge,jsxs as ke}from"react/jsx-runtime";import{createElement as io}from"react";function Re({label:e,name:t,fields:r,description:a,components:s,statement:n,isFlatFieldset:p,extra:g}){let{watch:F,trigger:c,formState:i}=_(),f=r.map(({name:l})=>`${t}.${l}`),d=F(f),m=rt(d),v=rt(null);return no(()=>{let l=d,y=m.current,C=i.isSubmitted||i.submitCount>0,b=!1;for(let k=0;k<l.length;k++)if(l[k]!==void 0&&y[k]!==l[k]){b=!0;break}return b&&C&&(v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{c()},50)),m.current=[...l],()=>{v.current&&clearTimeout(v.current)}},[d,c,i.isSubmitted,i.submitCount]),ke("fieldset",{className:u("border-1 border-input p-4 rounded-xl",`RemoteFlows__FieldSetField__${t}`),children:[ge("legend",{className:"text-sm font-semibold px-2",children:e}),a?ge("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:a}}):null,ke("div",{className:"grid gap-4",children:[r.map(l=>{l.calculateDynamicProperties&&(l={...l,...l.calculateDynamicProperties(d,l)||{}});let y=X[l.type];if(l.isVisible===!1||l.deprecated)return null;if(l.Component){let{Component:C}=l;return ge(C,{...l},l.name)}return l.inputType==="select"&&l.multiple&&(y=X["multi-select"]),ke(so,{children:[io(y,{...l,key:l.name,name:`${p?l.name:`${t}.${l.name}`}`,component:s?.[l.type]}),l.extra?l.extra:null]})}),g||null,n?ge(fe,{...n}):null]})]})}o(Re,"FieldSetField");import{useState as lo,useRef as mo}from"react";import{Upload as co,X as po}from"lucide-react";import{jsx as U,jsxs as we}from"react/jsx-runtime";function at({onChange:e,className:t,multiple:r}){let[a,s]=lo([]),n=mo(null),p=o(c=>{c.preventDefault(),n.current?.click()},"handleClick"),g=o(c=>{if(c.target.files&&c.target.files.length>0){let i=Array.from(c.target.files);s(i),e(c)}},"handleChange"),F=o(c=>{s(i=>i.filter(f=>f!==c))},"onRemoveFile");return we("div",{className:u("flex flex-col items-start gap-4",t),children:[U("input",{type:"file",ref:n,onChange:g,className:"hidden","aria-label":"File upload",multiple:r}),we(O,{type:"button",onClick:p,className:"gap-2",children:[U(co,{className:"h-4 w-4"}),"Choose File"]}),a.length===0&&U("div",{className:"text-sm",children:r?U("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):U("span",{className:"font-medium",children:"No file selected."})}),a.length>0&&a.map((c,i)=>we("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",U("span",{className:"font-medium",children:c.name})," (",Math.round(c.size/1024)," KB)",U(O,{variant:"ghost",onClick:()=>F(c),children:U(po,{})})]},i))]})}o(at,"FileUploader");import{jsx as J,jsxs as fo}from"react/jsx-runtime";var uo=o(e=>new Promise((t,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onload=()=>t(a.result),a.onerror=s=>r(s)}),"toBase64"),nt=o(async e=>{let t=e.target.files?Array.from(e.target.files):[];return await Promise.all(t.map(async a=>{let s=await uo(a);return{name:a.name,content:s.split(",")[1]}}))},"convertFilesToBase64");function it({name:e,description:t,label:r,multiple:a,onChange:s,component:n,...p}){let{components:g}=S(),{control:F}=_();return J(P,{control:F,name:e,render:({field:c,fieldState:i})=>{let f=n||g?.file;if(f){let d={name:e,description:t,label:r,multiple:a,...p};return J(f,{field:{...c,value:null,onChange:o(async m=>{let v=await nt(m);c.onChange(v),s?.(v)},"onChange")},fieldState:i,fieldData:d})}return fo(R,{"data-field":e,className:`RemoteFlows__FileUpload__Item__${e}`,children:[J(N,{className:"RemoteFlows__FileUpload__Label",children:r}),J(w,{children:J(at,{onChange:async d=>{let m=await nt(d);c.onChange(m),s?.(m)},multiple:a,className:u("RemoteFlows__FileUpload__Input")})}),t&&J("div",{className:"flex items-center justify-between",children:J(D,{className:"RemoteFlows__FileUpload__Description",children:t})}),i.error&&J(I,{className:"RemoteFlows__FileUpload__Error"})]})}})}o(it,"FileUploadField");import{jsx as De}from"react/jsx-runtime";function Fe(e){let{components:t}=S(),{control:r}=_(),a=e.component||t?.number;return a?De(P,{control:r,name:e.name,render:({field:s,fieldState:n})=>De(a,{field:{...s,onChange:o(p=>{s.onChange(p),e.onChange?.(p)},"onChange")},fieldState:n,fieldData:e})}):De(V,{...e,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$"})}o(Fe,"NumberField");import*as Q from"@radix-ui/react-radio-group";import{CircleIcon as go}from"lucide-react";import{jsx as ve}from"react/jsx-runtime";function st({className:e,...t}){return ve(Q.Root,{"data-slot":"radio-group",className:u("grid gap-3",e),...t})}o(st,"RadioGroup");function lt({className:e,...t}){return ve(Q.Item,{"data-slot":"radio-group-item",className:u("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:ve(Q.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:ve(go,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}o(lt,"RadioGroupItem");import{Fragment as Fo,jsx as E,jsxs as Te}from"react/jsx-runtime";function mt({name:e,defaultValue:t,description:r,label:a,options:s,onChange:n,component:p,...g}){let{components:F}=S(),{control:c}=_();return E(P,{control:c,name:e,defaultValue:t,render:({field:i,fieldState:f})=>{let d=p||F?.radio;if(d){let m={name:e,defaultValue:t,description:r,label:a,options:s,...g};return E(d,{field:{...i,onChange:o(v=>{i.onChange(v),n?.(v)},"onChange")},fieldState:f,fieldData:m})}return Te(R,{className:u("space-y-3",`RemoteFlows__RadioGroupField__Item__${e}`),"data-field":e,children:[E(N,{children:a}),E(w,{children:E(st,{"aria-label":a||e,onValueChange:m=>{i.onChange(m),n?.(m)},value:i.value,className:"flex flex-col space-y-3",children:s?.map(m=>E(Fo,{children:Te(R,{"data-field":e,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[E(w,{children:E(lt,{value:m.value,className:"RemoteFlows__RadioField__Input",disabled:m.disabled})}),Te("div",{children:[E(N,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:m.label}),m.description&&E(D,{className:"mt-2",children:m.description})]})]},m.value)}))})}),r&&E(D,{children:r}),f.error&&E(I,{})]})}})}o(mt,"RadioGroupField");import*as x from"@radix-ui/react-select";import{CheckIcon as vo,ChevronDownIcon as ct,ChevronUpIcon as yo}from"lucide-react";import{jsx as T,jsxs as Ie}from"react/jsx-runtime";function dt({...e}){return T(x.Root,{"data-slot":"select",...e})}o(dt,"Select");function pt({...e}){return T(x.Group,{"data-slot":"select-group",...e})}o(pt,"SelectGroup");function ut({...e}){return T(x.Value,{"data-slot":"select-value",...e})}o(ut,"SelectValue");function ft({className:e,children:t,...r}){return Ie(x.Trigger,{"data-slot":"select-trigger",className:u("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex w-full items-center justify-between rounded-xl border bg-transparent px-4 py-7 text-sm whitespace-nowrap transition-[color] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","focus-visible:border-focused",e),...r,children:[t,T(x.Icon,{asChild:!0,className:"absolute right-4",children:T(ct,{className:"size-4"})})]})}o(ft,"SelectTrigger");function gt({className:e,children:t,position:r="popper",...a}){return T(x.Portal,{children:Ie(x.Content,{"data-slot":"select-content",className:u("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...a,children:[T(ho,{}),T(x.Viewport,{className:u(r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),T(_o,{})]})})}o(gt,"SelectContent");function Ft({className:e,children:t,...r}){return Ie(x.Item,{"data-slot":"select-item",className:u("focus:bg-accent focus:text-accent-foreground min-h-11 justify-between [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-default items-center gap-2 py-2 px-4 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[T(x.ItemText,{children:t}),T("span",{className:"flex size-3.5 items-center justify-center",children:T(x.ItemIndicator,{children:T(vo,{className:"size-4"})})})]})}o(Ft,"SelectItem");function ho({className:e,...t}){return T(x.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:u("flex cursor-default items-center justify-center py-1",e),...t,children:T(yo,{className:"size-4"})})}o(ho,"SelectScrollUpButton");function _o({className:e,...t}){return T(x.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:u("flex cursor-default items-center justify-center py-1",e),...t,children:T(ct,{className:"size-4"})})}o(_o,"SelectScrollDownButton");import{jsx as $,jsxs as vt}from"react/jsx-runtime";function yt({label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,component:p,...g}){let{control:F}=_(),{components:c}=S();return $(P,{defaultValue:a,control:F,name:t,render:({field:i,fieldState:f})=>{let d=p||c?.select;if(d){let m={label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,...g};return $(d,{field:{...i,onChange:o(v=>{let l=g.jsonType==="number"?Number(v):v;i.onChange(l),n?.(l)},"onChange")},fieldState:f,fieldData:m})}return vt(R,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[$(N,{className:"RemoteFlows__SelectField__Label",children:e}),$(w,{children:$("div",{className:"relative",children:vt(dt,{value:i.value||"",onValueChange:m=>{let v=g.jsonType==="number"?Number(m):m;i.onChange(v),n?.(v)},children:[$(ft,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!f.error,"aria-label":e,children:$("span",{className:"absolute",children:$(ut,{placeholder:e})})}),$(gt,{className:"RemoteFlows__SelectField__Content",children:$(pt,{className:"RemoteFlows__SelectField__Group",children:r.map(m=>$(Ft,{value:m.value,className:"RemoteFlows__SelectField__SelectItem",children:m.label},m.value))})})]})})}),s&&$(D,{children:s}),f.error&&$(I,{})]})}})}o(yt,"SelectField");import{useState as wo}from"react";import{Fragment as So,useState as Po}from"react";import{Check as No,ChevronDownIcon as ko,X as Ro}from"lucide-react";import{Command as Z}from"cmdk";import{SearchIcon as ln}from"lucide-react";import*as M from"@radix-ui/react-dialog";import{XIcon as xo}from"lucide-react";import{jsx as G,jsxs as Me}from"react/jsx-runtime";function We({...e}){return G(M.Root,{"data-slot":"dialog",...e})}o(We,"Dialog");function ht({...e}){return G(M.Trigger,{"data-slot":"dialog-trigger",...e})}o(ht,"DialogTrigger");function Co({...e}){return G(M.Portal,{"data-slot":"dialog-portal",...e})}o(Co,"DialogPortal");function bo({className:e,...t}){return G(M.Overlay,{"data-slot":"dialog-overlay",className:u("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),...t})}o(bo,"DialogOverlay");function Le({className:e,children:t,...r}){return Me(Co,{"data-slot":"dialog-portal",children:[G(bo,{}),Me(M.Content,{"data-slot":"dialog-content",className:u("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...r,children:[t,Me(M.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__Dialog__Close",children:[G(xo,{}),G("span",{className:"sr-only",children:"Close"})]})]})]})}o(Le,"DialogContent");function $e({className:e,...t}){return G("div",{"data-slot":"dialog-header",className:u("flex flex-col gap-2 text-center sm:text-left",e),...t})}o($e,"DialogHeader");function Ee({className:e,...t}){return G(M.Title,{"data-slot":"dialog-title",className:u("text-lg leading-none font-semibold",e),...t})}o(Ee,"DialogTitle");import{jsx as ee,jsxs as pn}from"react/jsx-runtime";function _t({className:e,...t}){return ee(Z,{"data-slot":"command",className:u("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t})}o(_t,"Command");function xt({className:e,...t}){return ee(Z.List,{"data-slot":"command-list",className:u("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}o(xt,"CommandList");function Ct({...e}){return ee(Z.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}o(Ct,"CommandEmpty");function bt({className:e,...t}){return ee(Z.Group,{"data-slot":"command-group",className:u("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}o(bt,"CommandGroup");function St({className:e,...t}){return ee(Z.Separator,{"data-slot":"command-separator",className:u("bg-border -mx-1 h-px",e),...t})}o(St,"CommandSeparator");function Pt({className:e,...t}){return ee(Z.Item,{"data-slot":"command-item",className:u("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}o(Pt,"CommandItem");import{jsx as H,jsxs as te}from"react/jsx-runtime";function ye({options:e,selected:t,onChange:r,placeholder:a,...s}){let[n,p]=Po(!1),g=o(i=>{r(t.filter(f=>f.value!==i.value))},"handleUnselect"),F=e.some(i=>i.category),c=e.reduce((i,f)=>{let d=f.category||"Uncategorized";return i[d]||(i[d]=[]),i[d].push(f),i},{});return te(ce,{open:n,onOpenChange:p,...s,children:[H(de,{children:te(O,{variant:"outline",role:"combobox","aria-expanded":n,className:"w-full justify-between font-normal",type:"button",children:[H("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:t.length>0?t.map(i=>te(Ke,{variant:"secondary",className:"mr-1 mb-1",children:[i.label,H("div",{role:"button",tabIndex:0,"aria-label":`remove ${i.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:f=>{f.key==="Enter"&&g(i)},onMouseDown:f=>{f.preventDefault(),f.stopPropagation()},onClick:()=>g(i),children:H(Ro,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},i.label)):H("span",{className:"text-foreground",children:a})}),H(ko,{className:"size-4"})]})}),H(pe,{align:"start",className:"w-full p-0",children:H(_t,{children:te(xt,{children:[H(Ct,{children:"No item found."}),Object.entries(c).map(([i,f],d)=>te(So,{children:[d>0&&H(St,{}),H(bt,{heading:F?i:void 0,children:f.map(m=>{let v=t.some(l=>l.value===m.value);return te(Pt,{onSelect:()=>{r(v?t.filter(l=>l.value!==m.value):[...t,m])},children:[H(No,{className:u("mr-2 h-4 w-4",v?"opacity-100":"opacity-0")}),m.label]},m.label)})})]},i))]})})})]})}o(ye,"MultiSelect");import{jsx as q,jsxs as Do}from"react/jsx-runtime";function Nt({label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,$meta:p,component:g,...F}){let{control:c}=_(),{components:i}=S(),[f,d]=wo([]);return q(P,{defaultValue:a,control:c,name:t,render:({field:m,fieldState:v})=>{let l=g||i?.countries;if(l){let b={label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,$meta:p,...F};return q(l,{field:{...m,onChange:o(k=>{m.onChange(k),n?.(k)},"onChange")},fieldState:v,fieldData:b})}let y=[...Object.entries(p?.regions||{}).map(([b,k])=>({value:k,label:b,category:"Regions"})),...Object.entries(p?.subregions||{}).map(([b,k])=>({value:k,label:b,category:"Subregions"})),...r.map(b=>({...b,value:b.value,label:b.label,category:"Countries"}))],C=o(b=>{let k=b.map(({value:Jt})=>Jt);m.onChange(k),n?.(k),d(b)},"handleChange");return Do(R,{"data-field":t,className:`RemoteFlows__CountryField__Item__${t}`,children:[q(N,{className:"RemoteFlows__CountryField__Label",children:e}),q(w,{children:q(ye,{options:y,selected:f,onChange:C,...F})}),s&&q(D,{children:s}),v.error&&q(I,{})]})}})}o(Nt,"CountryField");import*as kt from"react";import{jsx as To}from"react/jsx-runtime";var He=kt.forwardRef(({className:e,...t},r)=>To("textarea",{className:u("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...t}));He.displayName="Textarea";import{jsx as j,jsxs as Be}from"react/jsx-runtime";function Rt({name:e,description:t,label:r,onChange:a,maxLength:s,component:n,...p}){let{components:g}=S(),{control:F}=_();return j(P,{control:F,name:e,render:({field:c,fieldState:i})=>{let f=n||g?.textarea;if(f){let m={name:e,description:t,label:r,maxLength:s,...p};return j(f,{field:{...c,onChange:o(v=>{c.onChange(v),a?.(v)},"onChange")},fieldState:i,fieldData:m})}let d=c.value?.length??0;return Be(R,{"data-field":e,className:`RemoteFlows__TextArea__Item__${e}`,children:[j(N,{className:"RemoteFlows__TextArea__Label",children:r}),j(w,{children:j(He,{...c,value:c.value??"",onChange:m=>{c.onChange(m),a?.(m)},className:u(i.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:r})}),(t||s)&&Be("div",{className:"flex items-center justify-between",children:[t&&j(D,{className:"RemoteFlows__TextArea__Description",children:t}),s&&Be("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[d,"/",s]})]}),i.error&&j(I,{className:"RemoteFlows__TextArea__Error"})]})}})}o(Rt,"TextAreaField");import{jsx as Oe}from"react/jsx-runtime";function wt(e){let{components:t}=S(),{control:r}=_(),a=e.component||t?.email;return a?Oe(P,{control:r,name:e.name,render:({field:s,fieldState:n})=>Oe(a,{field:{...s,onChange:o(p=>{s.onChange(p),e.onChange?.(p)},"onChange")},fieldState:n,fieldData:e})}):Oe(V,{...e,type:"email"})}o(wt,"EmailField");import{jsx as Dt}from"react/jsx-runtime";function Tt(e){let{control:t}=_();return Dt(P,{control:t,name:e.name,render:({field:r})=>Dt("input",{...r,type:"hidden"})})}o(Tt,"HiddenField");import Ho,{useEffect as Bo,useState as Ot}from"react";var It=o((e,t,r)=>{if(e&&"reportValidity"in e){let a=ae(r,t);e.setCustomValidity(a&&a.message||""),e.reportValidity()}},"r"),Ve=o((e,t)=>{for(let r in t.fields){let a=t.fields[r];a&&a.ref&&"reportValidity"in a.ref?It(a.ref,r,e):a&&a.refs&&a.refs.forEach(s=>It(s,r,e))}},"o"),Wt=o((e,t)=>{t.shouldUseNativeValidation&&Ve(e,t);let r={};for(let a in e){let s=ae(t.fields,a),n=Object.assign(e[a]||{},{ref:s&&s.ref});if(Io(t.names||Object.keys(e),a)){let p=Object.assign({},ae(r,a));ne(p,"root",n),ne(r,a,p)}else ne(r,a,n)}return r},"s"),Io=o((e,t)=>{let r=Mt(t);return e.some(a=>Mt(a).match(`^${r}\\.\\d+`))},"i");function Mt(e){return e.replace(/\]|\[/g,"")}o(Mt,"n");function Lt(e,t,r){return t===void 0&&(t={}),r===void 0&&(r={}),function(a,s,n){try{return Promise.resolve(function(p,g){try{var F=(t.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[r.mode==="sync"?"validateSync":"validate"](a,Object.assign({abortEarly:!1},t,{context:s}))).then(function(c){return n.shouldUseNativeValidation&&Ve({},n),{values:r.raw?Object.assign({},a):c,errors:{}}}))}catch(c){return g(c)}return F&&F.then?F.then(void 0,g):F}(0,function(p){if(!p.inner)throw p;return{values:{},errors:Wt((g=p,F=!n.shouldUseNativeValidation&&n.criteriaMode==="all",(g.inner||[]).reduce(function(c,i){if(c[i.path]||(c[i.path]={message:i.message,type:i.type}),F){var f=c[i.path].types,d=f&&f[i.type];c[i.path]=Ue(i.path,F,c,i.type,d?[].concat(d,i.message):i.message)}return c},{})),n)};var g,F}))}catch(p){return Promise.reject(p)}}}o(Lt,"o");import*as W from"yup";import $t from"lodash.groupby";import oe from"lodash.capitalize";var Et=60,he=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function Mo(e){if(e<60)return`${e}m`;let t=Math.floor(e/Et),r=e%Et;return r>0?`${t}h${r}m`:`${t}h`}o(Mo,"convertBreakDurationToHours");function Ht(e){let t=e.reduce((r,a)=>a.hours+r,0);return Number(t.toFixed(2))}o(Ht,"calculateTotalWorkHours");function Wo(e,t){let r=t.map(({day:n})=>n.toLowerCase()),a=r.indexOf(e),s=null;for(;a<r.length&&!s;){let n=r[a],p=r[a+1],g=he.indexOf(n)+1;he[g]===p||(s=n),a+=1}return s}o(Wo,"findLastConsecutiveDay");function Lo(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}o(Lo,"shouldSummarizeSchedule");function $o(e){return Number.parseInt(e.break_duration_minutes)>0}o($o,"shouldSummarizeBreaks");function Bt(e){let t=e.filter(Lo),r=$t(t,g=>`${g.start_time}|${g.end_time}`),a=e.filter($o),s=$t(a,"break_duration_minutes"),n=Object.keys(r).map(g=>{let F=r[g],c=F[0].day,[i,f]=g.split("|"),d=`from <span>${i.replace(":","h")}</span> to <span>${f.replace(":","h")}</span>`,m=Wo(c,F),l=(m?F.findIndex(y=>y.day===m):-1)===F.length-1;return F.length===1?`${oe(c)}, ${d}`:!l||!m?F.reduce((y,C,b)=>{let k=oe(C.day);return b===F.length-1?`${y}and ${k}, ${d}`:`${y}<span>${k}</span>, `},""):`<span>${oe(c)}</span> to <span>${oe(m)}</span>, ${d}`}),p=Object.keys(s).reverse().map((g,F)=>{let c=F===0,i=s[g],f=Mo(parseInt(g,10));if(Object.keys(s).length===1)return`With ${f} daily breaks`;if(i.length===1){let d=`${f} break on ${oe(i[0].day)}.`;return c?`With ${d}`:d}return i.reduce((d,m,v)=>{let l=oe(m.day);return v===0?`${d} ${l}`:v===i.length-1?`${d}, and ${l}.`:`${d}, ${l}`},c?`With ${f} break on`:`${f} break on`)});return{workHoursSummary:n,breakSummary:p}}o(Bt,"buildWorkScheduleSummary");function Ae(e){let{checked:t,start_time:r,end_time:a,break_duration_minutes:s}=e;if(!t)return 0;let[n,p]=r.split(":").map(Number),[g,F]=a.split(":").map(Number),c=n*60+p,d=(g*60+F-c-Number.parseInt(s||"0"))/60;return d===Math.floor(d)?d:Number(d.toFixed(2))}o(Ae,"calculateHours");var Eo={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function _e(e){return Eo[e]}o(_e,"getShortWeekday");import{jsx as h,jsxs as B}from"react/jsx-runtime";var Oo=W.object({day:W.string().required(),checked:W.boolean().required(),start_time:W.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:o(e=>e.required("Required"),"then"),otherwise:o(e=>e.optional().nullable(),"otherwise")}),end_time:W.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:o(e=>e.required("Required"),"then"),otherwise:o(e=>e.optional().nullable(),"otherwise")}),hours:W.number().default(0),break_duration_minutes:W.string().default("0")}),Vo=W.object({schedule:W.array(Oo)});function Ao({defaultSchedule:e,onSubmit:t}){let[r,a]=Ot(!1),s=he.map(l=>{let y=e.find(C=>C.day.toLowerCase()===_e(l).toLowerCase()||C.day.toLowerCase()===l.toLowerCase());return y?{...y,day:_e(l),checked:!0}:{...e[0],checked:!1,day:_e(l)}}),n=qe({defaultValues:{schedule:s},resolver:Lt(Vo)}),{handleSubmit:p,watch:g,reset:F,control:c,formState:i}=n,{fields:f}=Je({name:"schedule",control:c}),d=g("schedule");function m(l){let y=l.schedule.filter(({checked:C})=>C).map(C=>({...C,hours:Ae(C)}));t(y),a(!1)}o(m,"handleSubmitWorkingHours");function v(){F(),a(!1)}return o(v,"handleCancel"),h("div",{className:"flex items-center justify-between",children:B(We,{open:r,onOpenChange:a,children:[h(ht,{asChild:!0,children:h(O,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),B(Le,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[h($e,{children:h(Ee,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),h(je,{...n,children:B("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[B("div",{className:"rounded-lg",children:[h("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),B("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[h("div",{className:"col-span-2"}),h("div",{className:"col-span-3 text-center",children:"START"}),h("div",{className:"col-span-1 text-center"}),h("div",{className:"col-span-3 text-center",children:"END"}),h("div",{className:"col-span-2 text-center",children:"HOURS"})]}),h("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:f.map((l,y)=>{let C=d[y],b=Ae(C);return B(Ho.Fragment,{children:[B("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[h("div",{className:"col-span-2 flex items-center gap-3",children:h(le,{label:l.day,name:`schedule.${y}.checked`})}),h("div",{className:"col-span-3",children:h(V,{name:`schedule.${y}.start_time`,includeErrorMessage:!1})}),h("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),h("div",{className:"col-span-3",children:h(V,{name:`schedule.${y}.end_time`,includeErrorMessage:!1})}),h("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(b)?"-":`${b} hours`})]}),B("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[h("div",{className:"col-span-2 text-gray-500",children:"Break"}),h("div",{className:"col-span-2",children:h(V,{name:`schedule.${y}.break_duration_minutes`,includeErrorMessage:!1})}),h("div",{className:"col-span-2 text-gray-500",children:"minutes"}),h("div",{className:"col-span-4"})]})]},l.id)})})]}),Object.keys(i.errors).length>0&&h("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),B("div",{className:"flex gap-4 pt-4",children:[h(O,{type:"button",className:"reset-button",variant:"outline",onClick:v,children:"Cancel"}),h(O,{type:"button",className:"submit-button",onClick:p(m),children:"Save Schedule"})]})]})})]})]})})}o(Ao,"WorkScheduleSelectionForm");function Vt(e){let{components:t}=S(),{setValue:r,control:a,watch:s}=_(),n=s(e.name),[p,g]=Ot(n),{workHoursSummary:F,breakSummary:c}=Bt(p),i=Ht(p);Bo(()=>{r(e.name,p)},[p,e.name,r]);function f(m){g(m)}o(f,"onSubmit");let d=e.component||t?.["work-schedule"];return d?h(P,{control:a,name:e.name,render:({field:m,fieldState:v})=>h(d,{field:{...m,onChange:o(l=>{m.onChange(l),e.onChange?.(l)},"onChange")},fieldState:v,fieldData:{...e,defaultFormattedValue:{workHoursSummary:F,breakSummary:c,totalWorkHours:i}}})}):B("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[h("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),B("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[h("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:F.join(", ")}}),h("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:c.join()}),B("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",h("span",{children:i})," hours per week"]}),h(Ao,{defaultSchedule:p,onSubmit:f})]})]})}o(Vt,"WorkScheduleField");import{useState as zo}from"react";import{jsx as K,jsxs as Go}from"react/jsx-runtime";function At({label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,component:p,...g}){let{control:F}=_(),{components:c}=S(),[i,f]=zo();return K(P,{defaultValue:a,control:F,name:t,render:({field:d,fieldState:m})=>{let v=p||c?.["multi-select"];if(v){let y={label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,...g};return K(v,{field:{...d,onChange:o(C=>{d.onChange(C),n?.(C)},"onChange")},fieldState:m,fieldData:y})}let l=i||r.filter(y=>d.value.includes(y.value));return Go(R,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[K(N,{className:"RemoteFlows__SelectField__Label",children:e}),K(w,{children:K(ye,{options:r,selected:l,onChange:y=>{let C=y.map(({value:b})=>b);d.onChange(C),n?.(C),f(y)},...g})}),s&&K(D,{children:s}),m.error&&K(I,{})]})}})}o(At,"MultiSelectField");import{jsx as Uo}from"react/jsx-runtime";var zt=o(e=>Uo(Fe,{maxLength:15,...e}),"MoneyField");var X={checkbox:le,text:V,email:wt,money:zt,select:yt,"multi-select":At,radio:mt,number:Fe,file:it,fieldset:Re,"fieldset-flat":Re,date:Ze,textarea:Rt,countries:Nt,hidden:Tt,"work-schedule":Vt};import{useEffect as Jo}from"react";import{Fragment as qo,jsx as xe,jsxs as jo}from"react/jsx-runtime";function Gt({name:e,value:t,description:r,statement:a}){let{setValue:s}=_();return Jo(()=>{s(e,t)},[]),xe("div",{children:a?jo(qo,{children:[xe("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:a?.title}}),xe("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:a?.description}})]}):xe("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:r}})})}o(Gt,"ForcedValueField");import{Fragment as Xo,jsx as Y,jsxs as Ut}from"react/jsx-runtime";function Yo(e){return e.const!==void 0&&e.const===e.default&&e.inputType!=="checkbox"&&e.inputType!=="hidden"}o(Yo,"checkFieldHasForcedValue");var gs=o(({fields:e,fieldsets:t,fieldValues:r,components:a})=>{if(!e||e.length===0)return null;let s=t&&r?ze({fields:e,fieldsets:t,values:r}):e;return Y(Xo,{children:s.map(n=>{if(n.calculateDynamicProperties&&(n={...n,...n.calculateDynamicProperties(r,n)||{}}),n.isVisible===!1||n.deprecated)return null;if(Yo(n))return Y(Gt,{name:n.name,description:n.description,value:n.const,statement:n.statement},n.name);if(n.Component){let{Component:g}=n;return Y(g,{...n},n.name)}let p=X[n.inputType];return n.inputType==="select"&&n.multiple&&(p=X["multi-select"]),n.inputType==="fieldset"?Y(p,{...n,components:a}):n.inputType==="fieldset-flat"?Y(p,{...n,components:a,isFlatFieldset:!0}):p?Ut(Ko,{children:[Y(p,{...n,component:a&&a[n.inputType]}),n.statement?Y(fe,{...n.statement}):null,n.extra?n.extra:null]},n.name):Ut("p",{className:"error",children:["Field type ",n.inputType," not supported"]})})})},"JSONSchemaFormFields");export{gs as a};
|
|
2
|
+
//# sourceMappingURL=chunk-UDCOYAXP.js.map
|