@redneckz/wildless-cms-uni-blocks 0.14.598 → 0.14.600

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 (57) hide show
  1. package/bundle/bundle.umd.js +37 -12
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -1
  4. package/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +7 -1
  5. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -3
  6. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  7. package/dist/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -1
  8. package/dist/components/ApplicationLeadForm/getInitialFormState.js +6 -1
  9. package/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  10. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +7 -1
  11. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -1
  12. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  13. package/dist/ui-kit/VerifyPhoneDialog/InputCode.js +2 -6
  14. package/dist/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
  15. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -3
  16. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  17. package/lib/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -1
  18. package/lib/components/ApplicationLeadForm/getInitialFormState.js +6 -1
  19. package/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  20. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +7 -1
  21. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -1
  22. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  23. package/lib/ui-kit/VerifyPhoneDialog/InputCode.js +2 -6
  24. package/lib/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
  25. package/mobile/bundle/bundle.umd.js +37 -12
  26. package/mobile/bundle/bundle.umd.min.js +1 -1
  27. package/mobile/bundle/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -1
  28. package/mobile/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +7 -1
  29. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -3
  30. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  31. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -1
  32. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js +6 -1
  33. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  34. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +7 -1
  35. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -1
  36. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  37. package/mobile/dist/ui-kit/VerifyPhoneDialog/InputCode.js +2 -6
  38. package/mobile/dist/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
  39. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -3
  40. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  41. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.d.ts +1 -1
  42. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js +6 -1
  43. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  44. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +7 -1
  45. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -1
  46. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  47. package/mobile/lib/ui-kit/VerifyPhoneDialog/InputCode.js +2 -6
  48. package/mobile/lib/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
  49. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +9 -3
  50. package/mobile/src/components/ApplicationLeadForm/getInitialFormState.tsx +12 -1
  51. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +19 -1
  52. package/mobile/src/ui-kit/VerifyPhoneDialog/InputCode.tsx +2 -6
  53. package/package.json +1 -1
  54. package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +9 -3
  55. package/src/components/ApplicationLeadForm/getInitialFormState.tsx +12 -1
  56. package/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +19 -1
  57. package/src/ui-kit/VerifyPhoneDialog/InputCode.tsx +2 -6
@@ -2568,6 +2568,15 @@
2568
2568
  : _ === (dataValue?.key ?? dataValue);
2569
2569
  }));
2570
2570
 
2571
+ function useLocalStorage(key) {
2572
+ const [storedValue, setStoredValue] = useState(JSON.parse(globalThis.localStorage?.getItem(key) || 'null'));
2573
+ const setValue = useCallback((value) => {
2574
+ globalThis.localStorage?.setItem(key, JSON.stringify(value));
2575
+ setStoredValue(value);
2576
+ }, [key, globalThis.localStorage]);
2577
+ return [storedValue, setValue];
2578
+ }
2579
+
2571
2580
  const CONSENTS = [
2572
2581
  'processPersonalDataLeadFlg',
2573
2582
  'consentProviderFlg',
@@ -2613,7 +2622,12 @@
2613
2622
  participantAddress: '',
2614
2623
  participantDateRegistration: undefined,
2615
2624
  };
2616
- const getInitialFormState = (inputs, typeForm = '') => {
2625
+ const getInitialFormState = (inputs, savedForm, typeForm = '') => {
2626
+ if (savedForm) {
2627
+ const formState = JSON.parse(savedForm);
2628
+ formState.birthday = new Date(formState?.birthday || 0);
2629
+ return formState;
2630
+ }
2617
2631
  const formState = Object.fromEntries(inputs.map((_) => [
2618
2632
  _.name,
2619
2633
  (_.fieldType === 'ved' && _?.defaultValue) || initialFormState[_.name],
@@ -2905,12 +2919,8 @@
2905
2919
  }, [activeIndex]);
2906
2920
  const handleChange = useCallback((index) => (event) => {
2907
2921
  const { value } = event.currentTarget;
2908
- const isLastIndex = index === values.length - 1;
2909
- const isMultipleCharacters = value.length > 1;
2910
- if (isLastIndex && isMultipleCharacters) {
2911
- return;
2912
- }
2913
- setValues(values.map((_, i) => (i === index ? value : _)));
2922
+ const oneValue = value.slice(0, 1);
2923
+ setValues(values.map((_, i) => (i === index ? oneValue : _)));
2914
2924
  setActiveIndex(index + 1);
2915
2925
  }, [values]);
2916
2926
  const handleKeyDown = useCallback((currentIndex) => (event) => {
@@ -3028,8 +3038,16 @@
3028
3038
  };
3029
3039
  };
3030
3040
 
3031
- const useApplicationLeadApi = (inputs, programId) => {
3041
+ const useApplicationLeadApi = ({ inputs, programId, saveForm }) => {
3032
3042
  const [responseStatus, setResponseStatus] = useState('');
3043
+ const [, setTaskId] = useLocalStorage('taskId');
3044
+ const [, setProfileId] = useLocalStorage('profileId');
3045
+ const [, setParticipantId] = useLocalStorage('participantId');
3046
+ const saveUserData = useCallback((participantId, taskId, profileId) => {
3047
+ setParticipantId(participantId);
3048
+ setTaskId(taskId);
3049
+ setProfileId(profileId);
3050
+ }, []);
3033
3051
  // eslint-disable-next-line consistent-return
3034
3052
  const handleSubmit = useCallback(async (formData) => {
3035
3053
  const feedbackValidator = objectValidator(getObjectValidator(inputs));
@@ -3050,6 +3068,8 @@
3050
3068
  programId,
3051
3069
  });
3052
3070
  await RETAIL_API.UpdateUserTask(getUpdateUserTaskData(participantId, taskId, profileId, formData));
3071
+ saveUserData(participantId, taskId, profileId);
3072
+ saveForm(JSON.stringify(formData));
3053
3073
  globalThis.location.href = '/credit-lead';
3054
3074
  }
3055
3075
  catch {
@@ -3092,12 +3112,17 @@
3092
3112
  }, []);
3093
3113
  };
3094
3114
 
3095
- const ApplicationLeadForm = JSX(({ className, title, programId, typeForm = '', sections = [], button, ...rest }) => {
3115
+ const ApplicationLeadForm = JSX(({ className, title, programId = '', typeForm = '', sections = [], button, ...rest }) => {
3096
3116
  const inputs = (sections?.flatMap((_) => _?.inputs) || []);
3097
- const initialFormState = getInitialFormState(inputs, typeForm);
3098
3117
  const [responseType, setResponseType] = useState('');
3099
3118
  useInitApplicationLead();
3100
- const { handleSubmit, responseStatus } = useApplicationLeadApi(inputs, programId || '');
3119
+ const [leadForm, setLeadForm] = useLocalStorage('leadForm');
3120
+ const initialFormState = getInitialFormState(inputs, leadForm, typeForm);
3121
+ const { handleSubmit, responseStatus } = useApplicationLeadApi({
3122
+ inputs,
3123
+ programId,
3124
+ saveForm: setLeadForm,
3125
+ });
3101
3126
  if (responseStatus) {
3102
3127
  const responseTypeDialog = useResponseTypeDialog({ responseType: responseStatus, typeForm });
3103
3128
  responseTypeDialog.open();
@@ -7556,7 +7581,7 @@
7556
7581
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
7557
7582
  });
7558
7583
 
7559
- const packageVersion = "0.14.597";
7584
+ const packageVersion = "0.14.599";
7560
7585
 
7561
7586
  exports.Blocks = Blocks;
7562
7587
  exports.ContentPage = ContentPage;