@remoteoss/remote-flows 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/{chunk-VQM22EFM.js → chunk-25OMQHCO.js} +2 -2
  2. package/dist/chunk-2A5R3YN2.js +2 -0
  3. package/dist/chunk-2A5R3YN2.js.map +1 -0
  4. package/dist/{chunk-LRCSXZ5Y.js → chunk-2E4TPU4E.js} +2 -2
  5. package/dist/{chunk-S2VTL2TR.js → chunk-2EPROBXQ.js} +2 -2
  6. package/dist/{chunk-WBL23WGD.js → chunk-3N2Z72JT.js} +2 -2
  7. package/dist/{chunk-42M5XC23.js → chunk-4CZKKCKQ.js} +2 -2
  8. package/dist/{chunk-HVZOU73K.js → chunk-5IMSGRC3.js} +2 -2
  9. package/dist/{chunk-6O3WKNSB.js → chunk-5LJOLMV4.js} +2 -2
  10. package/dist/chunk-6GMGXSKN.js +2 -0
  11. package/dist/{chunk-3AOOE4V2.js → chunk-6JWQ4PZE.js} +2 -2
  12. package/dist/{chunk-2YGGLGBG.js → chunk-6VWI4FCI.js} +2 -2
  13. package/dist/{chunk-T33QM3L4.js → chunk-7RQYLR2B.js} +2 -2
  14. package/dist/{chunk-5NCRPBBP.js → chunk-CCYHGN4R.js} +2 -2
  15. package/dist/{chunk-YYFIIPLI.js → chunk-DMWRLPWG.js} +2 -2
  16. package/dist/{chunk-VFR5R7GS.js → chunk-J2YJI5VK.js} +2 -2
  17. package/dist/{chunk-B4UHZS6S.js → chunk-KUIJOFEW.js} +2 -2
  18. package/dist/{chunk-DIL47M74.js → chunk-L6CLZL2D.js} +2 -2
  19. package/dist/{chunk-TWLIQ3LY.js → chunk-LXHKMGWZ.js} +2 -2
  20. package/dist/{chunk-4OWFS6J6.js → chunk-MBIQ2ECY.js} +2 -2
  21. package/dist/chunk-MOUO52OS.js +2 -0
  22. package/dist/chunk-MOUO52OS.js.map +1 -0
  23. package/dist/{chunk-Y3HI42AP.js → chunk-OOK2XH5H.js} +2 -2
  24. package/dist/{chunk-GPPJCUV6.js → chunk-QTN4WTLR.js} +2 -2
  25. package/dist/{chunk-YMOTYFSL.js → chunk-RTNT5LSU.js} +2 -2
  26. package/dist/{chunk-S4WAMYEE.js → chunk-S2G7GEGF.js} +2 -2
  27. package/dist/{chunk-T3HJ2JSB.js → chunk-SX5W3CBP.js} +2 -2
  28. package/dist/{chunk-RMFW7BZM.js → chunk-UBIYEKYH.js} +2 -2
  29. package/dist/chunk-UDCOYAXP.js +2 -0
  30. package/dist/chunk-UDCOYAXP.js.map +1 -0
  31. package/dist/{chunk-ZKALTI3E.js → chunk-X5UOBUIX.js} +2 -2
  32. package/dist/chunk-XOOG5SNT.js +2 -0
  33. package/dist/chunk-XOOG5SNT.js.map +1 -0
  34. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  35. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +1 -1
  36. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  37. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  38. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  39. package/dist/flows/ContractAmendment/context.d.ts +1 -1
  40. package/dist/flows/ContractAmendment/hooks.d.ts +1 -1
  41. package/dist/flows/ContractAmendment/hooks.js +1 -1
  42. package/dist/flows/ContractAmendment/index.d.ts +1 -1
  43. package/dist/flows/ContractAmendment/index.js +1 -1
  44. package/dist/flows/ContractAmendment/utils.d.ts +1 -1
  45. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +1 -1
  46. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  47. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +1 -1
  48. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  49. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
  50. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
  51. package/dist/flows/CostCalculator/api.d.ts +1 -1
  52. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  53. package/dist/flows/CostCalculator/context.d.ts +1 -1
  54. package/dist/flows/CostCalculator/hooks.d.ts +1 -1
  55. package/dist/flows/CostCalculator/hooks.js +1 -1
  56. package/dist/flows/CostCalculator/index.d.ts +1 -1
  57. package/dist/flows/CostCalculator/index.js +1 -1
  58. package/dist/flows/CostCalculator/types.d.ts +1 -1
  59. package/dist/flows/CostCalculator/utils.d.ts +1 -1
  60. package/dist/flows/CostCalculator/utils.js +1 -1
  61. package/dist/flows/Onboarding/OnboardingFlow.d.ts +1 -1
  62. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  63. package/dist/flows/Onboarding/api.d.ts +3 -2
  64. package/dist/flows/Onboarding/api.js +1 -1
  65. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  66. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +1 -1
  67. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  68. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +1 -1
  69. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  70. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +1 -1
  71. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  72. package/dist/flows/Onboarding/components/EquityPriceDetails.d.ts +17 -0
  73. package/dist/flows/Onboarding/components/EquityPriceDetails.js +2 -0
  74. package/dist/flows/Onboarding/components/EquityPriceDetails.js.map +1 -0
  75. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +1 -1
  76. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  77. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +1 -1
  78. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  79. package/dist/flows/Onboarding/components/ReviewStep.d.ts +1 -1
  80. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +1 -1
  81. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  82. package/dist/flows/Onboarding/context.d.ts +1 -1
  83. package/dist/flows/Onboarding/hooks.d.ts +1 -1
  84. package/dist/flows/Onboarding/hooks.js +1 -1
  85. package/dist/flows/Onboarding/index.d.ts +1 -1
  86. package/dist/flows/Onboarding/index.js +1 -1
  87. package/dist/flows/Onboarding/types.d.ts +1 -1
  88. package/dist/flows/Onboarding/utils.d.ts +1 -1
  89. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +1 -1
  90. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  91. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +1 -1
  92. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  93. package/dist/flows/Termination/PaidTimeOffForm.d.ts +1 -1
  94. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  95. package/dist/flows/Termination/TerminationDetailsForm.d.ts +1 -1
  96. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  97. package/dist/flows/Termination/TerminationFlow.d.ts +1 -1
  98. package/dist/flows/Termination/TerminationFlow.js +1 -1
  99. package/dist/flows/Termination/TerminationForm.d.ts +1 -1
  100. package/dist/flows/Termination/TerminationForm.js +1 -1
  101. package/dist/flows/Termination/TimeOff.d.ts +1 -1
  102. package/dist/flows/Termination/context.d.ts +1 -1
  103. package/dist/flows/Termination/hooks.d.ts +1 -1
  104. package/dist/flows/Termination/hooks.js +1 -1
  105. package/dist/flows/Termination/index.d.ts +1 -1
  106. package/dist/flows/Termination/index.js +1 -1
  107. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  108. package/dist/flows/Termination/types.d.ts +1 -1
  109. package/dist/index.d.ts +2 -2
  110. package/dist/index.js +1 -1
  111. package/dist/index.js.map +1 -1
  112. package/dist/{types.gen-uIYQx7Be.d.ts → types.gen-DSJsKiNm.d.ts} +1 -1
  113. package/package.json +1 -1
  114. package/dist/chunk-HSW5HMHH.js +0 -2
  115. package/dist/chunk-KDWPT7ZP.js +0 -2
  116. package/dist/chunk-KDWPT7ZP.js.map +0 -1
  117. package/dist/chunk-SYYKU72Z.js +0 -2
  118. package/dist/chunk-SYYKU72Z.js.map +0 -1
  119. package/dist/chunk-X36OBDKD.js +0 -2
  120. package/dist/chunk-X36OBDKD.js.map +0 -1
  121. /package/dist/{chunk-VQM22EFM.js.map → chunk-25OMQHCO.js.map} +0 -0
  122. /package/dist/{chunk-LRCSXZ5Y.js.map → chunk-2E4TPU4E.js.map} +0 -0
  123. /package/dist/{chunk-S2VTL2TR.js.map → chunk-2EPROBXQ.js.map} +0 -0
  124. /package/dist/{chunk-WBL23WGD.js.map → chunk-3N2Z72JT.js.map} +0 -0
  125. /package/dist/{chunk-42M5XC23.js.map → chunk-4CZKKCKQ.js.map} +0 -0
  126. /package/dist/{chunk-HVZOU73K.js.map → chunk-5IMSGRC3.js.map} +0 -0
  127. /package/dist/{chunk-6O3WKNSB.js.map → chunk-5LJOLMV4.js.map} +0 -0
  128. /package/dist/{chunk-HSW5HMHH.js.map → chunk-6GMGXSKN.js.map} +0 -0
  129. /package/dist/{chunk-3AOOE4V2.js.map → chunk-6JWQ4PZE.js.map} +0 -0
  130. /package/dist/{chunk-2YGGLGBG.js.map → chunk-6VWI4FCI.js.map} +0 -0
  131. /package/dist/{chunk-T33QM3L4.js.map → chunk-7RQYLR2B.js.map} +0 -0
  132. /package/dist/{chunk-5NCRPBBP.js.map → chunk-CCYHGN4R.js.map} +0 -0
  133. /package/dist/{chunk-YYFIIPLI.js.map → chunk-DMWRLPWG.js.map} +0 -0
  134. /package/dist/{chunk-VFR5R7GS.js.map → chunk-J2YJI5VK.js.map} +0 -0
  135. /package/dist/{chunk-B4UHZS6S.js.map → chunk-KUIJOFEW.js.map} +0 -0
  136. /package/dist/{chunk-DIL47M74.js.map → chunk-L6CLZL2D.js.map} +0 -0
  137. /package/dist/{chunk-TWLIQ3LY.js.map → chunk-LXHKMGWZ.js.map} +0 -0
  138. /package/dist/{chunk-4OWFS6J6.js.map → chunk-MBIQ2ECY.js.map} +0 -0
  139. /package/dist/{chunk-Y3HI42AP.js.map → chunk-OOK2XH5H.js.map} +0 -0
  140. /package/dist/{chunk-GPPJCUV6.js.map → chunk-QTN4WTLR.js.map} +0 -0
  141. /package/dist/{chunk-YMOTYFSL.js.map → chunk-RTNT5LSU.js.map} +0 -0
  142. /package/dist/{chunk-S4WAMYEE.js.map → chunk-S2G7GEGF.js.map} +0 -0
  143. /package/dist/{chunk-T3HJ2JSB.js.map → chunk-SX5W3CBP.js.map} +0 -0
  144. /package/dist/{chunk-RMFW7BZM.js.map → chunk-UBIYEKYH.js.map} +0 -0
  145. /package/dist/{chunk-ZKALTI3E.js.map → chunk-X5UOBUIX.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-3AOOE4V2.js";import"../../chunk-JW2HLB6X.js";import"../../chunk-SYEPIESJ.js";import"../../chunk-6O3WKNSB.js";import"../../chunk-HSW5HMHH.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-JODJFARP.js";import"../../chunk-WWANHPT7.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-B4UHZS6S.js";import"../../chunk-LRCSXZ5Y.js";import"../../chunk-WBL23WGD.js";import"../../chunk-ABFF6YSW.js";import"../../chunk-RMFW7BZM.js";import"../../chunk-VQM22EFM.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-PWUYHFON.js";import"../../chunk-VTNGEN34.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-276MJCIE.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-SYYKU72Z.js";import"../../chunk-OYI5OCMY.js";import"../../chunk-MPMOHDZP.js";import"../../chunk-WZSGDTVV.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-STEO7MS2.js";import"../../chunk-CNYSTJVL.js";import"../../chunk-TC3SWPEN.js";import"../../chunk-P37U34EQ.js";export{a as TerminationFlow};
1
+ import{a}from"../../chunk-6JWQ4PZE.js";import"../../chunk-JW2HLB6X.js";import"../../chunk-SYEPIESJ.js";import"../../chunk-5LJOLMV4.js";import"../../chunk-6GMGXSKN.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-JODJFARP.js";import"../../chunk-WWANHPT7.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-KUIJOFEW.js";import"../../chunk-2E4TPU4E.js";import"../../chunk-3N2Z72JT.js";import"../../chunk-ABFF6YSW.js";import"../../chunk-UBIYEKYH.js";import"../../chunk-25OMQHCO.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-PWUYHFON.js";import"../../chunk-VTNGEN34.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-276MJCIE.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-UDCOYAXP.js";import"../../chunk-OYI5OCMY.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-MPMOHDZP.js";import"../../chunk-WZSGDTVV.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-STEO7MS2.js";import"../../chunk-CNYSTJVL.js";import"../../chunk-TC3SWPEN.js";import"../../chunk-P37U34EQ.js";export{a as TerminationFlow};
2
2
  //# sourceMappingURL=TerminationFlow.js.map
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { TerminationFormValues } from './types.js';
3
3
  import { Fields } from '@remoteoss/json-schema-form';
4
- import '../../types.gen-uIYQx7Be.js';
4
+ import '../../types.gen-DSJsKiNm.js';
5
5
 
6
6
  type TerminationFormProps = {
7
7
  onSubmit: (payload: TerminationFormValues) => void;
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-VQM22EFM.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-SYYKU72Z.js";import"../../chunk-OYI5OCMY.js";import"../../chunk-MPMOHDZP.js";import"../../chunk-WZSGDTVV.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-STEO7MS2.js";import"../../chunk-CNYSTJVL.js";import"../../chunk-TC3SWPEN.js";import"../../chunk-P37U34EQ.js";export{a as TerminationForm};
1
+ import{a}from"../../chunk-25OMQHCO.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-UDCOYAXP.js";import"../../chunk-OYI5OCMY.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-MPMOHDZP.js";import"../../chunk-WZSGDTVV.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-STEO7MS2.js";import"../../chunk-CNYSTJVL.js";import"../../chunk-TC3SWPEN.js";import"../../chunk-P37U34EQ.js";export{a as TerminationForm};
2
2
  //# sourceMappingURL=TerminationForm.js.map
@@ -1,4 +1,4 @@
1
- import { E as EmploymentShowResponse, L as ListTimeoffResponse } from '../../types.gen-uIYQx7Be.js';
1
+ import { E as EmploymentShowResponse, L as ListTimeoffResponse } from '../../types.gen-DSJsKiNm.js';
2
2
  import react__default from 'react';
3
3
 
4
4
  declare const TimeOff: ({ render, }: {
@@ -1,4 +1,4 @@
1
- import { O as OffboardingResponse, B as PostCreateOffboardingError } from '../../types.gen-uIYQx7Be.js';
1
+ import { O as OffboardingResponse, B as PostCreateOffboardingError } from '../../types.gen-DSJsKiNm.js';
2
2
  import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
3
3
  import * as react from 'react';
4
4
  import '../../remoteFlows-B-p1H61n.js';
@@ -1,4 +1,4 @@
1
- import { O as OffboardingResponse, B as PostCreateOffboardingError } from '../../types.gen-uIYQx7Be.js';
1
+ import { O as OffboardingResponse, B as PostCreateOffboardingError } from '../../types.gen-DSJsKiNm.js';
2
2
  import { E as ErrorResponse, S as SuccessResponse } from '../../mutations-B6HWH-rZ.js';
3
3
  import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
4
4
  import { Step } from '../useStepState.js';
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-6O3WKNSB.js";import"../../chunk-HSW5HMHH.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-JODJFARP.js";import"../../chunk-WWANHPT7.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-PWUYHFON.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-276MJCIE.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-CNYSTJVL.js";import"../../chunk-P37U34EQ.js";export{a as useTermination};
1
+ import{a}from"../../chunk-5LJOLMV4.js";import"../../chunk-6GMGXSKN.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-JODJFARP.js";import"../../chunk-WWANHPT7.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-PWUYHFON.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-276MJCIE.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-CNYSTJVL.js";import"../../chunk-P37U34EQ.js";export{a as useTermination};
2
2
  //# sourceMappingURL=hooks.js.map
@@ -3,7 +3,7 @@ export { TerminationFormValues } from './types.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
5
5
  import './hooks.js';
6
- import '../../types.gen-uIYQx7Be.js';
6
+ import '../../types.gen-DSJsKiNm.js';
7
7
  import '../../mutations-B6HWH-rZ.js';
8
8
  import '@remoteoss/json-schema-form';
9
9
  import '../useStepState.js';
@@ -1,2 +1,2 @@
1
- import"../../chunk-M22FKNEY.js";import{a}from"../../chunk-3AOOE4V2.js";import"../../chunk-JW2HLB6X.js";import"../../chunk-SYEPIESJ.js";import"../../chunk-6O3WKNSB.js";import"../../chunk-HSW5HMHH.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-JODJFARP.js";import"../../chunk-WWANHPT7.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-B4UHZS6S.js";import"../../chunk-LRCSXZ5Y.js";import"../../chunk-WBL23WGD.js";import"../../chunk-ABFF6YSW.js";import"../../chunk-RMFW7BZM.js";import"../../chunk-VQM22EFM.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-PWUYHFON.js";import"../../chunk-VTNGEN34.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-276MJCIE.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-SYYKU72Z.js";import"../../chunk-OYI5OCMY.js";import"../../chunk-MPMOHDZP.js";import"../../chunk-WZSGDTVV.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-STEO7MS2.js";import"../../chunk-CNYSTJVL.js";import"../../chunk-TC3SWPEN.js";import"../../chunk-P37U34EQ.js";export{a as TerminationFlow};
1
+ import"../../chunk-M22FKNEY.js";import{a}from"../../chunk-6JWQ4PZE.js";import"../../chunk-JW2HLB6X.js";import"../../chunk-SYEPIESJ.js";import"../../chunk-5LJOLMV4.js";import"../../chunk-6GMGXSKN.js";import"../../chunk-W5DG5WWJ.js";import"../../chunk-VX2UC3HG.js";import"../../chunk-XSHHMBMT.js";import"../../chunk-XFD3ULUF.js";import"../../chunk-JODJFARP.js";import"../../chunk-WWANHPT7.js";import"../../chunk-S4XU4SE7.js";import"../../chunk-KUIJOFEW.js";import"../../chunk-2E4TPU4E.js";import"../../chunk-3N2Z72JT.js";import"../../chunk-ABFF6YSW.js";import"../../chunk-UBIYEKYH.js";import"../../chunk-25OMQHCO.js";import"../../chunk-MRYRNB7Y.js";import"../../chunk-PWUYHFON.js";import"../../chunk-VTNGEN34.js";import"../../chunk-QW4JPW6J.js";import"../../chunk-276MJCIE.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-UDCOYAXP.js";import"../../chunk-OYI5OCMY.js";import"../../chunk-CFIJKJXD.js";import"../../chunk-MPMOHDZP.js";import"../../chunk-WZSGDTVV.js";import"../../chunk-3ZWDIEEM.js";import"../../chunk-STEO7MS2.js";import"../../chunk-CNYSTJVL.js";import"../../chunk-TC3SWPEN.js";import"../../chunk-P37U34EQ.js";export{a as TerminationFlow};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../../chunk-HSW5HMHH.js";import"../../../chunk-VX2UC3HG.js";import"../../../chunk-XSHHMBMT.js";import"../../../chunk-JODJFARP.js";import"../../../chunk-W5DG5WWJ.js";import"../../../chunk-P37U34EQ.js";export{a as schema};
1
+ import{a}from"../../../chunk-6GMGXSKN.js";import"../../../chunk-W5DG5WWJ.js";import"../../../chunk-VX2UC3HG.js";import"../../../chunk-XSHHMBMT.js";import"../../../chunk-JODJFARP.js";import"../../../chunk-P37U34EQ.js";export{a as schema};
2
2
  //# sourceMappingURL=schema.js.map
@@ -1,4 +1,4 @@
1
- import { T as TerminationDetailsParams } from '../../types.gen-uIYQx7Be.js';
1
+ import { T as TerminationDetailsParams } from '../../types.gen-DSJsKiNm.js';
2
2
 
3
3
  type TerminationFormValues = {
4
4
  acknowledge_termination_procedure: boolean;
package/dist/index.d.ts CHANGED
@@ -20,8 +20,8 @@ export { OnboardingInviteProps } from './flows/Onboarding/components/OnboardingI
20
20
  export { BasicInformationFormPayload, BenefitsFormPayload, ContractDetailsFormPayload, CreditRiskState, CreditRiskStatus, Employment, Meta, SelectCountryFormPayload, SelectCountrySuccess } from './flows/Onboarding/types.js';
21
21
  export { CostCalculatorEstimationFormValues, CostCalculatorEstimationOptions, CostCalculatorEstimationSubmitValues } from './flows/CostCalculator/types.js';
22
22
  import * as _tanstack_react_query from '@tanstack/react-query';
23
- import { E as EmploymentShowResponse, D as TimeoffStatus, L as ListTimeoffResponse } from './types.gen-uIYQx7Be.js';
24
- export { d as Company, C as ContractAmendmentAutomatableResponse, F as CostCalculatorEmployment, u as CostCalculatorEstimateResponse, G as Currency, g as EmploymentCreationResponse, j as EmploymentResponse, O as OffboardingResponse, S as SuccessResponse } from './types.gen-uIYQx7Be.js';
23
+ import { E as EmploymentShowResponse, D as TimeoffStatus, L as ListTimeoffResponse } from './types.gen-DSJsKiNm.js';
24
+ export { j as Company, C as ContractAmendmentAutomatableResponse, F as CostCalculatorEmployment, c as CostCalculatorEstimateResponse, G as Currency, m as EmploymentCreationResponse, p as EmploymentResponse, O as OffboardingResponse, S as SuccessResponse } from './types.gen-DSJsKiNm.js';
25
25
  import { ContractAmendmentParams } from './flows/ContractAmendment/types.js';
26
26
  import { ValidationError } from 'yup';
27
27
  import * as react_jsx_runtime from 'react/jsx-runtime';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-M22FKNEY.js";import{a as or}from"./chunk-3AOOE4V2.js";import"./chunk-JW2HLB6X.js";import"./chunk-SYEPIESJ.js";import"./chunk-6O3WKNSB.js";import"./chunk-HSW5HMHH.js";import"./chunk-VX2UC3HG.js";import"./chunk-XSHHMBMT.js";import"./chunk-XFD3ULUF.js";import"./chunk-JODJFARP.js";import"./chunk-WWANHPT7.js";import"./chunk-W5DG5WWJ.js";import"./chunk-S4XU4SE7.js";import"./chunk-B4UHZS6S.js";import"./chunk-LRCSXZ5Y.js";import"./chunk-WBL23WGD.js";import"./chunk-ABFF6YSW.js";import"./chunk-RMFW7BZM.js";import"./chunk-VQM22EFM.js";import"./chunk-MRYRNB7Y.js";import"./chunk-YJXRJTOH.js";import{a as S}from"./chunk-DIL47M74.js";import"./chunk-2IOIRPXX.js";import"./chunk-BHXNRWYC.js";import"./chunk-CVXZNBHC.js";import"./chunk-3TAUIOLW.js";import"./chunk-ZOTFG7GS.js";import"./chunk-MIALHORP.js";import"./chunk-NTJN7NCK.js";import{a as _}from"./chunk-LU6YNL6P.js";import{a as z}from"./chunk-HRIDANZ6.js";import"./chunk-GULCZWSK.js";import{a as E}from"./chunk-KKM4IXYC.js";import{a as B}from"./chunk-DYB3RWP7.js";import{a as R}from"./chunk-T33QM3L4.js";import{b as k,d as F}from"./chunk-GPPJCUV6.js";import"./chunk-S4WAMYEE.js";import{d as C}from"./chunk-MC6FNME3.js";import"./chunk-UPRUP24B.js";import{a as T}from"./chunk-VFR5R7GS.js";import"./chunk-KSHK3ZPX.js";import"./chunk-A7ZJQCNU.js";import{a as ir}from"./chunk-4OWFS6J6.js";import"./chunk-Z7WBY27D.js";import"./chunk-7TOZZQQJ.js";import"./chunk-YMOTYFSL.js";import"./chunk-Y3HI42AP.js";import"./chunk-S2VTL2TR.js";import"./chunk-42M5XC23.js";import"./chunk-DBRBPYIF.js";import"./chunk-TWLIQ3LY.js";import"./chunk-5NCRPBBP.js";import"./chunk-R4PWQPR6.js";import"./chunk-PGWKJ6FK.js";import"./chunk-KDWPT7ZP.js";import"./chunk-2YGGLGBG.js";import"./chunk-F66G33YT.js";import"./chunk-ZKALTI3E.js";import"./chunk-X36OBDKD.js";import"./chunk-WVJDCDGZ.js";import"./chunk-PWUYHFON.js";import{a as tr}from"./chunk-HVZOU73K.js";import{a as J}from"./chunk-YECC5GAT.js";import{a as er}from"./chunk-T3HJ2JSB.js";import{a as rr,b as ar}from"./chunk-VTNGEN34.js";import"./chunk-Z4FTX74F.js";import"./chunk-QW4JPW6J.js";import{a as g}from"./chunk-276MJCIE.js";import"./chunk-PJBAQZ6G.js";import"./chunk-HS3TP43Z.js";import{a as Z}from"./chunk-HUEFMP54.js";import{a as H}from"./chunk-YYFIIPLI.js";import"./chunk-CFIJKJXD.js";import"./chunk-SYYKU72Z.js";import"./chunk-OYI5OCMY.js";import"./chunk-MPMOHDZP.js";import"./chunk-WZSGDTVV.js";import{a as v,c as u}from"./chunk-3ZWDIEEM.js";import"./chunk-STEO7MS2.js";import"./chunk-CNYSTJVL.js";import"./chunk-TVZAFTPT.js";import{c as P,d as h}from"./chunk-TC3SWPEN.js";import{a as e}from"./chunk-P37U34EQ.js";import{QueryClient as q,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 N(r){let a={};return Object.keys(r).forEach(t=>{a[`--${t}`]=r[t]}),a}e(N,"mapThemeColors");function O(r){return{"--spacing":r}}e(O,"mapThemeSpacing");function j(r){return{"--radius":r}}e(j,"mapThemeBorderRadius");function D(r){return{"--fontSizeBase":r.fontSizeBase}}e(D,"mapThemeFont");function m(r){r?.colors&&l(N(r.colors)),r?.spacing&&l(O(r.spacing)),r?.borderRadius&&l(j(r.borderRadius)),r?.font&&l(D(r.font))}e(m,"applyTheme");import{createContext as I,useEffect as A,useMemo as K}from"react";import{jsx as U}from"react/jsx-runtime";var V=I({theme:{}});function w(r){A(()=>{r.theme&&Object.keys(r.theme).length>0&&m(r.theme)},[r.theme]);let a=K(()=>({theme:r.theme}),[r.theme]);return U(V.Provider,{value:a,children:r.children})}e(w,"ThemeProvider");var f={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 W}from"@hey-api/client-fetch";import{useQuery as M}from"@tanstack/react-query";import{useRef as x}from"react";function L(r){try{return new URL(r),!0}catch{return!1}}e(L,"isValidUrl");var b=e(({auth:r,options:a})=>{let t=x(null),{refetch:o}=M({queryKey:["auth"],queryFn:r,enabled:!1}),c=a?.environment?f[a?.environment]:"https://gateway.remote.com",s=g.getConfig(),p="0.5.0";a?.environment&&a?.environment!=="production"&&h(p);let d=!!a?.proxy&&L(a.proxy.url);return a?.proxy&&!d&&console.error("Invalid proxy URL provided. Using default base URL."),x(W({...s,headers:{...s.headers,...d?a?.proxy?.headers:{},"X-Client-Name":"remote-flows-sdk","X-Client-Version":p},baseUrl:d?a.proxy?.url:c,auth:e(async()=>{function y(i){return!i||Date.now()+6e4>i}if(e(y,"hasTokenExpired"),!t.current||y(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 X=new q;function Y({children:r,auth:a,proxy:t,environment:o}){let c=b({auth:a,options:{proxy:t,environment:o}});return n(u.Provider,{value:{client:c.current},children:r})}e(Y,"RemoteFlowContextWrapper");function $({children:r,components:a}){return n(v.Provider,{value:a?{components:a}:{components:{}},children:r})}e($,"FormFieldsProvider");function G({auth:r,children:a,components:t,theme:o,proxy:c,environment:s}){return n(Q,{client:X,children:n($,{components:t,children:n(Y,{auth:r,proxy:c,environment:s,children:n(w,{theme:o,children:a})})})})}e(G,"RemoteFlows");export{Z as ContractAmendmentConfirmationForm,tr as ContractAmendmentFlow,H as ContractAmendmentForm,J as ContractAmendmentSubmit,E as CostCalculatorDisclaimer,R as CostCalculatorFlow,T as CostCalculatorForm,_ as CostCalculatorResetButton,S as CostCalculatorResults,z as CostCalculatorSubmitButton,ir as OnboardingFlow,G as RemoteFlows,or as TerminationFlow,k as buildCostCalculatorEstimationPayload,B as disclaimerData,P as transformYupErrorsIntoObject,er as useContractAmendment,F as useCostCalculator,C as useCostCalculatorEstimationPdf,rr as useEmploymentQuery,ar as useTimeOffQuery};
1
+ import"./chunk-M22FKNEY.js";import{a as or}from"./chunk-6JWQ4PZE.js";import"./chunk-JW2HLB6X.js";import"./chunk-SYEPIESJ.js";import"./chunk-5LJOLMV4.js";import"./chunk-6GMGXSKN.js";import"./chunk-W5DG5WWJ.js";import"./chunk-VX2UC3HG.js";import"./chunk-XSHHMBMT.js";import"./chunk-XFD3ULUF.js";import"./chunk-JODJFARP.js";import"./chunk-WWANHPT7.js";import"./chunk-S4XU4SE7.js";import"./chunk-KUIJOFEW.js";import"./chunk-2E4TPU4E.js";import"./chunk-3N2Z72JT.js";import"./chunk-ABFF6YSW.js";import"./chunk-UBIYEKYH.js";import"./chunk-25OMQHCO.js";import"./chunk-MRYRNB7Y.js";import"./chunk-GULCZWSK.js";import{a as ir}from"./chunk-MBIQ2ECY.js";import"./chunk-Z7WBY27D.js";import"./chunk-7TOZZQQJ.js";import"./chunk-RTNT5LSU.js";import"./chunk-OOK2XH5H.js";import"./chunk-2EPROBXQ.js";import"./chunk-4CZKKCKQ.js";import"./chunk-DBRBPYIF.js";import"./chunk-LXHKMGWZ.js";import"./chunk-CCYHGN4R.js";import"./chunk-R4PWQPR6.js";import"./chunk-PGWKJ6FK.js";import"./chunk-XOOG5SNT.js";import"./chunk-2A5R3YN2.js";import"./chunk-6VWI4FCI.js";import"./chunk-F66G33YT.js";import"./chunk-YJXRJTOH.js";import{a as S}from"./chunk-L6CLZL2D.js";import"./chunk-CVXZNBHC.js";import"./chunk-3TAUIOLW.js";import"./chunk-ZOTFG7GS.js";import"./chunk-MIALHORP.js";import"./chunk-NTJN7NCK.js";import"./chunk-2IOIRPXX.js";import"./chunk-BHXNRWYC.js";import{a as T}from"./chunk-J2YJI5VK.js";import{a as _}from"./chunk-LU6YNL6P.js";import{a as z}from"./chunk-HRIDANZ6.js";import"./chunk-A7ZJQCNU.js";import{a as E}from"./chunk-KKM4IXYC.js";import{a as B}from"./chunk-DYB3RWP7.js";import{a as R}from"./chunk-7RQYLR2B.js";import"./chunk-KSHK3ZPX.js";import{b as k,d as F}from"./chunk-QTN4WTLR.js";import"./chunk-S2G7GEGF.js";import"./chunk-UPRUP24B.js";import"./chunk-X5UOBUIX.js";import"./chunk-MOUO52OS.js";import"./chunk-WVJDCDGZ.js";import{d as C}from"./chunk-MC6FNME3.js";import"./chunk-PWUYHFON.js";import{a as tr}from"./chunk-5IMSGRC3.js";import{a as J}from"./chunk-YECC5GAT.js";import{a as er}from"./chunk-SX5W3CBP.js";import{a as rr,b as ar}from"./chunk-VTNGEN34.js";import"./chunk-QW4JPW6J.js";import"./chunk-Z4FTX74F.js";import{a as g}from"./chunk-276MJCIE.js";import"./chunk-PJBAQZ6G.js";import"./chunk-HS3TP43Z.js";import{a as Z}from"./chunk-HUEFMP54.js";import{a as H}from"./chunk-DMWRLPWG.js";import"./chunk-UDCOYAXP.js";import"./chunk-OYI5OCMY.js";import"./chunk-CFIJKJXD.js";import"./chunk-MPMOHDZP.js";import"./chunk-WZSGDTVV.js";import{a as v,c as u}from"./chunk-3ZWDIEEM.js";import"./chunk-STEO7MS2.js";import"./chunk-CNYSTJVL.js";import"./chunk-TVZAFTPT.js";import{c as P,d as h}from"./chunk-TC3SWPEN.js";import{a as e}from"./chunk-P37U34EQ.js";import{QueryClient as q,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 N(r){let a={};return Object.keys(r).forEach(t=>{a[`--${t}`]=r[t]}),a}e(N,"mapThemeColors");function O(r){return{"--spacing":r}}e(O,"mapThemeSpacing");function j(r){return{"--radius":r}}e(j,"mapThemeBorderRadius");function D(r){return{"--fontSizeBase":r.fontSizeBase}}e(D,"mapThemeFont");function m(r){r?.colors&&l(N(r.colors)),r?.spacing&&l(O(r.spacing)),r?.borderRadius&&l(j(r.borderRadius)),r?.font&&l(D(r.font))}e(m,"applyTheme");import{createContext as I,useEffect as A,useMemo as K}from"react";import{jsx as U}from"react/jsx-runtime";var V=I({theme:{}});function w(r){A(()=>{r.theme&&Object.keys(r.theme).length>0&&m(r.theme)},[r.theme]);let a=K(()=>({theme:r.theme}),[r.theme]);return U(V.Provider,{value:a,children:r.children})}e(w,"ThemeProvider");var f={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 W}from"@hey-api/client-fetch";import{useQuery as M}from"@tanstack/react-query";import{useRef as x}from"react";function L(r){try{return new URL(r),!0}catch{return!1}}e(L,"isValidUrl");var b=e(({auth:r,options:a})=>{let t=x(null),{refetch:o}=M({queryKey:["auth"],queryFn:r,enabled:!1}),c=a?.environment?f[a?.environment]:"https://gateway.remote.com",s=g.getConfig(),p="0.6.0";a?.environment&&a?.environment!=="production"&&h(p);let d=!!a?.proxy&&L(a.proxy.url);return a?.proxy&&!d&&console.error("Invalid proxy URL provided. Using default base URL."),x(W({...s,headers:{...s.headers,...d?a?.proxy?.headers:{},"X-Client-Name":"remote-flows-sdk","X-Client-Version":p},baseUrl:d?a.proxy?.url:c,auth:e(async()=>{function y(i){return!i||Date.now()+6e4>i}if(e(y,"hasTokenExpired"),!t.current||y(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 X=new q;function Y({children:r,auth:a,proxy:t,environment:o}){let c=b({auth:a,options:{proxy:t,environment:o}});return n(u.Provider,{value:{client:c.current},children:r})}e(Y,"RemoteFlowContextWrapper");function $({children:r,components:a}){return n(v.Provider,{value:a?{components:a}:{components:{}},children:r})}e($,"FormFieldsProvider");function G({auth:r,children:a,components:t,theme:o,proxy:c,environment:s}){return n(Q,{client:X,children:n($,{components:t,children:n(Y,{auth:r,proxy:c,environment:s,children:n(w,{theme:o,children:a})})})})}e(G,"RemoteFlows");export{Z as ContractAmendmentConfirmationForm,tr as ContractAmendmentFlow,H as ContractAmendmentForm,J as ContractAmendmentSubmit,E as CostCalculatorDisclaimer,R as CostCalculatorFlow,T as CostCalculatorForm,_ as CostCalculatorResetButton,S as CostCalculatorResults,z as CostCalculatorSubmitButton,ir as OnboardingFlow,G as RemoteFlows,or as TerminationFlow,k as buildCostCalculatorEstimationPayload,B as disclaimerData,P as transformYupErrorsIntoObject,er as useContractAmendment,F as useCostCalculator,C as useCostCalculatorEstimationPdf,rr as useEmploymentQuery,ar 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';\nimport { debug } from './lib/utils';\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 || 'unknown';\n\n if (options?.environment && options?.environment !== 'production') {\n debug(npmPackageVersion);\n }\n\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","debug","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';\nimport { debug } from './lib/utils';\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 || 'unknown';\n\n if (options?.environment && options?.environment !== 'production') {\n debug(npmPackageVersion);\n }\n\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","debug","isValidProxy","createClient","hasTokenExpired","expiresAt","data","jsx","queryClient","QueryClient","RemoteFlowContextWrapper","children","auth","proxy","environment","remoteApiClient","useAuth","RemoteFlowContext","__name","FormFieldsProvider","components","FormFieldsContext","RemoteFlows","theme","QueryClientProvider","ThemeProvider"]}
@@ -1302,4 +1302,4 @@ type PostConvertCurrencyConverterErrors = {
1302
1302
  };
1303
1303
  type PostConvertCurrencyConverterError = PostConvertCurrencyConverterErrors[keyof PostConvertCurrencyConverterErrors];
1304
1304
 
1305
- export type { EmploymentTermType as A, PostCreateOffboardingError as B, ContractAmendmentAutomatableResponse as C, TimeoffStatus as D, EmploymentShowResponse as E, CostCalculatorEmployment as F, Currency as G, ListTimeoffResponse as L, MagicLinkResponse as M, OffboardingResponse as O, PostAutomatableContractAmendmentError as P, SuccessResponse as S, TerminationDetailsParams as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ContractAmendmentResponse as a, PostCreateContractAmendmentError as b, Employment as c, Company as d, PostInviteEmploymentInvitationError as e, PostCreateRiskReserveError as f, EmploymentCreationResponse as g, PostCreateEmployment2Error as h, EmploymentCreateParams as i, EmploymentResponse as j, PatchUpdateEmployment2Error as k, EmploymentFullParams as l, PutUpdateBenefitOfferError as m, UnprocessableEntityResponse as n, MagicLinkParams as o, ConvertCurrencyResponse as p, PostConvertCurrencyConverterError as q, ConvertCurrencyParams as r, PostCreateContractEligibilityError as s, CreateContractEligibilityParams as t, CostCalculatorEstimateResponse as u, CostCalculatorEstimatePdfResponse as v, PostCreateEstimationPdfError as w, CostCalculatorEstimateParams as x, MinimalRegion as y, PostCreateEstimationError as z };
1305
+ export type { CreateContractEligibilityParams as A, PostCreateOffboardingError as B, ContractAmendmentAutomatableResponse as C, TimeoffStatus as D, EmploymentShowResponse as E, CostCalculatorEmployment as F, Currency as G, ListTimeoffResponse as L, MinimalRegion as M, OffboardingResponse as O, PostAutomatableContractAmendmentError as P, SuccessResponse as S, TerminationDetailsParams as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ContractAmendmentResponse as a, PostCreateContractAmendmentError as b, CostCalculatorEstimateResponse as c, CostCalculatorEstimatePdfResponse as d, PostCreateEstimationPdfError as e, CostCalculatorEstimateParams as f, PostCreateEstimationError as g, EmploymentTermType as h, Employment as i, Company as j, PostInviteEmploymentInvitationError as k, PostCreateRiskReserveError as l, EmploymentCreationResponse as m, PostCreateEmployment2Error as n, EmploymentCreateParams as o, EmploymentResponse as p, PatchUpdateEmployment2Error as q, EmploymentFullParams as r, PutUpdateBenefitOfferError as s, MagicLinkResponse as t, UnprocessableEntityResponse as u, MagicLinkParams as v, ConvertCurrencyResponse as w, PostConvertCurrencyConverterError as x, ConvertCurrencyParams as y, PostCreateContractEligibilityError as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remoteoss/remote-flows",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
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 e}from"./chunk-VX2UC3HG.js";import{a as i}from"./chunk-XSHHMBMT.js";import{a as o}from"./chunk-JODJFARP.js";import{a as m}from"./chunk-W5DG5WWJ.js";var p={employee_communication:o,termination_details:e,paid_time_off:m,additional_information:i};export{p as a};
2
- //# sourceMappingURL=chunk-HSW5HMHH.js.map
@@ -1,2 +0,0 @@
1
- import{a as Oe}from"./chunk-2YGGLGBG.js";import{a as Fe,b as Ee,c as h,d as he,e as Ve}from"./chunk-F66G33YT.js";import{a as le,b as de,c as me,f as fe,g as ue,h as ye,i as pe,j as _e,l as Se,n as be}from"./chunk-X36OBDKD.js";import{a as v}from"./chunk-QW4JPW6J.js";import{a as ge}from"./chunk-PJBAQZ6G.js";import{c as E,d as M,f as U}from"./chunk-CNYSTJVL.js";import{a as c}from"./chunk-P37U34EQ.js";import{useEffect as Xe,useMemo as l,useRef as Ze,useState as Ce}from"react";import $e from"lodash.mergewith";import{jsx as ot}from"react/jsx-runtime";var et={employment_basic_information:"basic_information",contract_details:"contract_details"},tt={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},nt=c(({isLoadingBasicInformationForm:f,isLoadingContractDetailsForm:R,isLoadingEmployment:j,isLoadingBenefitsOffersSchema:N,isLoadingBenefitOffers:a,isLoadingCompany:J,isLoadingCountries:y,employmentStatus:o,employmentId:A,currentStepName:s,basicInformationFields:T,contractDetailsFields:i})=>{let V=f||R||j||N||a||J||y,I=o&&he.includes(o),k=o&&!Ve.includes(o),O=!!(A&&I&&s!=="review"),p=V||O,B=!!(O&&!V&&T.length>0&&i.length>0);return{isLoading:p,isNavigatingToReview:B,isEmploymentReadOnly:I,canInvite:k}},"getLoadingStates"),ut=c(({employmentId:f,companyId:R,countryCode:j,type:N,options:a,skipSteps:J})=>{let y=Ze({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[o,A]=Ce(f),[s,T]=Ce(j||null),{data:i,isLoading:V,refetch:I}=le(o);i?.country?.code&&s!==i.country.code&&T(i.country.code);let{data:k,isLoading:O}=me(o),{data:p,isLoading:B,refetch:Pe}=de(R),Le=J?.includes("select_country")?Ee:Fe,{fieldValues:_,stepState:t,setFieldValues:Me,previousStep:Te,nextStep:Ie,goToStep:D,setStepValues:x}=ge(Le),{selectCountryForm:w,isLoading:H}=Se({jsfModify:a?.jsfModify?.select_country,jsonSchemaVersion:a?.jsonSchemaVersion,queryOptions:{enabled:t.currentStep.name==="select_country"}}),W=ye(a),G=pe(a),z=_e(a),ke=be(),{mutateAsync:Be}=v(W),{mutateAsync:K}=v(G),{mutateAsync:we}=v(z),ve=tt[t.currentStep.name]||"employment_basic_information",Re=et[ve],je=i?.[Re]||{},Y=c(({form:n,options:r={}})=>fe({countryCode:s,form:n,fieldValues:Object.keys(_).length>0?{...t.values?.[t.currentStep.name],..._}:je,options:{...r,queryOptions:{enabled:r.queryOptions?.enabled??!0}}}),"useJSONSchema"),Ne=!!(s&&(t.currentStep.name==="basic_information"||f)),Je=!!(s&&(t.currentStep.name==="contract_details"||f)),{data:d,isLoading:Q}=Y({form:"employment_basic_information",options:{jsfModify:a?.jsfModify?.basic_information,queryOptions:{enabled:Ne}}}),S=a?.jsfModify?.contract_details?.fields?.annual_gross_salary,q=S&&typeof S=="object"&&"presentation"in S?S.presentation:void 0,Ae=l(()=>({fields:{annual_gross_salary:{...S,presentation:{annual_gross_salary_conversion_properties:{label:q?.annual_gross_salary_conversion_properties?.label,description:q?.annual_gross_salary_conversion_properties?.description},desiredCurrency:p?.desired_currency,Component:c(n=>ot(Oe,{desiredCurrency:p?.desired_currency||"",...n}),"Component")}}}}),[S,q,p?.desired_currency]),{data:m,isLoading:X}=Y({form:"contract_details",options:{jsfModify:{...a?.jsfModify?.contract_details,fields:{...a?.jsfModify?.contract_details?.fields,...Ae.fields}},queryOptions:{enabled:Je}}}),{data:C,isLoading:Z}=ue(o,_,a),$=l(()=>{if(t.currentStep.name==="benefits"){let n={...t.values?.[t.currentStep.name],..._};return $e({},k,n)}return{}},[t.currentStep.name,k,t.values,_]),e=l(()=>({select_country:w?.fields||[],basic_information:d?.fields||[],contract_details:m?.fields||[],benefits:C?.fields||[],review:[]}),[w?.fields,d?.fields,m?.fields,C?.fields]),De={select_country:null,basic_information:d?.meta["x-jsf-fieldsets"],contract_details:m?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:{code:ee}={},basic_information:te={},contract_details:ne={},status:oe}=i||{},ie=t.currentStep.name,b=l(()=>M(e.select_country,{country:s||ee||""}),[e.select_country,s,ee]),g=l(()=>M(e.basic_information,te||{}),[e.basic_information,te]),u=l(()=>M(e.contract_details,ne||{}),[e.contract_details,ne]),F=l(()=>M(e.benefits,$),[e.benefits,$]),qe=l(()=>i?{select_country:b,basic_information:U(e.basic_information,g),contract_details:i?.contract_details!==null?U(e.contract_details,u):u,benefits:F}:{select_country:b,basic_information:g,contract_details:u,benefits:F},[b,g,u,F,i,e]),{isLoading:Ue,isNavigatingToReview:ae,isEmploymentReadOnly:xe,canInvite:He}=l(()=>nt({isLoadingBasicInformationForm:Q,isLoadingContractDetailsForm:X,isLoadingEmployment:V,isLoadingBenefitsOffersSchema:Z,isLoadingBenefitOffers:O,isLoadingCompany:B,isLoadingCountries:H,employmentId:f,employmentStatus:oe,basicInformationFields:e.basic_information,contractDetailsFields:e.contract_details,currentStepName:ie}),[Q,X,V,Z,O,B,H,f,oe,e.basic_information,e.contract_details,ie]);Xe(()=>{ae&&(y.current={select_country:h(b,e.select_country),basic_information:h(g,e.basic_information),contract_details:h(u,e.contract_details),benefits:h(F,e.benefits)},x({select_country:b,basic_information:g,contract_details:u,benefits:F,review:{}}),D("review"))},[g,F,u,D,ae,b,x,e.basic_information,e.benefits,e.contract_details,e.select_country]);let se=c(n=>w&&t.currentStep.name==="select_country"?n:d&&t.currentStep.name==="basic_information"?E(n,d?.fields,{isPartialValidation:!1}):m&&t.currentStep.name==="contract_details"?E(n,m?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function We(n){let r=t.currentStep.name;r in y.current&&(y.current[r]=h(n,e[r]));let P=se(n);switch(Pe(),t.currentStep.name){case"select_country":return T(P.country),Promise.resolve({data:{countryCode:P.country}});case"basic_information":{let re=!o&&s,Ye=o&&s&&i?.country&&i?.country.code!==s;if(re||Ye){let Qe={basic_information:P,type:N,country_code:s};try{let L=await Be(Qe),ce=L.data?.data?.employment?.id;return A(ce),await ke.mutateAsync({employmentId:ce,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1}),L}catch(L){throw console.error("Error creating onboarding:",L),L}}else if(o)return K({employmentId:o,basic_information:P,pricing_plan_details:{frequency:"monthly"}});return}case"contract_details":return K({employmentId:o,...{contract_details:P,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return we({employmentId:o,...n})}}c(We,"onSubmit");function Ge(){Te()}c(Ge,"back");function ze(){Ie()}c(ze,"next");function Ke(n){D(n)}return c(Ke,"goTo"),{employmentId:o,creditRiskStatus:p?.default_legal_entity_credit_risk_status,fieldValues:_,stepState:t,fields:e[t.currentStep.name],isLoading:Ue,isSubmitting:W.isPending||G.isPending||z.isPending,initialValues:qe,handleValidation:c(n=>{if(t.currentStep.name==="select_country")return w.handleValidation(n);if(t.currentStep.name==="benefits"&&C){let r=E(n,C?.fields,{isPartialValidation:!1});return C?.handleValidation(r)}if(d&&t.currentStep.name==="basic_information"){let r=E(n,d?.fields,{isPartialValidation:!1});return d?.handleValidation(r)}if(m&&t.currentStep.name==="contract_details"){let r=E(n,m?.fields,{isPartialValidation:!1});return m?.handleValidation(r)}return null},"handleValidation"),checkFieldUpdates:Me,parseFormValues:se,onSubmit:We,back:Ge,next:ze,goTo:Ke,meta:{fields:y.current,fieldsets:De[t.currentStep.name]},refetchEmployment:I,employment:i,isEmploymentReadOnly:xe,canInvite:He}},"useOnboarding");export{ut as a};
2
- //# sourceMappingURL=chunk-KDWPT7ZP.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 disabledInviteButtonEmploymentStatus,\n prettifyFormValues,\n reviewStepAllowedEmploymentStatus,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { Meta, 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 useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { JSFField, JSFFieldset } 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 canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n}: OnboardingHookProps) => {\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n benefits: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n });\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = 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 updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n\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 desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\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 stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n review: null,\n };\n\n const {\n country: { 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 if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = (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: false,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = 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 // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutation.mutateAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\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 * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending,\n /**\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 { isPartialValidation: false },\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 { isPartialValidation: false },\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 { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n };\n};\n"],"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","canInvite","disabledInviteButtonEmploymentStatus","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","updateContractEligibilityMutation","useUpsertContractEligibility","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","stepFieldsWithFlatFieldsets","employmentCountryCode","employmentBasicInformation","employmentContractDetails","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","contractDetailsInitialValues","benefitsInitialValues","initialValues","enableAckFields","useEffect","prettifyFormValues","parseFormValues","values","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo","step"]}
@@ -1,2 +0,0 @@
1
- import{a as Ke}from"./chunk-OYI5OCMY.js";import{a as V}from"./chunk-MPMOHDZP.js";import{a as xe,b as O}from"./chunk-WZSGDTVV.js";import{b as S}from"./chunk-3ZWDIEEM.js";import{a as ae,b as ne,c as _,d as Ge,e as Ue,f as Je,g as qe,h as P,i as k,j as N,k as R,l as w,m as T}from"./chunk-STEO7MS2.js";import{e as Ae,g as ze}from"./chunk-CNYSTJVL.js";import{a as f}from"./chunk-TC3SWPEN.js";import{a as o}from"./chunk-P37U34EQ.js";import{Fragment as Ko}from"react";import*as Ye from"react";import*as re from"@radix-ui/react-checkbox";import{Check as qt}from"lucide-react";import{jsx as be}from"react/jsx-runtime";var ie=Ye.forwardRef(({className:e,...t},r)=>be(re.Root,{ref:r,className:f("peer h-4 w-4 shrink-0 rounded-sm border border-input ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-checkbox data-[state=checked]:text-primary",e),...t,children:be(re.Indicator,{className:f("flex items-center justify-center text-current"),children:be(qt,{className:"h-4 w-4"})})}));ie.displayName=re.Root.displayName;import{Fragment as Kt,jsx as A,jsxs as se}from"react/jsx-runtime";function le({name:e,defaultValue:t,description:r,label:a,onChange:s,multiple:n,options:p,component:v,...F}){let{components:m}=S(),{control:i}=_(),u=o((c,l,d)=>{let g=d.value?[...d.value]:[];l?g.includes(c)||d.onChange([...g,c]):d.onChange(g.filter(y=>y!==c))},"handleCheckboxChange");return A(P,{control:i,name:e,defaultValue:t,render:({field:c,fieldState:l})=>{let d=v||m?.checkbox;if(d){let g={name:e,description:r,label:a,defaultValue:t,multiple:n,options:p,...F};return A(d,{field:{...c,onChange:o(y=>{if(n){let{checked:b,value:x}=y.target;u(x,b,c),s?.(b);return}c.onChange(y),s?.(y)},"onChange")},fieldState:l,fieldData:g})}return se(k,{"data-field":e,className:f(`RemoteFlows__CheckBoxField__Item__${e}`),children:[A(R,{children:se(Kt,{children:[p&&n?A(N,{children:a}):null,p&&n?p.map(g=>se("div",{className:"flex space-x-2",children:[A(ie,{id:g.value,onCheckedChange:y=>{u(g.value,y===!0,c),s?.(y,g.value)},checked:c.value?.includes(g.value),className:"RemoteFlows__CheckBox__Input"}),A(N,{htmlFor:g.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:g.label})]},g.value)):se("div",{className:"flex space-x-2",children:[A(ie,{id:e,onCheckedChange:g=>{c.onChange(g),s?.(g)},checked:c.value,className:"RemoteFlows__CheckBox__Input"}),A(N,{htmlFor:e,className:"mb-0 RemoteFlows__CheckBox__Label",children:a})]})]})}),r&&A(w,{children:r}),l.error&&A(T,{})]})}})}o(le,"CheckBoxField");import{CalendarIcon as Qt}from"lucide-react";import{PopoverClose as Zt}from"@radix-ui/react-popover";import{ChevronLeft as Yt,ChevronRight as jt}from"lucide-react";import{DayPicker as Xt}from"react-day-picker";import{jsx as Se}from"react/jsx-runtime";function je({className:e,classNames:t,showOutsideDays:r=!0,...a}){return Se(Xt,{showOutsideDays:r,className:f("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:f(xe({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:f("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",a.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:f(xe({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:o(({className:s,...n})=>Se(Yt,{className:f("size-4",s),...n}),"IconLeft"),IconRight:o(({className:s,...n})=>Se(jt,{className:f("size-4",s),...n}),"IconRight")},...a})}o(je,"Calendar");import*as z from"@radix-ui/react-popover";import{jsx as me}from"react/jsx-runtime";function ce({...e}){return me(z.Root,{"data-slot":"popover",...e})}o(ce,"Popover");function de({...e}){return me(z.Trigger,{"data-slot":"popover-trigger",...e})}o(de,"PopoverTrigger");function pe({className:e,align:t="center",sideOffset:r=4,...a}){return me(z.Portal,{children:me(z.Content,{"data-slot":"popover-content",align:t,sideOffset:r,className:f("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...a})})}o(pe,"PopoverContent");import{format as Xe}from"date-fns";import{Fragment as eo,jsx as W,jsxs as Pe}from"react/jsx-runtime";function Qe({description:e,label:t,name:r,minDate:a,onChange:s,component:n,...p}){let{components:v}=S(),{control:F}=_(),m;return p.meta?.mot&&typeof p.meta.mot=="number"?m=ze(p.meta.mot):a&&(m=new Date(a)),W(P,{control:F,name:r,render:({field:i,fieldState:u})=>{let c=n||v?.date;if(c){let l={description:e,label:t,name:r,onChange:s,...m&&{minDate:m.toISOString()},...p};return W(c,{field:{...i,onChange:o(d=>{i.onChange(d),s?.(d)},"onChange")},fieldState:u,fieldData:l})}return Pe(k,{"data-field":r,className:`flex flex-col RemoteFlows__DatePickerField__Item__${r}`,children:[W(N,{className:"RemoteFlows__DatePickerField__Label",children:t}),Pe(ce,{children:[W(de,{asChild:!0,children:W(R,{children:W("div",{children:Pe(O,{type:"button",variant:"outline",className:f("w-full pl-3 text-left font-normal",!i.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${r}`,children:[i.value&&W(eo,{children:Xe(i.value,"yyyy-MM-dd")}),W(Qt,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),W(pe,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:W(je,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:i.value?new Date(i.value):void 0,onSelect:l=>{i.onChange(l?Xe(l,"yyyy-MM-dd"):null),s?.(l)},defaultMonth:m,components:{DayContent:o(l=>W(Zt,{children:l.date.getDate()}),"DayContent")},...m&&{disabled:o(l=>l<m,"disabled")}})})]}),e?W(w,{children:e}):null,u.error&&W(T,{className:"RemoteFlows__DatePickerField__Error"})]})}})}o(Qe,"DatePickerField");import{cva as to}from"class-variance-authority";import{jsx as Ne}from"react/jsx-runtime";var oo=to("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"bg-card bg-warning border-warning-border [&>svg]:text-current"}},defaultVariants:{variant:"default"}});function Ze({className:e,variant:t,...r}){return Ne("div",{"data-slot":"alert",role:"alert",className:f(oo({variant:t}),e),...r})}o(Ze,"Alert");function et({className:e,...t}){return Ne("div",{"data-slot":"alert-title",className:f("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t})}o(et,"AlertTitle");function tt({className:e,...t}){return Ne("div",{"data-slot":"alert-description",className:f("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}o(tt,"AlertDescription");import{AlertCircle as ro}from"lucide-react";import{jsx as ue,jsxs as ao}from"react/jsx-runtime";function fe({title:e,description:t,severity:r}){let{components:a}=S();if(a?.statement){let s=a?.statement;return ue(s,{data:{title:e,description:t,severity:r}})}return ao(Ze,{variant:"warning",children:[ue(ro,{className:"h-4 w-4"}),e&&ue(et,{children:e}),ue(tt,{children:t})]})}o(fe,"Statement");import{useEffect as no,useRef as ot}from"react";import{jsx as ge,jsxs as rt}from"react/jsx-runtime";import{createElement as io}from"react";function ke({label:e,name:t,fields:r,description:a,components:s,statement:n,isFlatFieldset:p}){let{watch:v,trigger:F,formState:m}=_(),i=r.map(({name:d})=>`${t}.${d}`),u=v(i),c=ot(u),l=ot(null);return no(()=>{let d=u,g=c.current,y=m.isSubmitted||m.submitCount>0,b=!1;for(let x=0;x<d.length;x++)if(d[x]!==void 0&&g[x]!==d[x]){b=!0;break}return b&&y&&(l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{F()},50)),c.current=[...d],()=>{l.current&&clearTimeout(l.current)}},[u,F,m.isSubmitted,m.submitCount]),rt("fieldset",{className:f("border-1 border-input p-4 rounded-xl",`RemoteFlows__FieldSetField__${t}`),children:[ge("legend",{className:"text-sm font-semibold px-2",children:e}),a?ge("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:a}}):null,rt("div",{className:"grid gap-4",children:[r.map(d=>{let g=X[d.type];if(d.isVisible===!1||d.deprecated)return null;if(d.Component){let{Component:y}=d;return ge(y,{...d},d.name)}return d.inputType==="select"&&d.multiple&&(g=X["multi-select"]),io(g,{...d,key:d.name,name:`${p?d.name:`${t}.${d.name}`}`,component:s?.[d.type]})}),n?ge(fe,{...n}):null]})]})}o(ke,"FieldSetField");import{useState as so,useRef as lo}from"react";import{Upload as mo,X as co}from"lucide-react";import{jsx as U,jsxs as Re}from"react/jsx-runtime";function at({onChange:e,className:t,multiple:r}){let[a,s]=so([]),n=lo(null),p=o(m=>{m.preventDefault(),n.current?.click()},"handleClick"),v=o(m=>{if(m.target.files&&m.target.files.length>0){let i=Array.from(m.target.files);s(i),e(m)}},"handleChange"),F=o(m=>{s(i=>i.filter(u=>u!==m))},"onRemoveFile");return Re("div",{className:f("flex flex-col items-start gap-4",t),children:[U("input",{type:"file",ref:n,onChange:v,className:"hidden","aria-label":"File upload",multiple:r}),Re(O,{type:"button",onClick:p,className:"gap-2",children:[U(mo,{className:"h-4 w-4"}),"Choose File"]}),a.length===0&&U("div",{className:"text-sm",children:r?U("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):U("span",{className:"font-medium",children:"No file selected."})}),a.length>0&&a.map((m,i)=>Re("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",U("span",{className:"font-medium",children:m.name})," (",Math.round(m.size/1024)," KB)",U(O,{variant:"ghost",onClick:()=>F(m),children:U(co,{})})]},i))]})}o(at,"FileUploader");import{jsx as J,jsxs as uo}from"react/jsx-runtime";var po=o(e=>new Promise((t,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onload=()=>t(a.result),a.onerror=s=>r(s)}),"toBase64"),nt=o(async e=>{let t=e.target.files?Array.from(e.target.files):[];return await Promise.all(t.map(async a=>{let s=await po(a);return{name:a.name,content:s.split(",")[1]}}))},"convertFilesToBase64");function it({name:e,description:t,label:r,multiple:a,onChange:s,component:n,...p}){let{components:v}=S(),{control:F}=_();return J(P,{control:F,name:e,render:({field:m,fieldState:i})=>{let u=n||v?.file;if(u){let c={name:e,description:t,label:r,multiple:a,...p};return J(u,{field:{...m,value:null,onChange:o(async l=>{let d=await nt(l);m.onChange(d),s?.(d)},"onChange")},fieldState:i,fieldData:c})}return uo(k,{"data-field":e,className:`RemoteFlows__FileUpload__Item__${e}`,children:[J(N,{className:"RemoteFlows__FileUpload__Label",children:r}),J(R,{children:J(at,{onChange:async c=>{let l=await nt(c);m.onChange(l),s?.(l)},multiple:a,className:f("RemoteFlows__FileUpload__Input")})}),t&&J("div",{className:"flex items-center justify-between",children:J(w,{className:"RemoteFlows__FileUpload__Description",children:t})}),i.error&&J(T,{className:"RemoteFlows__FileUpload__Error"})]})}})}o(it,"FileUploadField");import{jsx as we}from"react/jsx-runtime";function Fe(e){let{components:t}=S(),{control:r}=_(),a=e.component||t?.number;return a?we(P,{control:r,name:e.name,render:({field:s,fieldState:n})=>we(a,{field:{...s,onChange:o(p=>{s.onChange(p),e.onChange?.(p)},"onChange")},fieldState:n,fieldData:e})}):we(V,{...e,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$"})}o(Fe,"NumberField");import*as Q from"@radix-ui/react-radio-group";import{CircleIcon as fo}from"lucide-react";import{jsx as ve}from"react/jsx-runtime";function st({className:e,...t}){return ve(Q.Root,{"data-slot":"radio-group",className:f("grid gap-3",e),...t})}o(st,"RadioGroup");function lt({className:e,...t}){return ve(Q.Item,{"data-slot":"radio-group-item",className:f("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:ve(Q.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:ve(fo,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}o(lt,"RadioGroupItem");import{Fragment as go,jsx as $,jsxs as De}from"react/jsx-runtime";function mt({name:e,defaultValue:t,description:r,label:a,options:s,onChange:n,component:p,...v}){let{components:F}=S(),{control:m}=_();return $(P,{control:m,name:e,defaultValue:t,render:({field:i,fieldState:u})=>{let c=p||F?.radio;if(c){let l={name:e,defaultValue:t,description:r,label:a,options:s,...v};return $(c,{field:{...i,onChange:o(d=>{i.onChange(d),n?.(d)},"onChange")},fieldState:u,fieldData:l})}return De(k,{className:f("space-y-3",`RemoteFlows__RadioGroupField__Item__${e}`),"data-field":e,children:[$(N,{children:a}),$(R,{children:$(st,{"aria-label":a||e,onValueChange:l=>{i.onChange(l),n?.(l)},value:i.value,className:"flex flex-col space-y-3",children:s?.map(l=>$(go,{children:De(k,{"data-field":e,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[$(R,{children:$(lt,{value:l.value,className:"RemoteFlows__RadioField__Input",disabled:l.disabled})}),De("div",{children:[$(N,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:l.label}),l.description&&$(w,{className:"mt-2",children:l.description})]})]},l.value)}))})}),r&&$(w,{children:r}),u.error&&$(T,{})]})}})}o(mt,"RadioGroupField");import*as C from"@radix-ui/react-select";import{CheckIcon as Fo,ChevronDownIcon as ct,ChevronUpIcon as vo}from"lucide-react";import{jsx as D,jsxs as Te}from"react/jsx-runtime";function dt({...e}){return D(C.Root,{"data-slot":"select",...e})}o(dt,"Select");function pt({...e}){return D(C.Group,{"data-slot":"select-group",...e})}o(pt,"SelectGroup");function ut({...e}){return D(C.Value,{"data-slot":"select-value",...e})}o(ut,"SelectValue");function ft({className:e,children:t,...r}){return Te(C.Trigger,{"data-slot":"select-trigger",className:f("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex w-full items-center justify-between rounded-xl border bg-transparent px-4 py-7 text-sm whitespace-nowrap transition-[color] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","focus-visible:border-focused",e),...r,children:[t,D(C.Icon,{asChild:!0,className:"absolute right-4",children:D(ct,{className:"size-4"})})]})}o(ft,"SelectTrigger");function gt({className:e,children:t,position:r="popper",...a}){return D(C.Portal,{children:Te(C.Content,{"data-slot":"select-content",className:f("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...a,children:[D(yo,{}),D(C.Viewport,{className:f(r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),D(ho,{})]})})}o(gt,"SelectContent");function Ft({className:e,children:t,...r}){return Te(C.Item,{"data-slot":"select-item",className:f("focus:bg-accent focus:text-accent-foreground min-h-11 justify-between [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-default items-center gap-2 py-2 px-4 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[D(C.ItemText,{children:t}),D("span",{className:"flex size-3.5 items-center justify-center",children:D(C.ItemIndicator,{children:D(Fo,{className:"size-4"})})})]})}o(Ft,"SelectItem");function yo({className:e,...t}){return D(C.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:f("flex cursor-default items-center justify-center py-1",e),...t,children:D(vo,{className:"size-4"})})}o(yo,"SelectScrollUpButton");function ho({className:e,...t}){return D(C.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:f("flex cursor-default items-center justify-center py-1",e),...t,children:D(ct,{className:"size-4"})})}o(ho,"SelectScrollDownButton");import{jsx as L,jsxs as vt}from"react/jsx-runtime";function yt({label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,component:p,...v}){let{control:F}=_(),{components:m}=S();return L(P,{defaultValue:a,control:F,name:t,render:({field:i,fieldState:u})=>{let c=p||m?.select;if(c){let l={label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,...v};return L(c,{field:{...i,onChange:o(d=>{let g=!isNaN(Number(d))&&typeof d!="boolean"?Number(d):d;i.onChange(g),n?.(g)},"onChange")},fieldState:u,fieldData:l})}return vt(k,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[L(N,{className:"RemoteFlows__SelectField__Label",children:e}),L(R,{children:L("div",{className:"relative",children:vt(dt,{value:i.value||"",onValueChange:l=>{let d=!isNaN(Number(l))&&typeof l!="boolean"?Number(l):l;i.onChange(d),n?.(d)},children:[L(ft,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!u.error,"aria-label":e,children:L("span",{className:"absolute",children:L(ut,{placeholder:e})})}),L(gt,{className:"RemoteFlows__SelectField__Content",children:L(pt,{className:"RemoteFlows__SelectField__Group",children:r.map(l=>L(Ft,{value:l.value,className:"RemoteFlows__SelectField__SelectItem",children:l.label},l.value))})})]})})}),s&&L(w,{children:s}),u.error&&L(T,{})]})}})}o(yt,"SelectField");import{useState as Ro}from"react";import{Fragment as bo,useState as So}from"react";import{Check as Po,ChevronDownIcon as No,X as ko}from"lucide-react";import{Command as Z}from"cmdk";import{SearchIcon as sn}from"lucide-react";import*as I from"@radix-ui/react-dialog";import{XIcon as _o}from"lucide-react";import{jsx as G,jsxs as Ie}from"react/jsx-runtime";function Me({...e}){return G(I.Root,{"data-slot":"dialog",...e})}o(Me,"Dialog");function ht({...e}){return G(I.Trigger,{"data-slot":"dialog-trigger",...e})}o(ht,"DialogTrigger");function Co({...e}){return G(I.Portal,{"data-slot":"dialog-portal",...e})}o(Co,"DialogPortal");function xo({className:e,...t}){return G(I.Overlay,{"data-slot":"dialog-overlay",className:f("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}o(xo,"DialogOverlay");function We({className:e,children:t,...r}){return Ie(Co,{"data-slot":"dialog-portal",children:[G(xo,{}),Ie(I.Content,{"data-slot":"dialog-content",className:f("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...r,children:[t,Ie(I.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__Dialog__Close",children:[G(_o,{}),G("span",{className:"sr-only",children:"Close"})]})]})]})}o(We,"DialogContent");function Le({className:e,...t}){return G("div",{"data-slot":"dialog-header",className:f("flex flex-col gap-2 text-center sm:text-left",e),...t})}o(Le,"DialogHeader");function Ee({className:e,...t}){return G(I.Title,{"data-slot":"dialog-title",className:f("text-lg leading-none font-semibold",e),...t})}o(Ee,"DialogTitle");import{jsx as ee,jsxs as dn}from"react/jsx-runtime";function _t({className:e,...t}){return ee(Z,{"data-slot":"command",className:f("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t})}o(_t,"Command");function Ct({className:e,...t}){return ee(Z.List,{"data-slot":"command-list",className:f("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}o(Ct,"CommandList");function xt({...e}){return ee(Z.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}o(xt,"CommandEmpty");function bt({className:e,...t}){return ee(Z.Group,{"data-slot":"command-group",className:f("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}o(bt,"CommandGroup");function St({className:e,...t}){return ee(Z.Separator,{"data-slot":"command-separator",className:f("bg-border -mx-1 h-px",e),...t})}o(St,"CommandSeparator");function Pt({className:e,...t}){return ee(Z.Item,{"data-slot":"command-item",className:f("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}o(Pt,"CommandItem");import{jsx as H,jsxs as te}from"react/jsx-runtime";function ye({options:e,selected:t,onChange:r,placeholder:a,...s}){let[n,p]=So(!1),v=o(i=>{r(t.filter(u=>u.value!==i.value))},"handleUnselect"),F=e.some(i=>i.category),m=e.reduce((i,u)=>{let c=u.category||"Uncategorized";return i[c]||(i[c]=[]),i[c].push(u),i},{});return te(ce,{open:n,onOpenChange:p,...s,children:[H(de,{children:te(O,{variant:"outline",role:"combobox","aria-expanded":n,className:"w-full justify-between font-normal",type:"button",children:[H("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:t.length>0?t.map(i=>te(Ke,{variant:"secondary",className:"mr-1 mb-1",children:[i.label,H("div",{role:"button",tabIndex:0,"aria-label":`remove ${i.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:u=>{u.key==="Enter"&&v(i)},onMouseDown:u=>{u.preventDefault(),u.stopPropagation()},onClick:()=>v(i),children:H(ko,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},i.label)):H("span",{className:"text-foreground",children:a})}),H(No,{className:"size-4"})]})}),H(pe,{align:"start",className:"w-full p-0",children:H(_t,{children:te(Ct,{children:[H(xt,{children:"No item found."}),Object.entries(m).map(([i,u],c)=>te(bo,{children:[c>0&&H(St,{}),H(bt,{heading:F?i:void 0,children:u.map(l=>{let d=t.some(g=>g.value===l.value);return te(Pt,{onSelect:()=>{r(d?t.filter(g=>g.value!==l.value):[...t,l])},children:[H(Po,{className:f("mr-2 h-4 w-4",d?"opacity-100":"opacity-0")}),l.label]},l.label)})})]},i))]})})})]})}o(ye,"MultiSelect");import{jsx as q,jsxs as wo}from"react/jsx-runtime";function Nt({label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,$meta:p,component:v,...F}){let{control:m}=_(),{components:i}=S(),[u,c]=Ro([]);return q(P,{defaultValue:a,control:m,name:t,render:({field:l,fieldState:d})=>{let g=v||i?.countries;if(g){let x={label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,$meta:p,...F};return q(g,{field:{...l,onChange:o(E=>{l.onChange(E),n?.(E)},"onChange")},fieldState:d,fieldData:x})}let y=[...Object.entries(p?.regions||{}).map(([x,E])=>({value:E,label:x,category:"Regions"})),...Object.entries(p?.subregions||{}).map(([x,E])=>({value:E,label:x,category:"Subregions"})),...r.map(x=>({...x,value:x.value,label:x.label,category:"Countries"}))],b=o(x=>{let E=x.map(({value:Jt})=>Jt);l.onChange(E),n?.(E),c(x)},"handleChange");return wo(k,{"data-field":t,className:`RemoteFlows__CountryField__Item__${t}`,children:[q(N,{className:"RemoteFlows__CountryField__Label",children:e}),q(R,{children:q(ye,{options:y,selected:u,onChange:b,...F})}),s&&q(w,{children:s}),d.error&&q(T,{})]})}})}o(Nt,"CountryField");import*as kt from"react";import{jsx as Do}from"react/jsx-runtime";var $e=kt.forwardRef(({className:e,...t},r)=>Do("textarea",{className:f("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...t}));$e.displayName="Textarea";import{jsx as K,jsxs as He}from"react/jsx-runtime";function Rt({name:e,description:t,label:r,onChange:a,maxLength:s,component:n,...p}){let{components:v}=S(),{control:F}=_();return K(P,{control:F,name:e,render:({field:m,fieldState:i})=>{let u=n||v?.textarea;if(u){let l={name:e,description:t,label:r,maxLength:s,...p};return K(u,{field:{...m,onChange:o(d=>{m.onChange(d),a?.(d)},"onChange")},fieldState:i,fieldData:l})}let c=m.value?.length??0;return He(k,{"data-field":e,className:`RemoteFlows__TextArea__Item__${e}`,children:[K(N,{className:"RemoteFlows__TextArea__Label",children:r}),K(R,{children:K($e,{...m,value:m.value??"",onChange:l=>{m.onChange(l),a?.(l)},className:f(i.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:r})}),(t||s)&&He("div",{className:"flex items-center justify-between",children:[t&&K(w,{className:"RemoteFlows__TextArea__Description",children:t}),s&&He("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[c,"/",s]})]}),i.error&&K(T,{className:"RemoteFlows__TextArea__Error"})]})}})}o(Rt,"TextAreaField");import{jsx as Be}from"react/jsx-runtime";function wt(e){let{components:t}=S(),{control:r}=_(),a=e.component||t?.email;return a?Be(P,{control:r,name:e.name,render:({field:s,fieldState:n})=>Be(a,{field:{...s,onChange:o(p=>{s.onChange(p),e.onChange?.(p)},"onChange")},fieldState:n,fieldData:e})}):Be(V,{...e,type:"email"})}o(wt,"EmailField");import{jsx as Dt}from"react/jsx-runtime";function Tt(e){let{control:t}=_();return Dt(P,{control:t,name:e.name,render:({field:r})=>Dt("input",{...r,type:"hidden"})})}o(Tt,"HiddenField");import $o,{useEffect as Ho,useState as Ot}from"react";var It=o((e,t,r)=>{if(e&&"reportValidity"in e){let a=ae(r,t);e.setCustomValidity(a&&a.message||""),e.reportValidity()}},"r"),Oe=o((e,t)=>{for(let r in t.fields){let a=t.fields[r];a&&a.ref&&"reportValidity"in a.ref?It(a.ref,r,e):a&&a.refs&&a.refs.forEach(s=>It(s,r,e))}},"o"),Wt=o((e,t)=>{t.shouldUseNativeValidation&&Oe(e,t);let r={};for(let a in e){let s=ae(t.fields,a),n=Object.assign(e[a]||{},{ref:s&&s.ref});if(To(t.names||Object.keys(e),a)){let p=Object.assign({},ae(r,a));ne(p,"root",n),ne(r,a,p)}else ne(r,a,n)}return r},"s"),To=o((e,t)=>{let r=Mt(t);return e.some(a=>Mt(a).match(`^${r}\\.\\d+`))},"i");function Mt(e){return e.replace(/\]|\[/g,"")}o(Mt,"n");function Lt(e,t,r){return t===void 0&&(t={}),r===void 0&&(r={}),function(a,s,n){try{return Promise.resolve(function(p,v){try{var F=(t.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[r.mode==="sync"?"validateSync":"validate"](a,Object.assign({abortEarly:!1},t,{context:s}))).then(function(m){return n.shouldUseNativeValidation&&Oe({},n),{values:r.raw?Object.assign({},a):m,errors:{}}}))}catch(m){return v(m)}return F&&F.then?F.then(void 0,v):F}(0,function(p){if(!p.inner)throw p;return{values:{},errors:Wt((v=p,F=!n.shouldUseNativeValidation&&n.criteriaMode==="all",(v.inner||[]).reduce(function(m,i){if(m[i.path]||(m[i.path]={message:i.message,type:i.type}),F){var u=m[i.path].types,c=u&&u[i.type];m[i.path]=Ge(i.path,F,m,i.type,c?[].concat(c,i.message):i.message)}return m},{})),n)};var v,F}))}catch(p){return Promise.reject(p)}}}o(Lt,"o");import*as M from"yup";import Et from"lodash.groupby";import oe from"lodash.capitalize";var $t=60,he=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function Io(e){if(e<60)return`${e}m`;let t=Math.floor(e/$t),r=e%$t;return r>0?`${t}h${r}m`:`${t}h`}o(Io,"convertBreakDurationToHours");function Ht(e){let t=e.reduce((r,a)=>a.hours+r,0);return Number(t.toFixed(2))}o(Ht,"calculateTotalWorkHours");function Mo(e,t){let r=t.map(({day:n})=>n.toLowerCase()),a=r.indexOf(e),s=null;for(;a<r.length&&!s;){let n=r[a],p=r[a+1],v=he.indexOf(n)+1;he[v]===p||(s=n),a+=1}return s}o(Mo,"findLastConsecutiveDay");function Wo(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}o(Wo,"shouldSummarizeSchedule");function Lo(e){return Number.parseInt(e.break_duration_minutes)>0}o(Lo,"shouldSummarizeBreaks");function Bt(e){let t=e.filter(Wo),r=Et(t,v=>`${v.start_time}|${v.end_time}`),a=e.filter(Lo),s=Et(a,"break_duration_minutes"),n=Object.keys(r).map(v=>{let F=r[v],m=F[0].day,[i,u]=v.split("|"),c=`from <span>${i.replace(":","h")}</span> to <span>${u.replace(":","h")}</span>`,l=Mo(m,F),g=(l?F.findIndex(y=>y.day===l):-1)===F.length-1;return F.length===1?`${oe(m)}, ${c}`:!g||!l?F.reduce((y,b,x)=>{let E=oe(b.day);return x===F.length-1?`${y}and ${E}, ${c}`:`${y}<span>${E}</span>, `},""):`<span>${oe(m)}</span> to <span>${oe(l)}</span>, ${c}`}),p=Object.keys(s).reverse().map((v,F)=>{let m=F===0,i=s[v],u=Io(parseInt(v,10));if(Object.keys(s).length===1)return`With ${u} daily breaks`;if(i.length===1){let c=`${u} break on ${oe(i[0].day)}.`;return m?`With ${c}`:c}return i.reduce((c,l,d)=>{let g=oe(l.day);return d===0?`${c} ${g}`:d===i.length-1?`${c}, and ${g}.`:`${c}, ${g}`},m?`With ${u} break on`:`${u} break on`)});return{workHoursSummary:n,breakSummary:p}}o(Bt,"buildWorkScheduleSummary");function Ve(e){let{checked:t,start_time:r,end_time:a,break_duration_minutes:s}=e;if(!t)return 0;let[n,p]=r.split(":").map(Number),[v,F]=a.split(":").map(Number),m=n*60+p,c=(v*60+F-m-Number.parseInt(s||"0"))/60;return c===Math.floor(c)?c:Number(c.toFixed(2))}o(Ve,"calculateHours");var Eo={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function _e(e){return Eo[e]}o(_e,"getShortWeekday");import{jsx as h,jsxs as B}from"react/jsx-runtime";var Bo=M.object({day:M.string().required(),checked:M.boolean().required(),start_time:M.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:o(e=>e.required("Required"),"then"),otherwise:o(e=>e.optional().nullable(),"otherwise")}),end_time:M.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:o(e=>e.required("Required"),"then"),otherwise:o(e=>e.optional().nullable(),"otherwise")}),hours:M.number().default(0),break_duration_minutes:M.string().default("0")}),Oo=M.object({schedule:M.array(Bo)});function Vo({defaultSchedule:e,onSubmit:t}){let[r,a]=Ot(!1),s=he.map(g=>{let y=e.find(b=>b.day.toLowerCase()===_e(g).toLowerCase()||b.day.toLowerCase()===g.toLowerCase());return y?{...y,day:_e(g),checked:!0}:{...e[0],checked:!1,day:_e(g)}}),n=Je({defaultValues:{schedule:s},resolver:Lt(Oo)}),{handleSubmit:p,watch:v,reset:F,control:m,formState:i}=n,{fields:u}=Ue({name:"schedule",control:m}),c=v("schedule");function l(g){let y=g.schedule.filter(({checked:b})=>b).map(b=>({...b,hours:Ve(b)}));t(y),a(!1)}o(l,"handleSubmitWorkingHours");function d(){F(),a(!1)}return o(d,"handleCancel"),h("div",{className:"flex items-center justify-between",children:B(Me,{open:r,onOpenChange:a,children:[h(ht,{asChild:!0,children:h(O,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),B(We,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[h(Le,{children:h(Ee,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),h(qe,{...n,children:B("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[B("div",{className:"rounded-lg",children:[h("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),B("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[h("div",{className:"col-span-2"}),h("div",{className:"col-span-3 text-center",children:"START"}),h("div",{className:"col-span-1 text-center"}),h("div",{className:"col-span-3 text-center",children:"END"}),h("div",{className:"col-span-2 text-center",children:"HOURS"})]}),h("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:u.map((g,y)=>{let b=c[y],x=Ve(b);return B($o.Fragment,{children:[B("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[h("div",{className:"col-span-2 flex items-center gap-3",children:h(le,{label:g.day,name:`schedule.${y}.checked`})}),h("div",{className:"col-span-3",children:h(V,{name:`schedule.${y}.start_time`,includeErrorMessage:!1})}),h("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),h("div",{className:"col-span-3",children:h(V,{name:`schedule.${y}.end_time`,includeErrorMessage:!1})}),h("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(x)?"-":`${x} hours`})]}),B("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[h("div",{className:"col-span-2 text-gray-500",children:"Break"}),h("div",{className:"col-span-2",children:h(V,{name:`schedule.${y}.break_duration_minutes`,includeErrorMessage:!1})}),h("div",{className:"col-span-2 text-gray-500",children:"minutes"}),h("div",{className:"col-span-4"})]})]},g.id)})})]}),Object.keys(i.errors).length>0&&h("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),B("div",{className:"flex gap-4 pt-4",children:[h(O,{type:"button",className:"reset-button",variant:"outline",onClick:d,children:"Cancel"}),h(O,{type:"button",className:"submit-button",onClick:p(l),children:"Save Schedule"})]})]})})]})]})})}o(Vo,"WorkScheduleSelectionForm");function Vt(e){let{components:t}=S(),{setValue:r,control:a,watch:s}=_(),n=s(e.name),[p,v]=Ot(n),{workHoursSummary:F,breakSummary:m}=Bt(p),i=Ht(p);Ho(()=>{r(e.name,p)},[p,e.name,r]);function u(l){v(l)}o(u,"onSubmit");let c=e.component||t?.["work-schedule"];return c?h(P,{control:a,name:e.name,render:({field:l,fieldState:d})=>h(c,{field:{...l,onChange:o(g=>{l.onChange(g),e.onChange?.(g)},"onChange")},fieldState:d,fieldData:{...e,defaultFormattedValue:{workHoursSummary:F,breakSummary:m,totalWorkHours:i}}})}):B("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[h("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),B("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[h("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:F.join(", ")}}),h("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:m.join()}),B("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",h("span",{children:i})," hours per week"]}),h(Vo,{defaultSchedule:p,onSubmit:u})]})]})}o(Vt,"WorkScheduleField");import{useState as Ao}from"react";import{jsx as Y,jsxs as zo}from"react/jsx-runtime";function At({label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,component:p,...v}){let{control:F}=_(),{components:m}=S(),[i,u]=Ao();return Y(P,{defaultValue:a,control:F,name:t,render:({field:c,fieldState:l})=>{let d=p||m?.["multi-select"];if(d){let y={label:e,name:t,options:r,defaultValue:a,description:s,onChange:n,...v};return Y(d,{field:{...c,onChange:o(b=>{c.onChange(b),n?.(b)},"onChange")},fieldState:l,fieldData:y})}let g=i||r.filter(y=>c.value.includes(y.value));return zo(k,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[Y(N,{className:"RemoteFlows__SelectField__Label",children:e}),Y(R,{children:Y(ye,{options:r,selected:g,onChange:y=>{let b=y.map(({value:x})=>x);c.onChange(b),n?.(b),u(y)},...v})}),s&&Y(w,{children:s}),l.error&&Y(T,{})]})}})}o(At,"MultiSelectField");import{jsx as Go}from"react/jsx-runtime";var zt=o(e=>Go(Fe,{maxLength:15,...e}),"MoneyField");var X={checkbox:le,text:V,email:wt,money:zt,select:yt,"multi-select":At,radio:mt,number:Fe,file:it,fieldset:ke,"fieldset-flat":ke,date:Qe,textarea:Rt,countries:Nt,hidden:Tt,"work-schedule":Vt};import{useEffect as Uo}from"react";import{Fragment as Jo,jsx as Ce,jsxs as qo}from"react/jsx-runtime";function Gt({name:e,value:t,description:r,statement:a}){let{setValue:s}=_();return Uo(()=>{s(e,t)},[]),Ce("div",{children:a?qo(Jo,{children:[Ce("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:a?.title}}),Ce("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:a?.description}})]}):Ce("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:r}})})}o(Gt,"ForcedValueField");import{Fragment as jo,jsx as j,jsxs as Ut}from"react/jsx-runtime";function Yo(e){return e.const!==void 0&&e.const===e.default&&e.inputType!=="checkbox"&&e.inputType!=="hidden"}o(Yo,"checkFieldHasForcedValue");var fs=o(({fields:e,fieldsets:t,fieldValues:r,components:a})=>{if(!e||e.length===0)return null;let s=t&&r?Ae({fields:e,fieldsets:t,values:r}):e;return j(jo,{children:s.map(n=>{if(n.isVisible===!1||n.deprecated)return null;if(Yo(n))return j(Gt,{name:n.name,description:n.description,value:n.const,statement:n.statement},n.name);if(n.Component){let{Component:v}=n;return j(v,{...n},n.name)}let p=X[n.inputType];return n.inputType==="select"&&n.multiple&&(p=X["multi-select"]),n.inputType==="fieldset"?j(p,{...n,components:a}):n.inputType==="fieldset-flat"?j(p,{...n,components:a,isFlatFieldset:!0}):p?Ut(Ko,{children:[j(p,{...n,component:a&&a[n.inputType]}),n.statement?j(fe,{...n.statement}):null]},n.name):Ut("p",{className:"error",children:["Field type ",n.inputType," not supported"]})})})},"JSONSchemaFormFields");export{fs as a};
2
- //# sourceMappingURL=chunk-SYYKU72Z.js.map