@remoteoss/remote-flows 0.4.0-alpha.13 → 0.4.0-alpha.15

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.
Files changed (97) hide show
  1. package/README.md +12 -1
  2. package/dist/{chunk-KGSIUWBI.js → chunk-26PHG6H2.js} +2 -2
  3. package/dist/{chunk-Z3HWTDRE.js → chunk-2NLOH7NZ.js} +2 -2
  4. package/dist/{chunk-X6DRD2I4.js → chunk-4J55VB37.js} +2 -2
  5. package/dist/{chunk-D53FKWGJ.js → chunk-6ACAZ6EG.js} +2 -2
  6. package/dist/{chunk-U6OPL6WG.js → chunk-6SWZH7KI.js} +2 -2
  7. package/dist/{chunk-OS3QI7CV.js → chunk-AI2TYE56.js} +2 -2
  8. package/dist/{chunk-AOJAZ4FT.js → chunk-BMEK4OFQ.js} +2 -2
  9. package/dist/{chunk-QKTDO33H.js → chunk-BYKZON2I.js} +2 -2
  10. package/dist/{chunk-RDAO365M.js → chunk-CVTAWW6F.js} +2 -2
  11. package/dist/{chunk-RDAO365M.js.map → chunk-CVTAWW6F.js.map} +1 -1
  12. package/dist/{chunk-BYFO5OB6.js → chunk-G7P5P2TG.js} +2 -2
  13. package/dist/{chunk-NIOH7TNP.js → chunk-HAOVUJOL.js} +2 -2
  14. package/dist/{chunk-RFYJGH2X.js → chunk-MA4IML3T.js} +2 -2
  15. package/dist/chunk-N2AEQQ52.js +2 -0
  16. package/dist/chunk-N2AEQQ52.js.map +1 -0
  17. package/dist/chunk-O76Z3VWZ.js +2 -0
  18. package/dist/chunk-O76Z3VWZ.js.map +1 -0
  19. package/dist/{chunk-IEZAM2XO.js → chunk-OOVMHJTY.js} +2 -2
  20. package/dist/{chunk-ASFAGLQI.js → chunk-Q4KOH5ZH.js} +2 -2
  21. package/dist/{chunk-WRKHWEZA.js → chunk-QW4JPW6J.js} +1 -1
  22. package/dist/chunk-QW4JPW6J.js.map +1 -0
  23. package/dist/{chunk-O4PJ6GWS.js → chunk-RDLTU3FE.js} +2 -2
  24. package/dist/chunk-RLETCEUU.js +2 -0
  25. package/dist/chunk-RLETCEUU.js.map +1 -0
  26. package/dist/chunk-SGW2UR4M.js +2 -0
  27. package/dist/chunk-SGW2UR4M.js.map +1 -0
  28. package/dist/{chunk-4BOE6EEO.js → chunk-X3YONWNH.js} +2 -2
  29. package/dist/chunk-XIPPSRO6.js +2 -0
  30. package/dist/chunk-XIPPSRO6.js.map +1 -0
  31. package/dist/{chunk-H4BI3LJD.js → chunk-Y56L3QKM.js} +2 -2
  32. package/dist/{chunk-QUM7V5EP.js → chunk-Y766WEDN.js} +2 -2
  33. package/dist/{chunk-OP4QGFLS.js → chunk-ZUNKCQBT.js} +2 -2
  34. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  35. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  36. package/dist/flows/ContractAmendment/hooks.js +1 -1
  37. package/dist/flows/ContractAmendment/index.js +1 -1
  38. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  39. package/dist/flows/CostCalculator/index.js +1 -1
  40. package/dist/flows/Onboarding/AnnualGrossSalary.js +1 -1
  41. package/dist/flows/Onboarding/BasicInformationStep.js +1 -1
  42. package/dist/flows/Onboarding/BenefitsStep.js +1 -1
  43. package/dist/flows/Onboarding/ContractDetailsStep.js +1 -1
  44. package/dist/flows/Onboarding/OnboardingFlow.d.ts +3 -0
  45. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  46. package/dist/flows/Onboarding/OnboardingForm.js +1 -1
  47. package/dist/flows/Onboarding/OnboardingInvite.js +1 -1
  48. package/dist/flows/Onboarding/SaveDraftButton.d.ts +15 -0
  49. package/dist/flows/Onboarding/SaveDraftButton.js +2 -0
  50. package/dist/flows/Onboarding/SaveDraftButton.js.map +1 -0
  51. package/dist/flows/Onboarding/SelectCountryStep.js +1 -1
  52. package/dist/flows/Onboarding/context.d.ts +8 -2
  53. package/dist/flows/Onboarding/hooks.d.ts +11 -2
  54. package/dist/flows/Onboarding/hooks.js +1 -1
  55. package/dist/flows/Onboarding/index.d.ts +2 -1
  56. package/dist/flows/Onboarding/index.js +1 -1
  57. package/dist/flows/Onboarding/types.d.ts +8 -1
  58. package/dist/flows/Onboarding/utils.js +1 -1
  59. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  60. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  61. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  62. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  63. package/dist/flows/Termination/TerminationFlow.js +1 -1
  64. package/dist/flows/Termination/TerminationForm.js +1 -1
  65. package/dist/flows/Termination/hooks.js +1 -1
  66. package/dist/flows/Termination/index.js +1 -1
  67. package/dist/index.d.ts +2 -1
  68. package/dist/index.js +1 -1
  69. package/dist/index.js.map +1 -1
  70. package/package.json +1 -1
  71. package/dist/chunk-7JHIPWS7.js +0 -2
  72. package/dist/chunk-7JHIPWS7.js.map +0 -1
  73. package/dist/chunk-7N7ND6Z4.js +0 -2
  74. package/dist/chunk-7N7ND6Z4.js.map +0 -1
  75. package/dist/chunk-GFMFGU7A.js +0 -2
  76. package/dist/chunk-GFMFGU7A.js.map +0 -1
  77. package/dist/chunk-WRKHWEZA.js.map +0 -1
  78. package/dist/chunk-XQXFQ7LM.js +0 -2
  79. package/dist/chunk-XQXFQ7LM.js.map +0 -1
  80. /package/dist/{chunk-KGSIUWBI.js.map → chunk-26PHG6H2.js.map} +0 -0
  81. /package/dist/{chunk-Z3HWTDRE.js.map → chunk-2NLOH7NZ.js.map} +0 -0
  82. /package/dist/{chunk-X6DRD2I4.js.map → chunk-4J55VB37.js.map} +0 -0
  83. /package/dist/{chunk-D53FKWGJ.js.map → chunk-6ACAZ6EG.js.map} +0 -0
  84. /package/dist/{chunk-U6OPL6WG.js.map → chunk-6SWZH7KI.js.map} +0 -0
  85. /package/dist/{chunk-OS3QI7CV.js.map → chunk-AI2TYE56.js.map} +0 -0
  86. /package/dist/{chunk-AOJAZ4FT.js.map → chunk-BMEK4OFQ.js.map} +0 -0
  87. /package/dist/{chunk-QKTDO33H.js.map → chunk-BYKZON2I.js.map} +0 -0
  88. /package/dist/{chunk-BYFO5OB6.js.map → chunk-G7P5P2TG.js.map} +0 -0
  89. /package/dist/{chunk-NIOH7TNP.js.map → chunk-HAOVUJOL.js.map} +0 -0
  90. /package/dist/{chunk-RFYJGH2X.js.map → chunk-MA4IML3T.js.map} +0 -0
  91. /package/dist/{chunk-IEZAM2XO.js.map → chunk-OOVMHJTY.js.map} +0 -0
  92. /package/dist/{chunk-ASFAGLQI.js.map → chunk-Q4KOH5ZH.js.map} +0 -0
  93. /package/dist/{chunk-O4PJ6GWS.js.map → chunk-RDLTU3FE.js.map} +0 -0
  94. /package/dist/{chunk-4BOE6EEO.js.map → chunk-X3YONWNH.js.map} +0 -0
  95. /package/dist/{chunk-H4BI3LJD.js.map → chunk-Y56L3QKM.js.map} +0 -0
  96. /package/dist/{chunk-QUM7V5EP.js.map → chunk-Y766WEDN.js.map} +0 -0
  97. /package/dist/{chunk-OP4QGFLS.js.map → chunk-ZUNKCQBT.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-O4PJ6GWS.js";import"../../chunk-U6OPL6WG.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-Z3HWTDRE.js";import"../../chunk-XO3JWN33.js";import"../../chunk-GFMFGU7A.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as PaidTimeOffForm};
1
+ import{a}from"../../chunk-RDLTU3FE.js";import"../../chunk-6SWZH7KI.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-2NLOH7NZ.js";import"../../chunk-XO3JWN33.js";import"../../chunk-RLETCEUU.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as PaidTimeOffForm};
2
2
  //# sourceMappingURL=PaidTimeOffForm.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-OP4QGFLS.js";import"../../chunk-U6OPL6WG.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-Z3HWTDRE.js";import"../../chunk-XO3JWN33.js";import"../../chunk-GFMFGU7A.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as TerminationDetailsForm};
1
+ import{a}from"../../chunk-ZUNKCQBT.js";import"../../chunk-6SWZH7KI.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-2NLOH7NZ.js";import"../../chunk-XO3JWN33.js";import"../../chunk-RLETCEUU.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as TerminationDetailsForm};
2
2
  //# sourceMappingURL=TerminationDetailsForm.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-QUM7V5EP.js";import"../../chunk-LLIGZSYY.js";import"../../chunk-JXCJLQRA.js";import"../../chunk-OS3QI7CV.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-WWANHPT7.js";import"../../chunk-DR7VGNO2.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-JODJFARP.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-KGSIUWBI.js";import"../../chunk-4BOE6EEO.js";import"../../chunk-O4PJ6GWS.js";import"../../chunk-BF7QENCN.js";import"../../chunk-OP4QGFLS.js";import"../../chunk-U6OPL6WG.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-PWUYHFON.js";import"../../chunk-LX7QBDSF.js";import"../../chunk-WRKHWEZA.js";import"../../chunk-WKK63LAY.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-Z3HWTDRE.js";import"../../chunk-XO3JWN33.js";import"../../chunk-GFMFGU7A.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-MH6KKP6K.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as TerminationFlow};
1
+ import{a}from"../../chunk-Y766WEDN.js";import"../../chunk-ZUNKCQBT.js";import"../../chunk-LLIGZSYY.js";import"../../chunk-JXCJLQRA.js";import"../../chunk-AI2TYE56.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-WWANHPT7.js";import"../../chunk-DR7VGNO2.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-JODJFARP.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-26PHG6H2.js";import"../../chunk-X3YONWNH.js";import"../../chunk-RDLTU3FE.js";import"../../chunk-6SWZH7KI.js";import"../../chunk-BF7QENCN.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-PWUYHFON.js";import"../../chunk-LX7QBDSF.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-WKK63LAY.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-2NLOH7NZ.js";import"../../chunk-XO3JWN33.js";import"../../chunk-RLETCEUU.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-MH6KKP6K.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as TerminationFlow};
2
2
  //# sourceMappingURL=TerminationFlow.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-U6OPL6WG.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-Z3HWTDRE.js";import"../../chunk-XO3JWN33.js";import"../../chunk-GFMFGU7A.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as TerminationForm};
1
+ import{a}from"../../chunk-6SWZH7KI.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-2NLOH7NZ.js";import"../../chunk-XO3JWN33.js";import"../../chunk-RLETCEUU.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as TerminationForm};
2
2
  //# sourceMappingURL=TerminationForm.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-OS3QI7CV.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-WWANHPT7.js";import"../../chunk-DR7VGNO2.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-JODJFARP.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-PWUYHFON.js";import"../../chunk-WRKHWEZA.js";import"../../chunk-WKK63LAY.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-MH6KKP6K.js";import"../../chunk-P37U34EQ.js";export{a as useTermination};
1
+ import{a}from"../../chunk-AI2TYE56.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-WWANHPT7.js";import"../../chunk-DR7VGNO2.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-JODJFARP.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-PWUYHFON.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-WKK63LAY.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-MH6KKP6K.js";import"../../chunk-P37U34EQ.js";export{a as useTermination};
2
2
  //# sourceMappingURL=hooks.js.map
@@ -1,2 +1,2 @@
1
- import"../../chunk-M22FKNEY.js";import{a}from"../../chunk-QUM7V5EP.js";import"../../chunk-LLIGZSYY.js";import"../../chunk-JXCJLQRA.js";import"../../chunk-OS3QI7CV.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-WWANHPT7.js";import"../../chunk-DR7VGNO2.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-JODJFARP.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-KGSIUWBI.js";import"../../chunk-4BOE6EEO.js";import"../../chunk-O4PJ6GWS.js";import"../../chunk-BF7QENCN.js";import"../../chunk-OP4QGFLS.js";import"../../chunk-U6OPL6WG.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-PWUYHFON.js";import"../../chunk-LX7QBDSF.js";import"../../chunk-WRKHWEZA.js";import"../../chunk-WKK63LAY.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-Z3HWTDRE.js";import"../../chunk-XO3JWN33.js";import"../../chunk-GFMFGU7A.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-MH6KKP6K.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as TerminationFlow};
1
+ import"../../chunk-M22FKNEY.js";import{a}from"../../chunk-Y766WEDN.js";import"../../chunk-ZUNKCQBT.js";import"../../chunk-LLIGZSYY.js";import"../../chunk-JXCJLQRA.js";import"../../chunk-AI2TYE56.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-WWANHPT7.js";import"../../chunk-DR7VGNO2.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-JODJFARP.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-26PHG6H2.js";import"../../chunk-X3YONWNH.js";import"../../chunk-RDLTU3FE.js";import"../../chunk-6SWZH7KI.js";import"../../chunk-BF7QENCN.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-PWUYHFON.js";import"../../chunk-LX7QBDSF.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-WKK63LAY.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-2NLOH7NZ.js";import"../../chunk-XO3JWN33.js";import"../../chunk-RLETCEUU.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-GEYFQVQI.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-VNSF5IOL.js";import"../../chunk-MH6KKP6K.js";import"../../chunk-KPHSEIR3.js";import"../../chunk-P37U34EQ.js";export{a as TerminationFlow};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { TerminationFlow, TerminationRenderProps } from './flows/Termination/Ter
16
16
  export { TerminationFormValues } from './flows/Termination/types.js';
17
17
  export { OnboardingFlow, OnboardingRenderProps } from './flows/Onboarding/OnboardingFlow.js';
18
18
  export { OnboardingInviteProps } from './flows/Onboarding/OnboardingInvite.js';
19
- export { BasicInformationFormPayload, BenefitsFormPayload, ContractDetailsFormPayload, CreditRiskState, CreditRiskStatus, Employment, SelectCountryFormPayload, SelectCountrySuccess } from './flows/Onboarding/types.js';
19
+ export { BasicInformationFormPayload, BenefitsFormPayload, ContractDetailsFormPayload, CreditRiskState, CreditRiskStatus, Employment, Meta, SelectCountryFormPayload, SelectCountrySuccess } from './flows/Onboarding/types.js';
20
20
  export { CostCalculatorEstimationFormValues, CostCalculatorEstimationOptions, CostCalculatorEstimationSubmitValues } from './flows/CostCalculator/types.js';
21
21
  import * as _tanstack_react_query from '@tanstack/react-query';
22
22
  import { E as EmploymentShowResponse, z as TimeoffStatus, L as ListTimeoffResponse } from './types.gen-D_v539E_.js';
@@ -53,6 +53,7 @@ import './flows/Onboarding/ContractDetailsStep.js';
53
53
  import './flows/Onboarding/BenefitsStep.js';
54
54
  import './flows/Onboarding/SelectCountryStep.js';
55
55
  import './flows/Onboarding/ReviewStep.js';
56
+ import './flows/Onboarding/SaveDraftButton.js';
56
57
 
57
58
  type UseEmployment = Pick<ContractAmendmentParams, 'employmentId'>;
58
59
  /**
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-M22FKNEY.js";import{a as tr}from"./chunk-QUM7V5EP.js";import"./chunk-LLIGZSYY.js";import"./chunk-JXCJLQRA.js";import"./chunk-OS3QI7CV.js";import"./chunk-XFD3ULUF.js";import"./chunk-WWANHPT7.js";import"./chunk-DR7VGNO2.js";import"./chunk-XSHHMBMT.js";import"./chunk-JODJFARP.js";import"./chunk-W5DG5WWJ.js";import"./chunk-VX2UC3HG.js";import"./chunk-S4XU4SE7.js";import"./chunk-GULCZWSK.js";import"./chunk-KGSIUWBI.js";import"./chunk-4BOE6EEO.js";import"./chunk-O4PJ6GWS.js";import"./chunk-BF7QENCN.js";import"./chunk-OP4QGFLS.js";import"./chunk-U6OPL6WG.js";import"./chunk-MRYRNB7Y.js";import{a as or}from"./chunk-XQXFQ7LM.js";import"./chunk-BYFO5OB6.js";import"./chunk-C3HJSV4T.js";import"./chunk-GPAE53HO.js";import"./chunk-ASFAGLQI.js";import"./chunk-7N7ND6Z4.js";import"./chunk-7JHIPWS7.js";import"./chunk-RDAO365M.js";import"./chunk-AN7L3GVL.js";import"./chunk-WVJDCDGZ.js";import"./chunk-D53FKWGJ.js";import"./chunk-X6DRD2I4.js";import"./chunk-AOJAZ4FT.js";import"./chunk-QKTDO33H.js";import"./chunk-VN4HDCRB.js";import"./chunk-PGWKJ6FK.js";import"./chunk-FGBEOUQK.js";import{a as E}from"./chunk-DKIWM2PT.js";import"./chunk-WIRFNWEU.js";import"./chunk-3NZ6PO4D.js";import"./chunk-YO4OQIFP.js";import"./chunk-32RYPLZK.js";import"./chunk-PJCUSCO4.js";import"./chunk-EEAMZPP6.js";import"./chunk-FB5J7SRP.js";import{a as R}from"./chunk-H4BI3LJD.js";import{a as z}from"./chunk-3HPG2L62.js";import{a as T}from"./chunk-KM4XVL2X.js";import"./chunk-A7ZJQCNU.js";import{a as B}from"./chunk-EV5YPN4F.js";import{a as _}from"./chunk-DYB3RWP7.js";import{a as P}from"./chunk-ZOG52VVG.js";import"./chunk-KSHK3ZPX.js";import{b as y,c as k,e as C}from"./chunk-SUS7UBI5.js";import"./chunk-UPRUP24B.js";import"./chunk-PWUYHFON.js";import{a as er}from"./chunk-IEZAM2XO.js";import{a as H}from"./chunk-RXK4RLF6.js";import{a as ar}from"./chunk-NIOH7TNP.js";import{a as J,b as rr}from"./chunk-LX7QBDSF.js";import"./chunk-WRKHWEZA.js";import"./chunk-5SMMQQXP.js";import{a as p}from"./chunk-WKK63LAY.js";import"./chunk-PJBAQZ6G.js";import"./chunk-CTTXXEWI.js";import{a as G}from"./chunk-CSU6IQX3.js";import{a as Z}from"./chunk-RFYJGH2X.js";import"./chunk-Z3HWTDRE.js";import"./chunk-XO3JWN33.js";import"./chunk-GFMFGU7A.js";import"./chunk-CFIJKJXD.js";import"./chunk-GEYFQVQI.js";import{a as g,c as v}from"./chunk-3ZWDIEEM.js";import"./chunk-VNSF5IOL.js";import"./chunk-MH6KKP6K.js";import"./chunk-TVZAFTPT.js";import{c as F}from"./chunk-KPHSEIR3.js";import{a as e}from"./chunk-P37U34EQ.js";import{QueryClient as L,QueryClientProvider as q}from"@tanstack/react-query";function l(r){let a=document.documentElement;Object.keys(r).forEach(t=>{let o=r[t];o&&a.style.setProperty(t,o)})}e(l,"setCssProperties");function S(r){let a={};return Object.keys(r).forEach(t=>{a[`--${t}`]=r[t]}),a}e(S,"mapThemeColors");function N(r){return{"--spacing":r}}e(N,"mapThemeSpacing");function O(r){return{"--radius":r}}e(O,"mapThemeBorderRadius");function j(r){return{"--fontSizeBase":r.fontSizeBase}}e(j,"mapThemeFont");function h(r){r?.colors&&l(S(r.colors)),r?.spacing&&l(N(r.spacing)),r?.borderRadius&&l(O(r.borderRadius)),r?.font&&l(j(r.font))}e(h,"applyTheme");import{createContext as D,useEffect as I,useMemo as A}from"react";import{jsx as V}from"react/jsx-runtime";var K=D({theme:{}});function u(r){I(()=>{r.theme&&Object.keys(r.theme).length>0&&h(r.theme)},[r.theme]);let a=A(()=>({theme:r.theme}),[r.theme]);return V(K.Provider,{value:a,children:r.children})}e(u,"ThemeProvider");var m={partners:"https://gateway.partners.remote-sandbox.com",production:"https://gateway.remote.com",sandbox:"https://gateway.remote-sandbox.com",staging:"https://gateway.niceremote.com"};import{createClient as U}from"@hey-api/client-fetch";import{useQuery as W}from"@tanstack/react-query";import{useRef as w}from"react";function M(r){try{return new URL(r),!0}catch{return!1}}e(M,"isValidUrl");var f=e(({auth:r,options:a})=>{let t=w(null),{refetch:o}=W({queryKey:["auth"],queryFn:r,enabled:!1}),c=a?.environment?m[a?.environment]:"https://gateway.remote.com",s=p.getConfig(),x="0.4.0-alpha.13",d=!!a?.proxy&&M(a.proxy.url);return a?.proxy&&!d&&console.error("Invalid proxy URL provided. Using default base URL."),w(U({...s,headers:{...s.headers,...d?a?.proxy?.headers:{},"X-Client-Name":"remote-flows-sdk","X-Client-Version":x},baseUrl:d?a.proxy?.url:c,auth:e(async()=>{function b(i){return!i||Date.now()+6e4>i}if(e(b,"hasTokenExpired"),!t.current||b(t.current.expiresAt)){let{data:i}=await o();i&&(t.current={accessToken:i.accessToken,expiresAt:Date.now()+i.expiresIn*1e3})}return t.current?.accessToken},"auth")}))},"useAuth");import{jsx as n}from"react/jsx-runtime";var Q=new L;function X({children:r,auth:a,proxy:t,environment:o}){let c=f({auth:a,options:{proxy:t,environment:o}});return n(v.Provider,{value:{client:c.current},children:r})}e(X,"RemoteFlowContextWrapper");function Y({children:r,components:a}){return n(g.Provider,{value:a?{components:a}:{components:{}},children:r})}e(Y,"FormFieldsProvider");function $({auth:r,children:a,components:t,theme:o,proxy:c,environment:s}){return n(q,{client:Q,children:n(Y,{components:t,children:n(X,{auth:r,proxy:c,environment:s,children:n(u,{theme:o,children:a})})})})}e($,"RemoteFlows");export{G as ContractAmendmentConfirmationForm,er as ContractAmendmentFlow,Z as ContractAmendmentForm,H as ContractAmendmentSubmit,B as CostCalculatorDisclaimer,P as CostCalculatorFlow,R as CostCalculatorForm,z as CostCalculatorResetButton,E as CostCalculatorResults,T as CostCalculatorSubmitButton,or as OnboardingFlow,$ as RemoteFlows,tr as TerminationFlow,y as buildCostCalculatorEstimationPayload,_ as disclaimerData,F as transformYupErrorsIntoObject,ar as useContractAmendment,C as useCostCalculator,k as useCostCalculatorEstimationPdf,J as useEmploymentQuery,rr as useTimeOffQuery};
1
+ import"./chunk-M22FKNEY.js";import{a as tr}from"./chunk-Y766WEDN.js";import"./chunk-ZUNKCQBT.js";import"./chunk-LLIGZSYY.js";import"./chunk-JXCJLQRA.js";import"./chunk-AI2TYE56.js";import"./chunk-XFD3ULUF.js";import"./chunk-WWANHPT7.js";import"./chunk-DR7VGNO2.js";import"./chunk-XSHHMBMT.js";import"./chunk-JODJFARP.js";import"./chunk-W5DG5WWJ.js";import"./chunk-VX2UC3HG.js";import"./chunk-S4XU4SE7.js";import"./chunk-GULCZWSK.js";import"./chunk-26PHG6H2.js";import"./chunk-X3YONWNH.js";import"./chunk-RDLTU3FE.js";import"./chunk-6SWZH7KI.js";import"./chunk-BF7QENCN.js";import"./chunk-MRYRNB7Y.js";import{a as or}from"./chunk-O76Z3VWZ.js";import"./chunk-SGW2UR4M.js";import"./chunk-XIPPSRO6.js";import"./chunk-G7P5P2TG.js";import"./chunk-C3HJSV4T.js";import"./chunk-GPAE53HO.js";import"./chunk-N2AEQQ52.js";import"./chunk-Q4KOH5ZH.js";import"./chunk-CVTAWW6F.js";import"./chunk-AN7L3GVL.js";import"./chunk-WVJDCDGZ.js";import"./chunk-6ACAZ6EG.js";import"./chunk-4J55VB37.js";import"./chunk-BMEK4OFQ.js";import"./chunk-BYKZON2I.js";import"./chunk-VN4HDCRB.js";import"./chunk-PGWKJ6FK.js";import"./chunk-FGBEOUQK.js";import{a as E}from"./chunk-DKIWM2PT.js";import"./chunk-WIRFNWEU.js";import"./chunk-3NZ6PO4D.js";import"./chunk-YO4OQIFP.js";import"./chunk-32RYPLZK.js";import"./chunk-PJCUSCO4.js";import"./chunk-EEAMZPP6.js";import"./chunk-FB5J7SRP.js";import{a as R}from"./chunk-Y56L3QKM.js";import{a as z}from"./chunk-3HPG2L62.js";import{a as T}from"./chunk-KM4XVL2X.js";import"./chunk-A7ZJQCNU.js";import{a as B}from"./chunk-EV5YPN4F.js";import{a as _}from"./chunk-DYB3RWP7.js";import{a as P}from"./chunk-ZOG52VVG.js";import"./chunk-KSHK3ZPX.js";import{b as y,c as k,e as C}from"./chunk-SUS7UBI5.js";import"./chunk-UPRUP24B.js";import"./chunk-PWUYHFON.js";import{a as er}from"./chunk-OOVMHJTY.js";import{a as H}from"./chunk-RXK4RLF6.js";import{a as ar}from"./chunk-HAOVUJOL.js";import{a as J,b as rr}from"./chunk-LX7QBDSF.js";import"./chunk-QW4JPW6J.js";import"./chunk-5SMMQQXP.js";import{a as p}from"./chunk-WKK63LAY.js";import"./chunk-PJBAQZ6G.js";import"./chunk-CTTXXEWI.js";import{a as G}from"./chunk-CSU6IQX3.js";import{a as Z}from"./chunk-MA4IML3T.js";import"./chunk-2NLOH7NZ.js";import"./chunk-XO3JWN33.js";import"./chunk-RLETCEUU.js";import"./chunk-CFIJKJXD.js";import"./chunk-GEYFQVQI.js";import{a as g,c as v}from"./chunk-3ZWDIEEM.js";import"./chunk-VNSF5IOL.js";import"./chunk-MH6KKP6K.js";import"./chunk-TVZAFTPT.js";import{c as F}from"./chunk-KPHSEIR3.js";import{a as e}from"./chunk-P37U34EQ.js";import{QueryClient as L,QueryClientProvider as q}from"@tanstack/react-query";function l(r){let a=document.documentElement;Object.keys(r).forEach(t=>{let o=r[t];o&&a.style.setProperty(t,o)})}e(l,"setCssProperties");function S(r){let a={};return Object.keys(r).forEach(t=>{a[`--${t}`]=r[t]}),a}e(S,"mapThemeColors");function N(r){return{"--spacing":r}}e(N,"mapThemeSpacing");function O(r){return{"--radius":r}}e(O,"mapThemeBorderRadius");function j(r){return{"--fontSizeBase":r.fontSizeBase}}e(j,"mapThemeFont");function h(r){r?.colors&&l(S(r.colors)),r?.spacing&&l(N(r.spacing)),r?.borderRadius&&l(O(r.borderRadius)),r?.font&&l(j(r.font))}e(h,"applyTheme");import{createContext as D,useEffect as I,useMemo as A}from"react";import{jsx as V}from"react/jsx-runtime";var K=D({theme:{}});function u(r){I(()=>{r.theme&&Object.keys(r.theme).length>0&&h(r.theme)},[r.theme]);let a=A(()=>({theme:r.theme}),[r.theme]);return V(K.Provider,{value:a,children:r.children})}e(u,"ThemeProvider");var m={partners:"https://gateway.partners.remote-sandbox.com",production:"https://gateway.remote.com",sandbox:"https://gateway.remote-sandbox.com",staging:"https://gateway.niceremote.com"};import{createClient as U}from"@hey-api/client-fetch";import{useQuery as W}from"@tanstack/react-query";import{useRef as w}from"react";function M(r){try{return new URL(r),!0}catch{return!1}}e(M,"isValidUrl");var f=e(({auth:r,options:a})=>{let t=w(null),{refetch:o}=W({queryKey:["auth"],queryFn:r,enabled:!1}),c=a?.environment?m[a?.environment]:"https://gateway.remote.com",s=p.getConfig(),x="0.4.0-alpha.15",d=!!a?.proxy&&M(a.proxy.url);return a?.proxy&&!d&&console.error("Invalid proxy URL provided. Using default base URL."),w(U({...s,headers:{...s.headers,...d?a?.proxy?.headers:{},"X-Client-Name":"remote-flows-sdk","X-Client-Version":x},baseUrl:d?a.proxy?.url:c,auth:e(async()=>{function b(i){return!i||Date.now()+6e4>i}if(e(b,"hasTokenExpired"),!t.current||b(t.current.expiresAt)){let{data:i}=await o();i&&(t.current={accessToken:i.accessToken,expiresAt:Date.now()+i.expiresIn*1e3})}return t.current?.accessToken},"auth")}))},"useAuth");import{jsx as n}from"react/jsx-runtime";var Q=new L;function X({children:r,auth:a,proxy:t,environment:o}){let c=f({auth:a,options:{proxy:t,environment:o}});return n(v.Provider,{value:{client:c.current},children:r})}e(X,"RemoteFlowContextWrapper");function Y({children:r,components:a}){return n(g.Provider,{value:a?{components:a}:{components:{}},children:r})}e(Y,"FormFieldsProvider");function $({auth:r,children:a,components:t,theme:o,proxy:c,environment:s}){return n(q,{client:Q,children:n(Y,{components:t,children:n(X,{auth:r,proxy:c,environment:s,children:n(u,{theme:o,children:a})})})})}e($,"RemoteFlows");export{G as ContractAmendmentConfirmationForm,er as ContractAmendmentFlow,Z as ContractAmendmentForm,H as ContractAmendmentSubmit,B as CostCalculatorDisclaimer,P as CostCalculatorFlow,R as CostCalculatorForm,z as CostCalculatorResetButton,E as CostCalculatorResults,T as CostCalculatorSubmitButton,or as OnboardingFlow,$ as RemoteFlows,tr as TerminationFlow,y as buildCostCalculatorEstimationPayload,_ as disclaimerData,F as transformYupErrorsIntoObject,ar as useContractAmendment,C as useCostCalculator,k as useCostCalculatorEstimationPdf,J as useEmploymentQuery,rr as useTimeOffQuery};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/RemoteFlowsProvider.tsx","../src/lib/applyTheme.ts","../src/theme.tsx","../src/environments.ts","../src/useAuth.ts"],"sourcesContent":["import { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport type { PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { ThemeProvider } from '@/src/theme';\nimport { FormFieldsContext, RemoteFlowContext } from './context';\nimport { Components, RemoteFlowsSDKProps } from './types/remoteFlows';\nimport { useAuth } from './useAuth';\n\nconst queryClient = new QueryClient();\n\ntype RemoteFlowContextWrapperProps = {\n auth: RemoteFlowsSDKProps['auth'];\n children: React.ReactNode;\n environment?: RemoteFlowsSDKProps['environment'];\n proxy?: RemoteFlowsSDKProps['proxy'];\n};\n\nfunction RemoteFlowContextWrapper({\n children,\n auth,\n proxy,\n environment,\n}: RemoteFlowContextWrapperProps) {\n const remoteApiClient = useAuth({\n auth,\n options: {\n proxy,\n environment,\n },\n });\n return (\n <RemoteFlowContext.Provider value={{ client: remoteApiClient.current }}>\n {children}\n </RemoteFlowContext.Provider>\n );\n}\n\nexport function FormFieldsProvider({\n children,\n components,\n}: PropsWithChildren<{\n components?: Components;\n}>) {\n return (\n <FormFieldsContext.Provider\n value={components ? { components } : { components: {} }}\n >\n {children}\n </FormFieldsContext.Provider>\n );\n}\n\nexport function RemoteFlows({\n auth,\n children,\n components,\n theme,\n proxy,\n environment,\n}: PropsWithChildren<RemoteFlowsSDKProps>) {\n return (\n <QueryClientProvider client={queryClient}>\n <FormFieldsProvider components={components}>\n <RemoteFlowContextWrapper\n auth={auth}\n proxy={proxy}\n environment={environment}\n >\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </RemoteFlowContextWrapper>\n </FormFieldsProvider>\n </QueryClientProvider>\n );\n}\n","import {\n CssThemeBorder,\n CssThemeColors,\n CssThemeFont,\n CssThemeSpacing,\n ThemeColors,\n ThemeFont,\n ThemeProviderProps,\n} from '@/src/types/theme';\n\nfunction setCssProperties(variables: Record<string, string>) {\n const root = document.documentElement;\n Object.keys(variables).forEach((v) => {\n const propertyVal = variables[v];\n if (propertyVal) {\n root.style.setProperty(v, propertyVal);\n }\n });\n}\n\nfunction mapThemeColors(colors: ThemeColors): CssThemeColors {\n const result: CssThemeColors = {};\n Object.keys(colors).forEach((key) => {\n result[`--${key}` as keyof CssThemeColors] =\n colors[key as keyof ThemeColors];\n });\n return result;\n}\n\nfunction mapThemeSpacing(spacing: string): CssThemeSpacing {\n return {\n '--spacing': spacing,\n };\n}\n\nfunction mapThemeBorderRadius(borderRadius: string): CssThemeBorder {\n return {\n '--radius': borderRadius,\n };\n}\n\nfunction mapThemeFont(font: ThemeFont): CssThemeFont {\n return {\n '--fontSizeBase': font.fontSizeBase,\n };\n}\n\nexport function applyTheme(theme: ThemeProviderProps['theme']) {\n if (theme?.colors) {\n setCssProperties(mapThemeColors(theme.colors));\n }\n\n if (theme?.spacing) {\n setCssProperties(mapThemeSpacing(theme.spacing));\n }\n\n if (theme?.borderRadius) {\n setCssProperties(mapThemeBorderRadius(theme.borderRadius));\n }\n\n if (theme?.font) {\n setCssProperties(mapThemeFont(theme.font));\n }\n}\n","import { applyTheme } from '@/src/lib/applyTheme';\nimport { createContext, useEffect, useMemo } from 'react';\nimport { ThemeProviderProps } from './types/theme';\n\nconst ThemeContext = createContext<Omit<ThemeProviderProps, 'children'>>({\n theme: {},\n});\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n useEffect(() => {\n if (props.theme && Object.keys(props.theme).length > 0) {\n applyTheme(props.theme);\n }\n }, [props.theme]);\n\n const value = useMemo(() => {\n return { theme: props.theme };\n }, [props.theme]);\n\n return (\n <ThemeContext.Provider value={value}>\n {props.children}\n </ThemeContext.Provider>\n );\n}\n","export const ENVIRONMENTS = {\n partners: 'https://gateway.partners.remote-sandbox.com',\n production: 'https://gateway.remote.com',\n sandbox: 'https://gateway.remote-sandbox.com',\n staging: 'https://gateway.niceremote.com',\n};\n","import { client } from '@/src/client/client.gen';\nimport { ENVIRONMENTS } from '@/src/environments';\nimport { createClient } from '@hey-api/client-fetch';\nimport { useQuery } from '@tanstack/react-query';\nimport { useRef } from 'react';\nimport { RemoteFlowsSDKProps } from './types/remoteFlows';\n\ntype AuthResponse = {\n accessToken: string;\n expiresIn: number;\n};\n\ntype Options = Partial<{\n environment: keyof typeof ENVIRONMENTS;\n proxy: RemoteFlowsSDKProps['proxy'];\n}>;\n\nfunction isValidUrl(url: string) {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport const useAuth = ({\n auth,\n options,\n}: {\n auth: () => Promise<AuthResponse>;\n options?: Options;\n}) => {\n const session = useRef<{ accessToken: string; expiresAt: number } | null>(\n null,\n );\n const { refetch } = useQuery({\n queryKey: ['auth'],\n queryFn: auth,\n enabled: false,\n });\n\n const baseUrl = options?.environment\n ? ENVIRONMENTS[options?.environment]\n : process.env.REMOTE_GATEWAY_URL;\n\n const clientConfig = client.getConfig();\n const npmPackageVersion = process.env.VERSION;\n const isValidProxy = !!options?.proxy && isValidUrl(options.proxy.url);\n\n if (options?.proxy && !isValidProxy) {\n console.error('Invalid proxy URL provided. Using default base URL.');\n }\n\n return useRef(\n createClient({\n ...clientConfig,\n headers: {\n ...clientConfig.headers,\n ...(isValidProxy ? options?.proxy?.headers : {}),\n 'X-Client-Name': 'remote-flows-sdk',\n 'X-Client-Version': npmPackageVersion,\n },\n baseUrl: isValidProxy ? options.proxy?.url : baseUrl,\n auth: async () => {\n function hasTokenExpired(expiresAt: number | undefined) {\n return !expiresAt || Date.now() + 60000 > expiresAt;\n }\n if (!session.current || hasTokenExpired(session.current.expiresAt)) {\n const { data } = await refetch();\n if (data) {\n session.current = {\n accessToken: data.accessToken,\n expiresAt: Date.now() + data.expiresIn * 1000,\n };\n }\n }\n return session.current?.accessToken;\n },\n }),\n );\n};\n"],"mappings":"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","names":["QueryClient","QueryClientProvider","setCssProperties","variables","root","v","propertyVal","__name","mapThemeColors","colors","result","key","mapThemeSpacing","spacing","mapThemeBorderRadius","borderRadius","mapThemeFont","font","applyTheme","theme","createContext","useEffect","useMemo","jsx","ThemeContext","createContext","ThemeProvider","props","useEffect","applyTheme","value","useMemo","__name","ENVIRONMENTS","createClient","useQuery","useRef","isValidUrl","url","__name","useAuth","auth","options","session","useRef","refetch","useQuery","baseUrl","ENVIRONMENTS","clientConfig","client","npmPackageVersion","isValidProxy","createClient","hasTokenExpired","expiresAt","data","jsx","queryClient","QueryClient","RemoteFlowContextWrapper","children","auth","proxy","environment","remoteApiClient","useAuth","RemoteFlowContext","__name","FormFieldsProvider","components","FormFieldsContext","RemoteFlows","theme","QueryClientProvider","ThemeProvider"]}
1
+ {"version":3,"sources":["../src/RemoteFlowsProvider.tsx","../src/lib/applyTheme.ts","../src/theme.tsx","../src/environments.ts","../src/useAuth.ts"],"sourcesContent":["import { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport type { PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { ThemeProvider } from '@/src/theme';\nimport { FormFieldsContext, RemoteFlowContext } from './context';\nimport { Components, RemoteFlowsSDKProps } from './types/remoteFlows';\nimport { useAuth } from './useAuth';\n\nconst queryClient = new QueryClient();\n\ntype RemoteFlowContextWrapperProps = {\n auth: RemoteFlowsSDKProps['auth'];\n children: React.ReactNode;\n environment?: RemoteFlowsSDKProps['environment'];\n proxy?: RemoteFlowsSDKProps['proxy'];\n};\n\nfunction RemoteFlowContextWrapper({\n children,\n auth,\n proxy,\n environment,\n}: RemoteFlowContextWrapperProps) {\n const remoteApiClient = useAuth({\n auth,\n options: {\n proxy,\n environment,\n },\n });\n return (\n <RemoteFlowContext.Provider value={{ client: remoteApiClient.current }}>\n {children}\n </RemoteFlowContext.Provider>\n );\n}\n\nexport function FormFieldsProvider({\n children,\n components,\n}: PropsWithChildren<{\n components?: Components;\n}>) {\n return (\n <FormFieldsContext.Provider\n value={components ? { components } : { components: {} }}\n >\n {children}\n </FormFieldsContext.Provider>\n );\n}\n\nexport function RemoteFlows({\n auth,\n children,\n components,\n theme,\n proxy,\n environment,\n}: PropsWithChildren<RemoteFlowsSDKProps>) {\n return (\n <QueryClientProvider client={queryClient}>\n <FormFieldsProvider components={components}>\n <RemoteFlowContextWrapper\n auth={auth}\n proxy={proxy}\n environment={environment}\n >\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </RemoteFlowContextWrapper>\n </FormFieldsProvider>\n </QueryClientProvider>\n );\n}\n","import {\n CssThemeBorder,\n CssThemeColors,\n CssThemeFont,\n CssThemeSpacing,\n ThemeColors,\n ThemeFont,\n ThemeProviderProps,\n} from '@/src/types/theme';\n\nfunction setCssProperties(variables: Record<string, string>) {\n const root = document.documentElement;\n Object.keys(variables).forEach((v) => {\n const propertyVal = variables[v];\n if (propertyVal) {\n root.style.setProperty(v, propertyVal);\n }\n });\n}\n\nfunction mapThemeColors(colors: ThemeColors): CssThemeColors {\n const result: CssThemeColors = {};\n Object.keys(colors).forEach((key) => {\n result[`--${key}` as keyof CssThemeColors] =\n colors[key as keyof ThemeColors];\n });\n return result;\n}\n\nfunction mapThemeSpacing(spacing: string): CssThemeSpacing {\n return {\n '--spacing': spacing,\n };\n}\n\nfunction mapThemeBorderRadius(borderRadius: string): CssThemeBorder {\n return {\n '--radius': borderRadius,\n };\n}\n\nfunction mapThemeFont(font: ThemeFont): CssThemeFont {\n return {\n '--fontSizeBase': font.fontSizeBase,\n };\n}\n\nexport function applyTheme(theme: ThemeProviderProps['theme']) {\n if (theme?.colors) {\n setCssProperties(mapThemeColors(theme.colors));\n }\n\n if (theme?.spacing) {\n setCssProperties(mapThemeSpacing(theme.spacing));\n }\n\n if (theme?.borderRadius) {\n setCssProperties(mapThemeBorderRadius(theme.borderRadius));\n }\n\n if (theme?.font) {\n setCssProperties(mapThemeFont(theme.font));\n }\n}\n","import { applyTheme } from '@/src/lib/applyTheme';\nimport { createContext, useEffect, useMemo } from 'react';\nimport { ThemeProviderProps } from './types/theme';\n\nconst ThemeContext = createContext<Omit<ThemeProviderProps, 'children'>>({\n theme: {},\n});\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n useEffect(() => {\n if (props.theme && Object.keys(props.theme).length > 0) {\n applyTheme(props.theme);\n }\n }, [props.theme]);\n\n const value = useMemo(() => {\n return { theme: props.theme };\n }, [props.theme]);\n\n return (\n <ThemeContext.Provider value={value}>\n {props.children}\n </ThemeContext.Provider>\n );\n}\n","export const ENVIRONMENTS = {\n partners: 'https://gateway.partners.remote-sandbox.com',\n production: 'https://gateway.remote.com',\n sandbox: 'https://gateway.remote-sandbox.com',\n staging: 'https://gateway.niceremote.com',\n};\n","import { client } from '@/src/client/client.gen';\nimport { ENVIRONMENTS } from '@/src/environments';\nimport { createClient } from '@hey-api/client-fetch';\nimport { useQuery } from '@tanstack/react-query';\nimport { useRef } from 'react';\nimport { RemoteFlowsSDKProps } from './types/remoteFlows';\n\ntype AuthResponse = {\n accessToken: string;\n expiresIn: number;\n};\n\ntype Options = Partial<{\n environment: keyof typeof ENVIRONMENTS;\n proxy: RemoteFlowsSDKProps['proxy'];\n}>;\n\nfunction isValidUrl(url: string) {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport const useAuth = ({\n auth,\n options,\n}: {\n auth: () => Promise<AuthResponse>;\n options?: Options;\n}) => {\n const session = useRef<{ accessToken: string; expiresAt: number } | null>(\n null,\n );\n const { refetch } = useQuery({\n queryKey: ['auth'],\n queryFn: auth,\n enabled: false,\n });\n\n const baseUrl = options?.environment\n ? ENVIRONMENTS[options?.environment]\n : process.env.REMOTE_GATEWAY_URL;\n\n const clientConfig = client.getConfig();\n const npmPackageVersion = process.env.VERSION;\n const isValidProxy = !!options?.proxy && isValidUrl(options.proxy.url);\n\n if (options?.proxy && !isValidProxy) {\n console.error('Invalid proxy URL provided. Using default base URL.');\n }\n\n return useRef(\n createClient({\n ...clientConfig,\n headers: {\n ...clientConfig.headers,\n ...(isValidProxy ? options?.proxy?.headers : {}),\n 'X-Client-Name': 'remote-flows-sdk',\n 'X-Client-Version': npmPackageVersion,\n },\n baseUrl: isValidProxy ? options.proxy?.url : baseUrl,\n auth: async () => {\n function hasTokenExpired(expiresAt: number | undefined) {\n return !expiresAt || Date.now() + 60000 > expiresAt;\n }\n if (!session.current || hasTokenExpired(session.current.expiresAt)) {\n const { data } = await refetch();\n if (data) {\n session.current = {\n accessToken: data.accessToken,\n expiresAt: Date.now() + data.expiresIn * 1000,\n };\n }\n }\n return session.current?.accessToken;\n },\n }),\n );\n};\n"],"mappings":"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","names":["QueryClient","QueryClientProvider","setCssProperties","variables","root","v","propertyVal","__name","mapThemeColors","colors","result","key","mapThemeSpacing","spacing","mapThemeBorderRadius","borderRadius","mapThemeFont","font","applyTheme","theme","createContext","useEffect","useMemo","jsx","ThemeContext","createContext","ThemeProvider","props","useEffect","applyTheme","value","useMemo","__name","ENVIRONMENTS","createClient","useQuery","useRef","isValidUrl","url","__name","useAuth","auth","options","session","useRef","refetch","useQuery","baseUrl","ENVIRONMENTS","clientConfig","client","npmPackageVersion","isValidProxy","createClient","hasTokenExpired","expiresAt","data","jsx","queryClient","QueryClient","RemoteFlowContextWrapper","children","auth","proxy","environment","remoteApiClient","useAuth","RemoteFlowContext","__name","FormFieldsProvider","components","FormFieldsContext","RemoteFlows","theme","QueryClientProvider","ThemeProvider"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remoteoss/remote-flows",
3
- "version": "0.4.0-alpha.13",
3
+ "version": "0.4.0-alpha.15",
4
4
  "scripts": {
5
5
  "build": "NODE_ENV=production tsup",
6
6
  "ci": "npm run build && npm run check-format && npm run check-exports && npm run lint && npm run test",
@@ -1,2 +0,0 @@
1
- import{a as o}from"./chunk-P37U34EQ.js";var c={select_country:{index:0,name:"select_country"},basic_information:{index:1,name:"basic_information"},contract_details:{index:2,name:"contract_details"},benefits:{index:3,name:"benefits"},review:{index:4,name:"review"}},d={basic_information:{index:0,name:"basic_information"},contract_details:{index:1,name:"contract_details"},benefits:{index:2,name:"benefits"},review:{index:3,name:"review"}};function l(s,a){return a?Object.fromEntries(Object.entries(s).map(([t,r])=>{if(r===void 0)return[t,void 0];let e=a.find(n=>n.name===t);if(e?.isVisible===!1||e?.deprecated)return[t,void 0];if(e?.type==="radio"||e?.type==="select"){let n=e.options.find(i=>i.value===r);return n?[t,{prettyValue:n?.label,label:e?.label}]:void 0}if(e?.type==="checkbox"&&e?.const)return[t,{prettyValue:!0,label:e.label}];if(e?.type==="countries"&&Array.isArray(r))return[t,{prettyValue:r.join(),label:e.label}];if(e?.type==="fieldset"){let n=l(r,e.fields);if(!n.label&&n.value){let i={...n.value,label:e.label};return[t,i]}return[t,n]}if(e)return[t,{prettyValue:r,label:e.label}]}).filter(Boolean)):{}}o(l,"prettifyFormValues");var p=["invited","created_awaiting_reserve","created_reserve_paid"];export{c as a,d as b,l as c,p as d};
2
- //# sourceMappingURL=chunk-7JHIPWS7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/utils.ts"],"sourcesContent":["import { Employment } from '@/src/flows/Onboarding/types';\nimport { Step } from '@/src/flows/useStepState';\nimport { Fields } from '@remoteoss/json-schema-form';\n\ntype StepKeys =\n | 'select_country'\n | 'basic_information'\n | 'contract_details'\n | 'benefits'\n | 'review';\n\nexport const STEPS: Record<StepKeys, Step<StepKeys>> = {\n select_country: {\n index: 0,\n name: 'select_country',\n },\n basic_information: { index: 1, name: 'basic_information' },\n contract_details: { index: 2, name: 'contract_details' },\n benefits: { index: 3, name: 'benefits' },\n review: { index: 4, name: 'review' },\n} as const;\n\nexport const STEPS_WITHOUT_SELECT_COUNTRY: Record<\n Exclude<StepKeys, 'select_country'>,\n Step<Exclude<StepKeys, 'select_country'>>\n> = {\n basic_information: { index: 0, name: 'basic_information' },\n contract_details: { index: 1, name: 'contract_details' },\n benefits: { index: 2, name: 'benefits' },\n review: { index: 3, name: 'review' },\n} as const;\n\n/**\n * Function to prettify form values. Returns a pretty value and label for each field.\n * @param values - Form values to prettify\n * @param fields - Form fields\n * @returns Prettified form values\n */\n// @ts-expect-error need to check function return type\nexport function prettifyFormValues(\n values: Record<string, unknown>,\n fields: Fields | undefined,\n) {\n if (!fields) {\n return {};\n }\n return Object.fromEntries(\n Object.entries(values)\n // @ts-expect-error need to check function return type\n .map(([key, value]) => {\n if (value === undefined) {\n return [key, undefined];\n }\n\n const field = fields.find((field) => field.name === key);\n\n if (field?.isVisible === false || field?.deprecated) {\n return [key, undefined];\n }\n\n if (field?.type === 'radio' || field?.type === 'select') {\n const option = (\n field.options as Array<{ value: string; label: string }>\n ).find((option) => option.value === value);\n\n if (option) {\n return [key, { prettyValue: option?.label, label: field?.label }];\n }\n return;\n }\n\n if (field?.type === 'checkbox' && field?.const) {\n return [key, { prettyValue: true, label: field.label }];\n }\n\n if (field?.type === 'countries' && Array.isArray(value)) {\n return [key, { prettyValue: value.join(), label: field.label }];\n }\n\n if (field?.type === 'fieldset') {\n // @ts-expect-error need to check function return type\n const prettiedFieldset = prettifyFormValues(\n value as Record<string, unknown>,\n field.fields as Fields,\n );\n\n // Handles benefits fieldset in specific\n if (!prettiedFieldset.label && prettiedFieldset.value) {\n const prettyValue: Record<string, unknown> = {\n ...prettiedFieldset.value,\n label: field.label,\n };\n return [key, prettyValue];\n }\n\n return [key, prettiedFieldset];\n }\n\n if (field) {\n return [key, { prettyValue: value, label: field.label }];\n }\n })\n .filter(Boolean),\n );\n}\n\n/**\n * Array of employment statuses that are allowed to proceed to the review step.\n * These statuses indicate that the employment is in a final state and the employment cannot be modified further.\n * @type {Employment['status'][]}\n * @constant\n */\nexport const reviewStepAllowedEmploymentStatus: Employment['status'][] = [\n 'invited',\n 'created_awaiting_reserve',\n 'created_reserve_paid',\n];\n"],"mappings":"wCAWO,IAAMA,EAA0C,CACrD,eAAgB,CACd,MAAO,EACP,KAAM,gBACR,EACA,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,EACzD,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,SAAU,CAAE,MAAO,EAAG,KAAM,UAAW,EACvC,OAAQ,CAAE,MAAO,EAAG,KAAM,QAAS,CACrC,EAEaC,EAGT,CACF,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,EACzD,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,SAAU,CAAE,MAAO,EAAG,KAAM,UAAW,EACvC,OAAQ,CAAE,MAAO,EAAG,KAAM,QAAS,CACrC,EASO,SAASC,EACdC,EACAC,EACA,CACA,OAAKA,EAGE,OAAO,YACZ,OAAO,QAAQD,CAAM,EAElB,IAAI,CAAC,CAACE,EAAKC,CAAK,IAAM,CACrB,GAAIA,IAAU,OACZ,MAAO,CAACD,EAAK,MAAS,EAGxB,IAAME,EAAQH,EAAO,KAAMG,GAAUA,EAAM,OAASF,CAAG,EAEvD,GAAIE,GAAO,YAAc,IAASA,GAAO,WACvC,MAAO,CAACF,EAAK,MAAS,EAGxB,GAAIE,GAAO,OAAS,SAAWA,GAAO,OAAS,SAAU,CACvD,IAAMC,EACJD,EAAM,QACN,KAAMC,GAAWA,EAAO,QAAUF,CAAK,EAEzC,OAAIE,EACK,CAACH,EAAK,CAAE,YAAaG,GAAQ,MAAO,MAAOD,GAAO,KAAM,CAAC,EAElE,MACF,CAEA,GAAIA,GAAO,OAAS,YAAcA,GAAO,MACvC,MAAO,CAACF,EAAK,CAAE,YAAa,GAAM,MAAOE,EAAM,KAAM,CAAC,EAGxD,GAAIA,GAAO,OAAS,aAAe,MAAM,QAAQD,CAAK,EACpD,MAAO,CAACD,EAAK,CAAE,YAAaC,EAAM,KAAK,EAAG,MAAOC,EAAM,KAAM,CAAC,EAGhE,GAAIA,GAAO,OAAS,WAAY,CAE9B,IAAME,EAAmBP,EACvBI,EACAC,EAAM,MACR,EAGA,GAAI,CAACE,EAAiB,OAASA,EAAiB,MAAO,CACrD,IAAMC,EAAuC,CAC3C,GAAGD,EAAiB,MACpB,MAAOF,EAAM,KACf,EACA,MAAO,CAACF,EAAKK,CAAW,CAC1B,CAEA,MAAO,CAACL,EAAKI,CAAgB,CAC/B,CAEA,GAAIF,EACF,MAAO,CAACF,EAAK,CAAE,YAAaC,EAAO,MAAOC,EAAM,KAAM,CAAC,CAE3D,CAAC,EACA,OAAO,OAAO,CACnB,EA3DS,CAAC,CA4DZ,CAjEgBI,EAAAT,EAAA,sBAyET,IAAMU,EAA4D,CACvE,UACA,2BACA,sBACF","names":["STEPS","STEPS_WITHOUT_SELECT_COUNTRY","prettifyFormValues","values","fields","key","value","field","option","prettiedFieldset","prettyValue","__name","reviewStepAllowedEmploymentStatus"]}
@@ -1,2 +0,0 @@
1
- import{a as ce,b as le,c as p,d as me}from"./chunk-7JHIPWS7.js";import{a as Fe}from"./chunk-RDAO365M.js";import{a as de,b as fe,c as ue,f as ye,g as pe,h as _e,i as Se,j as be,l as ge}from"./chunk-AN7L3GVL.js";import{a as k}from"./chunk-WRKHWEZA.js";import{a as re}from"./chunk-PJBAQZ6G.js";import{c as y,d as T}from"./chunk-MH6KKP6K.js";import{a as r}from"./chunk-P37U34EQ.js";import{useEffect as He,useMemo as l,useRef as xe,useState as Ee}from"react";import Ge from"lodash.mergewith";import{jsx as ze}from"react/jsx-runtime";var We={employment_basic_information:"basic_information",contract_details:"contract_details"},Ke={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},Ye=r(({isLoadingBasicInformationForm:m,isLoadingContractDetailsForm:w,isLoadingEmployment:R,isLoadingBenefitsOffersSchema:v,isLoadingBenefitOffers:i,isLoadingCompany:N,isLoadingCountries:_,employmentStatus:a,employmentId:j,currentStepName:s,basicInformationFields:P,contractDetailsFields:c})=>{let S=m||w||R||v||i||N||_,B=a&&me.includes(a),b=!!(j&&B&&s!=="review"),M=S||b,g=!!(b&&!S&&P.length>0&&c.length>0);return{isLoading:M,isNavigatingToReview:g,isEmploymentReadOnly:B}},"getLoadingStates"),it=r(({employmentId:m,companyId:w,countryCode:R,type:v,options:i,skipSteps:N})=>{let _=xe({}),[a,j]=Ee(m),[s,P]=Ee(R||null),{data:c,isLoading:S,refetch:B}=de(a);c?.country?.code&&s!==c.country.code&&P(c.country.code);let{data:b,isLoading:M}=ue(a),{data:g,isLoading:q,refetch:A}=fe(w),he=N?.includes("select_country")?le:ce,{fieldValues:F,stepState:e,setFieldValues:Oe,previousStep:Ve,nextStep:Ce,goToStep:J,setStepValues:U}=re(he),{selectCountryForm:I,isLoading:H}=ge({jsfModify:i?.jsfModify?.select_country,jsonSchemaVersion:i?.jsonSchemaVersion,queryOptions:{enabled:e.currentStep.name==="select_country"}}),x=_e(i),G=Se(i),W=be(i),{mutateAsync:Le}=k(x),{mutateAsync:K}=k(G),{mutateAsync:Te}=k(W),Pe=Ke[e.currentStep.name]||"employment_basic_information",Be=We[Pe],Me=c?.[Be]||{},Y=r(({form:n,options:o={}})=>ye({countryCode:s,form:n,fieldValues:Object.keys(F).length>0?{...e.values?.[e.currentStep.name],...F}:Me,options:{...o,queryOptions:{enabled:o.queryOptions?.enabled??!0}}}),"useJSONSchema"),Ie=!!(s&&(e.currentStep.name==="basic_information"||m)),ke=!!(s&&(e.currentStep.name==="contract_details"||m)),{data:d,isLoading:z}=Y({form:"employment_basic_information",options:{jsfModify:i?.jsfModify?.basic_information,queryOptions:{enabled:Ie}}}),u=i?.jsfModify?.contract_details?.fields?.annual_gross_salary,D=u&&typeof u=="object"&&"presentation"in u?u.presentation:void 0,we=l(()=>({fields:{annual_gross_salary:{...u,presentation:{annual_gross_salary_conversion_properties:{label:D?.annual_gross_salary_conversion_properties?.label,description:D?.annual_gross_salary_conversion_properties?.description},Component:r(n=>ze(Fe,{desiredCurrency:g?.desired_currency||"",...n}),"Component")}}}}),[g?.desired_currency,D,u]),{data:f,isLoading:Q}=Y({form:"contract_details",options:{jsfModify:{...i?.jsfModify?.contract_details,fields:{...i?.jsfModify?.contract_details?.fields,...we.fields}},queryOptions:{enabled:ke}}}),{data:E,isLoading:X}=pe(a,F,i),Z=l(()=>{if(e.currentStep.name==="benefits"){let n={...e.values?.[e.currentStep.name],...F};return Ge({},b,n)}return{}},[e.currentStep.name,b,e.values,F]),t=l(()=>({select_country:I?.fields||[],basic_information:d?.fields||[],contract_details:f?.fields||[],benefits:E?.fields||[],review:[]}),[I?.fields,d?.fields,f?.fields,E?.fields]),{country:{code:$}={},basic_information:ee={},contract_details:te={},status:ne}=c||{},oe=e.currentStep.name,h=l(()=>T(t.select_country,{country:s||$||""}),[t.select_country,s,$]),O=l(()=>T(t.basic_information,ee||{}),[t.basic_information,ee]),V=l(()=>T(t.contract_details,te||{}),[t.contract_details,te]),C=l(()=>T(t.benefits,Z),[t.benefits,Z]),Re=l(()=>({select_country:h,basic_information:O,contract_details:V,benefits:C}),[h,O,V,C]),{isLoading:ve,isNavigatingToReview:ae,isEmploymentReadOnly:Ne}=l(()=>Ye({isLoadingBasicInformationForm:z,isLoadingContractDetailsForm:Q,isLoadingEmployment:S,isLoadingBenefitsOffersSchema:X,isLoadingBenefitOffers:M,isLoadingCompany:q,isLoadingCountries:H,employmentId:m,employmentStatus:ne,basicInformationFields:t.basic_information,contractDetailsFields:t.contract_details,currentStepName:oe}),[z,Q,S,X,M,q,H,m,ne,t.basic_information,t.contract_details,oe]);He(()=>{ae&&(_.current={select_country:p(h,t.select_country),basic_information:p(O,t.basic_information),contract_details:p(V,t.contract_details),benefits:p(C,t.benefits)},U({select_country:h,basic_information:O,contract_details:V,benefits:C,review:{}}),J("review"))},[O,C,V,J,ae,h,U,t.basic_information,t.benefits,t.contract_details,t.select_country]);let ie=r(n=>I&&e.currentStep.name==="select_country"?n:d&&e.currentStep.name==="basic_information"?y(n,d?.fields,{isPartialValidation:!0}):f&&e.currentStep.name==="contract_details"?y(n,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");async function je(n){_.current[e.currentStep.name]=p(n,t[e.currentStep.name]);let o=ie(n);switch(A(),e.currentStep.name){case"select_country":return P(o.country),Promise.resolve({data:{countryCode:o.country}});case"basic_information":{let se=!a&&s,Ae=a&&s&&c?.country&&c?.country.code!==s;if(se||Ae){let Ue={basic_information:o,type:v,country_code:s};try{let L=await Le(Ue);return await A(),j(L.data?.data?.employment?.id),L}catch(L){throw console.error("Error creating onboarding:",L),L}}else if(a)return K({employmentId:a,basic_information:o,pricing_plan_details:{frequency:"monthly"}});return}case"contract_details":return K({employmentId:a,...{contract_details:o,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Te({employmentId:a,...n})}}r(je,"onSubmit");function Je(){Ve()}r(Je,"back");function De(){Ce()}r(De,"next");function qe(n){J(n)}return r(qe,"goTo"),{employmentId:a,creditRiskStatus:g?.default_legal_entity_credit_risk_status,stepState:e,fields:t[e.currentStep.name],isLoading:ve,isSubmitting:x.isPending||G.isPending||W.isPending,initialValues:Re,handleValidation:r(n=>{if(e.currentStep.name==="select_country")return I.handleValidation(n);if(e.currentStep.name==="benefits"&&E){let o=y(n,E?.fields);return E?.handleValidation(o)}if(d&&e.currentStep.name==="basic_information"){let o=y(n,d?.fields);return d?.handleValidation(o)}if(f&&e.currentStep.name==="contract_details"){let o=y(n,f?.fields);return f?.handleValidation(o)}return null},"handleValidation"),checkFieldUpdates:Oe,parseFormValues:ie,onSubmit:je,back:Je,next:De,goTo:qe,meta:{fields:_.current},refetchEmployment:B,employment:c,isEmploymentReadOnly:Ne}},"useOnboarding");export{it as a};
2
- //# sourceMappingURL=chunk-7N7ND6Z4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/hooks.tsx"],"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 reviewStepAllowedEmploymentStatus,\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 { useEffect, useMemo, 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 { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/AnnualGrossSalary';\nimport { JSFField } from '@/src/types/remoteFlows';\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\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: Fields;\n contractDetailsFields: Fields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return { isLoading, isNavigatingToReview, isEmploymentReadOnly };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\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 {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmployment(internalEmploymentId);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (\n employment?.country?.code &&\n internalCountryCode !== employment.country.code\n ) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(options);\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\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?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n }) => {\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\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: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const customFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n Component: (props: JSFField & { currency: string }) => (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n ),\n },\n },\n },\n }),\n [\n company?.desired_currency,\n annualSalaryFieldPresentation,\n annualGrossSalaryField,\n ],\n );\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...customFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\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 initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<keyof typeof STEPS, Fields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n ],\n );\n\n const {\n country: { code: employmentCountryCode } = {},\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(\n () =>\n getInitialValues(\n stepFields.basic_information,\n employmentBasicInformation || {},\n ),\n [stepFields.basic_information, employmentBasicInformation],\n );\n\n const contractDetailsInitialValues = useMemo(\n () =>\n getInitialValues(\n stepFields.contract_details,\n employmentContractDetails || {},\n ),\n [stepFields.contract_details, employmentContractDetails],\n );\n\n const benefitsInitialValues = useMemo(\n () => getInitialValues(stepFields.benefits, initialValuesBenefitOffers),\n [stepFields.benefits, initialValuesBenefitOffers],\n );\n\n const initialValues = useMemo(\n () => ({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n }),\n [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n ],\n );\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly } = useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: true,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: true,\n });\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 refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n await refetchCompany();\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 pricing_plan_details: {\n frequency: 'monthly',\n },\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 /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending,\n /**\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 (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n };\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","mergeWith","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","refetchEmployment","useEmployment","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","annualGrossSalaryField","annualSalaryFieldPresentation","customFields","useMemo","props","AnnualGrossSalary","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","employmentCountryCode","employmentBasicInformation","employmentContractDetails","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","contractDetailsInitialValues","benefitsInitialValues","initialValues","useEffect","prettifyFormValues","parseFormValues","values","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo","step"]}
@@ -1,2 +0,0 @@
1
- import{b as p}from"./chunk-3ZWDIEEM.js";import{b as c,c as F,d as f,e as x,f as _,g}from"./chunk-VNSF5IOL.js";import{a as u}from"./chunk-KPHSEIR3.js";import{a as i}from"./chunk-P37U34EQ.js";import{useFormContext as y}from"react-hook-form";import{jsx as I}from"react/jsx-runtime";function b({className:o,type:r,...t}){return I("input",{type:r,"data-slot":"input",className:u("shadow-xs border-input file:text-foreground placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-xl border bg-transparent px-4 py-7 text-sm transition-[color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-focused","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",o),...t})}i(b,"Input");import{jsx as e,jsxs as N}from"react/jsx-runtime";function H({name:o,description:r,label:t,type:C,onChange:s,component:v,includeErrorMessage:T=!0,...R}){let{components:h}=p(),{control:w}=y();return e(c,{control:w,name:o,render:({field:n,fieldState:a})=>{let m=v||h?.text;if(m){let l={name:o,description:r,label:t,type:C,onChange:s,...R};return e(m,{field:{...n,onChange:i(d=>{n.onChange(d),s?.(d)},"onChange")},fieldState:a,fieldData:l})}return N(F,{"data-field":o,className:`RemoteFlows__TextField__Item__${o}`,children:[t&&e(f,{className:"RemoteFlows__TextField__Label",children:t}),e(x,{children:e(b,{...n,value:n.value??"",onChange:l=>{n.onChange(l),s?.(l)},className:"RemoteFlows__TextField__Input",placeholder:t})}),r&&e(_,{className:"RemoteFlows__TextField__Description",children:r}),T&&a.error&&e(g,{className:"RemoteFlows__TextField__Error"})]})}})}i(H,"TextField");export{H as a};
2
- //# sourceMappingURL=chunk-GFMFGU7A.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/fields/TextField.tsx","../src/components/ui/input.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport {\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from '../../ui/form';\nimport { Input } from '../../ui/input';\n\nexport type TextFieldProps = React.ComponentProps<'input'> & {\n name: string;\n} & Partial<\n JSFField & {\n onChange?: (value: any) => void;\n component?: Components['text'];\n includeErrorMessage?: boolean;\n }\n >;\n\nexport function TextField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n includeErrorMessage = true,\n ...rest\n}: TextFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const CustomTextField = component || components?.text;\n if (CustomTextField) {\n const customTextFieldProps = {\n name,\n description,\n label,\n type,\n onChange,\n ...rest,\n };\n return (\n <CustomTextField\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextFieldProps}\n />\n );\n }\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__TextField__Item__${name}`}\n >\n {label && (\n <FormLabel className=\"RemoteFlows__TextField__Label\">\n {label}\n </FormLabel>\n )}\n <FormControl>\n <Input\n {...field}\n value={field.value ?? ''}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n field.onChange(event);\n onChange?.(event);\n }}\n className=\"RemoteFlows__TextField__Input\"\n placeholder={label}\n />\n </FormControl>\n {description && (\n <FormDescription className=\"RemoteFlows__TextField__Description\">\n {description}\n </FormDescription>\n )}\n {includeErrorMessage && fieldState.error && (\n <FormMessage className=\"RemoteFlows__TextField__Error\" />\n )}\n </FormItem>\n );\n }}\n />\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'shadow-xs border-input file:text-foreground placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-xl border bg-transparent px-4 py-7 text-sm transition-[color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-focused',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":"8LAKA,OAAS,kBAAAA,MAAsB,kBCC3B,cAAAC,MAAA,oBAFJ,SAASC,EAAM,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAM,EAAkC,CAC3E,OACEJ,EAAC,SACC,KAAMG,EACN,YAAU,QACV,UAAWE,EACT,6WACA,+BACA,yGACAH,CACF,EACC,GAAGE,EACN,CAEJ,CAdSE,EAAAL,EAAA,SDmDG,cAAAM,EAeF,QAAAC,MAfE,oBA7BL,SAASC,EAAU,CACxB,KAAAC,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,oBAAAC,EAAsB,GACtB,GAAGC,CACL,EAAmB,CACjB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAEnC,OACEd,EAACe,EAAA,CACC,QAASF,EACT,KAAMV,EACN,OAAQ,CAAC,CAAE,MAAAa,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAkBV,GAAaG,GAAY,KACjD,GAAIO,EAAiB,CACnB,IAAMC,EAAuB,CAC3B,KAAAhB,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,GAAGG,CACL,EACA,OACEV,EAACkB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAe,CACxBL,EAAM,SAASK,CAAK,EACpBd,IAAWc,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,CAEA,OACElB,EAACqB,EAAA,CACC,aAAYnB,EACZ,UAAW,iCAAiCA,CAAI,GAE/C,UAAAE,GACCL,EAACuB,EAAA,CAAU,UAAU,gCAClB,SAAAlB,EACH,EAEFL,EAACwB,EAAA,CACC,SAAAxB,EAACyB,EAAA,CACE,GAAGT,EACJ,MAAOA,EAAM,OAAS,GACtB,SAAWU,GAA+C,CACxDV,EAAM,SAASU,CAAK,EACpBnB,IAAWmB,CAAK,CAClB,EACA,UAAU,gCACV,YAAarB,EACf,EACF,EACCD,GACCJ,EAAC2B,EAAA,CAAgB,UAAU,sCACxB,SAAAvB,EACH,EAEDK,GAAuBQ,EAAW,OACjCjB,EAAC4B,EAAA,CAAY,UAAU,gCAAgC,GAE3D,CAEJ,EACF,CAEJ,CA9EgBR,EAAAlB,EAAA","names":["useFormContext","jsx","Input","className","type","props","cn","__name","jsx","jsxs","TextField","name","description","label","type","onChange","component","includeErrorMessage","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","CustomTextField","customTextFieldProps","__name","value","FormItem","FormLabel","FormControl","Input","event","FormDescription","FormMessage"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/mutations.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { UseMutationResult } from '@tanstack/react-query';\n\ntype MutationData<T> =\n T extends UseMutationResult<infer R, any, any, any> ? R : never;\ntype MutationVariables<T> =\n T extends UseMutationResult<any, any, infer V, any> ? V : never;\ntype MutationError<T> =\n T extends UseMutationResult<any, infer E, any, any> ? E : never;\n\nexport interface SuccessResponse<D> {\n data: D;\n error: null;\n}\n\nexport interface FieldError {\n field: string;\n messages: string[];\n}\n\nexport interface ErrorResponse<E> {\n data: null;\n error: E;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n}\n\ntype PromiseResult<D, E> = SuccessResponse<D> | ErrorResponse<E>;\n\n/**\n * Extracts field errors from error response into a structured format\n * @param error - The error response object\n * @returns Array of field errors with field name and messages\n */\nexport function extractFieldErrors(error: any): FieldError[] {\n if (!error || !error.errors || typeof error.errors !== 'object') return [];\n\n const fieldErrors: FieldError[] = [];\n\n Object.entries(error.errors).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n fieldErrors.push({\n field: key,\n messages: value.map((msg: any) => String(msg)),\n });\n return;\n }\n if (value && typeof value === 'object') {\n Object.entries(value).forEach(([nestedKey, nestedValue]) => {\n if (Array.isArray(nestedValue)) {\n fieldErrors.push({\n field: nestedKey,\n messages: nestedValue.map((msg: any) => String(msg)),\n });\n }\n });\n }\n });\n return fieldErrors;\n}\n/**\n * Converts a mutation to a promise-based API. We avoid using the\n * `mutateAsync` method from react-query for 2 reasons:\n * 1. We lose the isPending state of the mutation\n * 2. We want to return the data and error in a consistent way\n * (either data or error is null)\n * @param mutation\n * @returns\n */\nexport function mutationToPromise<\n T extends UseMutationResult<any, any, any, any>,\n>(mutation: T) {\n type Data = MutationData<T>;\n type Variables = MutationVariables<T>;\n type Error = MutationError<T>;\n\n return {\n mutateAsync: (values: Variables): Promise<PromiseResult<Data, Error>> => {\n return new Promise((resolve, reject) => {\n mutation.mutate(values, {\n onSuccess: (response) => {\n if (response.data) {\n resolve({\n data: response.data as Data,\n error: null,\n });\n } else {\n const fieldErrors = extractFieldErrors(response.error);\n resolve({\n data: null,\n error: response.error?.message\n ? (new Error(response.error.message) as unknown as Error)\n : (new Error(\n 'Something went wrong. Please try again later.',\n ) as unknown as Error),\n rawError: response.error,\n fieldErrors,\n });\n }\n },\n onError: (error) => {\n const fieldErrors = extractFieldErrors(error);\n reject({\n data: null,\n error: error as Error,\n rawError: error,\n fieldErrors,\n });\n },\n });\n });\n },\n };\n}\n\n/**\n * Enhanced FieldError interface with user-friendly labels\n */\nexport interface NormalizedFieldError extends FieldError {\n userFriendlyLabel: string;\n}\n\n/**\n * Utility function to normalize field errors using field metadata\n * @param fieldErrors - Array of field errors from API response\n * @param meta - Field metadata containing field names and labels\n * @returns Normalized field errors with user-friendly labels\n */\nexport function normalizeFieldErrors(\n fieldErrors: FieldError[],\n meta?: Record<string, { label?: string; prettyValue?: string | boolean }>,\n): NormalizedFieldError[] {\n if (!fieldErrors || fieldErrors.length === 0) {\n return [];\n }\n\n return fieldErrors.map((fieldError) => {\n const fieldMeta = meta?.[fieldError.field];\n const userFriendlyLabel = fieldMeta?.label || fieldError.field;\n\n return {\n ...fieldError,\n userFriendlyLabel,\n // Keep the original field name for form integration\n field: fieldError.field,\n messages: fieldError.messages,\n };\n });\n}\n"],"mappings":"wCAkCO,SAASA,EAAmBC,EAA0B,CAC3D,GAAI,CAACA,GAAS,CAACA,EAAM,QAAU,OAAOA,EAAM,QAAW,SAAU,MAAO,CAAC,EAEzE,IAAMC,EAA4B,CAAC,EAEnC,cAAO,QAAQD,EAAM,MAAM,EAAE,QAAQ,CAAC,CAACE,EAAKC,CAAK,IAAM,CACrD,GAAI,MAAM,QAAQA,CAAK,EAAG,CACxBF,EAAY,KAAK,CACf,MAAOC,EACP,SAAUC,EAAM,IAAKC,GAAa,OAAOA,CAAG,CAAC,CAC/C,CAAC,EACD,MACF,CACID,GAAS,OAAOA,GAAU,UAC5B,OAAO,QAAQA,CAAK,EAAE,QAAQ,CAAC,CAACE,EAAWC,CAAW,IAAM,CACtD,MAAM,QAAQA,CAAW,GAC3BL,EAAY,KAAK,CACf,MAAOI,EACP,SAAUC,EAAY,IAAKF,GAAa,OAAOA,CAAG,CAAC,CACrD,CAAC,CAEL,CAAC,CAEL,CAAC,EACMH,CACT,CAzBgBM,EAAAR,EAAA,sBAmCT,SAASS,EAEdC,EAAa,CAKb,MAAO,CACL,YAAaF,EAACG,GACL,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCH,EAAS,OAAOC,EAAQ,CACtB,UAAWH,EAACM,GAAa,CACvB,GAAIA,EAAS,KACXF,EAAQ,CACN,KAAME,EAAS,KACf,MAAO,IACT,CAAC,MACI,CACL,IAAMZ,EAAcF,EAAmBc,EAAS,KAAK,EACrDF,EAAQ,CACN,KAAM,KACN,MAAOE,EAAS,OAAO,QAClB,IAAI,MAAMA,EAAS,MAAM,OAAO,EAChC,IAAI,MACH,+CACF,EACJ,SAAUA,EAAS,MACnB,YAAAZ,CACF,CAAC,CACH,CACF,EAnBW,aAoBX,QAASM,EAACP,GAAU,CAClB,IAAMC,EAAcF,EAAmBC,CAAK,EAC5CY,EAAO,CACL,KAAM,KACN,MAAOZ,EACP,SAAUA,EACV,YAAAC,CACF,CAAC,CACH,EARS,UASX,CAAC,CACH,CAAC,EAjCU,cAmCf,CACF,CA5CgBM,EAAAC,EAAA,qBA2DT,SAASM,EACdb,EACAc,EACwB,CACxB,MAAI,CAACd,GAAeA,EAAY,SAAW,EAClC,CAAC,EAGHA,EAAY,IAAKe,GAAe,CAErC,IAAMC,EADYF,IAAOC,EAAW,KAAK,GACJ,OAASA,EAAW,MAEzD,MAAO,CACL,GAAGA,EACH,kBAAAC,EAEA,MAAOD,EAAW,MAClB,SAAUA,EAAW,QACvB,CACF,CAAC,CACH,CApBgBT,EAAAO,EAAA","names":["extractFieldErrors","error","fieldErrors","key","value","msg","nestedKey","nestedValue","__name","mutationToPromise","mutation","values","resolve","reject","response","normalizeFieldErrors","meta","fieldError","userFriendlyLabel"]}
@@ -1,2 +0,0 @@
1
- import{a as p}from"./chunk-BYFO5OB6.js";import{a as i}from"./chunk-C3HJSV4T.js";import{a as f}from"./chunk-GPAE53HO.js";import{a as c}from"./chunk-ASFAGLQI.js";import{a as t}from"./chunk-7N7ND6Z4.js";import{a as r}from"./chunk-D53FKWGJ.js";import{a as m}from"./chunk-X6DRD2I4.js";import{a as s}from"./chunk-AOJAZ4FT.js";import{a}from"./chunk-VN4HDCRB.js";import{a as n}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{useId as I,useState as w}from"react";import{jsx as C}from"react/jsx-runtime";var E=e(({employmentId:d,companyId:S,countryCode:b,type:g="employee",skipSteps:u,render:l,options:B})=>{let O=I(),o=t({companyId:S,countryCode:b,employmentId:d,type:g,options:B,skipSteps:u}),[v,y]=w({showReserveInvoice:!1,showInviteSuccessful:!1});return C(n.Provider,{value:{formId:O,onboardingBag:o,creditScore:v,setCreditScore:y},children:l({onboardingBag:o,components:{BasicInformationStep:r,ContractDetailsStep:s,BenefitsStep:m,SubmitButton:i,BackButton:a,OnboardingInvite:p,SelectCountryStep:c,ReviewStep:f}})})},"OnboardingFlow");export{E as a};
2
- //# sourceMappingURL=chunk-XQXFQ7LM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/OnboardingFlow.tsx"],"sourcesContent":["import React, { useId, useState } from 'react';\nimport { useOnboarding } from '@/src/flows/Onboarding/hooks';\nimport { BasicInformationStep } from '@/src/flows/Onboarding/BasicInformationStep';\nimport { OnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingSubmit } from '@/src/flows/Onboarding/OnboardingSubmit';\nimport { OnboardingBack } from '@/src/flows/Onboarding/OnboardingBack';\nimport { OnboardingFlowParams } from '@/src/flows/Onboarding/types';\nimport { OnboardingInvite } from '@/src/flows/Onboarding/OnboardingInvite';\nimport { ContractDetailsStep } from '@/src/flows/Onboarding/ContractDetailsStep';\nimport { BenefitsStep } from '@/src/flows/Onboarding/BenefitsStep';\nimport { SelectCountryStep } from '@/src/flows/Onboarding/SelectCountryStep';\nimport { ReviewStep } from '@/src/flows/Onboarding/ReviewStep';\n\nexport type OnboardingRenderProps = {\n /**\n * The onboarding bag returned by the useOnboarding hook.\n * This bag contains all the methods and properties needed to handle the onboarding flow.\n * @see {@link useOnboarding}\n */\n onboardingBag: ReturnType<typeof useOnboarding>;\n /**\n * The components used in the onboarding flow.\n * This includes different steps, submit button, back button.\n * @see {@link BasicInformationStep}\n * @see {@link ContractDetailsStep}\n * @see {@link OnboardingSubmit}\n * @see {@link OnboardingBack}\n * @see {@link OnboardingInvite}\n * @see {@link BenefitsStep}\n * @see {@link OnboardingCreateReserve}\n * @see {@link InvitationSection}\n * @see {@link SelectCountryStep}\n * @see {@link ReviewStep}\n */\n components: {\n SubmitButton: typeof OnboardingSubmit;\n BackButton: typeof OnboardingBack;\n BasicInformationStep: typeof BasicInformationStep;\n OnboardingInvite: typeof OnboardingInvite;\n ContractDetailsStep: typeof ContractDetailsStep;\n BenefitsStep: typeof BenefitsStep;\n SelectCountryStep: typeof SelectCountryStep;\n ReviewStep: typeof ReviewStep;\n };\n};\n\ntype OnboardingFlowProps = OnboardingFlowParams & {\n render: ({\n onboardingBag,\n components,\n }: OnboardingRenderProps) => React.ReactNode;\n};\n\nexport const OnboardingFlow = ({\n employmentId,\n companyId,\n countryCode,\n type = 'employee',\n skipSteps,\n render,\n options,\n}: OnboardingFlowProps) => {\n const formId = useId();\n const onboardingBag = useOnboarding({\n companyId,\n countryCode,\n employmentId,\n type,\n options,\n skipSteps,\n });\n\n const [creditScore, setCreditScore] = useState<{\n showReserveInvoice: boolean;\n showInviteSuccessful: boolean;\n }>({\n showReserveInvoice: false,\n showInviteSuccessful: false,\n });\n\n return (\n <OnboardingContext.Provider\n value={{\n formId: formId,\n onboardingBag,\n creditScore,\n setCreditScore: setCreditScore,\n }}\n >\n {render({\n onboardingBag,\n components: {\n BasicInformationStep: BasicInformationStep,\n ContractDetailsStep: ContractDetailsStep,\n BenefitsStep: BenefitsStep,\n SubmitButton: OnboardingSubmit,\n BackButton: OnboardingBack,\n OnboardingInvite: OnboardingInvite,\n SelectCountryStep: SelectCountryStep,\n ReviewStep: ReviewStep,\n },\n })}\n </OnboardingContext.Provider>\n );\n};\n"],"mappings":"mbAAA,OAAgB,SAAAA,EAAO,YAAAC,MAAgB,QAiFnC,cAAAC,MAAA,oBA5BG,IAAMC,EAAiBC,EAAA,CAAC,CAC7B,aAAAC,EACA,UAAAC,EACA,YAAAC,EACA,KAAAC,EAAO,WACP,UAAAC,EACA,OAAAC,EACA,QAAAC,CACF,IAA2B,CACzB,IAAMC,EAASC,EAAM,EACfC,EAAgBC,EAAc,CAClC,UAAAT,EACA,YAAAC,EACA,aAAAF,EACA,KAAAG,EACA,QAAAG,EACA,UAAAF,CACF,CAAC,EAEK,CAACO,EAAaC,CAAc,EAAIC,EAGnC,CACD,mBAAoB,GACpB,qBAAsB,EACxB,CAAC,EAED,OACEhB,EAACiB,EAAkB,SAAlB,CACC,MAAO,CACL,OAAQP,EACR,cAAAE,EACA,YAAAE,EACA,eAAgBC,CAClB,EAEC,SAAAP,EAAO,CACN,cAAAI,EACA,WAAY,CACV,qBAAsBM,EACtB,oBAAqBC,EACrB,aAAcC,EACd,aAAcC,EACd,WAAYC,EACZ,iBAAkBC,EAClB,kBAAmBC,EACnB,WAAYC,CACd,CACF,CAAC,EACH,CAEJ,EAnD8B","names":["useId","useState","jsx","OnboardingFlow","__name","employmentId","companyId","countryCode","type","skipSteps","render","options","formId","useId","onboardingBag","useOnboarding","creditScore","setCreditScore","useState","OnboardingContext","BasicInformationStep","ContractDetailsStep","BenefitsStep","OnboardingSubmit","OnboardingBack","OnboardingInvite","SelectCountryStep","ReviewStep"]}