@remoteoss/remote-flows 0.4.0-alpha.5 → 0.4.0-alpha.7
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/README.md +31 -0
- package/dist/chunk-47DB6L3S.js +2 -0
- package/dist/chunk-47DB6L3S.js.map +1 -0
- package/dist/chunk-4LMZ7PNB.js +2 -0
- package/dist/chunk-4LMZ7PNB.js.map +1 -0
- package/dist/chunk-4YNOSVYQ.js +2 -0
- package/dist/chunk-4YNOSVYQ.js.map +1 -0
- package/dist/chunk-5JH7GALK.js +2 -0
- package/dist/chunk-5JH7GALK.js.map +1 -0
- package/dist/chunk-6T3A6GWH.js +2 -0
- package/dist/chunk-6T3A6GWH.js.map +1 -0
- package/dist/chunk-6W5KUXEP.js +2 -0
- package/dist/chunk-6W5KUXEP.js.map +1 -0
- package/dist/chunk-75YWGTNG.js +2 -0
- package/dist/chunk-75YWGTNG.js.map +1 -0
- package/dist/chunk-CAKNEET3.js +2 -0
- package/dist/chunk-CAKNEET3.js.map +1 -0
- package/dist/chunk-DBIPVIBO.js +2 -0
- package/dist/{chunk-PX72OIDO.js.map → chunk-DBIPVIBO.js.map} +1 -1
- package/dist/chunk-DIR3VPZR.js +2 -0
- package/dist/chunk-DIR3VPZR.js.map +1 -0
- package/dist/chunk-EMVYCKDC.js +2 -0
- package/dist/{chunk-56BNVYTD.js.map → chunk-EMVYCKDC.js.map} +1 -1
- package/dist/chunk-ENMJ56WK.js +2 -0
- package/dist/chunk-ENMJ56WK.js.map +1 -0
- package/dist/chunk-FK3IA6VY.js +2 -0
- package/dist/{chunk-ASMIUBMG.js.map → chunk-FK3IA6VY.js.map} +1 -1
- package/dist/chunk-HSY5OO7D.js +2 -0
- package/dist/chunk-HSY5OO7D.js.map +1 -0
- package/dist/chunk-I5THC7XD.js +2 -0
- package/dist/chunk-I5THC7XD.js.map +1 -0
- package/dist/chunk-IAHI4OUM.js +2 -0
- package/dist/chunk-IAHI4OUM.js.map +1 -0
- package/dist/chunk-JGUJV45B.js +2 -0
- package/dist/chunk-JGUJV45B.js.map +1 -0
- package/dist/chunk-MCGIIIED.js +2 -0
- package/dist/chunk-MCGIIIED.js.map +1 -0
- package/dist/chunk-N6RPXNGN.js +2 -0
- package/dist/chunk-N6RPXNGN.js.map +1 -0
- package/dist/chunk-NEFNFYRS.js +2 -0
- package/dist/{chunk-GFBF55NR.js.map → chunk-NEFNFYRS.js.map} +1 -1
- package/dist/chunk-NPRFMPTB.js +2 -0
- package/dist/chunk-NPRFMPTB.js.map +1 -0
- package/dist/{chunk-NVMRRBRE.js → chunk-O3QLBSMV.js} +2 -2
- package/dist/chunk-OIXUBXFU.js +2 -0
- package/dist/{chunk-GMGKIQLI.js.map → chunk-OIXUBXFU.js.map} +1 -1
- package/dist/chunk-ONZPO4GN.js +2 -0
- package/dist/{chunk-IDSJI7KQ.js.map → chunk-ONZPO4GN.js.map} +1 -1
- package/dist/chunk-P5VTRXW3.js +2 -0
- package/dist/chunk-P5VTRXW3.js.map +1 -0
- package/dist/chunk-PH5CQN7X.js +2 -0
- package/dist/{chunk-MESREYTZ.js.map → chunk-PH5CQN7X.js.map} +1 -1
- package/dist/chunk-PPRTHZVC.js +2 -0
- package/dist/chunk-PPRTHZVC.js.map +1 -0
- package/dist/chunk-Q6U6K2S6.js +2 -0
- package/dist/chunk-Q6U6K2S6.js.map +1 -0
- package/dist/chunk-QH7YYTRC.js +2 -0
- package/dist/{chunk-6UHKKHB6.js.map → chunk-QH7YYTRC.js.map} +1 -1
- package/dist/chunk-QHN4PPHD.js +2 -0
- package/dist/{chunk-3FVI5JIC.js.map → chunk-QHN4PPHD.js.map} +1 -1
- package/dist/chunk-R7Z2AN42.js +2 -0
- package/dist/chunk-R7Z2AN42.js.map +1 -0
- package/dist/chunk-RBYMQQZC.js +2 -0
- package/dist/chunk-RBYMQQZC.js.map +1 -0
- package/dist/{chunk-VT2PJJC7.js → chunk-RJGJMVJP.js} +2 -2
- package/dist/chunk-SNMWJPBW.js +2 -0
- package/dist/chunk-SNMWJPBW.js.map +1 -0
- package/dist/chunk-SQ73CU3B.js +2 -0
- package/dist/chunk-SQ73CU3B.js.map +1 -0
- package/dist/{chunk-N25EBX6R.js → chunk-TPRGCMIZ.js} +2 -2
- package/dist/{chunk-N25EBX6R.js.map → chunk-TPRGCMIZ.js.map} +1 -1
- package/dist/chunk-U4M5QBBG.js +2 -0
- package/dist/chunk-U4M5QBBG.js.map +1 -0
- package/dist/chunk-VH5XUW4V.js +2 -0
- package/dist/chunk-VH5XUW4V.js.map +1 -0
- package/dist/chunk-VKGIGQWC.js +2 -0
- package/dist/chunk-VKGIGQWC.js.map +1 -0
- package/dist/{chunk-PBUHBIVK.js → chunk-VUCFEWCR.js} +2 -2
- package/dist/{chunk-PBUHBIVK.js.map → chunk-VUCFEWCR.js.map} +1 -1
- package/dist/chunk-WF4FKBRR.js +2 -0
- package/dist/chunk-WF4FKBRR.js.map +1 -0
- package/dist/chunk-WU77JQYU.js +2 -0
- package/dist/chunk-WU77JQYU.js.map +1 -0
- package/dist/chunk-X2LVNPXB.js +2 -0
- package/dist/chunk-X2LVNPXB.js.map +1 -0
- package/dist/{chunk-OLJ2S6A6.js → chunk-YG5FFTC4.js} +1 -1
- package/dist/chunk-YG5FFTC4.js.map +1 -0
- package/dist/chunk-YLWCN7R2.js +2 -0
- package/dist/chunk-YLWCN7R2.js.map +1 -0
- package/dist/{chunk-A36XQBXQ.js → chunk-YM5PKRUW.js} +2 -2
- package/dist/chunk-ZJT4Y4TA.js +2 -0
- package/dist/chunk-ZJT4Y4TA.js.map +1 -0
- package/dist/flows/ContractAmendment/ContractAmendmentBack.d.ts +3 -2
- package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +4 -3
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentSubmit.d.ts +3 -2
- package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +2 -2
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +2 -1
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/utils.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorDisclaimer.d.ts +2 -2
- package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +4 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +8 -4
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.d.ts +3 -2
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.d.ts +3 -2
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.d.ts +2 -2
- package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.d.ts +2 -2
- package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.d.ts +2 -2
- package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +2 -2
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.d.ts +2 -2
- package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.d.ts +2 -2
- package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +8 -5
- package/dist/flows/CostCalculator/context.js +1 -1
- package/dist/flows/CostCalculator/hooks.d.ts +3 -2
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +4 -0
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +11 -1
- package/dist/flows/CostCalculator/utils.d.ts +7 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/BasicInformationStep.d.ts +2 -2
- package/dist/flows/Onboarding/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/BenefitsStep.d.ts +4 -3
- package/dist/flows/Onboarding/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/ContractDetailsStep.d.ts +2 -2
- package/dist/flows/Onboarding/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/OnboardingBack.d.ts +3 -2
- package/dist/flows/Onboarding/OnboardingBack.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +5 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/OnboardingForm.d.ts +4 -3
- package/dist/flows/Onboarding/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/OnboardingInvite.d.ts +3 -2
- package/dist/flows/Onboarding/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/OnboardingSubmit.d.ts +3 -2
- package/dist/flows/Onboarding/OnboardingSubmit.js +1 -1
- package/dist/flows/Onboarding/SelectCountryStep.d.ts +2 -2
- package/dist/flows/Onboarding/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +3 -3
- package/dist/flows/Onboarding/hooks.d.ts +2 -2
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +2 -1
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +2 -1
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +2 -2
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +2 -2
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +2 -2
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationBack.d.ts +3 -2
- package/dist/flows/Termination/TerminationBack.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +2 -2
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -3
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +2 -2
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/TerminationSubmit.d.ts +3 -2
- package/dist/flows/Termination/TerminationSubmit.js +1 -1
- package/dist/flows/Termination/TimeOff.d.ts +3 -3
- package/dist/flows/Termination/context.d.ts +2 -2
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +1 -0
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/useStepState.d.ts +2 -2
- package/dist/index.d.ts +7 -6
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{remoteFlows-DgAmG_TD.d.ts → remoteFlows-iMN5oBtU.d.ts} +2 -1
- package/package.json +17 -3
- package/dist/chunk-2SDJ4PZ5.js +0 -2
- package/dist/chunk-2SDJ4PZ5.js.map +0 -1
- package/dist/chunk-3EQND6W7.js +0 -2
- package/dist/chunk-3EQND6W7.js.map +0 -1
- package/dist/chunk-3FVI5JIC.js +0 -2
- package/dist/chunk-4B7QPI2R.js +0 -2
- package/dist/chunk-4B7QPI2R.js.map +0 -1
- package/dist/chunk-56BNVYTD.js +0 -2
- package/dist/chunk-66UY5UHP.js +0 -2
- package/dist/chunk-66UY5UHP.js.map +0 -1
- package/dist/chunk-6A3F6JG6.js +0 -2
- package/dist/chunk-6A3F6JG6.js.map +0 -1
- package/dist/chunk-6UHKKHB6.js +0 -2
- package/dist/chunk-7CP4PNU4.js +0 -2
- package/dist/chunk-7CP4PNU4.js.map +0 -1
- package/dist/chunk-7CYG2RHP.js +0 -2
- package/dist/chunk-7CYG2RHP.js.map +0 -1
- package/dist/chunk-ASMIUBMG.js +0 -2
- package/dist/chunk-BLPOQIGB.js +0 -2
- package/dist/chunk-BLPOQIGB.js.map +0 -1
- package/dist/chunk-CIGSCITX.js +0 -2
- package/dist/chunk-CIGSCITX.js.map +0 -1
- package/dist/chunk-DGPRFQYK.js +0 -2
- package/dist/chunk-DGPRFQYK.js.map +0 -1
- package/dist/chunk-EAAIAMTY.js +0 -2
- package/dist/chunk-EAAIAMTY.js.map +0 -1
- package/dist/chunk-EAB7VHAW.js +0 -2
- package/dist/chunk-EAB7VHAW.js.map +0 -1
- package/dist/chunk-FMT2OTOL.js +0 -2
- package/dist/chunk-FMT2OTOL.js.map +0 -1
- package/dist/chunk-FQLSGKCJ.js +0 -2
- package/dist/chunk-FQLSGKCJ.js.map +0 -1
- package/dist/chunk-GFBF55NR.js +0 -2
- package/dist/chunk-GHT53KSP.js +0 -2
- package/dist/chunk-GHT53KSP.js.map +0 -1
- package/dist/chunk-GMGKIQLI.js +0 -2
- package/dist/chunk-IDSJI7KQ.js +0 -2
- package/dist/chunk-J55S4SEH.js +0 -2
- package/dist/chunk-J55S4SEH.js.map +0 -1
- package/dist/chunk-KDRQW7SO.js +0 -2
- package/dist/chunk-KDRQW7SO.js.map +0 -1
- package/dist/chunk-KH6QS5OU.js +0 -2
- package/dist/chunk-KH6QS5OU.js.map +0 -1
- package/dist/chunk-KSGPQCSG.js +0 -2
- package/dist/chunk-KSGPQCSG.js.map +0 -1
- package/dist/chunk-LRVJ53MM.js +0 -2
- package/dist/chunk-LRVJ53MM.js.map +0 -1
- package/dist/chunk-M7WCW7WD.js +0 -2
- package/dist/chunk-M7WCW7WD.js.map +0 -1
- package/dist/chunk-MESREYTZ.js +0 -2
- package/dist/chunk-MHKNAQLP.js +0 -2
- package/dist/chunk-MHKNAQLP.js.map +0 -1
- package/dist/chunk-NJPLL3RR.js +0 -2
- package/dist/chunk-NJPLL3RR.js.map +0 -1
- package/dist/chunk-OLJ2S6A6.js.map +0 -1
- package/dist/chunk-PX72OIDO.js +0 -2
- package/dist/chunk-PZKA77DU.js +0 -2
- package/dist/chunk-PZKA77DU.js.map +0 -1
- package/dist/chunk-TICIER55.js +0 -2
- package/dist/chunk-TICIER55.js.map +0 -1
- package/dist/chunk-WQHKB5T7.js +0 -2
- package/dist/chunk-WQHKB5T7.js.map +0 -1
- package/dist/chunk-X7BVA4MH.js +0 -2
- package/dist/chunk-X7BVA4MH.js.map +0 -1
- package/dist/chunk-XLFHHYVS.js +0 -2
- package/dist/chunk-XLFHHYVS.js.map +0 -1
- package/dist/chunk-Y4RTK2VE.js +0 -2
- package/dist/chunk-Y4RTK2VE.js.map +0 -1
- package/dist/chunk-Y4ZFQBM3.js +0 -2
- package/dist/chunk-Y4ZFQBM3.js.map +0 -1
- package/dist/chunk-YOC3VDC7.js +0 -2
- package/dist/chunk-YOC3VDC7.js.map +0 -1
- package/dist/chunk-ZKZDAXNJ.js +0 -2
- package/dist/chunk-ZKZDAXNJ.js.map +0 -1
- /package/dist/{chunk-NVMRRBRE.js.map → chunk-O3QLBSMV.js.map} +0 -0
- /package/dist/{chunk-VT2PJJC7.js.map → chunk-RJGJMVJP.js.map} +0 -0
- /package/dist/{chunk-A36XQBXQ.js.map → chunk-YM5PKRUW.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/utils.ts","../src/flows/CostCalculator/hooks.ts"],"sourcesContent":["import type { CostCalculatorEstimateParams } from '@/src/client';\n\nimport { convertToCents } from '@/src/components/form/utils';\nimport { $TSFixMe } from '@remoteoss/json-schema-form';\nimport { AnyObjectSchema, object } from 'yup';\nimport { defaultEstimationOptions } from './hooks';\nimport type {\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationOptions,\n} from './types';\n\n/**\n * Build the validation schema for the form.\n * @returns\n */\nexport function buildValidationSchema(fields: $TSFixMe[]) {\n const fieldsSchema = fields.reduce<Record<string, AnyObjectSchema>>(\n (fieldsSchemaAcc, field) => {\n fieldsSchemaAcc[field.name] = field.schema as AnyObjectSchema;\n return fieldsSchemaAcc;\n },\n {},\n );\n return object(fieldsSchema) as AnyObjectSchema;\n}\n\n/**\n * Format the benefits to the expected format by the API.\n * @param benefits\n * @returns\n */\nfunction formatBenefits(benefits: Record<string, string>) {\n const needle = 'benefit-';\n return Object.keys(benefits).reduce<\n Array<{ benefit_group_slug: string; benefit_tier_slug: string }>\n >((acc, key) => {\n const benefitGroupSlug = key.replace(needle, '');\n const benefitEntry = {\n benefit_group_slug: benefitGroupSlug,\n benefit_tier_slug: benefits[key],\n };\n return [...acc, benefitEntry];\n }, []);\n}\n\n/**\n * Build the payload for the cost calculator estimation.\n * @param values\n * @param estimationOptions\n * @returns\n */\nexport function buildPayload(\n values: CostCalculatorEstimationFormValues,\n estimationOptions: CostCalculatorEstimationOptions = defaultEstimationOptions,\n): CostCalculatorEstimateParams {\n return {\n employer_currency_slug: values.currency,\n include_benefits: estimationOptions.includeBenefits,\n include_cost_breakdowns: estimationOptions.includeCostBreakdowns,\n include_premium_benefits: estimationOptions.includePremiumBenefits,\n employments: [\n {\n region_slug: values.region || values.country,\n annual_gross_salary: convertToCents(values.salary) as number,\n annual_gross_salary_in_employer_currency: convertToCents(\n values.salary,\n ) as number,\n employment_term: values.contract_duration_type ?? 'fixed',\n title: estimationOptions.title,\n regional_to_employer_exchange_rate: '1',\n age: values.age ?? undefined,\n ...(values.benefits && { benefits: formatBenefits(values.benefits) }),\n },\n ],\n };\n}\n","import {\n CostCalculatorEstimateParams,\n CostCalculatorEstimateResponse,\n getIndexCompanyCurrency,\n getIndexCountry,\n getShowRegionField,\n MinimalRegion,\n postCreateEstimation,\n PostCreateEstimationError,\n postCreateEstimationPdf,\n} from '@/src/client';\nimport { jsonSchema } from '@/src/flows/CostCalculator/jsonSchema';\nimport type {\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationOptions,\n JSFModify,\n} from '@/src/flows/CostCalculator/types';\nimport type { Result } from '@/src/flows/types';\n\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { iterateErrors } from '@/src/components/form/yupValidationResolver';\nimport { useClient } from '@/src/context';\nimport { Client } from '@hey-api/client-fetch';\nimport { createHeadlessForm, modify } from '@remoteoss/json-schema-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { useState } from 'react';\nimport { string, ValidationError } from 'yup';\nimport { buildPayload, buildValidationSchema } from './utils';\n\ntype CostCalculatorCountry = {\n value: string;\n label: string;\n childRegions: MinimalRegion[];\n hasAdditionalFields: boolean | undefined;\n regionSlug: string;\n};\n\ntype JSFValidationError = {\n formErrors: Record<\n string,\n {\n type: string;\n message: string;\n }\n >;\n yupError: ValidationError;\n};\n\n/**\n * Hook to fetch the countries for the cost calculator.\n * @returns\n */\nconst useCostCalculatorCountries = ({\n includePremiumBenefits,\n}: {\n includePremiumBenefits: CostCalculatorEstimationOptions['includePremiumBenefits'];\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['cost-calculator-countries', includePremiumBenefits],\n queryFn: () => {\n return getIndexCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n include_premium_benefits: includePremiumBenefits,\n },\n });\n },\n select: (data) =>\n data.data?.data.map((country) => ({\n value: country.region_slug,\n label: country.name,\n childRegions: country.child_regions,\n hasAdditionalFields: country.has_additional_fields,\n regionSlug: country.region_slug,\n })),\n });\n};\n\n/**\n * Hook to fetch the company currencies.\n * @returns\n */\nconst useCompanyCurrencies = () => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['company-currencies'],\n queryFn: () => {\n return getIndexCompanyCurrency({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n });\n },\n select: (data) =>\n data.data?.data?.company_currencies.map((currency) => ({\n value: currency.slug,\n label: currency.code,\n })),\n });\n};\n\n/**\n * Hook to create an estimation.\n * @returns\n */\nconst useCostCalculatorEstimation = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: CostCalculatorEstimateParams) => {\n return postCreateEstimation({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Custom hook to create a PDF estimation.\n *\n * @returns\n */\nexport const useCostCalculatorEstimationPdf = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: CostCalculatorEstimateParams) => {\n return postCreateEstimationPdf({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Hook to fetch the region fields.\n * @param region\n * @returns\n */\nconst useRegionFields = (\n region: string | undefined,\n {\n includePremiumBenefits,\n options,\n }: {\n includePremiumBenefits: CostCalculatorEstimationOptions['includePremiumBenefits'];\n options?: {\n jsfModify?: JSFModify;\n };\n },\n) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['cost-calculator-region-fields', region, includePremiumBenefits],\n queryFn: () => {\n return getShowRegionField({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { slug: region as string },\n query: {\n include_premium_benefits: includePremiumBenefits,\n },\n });\n },\n enabled: !!region,\n select: ({ data }) => {\n let jsfSchema = data?.data?.schema || {};\n if (options && options.jsfModify) {\n const { schema } = modify(jsfSchema, options.jsfModify);\n jsfSchema = schema;\n }\n return createHeadlessForm(jsfSchema);\n },\n });\n};\n\nexport const defaultEstimationOptions: CostCalculatorEstimationOptions = {\n title: 'Estimation',\n includeBenefits: false,\n includeCostBreakdowns: false,\n includePremiumBenefits: false,\n};\n\ntype UseCostCalculatorParams = {\n /**\n * The default region slug to preselect a country and a region.\n */\n defaultRegion?: string;\n /**\n * The estimation options.\n */\n estimationOptions: CostCalculatorEstimationOptions;\n options?: {\n jsfModify?: JSFModify;\n };\n};\n\nexport type EstimationError = PostCreateEstimationError | ValidationError;\n\n/**\n * Hook to use the cost calculator.\n */\nexport const useCostCalculator = (\n { defaultRegion, estimationOptions, options }: UseCostCalculatorParams = {\n estimationOptions: defaultEstimationOptions,\n },\n) => {\n const { schema: jsonSchemaModified } = modify(\n jsonSchema.data.schema,\n options?.jsfModify || {},\n );\n\n const fieldsJSONSchema = createHeadlessForm(jsonSchemaModified);\n\n const [selectedRegion, setSelectedRegion] = useState<string | undefined>(\n defaultRegion,\n );\n const [selectedCountry, setSelectedCountry] =\n useState<CostCalculatorCountry>();\n const { data: countries, isLoading: isLoadingCountries } =\n useCostCalculatorCountries({\n includePremiumBenefits: estimationOptions.includePremiumBenefits,\n });\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useCompanyCurrencies();\n\n const jsonSchemaRegionSlug = selectedRegion || selectedCountry?.value;\n\n const { data: jsonSchemaRegionFields, isLoading: isLoadingRegionFields } =\n useRegionFields(jsonSchemaRegionSlug, {\n includePremiumBenefits: estimationOptions.includePremiumBenefits,\n options,\n });\n const costCalculatorEstimationMutation = useCostCalculatorEstimation();\n\n /**\n * Submit the estimation form with the given values.\n * @param values\n */\n async function onSubmit(\n values: CostCalculatorEstimationFormValues,\n ): Promise<Result<CostCalculatorEstimateResponse, EstimationError>> {\n try {\n await validationSchema.validate(values, { abortEarly: false });\n } catch (err) {\n return {\n data: null,\n error: err as ValidationError,\n };\n }\n\n return new Promise((resolve, reject) => {\n costCalculatorEstimationMutation.mutate(\n buildPayload(values, estimationOptions),\n {\n onSuccess: (response) => {\n if (response.data) {\n resolve({\n data: response.data,\n error: null,\n });\n } else {\n resolve({\n data: null,\n error: new Error(\n 'Something went wrong. Please try again later.',\n ),\n });\n }\n },\n onError: (error) => {\n reject({\n data: null,\n error: error as PostCreateEstimationError,\n });\n },\n },\n );\n });\n }\n\n /**\n * If the selected country has no child regions and has additional fields,\n * set the current region to the country's region slug and fetch the region fields.\n * @param country\n */\n function onCountryChange(country: string) {\n const currentCountry = countries?.find(({ value }) => value === country);\n\n if (\n currentCountry &&\n currentCountry.childRegions.length === 0 &&\n currentCountry.hasAdditionalFields\n ) {\n setSelectedRegion(currentCountry.regionSlug);\n } else {\n setSelectedRegion(undefined);\n }\n setSelectedCountry(currentCountry);\n }\n\n /**\n * Update the selected region and fetch the region fields.\n * @param region\n */\n function onRegionChange(region: string) {\n setSelectedRegion(region);\n }\n\n const regionField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'region',\n );\n\n if (regionField) {\n const regions =\n selectedCountry?.childRegions.map((region) => ({\n value: region.slug,\n label: region.name,\n })) ?? [];\n regionField.options = regions;\n regionField.isVisible = regions.length > 0;\n regionField.required = regions.length > 0;\n regionField.onChange = onRegionChange;\n regionField.schema =\n regions.length > 0\n ? string()\n .transform((value) => (typeof value === 'string' ? value : ''))\n .required('Region is required')\n : string();\n }\n\n if (currencies) {\n const currencyField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'currency',\n );\n if (currencyField) {\n currencyField.options = currencies;\n }\n }\n\n if (countries) {\n const countryField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n countryField.onChange = onCountryChange;\n }\n }\n\n const resetForm = () => {\n setSelectedCountry(undefined);\n setSelectedRegion(defaultRegion);\n };\n\n const allFields = [\n ...fieldsJSONSchema.fields,\n ...(jsonSchemaRegionFields?.fields || []),\n ];\n\n const validationSchema = buildValidationSchema(fieldsJSONSchema.fields);\n\n async function handleValidation(values: CostCalculatorEstimationFormValues) {\n let errors: JSFValidationError | null = null;\n\n const parsedValues = parseJSFToValidate(values, allFields);\n\n // 1. validate static fields first using Yup validate function\n try {\n await validationSchema.validate(parsedValues, {\n abortEarly: false,\n });\n errors = {\n formErrors: {},\n yupError: new ValidationError([], values),\n };\n } catch (error) {\n const iterateResult = iterateErrors(error as ValidationError);\n\n errors = {\n // convert the errors to a format that can be used in the form\n formErrors: Object.entries(iterateResult).reduce(\n (acc, [key, value]) => ({ ...acc, [key]: value.message }),\n {},\n ),\n yupError: error as ValidationError,\n };\n }\n\n // 2. validate json schema fields using the handleValidation (from json-schema-form)\n const handleValidationResult =\n jsonSchemaRegionFields?.handleValidation(parsedValues);\n\n // 3. combine the errors from both validations\n const combinedInnerErrors = [\n ...(errors?.yupError.inner || []),\n ...(handleValidationResult?.yupError?.inner || []),\n ];\n const combinedValues = {\n ...(errors?.yupError?.value || {}),\n ...(handleValidationResult?.yupError?.value || {}),\n };\n\n return {\n formErrors: {\n ...(errors?.formErrors || {}),\n ...(handleValidationResult?.formErrors || {}),\n },\n yupError: new ValidationError(combinedInnerErrors, combinedValues),\n };\n }\n\n return {\n stepState: {\n current: 0,\n total: 1,\n isLastStep: true,\n },\n fields: allFields,\n validationSchema,\n handleValidation,\n isSubmitting: costCalculatorEstimationMutation.isPending,\n isLoading:\n isLoadingCountries && isLoadingCurrencies && isLoadingRegionFields,\n onSubmit,\n resetForm,\n };\n};\n"],"mappings":"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","names":["object","createHeadlessForm","modify","useMutation","useQuery","useState","string","ValidationError","useCostCalculatorCountries","__name","includePremiumBenefits","client","useClient","useQuery","getIndexCountry","data","country","useCompanyCurrencies","getIndexCompanyCurrency","currency","useCostCalculatorEstimation","useMutation","payload","postCreateEstimation","useCostCalculatorEstimationPdf","postCreateEstimationPdf","useRegionFields","region","options","getShowRegionField","jsfSchema","schema","modify","createHeadlessForm","defaultEstimationOptions","useCostCalculator","defaultRegion","estimationOptions","jsonSchemaModified","jsonSchema","fieldsJSONSchema","selectedRegion","setSelectedRegion","useState","selectedCountry","setSelectedCountry","countries","isLoadingCountries","currencies","isLoadingCurrencies","jsonSchemaRegionSlug","jsonSchemaRegionFields","isLoadingRegionFields","costCalculatorEstimationMutation","onSubmit","values","validationSchema","err","resolve","reject","buildPayload","response","error","onCountryChange","currentCountry","value","onRegionChange","regionField","field","regions","string","currencyField","countryField","resetForm","allFields","buildValidationSchema","handleValidation","errors","parsedValues","parseJSFToValidate","ValidationError","iterateResult","iterateErrors","acc","key","handleValidationResult","combinedInnerErrors","combinedValues","buildValidationSchema","fields","fieldsSchema","fieldsSchemaAcc","field","object","__name","formatBenefits","benefits","needle","acc","key","benefitEntry","buildPayload","values","estimationOptions","defaultEstimationOptions","convertToCents"]}
|
package/dist/chunk-7CYG2RHP.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./chunk-OLJ2S6A6.js";import{b as n}from"./chunk-56BNVYTD.js";import{a as e}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import i from"react";function _({children:s,...t}){let{form:m,formId:l,costCalculatorBag:u}=r();return i.createElement(n,{...t,type:"reset",className:e("RemoteFlows__CostCalculatorForm__ResetButton",t.className),form:l,onClick:a=>{u?.resetForm(),m.reset(),t.onClick?.(a)}},s)}o(_,"CostCalculatorResetButton");export{_ as a};
|
|
2
|
-
//# sourceMappingURL=chunk-7CYG2RHP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorResetButton.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useCostCalculatorContext } from './context';\nimport { cn } from '@/src/lib/utils';\n\nexport function CostCalculatorResetButton({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n return (\n <Button\n {...props}\n type=\"reset\"\n className={cn(\n 'RemoteFlows__CostCalculatorForm__ResetButton',\n props.className,\n )}\n form={formId}\n onClick={(evt) => {\n costCalculatorBag?.resetForm();\n form.reset();\n props.onClick?.(evt);\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"gKACA,OAAOA,MAAwD,QAIxD,SAASC,EAA0B,CACxC,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EACrE,OACEC,EAAA,cAACC,EAAA,CACE,GAAGN,EACJ,KAAK,QACL,UAAWO,EACT,+CACAP,EAAM,SACR,EACA,KAAME,EACN,QAAUM,GAAQ,CAChBL,GAAmB,UAAU,EAC7BF,EAAK,MAAM,EACXD,EAAM,UAAUQ,CAAG,CACrB,GAECT,CACH,CAEJ,CAvBgBU,EAAAX,EAAA","names":["React","CostCalculatorResetButton","children","props","form","formId","costCalculatorBag","useCostCalculatorContext","React","Button","cn","evt","__name"]}
|
package/dist/chunk-ASMIUBMG.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-KSGPQCSG.js";import{a as n}from"./chunk-WEIRXEXU.js";import{a as e}from"./chunk-PBUHBIVK.js";import{a as T}from"./chunk-X7BVA4MH.js";import{a}from"./chunk-Y4ZFQBM3.js";import{a as f}from"./chunk-GHT53KSP.js";import{a as r}from"./chunk-YOC3VDC7.js";import{a as p}from"./chunk-ZKZDAXNJ.js";import{a as t}from"./chunk-DZYFSFZ7.js";import{a as i}from"./chunk-AYDF3IFZ.js";import c,{useId as u}from"react";var k=i(({employmentId:d,render:s,options:l})=>{let y=u(),o=e({employmentId:d,options:l});return c.createElement(t.Provider,{value:{formId:y,terminationBag:o}},s({terminationBag:o,components:{SubmitButton:m,TimeOff:n,Back:r,EmployeeComunicationStep:a,TerminationDetailsStep:p,PaidTimeOffStep:f,AdditionalDetailsStep:T}}))},"TerminationFlow");export{k as a};
|
|
2
|
-
//# sourceMappingURL=chunk-ASMIUBMG.js.map
|
package/dist/chunk-BLPOQIGB.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-IDSJI7KQ.js";import{c as n}from"./chunk-N25EBX6R.js";import{b as a}from"./chunk-6HGUGIYJ.js";import{a as o}from"./chunk-AYDF3IFZ.js";import i from"react";import{useForm as S}from"react-hook-form";function R({onSubmit:s,onError:d,onSuccess:c}){let{contractAmendment:{stepState:l,isSubmitting:u,onSubmit:f,fields:C},formId:p}=a(),r=S({defaultValues:l.values?.form}),A=o(async e=>{let F=n(e,C,{isPartialValidation:!1});await s?.(F);let t=await f(e);t.error?d?.(t.error):await c?.(t.data)},"handleSubmit");return u?null:i.createElement(m,{...r},i.createElement("form",{id:p,onSubmit:r.handleSubmit(A),className:"RemoteFlows__ContractAmendmentConfirmationForm"}))}o(R,"ContractAmendmentConfirmationForm");export{R as a};
|
|
2
|
-
//# sourceMappingURL=chunk-BLPOQIGB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentConfirmationForm.tsx"],"sourcesContent":["import {\n ContractAmendmentResponse,\n PostCreateContractAmendmentError,\n} from '@/src/client';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { Form } from '@/src/components/ui/form';\nimport React from 'react';\nimport { FieldValues, useForm } from 'react-hook-form';\nimport { useContractAmendmentContext } from './context';\n\ntype ContractAmendmentConfirmationFormProps = {\n /**\n * Callback function to be called when the contract amendment form is submitted.\n * This function is called before the contract amendment is submitted.\n * It can be used to perform any additional validation or processing before\n * the contract amendment is submitted.\n * @param values\n * @returns\n */\n onSubmit?: (values: FieldValues) => void | Promise<void>;\n /**\n * Callback function to be called when the contract amendment fails.\n * @param error\n * @returns\n */\n onError?: (error: PostCreateContractAmendmentError) => void;\n /**\n * Callback function to be called when the contract amendment is successfully submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: ContractAmendmentResponse) => void | Promise<void>;\n};\n\nexport function ContractAmendmentConfirmationForm({\n onSubmit,\n onError,\n onSuccess,\n}: ContractAmendmentConfirmationFormProps) {\n const {\n contractAmendment: {\n stepState,\n isSubmitting,\n onSubmit: submitContractAmendment,\n fields,\n },\n formId,\n } = useContractAmendmentContext();\n const form = useForm({\n defaultValues: stepState.values?.form,\n });\n\n const handleSubmit = async (values: FieldValues) => {\n const parsedValues = parseJSFToValidate(values, fields, {\n isPartialValidation: false,\n });\n await onSubmit?.(parsedValues);\n\n const contractAmendmentResult = await submitContractAmendment(values);\n\n if (contractAmendmentResult.error) {\n onError?.(\n contractAmendmentResult.error as PostCreateContractAmendmentError,\n );\n } else {\n await onSuccess?.(\n contractAmendmentResult.data as ContractAmendmentResponse,\n );\n }\n };\n\n // Ensure that step\n if (isSubmitting) {\n return null;\n }\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"RemoteFlows__ContractAmendmentConfirmationForm\"\n ></form>\n </Form>\n );\n}\n"],"mappings":"gKAMA,OAAOA,MAAW,QAClB,OAAsB,WAAAC,MAAe,kBA2B9B,SAASC,EAAkC,CAChD,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA2C,CACzC,GAAM,CACJ,kBAAmB,CACjB,UAAAC,EACA,aAAAC,EACA,SAAUC,EACV,OAAAC,CACF,EACA,OAAAC,CACF,EAAIC,EAA4B,EAC1BC,EAAOC,EAAQ,CACnB,cAAeP,EAAU,QAAQ,IACnC,CAAC,EAEKQ,EAAeC,EAAA,MAAOC,GAAwB,CAClD,IAAMC,EAAeC,EAAmBF,EAAQP,EAAQ,CACtD,oBAAqB,EACvB,CAAC,EACD,MAAMN,IAAWc,CAAY,EAE7B,IAAME,EAA0B,MAAMX,EAAwBQ,CAAM,EAEhEG,EAAwB,MAC1Bf,IACEe,EAAwB,KAC1B,EAEA,MAAMd,IACJc,EAAwB,IAC1B,CAEJ,EAjBqB,gBAoBrB,OAAIZ,EACK,KAIPa,EAAA,cAACC,EAAA,CAAM,GAAGT,GACRQ,EAAA,cAAC,QACC,GAAIV,EACJ,SAAUE,EAAK,aAAaE,CAAY,EACxC,UAAU,iDACX,CACH,CAEJ,CAnDgBC,EAAAb,EAAA","names":["React","useForm","ContractAmendmentConfirmationForm","onSubmit","onError","onSuccess","stepState","isSubmitting","submitContractAmendment","fields","formId","useContractAmendmentContext","form","useForm","handleSubmit","__name","values","parsedValues","parseJSFToValidate","contractAmendmentResult","React","Form"]}
|
package/dist/chunk-CIGSCITX.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-66UY5UHP.js";import{b as s}from"./chunk-WS3C3WIJ.js";import{d as i}from"./chunk-N25EBX6R.js";import{a as t}from"./chunk-AYDF3IFZ.js";import d from"react";function v({components:m,onSubmit:p,onError:r,onSuccess:f}){let{onboardingBag:e}=s(),u=e.fields??[],c=i(u,e.initialValues.benefits);return d.createElement(a,{defaultValues:c,components:m,onSubmit:t(async n=>{try{await p?.(n);let o=await e.onSubmit(n);if(o?.data){await f?.(o.data),e?.next();return}o?.error&&r?.(o.error)}catch(o){r?.(o)}},"handleSubmit")})}t(v,"BenefitsStep");export{v as a};
|
|
2
|
-
//# sourceMappingURL=chunk-CIGSCITX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/BenefitsStep.tsx"],"sourcesContent":["import React from 'react';\nimport { Components } from '@/src/types/remoteFlows';\nimport { OnboardingForm } from '@/src/flows/Onboarding/OnboardingForm';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { SuccessResponse } from '@/src/client';\nimport { getInitialValues } from '@/src/components/form/utils';\nimport { BenefitsFormPayload } from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@remoteoss/json-schema-form';\n\ntype BenefitsStepProps = {\n components?: Components;\n /**\n * Callback function to be called when the benefits form is submitted.\n * It can be used to perform any additional validation or processing before\n * the onboarding moves to the last step.\n * @param values\n * @returns\n */\n onSubmit?: (values: BenefitsFormPayload) => void | Promise<void>;\n /**\n * Callback function to be called when the submitting benefits form fails.\n * @param error\n * @returns\n */\n onError?: (error: Error) => void;\n /**\n * Callback function to be called when benefits form is successfully submitted.\n * This function is called after the submitting benefits form is submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: SuccessResponse) => void | Promise<void>;\n};\n\nexport function BenefitsStep({\n components,\n onSubmit,\n onError,\n onSuccess,\n}: BenefitsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const fields = onboardingBag.fields ?? [];\n const initialValues = getInitialValues(\n fields,\n onboardingBag.initialValues.benefits,\n );\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(payload as BenefitsFormPayload);\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response.data as SuccessResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n onError?.(response.error);\n }\n } catch (error: unknown) {\n onError?.(error as Error);\n }\n };\n\n return (\n <OnboardingForm\n defaultValues={initialValues}\n components={components}\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"2JAAA,OAAOA,MAAW,QAkCX,SAASC,EAAa,CAC3B,WAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAAsB,CACpB,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAASF,EAAc,QAAU,CAAC,EAClCG,EAAgBC,EACpBF,EACAF,EAAc,cAAc,QAC9B,EAmBA,OACEK,EAAA,cAACC,EAAA,CACC,cAAeH,EACf,WAAYP,EACZ,SArBiBW,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMX,IAAWW,CAA8B,EAC/C,IAAMC,EAAW,MAAMT,EAAc,SAASQ,CAAO,EACrD,GAAIC,GAAU,KAAM,CAClB,MAAMV,IAAYU,EAAS,IAAuB,EAClDT,GAAe,KAAK,EACpB,MACF,CACIS,GAAU,OACZX,IAAUW,EAAS,KAAK,CAE5B,OAASC,EAAgB,CACvBZ,IAAUY,CAAc,CAC1B,CACF,EAfqB,gBAsBnB,CAEJ,CArCgBH,EAAAZ,EAAA","names":["React","BenefitsStep","components","onSubmit","onError","onSuccess","onboardingBag","useOnboardingContext","fields","initialValues","getInitialValues","React","OnboardingForm","__name","payload","response","error"]}
|
package/dist/chunk-DGPRFQYK.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as p}from"./chunk-DYB3RWP7.js";import{b as d}from"./chunk-56BNVYTD.js";import{a as s}from"./chunk-5ETXP2QF.js";import{a as m}from"./chunk-AYDF3IFZ.js";import o from"react";import*as a from"react";import{Drawer as l}from"vaul";var f=m(({shouldScaleBackground:r=!0,...e})=>a.createElement(l.Root,{shouldScaleBackground:r,...e}),"Drawer");f.displayName="Drawer";var y=l.Trigger,h=l.Portal,P=l.Close,N=a.forwardRef(({className:r,...e},i)=>a.createElement(l.Overlay,{ref:i,className:s("fixed inset-0 z-50 bg-black/80",r),...e}));N.displayName=l.Overlay.displayName;var D=a.forwardRef(({className:r,children:e,...i},c)=>a.createElement(h,null,a.createElement(N,null),a.createElement(l.Content,{ref:c,className:s("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",r),...i},a.createElement("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),e)));D.displayName="DrawerContent";var w=m(({className:r,...e})=>a.createElement("div",{className:s("grid gap-1.5 p-4 text-center sm:text-left",r),...e}),"DrawerHeader");w.displayName="DrawerHeader";var C=m(({className:r,...e})=>a.createElement("div",{className:s("mt-auto flex flex-col gap-2 p-4",r),...e}),"DrawerFooter");C.displayName="DrawerFooter";var u=a.forwardRef(({className:r,...e},i)=>a.createElement(l.Title,{ref:i,className:s("text-lg font-semibold leading-none tracking-tight",r),...e}));u.displayName=l.Title.displayName;var v=a.forwardRef(({className:r,...e},i)=>a.createElement(l.Description,{ref:i,className:s("text-sm text-muted-foreground",r),...e}));v.displayName=l.Description.displayName;import*as n from"react";import*as t from"@radix-ui/react-scroll-area";var g=n.forwardRef(({className:r,children:e,...i},c)=>n.createElement(t.Root,{ref:c,className:s("relative overflow-hidden",r),...i},n.createElement(t.Viewport,{className:"h-full w-full rounded-[inherit]"},e),n.createElement(b,null),n.createElement(t.Corner,null)));g.displayName=t.Root.displayName;var b=n.forwardRef(({className:r,orientation:e="vertical",...i},c)=>n.createElement(t.ScrollAreaScrollbar,{ref:c,orientation:e,className:s("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",r),...i},n.createElement(t.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})));b.displayName=t.ScrollAreaScrollbar.displayName;import{X as S}from"lucide-react";var O=m(({label:r="Disclaimer"})=>o.createElement(f,null,o.createElement(y,{asChild:!0},o.createElement(d,{variant:"link",size:"link"},r)),o.createElement(D,null,o.createElement(w,null,o.createElement(P,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none"},o.createElement(S,{className:"h-4 w-4"}),o.createElement("span",{className:"sr-only"},"Close")),o.createElement(u,null,p?.data.title),o.createElement(v,null,"For more details read our"," ",o.createElement(d,{variant:"link",size:"link",asChild:!0},o.createElement("a",{href:p?.data.html_url,target:"_blank",rel:"noopener noreferrer"},"Disclaimer")))),o.createElement(g,{className:"px-4 pb-4 overflow-y-auto max-h-[calc(80vh-120px)] cost-calculator-disclaimer-drawer-scroll-area"},o.createElement("div",{className:"cost-calculator-disclaimer-drawer-body",dangerouslySetInnerHTML:{__html:p?.data.body??""}})))),"CostCalculatorDisclaimer");export{O as a};
|
|
2
|
-
//# sourceMappingURL=chunk-DGPRFQYK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorDisclaimer.tsx","../src/components/ui/drawer.tsx","../src/components/ui/scroll-area.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n} from '@/src/components/ui/drawer';\nimport { ScrollArea } from '@/src/components/ui/scroll-area';\nimport { X } from 'lucide-react';\nimport { Button } from '@/src/components/ui/button';\nimport { disclaimerData } from '@/src/flows/CostCalculator/disclaimerUtils';\n\ntype CostCalculatorDisclaimerProps = {\n label?: string;\n};\n\nexport const CostCalculatorDisclaimer = ({\n label = 'Disclaimer',\n}: CostCalculatorDisclaimerProps) => {\n return (\n <Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"link\" size=\"link\">\n {label}\n </Button>\n </DrawerTrigger>\n <DrawerContent>\n <DrawerHeader>\n <DrawerClose className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DrawerClose>\n <DrawerTitle>{disclaimerData?.data.title}</DrawerTitle>\n <DrawerDescription>\n For more details read our{' '}\n <Button variant=\"link\" size=\"link\" asChild>\n <a\n href={disclaimerData?.data.html_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Disclaimer\n </a>\n </Button>\n </DrawerDescription>\n </DrawerHeader>\n <ScrollArea className=\"px-4 pb-4 overflow-y-auto max-h-[calc(80vh-120px)] cost-calculator-disclaimer-drawer-scroll-area\">\n <div\n className=\"cost-calculator-disclaimer-drawer-body\"\n dangerouslySetInnerHTML={{\n __html: disclaimerData?.data.body ?? '',\n }}\n ></div>\n </ScrollArea>\n </DrawerContent>\n </Drawer>\n );\n};\n","'use client';\n\nimport * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport { cn } from '@/src/lib/utils';\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n);\nDrawer.displayName = 'Drawer';\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal = DrawerPrimitive.Portal;\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn('fixed inset-0 z-50 bg-black/80', className)}\n {...props}\n />\n));\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background',\n className,\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n));\nDrawerContent.displayName = 'DrawerContent';\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('grid gap-1.5 p-4 text-center sm:text-left', className)}\n {...props}\n />\n);\nDrawerHeader.displayName = 'DrawerHeader';\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n);\nDrawerFooter.displayName = 'DrawerFooter';\n\nconst DrawerTitle = React.forwardRef<\n HTMLHeadingElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n 'text-lg font-semibold leading-none tracking-tight',\n className,\n )}\n {...props}\n />\n));\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n HTMLParagraphElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n));\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};\n","import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport { cn } from '@/src/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":"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","names":["React","React","DrawerPrimitive","Drawer","__name","shouldScaleBackground","props","DrawerPrimitive","DrawerTrigger","DrawerPortal","DrawerClose","DrawerOverlay","className","ref","cn","DrawerContent","children","DrawerHeader","DrawerFooter","DrawerTitle","DrawerDescription","React","ScrollAreaPrimitive","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","X","CostCalculatorDisclaimer","__name","label","React","Drawer","DrawerTrigger","Button","DrawerContent","DrawerHeader","DrawerClose","X","DrawerTitle","disclaimerData","DrawerDescription","ScrollArea"]}
|
package/dist/chunk-EAAIAMTY.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./chunk-OLJ2S6A6.js";import{b as u}from"./chunk-56BNVYTD.js";import{a as m}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import e from"react";function f(t){let{formId:n}=r();return e.createElement(u,{type:"submit",className:m("RemoteFlows__CostCalculatorForm__SubmitButton",t.className),form:n,...t},t.children)}o(f,"CostCalculatorSubmitButton");export{f as a};
|
|
2
|
-
//# sourceMappingURL=chunk-EAAIAMTY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorSubmitButton.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useCostCalculatorContext } from './context';\nimport { cn } from '@/src/lib/utils';\n\nexport function CostCalculatorSubmitButton(\n props: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>,\n) {\n const { formId } = useCostCalculatorContext();\n\n return (\n <Button\n type=\"submit\"\n className={cn(\n 'RemoteFlows__CostCalculatorForm__SubmitButton',\n props.className,\n )}\n form={formId}\n {...props}\n >\n {props.children}\n </Button>\n );\n}\n"],"mappings":"gKACA,OAAOA,MAAwD,QAIxD,SAASC,EACdC,EACA,CACA,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAyB,EAE5C,OACEC,EAAA,cAACC,EAAA,CACC,KAAK,SACL,UAAWC,EACT,gDACAL,EAAM,SACR,EACA,KAAMC,EACL,GAAGD,GAEHA,EAAM,QACT,CAEJ,CAlBgBM,EAAAP,EAAA","names":["React","CostCalculatorSubmitButton","props","formId","useCostCalculatorContext","React","Button","cn","__name"]}
|
package/dist/chunk-EAB7VHAW.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as p}from"./chunk-3EQND6W7.js";import{b as l}from"./chunk-A4RX3KRZ.js";import{a as f}from"./chunk-IDSJI7KQ.js";import{c as u}from"./chunk-N25EBX6R.js";import{b as F}from"./chunk-6HGUGIYJ.js";import{a as r}from"./chunk-AYDF3IFZ.js";import a,{useEffect as P}from"react";import{useForm as w}from"react-hook-form";var k=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function U({onSubmit:_,onError:m,onSuccess:b}){let{formId:A,contractAmendment:{checkFieldUpdates:C,fields:s,onSubmit:h,stepState:S,initialValues:i,handleValidation:g}}=F(),y=l(g),e=w({resolver:y,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});P(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&C(o)});return()=>t?.unsubscribe()},[]);let V=r(async t=>{let o=!1;for(let[c,v]of Object.entries(t))if(!k.includes(c)&&i[c]!==v){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=u(t,s,{isPartialValidation:!1});await _?.(d);let n=await h(t);n.error?m?.(n.error):await b?.(n.data)},"handleSubmit");return a.createElement(f,{...e},a.createElement("form",{id:A,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(V),className:"space-y-4 RemoteFlows__ContractAmendmentForm"},a.createElement(p,{fields:s})))}r(U,"ContractAmendmentForm");export{U as a};
|
|
2
|
-
//# sourceMappingURL=chunk-EAB7VHAW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentForm.tsx"],"sourcesContent":["import {\n ContractAmendmentAutomatableResponse,\n PostAutomatableContractAmendmentError,\n} from '@/src/client';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/yupValidationResolver';\nimport { Form } from '@/src/components/ui/form';\nimport React, { useEffect } from 'react';\nimport { FieldValues, useForm } from 'react-hook-form';\nimport { useContractAmendmentContext } from './context';\n\ntype ContractAmendmentFormProps = {\n /**\n * Callback function to be called when the contract amendment form is submitted.\n * This function is called before the contract amendment is submitted.\n * It can be used to perform any additional validation or processing before\n * the contract amendment is submitted.\n * @param values\n * @returns\n */\n onSubmit?: (values: FieldValues) => void | Promise<void>;\n /**\n * Callback function to be called when the contract amendment fails.\n * @param error\n * @returns\n */\n onError?: (\n error:\n | PostAutomatableContractAmendmentError\n | { message: 'no_changes_detected_contract_details' },\n ) => void;\n /**\n * Callback function to be called when the contract amendment is successfully submitted.\n * This function is called after the contract amendment is submitted.\n * @param data\n * @returns\n */\n onSuccess?: (\n data: ContractAmendmentAutomatableResponse,\n ) => void | Promise<void>;\n};\n\nconst commonFields = [\n 'effective_date',\n 'reason_for_change',\n 'reason_for_change_description',\n 'additional_comments',\n 'additional_comments_toggle',\n] as const;\n\ntype CommonFields = (typeof commonFields)[number];\n\nexport function ContractAmendmentForm({\n onSubmit,\n onError,\n onSuccess,\n}: ContractAmendmentFormProps) {\n const {\n formId,\n contractAmendment: {\n checkFieldUpdates,\n fields,\n onSubmit: submitContractAmendment,\n stepState,\n initialValues,\n handleValidation,\n },\n } = useContractAmendmentContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n // @ts-expect-error no matching type\n handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues:\n // stepState.values is used as defaultValues for the form when the form is\n // rendered when clicking on the back button after the user has submitted the form\n // and the confirmation form is displayed.\n // This is because the form is unmounted when the user submits the form.\n stepState.values?.form || initialValues,\n shouldUnregister: true,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isFormDirty =\n Object.keys(form.formState.dirtyFields).length > 0 ||\n form.formState.isDirty;\n if (isFormDirty) {\n checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (values: FieldValues) => {\n let hasContractDetailsChanges = false;\n for (const [key, value] of Object.entries(values)) {\n if (\n !commonFields.includes(key as CommonFields) &&\n // @ts-expect-error error\n initialValues[key] !== value\n ) {\n hasContractDetailsChanges = true;\n break;\n }\n }\n\n if (!hasContractDetailsChanges) {\n return onError?.({\n message: 'no_changes_detected_contract_details',\n });\n }\n\n const parsedValues = parseJSFToValidate(values, fields, {\n isPartialValidation: false,\n });\n\n await onSubmit?.(parsedValues);\n\n const contractAmendmentResult = await submitContractAmendment(values);\n\n if (contractAmendmentResult.error) {\n onError?.(contractAmendmentResult.error);\n } else {\n await onSuccess?.(\n contractAmendmentResult.data as ContractAmendmentAutomatableResponse,\n );\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n data-testid=\"contract-amendment-form\"\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"space-y-4 RemoteFlows__ContractAmendmentForm\"\n >\n <JSONSchemaFormFields fields={fields} />\n </form>\n </Form>\n );\n}\n"],"mappings":"gPAQA,OAAOA,GAAS,aAAAC,MAAiB,QACjC,OAAsB,WAAAC,MAAe,kBAkCrC,IAAMC,EAAe,CACnB,iBACA,oBACA,gCACA,sBACA,4BACF,EAIO,SAASC,EAAsB,CACpC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA+B,CAC7B,GAAM,CACJ,OAAAC,EACA,kBAAmB,CACjB,kBAAAC,EACA,OAAAC,EACA,SAAUC,EACV,UAAAC,EACA,cAAAC,EACA,iBAAAC,CACF,CACF,EAAIC,EAA4B,EAE1BC,EAAWC,EAEfH,CACF,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAKEJ,EAAU,QAAQ,MAAQC,EAC5B,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDO,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,EAEzC,OAAO,KAAKJ,EAAK,UAAU,WAAW,EAAE,OAAS,GACjDA,EAAK,UAAU,UAEfT,EAAkBa,CAAM,CAE5B,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAME,EAAeC,EAAA,MAAOF,GAAwB,CAClD,IAAIG,EAA4B,GAChC,OAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQL,CAAM,EAC9C,GACE,CAACnB,EAAa,SAASuB,CAAmB,GAE1Cb,EAAca,CAAG,IAAMC,EACvB,CACAF,EAA4B,GAC5B,KACF,CAGF,GAAI,CAACA,EACH,OAAOnB,IAAU,CACf,QAAS,sCACX,CAAC,EAGH,IAAMsB,EAAeC,EAAmBP,EAAQZ,EAAQ,CACtD,oBAAqB,EACvB,CAAC,EAED,MAAML,IAAWuB,CAAY,EAE7B,IAAME,EAA0B,MAAMnB,EAAwBW,CAAM,EAEhEQ,EAAwB,MAC1BxB,IAAUwB,EAAwB,KAAK,EAEvC,MAAMvB,IACJuB,EAAwB,IAC1B,CAEJ,EAlCqB,gBAoCrB,OACEC,EAAA,cAACC,EAAA,CAAM,GAAGd,GACRa,EAAA,cAAC,QACC,GAAIvB,EACJ,cAAY,0BACZ,SAAUU,EAAK,aAAaK,CAAY,EACxC,UAAU,gDAEVQ,EAAA,cAACE,EAAA,CAAqB,OAAQvB,EAAQ,CACxC,CACF,CAEJ,CA/FgBc,EAAApB,EAAA","names":["React","useEffect","useForm","commonFields","ContractAmendmentForm","onSubmit","onError","onSuccess","formId","checkFieldUpdates","fields","submitContractAmendment","stepState","initialValues","handleValidation","useContractAmendmentContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","handleSubmit","__name","hasContractDetailsChanges","key","value","parsedValues","parseJSFToValidate","contractAmendmentResult","React","Form","JSONSchemaFormFields"]}
|
package/dist/chunk-FMT2OTOL.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as n}from"./chunk-56BNVYTD.js";import{b as o}from"./chunk-6HGUGIYJ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import i from"react";function C({children:r,...e}){let{contractAmendment:{back:m}}=o();return i.createElement(n,{...e,onClick:()=>{m()}},r)}t(C,"ContractAmendmentBack");export{C as a};
|
|
2
|
-
//# sourceMappingURL=chunk-FMT2OTOL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useContractAmendmentContext } from './context';\n\nexport function ContractAmendmentBack({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const {\n contractAmendment: { back },\n } = useContractAmendmentContext();\n\n return (\n <Button\n {...props}\n onClick={() => {\n back();\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EAAsB,CACpC,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CACJ,kBAAmB,CAAE,KAAAC,CAAK,CAC5B,EAAIC,EAA4B,EAEhC,OACEC,EAAA,cAACC,EAAA,CACE,GAAGJ,EACJ,QAAS,IAAM,CACbC,EAAK,CACP,GAECF,CACH,CAEJ,CAlBgBM,EAAAP,EAAA","names":["React","ContractAmendmentBack","children","props","back","useContractAmendmentContext","React","Button","__name"]}
|
package/dist/chunk-FQLSGKCJ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as f}from"./chunk-DZYFSFZ7.js";import{a as l}from"./chunk-3EQND6W7.js";import{b as s}from"./chunk-A4RX3KRZ.js";import{a}from"./chunk-IDSJI7KQ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import e,{useEffect as y}from"react";import{useForm as T}from"react-hook-form";function w({fields:m,onSubmit:d}){let{formId:u,terminationBag:o}=f(),F=s(o.handleValidation),i=T({resolver:F,defaultValues:o?.initialValues,shouldUnregister:!1,mode:"onBlur"});y(()=>{let p=i?.watch(r=>{Object.keys(r).some(n=>r[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(r)});return()=>p?.unsubscribe()},[]);let c=m||(o?.fields??[]);return e.createElement(a,{...i},e.createElement("form",{id:u,onSubmit:i.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm"},e.createElement(l,{fields:c})))}t(w,"TerminationForm");export{w as a};
|
|
2
|
-
//# sourceMappingURL=chunk-FQLSGKCJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Termination/TerminationForm.tsx"],"sourcesContent":["import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport React, { useEffect } from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/yupValidationResolver';\nimport { Fields } from '@remoteoss/json-schema-form';\n\ntype TerminationFormProps = {\n onSubmit: (payload: TerminationFormValues) => void;\n fields?: Fields;\n};\n\nexport function TerminationForm({ fields, onSubmit }: TerminationFormProps) {\n const { formId, terminationBag } = useTerminationContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n // @ts-expect-error no matching type\n terminationBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues: terminationBag?.initialValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isAnyFieldDirty = Object.keys(values).some(\n (key) =>\n values[key as keyof TerminationFormValues] !==\n terminationBag?.initialValues?.[key as keyof TerminationFormValues],\n );\n if (isAnyFieldDirty) {\n terminationBag?.checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const jsonSchemaFields = fields ? fields : (terminationBag?.fields ?? []);\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(onSubmit)}\n className=\"space-y-4 RemoteFlows__TerminationForm\"\n >\n <JSONSchemaFormFields fields={jsonSchemaFields} />\n </form>\n </Form>\n );\n}\n"],"mappings":"mMAEA,OAAOA,GAAS,aAAAC,MAAiB,QAGjC,OAAS,WAAAC,MAAe,kBASjB,SAASC,EAAgB,CAAE,OAAAC,EAAQ,SAAAC,CAAS,EAAyB,CAC1E,GAAM,CAAE,OAAAC,EAAQ,eAAAC,CAAe,EAAIC,EAAsB,EAEnDC,EAAWC,EAEfH,EAAe,gBACjB,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAeF,GAAgB,cAC/B,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDM,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACnB,OAAO,KAAKA,CAAM,EAAE,KACzCC,GACCD,EAAOC,CAAkC,IACzCT,GAAgB,gBAAgBS,CAAkC,CACtE,GAEET,GAAgB,kBAAkBQ,CAAM,CAE5C,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAmBb,IAAmBG,GAAgB,QAAU,CAAC,GAEvE,OACEW,EAAA,cAACC,EAAA,CAAM,GAAGR,GACRO,EAAA,cAAC,QACC,GAAIZ,EACJ,SAAUK,EAAK,aAAaN,CAAQ,EACpC,UAAU,0CAEVa,EAAA,cAACE,EAAA,CAAqB,OAAQH,EAAkB,CAClD,CACF,CAEJ,CA3CgBI,EAAAlB,EAAA","names":["React","useEffect","useForm","TerminationForm","fields","onSubmit","formId","terminationBag","useTerminationContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","jsonSchemaFields","React","Form","JSONSchemaFormFields","__name"]}
|
package/dist/chunk-GFBF55NR.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as r}from"./chunk-5ETXP2QF.js";import{a as e}from"./chunk-AYDF3IFZ.js";import*as t from"react";import{Slot as d}from"@radix-ui/react-slot";import{cva as s}from"class-variance-authority";var u=s("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-badge text-badge-foreground rounded-full [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground rounded-full [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white rounded-full [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",outline:"text-foreground rounded-full [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function g({className:a,variant:o,asChild:n=!1,...i}){return t.createElement(n?d:"span",{"data-slot":"badge",className:r(u({variant:o}),a),...i})}e(g,"Badge");export{g as a};
|
|
2
|
-
//# sourceMappingURL=chunk-GFBF55NR.js.map
|
package/dist/chunk-GHT53KSP.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as r}from"./chunk-FQLSGKCJ.js";import{b as m}from"./chunk-DZYFSFZ7.js";import{a as o}from"./chunk-AYDF3IFZ.js";import a from"react";function p({onSubmit:n}){let{terminationBag:i}=m();return a.createElement(r,{onSubmit:o(async t=>{await n?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(p,"PaidTimeOffForm");export{p as a};
|
|
2
|
-
//# sourceMappingURL=chunk-GHT53KSP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Termination/PaidTimeOffForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype PaidTimeOffFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n};\n\nexport function PaidTimeOffForm({ onSubmit }: PaidTimeOffFormProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QAYX,SAASC,EAAgB,CAAE,SAAAC,CAAS,EAAyB,CAClE,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOC,EAAA,cAACC,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAMN,IACJC,GAAgB,gBAAgBK,CAAM,CACxC,EACAL,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAVgBI,EAAAN,EAAA","names":["React","PaidTimeOffForm","onSubmit","terminationBag","useTerminationContext","React","TerminationForm","__name","values"]}
|
package/dist/chunk-GMGKIQLI.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import*as r from"react";function d({className:t,...e}){return r.createElement("div",{"data-slot":"card",className:a("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...e})}o(d,"Card");function c({className:t,...e}){return r.createElement("div",{"data-slot":"card-header",className:a("flex flex-col gap-1.5 px-6",t),...e})}o(c,"CardHeader");function s({className:t,...e}){return r.createElement("div",{"data-slot":"card-title",className:a("leading-none font-semibold",t),...e})}o(s,"CardTitle");function i({className:t,...e}){return r.createElement("div",{"data-slot":"card-description",className:a("text-sm",t),...e})}o(i,"CardDescription");function l({className:t,...e}){return r.createElement("div",{"data-slot":"card-content",className:a("px-6",t),...e})}o(l,"CardContent");export{d as a,c as b,s as c,i as d,l as e};
|
|
2
|
-
//# sourceMappingURL=chunk-GMGKIQLI.js.map
|
package/dist/chunk-IDSJI7KQ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as s}from"./chunk-5ETXP2QF.js";import{a}from"./chunk-AYDF3IFZ.js";import{Slot as x}from"@radix-ui/react-slot";import*as o from"react";import d from"dompurify";import{Controller as C,FormProvider as g,useFormContext as R,useFormState as b}from"react-hook-form";import*as c from"react";import*as u from"@radix-ui/react-label";function f({className:e,...t}){return c.createElement(u.Root,{"data-slot":"label",className:s("flex items-center gap-2 text-sm leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",e),...t})}a(f,"Label");var M=g,p=o.createContext({}),$=a(({...e})=>o.createElement(p.Provider,{value:{name:e.name}},o.createElement(C,{...e})),"FormField"),l=a(()=>{let e=o.useContext(p),t=o.useContext(F),{getFieldState:r}=R(),n=b({name:e.name}),i=r(e.name,n);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:m}=t;return{id:m,name:e.name,formItemId:`${m}-form-item`,formDescriptionId:`${m}-form-item-description`,formMessageId:`${m}-form-item-message`,...i}},"useFormField"),F=o.createContext({});function _({className:e,...t}){let r=o.useId();return o.createElement(F.Provider,{value:{id:r}},o.createElement("div",{"data-slot":"form-item",...t,className:s("grid gap-2",e)}))}a(_,"FormItem");function H({className:e,...t}){let{error:r,formItemId:n}=l();return o.createElement(f,{"data-slot":"form-label","data-error":!!r,className:s("text-base-color mb-1 data-[error=true]:text-destructive",e),htmlFor:n,...t})}a(H,"FormLabel");var P=o.forwardRef(({...e},t)=>{let{error:r,formItemId:n,formDescriptionId:i,formMessageId:m}=l();return o.createElement(x,{"data-slot":"form-control",ref:t,id:n,"aria-describedby":r?`${i} ${m}`:`${i}`,"aria-invalid":!!r,...e})});P.displayName="FormControl";var I=a(e=>{let t=new Set(e?e.toLowerCase().split(" "):[]);return t.add("noopener"),t.add("noreferrer"),Array.from(t).join(" ")},"appendSecureRelValue");d.isSupported&&d.addHook("afterSanitizeAttributes",e=>{let t=e.getAttribute("target");if(e.tagName==="A"&&(!t||t!=="_self")){e.setAttribute("target","_blank");let r=e.getAttribute("rel");e.setAttribute("rel",I(r))}});function k({className:e,children:t,...r}){let{formDescriptionId:n}=l();return o.createElement("p",{"data-slot":"form-description",id:n,className:s("text-base-color text-xs",e),...typeof t=="string"?{dangerouslySetInnerHTML:{__html:d.sanitize(t,{ADD_ATTR:["target"]})}}:{},...r},typeof t=="function"?t():null)}a(k,"FormDescription");function z({className:e,...t}){let{error:r,formMessageId:n}=l(),i=r?String(r?.message??""):t.children;return i?o.createElement("p",{"data-slot":"form-message",id:n,className:s("text-destructive text-sm",e),...t},i):null}a(z,"FormMessage");export{M as a,$ as b,_ as c,H as d,P as e,k as f,z as g};
|
|
2
|
-
//# sourceMappingURL=chunk-IDSJI7KQ.js.map
|
package/dist/chunk-J55S4SEH.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a,b as m,c as p,d}from"./chunk-3FVI5JIC.js";import{a as l}from"./chunk-MESREYTZ.js";import{b as i}from"./chunk-56BNVYTD.js";import{b as s}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import{Info as g}from"lucide-react";import o from"react";function y({contributionsTotal:u,currency:e,contributionsBreakdown:n}){return o.createElement("div",null,o.createElement("div",{className:"flex justify-between items-center mb-2"},o.createElement("h3",{className:"font-medium text-primary-foreground"},"Employer Contributions"),o.createElement("span",{className:"font-semibold text-lg"},s(u,e))),n?o.createElement(o.Fragment,null,o.createElement(l,{className:"mb-3"}),o.createElement("div",{className:"space-y-3 pl-2"},n.map((r,f)=>o.createElement("div",{key:f,className:"flex justify-between items-start text-sm"},o.createElement("div",{className:"flex items-start gap-2"},o.createElement("span",null,r.name),o.createElement(a,null,o.createElement(m,null,o.createElement(p,{asChild:!0},o.createElement(i,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0"},o.createElement(g,{className:"h-3 w-3 text-gray-400"}),o.createElement("span",{className:"sr-only"},"Info"))),o.createElement(d,null,o.createElement("p",{className:"max-w-xs"},r.description),r.zendesk_article_url&&o.createElement("a",{href:r.zendesk_article_url,target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:underline block mt-1 text-xs"},"Learn more"))))),o.createElement("span",null,s(r.amount,e)))))):null)}t(y,"CostCalculatorContributionsBreakdown");export{y as a};
|
|
2
|
-
//# sourceMappingURL=chunk-J55S4SEH.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\nimport React from 'react';\n\nimport {\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n Tooltip as UITooltip,\n} from '@/src/components/ui/tooltip';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorContributionsBreakdownProps = {\n contributionsTotal: number;\n currency: string;\n contributionsBreakdown:\n | {\n name: string;\n description: string | null;\n amount: number;\n zendesk_article_url: string | null;\n }[]\n | undefined;\n};\n\nexport function CostCalculatorContributionsBreakdown({\n contributionsTotal,\n currency,\n contributionsBreakdown,\n}: CostCalculatorContributionsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground\">\n Employer Contributions\n </h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(contributionsTotal, currency)}\n </span>\n </div>\n {contributionsBreakdown ? (\n <>\n <Separator className=\"mb-3\" />\n <div className=\"space-y-3 pl-2\">\n {contributionsBreakdown.map((contribution, index) => (\n <div\n key={index}\n className=\"flex justify-between items-start text-sm\"\n >\n <div className=\"flex items-start gap-2\">\n <span>{contribution.name}</span>\n <TooltipProvider>\n <UITooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-4 w-4 p-0\"\n >\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p className=\"max-w-xs\">{contribution.description}</p>\n {contribution.zendesk_article_url && (\n <a\n href={contribution.zendesk_article_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-blue-500 hover:underline block mt-1 text-xs\"\n >\n Learn more\n </a>\n )}\n </TooltipContent>\n </UITooltip>\n </TooltipProvider>\n </div>\n <span>{formatCurrency(contribution.amount, currency)}</span>\n </div>\n ))}\n </div>\n </>\n ) : null}\n </div>\n );\n}\n"],"mappings":"mNAAA,OAAS,QAAAA,MAAY,eACrB,OAAOC,MAAW,QA0BX,SAASC,EAAqC,CACnD,mBAAAC,EACA,SAAAC,EACA,uBAAAC,CACF,EAA8C,CAC5C,OACEC,EAAA,cAAC,WACCA,EAAA,cAAC,OAAI,UAAU,0CACbA,EAAA,cAAC,MAAG,UAAU,uCAAsC,wBAEpD,EACAA,EAAA,cAAC,QAAK,UAAU,yBACbC,EAAeJ,EAAoBC,CAAQ,CAC9C,CACF,EACCC,EACCC,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACE,EAAA,CAAU,UAAU,OAAO,EAC5BF,EAAA,cAAC,OAAI,UAAU,kBACZD,EAAuB,IAAI,CAACI,EAAcC,IACzCJ,EAAA,cAAC,OACC,IAAKI,EACL,UAAU,4CAEVJ,EAAA,cAAC,OAAI,UAAU,0BACbA,EAAA,cAAC,YAAMG,EAAa,IAAK,EACzBH,EAAA,cAACK,EAAA,KACCL,EAAA,cAACM,EAAA,KACCN,EAAA,cAACO,EAAA,CAAe,QAAO,IACrBP,EAAA,cAACQ,EAAA,CACC,QAAQ,QACR,KAAK,OACL,UAAU,eAEVR,EAAA,cAACS,EAAA,CAAK,UAAU,wBAAwB,EACxCT,EAAA,cAAC,QAAK,UAAU,WAAU,MAAI,CAChC,CACF,EACAA,EAAA,cAACU,EAAA,KACCV,EAAA,cAAC,KAAE,UAAU,YAAYG,EAAa,WAAY,EACjDA,EAAa,qBACZH,EAAA,cAAC,KACC,KAAMG,EAAa,oBACnB,OAAO,SACP,IAAI,sBACJ,UAAU,oDACX,YAED,CAEJ,CACF,CACF,CACF,EACAH,EAAA,cAAC,YAAMC,EAAeE,EAAa,OAAQL,CAAQ,CAAE,CACvD,CACD,CACH,CACF,EACE,IACN,CAEJ,CA9DgBa,EAAAf,EAAA","names":["Info","React","CostCalculatorContributionsBreakdown","contributionsTotal","currency","contributionsBreakdown","React","formatCurrency","Separator","contribution","index","TooltipProvider","Tooltip","TooltipTrigger","Button","Info","TooltipContent","__name"]}
|
package/dist/chunk-KDRQW7SO.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as i}from"./chunk-OLJ2S6A6.js";import{a as e}from"./chunk-3EQND6W7.js";import{a as l}from"./chunk-IDSJI7KQ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import r from"react";function S({onSubmit:u,onError:C,onSuccess:c}){let{form:a,formId:n,costCalculatorBag:s}=i(),d=t(async m=>{let o=await s?.onSubmit(m);await u?.(m),o?.error?C?.(o.error):o?.data&&await c?.(o?.data)},"handleSubmit");return r.createElement(l,{...a},r.createElement("form",{id:n,onSubmit:a.handleSubmit(d),className:"space-y-4 RemoteFlows__CostCalculatorForm"},r.createElement(e,{fields:s?.fields??[]})))}t(S,"CostCalculatorForm");export{S as a};
|
|
2
|
-
//# sourceMappingURL=chunk-KDRQW7SO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorForm.tsx"],"sourcesContent":["import { 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 { CostCalculatorEstimationFormValues } from '@/src/flows/CostCalculator/types';\nimport React from 'react';\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: (data: CostCalculatorEstimationFormValues) => 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\nexport function CostCalculatorForm({\n onSubmit,\n onError,\n onSuccess,\n}: CostCalculatorFormProps) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n\n const handleSubmit = async (values: CostCalculatorEstimationFormValues) => {\n const costCalculatorResults = await costCalculatorBag?.onSubmit(values);\n\n await onSubmit?.(values);\n\n if (costCalculatorResults?.error) {\n onError?.(costCalculatorResults.error);\n } else {\n if (costCalculatorResults?.data) {\n await onSuccess?.(costCalculatorResults?.data);\n }\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"space-y-4 RemoteFlows__CostCalculatorForm\"\n >\n <JSONSchemaFormFields fields={costCalculatorBag?.fields ?? []} />\n </form>\n </Form>\n );\n}\n"],"mappings":"gKAMA,OAAOA,MAAW,QAoBX,SAASC,EAAmB,CACjC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA4B,CAC1B,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EAE/DC,EAAeC,EAAA,MAAOC,GAA+C,CACzE,IAAMC,EAAwB,MAAML,GAAmB,SAASI,CAAM,EAEtE,MAAMT,IAAWS,CAAM,EAEnBC,GAAuB,MACzBT,IAAUS,EAAsB,KAAK,EAEjCA,GAAuB,MACzB,MAAMR,IAAYQ,GAAuB,IAAI,CAGnD,EAZqB,gBAcrB,OACEC,EAAA,cAACC,EAAA,CAAM,GAAGT,GACRQ,EAAA,cAAC,QACC,GAAIP,EACJ,SAAUD,EAAK,aAAaI,CAAY,EACxC,UAAU,6CAEVI,EAAA,cAACE,EAAA,CAAqB,OAAQR,GAAmB,QAAU,CAAC,EAAG,CACjE,CACF,CAEJ,CAhCgBG,EAAAT,EAAA","names":["React","CostCalculatorForm","onSubmit","onError","onSuccess","form","formId","costCalculatorBag","useCostCalculatorContext","handleSubmit","__name","values","costCalculatorResults","React","Form","JSONSchemaFormFields"]}
|
package/dist/chunk-KH6QS5OU.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a,b as m,c as p,d as l}from"./chunk-3FVI5JIC.js";import{a as e}from"./chunk-MESREYTZ.js";import{b as n}from"./chunk-56BNVYTD.js";import{b as i}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import{Info as v}from"lucide-react";import o from"react";function w({benefitsTotal:d,benefitsBreakdown:f,currency:r}){return o.createElement("div",null,o.createElement("div",{className:"flex justify-between items-center mb-2"},o.createElement("h3",{className:"font-medium text-primary-foreground-800"},"Benefits"),o.createElement("span",{className:"font-semibold text-lg"},i(d,r))),o.createElement(e,{className:"mb-3"}),o.createElement("div",{className:"space-y-3 pl-2"},f.map((s,u)=>o.createElement("div",{key:u,className:"flex justify-between items-start text-sm"},o.createElement("div",{className:"flex items-start gap-2"},o.createElement("span",null,s.name),o.createElement(a,null,o.createElement(m,null,o.createElement(p,{asChild:!0},o.createElement(n,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0"},o.createElement(v,{className:"h-3 w-3 text-gray-400"}),o.createElement("span",{className:"sr-only"},"Info"))),o.createElement(l,null,o.createElement("p",{className:"max-w-xs"},s.description))))),o.createElement("span",null,i(s.amount,r))))))}t(w,"CostCalculatorBenefitsBreakdown");export{w as a};
|
|
2
|
-
//# sourceMappingURL=chunk-KH6QS5OU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\nimport React from 'react';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport {\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n Tooltip as UITooltip,\n} from '@/src/components/ui/tooltip';\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorBenefitsBreakdownProps = {\n benefitsTotal: number | undefined;\n benefitsBreakdown: {\n name: string;\n description: string | null;\n amount: number;\n }[];\n currency: string;\n};\n\nexport function CostCalculatorBenefitsBreakdown({\n benefitsTotal,\n benefitsBreakdown,\n currency,\n}: CostCalculatorBenefitsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground-800\">Benefits</h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(benefitsTotal, currency)}\n </span>\n </div>\n <Separator className=\"mb-3\" />\n\n <div className=\"space-y-3 pl-2\">\n {benefitsBreakdown.map((benefit, index) => (\n <div key={index} className=\"flex justify-between items-start text-sm\">\n <div className=\"flex items-start gap-2\">\n <span>{benefit.name}</span>\n <TooltipProvider>\n <UITooltip>\n <TooltipTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p className=\"max-w-xs\">{benefit.description}</p>\n </TooltipContent>\n </UITooltip>\n </TooltipProvider>\n </div>\n <span>{formatCurrency(benefit.amount, currency)}</span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"wNAAA,OAAS,QAAAA,MAAY,eACrB,OAAOC,MAAW,QAsBX,SAASC,EAAgC,CAC9C,cAAAC,EACA,kBAAAC,EACA,SAAAC,CACF,EAAyC,CACvC,OACEC,EAAA,cAAC,WACCA,EAAA,cAAC,OAAI,UAAU,0CACbA,EAAA,cAAC,MAAG,UAAU,2CAA0C,UAAQ,EAChEA,EAAA,cAAC,QAAK,UAAU,yBACbC,EAAeJ,EAAeE,CAAQ,CACzC,CACF,EACAC,EAAA,cAACE,EAAA,CAAU,UAAU,OAAO,EAE5BF,EAAA,cAAC,OAAI,UAAU,kBACZF,EAAkB,IAAI,CAACK,EAASC,IAC/BJ,EAAA,cAAC,OAAI,IAAKI,EAAO,UAAU,4CACzBJ,EAAA,cAAC,OAAI,UAAU,0BACbA,EAAA,cAAC,YAAMG,EAAQ,IAAK,EACpBH,EAAA,cAACK,EAAA,KACCL,EAAA,cAACM,EAAA,KACCN,EAAA,cAACO,EAAA,CAAe,QAAO,IACrBP,EAAA,cAACQ,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,eAC5CR,EAAA,cAACS,EAAA,CAAK,UAAU,wBAAwB,EACxCT,EAAA,cAAC,QAAK,UAAU,WAAU,MAAI,CAChC,CACF,EACAA,EAAA,cAACU,EAAA,KACCV,EAAA,cAAC,KAAE,UAAU,YAAYG,EAAQ,WAAY,CAC/C,CACF,CACF,CACF,EACAH,EAAA,cAAC,YAAMC,EAAeE,EAAQ,OAAQJ,CAAQ,CAAE,CAClD,CACD,CACH,CACF,CAEJ,CAxCgBY,EAAAf,EAAA","names":["Info","React","CostCalculatorBenefitsBreakdown","benefitsTotal","benefitsBreakdown","currency","React","formatCurrency","Separator","benefit","index","TooltipProvider","Tooltip","TooltipTrigger","Button","Info","TooltipContent","__name"]}
|
package/dist/chunk-KSGPQCSG.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as n}from"./chunk-DZYFSFZ7.js";import{b as r}from"./chunk-56BNVYTD.js";import{a as o}from"./chunk-AYDF3IFZ.js";import e from"react";function B(t){let{formId:i}=n();return e.createElement(r,{...t,form:i},t.children)}o(B,"TerminationSubmit");export{B as a};
|
|
2
|
-
//# sourceMappingURL=chunk-KSGPQCSG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Termination/TerminationSubmit.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useTerminationContext } from './context';\n\nexport function TerminationSubmit(\n props: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>,\n) {\n const { formId } = useTerminationContext();\n\n return (\n <Button {...props} form={formId}>\n {props.children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EACdC,EACA,CACA,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAsB,EAEzC,OACEC,EAAA,cAACC,EAAA,CAAQ,GAAGJ,EAAO,KAAMC,GACtBD,EAAM,QACT,CAEJ,CAVgBK,EAAAN,EAAA","names":["React","TerminationSubmit","props","formId","useTerminationContext","React","Button","__name"]}
|
package/dist/chunk-LRVJ53MM.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./chunk-66UY5UHP.js";import{b as t}from"./chunk-WS3C3WIJ.js";import{a}from"./chunk-AYDF3IFZ.js";import f from"react";function S({onSubmit:s,onSuccess:m,onError:i}){let{onboardingBag:r}=t(),p=a(async n=>{try{await s?.(r.parseFormValues(n));let o=await r.onSubmit(n);if(o?.data){await m?.(o?.data),r?.next();return}o?.error&&i?.(o?.error)}catch(o){i?.(o)}},"handleSubmit"),c=r.stepState.values?.basic_information||r.initialValues.basic_information;return f.createElement(e,{defaultValues:c,onSubmit:p})}a(S,"BasicInformationStep");export{S as a};
|
|
2
|
-
//# sourceMappingURL=chunk-LRVJ53MM.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/BasicInformationStep.tsx"],"sourcesContent":["import React from 'react';\nimport { useOnboardingContext } from './context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/OnboardingForm';\nimport { BasicInformationFormPayload } from '@/src/flows/Onboarding/types';\nimport { EmploymentCreationResponse } from '@/src/client';\nimport { $TSFixMe } from '@remoteoss/json-schema-form';\n\ntype BasicInformationStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: BasicInformationFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: EmploymentCreationResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: (error: Error) => void;\n};\n\nexport function BasicInformationStep({\n onSubmit,\n onSuccess,\n onError,\n}: BasicInformationStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(\n onboardingBag.parseFormValues(payload) as BasicInformationFormPayload,\n );\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response?.data as EmploymentCreationResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n onError?.(response?.error);\n }\n } catch (error: unknown) {\n onError?.(error as Error);\n }\n };\n\n const initialValues =\n onboardingBag.stepState.values?.basic_information ||\n onboardingBag.initialValues.basic_information;\n\n return (\n <OnboardingForm defaultValues={initialValues} onSubmit={handleSubmit} />\n );\n}\n"],"mappings":"mHAAA,OAAOA,MAAW,QAsBX,SAASC,EAAqB,CACnC,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA8B,CAC5B,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMP,IACJG,EAAc,gBAAgBI,CAAO,CACvC,EACA,IAAMC,EAAW,MAAML,EAAc,SAASI,CAAO,EACrD,GAAIC,GAAU,KAAM,CAClB,MAAMP,IAAYO,GAAU,IAAkC,EAC9DL,GAAe,KAAK,EACpB,MACF,CACIK,GAAU,OACZN,IAAUM,GAAU,KAAK,CAE7B,OAASC,EAAgB,CACvBP,IAAUO,CAAc,CAC1B,CACF,EAjBqB,gBAmBfC,EACJP,EAAc,UAAU,QAAQ,mBAChCA,EAAc,cAAc,kBAE9B,OACEQ,EAAA,cAACC,EAAA,CAAe,cAAeF,EAAe,SAAUL,EAAc,CAE1E,CAhCgBC,EAAAP,EAAA","names":["React","BasicInformationStep","onSubmit","onSuccess","onError","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","response","error","initialValues","React","OnboardingForm"]}
|
package/dist/chunk-M7WCW7WD.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as n}from"./chunk-WS3C3WIJ.js";import{b as o}from"./chunk-56BNVYTD.js";import{a as t}from"./chunk-AYDF3IFZ.js";import u from"react";function s({children:r,...i}){let{onboardingBag:{back:e}}=n();return u.createElement(o,{...i,onClick:()=>{e()}},r)}t(s,"OnboardingBack");export{s as a};
|
|
2
|
-
//# sourceMappingURL=chunk-M7WCW7WD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/OnboardingBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\n\nexport function OnboardingBack({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const {\n onboardingBag: { back },\n } = useOnboardingContext();\n\n return (\n <Button\n {...props}\n onClick={() => {\n back();\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EAAe,CAC7B,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CACJ,cAAe,CAAE,KAAAC,CAAK,CACxB,EAAIC,EAAqB,EAEzB,OACEC,EAAA,cAACC,EAAA,CACE,GAAGJ,EACJ,QAAS,IAAM,CACbC,EAAK,CACP,GAECF,CACH,CAEJ,CAlBgBM,EAAAP,EAAA","names":["React","OnboardingBack","children","props","back","useOnboardingContext","React","Button","__name"]}
|
package/dist/chunk-MESREYTZ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as o}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import*as r from"react";import*as a from"@radix-ui/react-separator";function m({className:i,orientation:e="horizontal",decorative:n=!0,...p}){return r.createElement(a.Root,{"data-slot":"separator-root",decorative:n,orientation:e,className:o("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",i),...p})}t(m,"Separator");export{m as a};
|
|
2
|
-
//# sourceMappingURL=chunk-MESREYTZ.js.map
|
package/dist/chunk-MHKNAQLP.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./chunk-WS3C3WIJ.js";import{b as o}from"./chunk-56BNVYTD.js";import{a as t}from"./chunk-AYDF3IFZ.js";import e from"react";function d({children:n,...i}){let{formId:u}=r();return e.createElement(o,{...i,form:u},n)}t(d,"OnboardingSubmit");export{d as a};
|
|
2
|
-
//# sourceMappingURL=chunk-MHKNAQLP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/OnboardingSubmit.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { Button } from '@/src/components/ui/button';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\n\nexport function OnboardingSubmit({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const { formId } = useOnboardingContext();\n\n return (\n <Button {...props} form={formId}>\n {children}\n </Button>\n );\n}\n"],"mappings":"wHAAA,OAAOA,MAAwD,QAIxD,SAASC,EAAiB,CAC/B,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAqB,EAExC,OACEC,EAAA,cAACC,EAAA,CAAQ,GAAGJ,EAAO,KAAMC,GACtBF,CACH,CAEJ,CAXgBM,EAAAP,EAAA","names":["React","OnboardingSubmit","children","props","formId","useOnboardingContext","React","Button","__name"]}
|
package/dist/chunk-NJPLL3RR.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-XLFHHYVS.js";import{a as c}from"./chunk-VT2PJJC7.js";import{a as e}from"./chunk-FMT2OTOL.js";import{a as m}from"./chunk-BLPOQIGB.js";import{a as r}from"./chunk-EAB7VHAW.js";import{a as o}from"./chunk-6HGUGIYJ.js";import{a as n}from"./chunk-AYDF3IFZ.js";import f,{useId as s}from"react";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=s();return f.createElement(o.Provider,{value:{formId:i,contractAmendmentBag:t}},A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}}))}n(k,"ContractAmendmentFlow");export{k as a};
|
|
2
|
-
//# sourceMappingURL=chunk-NJPLL3RR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentFlow.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport { ContractAmendmentContext } from './context';\nimport { ContractAmendmentBack } from './ContractAmendmentBack';\nimport { ContractAmendmentConfirmationForm } from './ContractAmendmentConfirmationForm';\nimport { ContractAmendmentForm } from './ContractAmendmentForm';\nimport { ContractAmendmentSubmit } from './ContractAmendmentSubmit';\nimport { useContractAmendment } from './hooks';\nimport { ContractAmendmentParams } from './types';\n\ntype TUseContractAmendment = ReturnType<typeof useContractAmendment>;\n\nexport type ContractAmendmentRenderProps = {\n /**\n * The contract amendment bag returned by the useContractAmendment hook.\n * This bag contains all the methods and properties needed to handle the contract amendment flow.\n * @see {@link useContractAmendment}\n */\n contractAmendmentBag: TUseContractAmendment;\n /**\n * The components used in the contract amendment flow.\n * This includes the form, submit button, and confirmation form.\n * @see {@link ContractAmendmentForm}\n * @see {@link ContractAmendmentSubmit}\n * @see {@link ContractAmendmentConfirmationForm}\n */\n components: {\n Form: typeof ContractAmendmentForm;\n SubmitButton: typeof ContractAmendmentSubmit;\n ConfirmationForm: typeof ContractAmendmentConfirmationForm;\n BackButton: typeof ContractAmendmentBack;\n };\n};\n\ntype ContractAmendmentFlowProps = ContractAmendmentParams & {\n render: ({\n contractAmendmentBag,\n components,\n }: ContractAmendmentRenderProps) => React.ReactNode;\n};\n\nexport function ContractAmendmentFlow({\n employmentId,\n countryCode,\n options,\n render,\n}: ContractAmendmentFlowProps) {\n const contractAmendmentBag = useContractAmendment({\n employmentId,\n countryCode,\n options,\n });\n const formId = useId();\n\n return (\n <ContractAmendmentContext.Provider\n value={{\n formId: formId,\n contractAmendmentBag,\n }}\n >\n {render({\n contractAmendmentBag,\n components: {\n Form: ContractAmendmentForm,\n SubmitButton: ContractAmendmentSubmit,\n ConfirmationForm: ContractAmendmentConfirmationForm,\n BackButton: ContractAmendmentBack,\n },\n })}\n </ContractAmendmentContext.Provider>\n );\n}\n"],"mappings":"mRAAA,OAAOA,GAAS,SAAAC,MAAa,QAwCtB,SAASC,EAAsB,CACpC,aAAAC,EACA,YAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAA+B,CAC7B,IAAMC,EAAuBC,EAAqB,CAChD,aAAAL,EACA,YAAAC,EACA,QAAAC,CACF,CAAC,EACKI,EAASC,EAAM,EAErB,OACEC,EAAA,cAACC,EAAyB,SAAzB,CACC,MAAO,CACL,OAAQH,EACR,qBAAAF,CACF,GAECD,EAAO,CACN,qBAAAC,EACA,WAAY,CACV,KAAMM,EACN,aAAcC,EACd,iBAAkBC,EAClB,WAAYC,CACd,CACF,CAAC,CACH,CAEJ,CA/BgBC,EAAAf,EAAA","names":["React","useId","ContractAmendmentFlow","employmentId","countryCode","options","render","contractAmendmentBag","useContractAmendment","formId","useId","React","ContractAmendmentContext","ContractAmendmentForm","ContractAmendmentSubmit","ContractAmendmentConfirmationForm","ContractAmendmentBack","__name"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/context.ts"],"sourcesContent":["import { useCostCalculator } from '@/src/flows/CostCalculator/hooks';\nimport { $TSFixMe } from '@remoteoss/json-schema-form';\nimport { createContext, useContext } from 'react';\nimport { UseFormReturn } from 'react-hook-form';\n\nexport const CostCalculatorContext = createContext<{\n form: UseFormReturn<$TSFixMe> | null;\n formId: string | undefined;\n costCalculatorBag?: ReturnType<typeof useCostCalculator>;\n}>({\n form: null,\n formId: undefined,\n costCalculatorBag: undefined,\n});\n\nexport const useCostCalculatorContext = () => {\n const context = useContext(CostCalculatorContext);\n if (!context.form) {\n throw new Error(\n 'useCostCalculatorContext must be used within a CostCalculatorProvider',\n );\n }\n\n return {\n form: context.form,\n formId: context.formId,\n costCalculatorBag: context.costCalculatorBag,\n } as const;\n};\n"],"mappings":"wCAEA,OAAS,iBAAAA,EAAe,cAAAC,MAAkB,QAGnC,IAAMC,EAAwBC,EAIlC,CACD,KAAM,KACN,OAAQ,OACR,kBAAmB,MACrB,CAAC,EAEYC,EAA2BC,EAAA,IAAM,CAC5C,IAAMC,EAAUC,EAAWL,CAAqB,EAChD,GAAI,CAACI,EAAQ,KACX,MAAM,IAAI,MACR,uEACF,EAGF,MAAO,CACL,KAAMA,EAAQ,KACd,OAAQA,EAAQ,OAChB,kBAAmBA,EAAQ,iBAC7B,CACF,EAbwC","names":["createContext","useContext","CostCalculatorContext","createContext","useCostCalculatorContext","__name","context","useContext"]}
|
package/dist/chunk-PX72OIDO.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as l}from"./chunk-OLJ2S6A6.js";import{d as s,e}from"./chunk-7CP4PNU4.js";import{b as a}from"./chunk-A4RX3KRZ.js";import{a as r}from"./chunk-AYDF3IFZ.js";import g,{useId as y}from"react";import{useForm as p}from"react-hook-form";var v=r(({estimationOptions:n=s,defaultValues:o={countryRegionSlug:"",currencySlug:"",salary:""},options:i,render:u})=>{let c=y(),t=e({defaultRegion:o.countryRegionSlug,estimationOptions:n,options:i}),m=a(t.handleValidation),C=p({resolver:m,defaultValues:{country:o?.countryRegionSlug,currency:o?.currencySlug,region:"",salary:o?.salary},shouldUnregister:!0,mode:"onBlur"});return g.createElement(l.Provider,{value:{form:C,formId:c,costCalculatorBag:t}},u(t))},"CostCalculatorFlow");export{v as a};
|
|
2
|
-
//# sourceMappingURL=chunk-PX72OIDO.js.map
|
package/dist/chunk-PZKA77DU.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as i}from"./chunk-66UY5UHP.js";import{b as n}from"./chunk-WS3C3WIJ.js";import{a as r}from"./chunk-AYDF3IFZ.js";import l from"react";function S({onSubmit:s,onError:a,onSuccess:m}){let{onboardingBag:t}=n(),p=r(async e=>{try{await s?.(t.parseFormValues(e));let o=await t.onSubmit(e);if(o?.data){await m?.(o.data),t?.next();return}o?.error&&a?.(o.error)}catch(o){a?.(o)}},"handleSubmit");return l.createElement(i,{defaultValues:t.stepState.values?.contract_details||t.initialValues.contract_details,onSubmit:p})}r(S,"ContractDetailsStep");export{S as a};
|
|
2
|
-
//# sourceMappingURL=chunk-PZKA77DU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/ContractDetailsStep.tsx"],"sourcesContent":["import React from 'react';\nimport { useOnboardingContext } from './context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/OnboardingForm';\nimport { EmploymentResponse } from '@/src/client';\nimport { ContractDetailsFormPayload } from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@remoteoss/json-schema-form';\n\ntype ContractDetailsStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: ContractDetailsFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (response: EmploymentResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: (error: Error) => void;\n};\n\nexport function ContractDetailsStep({\n onSubmit,\n onError,\n onSuccess,\n}: ContractDetailsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(\n onboardingBag.parseFormValues(payload) as ContractDetailsFormPayload,\n );\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response.data as EmploymentResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n onError?.(response.error);\n }\n } catch (error: unknown) {\n onError?.(error as Error);\n }\n };\n\n return (\n <OnboardingForm\n defaultValues={\n onboardingBag.stepState.values?.contract_details ||\n onboardingBag.initialValues.contract_details\n }\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QAsBX,SAASC,EAAoB,CAClC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA6B,CAC3B,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMP,IACJG,EAAc,gBAAgBI,CAAO,CACvC,EACA,IAAMC,EAAW,MAAML,EAAc,SAASI,CAAO,EACrD,GAAIC,GAAU,KAAM,CAClB,MAAMN,IAAYM,EAAS,IAA0B,EACrDL,GAAe,KAAK,EACpB,MACF,CACIK,GAAU,OACZP,IAAUO,EAAS,KAAK,CAE5B,OAASC,EAAgB,CACvBR,IAAUQ,CAAc,CAC1B,CACF,EAjBqB,gBAmBrB,OACEC,EAAA,cAACC,EAAA,CACC,cACER,EAAc,UAAU,QAAQ,kBAChCA,EAAc,cAAc,iBAE9B,SAAUE,EACZ,CAEJ,CAlCgBC,EAAAP,EAAA","names":["React","ContractDetailsStep","onSubmit","onError","onSuccess","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","response","error","React","OnboardingForm"]}
|
package/dist/chunk-TICIER55.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as x}from"./chunk-J55S4SEH.js";import{a as N}from"./chunk-6A3F6JG6.js";import{a as g,b as _,c as h,d as v,e as T}from"./chunk-GMGKIQLI.js";import{a as P}from"./chunk-WQHKB5T7.js";import{a as w}from"./chunk-KH6QS5OU.js";import{a as y}from"./chunk-GFBF55NR.js";import{a as l}from"./chunk-5ETXP2QF.js";import{a as n}from"./chunk-AYDF3IFZ.js";import{Euro as j}from"lucide-react";import t,{lazy as z,useState as E}from"react";import*as c from"react";import*as r from"@radix-ui/react-tabs";function k({className:a,...o}){return c.createElement(r.Root,{"data-slot":"tabs",className:l("flex flex-col gap-2",a),...o})}n(k,"Tabs");function B({className:a,...o}){return c.createElement(r.List,{"data-slot":"tabs-list",className:l("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",a),...o})}n(B,"TabsList");function d({className:a,...o}){return c.createElement(r.Trigger,{"data-slot":"tabs-trigger",className:l("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",a),...o})}n(d,"TabsTrigger");var H=z(()=>import("./flows/CostCalculator/Results/CostCalculatorResultsChart.js"));function X({employmentData:a,options:o}){let[e,S]=E("monthly"),i=a.employments?.[0];if(!i)return null;let s=i.employer_currency_costs,m=s.currency.symbol,b=e==="monthly"?s.monthly_gross_salary:s.annual_gross_salary,f=e==="monthly"?s.monthly_benefits_total:s.annual_benefits_total,C=e==="monthly"?s.monthly_contributions_total:s.annual_contributions_total,D=e==="monthly"?s.monthly_total:s.annual_total,u=e==="monthly"?s.monthly_benefits_breakdown:s.annual_benefits_breakdown,L=e==="monthly"?s.monthly_contributions_breakdown:s.annual_contributions_breakdown,p=[{name:"Gross Salary",value:b,color:o?.chartColors?.grossSalary??"#3b82f6"},{name:"Contributions",value:C,color:o?.chartColors?.contributions??"#f59e0b"}];return u&&p.push({name:"Benefits",value:f??0,color:o?.chartColors?.benefits??"#10b981"}),t.createElement(t.Fragment,null,t.createElement("div",{className:"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults"},t.createElement("div",{className:"RemoteFlows__CostCalculatorResults__Header"},t.createElement("h2",{className:"text-xl font-semibold flex items-center gap-2"},t.createElement("span",{className:"flex items-center gap-1"},t.createElement(j,{className:"h-5 w-5 text-gray-600"}),o?.title??"Cost Calculator"),t.createElement(y,{className:"ml-2"},i.country.name)),t.createElement("p",{className:"text-primary-foreground font-medium mt-1"},o?.description??`Total cost of employment in ${i.country.name}`)),t.createElement(k,{value:e,onValueChange:F=>S(F),className:"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs"},t.createElement(B,{className:"grid w-full md:w-[200px] grid-cols-2"},t.createElement(d,{value:"monthly"},"Monthly"),t.createElement(d,{value:"annual"},"Annual")))),t.createElement("div",{className:l("grid grid-cols-1 gap-6",o?.showChart?"md:grid-cols-3":"","RemoteFlows__CostCalculatorResults_CostBreakdown")},t.createElement(g,{className:"md:col-span-2 rounded-lg"},t.createElement(_,{className:"pb-2"},t.createElement(h,null,"Cost Breakdown"),t.createElement(v,null,"Detailed breakdown of all employer costs")),t.createElement(T,null,t.createElement("div",{className:"space-y-6"},t.createElement(N,{grossSalary:b,currency:m}),u?t.createElement(w,{benefitsBreakdown:u,benefitsTotal:f,currency:m}):null,t.createElement(x,{contributionsBreakdown:L,contributionsTotal:C,currency:m}),t.createElement(P,{totalCost:D,currency:m})))),o?.showChart&&t.createElement(H,{chartData:p,currency:m})))}n(X,"CostCalculatorResults");export{X as a};
|
|
2
|
-
//# sourceMappingURL=chunk-TICIER55.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorResults.tsx","../src/components/ui/tabs.tsx"],"sourcesContent":["import { Euro } from 'lucide-react';\nimport React, { lazy, useState } from 'react';\n\nimport { CostCalculatorEstimateResponse } from '@/src/client';\nimport { Badge } from '@/src/components/ui/badge';\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport { Tabs, TabsList, TabsTrigger } from '@/src/components/ui/tabs';\nimport { cn } from '@/src/lib/utils';\nimport { CostCalculatorBenefitsBreakdown } from './CostCalculatorBenefitsBreakdown';\nimport { CostCalculatorContributionsBreakdown } from './CostCalculatorContributionsBreakdown';\nimport { CostCalculatorGrossSalary } from './CostCalculatorGrossSalary';\nimport { CostCalculatorTotalCost } from './CostCalculatorTotalCost';\n\nconst CostCalculatorResultsChart = lazy(\n () => import('./CostCalculatorResultsChart'),\n);\n\ninterface CostCalculatorResultProps {\n employmentData: CostCalculatorEstimateResponse['data'];\n options?: Partial<{\n title: string;\n description: string;\n showChart: boolean;\n chartColors: {\n grossSalary: string;\n contributions: string;\n benefits: string;\n };\n }>;\n}\n\nexport function CostCalculatorResults({\n employmentData,\n options,\n}: CostCalculatorResultProps) {\n const [view, setView] = useState<'monthly' | 'annual'>('monthly');\n const employment = employmentData.employments?.[0];\n\n if (!employment) {\n return null;\n }\n\n const costs =\n view === 'monthly'\n ? employment.employer_currency_costs\n : employment.employer_currency_costs;\n\n const currency = costs.currency.symbol;\n const grossSalary =\n view === 'monthly' ? costs.monthly_gross_salary : costs.annual_gross_salary;\n const benefitsTotal =\n view === 'monthly'\n ? costs.monthly_benefits_total\n : costs.annual_benefits_total;\n const contributionsTotal =\n view === 'monthly'\n ? costs.monthly_contributions_total\n : costs.annual_contributions_total;\n const totalCost =\n view === 'monthly' ? costs.monthly_total : costs.annual_total;\n\n const benefitsBreakdown =\n view === 'monthly'\n ? costs.monthly_benefits_breakdown\n : costs.annual_benefits_breakdown;\n const contributionsBreakdown =\n view === 'monthly'\n ? costs.monthly_contributions_breakdown\n : costs.annual_contributions_breakdown;\n\n const chartData = [\n {\n name: 'Gross Salary',\n value: grossSalary,\n color: options?.chartColors?.grossSalary ?? '#3b82f6',\n },\n {\n name: 'Contributions',\n value: contributionsTotal,\n color: options?.chartColors?.contributions ?? '#f59e0b',\n },\n ];\n\n if (benefitsBreakdown) {\n chartData.push({\n name: 'Benefits',\n value: benefitsTotal ?? 0,\n color: options?.chartColors?.benefits ?? '#10b981',\n });\n }\n\n return (\n <>\n <div className=\"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults\">\n <div className=\"RemoteFlows__CostCalculatorResults__Header\">\n <h2 className=\"text-xl font-semibold flex items-center gap-2\">\n <span className=\"flex items-center gap-1\">\n <Euro className=\"h-5 w-5 text-gray-600\" />\n {options?.title ?? 'Cost Calculator'}\n </span>\n <Badge className=\"ml-2\">{employment.country.name}</Badge>\n </h2>\n <p className=\"text-primary-foreground font-medium mt-1\">\n {options?.description ??\n `Total cost of employment in ${employment.country.name}`}\n </p>\n </div>\n\n <Tabs\n value={view}\n onValueChange={(v) => setView(v as 'monthly' | 'annual')}\n className=\"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs\"\n >\n <TabsList className=\"grid w-full md:w-[200px] grid-cols-2\">\n <TabsTrigger value=\"monthly\">Monthly</TabsTrigger>\n <TabsTrigger value=\"annual\">Annual</TabsTrigger>\n </TabsList>\n </Tabs>\n </div>\n\n <div\n className={cn(\n 'grid grid-cols-1 gap-6',\n options?.showChart ? 'md:grid-cols-3' : '',\n 'RemoteFlows__CostCalculatorResults_CostBreakdown',\n )}\n >\n <Card className=\"md:col-span-2 rounded-lg\">\n <CardHeader className=\"pb-2\">\n <CardTitle>Cost Breakdown</CardTitle>\n <CardDescription>\n Detailed breakdown of all employer costs\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-6\">\n {/* Salary Section */}\n <CostCalculatorGrossSalary\n grossSalary={grossSalary}\n currency={currency}\n />\n {/* Benefits Section */}\n {benefitsBreakdown ? (\n <CostCalculatorBenefitsBreakdown\n benefitsBreakdown={benefitsBreakdown}\n benefitsTotal={benefitsTotal}\n currency={currency}\n />\n ) : null}\n {/* Contributions Section */}\n <CostCalculatorContributionsBreakdown\n contributionsBreakdown={contributionsBreakdown}\n contributionsTotal={contributionsTotal}\n currency={currency}\n />\n {/* Total */}\n <CostCalculatorTotalCost\n totalCost={totalCost}\n currency={currency}\n />\n </div>\n </CardContent>\n </Card>\n\n {options?.showChart && (\n <CostCalculatorResultsChart\n chartData={chartData}\n currency={currency}\n />\n )}\n </div>\n </>\n );\n}\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"mappings":"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","names":["Euro","React","lazy","useState","React","TabsPrimitive","Tabs","className","props","cn","__name","TabsList","TabsTrigger","CostCalculatorResultsChart","lazy","CostCalculatorResults","employmentData","options","view","setView","useState","employment","costs","currency","grossSalary","benefitsTotal","contributionsTotal","totalCost","benefitsBreakdown","contributionsBreakdown","chartData","React","Euro","Badge","Tabs","v","TabsList","TabsTrigger","cn","Card","CardHeader","CardTitle","CardDescription","CardContent","CostCalculatorGrossSalary","CostCalculatorBenefitsBreakdown","CostCalculatorContributionsBreakdown","CostCalculatorTotalCost","__name"]}
|
package/dist/chunk-WQHKB5T7.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import t from"react";function n({totalCost:s,currency:a}){return t.createElement("div",{className:"pt-2 mt-4 border-t-2 border-gray-200"},t.createElement("div",{className:"flex justify-between items-center"},t.createElement("h3",{className:"font-bold text-primary-foreground-800"},"Total Cost"),t.createElement("span",{className:"font-bold text-xl"},r(s,a))))}o(n,"CostCalculatorTotalCost");export{n as a};
|
|
2
|
-
//# sourceMappingURL=chunk-WQHKB5T7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorTotalCost.tsx"],"sourcesContent":["import React from 'react';\n\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorTotalCostProps = {\n totalCost: number;\n currency: string;\n};\n\nexport function CostCalculatorTotalCost({\n totalCost,\n currency,\n}: CostCalculatorTotalCostProps) {\n return (\n <div className=\"pt-2 mt-4 border-t-2 border-gray-200\">\n <div className=\"flex justify-between items-center\">\n <h3 className=\"font-bold text-primary-foreground-800\">Total Cost</h3>\n <span className=\"font-bold text-xl\">\n {formatCurrency(totalCost, currency)}\n </span>\n </div>\n </div>\n );\n}\n"],"mappings":"gFAAA,OAAOA,MAAW,QASX,SAASC,EAAwB,CACtC,UAAAC,EACA,SAAAC,CACF,EAAiC,CAC/B,OACEC,EAAA,cAAC,OAAI,UAAU,wCACbA,EAAA,cAAC,OAAI,UAAU,qCACbA,EAAA,cAAC,MAAG,UAAU,yCAAwC,YAAU,EAChEA,EAAA,cAAC,QAAK,UAAU,qBACbC,EAAeH,EAAWC,CAAQ,CACrC,CACF,CACF,CAEJ,CAdgBG,EAAAL,EAAA","names":["React","CostCalculatorTotalCost","totalCost","currency","React","formatCurrency","__name"]}
|
package/dist/chunk-X7BVA4MH.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as t}from"./chunk-FQLSGKCJ.js";import{b as a}from"./chunk-DZYFSFZ7.js";import{a as i}from"./chunk-AYDF3IFZ.js";import p from"react";function b({requesterName:n,onSubmit:m,onSuccess:s,onError:d}){let{terminationBag:e}=a(),l=i(async r=>{await m?.(e?.parseFormValues(r));let o=await e?.onSubmit(r);o?.error?d?.(o.error):o?.data&&await s?.(o.data)},"handleSubmit"),u=e?.fields.map(r=>r.name==="acknowledge_termination_procedure"?{...r,label:r.label.replace("{{requesterName}}",n)}:r);return p.createElement(t,{fields:u,onSubmit:l})}i(b,"AdditionalDetailsForm");export{b as a};
|
|
2
|
-
//# sourceMappingURL=chunk-X7BVA4MH.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Termination/AdditionalDetailsForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { OffboardingResponse } from '@/src/client';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype AdditionalDetailsFormProps = {\n /*\n * The name of the person who initiates the termination, used to personalize the label of the\n * acknowledge_termination_procedure field.\n */\n requesterName: string;\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n /*\n * The function is called when the form submission has failed.\n */\n onError?: (error: Error) => void;\n /*\n * The function is called when the form submission is successful. It receives the response data as\n * an argument.\n */\n onSuccess?: (data: OffboardingResponse) => void | Promise<void>;\n};\n\nexport function AdditionalDetailsForm({\n requesterName,\n onSubmit,\n onSuccess,\n onError,\n}: AdditionalDetailsFormProps) {\n const { terminationBag } = useTerminationContext();\n\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n const terminationResult = await terminationBag?.onSubmit(values);\n\n if (terminationResult?.error) {\n onError?.(terminationResult.error);\n } else {\n if (terminationResult?.data) {\n await onSuccess?.(terminationResult.data as OffboardingResponse);\n }\n }\n };\n\n const updatedFields = terminationBag?.fields.map((field) => {\n if (field.name === 'acknowledge_termination_procedure') {\n return {\n ...field,\n label: (field.label as string).replace(\n '{{requesterName}}',\n requesterName,\n ),\n };\n }\n return field;\n });\n\n return <TerminationForm fields={updatedFields} onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QA2BX,SAASC,EAAsB,CACpC,cAAAC,EACA,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA+B,CAC7B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAE3CC,EAAeC,EAAA,MAAOC,GAAkC,CAC5D,MAAMP,IACJG,GAAgB,gBAAgBI,CAAM,CACxC,EACA,IAAMC,EAAoB,MAAML,GAAgB,SAASI,CAAM,EAE3DC,GAAmB,MACrBN,IAAUM,EAAkB,KAAK,EAE7BA,GAAmB,MACrB,MAAMP,IAAYO,EAAkB,IAA2B,CAGrE,EAbqB,gBAefC,EAAgBN,GAAgB,OAAO,IAAKO,GAC5CA,EAAM,OAAS,oCACV,CACL,GAAGA,EACH,MAAQA,EAAM,MAAiB,QAC7B,oBACAX,CACF,CACF,EAEKW,CACR,EAED,OAAOC,EAAA,cAACC,EAAA,CAAgB,OAAQH,EAAe,SAAUJ,EAAc,CACzE,CArCgBC,EAAAR,EAAA","names":["React","AdditionalDetailsForm","requesterName","onSubmit","onSuccess","onError","terminationBag","useTerminationContext","handleSubmit","__name","values","terminationResult","updatedFields","field","React","TerminationForm"]}
|
package/dist/chunk-XLFHHYVS.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as o}from"./chunk-56BNVYTD.js";import{b as n}from"./chunk-6HGUGIYJ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import i from"react";function B({children:r,...e}){let{formId:m}=n();return i.createElement(o,{...e,form:m},r)}t(B,"ContractAmendmentSubmit");export{B as a};
|
|
2
|
-
//# sourceMappingURL=chunk-XLFHHYVS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentSubmit.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useContractAmendmentContext } from './context';\n\nexport function ContractAmendmentSubmit({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const { formId } = useContractAmendmentContext();\n\n return (\n <Button {...props} form={formId}>\n {children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EAAwB,CACtC,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAA4B,EAE/C,OACEC,EAAA,cAACC,EAAA,CAAQ,GAAGJ,EAAO,KAAMC,GACtBF,CACH,CAEJ,CAXgBM,EAAAP,EAAA","names":["React","ContractAmendmentSubmit","children","props","formId","useContractAmendmentContext","React","Button","__name"]}
|
package/dist/chunk-Y4RTK2VE.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as w,b as B,c as I}from"./chunk-CVGR3FDH.js";import{a as R,b as M,c as A,f as N,g as U,h as J,i as x,j as H,l as j}from"./chunk-A36XQBXQ.js";import{a as f}from"./chunk-JRQSZHUU.js";import{a as L}from"./chunk-2URGWNSM.js";import{c as u,d as p}from"./chunk-N25EBX6R.js";import{a}from"./chunk-AYDF3IFZ.js";import{useRef as _e,useState as v}from"react";import ge from"lodash/mergeWith";var be={employment_basic_information:"basic_information",contract_details:"contract_details"},Ee={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},Le=a(({employmentId:_,companyId:W,countryCode:g,type:q,options:y})=>{let b=_e({}),[n,D]=v(_),[r,K]=v(g||null),{data:i,isLoading:Y}=R(_),{data:z,isLoading:G}=A(n),{data:E,isLoading:Q}=M(W),X=g?B:w,{fieldValues:l,stepState:e,setFieldValues:Z,previousStep:$,nextStep:ee,goToStep:te}=L(X),{selectCountryForm:S,isLoading:ne}=j(y),F=J(),h=x(),P=H(),{mutateAsync:oe}=f(F),{mutateAsync:T}=f(h),{mutateAsync:ae}=f(P),O=Ee[e.currentStep.name]||"employment_basic_information",re=be[O],se=i?.data?.data?.employment?.[re]||{},{data:s,isLoading:ie}=N({countryCode:r,form:O,fieldValues:Object.keys(l).length>0?{...e.values?.[e.currentStep.name],...l}:se,options:y,enabled:!!(e.currentStep.name!=="select_country"&&r)}),{data:d,isLoading:me}=U(n,l,y),ce={...e.values?.[e.currentStep.name],...l},le=e.currentStep.name==="benefits"?ge({},z,ce):{},m={select_country:S?.fields||[],basic_information:s?.fields||[],contract_details:s?.fields||[],benefits:d?.fields||[],review:[]},de={select_country:p(m[e.currentStep.name],{country:r||i?.data.data.employment?.country.code||""}),basic_information:p(m[e.currentStep.name],i?.data?.data.employment?.basic_information||{}),contract_details:p(m[e.currentStep.name],i?.data?.data.employment?.contract_details||{}),benefits:le||{}};function V(t){return S&&e.currentStep.name==="select_country"?t:s&&e.currentStep.name!=="select_country"?u(t,s?.fields,{isPartialValidation:!0}):{}}a(V,"parseFormValues");async function ue(t){b.current[e.currentStep.name]=I(t,m[e.currentStep.name]);let o=V(t);switch(e.currentStep.name){case"select_country":return K(o.country),Promise.resolve({data:{countryCode:o.country}});case"basic_information":{let C=!n&&r,Se=n&&r&&i?.data?.data?.employment?.country&&i?.data?.data?.employment?.country.code!==r;if(C||Se){let k={basic_information:o,type:q,country_code:r};try{console.log("Creating employment with payload:",k);let c=await oe(k);return D(c.data?.data?.employment?.id),c}catch(c){throw console.error("Error creating onboarding:",c),c}}else if(n)return T({employmentId:n,basic_information:o,pricing_plan_details:{frequency:"monthly"}});return}case"contract_details":return T({employmentId:n,...{contract_details:o}});case"benefits":return ae({employmentId:n,...t})}}a(ue,"onSubmit");function pe(){$()}a(pe,"back");function fe(){ee()}a(fe,"next");function ye(t){te(t)}return a(ye,"goTo"),{employmentId:n,creditRiskStatus:E?.default_legal_entity_credit_risk_status,owner_id:E?.company_owner_user_id,stepState:e,fields:m[e.currentStep.name],isLoading:ie||Y||me||G||Q||ne,isSubmitting:F.isPending||h.isPending||P.isPending,initialValues:de,handleValidation:a(t=>{if(e.currentStep.name==="select_country")return S.handleValidation(t);if(e.currentStep.name==="benefits"&&d){let o=u(t,d?.fields);return d?.handleValidation(o)}if(s){let o=u(t,s?.fields);return s?.handleValidation(o)}return null},"handleValidation"),checkFieldUpdates:Z,parseFormValues:V,onSubmit:ue,back:pe,next:fe,goTo:ye,meta:{fields:b.current}}},"useOnboarding");export{Le as a};
|
|
2
|
-
//# sourceMappingURL=chunk-Y4RTK2VE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/hooks.ts"],"sourcesContent":["import {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { Fields } from '@remoteoss/json-schema-form';\n\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n prettifyFormValues,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowParams } from '@/src/flows/Onboarding/types';\nimport { useRef, useState } from 'react';\nimport mergeWith from 'lodash/mergeWith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmployment,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { JSONSchemaFormType } from '@/src/flows/types';\n\ntype OnboardingHookProps = OnboardingFlowParams;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n}: OnboardingHookProps) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fieldsMetaRef = useRef<Record<string, any>>({});\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const { data: employment, isLoading: isLoadingEmployment } =\n useEmployment(employmentId);\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n const { data: company, isLoading: isLoadingCompany } = useCompany(companyId);\n const stepsToUse = countryCode ? STEPS_WITHOUT_SELECT_COUNTRY : STEPS;\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField(options);\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment();\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.data?.data?.employment?.[\n employmentKey\n ] || {}) as Record<string, unknown>;\n\n const { data: onboardingForm, isLoading: isLoadingBasicInformation } =\n useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: formType,\n fieldValues:\n Object.keys(fieldValues).length > 0\n ? {\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : serverEmploymentData,\n options: options,\n enabled: Boolean(\n stepState.currentStep.name !== 'select_country' && internalCountryCode,\n ),\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n\n const initialValuesBenefitOffers =\n stepState.currentStep.name === 'benefits'\n ? mergeWith({}, benefitOffers, benefitsFormValues)\n : {};\n\n const stepFields: Record<keyof typeof STEPS, Fields> = {\n select_country: selectCountryForm?.fields || [],\n basic_information: onboardingForm?.fields || [],\n contract_details: onboardingForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n };\n\n const initialValues = {\n select_country: getInitialValues(stepFields[stepState.currentStep.name], {\n country:\n internalCountryCode ||\n employment?.data.data.employment?.country.code ||\n '',\n }),\n basic_information: getInitialValues(\n stepFields[stepState.currentStep.name],\n employment?.data?.data.employment?.basic_information || {},\n ),\n contract_details: getInitialValues(\n stepFields[stepState.currentStep.name],\n employment?.data?.data.employment?.contract_details || {},\n ),\n benefits: initialValuesBenefitOffers || {},\n };\n\n function parseFormValues(values: FieldValues) {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (onboardingForm && stepState.currentStep.name !== 'select_country') {\n return parseJSFToValidate(values, onboardingForm?.fields, {\n isPartialValidation: true,\n });\n }\n return {};\n }\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n fieldsMetaRef.current[stepState.currentStep.name] = prettifyFormValues(\n values,\n stepFields[stepState.currentStep.name],\n );\n\n const parsedValues = parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.data?.data?.employment?.country &&\n employment?.data?.data?.employment?.country.code !==\n internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n };\n try {\n console.log('Creating employment with payload:', payload);\n const response = await createEmploymentMutationAsync(payload);\n setInternalEmploymentId(\n // @ts-expect-error the types from the response are not matching\n response.data?.data?.employment?.id,\n );\n return response;\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...values,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: keyof typeof STEPS) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n\n owner_id: company?.company_owner_user_id,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading:\n isLoadingBasicInformation ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: (values: FieldValues) => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (onboardingForm) {\n const parsedValues = parseJSFToValidate(values, onboardingForm?.fields);\n return onboardingForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n },\n };\n};\n"],"mappings":"wTAoBA,OAAS,UAAAA,GAAQ,YAAAC,MAAgB,QACjC,OAAOC,OAAe,mBAgBtB,IAAMC,GAEF,CACF,6BAA8B,oBAC9B,iBAAkB,kBACpB,EAEMC,GAGF,CACF,eAAgB,KAChB,kBAAmB,+BACnB,iBAAkB,mBAClB,SAAU,KACV,OAAQ,IACV,EAEaC,GAAgBC,EAAA,CAAC,CAC5B,aAAAC,EACA,UAAAC,EACA,YAAAC,EACA,KAAAC,EACA,QAAAC,CACF,IAA2B,CAEzB,IAAMC,EAAgBC,GAA4B,CAAC,CAAC,EAC9C,CAACC,EAAsBC,CAAuB,EAAIC,EAEtDT,CAAY,EACR,CAACU,EAAqBC,CAAsB,EAAIF,EACpDP,GAAe,IACjB,EACM,CAAE,KAAMU,EAAY,UAAWC,CAAoB,EACvDC,EAAcd,CAAY,EAEtB,CAAE,KAAMe,EAAe,UAAWC,CAAuB,EAC7DC,EAAiBV,CAAoB,EACjC,CAAE,KAAMW,EAAS,UAAWC,CAAiB,EAAIC,EAAWnB,CAAS,EACrEoB,EAAanB,EAAcoB,EAA+BC,EAE1D,CACJ,YAAAC,EACA,UAAAC,EACA,eAAAC,EACA,aAAAC,EACA,SAAAC,GACA,SAAAC,EACF,EAAIC,EACFT,CACF,EAEM,CAAE,kBAAAU,EAAmB,UAAWC,EAAmB,EACvDC,EAAwB7B,CAAO,EAE3B8B,EAA2BC,EAAoB,EAC/CC,EAA2BC,EAAoB,EAC/CC,EAA+BC,EAAwB,EACvD,CAAE,YAAaC,EAA8B,EAAIC,EACrDP,CACF,EACM,CAAE,YAAaQ,CAA8B,EAAID,EACrDL,CACF,EACM,CAAE,YAAaO,EAAkC,EAAIF,EACzDH,CACF,EAEMM,EACJ/C,GAAoB4B,EAAU,YAAY,IAAI,GAC9C,+BACIoB,GAAgBjD,GAAuBgD,CAAQ,EAC/CE,GAAwBlC,GAAY,MAAM,MAAM,aACpDiC,EACF,GAAK,CAAC,EAEA,CAAE,KAAME,EAAgB,UAAWC,EAA0B,EACjEC,EAAkB,CAChB,YAAavC,EACb,KAAMkC,EACN,YACE,OAAO,KAAKpB,CAAW,EAAE,OAAS,EAC9B,CACE,GAAGC,EAAU,SAASA,EAAU,YAAY,IAAI,EAChD,GAAGD,CACL,EACAsB,GACN,QAAS1C,EACT,QAAS,GACPqB,EAAU,YAAY,OAAS,kBAAoBf,EAEvD,CAAC,EAEG,CACJ,KAAMwC,EACN,UAAWC,EACb,EAAIC,EACF7C,EACAiB,EACApB,CACF,EAEMiD,GAAqB,CACzB,GAAG5B,EAAU,SAASA,EAAU,YAAY,IAA0B,EACtE,GAAGD,CACL,EAEM8B,GACJ7B,EAAU,YAAY,OAAS,WAC3B8B,GAAU,CAAC,EAAGxC,EAAesC,EAAkB,EAC/C,CAAC,EAEDG,EAAiD,CACrD,eAAgBzB,GAAmB,QAAU,CAAC,EAC9C,kBAAmBgB,GAAgB,QAAU,CAAC,EAC9C,iBAAkBA,GAAgB,QAAU,CAAC,EAC7C,SAAUG,GAAqB,QAAU,CAAC,EAC1C,OAAQ,CAAC,CACX,EAEMO,GAAgB,CACpB,eAAgBC,EAAiBF,EAAW/B,EAAU,YAAY,IAAI,EAAG,CACvE,QACEf,GACAE,GAAY,KAAK,KAAK,YAAY,QAAQ,MAC1C,EACJ,CAAC,EACD,kBAAmB8C,EACjBF,EAAW/B,EAAU,YAAY,IAAI,EACrCb,GAAY,MAAM,KAAK,YAAY,mBAAqB,CAAC,CAC3D,EACA,iBAAkB8C,EAChBF,EAAW/B,EAAU,YAAY,IAAI,EACrCb,GAAY,MAAM,KAAK,YAAY,kBAAoB,CAAC,CAC1D,EACA,SAAU0C,IAA8B,CAAC,CAC3C,EAEA,SAASK,EAAgBC,EAAqB,CAC5C,OAAI7B,GAAqBN,EAAU,YAAY,OAAS,iBAC/CmC,EAELb,GAAkBtB,EAAU,YAAY,OAAS,iBAC5CoC,EAAmBD,EAAQb,GAAgB,OAAQ,CACxD,oBAAqB,EACvB,CAAC,EAEI,CAAC,CACV,CAVShD,EAAA4D,EAAA,mBAYT,eAAeG,GAASF,EAAqB,CAE3CvD,EAAc,QAAQoB,EAAU,YAAY,IAAI,EAAIsC,EAClDH,EACAJ,EAAW/B,EAAU,YAAY,IAAI,CACvC,EAEA,IAAMuC,EAAeL,EAAgBC,CAAM,EAC3C,OAAQnC,EAAU,YAAY,KAAM,CAClC,IAAK,iBACH,OAAAd,EAAuBqD,EAAa,OAAO,EACpC,QAAQ,QAAQ,CAAE,KAAM,CAAE,YAAaA,EAAa,OAAQ,CAAE,CAAC,EAExE,IAAK,oBAAqB,CACxB,IAAMC,EACJ,CAAC1D,GAAwBG,EACrBwD,GACJ3D,GACAG,GACAE,GAAY,MAAM,MAAM,YAAY,SACpCA,GAAY,MAAM,MAAM,YAAY,QAAQ,OAC1CF,EACJ,GAAIuD,GAAyBC,GAAmB,CAC9C,IAAMC,EAAkC,CACtC,kBAAmBH,EACnB,KAAM7D,EACN,aAAcO,CAChB,EACA,GAAI,CACF,QAAQ,IAAI,oCAAqCyD,CAAO,EACxD,IAAMC,EAAW,MAAM5B,GAA8B2B,CAAO,EAC5D,OAAA3D,EAEE4D,EAAS,MAAM,MAAM,YAAY,EACnC,EACOA,CACT,OAASC,EAAO,CACd,cAAQ,MAAM,6BAA8BA,CAAK,EAC3CA,CACR,CACF,SAAW9D,EACT,OAAOmC,EAA8B,CACnC,aAAcnC,EACd,kBAAmByD,EACnB,qBAAsB,CACpB,UAAW,SACb,CACF,CAAC,EAGH,MACF,CACA,IAAK,mBAIH,OAAOtB,EAA8B,CACnC,aAAcnC,EACd,GALoC,CACpC,iBAAkByD,CACpB,CAIA,CAAC,EAGH,IAAK,WACH,OAAOrB,GAAkC,CACvC,aAAcpC,EACd,GAAGqD,CACL,CAAC,CAEL,CAEF,CAtEe7D,EAAA+D,GAAA,YAwEf,SAASQ,IAAO,CACd3C,EAAa,CACf,CAFS5B,EAAAuE,GAAA,QAIT,SAASC,IAAO,CACd3C,GAAS,CACX,CAFS7B,EAAAwE,GAAA,QAIT,SAASC,GAAKC,EAA0B,CACtC5C,GAAS4C,CAAI,CACf,CAFS,OAAA1E,EAAAyE,GAAA,QAIF,CAIL,aAAcjE,EAcd,iBAAkBW,GAAS,wCAE3B,SAAUA,GAAS,sBAInB,UAAAO,EAIA,OAAQ+B,EAAW/B,EAAU,YAAY,IAAI,EAI7C,UACEuB,IACAnC,GACAsC,IACAnC,GACAG,GACAa,GAIF,aACEE,EAAyB,WACzBE,EAAyB,WACzBE,EAA6B,UAI/B,cAAAmB,GAMA,iBAAkB1D,EAAC6D,GAAwB,CACzC,GAAInC,EAAU,YAAY,OAAS,iBACjC,OAAOM,EAAkB,iBAAiB6B,CAAM,EAElD,GAAInC,EAAU,YAAY,OAAS,YAAcyB,EAAqB,CACpE,IAAMc,EAAeH,EACnBD,EACAV,GAAqB,MACvB,EAEA,OAAOA,GAAqB,iBAAiBc,CAAY,CAC3D,CACA,GAAIjB,EAAgB,CAClB,IAAMiB,EAAeH,EAAmBD,EAAQb,GAAgB,MAAM,EACtE,OAAOA,GAAgB,iBAAiBiB,CAAY,CACtD,CACA,OAAO,IACT,EAjBkB,oBAsBlB,kBAAmBtC,EAOnB,gBAAAiC,EAOA,SAAAG,GAMA,KAAAQ,GAMA,KAAAC,GAOA,KAAAC,GAKA,KAAM,CACJ,OAAQnE,EAAc,OACxB,CACF,CACF,EA/U6B","names":["useRef","useState","mergeWith","jsonSchemaToEmployment","stepToFormSchemaMap","useOnboarding","__name","employmentId","companyId","countryCode","type","options","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","isLoadingEmployment","useEmployment","benefitOffers","isLoadingBenefitOffers","useBenefitOffers","company","isLoadingCompany","useCompany","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","useStepState","selectCountryForm","isLoadingCountries","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","formType","employmentKey","serverEmploymentData","onboardingForm","isLoadingBasicInformation","useJSONSchemaForm","benefitOffersSchema","isLoadingBenefitsOffersSchema","useBenefitOffersSchema","benefitsFormValues","initialValuesBenefitOffers","mergeWith","stepFields","initialValues","getInitialValues","parseFormValues","values","parseJSFToValidate","onSubmit","prettifyFormValues","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo","step"]}
|
package/dist/chunk-Y4ZFQBM3.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as n}from"./chunk-FQLSGKCJ.js";import{b as i}from"./chunk-DZYFSFZ7.js";import{a as o}from"./chunk-AYDF3IFZ.js";import e from"react";function l({onSubmit:r}){let{terminationBag:m}=i();return e.createElement(n,{onSubmit:o(async t=>{await r?.(m?.parseFormValues(t)),m?.next()},"handleSubmit")})}o(l,"EmployeeCommunicationForm");export{l as a};
|
|
2
|
-
//# sourceMappingURL=chunk-Y4ZFQBM3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Termination/EmployeeComunicationForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype EmployeeComunicationProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n};\n\nexport function EmployeeCommunicationForm({\n onSubmit,\n}: EmployeeComunicationProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QAYX,SAASC,EAA0B,CACxC,SAAAC,CACF,EAA8B,CAC5B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOC,EAAA,cAACC,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAMN,IACJC,GAAgB,gBAAgBK,CAAM,CACxC,EACAL,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAZgBI,EAAAN,EAAA","names":["React","EmployeeCommunicationForm","onSubmit","terminationBag","useTerminationContext","React","TerminationForm","__name","values"]}
|