@sanctum-key/react-native-sdk 1.0.48 → 1.0.50

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 (58) hide show
  1. package/build/package.json +1 -1
  2. package/build/src/components/KYCElements/CountrySelection.d.ts.map +1 -1
  3. package/build/src/components/KYCElements/CountrySelection.js +33 -108
  4. package/build/src/components/KYCElements/CountrySelection.js.map +1 -1
  5. package/build/src/components/KYCElements/CountrySelectionTemplate.d.ts.map +1 -1
  6. package/build/src/components/KYCElements/CountrySelectionTemplate.js +50 -164
  7. package/build/src/components/KYCElements/CountrySelectionTemplate.js.map +1 -1
  8. package/build/src/components/KYCElements/DocumentTypeSelection.d.ts.map +1 -1
  9. package/build/src/components/KYCElements/DocumentTypeSelection.js +32 -109
  10. package/build/src/components/KYCElements/DocumentTypeSelection.js.map +1 -1
  11. package/build/src/components/KYCElements/IDCardCapture.d.ts.map +1 -1
  12. package/build/src/components/KYCElements/IDCardCapture.js +58 -25
  13. package/build/src/components/KYCElements/IDCardCapture.js.map +1 -1
  14. package/build/src/components/KYCElements/InitializationStep.d.ts.map +1 -1
  15. package/build/src/components/KYCElements/InitializationStep.js +13 -1
  16. package/build/src/components/KYCElements/InitializationStep.js.map +1 -1
  17. package/build/src/components/KYCElements/LocationCaptureTemplate.d.ts.map +1 -1
  18. package/build/src/components/KYCElements/LocationCaptureTemplate.js +46 -157
  19. package/build/src/components/KYCElements/LocationCaptureTemplate.js.map +1 -1
  20. package/build/src/components/KYCElements/SelfieCapture.d.ts.map +1 -1
  21. package/build/src/components/KYCElements/SelfieCapture.js +28 -24
  22. package/build/src/components/KYCElements/SelfieCapture.js.map +1 -1
  23. package/build/src/components/KYCElements/VerificationProgressTemplate.d.ts.map +1 -1
  24. package/build/src/components/KYCElements/VerificationProgressTemplate.js +31 -40
  25. package/build/src/components/KYCElements/VerificationProgressTemplate.js.map +1 -1
  26. package/build/src/components/SelfieCapture.d.ts.map +1 -1
  27. package/build/src/components/SelfieCapture.js +33 -90
  28. package/build/src/components/SelfieCapture.js.map +1 -1
  29. package/build/src/components/TemplateKYCExample.d.ts.map +1 -1
  30. package/build/src/components/TemplateKYCExample.js +69 -120
  31. package/build/src/components/TemplateKYCExample.js.map +1 -1
  32. package/build/src/components/TemplateKYCFlowRefactored.d.ts +0 -2
  33. package/build/src/components/TemplateKYCFlowRefactored.d.ts.map +1 -1
  34. package/build/src/components/TemplateKYCFlowRefactored.js +95 -210
  35. package/build/src/components/TemplateKYCFlowRefactored.js.map +1 -1
  36. package/build/src/hooks/useTemplateKYCFlow.d.ts.map +1 -1
  37. package/build/src/hooks/useTemplateKYCFlow.js.map +1 -1
  38. package/build/src/types/KYC.types.d.ts.map +1 -1
  39. package/build/src/types/KYC.types.js.map +1 -1
  40. package/build/src/utils/logger.d.ts +12 -4
  41. package/build/src/utils/logger.d.ts.map +1 -1
  42. package/build/src/utils/logger.js +156 -28
  43. package/build/src/utils/logger.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/components/KYCElements/CountrySelection.tsx +36 -109
  46. package/src/components/KYCElements/CountrySelectionTemplate.tsx +67 -266
  47. package/src/components/KYCElements/DocumentTypeSelection.tsx +34 -110
  48. package/src/components/KYCElements/IDCardCapture.tsx +93 -39
  49. package/src/components/KYCElements/InitializationStep.tsx +17 -2
  50. package/src/components/KYCElements/LocationCaptureTemplate.tsx +53 -170
  51. package/src/components/KYCElements/SelfieCapture.tsx +50 -58
  52. package/src/components/KYCElements/VerificationProgressTemplate.tsx +38 -45
  53. package/src/components/SelfieCapture.tsx +44 -100
  54. package/src/components/TemplateKYCExample.tsx +94 -145
  55. package/src/components/TemplateKYCFlowRefactored.tsx +105 -239
  56. package/src/hooks/useTemplateKYCFlow.tsx +1 -0
  57. package/src/types/KYC.types.ts +0 -1
  58. package/src/utils/logger.ts +182 -29
@@ -1 +1 @@
1
- {"version":3,"file":"CountrySelectionTemplate.js","sourceRoot":"","sources":["../../../../src/components/KYCElements/CountrySelectionTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/F,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAmB9D,MAAM,mBAAmB,GAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAEjQ,MAAM,UAAU,GAA2B;IACzC,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,UAAU;IACtB,gBAAgB,EAAE,iBAAiB;IACnC,iBAAiB,EAAE,iBAAiB;IACpC,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,uBAAuB;CAC/C,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE,IAAI;IACxB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI;IACrB,2BAA2B,EAAE,IAAI;IACjC,uBAAuB,EAAE,IAAI;IAC7B,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,sBAAsB,EAAE,IAAI;IAC5B,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAA4C,CAAC,EAChF,SAAS,EACT,KAAK,EACL,aAAa,EACb,KAAK,EACL,QAAQ,GAAG,IAAI,GAChB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAgC,CAAC;IAC1D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAEvD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO,eAAe,EAAE,MAA0C,CAAC;IACrE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,GAAG,EAAE;QACjE,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO,QAAQ,CAAC;YAClC,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAgB,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;IACnG,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAgB,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC;IAC7G,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;IAE3F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;YACvC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5C,iBAAiB,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YAExC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,YAAY,GAAG,YAAY,EAAE,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAE5F,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;oBACrE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;oBAC3E,MAAM,WAAW,GAAI,cAAsB,CAAC,aAAa,IAAI,cAAc,CAAC;oBAE5E,IAAI,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;oBACjD,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;wBACtG,IAAI,QAAQ;4BAAE,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,cAAc,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;wBACpD,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3D,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7B,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,MAAM,iBAAiB,GAAG,YAAY,EAAE,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAE5F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEnD,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;aAC/B,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC3C,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACvD,IAAI,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEhE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YAAE,OAAO,kBAAkB,CAAC;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAEpD,OAAO,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACzC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/C,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAChD,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEtC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,mBAAmB;YAAE,OAAO,EAAE,CAAC;QAEpC,uEAAuE;QACvE,IAAI,YAAY,EAAE,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAChE,OAAO,YAAY,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;QAClE,CAAC;QAED,qDAAqD;QACrD,MAAM,cAAc,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC;QACvF,MAAM,WAAW,GAAI,cAAsB,CAAC,aAAa,IAAI,cAAc,CAAC;QAE5E,IAAI,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YACtG,IAAI,QAAQ;gBAAE,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,aAAa,GAA2B;gBAC5C,eAAe,EAAE,YAAY;gBAC7B,UAAU,EAAE,UAAU;gBACtB,iBAAiB,EAAE,gBAAgB;gBACnC,qBAAqB,EAAE,iBAAiB;gBACxC,uBAAuB,EAAE,qBAAqB;aAC/C,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,mBAAmB,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAEhE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC,mBAAmB,IAAI,CAAC,oBAAoB;YAAE,OAAO,EAAE,CAAC;QAE7D,IAAI,UAAU,GAAa,EAAE,CAAC;QAE9B,IAAI,YAAY,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAClF,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC;YACvF,MAAM,aAAa,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,CAAC;YAC/E,MAAM,WAAW,GAAI,cAAsB,CAAC,aAAa,IAAI,cAAc,CAAC;YAE5E,IAAI,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtG,IAAI,QAAQ;oBAAE,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,cAAc,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpD,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAC;QAE1C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM;SAC1C,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEhF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,MAAM,gBAAgB,GAAG,CAAC,IAAmB,EAAU,EAAE;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,EAAE;QAClD,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACpC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAE,EAAE;QACnD,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,EAAE;QACjD,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,OAAe,EAAE,MAAqB,EAAE,EAAE;QACxF,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,GAAG,cAAc,CAAC,WAA0C,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAyD;YACvE,IAAI,EAAE,WAAW;YACjB,GAAG,OAAO;YACV,aAAa,EAAE,OAAO;YACtB,YAAY,EAAE,OAAO;YACrB,MAAM,EAAE,MAAM,IAAI,SAAS;SAC5B,CAAC;QAEF,aAAa,CAAC,UAAU,CAAC,CAAC;QAE1B,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,cAAc,CAAC,cAAc,CAAC,CAAC;YAC/B,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;YAC1C,cAAc,CAAC,SAAS,CAAC,CAAC;YAC1B,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,WAAW,KAAK,SAAS,IAAI,mBAAmB,EAAE,CAAC;YACrD,cAAc,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,WAAW,KAAK,cAAc,IAAI,oBAAoB,EAAE,CAAC;YAClE,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,mBAAmB,EAAE,CAAC;oBACxB,iBAAiB,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,KAAK,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtD,IAAI,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;gBAChD,iBAAiB,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,OAAO,CACL,EACE;QAAA,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CACxB,WAAW,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAClG,oBAAoB,CAAC,SAAS,CAC9B,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,YAAY,CAAC,CAAC,cAAc,CAAC,CAC7B,WAAW,CAAC,CAAC,KAAK,CAAC,EAErB;QAAA,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,4BAA4B,CAAC,CAAC,KAAK,CAAC,CAC3E;UAAA,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAoC,EAAE,EAAE,CAAC,CAC/D,CAAC,gBAAgB,CACf,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAClB,KAAK,CAAC,CAAC;oBACL,MAAM,CAAC,MAAM;oBACb,mBAAmB,KAAK,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,cAAc;iBAC9D,CAAC,CACF,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC,CAElD;cAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAE9C;;cAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAChC;gBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACX,MAAM,CAAC,UAAU;oBACjB,mBAAmB,KAAK,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,kBAAkB;iBAClE,CAAC,CACA;kBAAA,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAClE;gBAAA,EAAE,IAAI,CACN;gBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CACtD;cAAA,EAAE,IAAI,CAEN;;cAAA,CAAC,mBAAmB,KAAK,OAAO,CAAC,IAAI,IAAI,CACvC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACX,MAAM,CAAC,SAAS;wBAChB,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC,UAAoB,IAAI,SAAS,EAAE;qBACpE,CAAC,CACA;kBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAC5C;gBAAA,EAAE,IAAI,CAAC,CACR,CACH;YAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC,CAEF;;UAAA,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CACjC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;cAAA,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,oBAAoB,CACzF;YAAA,EAAE,IAAI,CAAC,CACR,CACH;QAAA,EAAE,UAAU,CACd;MAAA,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,MAAM,YAAY,GAAG,oBAAoB,IAAI,YAAY,EAAE,0BAA0B,EAAE,CAAC,oBAAoB,CAAC;YAC3G,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;YACjF,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,kBAAkB,GAA8D;YACpF,YAAY,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,6BAA6B,EAAE,IAAI,EAAE,KAAK,EAAE;YACnF,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3D,gBAAgB,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,iBAAiB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,qBAAqB,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,4BAA4B,EAAE,IAAI,EAAE,KAAK,EAAE;SACtG,CAAC;QAEF,OAAO,CACL,EACE;QAAA,CAAC,YAAY,IAAI,CACf,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC1B;YAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CACpD;UAAA,EAAE,IAAI,CAAC,CACR,CACD;QAAA,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,4BAA4B,CAAC,CAAC,KAAK,CAAC,CAC3E;UAAA,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE;gBAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC7F,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;gBAEjC,OAAO,CACL,CAAC,gBAAgB,CACf,GAAG,CAAC,CAAC,OAAO,CAAC,CACb,KAAK,CAAC,CAAC;wBACL,MAAM,CAAC,MAAM;wBACb,oBAAoB,KAAK,OAAO,IAAI,MAAM,CAAC,cAAc;qBAC1D,CAAC,CACF,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAEjD;gBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CACtC;gBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAChC;kBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACX,MAAM,CAAC,UAAU;wBACjB,oBAAoB,KAAK,OAAO,IAAI,MAAM,CAAC,kBAAkB;qBAC9D,CAAC,CACA;oBAAA,CAAC,WAAW,CACd;kBAAA,EAAE,IAAI,CACR;gBAAA,EAAE,IAAI,CACN;gBAAA,CAAC,oBAAoB,KAAK,OAAO,IAAI,CACnC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACX,MAAM,CAAC,SAAS;4BAChB,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC,UAAoB,IAAI,SAAS,EAAE;yBACpE,CAAC,CACA;oBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAC5C;kBAAA,EAAE,IAAI,CAAC,CACR,CACH;cAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;YACJ,CAAC,CAAC,CACJ;QAAA,EAAE,UAAU,CACd;MAAA,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,OAAO,CACL,EACE;QAAA,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,4BAA4B,CAAC,CAAC,KAAK,CAAC,CAC3E;UAAA,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAa,EAAE,EAAE;gBACjD,OAAO,CACL,CAAC,gBAAgB,CACf,GAAG,CAAC,CAAC,KAAK,CAAC,CACX,KAAK,CAAC,CAAC;wBACL,MAAM,CAAC,MAAM;wBACb,cAAc,KAAK,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,cAAc;qBAC5D,CAAC,CACF,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAEnD;gBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAChC;kBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACX,MAAM,CAAC,UAAU;wBACjB,cAAc,KAAK,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,kBAAkB;qBAChE,CAAC,CACA;oBAAA,CAAC,SAAS,CAAC,KAAK,CAClB;kBAAA,EAAE,IAAI,CACN;kBAAA,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,IAAI,CACrC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAC1D,CACH;gBAAA,EAAE,IAAI,CACN;gBAAA,CAAC,cAAc,KAAK,SAAS,CAAC,KAAK,IAAI,CACrC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACX,MAAM,CAAC,SAAS;4BAChB,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC,UAAoB,IAAI,SAAS,EAAE;yBACpE,CAAC,CACA;oBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAC5C;kBAAA,EAAE,IAAI,CAAC,CACR,CACH;cAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;YACJ,CAAC,CAAC,CACJ;QAAA,EAAE,UAAU,CACd;MAAA,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAW,EAAE;QAChC,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,OAAO,gBAAgB,CAAC,SAAS,CAAC,MAAuB,CAAC,CAAC;YAC7D,KAAK,cAAc;gBACjB,OAAO,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kCAAkC,CAAC;YACtG,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iCAAiC,CAAC;YACtG;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAW,EAAE;QACtC,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,OAAO,gBAAgB,CAAC,SAAS,CAAC,YAA6B,CAAC,CAAC;YACnE,KAAK,cAAc;gBACjB,OAAO,KAAK,CAAC,eAAe,KAAK,IAAI;oBACnC,CAAC,CAAC,6CAA6C;oBAC/C,CAAC,CAAC,4DAA4D,CAAC;YACnE,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC,eAAe,KAAK,IAAI;oBACnC,CAAC,CAAC,0CAA0C;oBAC5C,CAAC,CAAC,yDAAyD,CAAC;YAChE;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAW,EAAE;QACnC,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACxC,IAAI,WAAW,KAAK,cAAc;YAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAW,EAAE;QACjC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAY,EAAE;QAC9B,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,mBAAmB,KAAK,IAAI,CAAC;QACnE,IAAI,WAAW,KAAK,cAAc;YAAE,OAAO,oBAAoB,KAAK,IAAI,CAAC;QACzE,IAAI,WAAW,KAAK,QAAQ;YAAE,OAAO,cAAc,KAAK,IAAI,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACvB;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACpC;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC/B;YAAA,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI;YAC7B,CAAC,CAAC,QAAQ,eAAe,EAAE,OAAO,aAAa,EAAE,EAAE;YACnD,CAAC,CAAC,SAAS,eAAe,EAAE,QAAQ,aAAa,EAAE,EAAE,CACzD;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CAEN;;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CACjD;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,EAAE,IAAI,CAE7D;;QAAA,CAAC,WAAW,KAAK,SAAS,IAAI,sBAAsB,EAAE,CACtD;QAAA,CAAC,WAAW,KAAK,cAAc,IAAI,2BAA2B,EAAE,CAChE;QAAA,CAAC,WAAW,KAAK,QAAQ,IAAI,qBAAqB,EAAE,CAEpD;;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAClC;UAAA,CAAC,MAAM,CACL,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC1D,OAAO,CAAC,CAAC,UAAU,CAAC,CACpB,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAC7D,IAAI,CAAC,OAAO,CACZ,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAErC;UAAA,CAAC,MAAM,CACL,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3D,OAAO,CAAC,CAAC,UAAU,CAAC,CACpB,OAAO,CAAC,SAAS,CACjB,IAAI,CAAC,OAAO,CACZ,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CACnB,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAE3B;QAAA,EAAE,IAAI,CAEN;;QAAA,CAAC,KAAK,IAAI,CACR,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAC9C,CACH;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/C,SAAS,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IACrO,iBAAiB,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC7D,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE;IAChE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;IAChG,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACnG,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE;IAC3M,aAAa,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;IACnD,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;IAC1L,cAAc,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE;IACtE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;IACvC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;IAC1B,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;IAC9D,kBAAkB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;IACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;IAC5E,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;IACtG,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;IACnE,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IACxF,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;IACzD,eAAe,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IACjE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;IAChF,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;CACrG,CAAC,CAAC","sourcesContent":["import React, { useState, useMemo, useEffect } from 'react';\nimport { View, Text, TouchableOpacity, StyleSheet, ScrollView, TextInput } from 'react-native';\nimport { TemplateComponent, CountrySelectionConfig, LocalizedText, Country, IDCardConfig } from '../../types/KYC.types';\nimport { countryMapping } from '../../config/region_mapping';\nimport { useTemplateKYCFlowContext } from '../../hooks/useTemplateKYCFlow';\nimport { Button } from '../ui/Button';\nimport { countryData } from '../../config/countriesData';\nimport REGION_MAPPING from '../../config/region_mapping.json';\n\ninterface CountrySelectionTemplateProps {\n component: TemplateComponent;\n value?: any;\n onValueChange: (value: Country & { documentType?: string; region?: string }) => void;\n error?: string;\n language?: string;\n}\n\ntype SelectionStep = 'country' | 'documentType' | 'region';\n\ntype ExtendedIDCardConfig = IDCardConfig & {\n selectedCountries?: string[];\n documentTypesByCountry?: Record<string, string[]>;\n regionsByCountry?: Record<string, Record<string, string[]>>;\n instructionsByDocumentType?: Record<string, LocalizedText>;\n};\n\nconst ISO_TO_COUNTRY_NAME: Record<string, string> = { 'KE': 'Kenya', 'CM': 'Cameroon', 'NG': 'Nigeria', 'CA': 'Canada', 'FR': 'France', 'GH': 'Ghana', 'ZA': 'South Africa', 'GB': 'Britain', 'CI': 'Ivory Coast', 'SN': 'Senegal', 'TG': 'Togo', 'ML': 'Mali' };\n\nconst jsonDocMap: Record<string, string> = {\n 'nationalId': 'identity_card',\n 'national_id': 'identity_card',\n 'passport': 'passport',\n 'driversLicense': 'drivers_licence',\n 'drivers_licence': 'drivers_licence',\n 'residencePermit': 'permanent_residence',\n 'healthInsuranceCard': 'health_insurance_card'\n};\n\nconst SUB_REGION_CODES: Record<string, string> = {\n \"Alberta\": \"AB\",\n \"British Columbia\": \"BC\",\n \"Manitoba\": \"MB\",\n \"New Brunswick\": \"NB\",\n \"Newfoundland and Labrador\": \"NL\",\n \"Northwest Territories\": \"NT\",\n \"Nova Scotia\": \"NS\",\n \"Nunavut\": \"NU\",\n \"Ontario\": \"ON\",\n \"Prince Edward Island\": \"PE\",\n \"Quebec\": \"QC\",\n \"Saskatchewan\": \"SK\",\n \"Yukon\": \"YT\"\n};\n\nexport const CountrySelectionTemplate: React.FC<CountrySelectionTemplateProps> = ({\n component,\n value,\n onValueChange,\n error,\n language = 'en',\n}) => {\n const config = component.config as CountrySelectionConfig;\n const { actions, state } = useTemplateKYCFlowContext();\n\n const idCardComponent = useMemo(() => {\n return state.template.components.find(c => c.type === 'id_card');\n }, [state.template.components]);\n\n const idCardConfig = useMemo(() => {\n return idCardComponent?.config as ExtendedIDCardConfig | undefined;\n }, [idCardComponent]);\n\n const [currentStep, setCurrentStep] = useState<SelectionStep>(() => {\n if (value?.code && value?.documentType) {\n if (value.region) return 'region';\n return 'documentType';\n }\n return 'country';\n });\n\n const [selectedCountryCode, setSelectedCountryCode] = useState<string | null>(value?.code || null);\n const [selectedDocumentType, setSelectedDocumentType] = useState<string | null>(value?.documentType || null);\n const [selectedRegion, setSelectedRegion] = useState<string | null>(value?.region || null);\n \n const [searchQuery, setSearchQuery] = useState('');\n\n useEffect(() => {\n if (value?.code && value?.documentType) {\n setSelectedCountryCode(value.code);\n setSelectedDocumentType(value.documentType);\n setSelectedRegion(value.region || null);\n\n if (value.region) {\n setCurrentStep('region');\n } else {\n let regionsCheck = idCardConfig?.regionsByCountry?.[value.code]?.[value.documentType] || [];\n \n if (regionsCheck.length === 0) {\n const rawCountryName = ISO_TO_COUNTRY_NAME[value.code] || value.code;\n const searchDocType = jsonDocMap[value.documentType] || value.documentType;\n const baseMapping = (REGION_MAPPING as any).regionMapping || REGION_MAPPING;\n \n let countryMapping = baseMapping[rawCountryName];\n if (!countryMapping) {\n const foundKey = Object.keys(baseMapping).find(k => k.toLowerCase() === rawCountryName.toLowerCase());\n if (foundKey) countryMapping = baseMapping[foundKey];\n }\n\n if (countryMapping && countryMapping[searchDocType]) {\n regionsCheck = Object.keys(countryMapping[searchDocType]).filter(k => k !== 'root');\n }\n }\n\n if (Array.isArray(regionsCheck) && regionsCheck.length > 0) {\n setCurrentStep('region');\n } else {\n setCurrentStep('documentType');\n }\n }\n } else {\n setSelectedCountryCode(null);\n setSelectedDocumentType(null);\n setSelectedRegion(null);\n setCurrentStep('country');\n }\n }, [value?.code, value?.documentType, value?.region, idCardConfig]);\n\n useEffect(() => {\n if (error) {\n actions.updateComponentData(component.id, value);\n }\n }, []);\n\n const availableCountries = useMemo(() => {\n const explicitlyAllowed = idCardConfig?.selectedCountries || config.allowed_countries || [];\n \n const configuredCodes = new Set(explicitlyAllowed);\n\n return Array.from(configuredCodes)\n .filter((code: string) => countryData[code])\n .map((code: string) => ({ code, ...countryData[code] }))\n .sort((a: Country, b: Country) => a.name.localeCompare(b.name));\n }, [idCardConfig?.selectedCountries, config.allowed_countries]);\n\n const filteredCountries = useMemo(() => {\n if (!searchQuery.trim()) return availableCountries;\n const cleanQuery = searchQuery.toLowerCase().trim();\n\n return availableCountries.filter(country => \n country.name.toLowerCase().includes(cleanQuery) || \n country.name_en.toLowerCase().includes(cleanQuery) || \n country.code.toLowerCase().includes(cleanQuery)\n );\n }, [searchQuery, availableCountries]);\n\n const availableDocumentTypes = useMemo(() => {\n if (!selectedCountryCode) return [];\n \n // Check if custom layout configuration explicitly defined items for it\n if (idCardConfig?.documentTypesByCountry?.[selectedCountryCode]) {\n return idCardConfig.documentTypesByCountry[selectedCountryCode];\n }\n\n // Default Fallback: Query mapping matrix dynamically\n const rawCountryName = ISO_TO_COUNTRY_NAME[selectedCountryCode] || selectedCountryCode;\n const baseMapping = (REGION_MAPPING as any).regionMapping || REGION_MAPPING;\n \n let countryMapping = baseMapping[rawCountryName];\n if (!countryMapping) {\n const foundKey = Object.keys(baseMapping).find(k => k.toLowerCase() === rawCountryName.toLowerCase());\n if (foundKey) countryMapping = baseMapping[foundKey];\n }\n\n if (countryMapping) {\n const inverseDocMap: Record<string, string> = {\n 'identity_card': 'nationalId',\n 'passport': 'passport',\n 'drivers_licence': 'driversLicense',\n 'permanent_residence': 'residencePermit',\n 'health_insurance_card': 'healthInsuranceCard'\n };\n return Object.keys(countryMapping).map(key => inverseDocMap[key] || key);\n }\n\n return ['nationalId', 'passport', 'driversLicense'];\n }, [selectedCountryCode, idCardConfig?.documentTypesByCountry]);\n\n const availableRegions = useMemo(() => {\n if (!selectedCountryCode || !selectedDocumentType) return [];\n\n let rawRegions: string[] = [];\n \n if (idCardConfig?.regionsByCountry?.[selectedCountryCode]?.[selectedDocumentType]) {\n rawRegions = idCardConfig.regionsByCountry[selectedCountryCode][selectedDocumentType];\n }\n\n if (rawRegions.length === 0) {\n const rawCountryName = ISO_TO_COUNTRY_NAME[selectedCountryCode] || selectedCountryCode;\n const searchDocType = jsonDocMap[selectedDocumentType] || selectedDocumentType;\n const baseMapping = (REGION_MAPPING as any).regionMapping || REGION_MAPPING;\n \n let countryMapping = baseMapping[rawCountryName];\n if (!countryMapping) {\n const foundKey = Object.keys(baseMapping).find(k => k.toLowerCase() === rawCountryName.toLowerCase());\n if (foundKey) countryMapping = baseMapping[foundKey];\n }\n\n if (countryMapping && countryMapping[searchDocType]) {\n rawRegions = Object.keys(countryMapping[searchDocType]).filter(k => k !== 'root');\n }\n }\n\n if (!Array.isArray(rawRegions)) return [];\n\n return rawRegions.sort((a, b) => a.localeCompare(b)).map(region => ({\n label: region,\n value: SUB_REGION_CODES[region] || region\n }));\n }, [selectedCountryCode, selectedDocumentType, idCardConfig?.regionsByCountry]);\n\n const needsRegion = useMemo(() => {\n return availableRegions.length > 0;\n }, [availableRegions]);\n\n const getLocalizedText = (text: LocalizedText): string => {\n return text[state.currentLanguage] || text.en || '';\n };\n\n const handleCountrySelect = (countryCode: string) => {\n setSelectedCountryCode(countryCode);\n setSelectedDocumentType(null);\n setSelectedRegion(null);\n };\n\n const handleDocumentTypeSelect = (docType: string) => {\n setSelectedDocumentType(docType);\n setSelectedRegion(null);\n };\n\n const handleRegionSelect = (regionValue: string) => {\n setSelectedRegion(regionValue);\n };\n\n const finalizeSelection = (countryCode: string, docType: string, region: string | null) => {\n const country = countryData[countryCode];\n if (!country) return;\n\n const mapping = countryMapping[countryCode as keyof typeof countryMapping];\n const countryObj: Country & { documentType?: string; region?: string } = {\n code: countryCode,\n ...country,\n regionMapping: mapping,\n documentType: docType,\n region: region || undefined,\n };\n\n onValueChange(countryObj);\n\n setTimeout(() => {\n actions.nextComponent(countryObj);\n }, 100);\n };\n\n const handleBack = () => {\n if (currentStep === 'region') {\n setCurrentStep('documentType');\n setSelectedRegion(null);\n } else if (currentStep === 'documentType') {\n setCurrentStep('country');\n setSelectedDocumentType(null);\n setSelectedRegion(null);\n setSearchQuery('');\n } else if (currentStep === 'country') {\n actions.previousComponent();\n }\n };\n\n const handleNext = () => {\n if (currentStep === 'country' && selectedCountryCode) {\n setCurrentStep('documentType');\n } else if (currentStep === 'documentType' && selectedDocumentType) {\n if (needsRegion) {\n setCurrentStep('region');\n } else {\n if (selectedCountryCode) {\n finalizeSelection(selectedCountryCode, selectedDocumentType, null);\n }\n }\n } else if (currentStep === 'region' && selectedRegion) {\n if (selectedCountryCode && selectedDocumentType) {\n finalizeSelection(selectedCountryCode, selectedDocumentType, selectedRegion);\n }\n }\n };\n\n const renderCountrySelection = () => {\n return (\n <>\n <TextInput \n style={styles.searchBar}\n placeholder={state.currentLanguage === \"en\" ? \"🔍 Search country...\" : \"🔍 Rechercher un pays...\"}\n placeholderTextColor=\"#94A3B8\"\n value={searchQuery}\n onChangeText={setSearchQuery}\n autoCorrect={false}\n />\n <ScrollView style={styles.listContainer} showsVerticalScrollIndicator={false}>\n {filteredCountries.map((country: Country & { code?: string }) => (\n <TouchableOpacity\n key={country.code}\n style={[\n styles.option,\n selectedCountryCode === country.code && styles.selectedOption\n ]}\n onPress={() => handleCountrySelect(country.code!)}\n >\n <Text style={styles.flag}>{country.flag}</Text>\n \n <View style={styles.optionContent}>\n <Text style={[\n styles.optionName,\n selectedCountryCode === country.code && styles.selectedOptionName\n ]}>\n {state.currentLanguage === \"en\" ? country.name_en : country.name}\n </Text>\n <Text style={styles.optionCode}>{country.code}</Text>\n </View>\n\n {selectedCountryCode === country.code && (\n <View style={[\n styles.checkmark,\n { backgroundColor: component.ui.themeColor as string || '#2DBD60' }\n ]}>\n <Text style={styles.checkmarkText}>✓</Text>\n </View>\n )}\n </TouchableOpacity>\n ))}\n \n {filteredCountries.length === 0 && (\n <Text style={styles.emptyText}>\n {state.currentLanguage === \"en\" ? \"No matching countries found.\" : \"Aucun pays trouvé.\"}\n </Text>\n )}\n </ScrollView>\n </>\n );\n };\n\n const renderDocumentTypeSelection = () => {\n const instructions = selectedDocumentType && idCardConfig?.instructionsByDocumentType?.[selectedDocumentType]\n ? getLocalizedText(idCardConfig.instructionsByDocumentType[selectedDocumentType])\n : null;\n\n const documentTypeLabels: Record<string, { en: string; fr: string; icon?: string }> = {\n 'nationalId': { en: 'National ID', fr: 'Carte nationale d\\'identité', icon: '🏛️' },\n 'passport': { en: 'Passport', fr: 'Passeport', icon: '📘' },\n 'driversLicense': { en: 'Driver\\'s License', fr: 'Permis de conduire', icon: '🚗' },\n 'residencePermit': { en: 'Residence Permit', fr: 'Permis de séjour', icon: '🏠' },\n 'healthInsuranceCard': { en: 'Health Insurance Card', fr: 'Carte d\\'assurance maladie', icon: '🗳️' },\n };\n\n return (\n <>\n {instructions && (\n <View style={styles.infoBox}>\n <Text style={styles.infoText}>{instructions}</Text>\n </View>\n )}\n <ScrollView style={styles.listContainer} showsVerticalScrollIndicator={false}>\n {availableDocumentTypes.map((docType: string) => {\n const label = documentTypeLabels[docType];\n const displayName = label ? (state.currentLanguage === \"en\" ? label.en : label.fr) : docType;\n const icon = label?.icon || '📄';\n\n return (\n <TouchableOpacity\n key={docType}\n style={[\n styles.option,\n selectedDocumentType === docType && styles.selectedOption\n ]}\n onPress={() => handleDocumentTypeSelect(docType)}\n >\n <Text style={styles.flag}>{icon}</Text>\n <View style={styles.optionContent}>\n <Text style={[\n styles.optionName,\n selectedDocumentType === docType && styles.selectedOptionName\n ]}>\n {displayName}\n </Text>\n </View>\n {selectedDocumentType === docType && (\n <View style={[\n styles.checkmark,\n { backgroundColor: component.ui.themeColor as string || '#2DBD60' }\n ]}>\n <Text style={styles.checkmarkText}>✓</Text>\n </View>\n )}\n </TouchableOpacity>\n );\n })}\n </ScrollView>\n </>\n );\n };\n\n const renderRegionSelection = () => {\n return (\n <>\n <ScrollView style={styles.listContainer} showsVerticalScrollIndicator={false}>\n {availableRegions.map((regionObj, index: number) => {\n return (\n <TouchableOpacity\n key={index}\n style={[\n styles.option,\n selectedRegion === regionObj.value && styles.selectedOption\n ]}\n onPress={() => handleRegionSelect(regionObj.value)}\n >\n <View style={styles.optionContent}>\n <Text style={[\n styles.optionName,\n selectedRegion === regionObj.value && styles.selectedOptionName\n ]}>\n {regionObj.label}\n </Text>\n {regionObj.value !== regionObj.label && (\n <Text style={styles.optionCode}>{regionObj.value}</Text>\n )}\n </View>\n {selectedRegion === regionObj.value && (\n <View style={[\n styles.checkmark,\n { backgroundColor: component.ui.themeColor as string || '#2DBD60' }\n ]}>\n <Text style={styles.checkmarkText}>✓</Text>\n </View>\n )}\n </TouchableOpacity>\n );\n })}\n </ScrollView>\n </>\n );\n };\n\n const getStepTitle = (): string => {\n switch (currentStep) {\n case 'country':\n return getLocalizedText(component.labels as LocalizedText);\n case 'documentType':\n return state.currentLanguage === \"en\" ? \"Select Document Type\" : \"Sélectionnez le type de document\";\n case 'region':\n return state.currentLanguage === \"en\" ? \"Select Province/State\" : \"Sélectionnez la province/l'état\";\n default:\n return '';\n }\n };\n\n const getStepDescription = (): string => {\n switch (currentStep) {\n case 'country':\n return getLocalizedText(component.instructions as LocalizedText);\n case 'documentType':\n return state.currentLanguage === \"en\"\n ? \"Choose the type of document you want to use\"\n : \"Choisissez le type de document que vous souhaitez utiliser\";\n case 'region':\n return state.currentLanguage === \"en\"\n ? \"Select the issuing province or territory\"\n : \"Sélectionnez la province ou le territoire de délivrance\";\n default:\n return '';\n }\n };\n\n const getProgressStep = (): number => {\n if (currentStep === 'country') return 1;\n if (currentStep === 'documentType') return 2;\n return 3;\n };\n\n const getTotalSteps = (): number => {\n return needsRegion ? 3 : 2;\n };\n\n const canGoNext = (): boolean => {\n if (currentStep === 'country') return selectedCountryCode !== null;\n if (currentStep === 'documentType') return selectedDocumentType !== null;\n if (currentStep === 'region') return selectedRegion !== null;\n return false;\n };\n\n return (\n <View style={styles.root}>\n <View style={styles.container}>\n <View style={styles.progressContainer}>\n <Text style={styles.progressText}>\n {state.currentLanguage === \"en\"\n ? `Step ${getProgressStep()} of ${getTotalSteps()}`\n : `Étape ${getProgressStep()} sur ${getTotalSteps()}`}\n </Text>\n </View>\n\n <Text style={styles.title}>{getStepTitle()}</Text>\n <Text style={styles.description}>{getStepDescription()}</Text>\n\n {currentStep === 'country' && renderCountrySelection()}\n {currentStep === 'documentType' && renderDocumentTypeSelection()}\n {currentStep === 'region' && renderRegionSelection()}\n\n <View style={styles.buttonContainer}>\n <Button\n title={state.currentLanguage === \"en\" ? \"Back\" : \"Retour\"}\n onPress={handleBack}\n variant={currentStep === 'country' ? \"secondary\" : \"outline\"}\n size=\"large\"\n style={{ flex: 1, marginRight: 8 }}\n />\n <Button\n title={state.currentLanguage === \"en\" ? \"Next\" : \"Suivant\"}\n onPress={handleNext}\n variant=\"primary\"\n size=\"large\"\n style={{ flex: 1 }}\n disabled={!canGoNext()}\n />\n </View>\n\n {error && (\n <Text style={styles.errorText}>{error}</Text>\n )}\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n root: { flex: 1, maxWidth: 760, width: '100%' },\n container: { backgroundColor: 'white', margin: 10, borderRadius: 10, paddingVertical: 16, paddingHorizontal: 16, shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.35, shadowRadius: 4.84, elevation: 10 },\n progressContainer: { marginBottom: 16, alignItems: 'center' },\n progressText: { fontSize: 14, color: '#666', fontWeight: '500' },\n title: { fontSize: 24, fontWeight: 'bold', color: '#333', marginBottom: 8, textAlign: 'center' },\n description: { fontSize: 16, color: '#666', textAlign: 'center', marginBottom: 24, lineHeight: 22 },\n searchBar: { height: 52, backgroundColor: '#F1F5F9', borderRadius: 12, paddingHorizontal: 16, fontSize: 16, color: '#1E293B', marginBottom: 16, borderWidth: 1, borderColor: '#CBD5E1', fontWeight: '500' },\n listContainer: { maxHeight: 360, marginBottom: 24 },\n option: { flexDirection: 'row', alignItems: 'center', padding: 16, backgroundColor: '#F8F9FA', borderRadius: 12, marginBottom: 12, borderWidth: 2, borderColor: '#E9ECEF', minHeight: 64 },\n selectedOption: { borderColor: '#2DBD60', backgroundColor: '#F0F9F0' },\n flag: { fontSize: 32, marginRight: 16 },\n optionContent: { flex: 1 },\n optionName: { fontSize: 18, fontWeight: '600', color: '#333' },\n selectedOptionName: { color: '#2DBD60' },\n optionCode: { fontSize: 14, color: '#666', marginTop: 4, fontWeight: '500' },\n checkmark: { width: 24, height: 24, borderRadius: 12, justifyContent: 'center', alignItems: 'center' },\n checkmarkText: { color: 'white', fontSize: 16, fontWeight: 'bold' },\n infoBox: { backgroundColor: '#F9FAFB', padding: 12, borderRadius: 12, marginBottom: 16 },\n infoText: { fontSize: 14, color: '#666', lineHeight: 20 },\n buttonContainer: { flexDirection: 'row', marginTop: 24, gap: 12 },\n errorText: { color: '#dc2626', fontSize: 14, marginTop: 8, textAlign: 'center' },\n emptyText: { textAlign: 'center', color: '#64748B', fontSize: 16, marginTop: 24, fontWeight: '500' }\n});"]}
1
+ {"version":3,"file":"CountrySelectionTemplate.js","sourceRoot":"","sources":["../../../../src/components/KYCElements/CountrySelectionTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useMemo, useEffect } from 'react';\nimport { View, Text, TouchableOpacity, StyleSheet, ScrollView, TextInput } from 'react-native';\nimport { TemplateComponent, CountrySelectionConfig, LocalizedText, Country, IDCardConfig } from '../../types/KYC.types';\nimport { countryMapping } from '../../config/region_mapping';\nimport { useTemplateKYCFlowContext } from '../../hooks/useTemplateKYCFlow';\nimport { Button } from '../ui/Button';\nimport { countryData } from '../../config/countriesData';\nimport REGION_MAPPING from '../../config/region_mapping.json';\nimport { sdkLogger } from '../../utils/logger'; // 🚨 IMPORT SDK LOGGER\n\ninterface CountrySelectionTemplateProps {\n component: TemplateComponent;\n value?: any;\n onValueChange: (value: Country & { documentType?: string; region?: string }) => void;\n error?: string;\n language?: string;\n}\n\ntype SelectionStep = 'country' | 'documentType' | 'region';\n\ntype ExtendedIDCardConfig = IDCardConfig & {\n selectedCountries?: string[];\n documentTypesByCountry?: Record<string, string[]>;\n regionsByCountry?: Record<string, Record<string, string[]>>;\n instructionsByDocumentType?: Record<string, LocalizedText>;\n};\n\nconst ISO_TO_COUNTRY_NAME: Record<string, string> = { 'KE': 'Kenya', 'CM': 'Cameroon', 'NG': 'Nigeria', 'CA': 'Canada', 'FR': 'France', 'GH': 'Ghana', 'ZA': 'South Africa', 'GB': 'Britain', 'CI': 'Ivory Coast', 'SN': 'Senegal', 'TG': 'Togo', 'ML': 'Mali' };\nconst jsonDocMap: Record<string, string> = { 'nationalId': 'identity_card', 'national_id': 'identity_card', 'passport': 'passport', 'driversLicense': 'drivers_licence', 'drivers_licence': 'drivers_licence', 'residencePermit': 'permanent_residence', 'healthInsuranceCard': 'health_insurance_card' };\nconst SUB_REGION_CODES: Record<string, string> = { \"Alberta\": \"AB\", \"British Columbia\": \"BC\", \"Manitoba\": \"MB\", \"New Brunswick\": \"NB\", \"Newfoundland and Labrador\": \"NL\", \"Northwest Territories\": \"NT\", \"Nova Scotia\": \"NS\", \"Nunavut\": \"NU\", \"Ontario\": \"ON\", \"Prince Edward Island\": \"PE\", \"Quebec\": \"QC\", \"Saskatchewan\": \"SK\", \"Yukon\": \"YT\" };\n\nexport const CountrySelectionTemplate: React.FC<CountrySelectionTemplateProps> = ({ component, value, onValueChange, error, language = 'en', }) => {\n const config = component.config as CountrySelectionConfig;\n const { actions, state } = useTemplateKYCFlowContext();\n\n // 🚨 LOG: Track when the user reaches this step\n useEffect(() => {\n if (state.session?.session_id) {\n sdkLogger.info(\"User started country and document selection step\");\n }\n }, [state.session?.session_id]);\n\n const idCardComponent = useMemo(() => { return state.template.components.find(c => c.type === 'id_card'); }, [state.template.components]);\n const idCardConfig = useMemo(() => { return idCardComponent?.config as ExtendedIDCardConfig | undefined; }, [idCardComponent]);\n \n const [currentStep, setCurrentStep] = useState<SelectionStep>(() => {\n if (value?.code && value?.documentType) {\n if (value.region) return 'region';\n return 'documentType';\n }\n return 'country';\n });\n \n const [selectedCountryCode, setSelectedCountryCode] = useState<string | null>(value?.code || null);\n const [selectedDocumentType, setSelectedDocumentType] = useState<string | null>(value?.documentType || null);\n const [selectedRegion, setSelectedRegion] = useState<string | null>(value?.region || null);\n const [searchQuery, setSearchQuery] = useState('');\n\n useEffect(() => {\n if (value?.code && value?.documentType) {\n setSelectedCountryCode(value.code);\n setSelectedDocumentType(value.documentType);\n setSelectedRegion(value.region || null);\n if (value.region) {\n setCurrentStep('region');\n } else {\n let regionsCheck = idCardConfig?.regionsByCountry?.[value.code]?.[value.documentType] || [];\n if (regionsCheck.length === 0) {\n const rawCountryName = ISO_TO_COUNTRY_NAME[value.code] || value.code;\n const searchDocType = jsonDocMap[value.documentType] || value.documentType;\n const baseMapping = (REGION_MAPPING as any).regionMapping || REGION_MAPPING;\n let countryMapping = baseMapping[rawCountryName];\n if (!countryMapping) {\n const foundKey = Object.keys(baseMapping).find(k => k.toLowerCase() === rawCountryName.toLowerCase());\n if (foundKey) countryMapping = baseMapping[foundKey];\n }\n if (countryMapping && countryMapping[searchDocType]) {\n regionsCheck = Object.keys(countryMapping[searchDocType]).filter(k => k !== 'root');\n }\n }\n if (Array.isArray(regionsCheck) && regionsCheck.length > 0) {\n setCurrentStep('region');\n } else {\n setCurrentStep('documentType');\n }\n }\n } else {\n setSelectedCountryCode(null);\n setSelectedDocumentType(null);\n setSelectedRegion(null);\n setCurrentStep('country');\n }\n }, [value?.code, value?.documentType, value?.region, idCardConfig]);\n\n useEffect(() => {\n if (error) { actions.updateComponentData(component.id, value); }\n }, []);\n\n const availableCountries = useMemo(() => {\n const explicitlyAllowed = idCardConfig?.selectedCountries || config.allowed_countries || [];\n const configuredCodes = new Set(explicitlyAllowed);\n return Array.from(configuredCodes)\n .filter((code: string) => countryData[code])\n .map((code: string) => ({ code, ...countryData[code] }))\n .sort((a: Country, b: Country) => a.name.localeCompare(b.name));\n }, [idCardConfig?.selectedCountries, config.allowed_countries]);\n\n const filteredCountries = useMemo(() => {\n if (!searchQuery.trim()) return availableCountries;\n const cleanQuery = searchQuery.toLowerCase().trim();\n return availableCountries.filter(country =>\n country.name.toLowerCase().includes(cleanQuery) || country.name_en.toLowerCase().includes(cleanQuery) || country.code.toLowerCase().includes(cleanQuery)\n );\n }, [searchQuery, availableCountries]);\n\n const availableDocumentTypes = useMemo(() => {\n if (!selectedCountryCode) return [];\n if (idCardConfig?.documentTypesByCountry?.[selectedCountryCode]) {\n return idCardConfig.documentTypesByCountry[selectedCountryCode];\n }\n const rawCountryName = ISO_TO_COUNTRY_NAME[selectedCountryCode] || selectedCountryCode;\n const baseMapping = (REGION_MAPPING as any).regionMapping || REGION_MAPPING;\n let countryMapping = baseMapping[rawCountryName];\n if (!countryMapping) {\n const foundKey = Object.keys(baseMapping).find(k => k.toLowerCase() === rawCountryName.toLowerCase());\n if (foundKey) countryMapping = baseMapping[foundKey];\n }\n if (countryMapping) {\n const inverseDocMap: Record<string, string> = { 'identity_card': 'nationalId', 'passport': 'passport', 'drivers_licence': 'driversLicense', 'permanent_residence': 'residencePermit', 'health_insurance_card': 'healthInsuranceCard' };\n return Object.keys(countryMapping).map(key => inverseDocMap[key] || key);\n }\n return ['nationalId', 'passport', 'driversLicense'];\n }, [selectedCountryCode, idCardConfig?.documentTypesByCountry]);\n\n const availableRegions = useMemo(() => {\n if (!selectedCountryCode || !selectedDocumentType) return [];\n let rawRegions: string[] = [];\n if (idCardConfig?.regionsByCountry?.[selectedCountryCode]?.[selectedDocumentType]) {\n rawRegions = idCardConfig.regionsByCountry[selectedCountryCode][selectedDocumentType];\n }\n if (rawRegions.length === 0) {\n const rawCountryName = ISO_TO_COUNTRY_NAME[selectedCountryCode] || selectedCountryCode;\n const searchDocType = jsonDocMap[selectedDocumentType] || selectedDocumentType;\n const baseMapping = (REGION_MAPPING as any).regionMapping || REGION_MAPPING;\n let countryMapping = baseMapping[rawCountryName];\n if (!countryMapping) {\n const foundKey = Object.keys(baseMapping).find(k => k.toLowerCase() === rawCountryName.toLowerCase());\n if (foundKey) countryMapping = baseMapping[foundKey];\n }\n if (countryMapping && countryMapping[searchDocType]) {\n rawRegions = Object.keys(countryMapping[searchDocType]).filter(k => k !== 'root');\n }\n }\n if (!Array.isArray(rawRegions)) return [];\n return rawRegions.sort((a, b) => a.localeCompare(b)).map(region => ({ label: region, value: SUB_REGION_CODES[region] || region }));\n }, [selectedCountryCode, selectedDocumentType, idCardConfig?.regionsByCountry]);\n\n const needsRegion = useMemo(() => { return availableRegions.length > 0; }, [availableRegions]);\n const getLocalizedText = (text: LocalizedText): string => { return text[state.currentLanguage] || text.en || ''; };\n\n const handleCountrySelect = (countryCode: string) => { setSelectedCountryCode(countryCode); setSelectedDocumentType(null); setSelectedRegion(null); };\n const handleDocumentTypeSelect = (docType: string) => { setSelectedDocumentType(docType); setSelectedRegion(null); };\n const handleRegionSelect = (regionValue: string) => { setSelectedRegion(regionValue); };\n\n const finalizeSelection = (countryCode: string, docType: string, region: string | null) => {\n const country = countryData[countryCode];\n if (!country) return;\n \n // 🚨 LOG: Final payload successfully selected\n sdkLogger.info(\"User finalized document configuration\", {\n countryCode,\n documentType: docType,\n region: region || 'none'\n });\n\n const mapping = countryMapping[countryCode as keyof typeof countryMapping];\n const countryObj: Country & { documentType?: string; region?: string } = {\n code: countryCode, ...country, regionMapping: mapping, documentType: docType, region: region || undefined,\n };\n onValueChange(countryObj);\n setTimeout(() => { actions.nextComponent(countryObj); }, 100);\n };\n\n const handleBack = () => {\n sdkLogger.info(\"User navigated back in document selection\", { fromStep: currentStep }); // 🚨 LOG\n\n if (currentStep === 'region') {\n setCurrentStep('documentType'); setSelectedRegion(null);\n } else if (currentStep === 'documentType') {\n setCurrentStep('country'); setSelectedDocumentType(null); setSelectedRegion(null); setSearchQuery('');\n } else if (currentStep === 'country') {\n actions.previousComponent();\n }\n };\n\n const handleNext = () => {\n if (currentStep === 'country' && selectedCountryCode) {\n setCurrentStep('documentType');\n } else if (currentStep === 'documentType' && selectedDocumentType) {\n if (needsRegion) { setCurrentStep('region'); } else {\n if (selectedCountryCode) { finalizeSelection(selectedCountryCode, selectedDocumentType, null); }\n }\n } else if (currentStep === 'region' && selectedRegion) {\n if (selectedCountryCode && selectedDocumentType) { finalizeSelection(selectedCountryCode, selectedDocumentType, selectedRegion); }\n }\n };\n\n const renderCountrySelection = () => {\n return (\n <>\n <TextInput style={styles.searchBar} placeholder={state.currentLanguage === \"en\" ? \"🔍 Search country...\" : \"🔍 Rechercher un pays...\"} placeholderTextColor=\"#94A3B8\" value={searchQuery} onChangeText={setSearchQuery} autoCorrect={false} />\n <ScrollView style={styles.listContainer} showsVerticalScrollIndicator={false}>\n {filteredCountries.map((country: Country & { code?: string }) => (\n <TouchableOpacity key={country.code} style={[styles.option, selectedCountryCode === country.code && styles.selectedOption]} onPress={() => handleCountrySelect(country.code!)}>\n <Text style={styles.flag}>{country.flag}</Text>\n <View style={styles.optionContent}>\n <Text style={[styles.optionName, selectedCountryCode === country.code && styles.selectedOptionName]}>{state.currentLanguage === \"en\" ? country.name_en : country.name}</Text>\n <Text style={styles.optionCode}>{country.code}</Text>\n </View>\n {selectedCountryCode === country.code && (\n <View style={[styles.checkmark, { backgroundColor: component.ui.themeColor as string || '#2DBD60' }]}><Text style={styles.checkmarkText}>✓</Text></View>\n )}\n </TouchableOpacity>\n ))}\n {filteredCountries.length === 0 && (\n <Text style={styles.emptyText}>{state.currentLanguage === \"en\" ? \"No matching countries found.\" : \"Aucun pays trouvé.\"}</Text>\n )}\n </ScrollView>\n </>\n );\n };\n\n const renderDocumentTypeSelection = () => {\n const instructions = selectedDocumentType && idCardConfig?.instructionsByDocumentType?.[selectedDocumentType] ? getLocalizedText(idCardConfig.instructionsByDocumentType[selectedDocumentType]) : null;\n const documentTypeLabels: Record<string, { en: string; fr: string; icon?: string }> = {\n 'nationalId': { en: 'National ID', fr: 'Carte nationale d\\'identité', icon: '🏛️' },\n 'passport': { en: 'Passport', fr: 'Passeport', icon: '📘' },\n 'driversLicense': { en: 'Driver\\'s License', fr: 'Permis de conduire', icon: '🚗' },\n 'residencePermit': { en: 'Residence Permit', fr: 'Permis de séjour', icon: '🏠' },\n 'healthInsuranceCard': { en: 'Health Insurance Card', fr: 'Carte d\\'assurance maladie', icon: '🗳️' },\n };\n return (\n <>\n {instructions && (<View style={styles.infoBox}><Text style={styles.infoText}>{instructions}</Text></View>)}\n <ScrollView style={styles.listContainer} showsVerticalScrollIndicator={false}>\n {availableDocumentTypes.map((docType: string) => {\n const label = documentTypeLabels[docType];\n const displayName = label ? (state.currentLanguage === \"en\" ? label.en : label.fr) : docType;\n const icon = label?.icon || '📄';\n return (\n <TouchableOpacity key={docType} style={[styles.option, selectedDocumentType === docType && styles.selectedOption]} onPress={() => handleDocumentTypeSelect(docType)}>\n <Text style={styles.flag}>{icon}</Text>\n <View style={styles.optionContent}>\n <Text style={[styles.optionName, selectedDocumentType === docType && styles.selectedOptionName]}>{displayName}</Text>\n </View>\n {selectedDocumentType === docType && (\n <View style={[styles.checkmark, { backgroundColor: component.ui.themeColor as string || '#2DBD60' }]}><Text style={styles.checkmarkText}>✓</Text></View>\n )}\n </TouchableOpacity>\n );\n })}\n </ScrollView>\n </>\n );\n };\n\n const renderRegionSelection = () => {\n return (\n <>\n <ScrollView style={styles.listContainer} showsVerticalScrollIndicator={false}>\n {availableRegions.map((regionObj, index: number) => {\n return (\n <TouchableOpacity key={index} style={[styles.option, selectedRegion === regionObj.value && styles.selectedOption]} onPress={() => handleRegionSelect(regionObj.value)}>\n <View style={styles.optionContent}>\n <Text style={[styles.optionName, selectedRegion === regionObj.value && styles.selectedOptionName]}>{regionObj.label}</Text>\n {regionObj.value !== regionObj.label && (<Text style={styles.optionCode}>{regionObj.value}</Text>)}\n </View>\n {selectedRegion === regionObj.value && (\n <View style={[styles.checkmark, { backgroundColor: component.ui.themeColor as string || '#2DBD60' }]}><Text style={styles.checkmarkText}>✓</Text></View>\n )}\n </TouchableOpacity>\n );\n })}\n </ScrollView>\n </>\n );\n };\n\n const getStepTitle = (): string => {\n switch (currentStep) {\n case 'country': return getLocalizedText(component.labels as LocalizedText);\n case 'documentType': return state.currentLanguage === \"en\" ? \"Select Document Type\" : \"Sélectionnez le type de document\";\n case 'region': return state.currentLanguage === \"en\" ? \"Select Province/State\" : \"Sélectionnez la province/l'état\";\n default: return '';\n }\n };\n\n const getStepDescription = (): string => {\n switch (currentStep) {\n case 'country': return getLocalizedText(component.instructions as LocalizedText);\n case 'documentType': return state.currentLanguage === \"en\" ? \"Choose the type of document you want to use\" : \"Choisissez le type de document que vous souhaitez utiliser\";\n case 'region': return state.currentLanguage === \"en\" ? \"Select the issuing province or territory\" : \"Sélectionnez la province ou le territoire de délivrance\";\n default: return '';\n }\n };\n\n const getProgressStep = (): number => {\n if (currentStep === 'country') return 1;\n if (currentStep === 'documentType') return 2;\n return 3;\n };\n\n const getTotalSteps = (): number => { return needsRegion ? 3 : 2; };\n\n const canGoNext = (): boolean => {\n if (currentStep === 'country') return selectedCountryCode !== null;\n if (currentStep === 'documentType') return selectedDocumentType !== null;\n if (currentStep === 'region') return selectedRegion !== null;\n return false;\n };\n\n return (\n <View style={styles.root}>\n <View style={styles.container}>\n <View style={styles.progressContainer}>\n <Text style={styles.progressText}>{state.currentLanguage === \"en\" ? `Step ${getProgressStep()} of ${getTotalSteps()}` : `Étape ${getProgressStep()} sur ${getTotalSteps()}`}</Text>\n </View>\n <Text style={styles.title}>{getStepTitle()}</Text>\n <Text style={styles.description}>{getStepDescription()}</Text>\n {currentStep === 'country' && renderCountrySelection()}\n {currentStep === 'documentType' && renderDocumentTypeSelection()}\n {currentStep === 'region' && renderRegionSelection()}\n <View style={styles.buttonContainer}>\n <Button title={state.currentLanguage === \"en\" ? \"Back\" : \"Retour\"} onPress={handleBack} variant={currentStep === 'country' ? \"secondary\" : \"outline\"} size=\"large\" style={{ flex: 1, marginRight: 8 }} />\n <Button title={state.currentLanguage === \"en\" ? \"Next\" : \"Suivant\"} onPress={handleNext} variant=\"primary\" size=\"large\" style={{ flex: 1 }} disabled={!canGoNext()} />\n </View>\n {error && (<Text style={styles.errorText}>{error}</Text>)}\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n root: { flex: 1, maxWidth: 760, width: '100%' },\n container: { backgroundColor: 'white', margin: 10, borderRadius: 10, paddingVertical: 16, paddingHorizontal: 16, shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.35, shadowRadius: 4.84, elevation: 10 },\n progressContainer: { marginBottom: 16, alignItems: 'center' },\n progressText: { fontSize: 14, color: '#666', fontWeight: '500' },\n title: { fontSize: 24, fontWeight: 'bold', color: '#333', marginBottom: 8, textAlign: 'center' },\n description: { fontSize: 16, color: '#666', textAlign: 'center', marginBottom: 24, lineHeight: 22 },\n searchBar: { height: 52, backgroundColor: '#F1F5F9', borderRadius: 12, paddingHorizontal: 16, fontSize: 16, color: '#1E293B', marginBottom: 16, borderWidth: 1, borderColor: '#CBD5E1', fontWeight: '500' },\n listContainer: { maxHeight: 360, marginBottom: 24 },\n option: { flexDirection: 'row', alignItems: 'center', padding: 16, backgroundColor: '#F8F9FA', borderRadius: 12, marginBottom: 12, borderWidth: 2, borderColor: '#E9ECEF', minHeight: 64 },\n selectedOption: { borderColor: '#2DBD60', backgroundColor: '#F0F9F0' },\n flag: { fontSize: 32, marginRight: 16 },\n optionContent: { flex: 1 },\n optionName: { fontSize: 18, fontWeight: '600', color: '#333' },\n selectedOptionName: { color: '#2DBD60' },\n optionCode: { fontSize: 14, color: '#666', marginTop: 4, fontWeight: '500' },\n checkmark: { width: 24, height: 24, borderRadius: 12, justifyContent: 'center', alignItems: 'center' },\n checkmarkText: { color: 'white', fontSize: 16, fontWeight: 'bold' },\n infoBox: { backgroundColor: '#F9FAFB', padding: 12, borderRadius: 12, marginBottom: 16 },\n infoText: { fontSize: 14, color: '#666', lineHeight: 20 },\n buttonContainer: { flexDirection: 'row', marginTop: 24, gap: 12 },\n errorText: { color: '#dc2626', fontSize: 14, marginTop: 8, textAlign: 'center' },\n emptyText: { textAlign: 'center', color: '#64748B', fontSize: 16, marginTop: 24, fontWeight: '500' }\n});"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentTypeSelection.d.ts","sourceRoot":"","sources":["../../../../src/components/KYCElements/DocumentTypeSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAoB,MAAM,uBAAuB,CAAC;AAErE,UAAU,0BAA0B;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6BD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAiDtE,CAAC"}
1
+ {"version":3,"file":"DocumentTypeSelection.d.ts","sourceRoot":"","sources":["../../../../src/components/KYCElements/DocumentTypeSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAoB,MAAM,uBAAuB,CAAC;AAIrE,UAAU,0BAA0B;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA2DtE,CAAC"}
@@ -1,42 +1,33 @@
1
- import React from 'react';
1
+ import React, { useEffect } from 'react';
2
2
  import { View, Text, TouchableOpacity, StyleSheet, ScrollView } from 'react-native';
3
+ import { sdkLogger } from '../../utils/logger'; // 🚨 IMPORT SDK LOGGER
4
+ import { useTemplateKYCFlowContext } from '../../hooks/useTemplateKYCFlow'; // 🚨 IMPORT CONTEXT
3
5
  const defaultDocumentTypes = [
4
- {
5
- value: 'passport',
6
- label: 'Passeport',
7
- icon: '📘',
8
- description: 'Document de voyage officiel'
9
- },
10
- {
11
- value: 'id_card',
12
- label: 'Carte d\'identité',
13
- icon: '🆔',
14
- description: 'Carte d\'identité nationale'
15
- },
16
- {
17
- value: 'drivers_license',
18
- label: 'Permis de conduire',
19
- icon: '🚗',
20
- description: 'Permis de conduire valide'
21
- },
22
- {
23
- value: 'other',
24
- label: 'Autre document',
25
- icon: '📄',
26
- description: 'Autre document d\'identité officiel'
27
- },
6
+ { value: 'passport', label: 'Passeport', icon: '📘', description: 'Document de voyage officiel' },
7
+ { value: 'id_card', label: 'Carte d\'identité', icon: '🆔', description: 'Carte d\'identité nationale' },
8
+ { value: 'drivers_license', label: 'Permis de conduire', icon: '🚗', description: 'Permis de conduire valide' },
9
+ { value: 'other', label: 'Autre document', icon: '📄', description: 'Autre document d\'identité officiel' },
28
10
  ];
29
11
  export const DocumentTypeSelection = ({ element, value, onValueChange, error, }) => {
30
12
  const documentTypes = element.options || defaultDocumentTypes;
13
+ const { state } = useTemplateKYCFlowContext();
14
+ useEffect(() => {
15
+ if (state.session?.session_id) {
16
+ sdkLogger.info("User started standalone document type selection step");
17
+ }
18
+ }, [state.session?.session_id]);
31
19
  return (<View style={styles.container}>
32
20
  <Text style={styles.title}>{element.title}</Text>
33
21
  <Text style={styles.description}>{element.description}</Text>
34
-
22
+
35
23
  <ScrollView style={styles.optionsContainer} showsVerticalScrollIndicator={false}>
36
24
  {documentTypes.map((docType) => (<TouchableOpacity key={docType.value} style={[
37
25
  styles.option,
38
26
  value === docType.value && styles.selectedOption
39
- ]} onPress={() => onValueChange(docType.value)}>
27
+ ]} onPress={() => {
28
+ sdkLogger.info("User selected document type", { documentType: docType.value }); // 🚨 LOG
29
+ onValueChange(docType.value);
30
+ }}>
40
31
  <Text style={styles.optionIcon}>{docType.icon}</Text>
41
32
  <View style={styles.optionContent}>
42
33
  <Text style={[
@@ -57,87 +48,19 @@ export const DocumentTypeSelection = ({ element, value, onValueChange, error, })
57
48
  </View>);
58
49
  };
59
50
  const styles = StyleSheet.create({
60
- container: {
61
- flex: 1,
62
- padding: 16,
63
- },
64
- title: {
65
- fontSize: 24,
66
- fontWeight: 'bold',
67
- color: '#333',
68
- marginBottom: 8,
69
- textAlign: 'center',
70
- },
71
- description: {
72
- fontSize: 16,
73
- color: '#666',
74
- textAlign: 'center',
75
- marginBottom: 24,
76
- lineHeight: 22,
77
- },
78
- optionsContainer: {
79
- flex: 1,
80
- },
81
- option: {
82
- flexDirection: 'row',
83
- alignItems: 'center',
84
- padding: 16,
85
- backgroundColor: 'white',
86
- borderRadius: 12,
87
- marginBottom: 12,
88
- borderWidth: 2,
89
- borderColor: '#e5e5e5',
90
- shadowColor: '#000',
91
- shadowOffset: {
92
- width: 0,
93
- height: 2,
94
- },
95
- shadowOpacity: 0.1,
96
- shadowRadius: 3.84,
97
- elevation: 5,
98
- },
99
- selectedOption: {
100
- borderColor: '#4CAF50',
101
- backgroundColor: '#f0f9f0',
102
- },
103
- optionIcon: {
104
- fontSize: 32,
105
- marginRight: 16,
106
- },
107
- optionContent: {
108
- flex: 1,
109
- },
110
- optionLabel: {
111
- fontSize: 18,
112
- fontWeight: '600',
113
- color: '#333',
114
- },
115
- selectedOptionLabel: {
116
- color: '#4CAF50',
117
- },
118
- optionDescription: {
119
- fontSize: 14,
120
- color: '#666',
121
- marginTop: 4,
122
- },
123
- checkmark: {
124
- width: 24,
125
- height: 24,
126
- borderRadius: 12,
127
- backgroundColor: '#4CAF50',
128
- justifyContent: 'center',
129
- alignItems: 'center',
130
- },
131
- checkmarkText: {
132
- color: 'white',
133
- fontSize: 16,
134
- fontWeight: 'bold',
135
- },
136
- errorText: {
137
- color: '#dc2626',
138
- fontSize: 14,
139
- marginTop: 8,
140
- textAlign: 'center',
141
- },
51
+ container: { flex: 1, padding: 16, },
52
+ title: { fontSize: 24, fontWeight: 'bold', color: '#333', marginBottom: 8, textAlign: 'center', },
53
+ description: { fontSize: 16, color: '#666', textAlign: 'center', marginBottom: 24, lineHeight: 22, },
54
+ optionsContainer: { flex: 1, },
55
+ option: { flexDirection: 'row', alignItems: 'center', padding: 16, backgroundColor: 'white', borderRadius: 12, marginBottom: 12, borderWidth: 2, borderColor: '#e5e5e5', shadowColor: '#000', shadowOffset: { width: 0, height: 2, }, shadowOpacity: 0.1, shadowRadius: 3.84, elevation: 5, },
56
+ selectedOption: { borderColor: '#4CAF50', backgroundColor: '#f0f9f0', },
57
+ optionIcon: { fontSize: 32, marginRight: 16, },
58
+ optionContent: { flex: 1, },
59
+ optionLabel: { fontSize: 18, fontWeight: '600', color: '#333', },
60
+ selectedOptionLabel: { color: '#4CAF50', },
61
+ optionDescription: { fontSize: 14, color: '#666', marginTop: 4, },
62
+ checkmark: { width: 24, height: 24, borderRadius: 12, backgroundColor: '#4CAF50', justifyContent: 'center', alignItems: 'center', },
63
+ checkmarkText: { color: 'white', fontSize: 16, fontWeight: 'bold', },
64
+ errorText: { color: '#dc2626', fontSize: 14, marginTop: 8, textAlign: 'center', },
142
65
  });
143
66
  //# sourceMappingURL=DocumentTypeSelection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentTypeSelection.js","sourceRoot":"","sources":["../../../../src/components/KYCElements/DocumentTypeSelection.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { View, Text, TouchableOpacity, StyleSheet, ScrollView } from 'react-native';\nimport { KYCElement, KYCElementOption } from '../../types/KYC.types';\n\ninterface DocumentTypeSelectionProps {\n element: KYCElement;\n value?: string;\n onValueChange: (value: string) => void;\n error?: string;\n}\n\nconst defaultDocumentTypes: KYCElementOption[] = [\n { \n value: 'passport', \n label: 'Passeport', \n icon: '📘',\n description: 'Document de voyage officiel'\n },\n { \n value: 'id_card', \n label: 'Carte d\\'identité', \n icon: '🆔',\n description: 'Carte d\\'identité nationale'\n },\n { \n value: 'drivers_license', \n label: 'Permis de conduire', \n icon: '🚗',\n description: 'Permis de conduire valide'\n },\n { \n value: 'other', \n label: 'Autre document', \n icon: '📄',\n description: 'Autre document d\\'identité officiel'\n },\n];\n\nexport const DocumentTypeSelection: React.FC<DocumentTypeSelectionProps> = ({\n element,\n value,\n onValueChange,\n error,\n}) => {\n const documentTypes = element.options || defaultDocumentTypes;\n\n return (\n <View style={styles.container}>\n <Text style={styles.title}>{element.title}</Text>\n <Text style={styles.description}>{element.description}</Text>\n \n <ScrollView style={styles.optionsContainer} showsVerticalScrollIndicator={false}>\n {documentTypes.map((docType) => (\n <TouchableOpacity\n key={docType.value}\n style={[\n styles.option,\n value === docType.value && styles.selectedOption\n ]}\n onPress={() => onValueChange(docType.value)}\n >\n <Text style={styles.optionIcon}>{docType.icon}</Text>\n <View style={styles.optionContent}>\n <Text style={[\n styles.optionLabel,\n value === docType.value && styles.selectedOptionLabel\n ]}>\n {docType.label}\n </Text>\n {docType.description && (\n <Text style={styles.optionDescription}>{docType.description}</Text>\n )}\n </View>\n {value === docType.value && (\n <View style={styles.checkmark}>\n <Text style={styles.checkmarkText}>✓</Text>\n </View>\n )}\n </TouchableOpacity>\n ))}\n </ScrollView>\n\n {error && (\n <Text style={styles.errorText}>{error}</Text>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n padding: 16,\n },\n title: {\n fontSize: 24,\n fontWeight: 'bold',\n color: '#333',\n marginBottom: 8,\n textAlign: 'center',\n },\n description: {\n fontSize: 16,\n color: '#666',\n textAlign: 'center',\n marginBottom: 24,\n lineHeight: 22,\n },\n optionsContainer: {\n flex: 1,\n },\n option: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 16,\n backgroundColor: 'white',\n borderRadius: 12,\n marginBottom: 12,\n borderWidth: 2,\n borderColor: '#e5e5e5',\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.1,\n shadowRadius: 3.84,\n elevation: 5,\n },\n selectedOption: {\n borderColor: '#4CAF50',\n backgroundColor: '#f0f9f0',\n },\n optionIcon: {\n fontSize: 32,\n marginRight: 16,\n },\n optionContent: {\n flex: 1,\n },\n optionLabel: {\n fontSize: 18,\n fontWeight: '600',\n color: '#333',\n },\n selectedOptionLabel: {\n color: '#4CAF50',\n },\n optionDescription: {\n fontSize: 14,\n color: '#666',\n marginTop: 4,\n },\n checkmark: {\n width: 24,\n height: 24,\n borderRadius: 12,\n backgroundColor: '#4CAF50',\n justifyContent: 'center',\n alignItems: 'center',\n },\n checkmarkText: {\n color: 'white',\n fontSize: 16,\n fontWeight: 'bold',\n },\n errorText: {\n color: '#dc2626',\n fontSize: 14,\n marginTop: 8,\n textAlign: 'center',\n },\n}); "]}
1
+ {"version":3,"file":"DocumentTypeSelection.js","sourceRoot":"","sources":["../../../../src/components/KYCElements/DocumentTypeSelection.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react';\nimport { View, Text, TouchableOpacity, StyleSheet, ScrollView } from 'react-native';\nimport { KYCElement, KYCElementOption } from '../../types/KYC.types';\nimport { sdkLogger } from '../../utils/logger'; // 🚨 IMPORT SDK LOGGER\nimport { useTemplateKYCFlowContext } from '../../hooks/useTemplateKYCFlow'; // 🚨 IMPORT CONTEXT\n\ninterface DocumentTypeSelectionProps {\n element: KYCElement;\n value?: string;\n onValueChange: (value: string) => void;\n error?: string;\n}\n\nconst defaultDocumentTypes: KYCElementOption[] = [\n { value: 'passport', label: 'Passeport', icon: '📘', description: 'Document de voyage officiel' },\n { value: 'id_card', label: 'Carte d\\'identité', icon: '🆔', description: 'Carte d\\'identité nationale' },\n { value: 'drivers_license', label: 'Permis de conduire', icon: '🚗', description: 'Permis de conduire valide' },\n { value: 'other', label: 'Autre document', icon: '📄', description: 'Autre document d\\'identité officiel' },\n];\n\nexport const DocumentTypeSelection: React.FC<DocumentTypeSelectionProps> = ({\n element,\n value,\n onValueChange,\n error,\n}) => {\n const documentTypes = element.options || defaultDocumentTypes;\n const { state } = useTemplateKYCFlowContext();\n\n useEffect(() => {\n if (state.session?.session_id) {\n sdkLogger.info(\"User started standalone document type selection step\");\n }\n }, [state.session?.session_id]);\n\n return (\n <View style={styles.container}>\n <Text style={styles.title}>{element.title}</Text>\n <Text style={styles.description}>{element.description}</Text>\n\n <ScrollView style={styles.optionsContainer} showsVerticalScrollIndicator={false}>\n {documentTypes.map((docType) => (\n <TouchableOpacity\n key={docType.value}\n style={[\n styles.option,\n value === docType.value && styles.selectedOption\n ]}\n onPress={() => {\n sdkLogger.info(\"User selected document type\", { documentType: docType.value }); // 🚨 LOG\n onValueChange(docType.value);\n }}\n >\n <Text style={styles.optionIcon}>{docType.icon}</Text>\n <View style={styles.optionContent}>\n <Text style={[\n styles.optionLabel,\n value === docType.value && styles.selectedOptionLabel\n ]}>\n {docType.label}\n </Text>\n {docType.description && (\n <Text style={styles.optionDescription}>{docType.description}</Text>\n )}\n </View>\n {value === docType.value && (\n <View style={styles.checkmark}>\n <Text style={styles.checkmarkText}>✓</Text>\n </View>\n )}\n </TouchableOpacity>\n ))}\n </ScrollView>\n\n {error && (\n <Text style={styles.errorText}>{error}</Text>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { flex: 1, padding: 16, },\n title: { fontSize: 24, fontWeight: 'bold', color: '#333', marginBottom: 8, textAlign: 'center', },\n description: { fontSize: 16, color: '#666', textAlign: 'center', marginBottom: 24, lineHeight: 22, },\n optionsContainer: { flex: 1, },\n option: { flexDirection: 'row', alignItems: 'center', padding: 16, backgroundColor: 'white', borderRadius: 12, marginBottom: 12, borderWidth: 2, borderColor: '#e5e5e5', shadowColor: '#000', shadowOffset: { width: 0, height: 2, }, shadowOpacity: 0.1, shadowRadius: 3.84, elevation: 5, },\n selectedOption: { borderColor: '#4CAF50', backgroundColor: '#f0f9f0', },\n optionIcon: { fontSize: 32, marginRight: 16, },\n optionContent: { flex: 1, },\n optionLabel: { fontSize: 18, fontWeight: '600', color: '#333', },\n selectedOptionLabel: { color: '#4CAF50', },\n optionDescription: { fontSize: 14, color: '#666', marginTop: 4, },\n checkmark: { width: 24, height: 24, borderRadius: 12, backgroundColor: '#4CAF50', justifyContent: 'center', alignItems: 'center', },\n checkmarkText: { color: 'white', fontSize: 16, fontWeight: 'bold', },\n errorText: { color: '#dc2626', fontSize: 14, marginTop: 8, textAlign: 'center', },\n});"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDCardCapture.d.ts","sourceRoot":"","sources":["../../../../src/components/KYCElements/IDCardCapture.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAIpE,OAAO,EAAE,iBAAiB,EAAoI,MAAM,uBAAuB,CAAC;AAuB5L,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,kBAAkB;IAC1B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkCD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAm5BtD,CAAC"}
1
+ {"version":3,"file":"IDCardCapture.d.ts","sourceRoot":"","sources":["../../../../src/components/KYCElements/IDCardCapture.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAIpE,OAAO,EAAE,iBAAiB,EAAoI,MAAM,uBAAuB,CAAC;AAwB5L,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,kBAAkB;IAC1B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkCD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAw8BtD,CAAC"}