@splpi/dms-estore-upload 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,3 +1,3 @@
1
- import e,{useState as t,useCallback as r}from"react";import{VStack as n,Box as o,Text as a,Heading as l,Grid as i,Card as c,Flex as u,Icon as f,FileUpload as s,useFileUploadContext as d}from"@chakra-ui/react";import{HiCamera as m}from"react-icons/hi2";import{LuUpload as p}from"react-icons/lu";function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function g(e,t,r,n,o,a,l){try{var i=e[a](l),c=i.value}catch(e){return void r(e)}i.done?t(c):Promise.resolve(c).then(n,o)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){g(a,n,o,l,i,"next",e)}function i(e){g(a,n,o,l,i,"throw",e)}l(void 0)})}}function h(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=P(e))||t){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){i=!0,a=e},f:function(){try{l||null==r.return||r.return()}finally{if(i)throw a}}}}function v(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach(function(t){v(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function S(){
1
+ import e,{useState as t,useCallback as r}from"react";import{VStack as n,Box as o,Text as a,Heading as l,Grid as i,Card as c,Flex as u,Icon as s,FileUpload as f,useFileUploadContext as d}from"@chakra-ui/react";import{HiCamera as m}from"react-icons/hi2";import{LuUpload as p}from"react-icons/lu";function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t,r,n,o,a,l){try{var i=e[a](l),c=i.value}catch(e){return void r(e)}i.done?t(c):Promise.resolve(c).then(n,o)}function h(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function l(e){b(a,n,o,l,i,"next",e)}function i(e){b(a,n,o,l,i,"throw",e)}l(void 0)})}}function y(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=F(e))||t){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){i=!0,a=e},f:function(){try{l||null==r.return||r.return()}finally{if(i)throw a}}}}function v(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach(function(t){v(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function O(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var c=n&&n.prototype instanceof i?n:i,u=Object.create(c.prototype);return O(u,"_invoke",function(r,n,o){var a,i,c,u=0,f=o||[],s=!1,d={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,r){return a=t,i=0,c=e,d.n=r,l}};function m(r,n){for(i=r,c=n,t=0;!s&&u&&!o&&t<f.length;t++){var o,a=f[t],m=d.p,p=a[2];r>3?(o=p===n)&&(c=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=e):a[0]<=m&&((o=r<2&&m<a[1])?(i=0,d.v=n,d.n=a[1]):m<p&&(o=r<3||a[0]>n||n>p)&&(a[4]=r,a[5]=n,d.n=p,i=0))}if(o||r>1)return l;throw s=!0,n}return function(o,f,p){if(u>1)throw TypeError("Generator is already running");for(s&&1===f&&m(f,p),i=f,c=p;(t=i<2?e:c)||!s;){a||(i?i<3?(i>1&&(d.n=-1),m(i,c)):d.n=c:d.v=c);try{if(u=2,a){if(i||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,i<2&&(i=0)}else 1===i&&(t=a.return)&&t.call(a),i<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),i=1);a=e}else if((t=(s=d.n<0)?c:r.call(n,d))!==l)break}catch(t){a=e,i=1,c=t}finally{u=1}}return{value:t,done:s}}}(r,o,a),!0),u}var l={};function i(){}function c(){}function u(){}t=Object.getPrototypeOf;var f=[][n]?t(t([][n]())):(O(t={},n,function(){return this}),t),s=u.prototype=i.prototype=Object.create(f);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,O(e,o,"GeneratorFunction")),e.prototype=Object.create(s),e}return c.prototype=u,O(s,"constructor",u),O(u,"constructor",c),c.displayName="GeneratorFunction",O(u,o,"GeneratorFunction"),O(s),O(s,o,"Generator"),O(s,n,function(){return this}),O(s,"toString",function(){return"[object Generator]"}),(S=function(){return{w:a,m:d}})()}function O(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}O=function(e,t,r,n){function a(t,r){O(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},O(e,t,r,n)}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,l,i=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t);else for(;!(c=(n=a.call(r)).done)&&(i.push(n.value),i.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(u)throw o}}return i}}(e,t)||P(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||P(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e,t){if(e){if("string"==typeof e)return b(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?b(e,t):void 0}}var I=function(){return d().acceptedFiles.length>=1?null:e.createElement(s.Dropzone,null,e.createElement(f,{size:"md",color:"fg.muted"},e.createElement(p,null)),e.createElement(s.DropzoneContent,null,e.createElement(o,null,"Drag and drop files here"),e.createElement(o,{color:"fg.muted"},"1 file allowed")))},x=function(){var t=d().acceptedFiles;return t.length>=3?null:e.createElement(s.Dropzone,null,e.createElement(f,{size:"md",color:"fg.muted"},e.createElement(p,null)),e.createElement(s.DropzoneContent,null,e.createElement(o,null,"Drag and drop files here"),e.createElement(o,{color:"fg.muted"},3-t.length," more file",3-t.length!=1?"s":""," allowed")))};function C(d){var p=d.apiBase,b=d.uploadedBy,g=void 0===b?"customer":b,v=d.PrimaryMdButton,E=d.onBeforeNext,O=d.onChange,P=d.onIdUploadComplete,C=d.onSignatureUploadComplete,D=j(t(null),2),T=D[0],k=D[1],z=j(t([]),2),A=z[0],G=z[1],U=j(t(!1),2),W=U[0],R=U[1],_=j(t(""),2),B=_[0],N=_[1],M=r(y(S().m(function e(){var t,r,n,o,a,l,i,c,u,f,s,d,m,b,y,v;return S().w(function(e){for(;;)switch(e.p=e.n){case 0:if(N(""),T||0!==A.length){e.n=1;break}return N("Please upload at least one file before continuing."),e.a(2,{success:!1});case 1:if(R(!0),t={idFile:null,sigFiles:[]},e.p=2,!T){e.n=6;break}return(r=new FormData).append("file",T,T.name),e.n=3,fetch("".concat(p,"/api/files/direct-upload?documentType=Government%20ID&uploadedBy=").concat(encodeURIComponent(g)),{method:"POST",body:r});case 3:if((n=e.v).ok){e.n=4;break}throw new Error("Government ID upload failed.");case 4:return e.n=5,n.json();case 5:o=e.v,t.idFile={driveFileId:o.driveFileId,fileName:T.name},P&&P(t.idFile);case 6:if(!(A.length>0)){e.n=9;break}return console.log("Sig files count:",A.length),a=new FormData,A.forEach(function(e){return a.append("files",e,e.name)}),console.log("FormData entries:",F(a.entries()).map(function(e){return e[0]+": "+e[1].name})),e.n=7,fetch("".concat(p,"/api/files/validate-signatures"),{method:"POST",body:a});case 7:if(!(l=e.v).ok){e.n=9;break}return e.n=8,l.json();case 8:if(i=e.v,console.log("Validation result:",i),i.isValid){e.n=9;break}return N(i.reason),e.a(2,{success:!1});case 9:c=h(A),e.p=10,c.s();case 11:if((u=c.n()).done){e.n=16;break}return f=u.value,(s=new FormData).append("file",f,f.name),e.n=12,fetch("".concat(p,"/api/files/direct-upload?documentType=Specimen%20Signature&uploadedBy=").concat(encodeURIComponent(g)),{method:"POST",body:s});case 12:if((d=e.v).ok){e.n=13;break}throw new Error("Signature upload failed.");case 13:return e.n=14,d.json();case 14:m=e.v,b={driveFileId:m.driveFileId,fileName:f.name},t.sigFiles.push(b),C&&C(b);case 15:e.n=11;break;case 16:e.n=18;break;case 17:e.p=17,y=e.v,c.e(y);case 18:return e.p=18,c.f(),e.f(18);case 19:return e.a(2,w({success:!0},t));case 20:return e.p=20,v=e.v,N(v.message||"Upload failed. Please try again."),e.a(2,{success:!1});case 21:return e.p=21,R(!1),e.f(21);case 22:return e.a(2)}},e,null,[[10,17,18,19],[2,20,21,22]])})),[T,A,p,g,P,C]);e.useEffect(function(){E&&E(M)},[M,E]);var H=v?e.createElement(v,{mt:2,w:"full"},W?"Uploading...":"Open Camera"):e.createElement("button",{style:{marginTop:8,width:"100%"}},W?"Uploading...":"Open Camera");return e.createElement(n,{gap:6,align:"stretch"},e.createElement(o,{p:"4",borderWidth:"1px",borderRadius:"lg",bg:"green.50"},e.createElement(a,{fontSize:"sm",color:"green.700",fontWeight:"medium"},"To continue, please upload a valid ID. The system will use it to populate your information automatically.")),e.createElement(n,{gap:4,align:"stretch"},e.createElement(o,null,e.createElement(l,{size:"md",fontWeight:"bold"},"Upload Government-issued ID"),e.createElement(a,{fontSize:"sm",color:"fg.muted",mt:1},"Choose one of the options below to upload your ID")),e.createElement(i,{templateColumns:{base:"1fr",md:"2fr"},gap:4},e.createElement(c.Root,{borderWidth:"2px",borderColor:"gray.200",p:6,textAlign:"center",cursor:"pointer",_hover:{borderColor:"blue.400",boxShadow:"md",bg:"blue.50"},transition:"all 0.2s"},e.createElement(n,{gap:4},e.createElement(u,{w:16,h:16,rounded:"full",bg:"blue.100",align:"center",justify:"center",mx:"auto"},e.createElement(f,{size:"xl",color:"blue.600"},e.createElement(m,null))),e.createElement(n,{gap:2},e.createElement(a,{fontWeight:"bold",fontSize:"md"},"Take a Photo"),e.createElement(a,{fontSize:"sm",color:"fg.muted"},"Use your device camera to capture your ID")),e.createElement(s.Root,{capture:"environment",onFileChange:function(e){e.acceptedFiles[0]&&(k(e.acceptedFiles[0]),O&&O(e.acceptedFiles[0]))}},e.createElement(s.HiddenInput,null),e.createElement(s.Trigger,{asChild:!0},H)))),e.createElement(s.Root,{maxW:"full",alignItems:"stretch",maxFiles:1,onFileChange:function(e){e.acceptedFiles[0]&&(k(e.acceptedFiles[0]),O&&O(e.acceptedFiles[0]))}},e.createElement(s.HiddenInput,null),e.createElement(I,null),e.createElement(s.List,{clearable:!0}))),T&&e.createElement(o,{p:3,bg:"green.50",borderWidth:"1px",borderColor:"green.200",borderRadius:"md",fontSize:"sm",color:"green.700"},"✓ ",T.name," ready to upload")),e.createElement(n,{gap:4,align:"stretch"},e.createElement(o,null,e.createElement(l,{size:"md",fontWeight:"bold"},"Upload valid three (3) specimen signature.")),e.createElement(s.Root,{maxW:"full",alignItems:"stretch",maxFiles:3,onFileChange:function(e){e.acceptedFiles.length>0&&G(e.acceptedFiles)}},e.createElement(s.HiddenInput,null),e.createElement(x,null),e.createElement(s.List,{clearable:!0})),e.createElement(o,{p:3,bg:"gray.50",rounded:"md",fontSize:"xs",color:"fg.muted"},e.createElement(a,{as:"span",fontWeight:"medium"},"Accepted formats:")," ","PNG, JPG, JPEG(Max 3 files)"),A.length>0&&e.createElement(o,{p:3,bg:"green.50",borderWidth:"1px",borderColor:"green.200",borderRadius:"md",fontSize:"sm",color:"green.700"},"✓ ",A.length," signature file(s) ready to upload")),B&&e.createElement(o,{p:3,bg:"red.50",borderWidth:"1px",borderColor:"red.200",borderRadius:"md",fontSize:"sm",color:"red.700"},B),W&&e.createElement(o,{fontSize:"sm",color:"fg.muted",textAlign:"center"},"Uploading files to DMS..."))}export{C as DmsUploadRequirements};
3
+ var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var c=n&&n.prototype instanceof i?n:i,u=Object.create(c.prototype);return S(u,"_invoke",function(r,n,o){var a,i,c,u=0,s=o||[],f=!1,d={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,r){return a=t,i=0,c=e,d.n=r,l}};function m(r,n){for(i=r,c=n,t=0;!f&&u&&!o&&t<s.length;t++){var o,a=s[t],m=d.p,p=a[2];r>3?(o=p===n)&&(c=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=e):a[0]<=m&&((o=r<2&&m<a[1])?(i=0,d.v=n,d.n=a[1]):m<p&&(o=r<3||a[0]>n||n>p)&&(a[4]=r,a[5]=n,d.n=p,i=0))}if(o||r>1)return l;throw f=!0,n}return function(o,s,p){if(u>1)throw TypeError("Generator is already running");for(f&&1===s&&m(s,p),i=s,c=p;(t=i<2?e:c)||!f;){a||(i?i<3?(i>1&&(d.n=-1),m(i,c)):d.n=c:d.v=c);try{if(u=2,a){if(i||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,i<2&&(i=0)}else 1===i&&(t=a.return)&&t.call(a),i<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),i=1);a=e}else if((t=(f=d.n<0)?c:r.call(n,d))!==l)break}catch(t){a=e,i=1,c=t}finally{u=1}}return{value:t,done:f}}}(r,o,a),!0),u}var l={};function i(){}function c(){}function u(){}t=Object.getPrototypeOf;var s=[][n]?t(t([][n]())):(S(t={},n,function(){return this}),t),f=u.prototype=i.prototype=Object.create(s);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,S(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=u,S(f,"constructor",u),S(u,"constructor",c),c.displayName="GeneratorFunction",S(u,o,"GeneratorFunction"),S(f),S(f,o,"Generator"),S(f,n,function(){return this}),S(f,"toString",function(){return"[object Generator]"}),(O=function(){return{w:a,m:d}})()}function S(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}S=function(e,t,r,n){function a(t,r){S(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},S(e,t,r,n)}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,l,i=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t);else for(;!(c=(n=a.call(r)).done)&&(i.push(n.value),i.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(u)throw o}}return i}}(e,t)||F(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e,t){if(e){if("string"==typeof e)return g(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}var P=function(){return d().acceptedFiles.length>=1?null:e.createElement(f.Dropzone,null,e.createElement(s,{size:"md",color:"fg.muted"},e.createElement(p,null)),e.createElement(f.DropzoneContent,null,e.createElement(o,null,"Drag and drop files here"),e.createElement(o,{color:"fg.muted"},"1 file allowed")))},x=function(){var t=d().acceptedFiles;return t.length>=3?null:e.createElement(f.Dropzone,null,e.createElement(s,{size:"md",color:"fg.muted"},e.createElement(p,null)),e.createElement(f.DropzoneContent,null,e.createElement(o,null,"Drag and drop files here"),e.createElement(o,{color:"fg.muted"},3-t.length," more file",3-t.length!=1?"s":""," allowed")))};function I(d){var p=d.apiBase,g=d.uploadedBy,b=void 0===g?"customer":g,v=d.PrimaryMdButton,E=d.onBeforeNext,S=d.onChange,F=d.onIdUploadComplete,I=d.onSignatureUploadComplete,C=j(t(null),2),k=C[0],z=C[1],D=j(t([]),2),T=D[0],W=D[1],U=j(t(!1),2),G=U[0],A=U[1],R=j(t(""),2),N=R[0],_=R[1],B=j(t(""),2),V=B[0],H=B[1],M=j(t([]),2),J=M[0],L=M[1],$=r(h(O().m(function e(){var t,r,n,o,a,l,i,c,u,s,f,d,m,g,h,v;return O().w(function(e){for(;;)switch(e.p=e.n){case 0:if(H(""),L([]),k||0!==T.length){e.n=1;break}return H("Please upload at least one file before continuing."),e.a(2,{success:!1});case 1:if(!(T.length>0&&T.length<3)){e.n=2;break}return H("Please upload all 3 specimen signatures before continuing."),e.a(2,{success:!1});case 2:if(A(!0),t={idFile:null,sigFiles:[]},e.p=3,!(T.length>0)){e.n=6;break}return _("Verifying your documents..."),r=new FormData,T.forEach(function(e){return r.append("files",e,e.name)}),e.n=4,fetch("".concat(p,"/api/files/validate-signatures-detail"),{method:"POST",body:r});case 4:if(!(n=e.v).ok){e.n=6;break}return e.n=5,n.json();case 5:if((o=e.v).allValid){e.n=6;break}return L(o.results),H("One or more signature files are invalid. Please replace the highlighted files with a clear photo or scan of your handwritten signature on white paper."),e.a(2,{success:!1});case 6:if(!k){e.n=10;break}return _("Uploading your ID..."),(a=new FormData).append("file",k,k.name),e.n=7,fetch("".concat(p,"/api/files/direct-upload?documentType=Government%20ID&uploadedBy=").concat(encodeURIComponent(b)),{method:"POST",body:a});case 7:if((l=e.v).ok){e.n=8;break}throw new Error("Government ID upload failed.");case 8:return e.n=9,l.json();case 9:i=e.v,t.idFile={driveFileId:i.driveFileId,fileName:k.name},F&&F(t.idFile);case 10:_("Uploading your signatures..."),c=y(T),e.p=11,c.s();case 12:if((u=c.n()).done){e.n=17;break}return s=u.value,(f=new FormData).append("file",s,s.name),e.n=13,fetch("".concat(p,"/api/files/direct-upload?documentType=Specimen%20Signature&uploadedBy=").concat(encodeURIComponent(b)),{method:"POST",body:f});case 13:if((d=e.v).ok){e.n=14;break}throw new Error("Signature upload failed.");case 14:return e.n=15,d.json();case 15:m=e.v,g={driveFileId:m.driveFileId,fileName:s.name},t.sigFiles.push(g),I&&I(g);case 16:e.n=12;break;case 17:e.n=19;break;case 18:e.p=18,h=e.v,c.e(h);case 19:return e.p=19,c.f(),e.f(19);case 20:return e.a(2,w({success:!0},t));case 21:return e.p=21,v=e.v,H(v.message||"Upload failed. Please try again."),e.a(2,{success:!1});case 22:return e.p=22,A(!1),_(""),e.f(22);case 23:return e.a(2)}},e,null,[[11,18,19,20],[3,21,22,23]])})),[k,T,p,b,F,I]);e.useEffect(function(){E&&E($)},[$,E]);var q=v?e.createElement(v,{mt:2,w:"full"},G?"Uploading...":"Open Camera"):e.createElement("button",{style:{marginTop:8,width:"100%"}},G?"Uploading...":"Open Camera");return e.createElement(n,{gap:6,align:"stretch"},e.createElement(o,{p:"4",borderWidth:"1px",borderRadius:"lg",bg:"green.50"},e.createElement(a,{fontSize:"sm",color:"green.700",fontWeight:"medium"},"To continue, please upload a valid ID. The system will use it to populate your information automatically.")),e.createElement(n,{gap:4,align:"stretch"},e.createElement(o,null,e.createElement(l,{size:"md",fontWeight:"bold"},"Upload Government-issued ID"),e.createElement(a,{fontSize:"sm",color:"fg.muted",mt:1},"Choose one of the options below to upload your ID")),e.createElement(i,{templateColumns:{base:"1fr",md:"2fr"},gap:4},e.createElement(c.Root,{borderWidth:"2px",borderColor:"gray.200",p:6,textAlign:"center",cursor:"pointer",_hover:{borderColor:"blue.400",boxShadow:"md",bg:"blue.50"},transition:"all 0.2s"},e.createElement(n,{gap:4},e.createElement(u,{w:16,h:16,rounded:"full",bg:"blue.100",align:"center",justify:"center",mx:"auto"},e.createElement(s,{size:"xl",color:"blue.600"},e.createElement(m,null))),e.createElement(n,{gap:2},e.createElement(a,{fontWeight:"bold",fontSize:"md"},"Take a Photo"),e.createElement(a,{fontSize:"sm",color:"fg.muted"},"Use your device camera to capture your ID")),e.createElement(f.Root,{capture:"environment",onFileChange:function(e){e.acceptedFiles[0]&&(z(e.acceptedFiles[0]),S&&S(e.acceptedFiles[0]))}},e.createElement(f.HiddenInput,null),e.createElement(f.Trigger,{asChild:!0},q)))),e.createElement(f.Root,{maxW:"full",alignItems:"stretch",maxFiles:1,onFileChange:function(e){e.acceptedFiles[0]&&(z(e.acceptedFiles[0]),S&&S(e.acceptedFiles[0]))}},e.createElement(f.HiddenInput,null),e.createElement(P,null),e.createElement(f.List,{clearable:!0}))),k&&e.createElement(o,{p:3,bg:"green.50",borderWidth:"1px",borderColor:"green.200",borderRadius:"md",fontSize:"sm",color:"green.700"},"✓ ",k.name," ready to upload")),e.createElement(n,{gap:4,align:"stretch"},e.createElement(o,null,e.createElement(l,{size:"md",fontWeight:"bold"},"Upload valid three (3) specimen signature.")),e.createElement(f.Root,{maxW:"full",alignItems:"stretch",maxFiles:3,onFileChange:function(e){L([]),H(""),e.acceptedFiles.length>0&&W(e.acceptedFiles)}},e.createElement(f.HiddenInput,null),e.createElement(x,null),T.length>0&&e.createElement(n,{gap:2,mt:2,align:"stretch"},T.map(function(t){var r,n=(r=t.name,J.find(function(e){return e.fileName===r})),l=n&&!n.isValid,i=n&&n.isValid;return e.createElement(o,{key:t.name,p:3,borderWidth:"1px",borderRadius:"md",borderColor:l?"red.300":i?"green.300":"gray.200",bg:l?"red.50":i?"green.50":"white",display:"flex",alignItems:"center",justifyContent:"space-between"},e.createElement(u,{align:"center",gap:2},e.createElement(a,{fontSize:"sm"},l?"❌":i?"✓":"📄"),e.createElement(a,{fontSize:"sm",color:l?"red.700":i?"green.700":"gray.700",fontWeight:l?"medium":"normal"},t.name)),l&&e.createElement(a,{fontSize:"xs",color:"red.500"},"Not a valid signature"))}))),e.createElement(o,{p:3,bg:"gray.50",rounded:"md",fontSize:"xs",color:"fg.muted"},e.createElement(a,{as:"span",fontWeight:"medium"},"Accepted formats:")," ","PNG, JPG, JPEG (Max 3 files)")),V&&e.createElement(o,{p:3,bg:"red.50",borderWidth:"1px",borderColor:"red.200",borderRadius:"md",fontSize:"sm",color:"red.700"},V),G&&N&&e.createElement(o,{p:3,bg:"blue.50",borderWidth:"1px",borderColor:"blue.200",borderRadius:"md",fontSize:"sm",color:"blue.700",textAlign:"center"}," ",N))}export{I as DmsUploadRequirements};
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var e=require("react"),t=require("@chakra-ui/react"),r=require("react-icons/hi2"),n=require("react-icons/lu");function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function a(e,t,r,n,o,a,l){try{var i=e[a](l),c=i.value}catch(e){return void r(e)}i.done?t(c):Promise.resolve(c).then(n,o)}function l(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function i(e){a(l,n,o,i,c,"next",e)}function c(e){a(l,n,o,i,c,"throw",e)}i(void 0)})}}function i(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=b(e))||t){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){i=!0,a=e},f:function(){try{l||null==r.return||r.return()}finally{if(i)throw a}}}}function c(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function s(){
1
+ "use strict";var e=require("react"),t=require("@chakra-ui/react"),r=require("react-icons/hi2"),n=require("react-icons/lu");function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function a(e,t,r,n,o,a,l){try{var i=e[a](l),c=i.value}catch(e){return void r(e)}i.done?t(c):Promise.resolve(c).then(n,o)}function l(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function i(e){a(l,n,o,i,c,"next",e)}function c(e){a(l,n,o,i,c,"throw",e)}i(void 0)})}}function i(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=p(e))||t){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){i=!0,a=e},f:function(){try{l||null==r.return||r.return()}finally{if(i)throw a}}}}function c(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function s(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var c=n&&n.prototype instanceof i?n:i,u=Object.create(c.prototype);return f(u,"_invoke",function(r,n,o){var a,i,c,u=0,d=o||[],s=!1,f={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,r){return a=t,i=0,c=e,f.n=r,l}};function m(r,n){for(i=r,c=n,t=0;!s&&u&&!o&&t<d.length;t++){var o,a=d[t],m=f.p,p=a[2];r>3?(o=p===n)&&(c=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=e):a[0]<=m&&((o=r<2&&m<a[1])?(i=0,f.v=n,f.n=a[1]):m<p&&(o=r<3||a[0]>n||n>p)&&(a[4]=r,a[5]=n,f.n=p,i=0))}if(o||r>1)return l;throw s=!0,n}return function(o,d,p){if(u>1)throw TypeError("Generator is already running");for(s&&1===d&&m(d,p),i=d,c=p;(t=i<2?e:c)||!s;){a||(i?i<3?(i>1&&(f.n=-1),m(i,c)):f.n=c:f.v=c);try{if(u=2,a){if(i||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,i<2&&(i=0)}else 1===i&&(t=a.return)&&t.call(a),i<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),i=1);a=e}else if((t=(s=f.n<0)?c:r.call(n,f))!==l)break}catch(t){a=e,i=1,c=t}finally{u=1}}return{value:t,done:s}}}(r,o,a),!0),u}var l={};function i(){}function c(){}function u(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(f(t={},n,function(){return this}),t),m=u.prototype=i.prototype=Object.create(d);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,f(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e}return c.prototype=u,f(m,"constructor",u),f(u,"constructor",c),c.displayName="GeneratorFunction",f(u,o,"GeneratorFunction"),f(m),f(m,o,"Generator"),f(m,n,function(){return this}),f(m,"toString",function(){return"[object Generator]"}),(s=function(){return{w:a,m:p}})()}function f(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}f=function(e,t,r,n){function a(t,r){f(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},f(e,t,r,n)}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,l,i=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t);else for(;!(c=(n=a.call(r)).done)&&(i.push(n.value),i.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(u)throw o}}return i}}(e,t)||b(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||b(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}var g=function(){return t.useFileUploadContext().acceptedFiles.length>=1?null:e.createElement(t.FileUpload.Dropzone,null,e.createElement(t.Icon,{size:"md",color:"fg.muted"},e.createElement(n.LuUpload,null)),e.createElement(t.FileUpload.DropzoneContent,null,e.createElement(t.Box,null,"Drag and drop files here"),e.createElement(t.Box,{color:"fg.muted"},"1 file allowed")))},y=function(){var r=t.useFileUploadContext().acceptedFiles;return r.length>=3?null:e.createElement(t.FileUpload.Dropzone,null,e.createElement(t.Icon,{size:"md",color:"fg.muted"},e.createElement(n.LuUpload,null)),e.createElement(t.FileUpload.DropzoneContent,null,e.createElement(t.Box,null,"Drag and drop files here"),e.createElement(t.Box,{color:"fg.muted"},3-r.length," more file",3-r.length!=1?"s":""," allowed")))};exports.DmsUploadRequirements=function(n){var o=n.apiBase,a=n.uploadedBy,c=void 0===a?"customer":a,u=n.PrimaryMdButton,f=n.onBeforeNext,b=n.onChange,h=n.onIdUploadComplete,v=n.onSignatureUploadComplete,E=m(e.useState(null),2),S=E[0],F=E[1],w=m(e.useState([]),2),x=w[0],O=w[1],j=m(e.useState(!1),2),U=j[0],I=j[1],P=m(e.useState(""),2),C=P[0],k=P[1],T=e.useCallback(l(s().m(function e(){var t,r,n,a,l,u,f,m,b,g,y,E,F,w,O,j;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:if(k(""),S||0!==x.length){e.n=1;break}return k("Please upload at least one file before continuing."),e.a(2,{success:!1});case 1:if(I(!0),t={idFile:null,sigFiles:[]},e.p=2,!S){e.n=6;break}return(r=new FormData).append("file",S,S.name),e.n=3,fetch("".concat(o,"/api/files/direct-upload?documentType=Government%20ID&uploadedBy=").concat(encodeURIComponent(c)),{method:"POST",body:r});case 3:if((n=e.v).ok){e.n=4;break}throw new Error("Government ID upload failed.");case 4:return e.n=5,n.json();case 5:a=e.v,t.idFile={driveFileId:a.driveFileId,fileName:S.name},h&&h(t.idFile);case 6:if(!(x.length>0)){e.n=9;break}return console.log("Sig files count:",x.length),l=new FormData,x.forEach(function(e){return l.append("files",e,e.name)}),console.log("FormData entries:",p(l.entries()).map(function(e){return e[0]+": "+e[1].name})),e.n=7,fetch("".concat(o,"/api/files/validate-signatures"),{method:"POST",body:l});case 7:if(!(u=e.v).ok){e.n=9;break}return e.n=8,u.json();case 8:if(f=e.v,console.log("Validation result:",f),f.isValid){e.n=9;break}return k(f.reason),e.a(2,{success:!1});case 9:m=i(x),e.p=10,m.s();case 11:if((b=m.n()).done){e.n=16;break}return g=b.value,(y=new FormData).append("file",g,g.name),e.n=12,fetch("".concat(o,"/api/files/direct-upload?documentType=Specimen%20Signature&uploadedBy=").concat(encodeURIComponent(c)),{method:"POST",body:y});case 12:if((E=e.v).ok){e.n=13;break}throw new Error("Signature upload failed.");case 13:return e.n=14,E.json();case 14:F=e.v,w={driveFileId:F.driveFileId,fileName:g.name},t.sigFiles.push(w),v&&v(w);case 15:e.n=11;break;case 16:e.n=18;break;case 17:e.p=17,O=e.v,m.e(O);case 18:return e.p=18,m.f(),e.f(18);case 19:return e.a(2,d({success:!0},t));case 20:return e.p=20,j=e.v,k(j.message||"Upload failed. Please try again."),e.a(2,{success:!1});case 21:return e.p=21,I(!1),e.f(21);case 22:return e.a(2)}},e,null,[[10,17,18,19],[2,20,21,22]])})),[S,x,o,c,h,v]);e.useEffect(function(){f&&f(T)},[T,f]);var D=u?e.createElement(u,{mt:2,w:"full"},U?"Uploading...":"Open Camera"):e.createElement("button",{style:{marginTop:8,width:"100%"}},U?"Uploading...":"Open Camera");return e.createElement(t.VStack,{gap:6,align:"stretch"},e.createElement(t.Box,{p:"4",borderWidth:"1px",borderRadius:"lg",bg:"green.50"},e.createElement(t.Text,{fontSize:"sm",color:"green.700",fontWeight:"medium"},"To continue, please upload a valid ID. The system will use it to populate your information automatically.")),e.createElement(t.VStack,{gap:4,align:"stretch"},e.createElement(t.Box,null,e.createElement(t.Heading,{size:"md",fontWeight:"bold"},"Upload Government-issued ID"),e.createElement(t.Text,{fontSize:"sm",color:"fg.muted",mt:1},"Choose one of the options below to upload your ID")),e.createElement(t.Grid,{templateColumns:{base:"1fr",md:"2fr"},gap:4},e.createElement(t.Card.Root,{borderWidth:"2px",borderColor:"gray.200",p:6,textAlign:"center",cursor:"pointer",_hover:{borderColor:"blue.400",boxShadow:"md",bg:"blue.50"},transition:"all 0.2s"},e.createElement(t.VStack,{gap:4},e.createElement(t.Flex,{w:16,h:16,rounded:"full",bg:"blue.100",align:"center",justify:"center",mx:"auto"},e.createElement(t.Icon,{size:"xl",color:"blue.600"},e.createElement(r.HiCamera,null))),e.createElement(t.VStack,{gap:2},e.createElement(t.Text,{fontWeight:"bold",fontSize:"md"},"Take a Photo"),e.createElement(t.Text,{fontSize:"sm",color:"fg.muted"},"Use your device camera to capture your ID")),e.createElement(t.FileUpload.Root,{capture:"environment",onFileChange:function(e){e.acceptedFiles[0]&&(F(e.acceptedFiles[0]),b&&b(e.acceptedFiles[0]))}},e.createElement(t.FileUpload.HiddenInput,null),e.createElement(t.FileUpload.Trigger,{asChild:!0},D)))),e.createElement(t.FileUpload.Root,{maxW:"full",alignItems:"stretch",maxFiles:1,onFileChange:function(e){e.acceptedFiles[0]&&(F(e.acceptedFiles[0]),b&&b(e.acceptedFiles[0]))}},e.createElement(t.FileUpload.HiddenInput,null),e.createElement(g,null),e.createElement(t.FileUpload.List,{clearable:!0}))),S&&e.createElement(t.Box,{p:3,bg:"green.50",borderWidth:"1px",borderColor:"green.200",borderRadius:"md",fontSize:"sm",color:"green.700"},"✓ ",S.name," ready to upload")),e.createElement(t.VStack,{gap:4,align:"stretch"},e.createElement(t.Box,null,e.createElement(t.Heading,{size:"md",fontWeight:"bold"},"Upload valid three (3) specimen signature.")),e.createElement(t.FileUpload.Root,{maxW:"full",alignItems:"stretch",maxFiles:3,onFileChange:function(e){e.acceptedFiles.length>0&&O(e.acceptedFiles)}},e.createElement(t.FileUpload.HiddenInput,null),e.createElement(y,null),e.createElement(t.FileUpload.List,{clearable:!0})),e.createElement(t.Box,{p:3,bg:"gray.50",rounded:"md",fontSize:"xs",color:"fg.muted"},e.createElement(t.Text,{as:"span",fontWeight:"medium"},"Accepted formats:")," ","PNG, JPG, JPEG(Max 3 files)"),x.length>0&&e.createElement(t.Box,{p:3,bg:"green.50",borderWidth:"1px",borderColor:"green.200",borderRadius:"md",fontSize:"sm",color:"green.700"},"✓ ",x.length," signature file(s) ready to upload")),C&&e.createElement(t.Box,{p:3,bg:"red.50",borderWidth:"1px",borderColor:"red.200",borderRadius:"md",fontSize:"sm",color:"red.700"},C),U&&e.createElement(t.Box,{fontSize:"sm",color:"fg.muted",textAlign:"center"},"Uploading files to DMS..."))};
3
+ var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var c=n&&n.prototype instanceof i?n:i,u=Object.create(c.prototype);return f(u,"_invoke",function(r,n,o){var a,i,c,u=0,d=o||[],s=!1,f={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,r){return a=t,i=0,c=e,f.n=r,l}};function m(r,n){for(i=r,c=n,t=0;!s&&u&&!o&&t<d.length;t++){var o,a=d[t],m=f.p,p=a[2];r>3?(o=p===n)&&(c=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=e):a[0]<=m&&((o=r<2&&m<a[1])?(i=0,f.v=n,f.n=a[1]):m<p&&(o=r<3||a[0]>n||n>p)&&(a[4]=r,a[5]=n,f.n=p,i=0))}if(o||r>1)return l;throw s=!0,n}return function(o,d,p){if(u>1)throw TypeError("Generator is already running");for(s&&1===d&&m(d,p),i=d,c=p;(t=i<2?e:c)||!s;){a||(i?i<3?(i>1&&(f.n=-1),m(i,c)):f.n=c:f.v=c);try{if(u=2,a){if(i||(o="next"),t=a[o]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,i<2&&(i=0)}else 1===i&&(t=a.return)&&t.call(a),i<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),i=1);a=e}else if((t=(s=f.n<0)?c:r.call(n,f))!==l)break}catch(t){a=e,i=1,c=t}finally{u=1}}return{value:t,done:s}}}(r,o,a),!0),u}var l={};function i(){}function c(){}function u(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(f(t={},n,function(){return this}),t),m=u.prototype=i.prototype=Object.create(d);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,f(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e}return c.prototype=u,f(m,"constructor",u),f(u,"constructor",c),c.displayName="GeneratorFunction",f(u,o,"GeneratorFunction"),f(m),f(m,o,"Generator"),f(m,n,function(){return this}),f(m,"toString",function(){return"[object Generator]"}),(s=function(){return{w:a,m:p}})()}function f(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}f=function(e,t,r,n){function a(t,r){f(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},f(e,t,r,n)}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,l,i=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t);else for(;!(c=(n=a.call(r)).done)&&(i.push(n.value),i.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(u)throw o}}return i}}(e,t)||p(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}var g=function(){return t.useFileUploadContext().acceptedFiles.length>=1?null:e.createElement(t.FileUpload.Dropzone,null,e.createElement(t.Icon,{size:"md",color:"fg.muted"},e.createElement(n.LuUpload,null)),e.createElement(t.FileUpload.DropzoneContent,null,e.createElement(t.Box,null,"Drag and drop files here"),e.createElement(t.Box,{color:"fg.muted"},"1 file allowed")))},b=function(){var r=t.useFileUploadContext().acceptedFiles;return r.length>=3?null:e.createElement(t.FileUpload.Dropzone,null,e.createElement(t.Icon,{size:"md",color:"fg.muted"},e.createElement(n.LuUpload,null)),e.createElement(t.FileUpload.DropzoneContent,null,e.createElement(t.Box,null,"Drag and drop files here"),e.createElement(t.Box,{color:"fg.muted"},3-r.length," more file",3-r.length!=1?"s":""," allowed")))};exports.DmsUploadRequirements=function(n){var o=n.apiBase,a=n.uploadedBy,c=void 0===a?"customer":a,u=n.PrimaryMdButton,f=n.onBeforeNext,p=n.onChange,h=n.onIdUploadComplete,y=n.onSignatureUploadComplete,v=m(e.useState(null),2),E=v[0],x=v[1],S=m(e.useState([]),2),w=S[0],F=S[1],O=m(e.useState(!1),2),j=O[0],U=O[1],P=m(e.useState(""),2),k=P[0],C=P[1],I=m(e.useState(""),2),T=I[0],D=I[1],z=m(e.useState([]),2),B=z[0],W=z[1],G=e.useCallback(l(s().m(function e(){var t,r,n,a,l,u,f,m,p,g,b,v,x,S,F,O;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:if(D(""),W([]),E||0!==w.length){e.n=1;break}return D("Please upload at least one file before continuing."),e.a(2,{success:!1});case 1:if(!(w.length>0&&w.length<3)){e.n=2;break}return D("Please upload all 3 specimen signatures before continuing."),e.a(2,{success:!1});case 2:if(U(!0),t={idFile:null,sigFiles:[]},e.p=3,!(w.length>0)){e.n=6;break}return C("Verifying your documents..."),r=new FormData,w.forEach(function(e){return r.append("files",e,e.name)}),e.n=4,fetch("".concat(o,"/api/files/validate-signatures-detail"),{method:"POST",body:r});case 4:if(!(n=e.v).ok){e.n=6;break}return e.n=5,n.json();case 5:if((a=e.v).allValid){e.n=6;break}return W(a.results),D("One or more signature files are invalid. Please replace the highlighted files with a clear photo or scan of your handwritten signature on white paper."),e.a(2,{success:!1});case 6:if(!E){e.n=10;break}return C("Uploading your ID..."),(l=new FormData).append("file",E,E.name),e.n=7,fetch("".concat(o,"/api/files/direct-upload?documentType=Government%20ID&uploadedBy=").concat(encodeURIComponent(c)),{method:"POST",body:l});case 7:if((u=e.v).ok){e.n=8;break}throw new Error("Government ID upload failed.");case 8:return e.n=9,u.json();case 9:f=e.v,t.idFile={driveFileId:f.driveFileId,fileName:E.name},h&&h(t.idFile);case 10:C("Uploading your signatures..."),m=i(w),e.p=11,m.s();case 12:if((p=m.n()).done){e.n=17;break}return g=p.value,(b=new FormData).append("file",g,g.name),e.n=13,fetch("".concat(o,"/api/files/direct-upload?documentType=Specimen%20Signature&uploadedBy=").concat(encodeURIComponent(c)),{method:"POST",body:b});case 13:if((v=e.v).ok){e.n=14;break}throw new Error("Signature upload failed.");case 14:return e.n=15,v.json();case 15:x=e.v,S={driveFileId:x.driveFileId,fileName:g.name},t.sigFiles.push(S),y&&y(S);case 16:e.n=12;break;case 17:e.n=19;break;case 18:e.p=18,F=e.v,m.e(F);case 19:return e.p=19,m.f(),e.f(19);case 20:return e.a(2,d({success:!0},t));case 21:return e.p=21,O=e.v,D(O.message||"Upload failed. Please try again."),e.a(2,{success:!1});case 22:return e.p=22,U(!1),C(""),e.f(22);case 23:return e.a(2)}},e,null,[[11,18,19,20],[3,21,22,23]])})),[E,w,o,c,h,y]);e.useEffect(function(){f&&f(G)},[G,f]);var R=u?e.createElement(u,{mt:2,w:"full"},j?"Uploading...":"Open Camera"):e.createElement("button",{style:{marginTop:8,width:"100%"}},j?"Uploading...":"Open Camera");return e.createElement(t.VStack,{gap:6,align:"stretch"},e.createElement(t.Box,{p:"4",borderWidth:"1px",borderRadius:"lg",bg:"green.50"},e.createElement(t.Text,{fontSize:"sm",color:"green.700",fontWeight:"medium"},"To continue, please upload a valid ID. The system will use it to populate your information automatically.")),e.createElement(t.VStack,{gap:4,align:"stretch"},e.createElement(t.Box,null,e.createElement(t.Heading,{size:"md",fontWeight:"bold"},"Upload Government-issued ID"),e.createElement(t.Text,{fontSize:"sm",color:"fg.muted",mt:1},"Choose one of the options below to upload your ID")),e.createElement(t.Grid,{templateColumns:{base:"1fr",md:"2fr"},gap:4},e.createElement(t.Card.Root,{borderWidth:"2px",borderColor:"gray.200",p:6,textAlign:"center",cursor:"pointer",_hover:{borderColor:"blue.400",boxShadow:"md",bg:"blue.50"},transition:"all 0.2s"},e.createElement(t.VStack,{gap:4},e.createElement(t.Flex,{w:16,h:16,rounded:"full",bg:"blue.100",align:"center",justify:"center",mx:"auto"},e.createElement(t.Icon,{size:"xl",color:"blue.600"},e.createElement(r.HiCamera,null))),e.createElement(t.VStack,{gap:2},e.createElement(t.Text,{fontWeight:"bold",fontSize:"md"},"Take a Photo"),e.createElement(t.Text,{fontSize:"sm",color:"fg.muted"},"Use your device camera to capture your ID")),e.createElement(t.FileUpload.Root,{capture:"environment",onFileChange:function(e){e.acceptedFiles[0]&&(x(e.acceptedFiles[0]),p&&p(e.acceptedFiles[0]))}},e.createElement(t.FileUpload.HiddenInput,null),e.createElement(t.FileUpload.Trigger,{asChild:!0},R)))),e.createElement(t.FileUpload.Root,{maxW:"full",alignItems:"stretch",maxFiles:1,onFileChange:function(e){e.acceptedFiles[0]&&(x(e.acceptedFiles[0]),p&&p(e.acceptedFiles[0]))}},e.createElement(t.FileUpload.HiddenInput,null),e.createElement(g,null),e.createElement(t.FileUpload.List,{clearable:!0}))),E&&e.createElement(t.Box,{p:3,bg:"green.50",borderWidth:"1px",borderColor:"green.200",borderRadius:"md",fontSize:"sm",color:"green.700"},"✓ ",E.name," ready to upload")),e.createElement(t.VStack,{gap:4,align:"stretch"},e.createElement(t.Box,null,e.createElement(t.Heading,{size:"md",fontWeight:"bold"},"Upload valid three (3) specimen signature.")),e.createElement(t.FileUpload.Root,{maxW:"full",alignItems:"stretch",maxFiles:3,onFileChange:function(e){W([]),D(""),e.acceptedFiles.length>0&&F(e.acceptedFiles)}},e.createElement(t.FileUpload.HiddenInput,null),e.createElement(b,null),w.length>0&&e.createElement(t.VStack,{gap:2,mt:2,align:"stretch"},w.map(function(r){var n,o=(n=r.name,B.find(function(e){return e.fileName===n})),a=o&&!o.isValid,l=o&&o.isValid;return e.createElement(t.Box,{key:r.name,p:3,borderWidth:"1px",borderRadius:"md",borderColor:a?"red.300":l?"green.300":"gray.200",bg:a?"red.50":l?"green.50":"white",display:"flex",alignItems:"center",justifyContent:"space-between"},e.createElement(t.Flex,{align:"center",gap:2},e.createElement(t.Text,{fontSize:"sm"},a?"❌":l?"✓":"📄"),e.createElement(t.Text,{fontSize:"sm",color:a?"red.700":l?"green.700":"gray.700",fontWeight:a?"medium":"normal"},r.name)),a&&e.createElement(t.Text,{fontSize:"xs",color:"red.500"},"Not a valid signature"))}))),e.createElement(t.Box,{p:3,bg:"gray.50",rounded:"md",fontSize:"xs",color:"fg.muted"},e.createElement(t.Text,{as:"span",fontWeight:"medium"},"Accepted formats:")," ","PNG, JPG, JPEG (Max 3 files)")),T&&e.createElement(t.Box,{p:3,bg:"red.50",borderWidth:"1px",borderColor:"red.200",borderRadius:"md",fontSize:"sm",color:"red.700"},T),j&&k&&e.createElement(t.Box,{p:3,bg:"blue.50",borderWidth:"1px",borderColor:"blue.200",borderRadius:"md",fontSize:"sm",color:"blue.700",textAlign:"center"},"⏳ ",k))};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splpi/dms-estore-upload",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "St. Peter DMS — eStore V2 Upload Requirements Component",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",