@neocash/bnpl-widget 0.1.1
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/README.md +50 -0
- package/dist/api.d.ts +34 -0
- package/dist/atoms.d.ts +107 -0
- package/dist/icons.d.ts +8 -0
- package/dist/index.cjs +112 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.mjs +112 -0
- package/dist/liveness-amplify.d.ts +31 -0
- package/dist/liveness-loader.d.ts +11 -0
- package/dist/neocash-bnpl-liveness.iife.css +1 -0
- package/dist/neocash-bnpl-liveness.iife.js +173 -0
- package/dist/neocash-bnpl.iife.js +112 -0
- package/dist/screens.d.ts +78 -0
- package/dist/shell.d.ts +42 -0
- package/dist/styles.d.ts +2 -0
- package/dist/types.d.ts +195 -0
- package/package.json +43 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";var NeoCashBNPL=(()=>{var ve=Object.defineProperty;var $n=Object.getOwnPropertyDescriptor;var jn=Object.getOwnPropertyNames;var Un=Object.prototype.hasOwnProperty;var Yn=(n,t)=>{for(var r in t)ve(n,r,{get:t[r],enumerable:!0})},Kn=(n,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of jn(t))!Un.call(n,a)&&a!==r&&ve(n,a,{get:()=>t[a],enumerable:!(o=$n(t,a))||o.enumerable});return n};var Gn=n=>Kn(ve({},"__esModule",{value:!0}),n);var Tt={};Yn(Tt,{default:()=>Rt,init:()=>On});var de,w,Ve,Xn,G,Ne,Oe,$e,_e,oe,ne,je,Se,be,xe,Jn,le={},se=[],Qn=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,pe=Array.isArray;function Y(n,t){for(var r in t)n[r]=t[r];return n}function Ce(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function we(n,t,r){var o,a,i,l={};for(i in t)i=="key"?o=t[i]:i=="ref"?a=t[i]:l[i]=t[i];if(arguments.length>2&&(l.children=arguments.length>3?de.call(arguments,2):r),typeof n=="function"&&n.defaultProps!=null)for(i in n.defaultProps)l[i]===void 0&&(l[i]=n.defaultProps[i]);return ie(n,l,o,a,null)}function ie(n,t,r,o,a){var i={type:n,props:t,key:r,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++Ve,__i:-1,__u:0};return a==null&&w.vnode!=null&&w.vnode(i),i}function P(n){return n.children}function ae(n,t){this.props=n,this.context=t}function J(n,t){if(t==null)return n.__?J(n.__,n.__i+1):null;for(var r;t<n.__k.length;t++)if((r=n.__k[t])!=null&&r.__e!=null)return r.__e;return typeof n.type=="function"?J(n):null}function Zn(n){if(n.__P&&n.__d){var t=n.__v,r=t.__e,o=[],a=[],i=Y({},t);i.__v=t.__v+1,w.vnode&&w.vnode(i),Pe(n.__P,i,t,n.__n,n.__P.namespaceURI,32&t.__u?[r]:null,o,r??J(t),!!(32&t.__u),a),i.__v=t.__v,i.__.__k[i.__i]=i,Ge(o,i,a),t.__e=t.__=null,i.__e!=r&&Ue(i)}}function Ue(n){if((n=n.__)!=null&&n.__c!=null)return n.__e=n.__c.base=null,n.__k.some(function(t){if(t!=null&&t.__e!=null)return n.__e=n.__c.base=t.__e}),Ue(n)}function We(n){(!n.__d&&(n.__d=!0)&&G.push(n)&&!ce.__r++||Ne!=w.debounceRendering)&&((Ne=w.debounceRendering)||Oe)(ce)}function ce(){try{for(var n,t=1;G.length;)G.length>t&&G.sort($e),n=G.shift(),t=G.length,Zn(n)}finally{G.length=ce.__r=0}}function Ye(n,t,r,o,a,i,l,c,u,d,p){var s,f,m,v,x,C,_,k=o&&o.__k||se,S=t.length;for(u=et(r,t,k,u,S),s=0;s<S;s++)(m=r.__k[s])!=null&&(f=m.__i!=-1&&k[m.__i]||le,m.__i=s,C=Pe(n,m,f,a,i,l,c,u,d,p),v=m.__e,m.ref&&f.ref!=m.ref&&(f.ref&&Re(f.ref,null,m),p.push(m.ref,m.__c||v,m)),x==null&&v!=null&&(x=v),(_=!!(4&m.__u))||f.__k===m.__k?(u=Ke(m,u,n,_),_&&f.__e&&(f.__e=null)):typeof m.type=="function"&&C!==void 0?u=C:v&&(u=v.nextSibling),m.__u&=-7);return r.__e=x,u}function et(n,t,r,o,a){var i,l,c,u,d,p=r.length,s=p,f=0;for(n.__k=new Array(a),i=0;i<a;i++)(l=t[i])!=null&&typeof l!="boolean"&&typeof l!="function"?(typeof l=="string"||typeof l=="number"||typeof l=="bigint"||l.constructor==String?l=n.__k[i]=ie(null,l,null,null,null):pe(l)?l=n.__k[i]=ie(P,{children:l},null,null,null):l.constructor===void 0&&l.__b>0?l=n.__k[i]=ie(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):n.__k[i]=l,u=i+f,l.__=n,l.__b=n.__b+1,c=null,(d=l.__i=nt(l,r,u,s))!=-1&&(s--,(c=r[d])&&(c.__u|=2)),c==null||c.__v==null?(d==-1&&(a>p?f--:a<p&&f++),typeof l.type!="function"&&(l.__u|=4)):d!=u&&(d==u-1?f--:d==u+1?f++:(d>u?f--:f++,l.__u|=4))):n.__k[i]=null;if(s)for(i=0;i<p;i++)(c=r[i])!=null&&!(2&c.__u)&&(c.__e==o&&(o=J(c)),Je(c,c));return o}function Ke(n,t,r,o){var a,i;if(typeof n.type=="function"){for(a=n.__k,i=0;a&&i<a.length;i++)a[i]&&(a[i].__=n,t=Ke(a[i],t,r,o));return t}n.__e!=t&&(o&&(t&&n.type&&!t.parentNode&&(t=J(n)),r.insertBefore(n.__e,t||null)),t=n.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function nt(n,t,r,o){var a,i,l,c=n.key,u=n.type,d=t[r],p=d!=null&&(2&d.__u)==0;if(d===null&&c==null||p&&c==d.key&&u==d.type)return r;if(o>(p?1:0)){for(a=r-1,i=r+1;a>=0||i<t.length;)if((d=t[l=a>=0?a--:i++])!=null&&!(2&d.__u)&&c==d.key&&u==d.type)return l}return-1}function He(n,t,r){t[0]=="-"?n.setProperty(t,r??""):n[t]=r==null?"":typeof r!="number"||Qn.test(t)?r:r+"px"}function re(n,t,r,o,a){var i,l;e:if(t=="style")if(typeof r=="string")n.style.cssText=r;else{if(typeof o=="string"&&(n.style.cssText=o=""),o)for(t in o)r&&t in r||He(n.style,t,"");if(r)for(t in r)o&&r[t]==o[t]||He(n.style,t,r[t])}else if(t[0]=="o"&&t[1]=="n")i=t!=(t=t.replace(je,"$1")),l=t.toLowerCase(),t=l in n||t=="onFocusOut"||t=="onFocusIn"?l.slice(2):t.slice(2),n.l||(n.l={}),n.l[t+i]=r,r?o?r[ne]=o[ne]:(r[ne]=Se,n.addEventListener(t,i?xe:be,i)):n.removeEventListener(t,i?xe:be,i);else{if(a=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in n)try{n[t]=r??"";break e}catch{}typeof r=="function"||(r==null||r===!1&&t[4]!="-"?n.removeAttribute(t):n.setAttribute(t,t=="popover"&&r==1?"":r))}}function qe(n){return function(t){if(this.l){var r=this.l[t.type+n];if(t[oe]==null)t[oe]=Se++;else if(t[oe]<r[ne])return;return r(w.event?w.event(t):t)}}}function Pe(n,t,r,o,a,i,l,c,u,d){var p,s,f,m,v,x,C,_,k,S,g,h,A,V,Z,O=t.type;if(t.constructor!==void 0)return null;128&r.__u&&(u=!!(32&r.__u),i=[c=t.__e=r.__e]),(p=w.__b)&&p(t);e:if(typeof O=="function")try{if(_=t.props,k=O.prototype&&O.prototype.render,S=(p=O.contextType)&&o[p.__c],g=p?S?S.props.value:p.__:o,r.__c?C=(s=t.__c=r.__c).__=s.__E:(k?t.__c=s=new O(_,g):(t.__c=s=new ae(_,g),s.constructor=O,s.render=rt),S&&S.sub(s),s.state||(s.state={}),s.__n=o,f=s.__d=!0,s.__h=[],s._sb=[]),k&&s.__s==null&&(s.__s=s.state),k&&O.getDerivedStateFromProps!=null&&(s.__s==s.state&&(s.__s=Y({},s.__s)),Y(s.__s,O.getDerivedStateFromProps(_,s.__s))),m=s.props,v=s.state,s.__v=t,f)k&&O.getDerivedStateFromProps==null&&s.componentWillMount!=null&&s.componentWillMount(),k&&s.componentDidMount!=null&&s.__h.push(s.componentDidMount);else{if(k&&O.getDerivedStateFromProps==null&&_!==m&&s.componentWillReceiveProps!=null&&s.componentWillReceiveProps(_,g),t.__v==r.__v||!s.__e&&s.shouldComponentUpdate!=null&&s.shouldComponentUpdate(_,s.__s,g)===!1){t.__v!=r.__v&&(s.props=_,s.state=s.__s,s.__d=!1),t.__e=r.__e,t.__k=r.__k,t.__k.some(function(T){T&&(T.__=t)}),se.push.apply(s.__h,s._sb),s._sb=[],s.__h.length&&l.push(s);break e}s.componentWillUpdate!=null&&s.componentWillUpdate(_,s.__s,g),k&&s.componentDidUpdate!=null&&s.__h.push(function(){s.componentDidUpdate(m,v,x)})}if(s.context=g,s.props=_,s.__P=n,s.__e=!1,h=w.__r,A=0,k)s.state=s.__s,s.__d=!1,h&&h(t),p=s.render(s.props,s.state,s.context),se.push.apply(s.__h,s._sb),s._sb=[];else do s.__d=!1,h&&h(t),p=s.render(s.props,s.state,s.context),s.state=s.__s;while(s.__d&&++A<25);s.state=s.__s,s.getChildContext!=null&&(o=Y(Y({},o),s.getChildContext())),k&&!f&&s.getSnapshotBeforeUpdate!=null&&(x=s.getSnapshotBeforeUpdate(m,v)),V=p!=null&&p.type===P&&p.key==null?Xe(p.props.children):p,c=Ye(n,pe(V)?V:[V],t,r,o,a,i,l,c,u,d),s.base=t.__e,t.__u&=-161,s.__h.length&&l.push(s),C&&(s.__E=s.__=null)}catch(T){if(t.__v=null,u||i!=null)if(T.then){for(t.__u|=u?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;i[i.indexOf(c)]=null,t.__e=c}else{for(Z=i.length;Z--;)Ce(i[Z]);ke(t)}else t.__e=r.__e,t.__k=r.__k,T.then||ke(t);w.__e(T,t,r)}else i==null&&t.__v==r.__v?(t.__k=r.__k,t.__e=r.__e):c=t.__e=tt(r.__e,t,r,o,a,i,l,u,d);return(p=w.diffed)&&p(t),128&t.__u?void 0:c}function ke(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(ke))}function Ge(n,t,r){for(var o=0;o<r.length;o++)Re(r[o],r[++o],r[++o]);w.__c&&w.__c(t,n),n.some(function(a){try{n=a.__h,a.__h=[],n.some(function(i){i.call(a)})}catch(i){w.__e(i,a.__v)}})}function Xe(n){return typeof n!="object"||n==null||n.__b>0?n:pe(n)?n.map(Xe):Y({},n)}function tt(n,t,r,o,a,i,l,c,u){var d,p,s,f,m,v,x,C=r.props||le,_=t.props,k=t.type;if(k=="svg"?a="http://www.w3.org/2000/svg":k=="math"?a="http://www.w3.org/1998/Math/MathML":a||(a="http://www.w3.org/1999/xhtml"),i!=null){for(d=0;d<i.length;d++)if((m=i[d])&&"setAttribute"in m==!!k&&(k?m.localName==k:m.nodeType==3)){n=m,i[d]=null;break}}if(n==null){if(k==null)return document.createTextNode(_);n=document.createElementNS(a,k,_.is&&_),c&&(w.__m&&w.__m(t,i),c=!1),i=null}if(k==null)C===_||c&&n.data==_||(n.data=_);else{if(i=i&&de.call(n.childNodes),!c&&i!=null)for(C={},d=0;d<n.attributes.length;d++)C[(m=n.attributes[d]).name]=m.value;for(d in C)m=C[d],d=="dangerouslySetInnerHTML"?s=m:d=="children"||d in _||d=="value"&&"defaultValue"in _||d=="checked"&&"defaultChecked"in _||re(n,d,null,m,a);for(d in _)m=_[d],d=="children"?f=m:d=="dangerouslySetInnerHTML"?p=m:d=="value"?v=m:d=="checked"?x=m:c&&typeof m!="function"||C[d]===m||re(n,d,m,C[d],a);if(p)c||s&&(p.__html==s.__html||p.__html==n.innerHTML)||(n.innerHTML=p.__html),t.__k=[];else if(s&&(n.innerHTML=""),Ye(t.type=="template"?n.content:n,pe(f)?f:[f],t,r,o,k=="foreignObject"?"http://www.w3.org/1999/xhtml":a,i,l,i?i[0]:r.__k&&J(r,0),c,u),i!=null)for(d=i.length;d--;)Ce(i[d]);c||(d="value",k=="progress"&&v==null?n.removeAttribute("value"):v!=null&&(v!==n[d]||k=="progress"&&!v||k=="option"&&v!=C[d])&&re(n,d,v,C[d],a),d="checked",x!=null&&x!=n[d]&&re(n,d,x,C[d],a))}return n}function Re(n,t,r){try{if(typeof n=="function"){var o=typeof n.__u=="function";o&&n.__u(),o&&t==null||(n.__u=n(t))}else n.current=t}catch(a){w.__e(a,r)}}function Je(n,t,r){var o,a;if(w.unmount&&w.unmount(n),(o=n.ref)&&(o.current&&o.current!=n.__e||Re(o,null,t)),(o=n.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(i){w.__e(i,t)}o.base=o.__P=null}if(o=n.__k)for(a=0;a<o.length;a++)o[a]&&Je(o[a],t,r||typeof n.type!="function");r||Ce(n.__e),n.__c=n.__=n.__e=void 0}function rt(n,t,r){return this.constructor(n,r)}function Te(n,t,r){var o,a,i,l;t==document&&(t=document.documentElement),w.__&&w.__(n,t),a=(o=typeof r=="function")?null:r&&r.__k||t.__k,i=[],l=[],Pe(t,n=(!o&&r||t).__k=we(P,null,[n]),a||le,le,t.namespaceURI,!o&&r?[r]:a?null:t.firstChild?de.call(t.childNodes):null,i,!o&&r?r:a?a.__e:t.firstChild,o,l),Ge(i,n,l)}de=se.slice,w={__e:function(n,t,r,o){for(var a,i,l;t=t.__;)if((a=t.__c)&&!a.__)try{if((i=a.constructor)&&i.getDerivedStateFromError!=null&&(a.setState(i.getDerivedStateFromError(n)),l=a.__d),a.componentDidCatch!=null&&(a.componentDidCatch(n,o||{}),l=a.__d),l)return a.__E=a}catch(c){n=c}throw n}},Ve=0,Xn=function(n){return n!=null&&n.constructor===void 0},ae.prototype.setState=function(n,t){var r;r=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=Y({},this.state),typeof n=="function"&&(n=n(Y({},r),this.props)),n&&Y(r,n),n!=null&&this.__v&&(t&&this._sb.push(t),We(this))},ae.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),We(this))},ae.prototype.render=P,G=[],Oe=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,$e=function(n,t){return n.__v.__b-t.__v.__b},ce.__r=0,_e=Math.random().toString(8),oe="__d"+_e,ne="__a"+_e,je=/(PointerCapture)$|Capture$/i,Se=0,be=qe(!1),xe=qe(!0),Jn=0;var te,z,Me,Qe,fe=0,ln=[],E=w,Ze=E.__b,en=E.__r,nn=E.diffed,tn=E.__c,rn=E.unmount,on=E.__;function Ee(n,t){E.__h&&E.__h(z,n,fe||t),fe=0;var r=z.__H||(z.__H={__:[],__h:[]});return n>=r.__.length&&r.__.push({}),r.__[n]}function y(n){return fe=1,ot(cn,n)}function ot(n,t,r){var o=Ee(te++,2);if(o.t=n,!o.__c&&(o.__=[r?r(t):cn(void 0,t),function(c){var u=o.__N?o.__N[0]:o.__[0],d=o.t(u,c);u!==d&&(o.__N=[d,o.__[1]],o.__c.setState({}))}],o.__c=z,!z.__f)){var a=function(c,u,d){if(!o.__c.__H)return!0;var p=o.__c.__H.__.filter(function(f){return f.__c});if(p.every(function(f){return!f.__N}))return!i||i.call(this,c,u,d);var s=o.__c.props!==c;return p.some(function(f){if(f.__N){var m=f.__[0];f.__=f.__N,f.__N=void 0,m!==f.__[0]&&(s=!0)}}),i&&i.call(this,c,u,d)||s};z.__f=!0;var i=z.shouldComponentUpdate,l=z.componentWillUpdate;z.componentWillUpdate=function(c,u,d){if(this.__e){var p=i;i=void 0,a(c,u,d),i=p}l&&l.call(this,c,u,d)},z.shouldComponentUpdate=a}return o.__N||o.__}function H(n,t){var r=Ee(te++,3);!E.__s&&sn(r.__H,t)&&(r.__=n,r.u=t,z.__H.__h.push(r))}function me(n){return fe=5,Ie(function(){return{current:n}},[])}function Ie(n,t){var r=Ee(te++,7);return sn(r.__H,t)&&(r.__=n(),r.__H=t,r.__h=n),r.__}function it(){for(var n;n=ln.shift();){var t=n.__H;if(n.__P&&t)try{t.__h.some(ue),t.__h.some(ze),t.__h=[]}catch(r){t.__h=[],E.__e(r,n.__v)}}}E.__b=function(n){z=null,Ze&&Ze(n)},E.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),on&&on(n,t)},E.__r=function(n){en&&en(n),te=0;var t=(z=n.__c).__H;t&&(Me===z?(t.__h=[],z.__h=[],t.__.some(function(r){r.__N&&(r.__=r.__N),r.u=r.__N=void 0})):(t.__h.some(ue),t.__h.some(ze),t.__h=[],te=0)),Me=z},E.diffed=function(n){nn&&nn(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(ln.push(t)!==1&&Qe===E.requestAnimationFrame||((Qe=E.requestAnimationFrame)||at)(it)),t.__H.__.some(function(r){r.u&&(r.__H=r.u),r.u=void 0})),Me=z=null},E.__c=function(n,t){t.some(function(r){try{r.__h.some(ue),r.__h=r.__h.filter(function(o){return!o.__||ze(o)})}catch(o){t.some(function(a){a.__h&&(a.__h=[])}),t=[],E.__e(o,r.__v)}}),tn&&tn(n,t)},E.unmount=function(n){rn&&rn(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.some(function(o){try{ue(o)}catch(a){t=a}}),r.__H=void 0,t&&E.__e(t,r.__v))};var an=typeof requestAnimationFrame=="function";function at(n){var t,r=function(){clearTimeout(o),an&&cancelAnimationFrame(t),setTimeout(n)},o=setTimeout(r,35);an&&(t=requestAnimationFrame(r))}function ue(n){var t=z,r=n.__c;typeof r=="function"&&(n.__c=void 0,r()),z=t}function ze(n){var t=z;n.__c=n.__(),z=t}function sn(n,t){return!n||n.length!==t.length||t.some(function(r,o){return r!==n[o]})}function cn(n,t){return typeof t=="function"?t(n):t}var lt="neocash-bnpl-liveness.iife.js",st="neocash-bnpl-liveness.iife.css",X=null;function dn(n){if(X)return X;if(typeof window<"u"&&window.__NeoCashLiveness)return X=Promise.resolve(window.__NeoCashLiveness),X;if(!n)return Promise.reject(new Error("Cannot locate the Amplify Liveness chunk. Pass init({ assetPrefix }) or include the script tag manually before opening the widget."));let t=n.replace(/\/+$/,""),r=`${t}/${st}`,o=`${t}/${lt}`;return X=new Promise((a,i)=>{if(!document.querySelector(`link[href="${r}"]`)){let c=document.createElement("link");c.rel="stylesheet",c.href=r,document.head.appendChild(c)}let l=document.querySelector(`script[src="${o}"]`);if(l&&window.__NeoCashLiveness){a(window.__NeoCashLiveness);return}l||(l=document.createElement("script"),l.src=o,l.async=!0,document.head.appendChild(l)),l.addEventListener("load",()=>{window.__NeoCashLiveness?a(window.__NeoCashLiveness):i(new Error("Liveness chunk loaded but global was not set."))}),l.addEventListener("error",()=>i(new Error(`Failed to load ${o}`)))}),X.catch(()=>{X=null}),X}var ct=0,Dt=Array.isArray;function e(n,t,r,o,a,i){t||(t={});var l,c,u=t;if("ref"in u)for(c in u={},t)c=="ref"?l=t[c]:u[c]=t[c];var d={type:n,props:u,key:r,ref:l,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--ct,__i:-1,__u:0,__source:a,__self:i};if(typeof n=="function"&&(l=n.defaultProps))for(c in l)u[c]===void 0&&(u[c]=l[c]);return w.vnode&&w.vnode(d),d}var dt={"arrow-left":'<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>',"arrow-right":'<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>',x:'<path d="M18 6 6 18"/><path d="m6 6 12 12"/>',"x-circle":'<circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/>',check:'<path d="M20 6 9 17l-5-5"/>',"check-circle":'<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><path d="m9 11 3 3L22 4"/>',"alert-circle":'<circle cx="12" cy="12" r="10"/><path d="M12 8v4"/><path d="M12 16h.01"/>',info:'<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>',"chevron-down":'<path d="m6 9 6 6 6-6"/>',shield:'<path d="M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3z"/>',"shield-check":'<path d="M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3z"/><path d="m9 12 2 2 4-4"/>',"shield-x":'<path d="M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3z"/><path d="m14.5 9.5-5 5"/><path d="m9.5 9.5 5 5"/>',"user-check":'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="m16 11 2 2 4-4"/>',"user-x":'<path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"/><circle cx="11" cy="13" r="3"/>',briefcase:'<rect width="20" height="14" x="2" y="7" rx="2"/><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/>',"building-2":'<path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"/><path d="M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"/><path d="M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2"/><path d="M10 6h4"/><path d="M10 10h4"/><path d="M10 14h4"/><path d="M10 18h4"/>',landmark:'<line x1="3" x2="21" y1="22" y2="22"/><line x1="6" x2="6" y1="18" y2="11"/><line x1="10" x2="10" y1="18" y2="11"/><line x1="14" x2="14" y1="18" y2="11"/><line x1="18" x2="18" y1="18" y2="11"/><polygon points="12 2 20 7 4 7"/>',mail:'<rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-10 5L2 7"/>',smartphone:'<rect width="14" height="20" x="5" y="2" rx="2"/><path d="M12 18h.01"/>',"message-square":'<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>',camera:'<path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"/><circle cx="12" cy="13" r="3"/>',"camera-off":'<line x1="2" x2="22" y1="2" y2="22"/><path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h13"/><path d="M9.5 4h5L17 7h3a2 2 0 0 1 2 2v9"/>',"map-pin":'<path d="M20 10c0 7-8 13-8 13s-8-6-8-13a8 8 0 0 1 16 0z"/><circle cx="12" cy="10" r="3"/>',navigation:'<polygon points="3 11 22 2 13 21 11 13 3 11"/>',house:'<path d="M3 9.5 12 3l9 6.5V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><path d="M9 22V12h6v10"/>',pencil:'<path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5z"/>',sparkles:'<path d="M12 3l1.9 4.6L18 9l-4.1 1.4L12 15l-1.9-4.6L6 9l4.1-1.4z"/><path d="M19 14l1 2 2 1-2 1-1 2-1-2-2-1 2-1z"/><path d="M5 14l1 2 2 1-2 1-1 2-1-2-2-1 2-1z"/>',lock:'<rect width="18" height="11" x="3" y="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>',"eye-off":'<path d="M9.88 9.88a3 3 0 1 0 4.24 4.24"/><path d="M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"/><path d="M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"/><line x1="2" x2="22" y1="2" y2="22"/>',clock:'<circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/>',hourglass:'<path d="M5 22h14"/><path d="M5 2h14"/><path d="M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22"/><path d="M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2"/>',zap:'<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>',send:'<path d="m22 2-7 20-4-9-9-4z"/><path d="M22 2 11 13"/>',tv:'<rect width="20" height="15" x="2" y="7" rx="2"/><polyline points="17 2 12 7 7 2"/>',speaker:'<rect width="16" height="20" x="4" y="2" rx="2"/><circle cx="12" cy="14" r="4"/><line x1="12" x2="12.01" y1="6" y2="6"/>',"trending-up":'<polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/><polyline points="16 7 22 7 22 13"/>',"trending-down":'<polyline points="22 17 13.5 8.5 8.5 13.5 2 7"/><polyline points="16 17 22 17 22 11"/>',"refresh-cw":'<polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/>',"wifi-off":'<line x1="2" x2="22" y1="2" y2="22"/><path d="M8.5 16.5a5 5 0 0 1 7 0"/><path d="M2 8.82a15 15 0 0 1 4.17-2.65"/><path d="M10.66 5c4.01-.36 8.14.9 11.34 3.76"/><path d="M16.85 11.25a10 10 0 0 1 2.22 1.68"/><path d="M5 13a10 10 0 0 1 5.24-2.76"/><line x1="12" x2="12.01" y1="20" y2="20"/>',"life-buoy":'<circle cx="12" cy="12" r="10"/><path d="m4.93 4.93 4.24 4.24"/><path d="m14.83 9.17 4.24-4.24"/><path d="m14.83 14.83 4.24 4.24"/><path d="m9.17 14.83-4.24 4.24"/><circle cx="12" cy="12" r="4"/>',"rotate-ccw":'<polyline points="1 4 1 10 7 10"/><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/>'};function pt(n,t=16,r="currentColor"){return`<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${t}" viewBox="0 0 24 24" fill="none" stroke="${r}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${dt[n]}</svg>`}function b({name:n,size:t=16,color:r="currentColor",style:o}){return e("span",{"aria-hidden":"true",style:{display:"inline-flex",flex:"none",width:t,height:t,color:r,...o},dangerouslySetInnerHTML:{__html:pt(n,t,"currentColor")}})}var pn="data:image/png;base64,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";var un="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAABgCAYAAACJ3PsoAAAAAXNSR0IArs4c6QAAAQZlWElmTU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAA1AAAAcgE7AAIAAAAPAAAAqIdpAAQAAAABAAAAuAAAAAAAAADAAAAAAQAAAMAAAAABQ2FudmEgZG9jPURBSEoxTVh5VFMwIHVzZXI9VUFEMkV5cUVRMEkgYnJhbmQ9TmVvQ2FzaAAATWljaGFlbCBGYWx1eWkAAAAGkAAABwAAAAQwMjEwkQEABwAAAAQBAgMAoAAABwAAAAQwMTAwoAEAAwAAAAEAAQAAoAIABAAAAAEAAAAtoAMABAAAAAEAAABgAAAAAAaCPXwAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAY6aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj40NjI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpFeGlmVmVyc2lvbj4wMjEwPC9leGlmOkV4aWZWZXJzaW9uPgogICAgICAgICA8ZXhpZjpGbGFzaFBpeFZlcnNpb24+MDEwMDwvZXhpZjpGbGFzaFBpeFZlcnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj45Nzg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb21wb25lbnRzQ29uZmlndXJhdGlvbj4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGk+MTwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpPjI8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT4zPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGk+MDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwvZXhpZjpDb21wb25lbnRzQ29uZmlndXJhdGlvbj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5DYW52YSBkb2M9REFISjFNWHlUUzAgdXNlcj1VQUQyRXlxRVEwSSBicmFuZD1OZW9DYXNoPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjE5MjwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MTkyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8ZGM6dGl0bGU+CiAgICAgICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPlVudGl0bGVkIGRlc2lnbiAtIDE8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOnRpdGxlPgogICAgICAgICA8ZGM6Y3JlYXRvcj4KICAgICAgICAgICAgPHJkZjpTZXE+CiAg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";function I(n){return"\u20A6"+(n/100).toLocaleString("en-NG",{minimumFractionDigits:0,maximumFractionDigits:0})}function mn({size:n=28}){return e("span",{style:{width:n,height:n,display:"inline-flex",alignItems:"center",justifyContent:"center",flex:"none"},children:e("svg",{width:n,height:n,viewBox:"0 0 32 32",fill:"none",children:[e("rect",{x:"2",y:"4",width:"6",height:"22",rx:"3",fill:"var(--nc-primary)"}),e("rect",{x:"10",y:"4",width:"6",height:"22",rx:"3",fill:"var(--nc-primary)"}),e("rect",{x:"20",y:"4",width:"6",height:"14",rx:"3",fill:"var(--nc-primary)"}),e("rect",{x:"20",y:"22",width:"6",height:"6",rx:"3",fill:"var(--nc-primary)"})]})})}function yn({height:n=22}){return e("img",{src:pn,alt:"NeoCash",style:{height:n,width:"auto",display:"block",flex:"none"}})}function mt({size:n=28}){return e("img",{src:un,alt:"NeoCash",style:{height:n,width:"auto",display:"block",flex:"none"}})}function K({size:n=18,color:t="currentColor"}){return e("span",{class:"nc-spinner",style:{width:n,height:n,color:t}})}function R({variant:n="primary",size:t="lg",icon:r,iconRight:o,children:a,onClick:i,disabled:l,loading:c,style:u={},type:d="button"}){let p={primary:{bg:"var(--nc-ink)",fg:"#fff",border:"transparent"},violet:{bg:"var(--nc-primary-strong)",fg:"#fff",border:"transparent"},yellow:{bg:"var(--nc-yellow)",fg:"var(--nc-ink-deep)",border:"transparent"},outline:{bg:"#fff",fg:"var(--nc-ink)",border:"var(--nc-border)"},ghost:{bg:"transparent",fg:"var(--nc-ink)",border:"transparent"},subtle:{bg:"var(--nc-primary-wash)",fg:"var(--nc-primary-strong)",border:"transparent"},danger:{bg:"var(--nc-danger-2)",fg:"#fff",border:"transparent"}},s={sm:{h:32,px:12,fs:13,r:8},md:{h:40,px:16,fs:14,r:10},lg:{h:48,px:20,fs:15,r:12}},f=p[n],m=s[t],[v,x]=y(!1);return e("button",{type:d,onClick:l||c?void 0:i,onMouseEnter:()=>x(!0),onMouseLeave:()=>x(!1),style:{height:m.h,padding:`0 ${m.px}px`,background:f.bg,color:f.fg,border:`1px solid ${f.border}`,borderRadius:m.r,fontWeight:600,fontSize:m.fs,lineHeight:1,cursor:l||c?"not-allowed":"pointer",opacity:l?.5:1,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:8,boxShadow:n==="outline"?"var(--shadow-xs)":"none",transition:"filter .15s var(--ease)",filter:v&&!l&&!c?"brightness(.94)":"none",width:"100%",...u},children:[c&&e(K,{size:16,color:f.fg}),!c&&r&&e(b,{name:r,size:16}),a,!c&&o&&e(b,{name:o,size:16})]})}function $({label:n,hint:t,error:r,children:o,optional:a,right:i}){return e("label",{style:{display:"flex",flexDirection:"column",gap:6},children:[n&&e("span",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",fontWeight:500,fontSize:13,color:"var(--nc-ink)"},children:[e("span",{children:[n,a&&e("span",{style:{color:"var(--nc-muted)",fontWeight:400},children:" (optional)"})]}),i]}),o,t&&!r&&e("span",{style:{fontSize:12,color:"var(--nc-muted)"},children:t}),r&&e("span",{style:{fontSize:12,color:"var(--nc-danger)"},children:r})]})}function j({icon:n,prefix:t,value:r,onChange:o,placeholder:a,type:i="text",inputMode:l,error:c,autoFocus:u,maxLength:d}){let[p,s]=y(!1);return e("div",{style:{display:"flex",alignItems:"center",gap:8,height:48,padding:"0 14px",borderRadius:12,background:"#fff",border:`1px solid ${c?"var(--nc-danger)":p?"var(--nc-primary)":"var(--nc-border)"}`,boxShadow:p?"0 0 0 3px var(--nc-primary-wash)":"var(--shadow-xs)",transition:"all .15s var(--ease)"},children:[n&&e(b,{name:n,size:16,color:"var(--nc-muted)"}),t&&e("span",{style:{color:"var(--nc-muted)",fontSize:15},children:t}),e("input",{type:i,inputMode:l,value:r??"",onInput:f=>o?.(f.currentTarget.value),placeholder:a,autoFocus:u,maxLength:d,onFocus:()=>s(!0),onBlur:()=>s(!1),style:{flex:1,border:"none",outline:"none",background:"transparent",fontSize:15,color:"var(--nc-ink)",minWidth:0,padding:0}})]})}function hn({value:n,onChange:t,options:r,placeholder:o}){let[a,i]=y(!1);return e("div",{style:{position:"relative",height:48,borderRadius:12,border:`1px solid ${a?"var(--nc-primary)":"var(--nc-border)"}`,boxShadow:a?"0 0 0 3px var(--nc-primary-wash)":"var(--shadow-xs)",background:"#fff",display:"flex",alignItems:"center"},children:[e("select",{value:n??"",onChange:l=>t?.(l.currentTarget.value),onFocus:()=>i(!0),onBlur:()=>i(!1),style:{flex:1,height:"100%",padding:"0 14px",appearance:"none",WebkitAppearance:"none",border:"none",outline:"none",background:"transparent",fontSize:15,color:n?"var(--nc-ink)":"var(--nc-muted)",cursor:"pointer"},children:[o&&e("option",{value:"",children:o}),r.map(l=>e("option",{value:typeof l=="string"?l:l.value,children:typeof l=="string"?l:l.label},typeof l=="string"?l:l.value))]}),e("span",{style:{position:"absolute",right:14,pointerEvents:"none",display:"inline-flex"},children:e(b,{name:"chevron-down",size:16,color:"var(--nc-muted)"})})]})}function Fe({min:n,max:t,step:r=1,value:o,onChange:a}){let i=(o-n)/(t-n)*100;return e("input",{type:"range",class:"nc-range",min:n,max:t,step:r,value:o,onInput:l=>a?.(Number(l.currentTarget.value)),style:{"--p":`${i}%`}})}function ye({children:n,color:t="var(--nc-primary-wash)",fg:r="var(--nc-primary-strong)",icon:o,style:a={}}){return e("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 10px",borderRadius:9999,background:t,color:r,fontWeight:500,fontSize:12,lineHeight:1,...a},children:[o&&e(b,{name:o,size:12}),n]})}function L({label:n,value:t,mono:r,strong:o,accent:a}){return e("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:12},children:[e("span",{style:{fontSize:14,color:"var(--nc-muted)"},children:n}),e("span",{style:{fontFamily:r?"var(--font-mono)":"inherit",fontSize:o?16:14,fontWeight:o?600:500,color:a||"var(--nc-ink)",textAlign:"right",fontVariantNumeric:"tabular-nums"},children:t})]})}function F({step:n,total:t,onClose:r,merchant:o,canBack:a,onBack:i,hideStep:l}){return e("div",{style:{flex:"none",padding:"16px 20px",borderBottom:"1px solid var(--nc-border)",display:"flex",alignItems:"center",gap:12,background:"#fff"},children:[a?e("button",{onClick:i,"aria-label":"Back",style:fn(),children:e(b,{name:"arrow-left",size:16,color:"var(--nc-ink)"})}):e(mt,{size:28}),e("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[e("span",{style:{fontSize:11,color:"var(--nc-muted)",letterSpacing:.4,textTransform:"uppercase"},children:"NeoCash \xB7 Pay Small Small"}),e("span",{style:{fontSize:13,fontWeight:500,color:"var(--nc-ink)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:o?`for ${o}`:"Secure checkout"})]}),!l&&n!=null&&e("span",{style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--nc-muted)",padding:"4px 8px",borderRadius:6,background:"var(--nc-surface)",flex:"none"},children:[n,"/",t]}),e("button",{onClick:r,"aria-label":"Close",style:fn(),children:e(b,{name:"x",size:16,color:"var(--nc-ink)"})})]})}function fn(){return{width:32,height:32,borderRadius:8,border:"1px solid var(--nc-border)",background:"#fff",cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",flex:"none",padding:0}}function q({step:n,total:t}){let r=n/t*100;return e("div",{style:{height:3,background:"var(--nc-border)",flex:"none"},children:e("div",{style:{height:"100%",width:`${r}%`,background:"var(--nc-primary)",transition:"width .35s var(--ease)"}})})}function B({children:n,secure:t=!0}){return e("div",{style:{flex:"none",padding:"14px 20px 18px",borderTop:"1px solid var(--nc-border)",display:"flex",flexDirection:"column",gap:10,background:"#fff"},children:[n,t&&e("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:6},children:[e(b,{name:"shield-check",size:12,color:"var(--nc-muted)"}),e("span",{style:{fontSize:11,color:"var(--nc-muted)"},children:"Secured by NeoCash \xB7 NDPR compliant"})]})]})}function D({children:n,padded:t=!0,style:r={},bodyRef:o}){return e("div",{ref:o,class:"nc-bnpl-scroll",style:{flex:1,minHeight:0,padding:t?"20px":0,display:"flex",flexDirection:"column",gap:16,...r},children:n})}function gn({items:n,current:t,results:r}){return e("div",{style:{display:"flex",flexDirection:"column",gap:10},children:n.map((o,a)=>{let i=r[a]==="pass",l=r[a]==="fail",c=a===t;return e("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"10px 12px",borderRadius:12,border:`1px solid ${c?"var(--nc-primary)":"var(--nc-border)"}`,background:c?"var(--nc-primary-wash)":"#fff",opacity:a>t&&r[a]==null?.5:1,transition:"all .2s var(--ease)"},children:[e("span",{style:{width:22,height:22,borderRadius:9999,flex:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",background:i?"var(--nc-success)":l?"var(--nc-danger)":c?"var(--nc-primary)":"var(--nc-border)",color:"#fff"},children:[i&&e(b,{name:"check",size:12,color:"#fff"}),l&&e(b,{name:"x",size:12,color:"#fff"}),!i&&!l&&e("span",{style:{fontSize:11,fontWeight:600,color:c?"#fff":"var(--nc-muted)"},children:a+1})]}),e("span",{style:{fontSize:14,color:"var(--nc-ink)"},children:o})]},a)})})}function U({tone:n="info",children:t,icon:r}){let o=n==="danger"?{bg:"#FDE5E5",fg:"var(--nc-danger)"}:n==="success"?{bg:"#E6F5EC",fg:"var(--nc-success)"}:{bg:"var(--nc-primary-wash)",fg:"var(--nc-primary-strong)"};return e("div",{style:{padding:"10px 12px",borderRadius:10,background:o.bg,color:o.fg,fontSize:13,display:"flex",gap:8,alignItems:"flex-start"},children:[r&&e(b,{name:r,size:14,color:o.fg,style:{marginTop:2}}),e("span",{style:{flex:1},children:t})]})}var M=8;function vn({ctx:n,compact:t}){let r=n.cart.items,o=!t,[a,i]=y(r.length<=3),l=!t&&a;return e("div",{style:{padding:t?12:16,borderRadius:16,border:"1px solid var(--nc-border)",background:"var(--nc-surface)",display:"flex",flexDirection:"column",gap:10},children:[e("div",{onClick:o?()=>i(c=>!c):void 0,role:o?"button":void 0,"aria-expanded":o?a:void 0,style:{display:"flex",justifyContent:"space-between",alignItems:"center",cursor:o?"pointer":"default"},children:[e("span",{style:{fontSize:12,color:"var(--nc-muted)",letterSpacing:.4,textTransform:"uppercase"},children:["Your cart at ",n.merchant.name]}),e("span",{style:{display:"flex",alignItems:"center",gap:6},children:[e("span",{style:{fontSize:12,color:"var(--nc-muted)"},children:[r.length," item",r.length===1?"":"s"]}),o&&e(b,{name:"chevron-down",size:14,color:"var(--nc-muted)",style:{transform:a?"rotate(180deg)":"none",transition:"transform .15s"}})]})]}),l&&r.map((c,u)=>e("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e("span",{style:{width:36,height:36,borderRadius:8,background:"#fff",border:"1px solid var(--nc-border)",display:"inline-flex",alignItems:"center",justifyContent:"center",flex:"none",backgroundImage:c.imageUrl?`url(${c.imageUrl})`:void 0,backgroundSize:"cover",backgroundPosition:"center"},children:!c.imageUrl&&e(b,{name:"tv",size:16,color:"var(--nc-muted)"})}),e("div",{style:{flex:1,minWidth:0},children:[e("div",{style:{fontSize:14,fontWeight:500,color:"var(--nc-ink)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c.name}),e("div",{style:{fontSize:12,color:"var(--nc-muted)"},children:["Qty ",c.qty]})]}),e("div",{style:{fontSize:14,fontVariantNumeric:"tabular-nums"},children:I(c.price)})]},u)),e("div",{style:{height:1,background:"var(--nc-border)"}}),e("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e("span",{style:{fontSize:14,color:"var(--nc-ink)",fontWeight:500},children:"Cart total"}),e("span",{style:{fontFamily:"var(--font-display)",fontWeight:600,fontSize:22,color:"var(--nc-ink)",letterSpacing:"-0.02em",fontVariantNumeric:"tabular-nums"},children:I(n.cart.total)})]})]})}function Q(n){if(n<30)return`${n} day${n===1?"":"s"}`;let t=Math.round(n/30);return`${t} month${t===1?"":"s"}`}function wn({ctx:n,dispatch:t}){let r=n.config,o=n.cart.total,a=Math.round(o*r.min_pay_now_rate),i=Math.min(r.max_amount_kobo,o-a),l=r.min_amount_kobo,c=i>=l,u=r.tenure_day_options,d=T=>Math.min(i,Math.max(l,T)),[p,s]=y(c?d(n.financed??i):0),[f,m]=y(n.tenure??(u[Math.min(3,u.length-1)]||u[0]||30)),v=Math.max(0,u.indexOf(f)),x=me(null),[C,_]=y(!1);H(()=>{let T=x.current;if(!T)return;let ee=()=>_(T.scrollHeight-T.scrollTop-T.clientHeight<=4);ee(),T.addEventListener("scroll",ee,{passive:!0});let ge;return typeof ResizeObserver<"u"&&T.firstElementChild&&(ge=new ResizeObserver(ee),ge.observe(T.firstElementChild)),()=>{T.removeEventListener("scroll",ee),ge?.disconnect()}},[]);let k=f/30,S=Math.max(1,Math.round(f/30)),g;if(r.interest_type==="reducing_balance"&&r.monthly_interest_rate>0){let T=r.monthly_interest_rate;g=p*T/(1-Math.pow(1+T,-S))*S-p}else g=p*r.monthly_interest_rate*k;let h=p+g,A=h/S,V=o-p,Z=Q(f),O=S===1?`Due in ${Q(f)}`:`${S}\xD7 monthly`;return c?e(P,{children:[e(F,{step:1,total:M,merchant:n.merchant.name,onClose:()=>t.close()}),e(q,{step:1,total:M}),e(D,{bodyRef:x,children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:16},children:[e("div",{children:[e("h2",{style:N,children:"Pay Small Small."}),e("p",{style:W,children:"Split your purchase. Pay a bit today, the rest later."})]}),e(vn,{ctx:n}),e("div",{style:{padding:16,borderRadius:16,background:"var(--nc-primary-wash)",border:"1px solid var(--nc-border)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[e("span",{style:{fontSize:13,fontWeight:600,color:"var(--nc-ink)"},children:"Pay now"}),e("span",{style:{fontSize:12,color:"var(--nc-muted)"},children:"Due today at checkout"})]}),e("span",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:24,color:"var(--nc-primary-strong)",letterSpacing:"-0.02em",fontVariantNumeric:"tabular-nums"},children:I(V)})]}),e(kn,{children:[e(Sn,{label:"Amount to Pay Later",value:I(p)}),e(Fe,{min:l,max:i,step:5e5,value:p,onChange:T=>s(d(T))}),e(Cn,{left:I(l),right:I(i)})]}),e(kn,{children:[e(Sn,{label:"Repay over",value:Z}),e(Fe,{min:0,max:u.length-1,step:1,value:v,onChange:T=>m(u[T])}),e(Cn,{left:Q(u[0]),right:Q(u[u.length-1])})]}),e("div",{style:{padding:16,borderRadius:16,background:"var(--nc-ink)",color:"#fff",display:"flex",flexDirection:"column",gap:12,position:"relative",overflow:"hidden"},children:[e("div",{style:{position:"absolute",right:-40,top:-40,width:160,height:160,borderRadius:9999,background:"radial-gradient(circle, rgba(145,124,255,.35), transparent 70%)",pointerEvents:"none"}}),e("div",{style:{position:"relative",display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[e("span",{style:{fontSize:12,color:"rgba(255,255,255,.7)",letterSpacing:.4,textTransform:"uppercase"},children:O}),e(ye,{color:"var(--nc-yellow)",fg:"var(--nc-ink-deep)",icon:"zap",children:[Math.round(r.monthly_interest_rate*100),"%/mo"]})]}),e("div",{style:{position:"relative"},children:[e("div",{style:{fontSize:13,color:"rgba(255,255,255,.7)"},children:S===1?`Payment due in ${Q(f)}`:"Monthly installment"}),e("div",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:44,lineHeight:1,letterSpacing:"-0.025em",color:"#fff",fontVariantNumeric:"tabular-nums"},children:I(A)})]}),e("div",{style:{height:1,background:"rgba(255,255,255,.12)"}}),e("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:8},children:[e(L,{label:"Cart total",value:I(o),accent:"rgba(255,255,255,.85)"}),e(L,{label:"Pay today",value:I(V),accent:"rgba(255,255,255,.85)"}),e(L,{label:"Pay Small Small",value:I(p),accent:"rgba(255,255,255,.85)"}),e(L,{label:"Financing charges",value:I(g),accent:"rgba(255,255,255,.85)"}),e(L,{label:"Total to repay",value:I(h),strong:!0,accent:"#fff"})]})]}),e("p",{style:{margin:0,fontSize:12,color:"var(--nc-muted)",lineHeight:1.5},children:"Final approval and amount subject to eligibility checks. Charges apply to financed amount only."})]})}),e(B,{children:[!C&&e("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:6,fontSize:12,color:"var(--nc-muted)"},children:[e(b,{name:"chevron-down",size:12,color:"var(--nc-muted)"}),"Scroll down to review your full plan"]}),e(R,{iconRight:"arrow-right",disabled:!C,onClick:()=>{t.update({financed:p,tenure:f,perInstall:A,totalRepay:h,charges:g,payToday:V}),t.go("eligibility")},children:"Continue"})]})]}):e(P,{children:[e(F,{step:1,total:M,merchant:n.merchant.name,onClose:()=>t.close()}),e(q,{step:1,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:16},children:[e("div",{children:[e("h2",{style:N,children:"Pay Small Small."}),e("p",{style:W,children:"Split your purchase. Pay a bit today, the rest later."})]}),e(vn,{ctx:n}),e(U,{tone:"info",icon:"info",children:["This cart isn't eligible for Pay Small Small. Financeable orders run from ",I(l)," to ",I(r.max_amount_kobo)," ","after the ",Math.round(r.min_pay_now_rate*100),"% pay-today portion."]})]})}),e(B,{children:e(R,{variant:"outline",onClick:()=>t.close(),children:"Close"})})]})}function Pn({ctx:n,dispatch:t}){let[r,o]=y(0),[a,i]=y([null,null,null]),[l,c]=y(""),u=["Are you currently employed?","Do you have a stable salary account?","Which bank is your salary paid into?"],d=["exit-not-employed","exit-no-salary-acct","exit-bank-unsupported"],p=(f,m)=>{let v=[...a];if(v[f]=m?"pass":"fail",i(v),!m){setTimeout(()=>t.go(d[f]),350);return}f<2?setTimeout(()=>o(f+1),250):setTimeout(()=>t.go("phone"),350)},s=[...n.banks.map(f=>f.name),"Not listed"];return e(P,{children:[e(F,{step:2,total:M,merchant:n.merchant.name,canBack:!0,onBack:()=>t.go("plan"),onClose:()=>t.close()}),e(q,{step:2,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:16},children:[e("div",{children:[e("h2",{style:N,children:"A few quick questions"}),e("p",{style:W,children:"We need to know if BNPL is right for you before we run any checks."})]}),e(gn,{items:u,current:r,results:a}),e("div",{style:{padding:16,borderRadius:16,background:"var(--nc-primary-wash)",display:"flex",flexDirection:"column",gap:10},children:[e("span",{style:{fontSize:13,fontWeight:600,color:"var(--nc-ink)"},children:u[r]}),r<2?e("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[e(R,{variant:"violet",onClick:()=>p(r,!0),children:"Yes"}),e(R,{variant:"outline",onClick:()=>p(r,!1),children:"No"})]}):e("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[e(hn,{value:l,onChange:c,placeholder:"Select your bank",options:s}),e(R,{variant:"violet",disabled:!l,onClick:()=>p(2,l!=="Not listed"),children:"Continue"})]})]}),e("div",{style:{padding:14,borderRadius:12,border:"1px dashed var(--nc-border)",background:"#fff",display:"flex",gap:10},children:[e(b,{name:"info",size:16,color:"var(--nc-muted)",style:{marginTop:2}}),e("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[e("span",{style:{fontSize:12.5,color:"var(--nc-ink)",lineHeight:1.5},children:"NeoCash BNPL is only available to salary earners who have been with their current employer for at least 6 months."}),e("span",{style:{fontSize:12,color:"var(--nc-muted)"},children:"Final offer is determined based on your income."})]})]})]})}),e(B,{})]})}function Rn({ctx:n,dispatch:t,api:r}){let[o,a]=y(n.phone?.replace(/^\+234\s?/,"")||n.partnerPrefill.phone?.replace(/^\+234\s?/,"")||""),[i,l]=y(!1),[c,u]=y(null),d=/^\d{10,11}$/.test(o.replace(/\s/g,"")),p=async()=>{if(d){l(!0),u(null);try{let s="+234"+o.replace(/\s/g,"").replace(/^0/,"");await r.sendOtp({phone:s}),t.update({phone:s}),t.go("otp")}catch(s){u(s.message||"Could not send code. Try again.")}finally{l(!1)}}};return e(P,{children:[e(F,{step:3,total:M,merchant:n.merchant.name,canBack:!0,onBack:()=>t.go("eligibility"),onClose:()=>t.close()}),e(q,{step:3,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:18},children:[e(Wn,{icon:"smartphone"}),e("div",{children:[e("h2",{style:N,children:"What's your phone number?"}),e("p",{style:W,children:"We'll send you a 6-digit code to verify it's really you."})]}),e($,{label:"Phone number",children:e(j,{prefix:"\u{1F1F3}\u{1F1EC} +234",type:"tel",inputMode:"numeric",placeholder:"803 555 0142",value:o,onChange:a,autoFocus:!0,maxLength:13})}),c&&e(U,{tone:"danger",icon:"alert-circle",children:c}),e("p",{style:{margin:0,fontSize:12,color:"var(--nc-muted)"},children:"By continuing, you agree to receive SMS from NeoCash. Standard rates may apply."})]})}),e(B,{children:e(R,{iconRight:"arrow-right",disabled:!d,loading:i,onClick:p,children:"Send code"})})]})}function Tn({ctx:n,dispatch:t,api:r}){let[o,a]=y(["","","","","",""]),[i,l]=y(null),[c,u]=y(!1),[d,p]=y(30),[s,f]=y(!1),m=me([]);H(()=>{if(d<=0)return;let g=setTimeout(()=>p(d-1),1e3);return()=>clearTimeout(g)},[d]);let v=(g,h)=>{if(!/^\d?$/.test(h))return;let A=[...o];A[g]=h,a(A),l(null),h&&g<5&&m.current[g+1]?.focus()},x=(g,h)=>{h.key==="Backspace"&&!o[g]&&g>0&&m.current[g-1]?.focus()},C=g=>{let h=(g.clipboardData?.getData("text")||"").replace(/\D/g,"").slice(0,6);h.length===6&&(g.preventDefault(),a(h.split("")),m.current[5]?.focus())},_=o.every(g=>g.length===1),k=async()=>{u(!0);try{let g=await r.verifyOtp({code:o.join("")});if(g.verified)t.go("liveness");else{let h=g.attempts_left??0;l(`That code didn't match. ${h} ${h===1?"try":"tries"} left.`),a(["","","","","",""]),m.current[0]?.focus(),h<=0&&t.go("exit-otp-locked")}}catch(g){l(g.message||"Could not verify the code. Try again.")}finally{u(!1)}};H(()=>{_&&!c&&k()},[_]);let S=async()=>{if(!(d>0||!n.phone)){f(!0);try{await r.sendOtp({phone:n.phone}),p(30)}catch(g){l(g.message||"Could not resend.")}finally{f(!1)}}};return e(P,{children:[e(F,{step:3,total:M,merchant:n.merchant.name,canBack:!0,onBack:()=>t.go("phone"),onClose:()=>t.close()}),e(q,{step:3,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:18},children:[e(Wn,{icon:"message-square"}),e("div",{children:[e("h2",{style:N,children:"Check your messages"}),e("p",{style:W,children:["We sent a 6-digit code to ",e("strong",{style:{color:"var(--nc-ink)"},children:n.phone||"your phone"}),"."]})]}),e("div",{style:{display:"grid",gridTemplateColumns:"repeat(6, 1fr)",gap:8},onPaste:C,children:o.map((g,h)=>e("input",{ref:A=>{m.current[h]=A},inputMode:"numeric",maxLength:1,value:g,onInput:A=>v(h,A.currentTarget.value),onKeyDown:A=>x(h,A),disabled:c,style:{height:56,width:"100%",textAlign:"center",fontFamily:"var(--font-mono)",fontWeight:600,fontSize:22,color:"var(--nc-ink)",border:`1px solid ${i?"var(--nc-danger)":g?"var(--nc-primary)":"var(--nc-border)"}`,borderRadius:12,background:"#fff",outline:"none",boxShadow:g?"0 0 0 3px var(--nc-primary-wash)":"var(--shadow-xs)",transition:"all .15s var(--ease)"}},h))}),i&&e(U,{tone:"danger",icon:"alert-circle",children:i}),c&&e("div",{style:{display:"flex",alignItems:"center",gap:10,color:"var(--nc-muted)",fontSize:13},children:[e(K,{size:14,color:"var(--nc-primary)"})," Verifying\u2026"]}),e("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:13},children:[e("button",{onClick:()=>t.go("phone"),style:{background:"transparent",border:"none",color:"var(--nc-ink)",cursor:"pointer",padding:0,textDecoration:"underline"},children:"Wrong number?"}),e("button",{disabled:d>0||s,onClick:S,style:{background:"transparent",border:"none",color:d>0?"var(--nc-muted)":"var(--nc-primary-strong)",cursor:d>0?"default":"pointer",padding:0,fontWeight:500},children:d>0?`Resend in ${d}s`:s?"Resending\u2026":"Resend code"})]})]})}),e(B,{})]})}function Mn({ctx:n,dispatch:t,api:r,assetPrefix:o}){let[a,i]=y("starting"),[l,c]=y(null),[u,d]=y("us-east-1"),[p,s]=y(null),[f,m]=y(null),[v,x]=y(null),C=async()=>{i("starting"),x(null);try{let S=await r.startLiveness();c(S.rekognition_session_id),d(S.region),s(S.credentials??null),i("capturing")}catch(S){x(S.message||"Could not start liveness check."),i("failed")}};H(()=>{C()},[]);let _=async()=>{if(l){i("submitting");try{let S=await r.submitLivenessResult({rekognition_session_id:l});if(!S.passed){let g=S.attempts_left??0;m(g),g<=0?t.go("exit-liveness-failed"):(x("We couldn't verify it's you. Please try again."),i("failed"));return}t.update({customerStatus:S.customer_status}),t.go(S.customer_status==="returning"?"summary-r":"form-n")}catch(S){x(S.message||"Could not submit liveness result."),i("failed")}}},k=S=>{x(S.message||"Liveness check couldn't run on this device."),i("failed")};return e(P,{children:[e(F,{step:4,total:M,merchant:n.merchant.name,canBack:a==="failed",onBack:()=>t.go("otp"),onClose:()=>t.close()}),e(q,{step:4,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:16,alignItems:"center"},children:[e("div",{style:{alignSelf:"stretch"},children:[e("h2",{style:N,children:"Quick selfie"}),e("p",{style:W,children:"We need to confirm it's really you. Make sure you're in a well-lit place."})]}),e(yt,{phase:a,sessionId:l,region:u,credentials:p,assetPrefix:o,onAnalysisComplete:_,onError:k,onCancel:()=>{x("Liveness check cancelled."),i("failed")}}),v&&e(U,{tone:"danger",icon:"alert-circle",children:[v,f!=null&&` (${f} ${f===1?"attempt":"attempts"} left)`]})]})}),e(B,{children:[a==="failed"&&e(R,{iconRight:"refresh-cw",variant:"violet",onClick:C,children:"Try again"}),a==="submitting"&&e(R,{variant:"outline",disabled:!0,children:[e(K,{size:14,color:"var(--nc-primary)"}),"Submitting\u2026"]})]})]})}function yt({phase:n,sessionId:t,region:r,credentials:o,assetPrefix:a,onAnalysisComplete:i,onError:l,onCancel:c}){let u=!!o,d=me(null);return H(()=>{if(u||n!=="capturing"||!t)return;let p=setTimeout(i,2200);return()=>clearTimeout(p)},[u,n,t]),H(()=>{if(!u||n!=="capturing"||!t||!o||!d.current)return;let p=null,s=!1;return dn(a).then(f=>{if(s||!d.current)return;p=f.mount({container:d.current,sessionId:t,region:r,credentials:o,onAnalysisComplete:i,onCancel:c,onError:l}).unmount}).catch(f=>{s||l(f instanceof Error?f:new Error(String(f)))}),()=>{if(s=!0,p)try{p()}catch{}}},[u,n,t,o,a]),u?e("div",{style:{width:"100%",display:"flex",justifyContent:"center"},children:e("div",{ref:d,class:"nc-bnpl-amplify-host",style:{width:"100%",maxWidth:480,minHeight:320,borderRadius:16,overflow:"hidden",border:"1px solid var(--nc-border)",background:"#000"}})}):e("div",{style:{width:"100%",aspectRatio:"1 / 1",maxWidth:280,borderRadius:24,position:"relative",background:"linear-gradient(180deg, var(--nc-primary-wash) 0%, #F7F8FA 100%)",overflow:"hidden",border:"1px solid var(--nc-border)",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",gap:12},children:[e(K,{size:36,color:"var(--nc-primary)"}),e("span",{style:{fontSize:12,color:"var(--nc-muted)",textAlign:"center",padding:"0 24px"},children:n==="starting"?"Starting camera\u2026":n==="capturing"?"Hold still\u2026":"Verifying\u2026"})]})}function _n(n){return!!(n.employer?.trim()&&n.role?.trim()&&n.monthly_salary>0&&n.office_address?.trim()&&n.home_address?.trim())}function zn({ctx:n,dispatch:t,api:r}){let[o,a]=y(null),[i,l]=y(null),[c,u]=y(!1),[d,p]=y(!1);H(()=>{r.getCustomer().then(f=>{a(f),_n(f)||u(!0)}).catch(f=>l(f.message||"Could not load profile."))},[r]);let s=async()=>{if(o){if(!_n(o)){u(!0);return}p(!0);try{if((await r.runCreditCheck()).status==="declined"){t.go("exit-credit-decline");return}await r.submitEmployment({employer:o.employer,role:o.role,monthly_salary:o.monthly_salary,office_address:o.office_address,home_address:o.home_address}),t.go("mono")}catch(f){t.fail(f)}}};return d?e(ht,{ctx:n,title:"Running credit checks\u2026",subtitle:"Welcome back. Re-checking your eligibility for this purchase.",icon:"trending-up"}):c&&o?e(Ae,{ctx:n,dispatch:t,api:r,prefill:o,returning:!0}):e(P,{children:[e(F,{step:5,total:M,merchant:n.merchant.name,canBack:!0,onBack:()=>t.go("liveness"),onClose:()=>t.close()}),e(q,{step:5,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:16},children:[i&&e(U,{tone:"danger",icon:"alert-circle",children:i}),!o&&!i&&e("div",{style:{display:"flex",alignItems:"center",gap:10,color:"var(--nc-muted)",fontSize:13},children:[e(K,{size:14,color:"var(--nc-primary)"})," Loading your profile\u2026"]}),o&&e(P,{children:[e(ye,{icon:"user-check",color:"#E6F5EC",fg:"var(--nc-success)",children:"Welcome back"}),e("div",{children:[e("h2",{style:N,children:["Hi ",o.first_name,", ready in a tap."]}),e("p",{style:W,children:"We have your details on file. Confirm everything still looks right."})]}),e("div",{style:{padding:16,borderRadius:16,border:"1px solid var(--nc-border)",background:"#fff",display:"flex",flexDirection:"column",gap:14},children:[e("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e("span",{style:{width:44,height:44,borderRadius:9999,background:"var(--nc-primary)",color:"#fff",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:"var(--font-display)",fontWeight:600,fontSize:18},children:[o.first_name[0],o.last_name[0]]}),e("div",{style:{flex:1,minWidth:0},children:[e("div",{style:{fontSize:15,fontWeight:600},children:[o.first_name," ",o.last_name]}),e("div",{style:{fontSize:13,color:"var(--nc-muted)"},children:o.email})]})]}),e("div",{style:{height:1,background:"var(--nc-border)"}}),e("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[e(L,{label:"Phone",value:o.phone}),e(L,{label:"BVN",value:o.bvn_masked,mono:!0})]})]}),e("div",{style:{padding:16,borderRadius:16,border:"1px solid var(--nc-border)",background:"#fff",display:"flex",flexDirection:"column",gap:12},children:[e("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e("span",{style:{fontSize:12,color:"var(--nc-muted)",letterSpacing:.4,textTransform:"uppercase"},children:"Employment & address"}),e(ye,{color:"var(--nc-surface)",fg:"var(--nc-muted)",icon:"briefcase",children:"From last application"})]}),e("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[e(L,{label:"Employer",value:o.employer}),e(L,{label:"Role",value:o.role}),e(L,{label:"Monthly salary",value:I(o.monthly_salary)}),e(L,{label:"Office",value:o.office_address}),e(L,{label:"Home",value:o.home_address})]})]}),e("div",{style:{padding:14,borderRadius:14,background:"var(--nc-primary-wash)",display:"flex",flexDirection:"column",gap:10},children:[e("span",{style:{fontSize:14,fontWeight:600,color:"var(--nc-ink)"},children:"Is your employment information still current?"}),e("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[e(R,{variant:"violet",icon:"check",onClick:s,children:"Yes, all current"}),e(R,{variant:"outline",icon:"pencil",onClick:()=>u(!0),children:"Update"})]})]})]})]})}),e(B,{})]})}function En({ctx:n,dispatch:t,api:r}){let o=n.partnerPrefill||{},[a,i]=y({firstName:o.firstName||"",lastName:o.lastName||"",email:o.email||"",bvn:o.bvn||""}),[l,c]=y(null),[u,d]=y(!1),p=m=>v=>{i({...a,[m]:v}),c(null)},s=a.firstName&&a.lastName&&/\S+@\S+/.test(a.email)&&/^\d{11}$/.test(a.bvn),f=async()=>{d(!0);try{let m=await r.submitIdentity({first_name:a.firstName,last_name:a.lastName,email:a.email,bvn:a.bvn});m.status==="cant_offer"?t.go("exit-bvn-cant-offer"):m.status==="cant_verify"?c(m.reasons?.[0]||"We could not verify the information you provided. Please double-check your BVN and details."):(t.update({pii:a}),t.go("face-match"))}catch(m){c(m.message||"Could not submit. Try again.")}finally{d(!1)}};return e(P,{children:[e(F,{step:5,total:M,merchant:n.merchant.name,canBack:!0,onBack:()=>t.go("liveness"),onClose:()=>t.close()}),e(q,{step:5,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:14},children:[e("div",{children:[e("h2",{style:N,children:"Tell us a bit about you"}),e("p",{style:W,children:"We use this to verify your identity with the National Identity Bureau."})]}),(o.firstName||o.email)&&e("div",{style:{padding:10,borderRadius:10,background:"var(--nc-primary-wash)",display:"flex",alignItems:"center",gap:10},children:[e(b,{name:"sparkles",size:14,color:"var(--nc-primary-strong)"}),e("span",{style:{fontSize:12.5,color:"var(--nc-ink)"},children:["Pre-filled from ",n.merchant.name,". Edit anything that's not right."]})]}),e("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[e($,{label:"First name",children:e(j,{value:a.firstName,onChange:p("firstName"),placeholder:"Adaeze"})}),e($,{label:"Last name",children:e(j,{value:a.lastName,onChange:p("lastName"),placeholder:"Okafor"})})]}),e($,{label:"Email",children:e(j,{type:"email",value:a.email,onChange:p("email"),placeholder:"you@example.com",icon:"mail"})}),e($,{label:"BVN",hint:"Your 11-digit Bank Verification Number.",right:e("span",{style:{fontSize:11,color:"var(--nc-muted)"},children:"Dial *565*0# to find yours"}),children:e(j,{value:a.bvn,onChange:m=>p("bvn")(m.replace(/[^\d]/g,"").slice(0,11)),placeholder:"22301234567",inputMode:"numeric",icon:"shield",error:l})}),l&&e(U,{tone:"danger",icon:"alert-circle",children:l}),e("div",{style:{padding:12,borderRadius:12,background:"var(--nc-surface)",display:"flex",gap:10},children:[e(b,{name:"lock",size:14,color:"var(--nc-muted)",style:{marginTop:2}}),e("span",{style:{fontSize:12,color:"var(--nc-muted)",lineHeight:1.5},children:"Your BVN is encrypted in transit and at rest. NeoCash never stores your bank PIN or password."})]})]})}),e(B,{children:e(R,{iconRight:"arrow-right",disabled:!s,loading:u,onClick:f,children:"Submit"})})]})}function In({ctx:n,dispatch:t,api:r}){return H(()=>{let o=!0,a=0;return(async()=>{for(;o&&a<30;){a++;try{let l=await r.getIdentityStatus();if(l.face_match==="pass"){t.go("credit-check");return}if(l.face_match==="fail"){t.go("exit-face-mismatch");return}}catch(l){t.fail(l);return}await new Promise(l=>setTimeout(l,1e3))}o&&t.go("exit-face-mismatch")})(),()=>{o=!1}},[r]),e(P,{children:[e(F,{hideStep:!0,merchant:n.merchant.name,onClose:()=>t.close()}),e(D,{children:e(De,{title:"Verifying your identity",subtitle:"Comparing your selfie with your BVN photo. This usually takes a few seconds.",icon:"user-check"})}),e(B,{})]})}function Fn({ctx:n,dispatch:t,api:r}){return H(()=>{r.runCreditCheck().then(o=>{o.status==="declined"?t.go("exit-credit-decline"):t.go("good-credit")}).catch(o=>t.fail(o))},[r]),e(P,{children:[e(F,{hideStep:!0,merchant:n.merchant.name,onClose:()=>t.close()}),e(D,{children:e(De,{title:"Running credit checks\u2026",subtitle:"We're checking your credit history. This is a soft search \u2014 it won't affect your score.",icon:"trending-up",steps:["Checking national credit bureau","Scoring repayment history","Sizing your offer"]})}),e(B,{})]})}function ht({ctx:n,title:t,subtitle:r,icon:o}){return e(P,{children:[e(F,{hideStep:!0,merchant:n.merchant.name,onClose:()=>{}}),e(D,{children:e(De,{title:t,subtitle:r,icon:o})}),e(B,{})]})}function De({title:n,subtitle:t,icon:r,steps:o}){let[a,i]=y(0);return H(()=>{if(!o)return;let l=setInterval(()=>i(c=>Math.min(c+1,o.length-1)),700);return()=>clearInterval(l)},[o]),e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:18,alignItems:"center",textAlign:"center",paddingTop:40},children:[e("div",{style:{width:96,height:96,borderRadius:9999,position:"relative",background:"var(--nc-primary-wash)",display:"inline-flex",alignItems:"center",justifyContent:"center"},children:[e("span",{style:{position:"absolute",inset:-6,borderRadius:9999,border:"3px solid transparent",borderTopColor:"var(--nc-primary)",animation:"nc-spin 1.2s linear infinite"}}),e(b,{name:r,size:36,color:"var(--nc-primary-strong)"})]}),e("div",{children:[e("h2",{style:{...N,fontSize:22},children:n}),e("p",{style:{...W,marginTop:8,maxWidth:320},children:t})]}),o&&e("div",{style:{alignSelf:"stretch",display:"flex",flexDirection:"column",gap:8,marginTop:8},children:o.map((l,c)=>e("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",borderRadius:10,background:c===a?"var(--nc-primary-wash)":"var(--nc-surface)",opacity:c>a?.55:1,transition:"all .25s"},children:[e("span",{style:{width:18,height:18,borderRadius:9999,flex:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",background:c<a?"var(--nc-success)":c===a?"var(--nc-primary)":"var(--nc-border)",color:"#fff"},children:c<a?e(b,{name:"check",size:11,color:"#fff"}):c===a?e("span",{style:{animation:"nc-pulse 1s infinite",fontSize:9,fontWeight:700},children:"\u2022"}):null}),e("span",{style:{fontSize:13.5,textAlign:"left",color:"var(--nc-ink)"},children:l})]},c))})]})}function Bn({ctx:n,dispatch:t}){return e(P,{children:[e(F,{step:5,total:M,merchant:n.merchant.name,onClose:()=>t.close()}),e(q,{step:5,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:18,alignItems:"center",textAlign:"center",paddingTop:24},children:[e("div",{style:{width:96,height:96,borderRadius:9999,background:"linear-gradient(135deg, var(--nc-yellow) 0%, #FFB800 100%)",display:"inline-flex",alignItems:"center",justifyContent:"center",boxShadow:"0 12px 32px rgba(255,218,44,.35)"},children:e(b,{name:"sparkles",size:40,color:"var(--nc-ink-deep)"})}),e("div",{children:[e("h2",{style:{...N,fontSize:26},children:"You have a good credit history."}),e("p",{style:{...W,marginTop:10,maxWidth:320},children:"We just need to confirm your source of repayment to unlock your offer."})]}),e("div",{style:{alignSelf:"stretch",padding:14,borderRadius:14,background:"var(--nc-surface)",display:"flex",flexDirection:"column",gap:10,textAlign:"left"},children:[e("span",{style:{fontSize:12,color:"var(--nc-muted)",letterSpacing:.4,textTransform:"uppercase"},children:"What's next"}),e("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e(b,{name:"briefcase",size:16,color:"var(--nc-primary-strong)"}),e("span",{style:{fontSize:14},children:"Confirm your employment & address"})]}),e("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e(b,{name:"landmark",size:16,color:"var(--nc-primary-strong)"}),e("span",{style:{fontSize:14},children:"Connect your salary account"})]})]})]})}),e(B,{children:e(R,{iconRight:"arrow-right",onClick:()=>t.go("employment"),children:"Confirm income source"})})]})}function Ae({ctx:n,dispatch:t,api:r,prefill:o,returning:a}){let[i,l]=y({employer:o?.employer||"",role:o?.role||"",salary:o?.monthly_salary&&o.monthly_salary>0?String(Math.round(o.monthly_salary/100)):"",office:o?.office_address||"",home:o?.home_address||""}),[c,u]=y(!1),[d,p]=y(null),[s,f]=y({}),[m,v]=y(null),[x,C]=y("idle"),_=h=>A=>{l(V=>({...V,[h]:A})),s[h]&&f(V=>({...V,[h]:void 0}))},k=()=>{let h={};return i.employer.trim()||(h.employer="Required"),i.role.trim()||(h.role="Required"),(!i.salary.trim()||Number(i.salary)<=0)&&(h.salary="Enter your monthly salary"),i.office.trim()||(h.office="Required"),i.home.trim()||(h.home="Required"),f(h),Object.keys(h).length===0},S=()=>{if(!navigator.geolocation){C("denied");return}C("requesting"),navigator.geolocation.getCurrentPosition(h=>{v({lat:h.coords.latitude,lng:h.coords.longitude,accuracy:h.coords.accuracy}),C("granted")},()=>C("denied"),{timeout:1e4})},g=async()=>{if(k()){u(!0),p(null);try{if(a&&(await r.runCreditCheck()).status==="declined"){t.go("exit-credit-decline");return}await r.submitEmployment({employer:i.employer,role:i.role,monthly_salary:Math.round(Number(i.salary)*100),office_address:i.office,home_address:i.home,location:m||void 0}),t.go("mono")}catch(h){p(h.message||"Could not save. Try again.")}finally{u(!1)}}};return e(P,{children:[e(F,{step:a?5:6,total:M,merchant:n.merchant.name,canBack:!0,onBack:()=>a?t.go("summary-r"):t.go("good-credit"),onClose:()=>t.close()}),e(q,{step:a?5:6,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:14},children:[e("div",{children:[e("h2",{style:N,children:a?"Update your details":"Confirm your income source"}),e("p",{style:W,children:a?"Edit anything that's changed. We'll re-run our checks.":"We use this to size your offer. We never share it without your permission."})]}),e($,{label:"Company / Employer",error:s.employer,children:e(j,{value:i.employer,onChange:_("employer"),placeholder:"e.g. Andela Nigeria Ltd",icon:"building-2",error:s.employer})}),e($,{label:"Role / Job title",error:s.role,children:e(j,{value:i.role,onChange:_("role"),placeholder:"e.g. Senior Engineer",icon:"briefcase",error:s.role})}),e($,{label:"Monthly salary (\u20A6)",error:s.salary,children:e(j,{value:i.salary,onChange:h=>_("salary")(h.replace(/[^\d]/g,"")),placeholder:"850000",inputMode:"numeric",prefix:"\u20A6",error:s.salary})}),e($,{label:"Office address",error:s.office,children:e(j,{value:i.office,onChange:_("office"),placeholder:"Street, area, city",icon:"map-pin",error:s.office})}),e($,{label:"Home address",error:s.home,children:e(j,{value:i.home,onChange:_("home"),placeholder:"Street, area, city",icon:"house",error:s.home})}),!a&&e("div",{style:{padding:12,borderRadius:12,background:"var(--nc-surface)",display:"flex",alignItems:"center",gap:10},children:[e(b,{name:"navigation",size:16,color:"var(--nc-muted)"}),e("div",{style:{flex:1,minWidth:0},children:[e("div",{style:{fontSize:13,fontWeight:500},children:"Share your current location"}),e("div",{style:{fontSize:12,color:"var(--nc-muted)"},children:x==="granted"?"Location captured \u2713":x==="denied"?"Skipped":x==="requesting"?"Requesting\u2026":"Required for verification"})]}),e(R,{size:"sm",variant:x==="granted"?"outline":"subtle",onClick:S,disabled:x==="requesting",children:x==="granted"?"Captured":"Allow"})]}),d&&e(U,{tone:"danger",icon:"alert-circle",children:d})]})}),e(B,{children:e(R,{iconRight:"arrow-right",loading:c,onClick:g,children:a?"Save and continue":"Continue to bank verification"})})]})}var bn="https://connect.withmono.com/connect.js";function Be(){if(typeof window>"u")return null;let n=window;return[n.MonoConnect,n.MonoConnect?.default,n.Connect,n.Connect?.default].find(r=>typeof r=="function")??null}function gt(){if(typeof window>"u")return Promise.reject(new Error("no window"));let n=Be();return n?Promise.resolve(n):new Promise((t,r)=>{let o=()=>{let l=Be();l?t(l):r(new Error("Mono Connect SDK loaded but no constructor found on window (MonoConnect / MonoConnect.default / Connect)."))},a=document.querySelector(`script[src="${bn}"]`);if(a){let l=Be();if(l){t(l);return}a.addEventListener("load",o),a.addEventListener("error",()=>r(new Error("Failed to load Mono Connect SDK.")));return}let i=document.createElement("script");i.src=bn,i.async=!0,i.onload=o,i.onerror=()=>r(new Error("Failed to load Mono Connect SDK.")),document.head.appendChild(i)})}function Dn({ctx:n,dispatch:t,api:r}){let[o,a]=y("intro"),[i,l]=y(0),[c,u]=y(null);H(()=>{if(o!=="connecting")return;let p=document.querySelector(".nc-bnpl-overlay");if(!p)return;let s=p.style.visibility;return p.style.visibility="hidden",()=>{p.style.visibility=s}},[o]);let d=async()=>{a("connecting"),u(null);try{let[p,s]=await Promise.all([r.getMonoLinkToken(),gt()]);if(!p.public_key||!/^(live|test)_pk_/.test(p.public_key))throw new Error(`Bad Mono public key from backend ("${p.public_key}"). Expected something like "test_pk_xxx" or "live_pk_xxx".`);let f=Array.isArray(p.scope)?p.scope[0]:p.scope,m={key:p.public_key,reference:p.reference,data:{customer:{id:p.customer_ref}},onClose:()=>{a(x=>x==="connecting"?"intro":x)},onSuccess:()=>{a("success"),setTimeout(()=>t.go("pending"),1e3)},onLoad:()=>{}};f&&(m.scope=f);let v=new s(m);v.setup(),v.open()}catch(p){let s=i+1;l(s),u(p.message||"We couldn't connect to your bank. Please try again."),a("failed"),s>=2&&t.go("exit-mono-failed")}};return e(P,{children:[e(F,{step:7,total:M,merchant:n.merchant.name,canBack:o==="intro",onBack:()=>t.go(n.customerStatus==="returning"?"summary-r":"employment"),onClose:()=>t.close()}),e(q,{step:7,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:16},children:[e("div",{children:[e("h2",{style:N,children:"Connect your salary account"}),e("p",{style:W,children:"We use Mono to securely read your last 3 months of statements. Read-only, encrypted, revocable any time."})]}),e(vt,{phase:o}),o==="intro"&&e("div",{style:{padding:14,borderRadius:12,border:"1px solid var(--nc-border)",display:"flex",flexDirection:"column",gap:10},children:[["lock","Bank-level 256-bit encryption"],["eye-off","We never see your password"],["clock","Takes about 30 seconds"]].map(([p,s],f)=>e("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e(b,{name:p,size:14,color:"var(--nc-success)"}),e("span",{style:{fontSize:13,color:"var(--nc-ink)"},children:s})]},f))}),o==="failed"&&c&&e(U,{tone:"danger",icon:"alert-circle",children:c})]})}),e(B,{children:[o==="intro"&&e(R,{iconRight:"arrow-right",onClick:d,children:"Connect with Mono"}),o==="connecting"&&e(R,{variant:"outline",disabled:!0,children:[e(K,{size:14,color:"var(--nc-primary)"}),"Connecting\u2026"]}),o==="failed"&&e(R,{iconRight:"refresh-cw",variant:"violet",onClick:d,children:"Try again"}),o==="success"&&e(R,{variant:"outline",disabled:!0,children:[e(b,{name:"check-circle",size:14,color:"var(--nc-success)"}),"Connected"]})]})]})}function vt({phase:n}){return e("div",{style:{padding:24,borderRadius:16,background:"linear-gradient(135deg, #F0EDFF 0%, #E1F0FF 100%)",display:"flex",flexDirection:"column",alignItems:"center",gap:18},children:[e("div",{style:{display:"flex",alignItems:"center",gap:16},children:[e("div",{style:{width:64,height:64,borderRadius:16,background:"var(--nc-ink)",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 8px 24px rgba(45,50,97,.25)",animation:n==="connecting"?"nc-bob 1.6s ease-in-out infinite":"none"},children:e(mn,{size:36})}),e("div",{style:{position:"relative",width:56,height:4,borderRadius:9999,background:"rgba(45,50,97,.12)"},children:e("div",{style:{position:"absolute",inset:0,borderRadius:9999,background:n==="success"?"var(--nc-success)":"var(--nc-primary)",width:n==="intro"?"0%":"100%",transition:"width 1.6s var(--ease)"}})}),e("div",{style:{width:64,height:64,borderRadius:16,background:"#fff",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 8px 24px rgba(45,50,97,.12)",border:"1px solid var(--nc-border)"},children:e(b,{name:"landmark",size:32,color:"var(--nc-vault)"})})]}),e("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:13},children:[e("span",{style:{fontFamily:"var(--font-display)",fontWeight:600,color:"var(--nc-ink)"},children:"NeoCash"}),e(b,{name:"arrow-right",size:12,color:"var(--nc-muted)"}),e("span",{style:{padding:"3px 8px",borderRadius:6,background:"#fff",border:"1px solid var(--nc-border)",fontFamily:"var(--font-mono)",fontSize:11,color:"var(--nc-ink)"},children:"powered by Mono"}),e(b,{name:"arrow-right",size:12,color:"var(--nc-muted)"}),e("span",{style:{fontWeight:500,color:"var(--nc-ink)"},children:"your bank"})]})]})}function An({ctx:n,dispatch:t,api:r,onApprovalPending:o}){let[a,i]=y(n.pii?.email||n.partnerPrefill.email||""),[l,c]=y(!1),[u,d]=y(!1),[p,s]=y(null),f=n.merchant.cart_mode==="hold",m=async()=>{if(a){if(l){t.close();return}d(!0),s(null);try{let v=await r.finalize({email:a,tenure_days:n.tenure??0,financed_kobo:n.financed??0});t.update({applicationId:v.application_id}),o?.(v.application_id),c(!0)}catch(v){s(v.message||"Could not submit. Try again.")}finally{d(!1)}}};return e(P,{children:[e(F,{step:8,total:M,merchant:n.merchant.name,onClose:()=>t.close()}),e(q,{step:8,total:M}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:18},children:[e("div",{style:{width:64,height:64,borderRadius:16,background:"var(--nc-primary-wash)",display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[e(b,{name:"hourglass",size:28,color:"var(--nc-primary-strong)"}),e("span",{style:{position:"absolute",top:-6,right:-6,width:24,height:24,borderRadius:9999,background:"var(--nc-yellow)",display:"inline-flex",alignItems:"center",justifyContent:"center",boxShadow:"0 4px 8px rgba(255,218,44,.4)"},children:e(b,{name:"check",size:14,color:"var(--nc-ink-deep)"})})]}),e("div",{children:[e("h2",{style:{...N,fontSize:24},children:"Thanks. We're on it."}),e("p",{style:{...W,marginTop:8,lineHeight:1.5},children:"We're verifying your income and will email you once your application is complete. Most decisions take less than 10 minutes."})]}),e($,{label:"Confirm your email",hint:"Make sure this is an email you check often.",children:e(j,{type:"email",value:a,onChange:i,icon:"mail"})}),e("div",{style:{padding:14,borderRadius:14,background:f?"#FFF9E0":"var(--nc-surface)",border:`1px solid ${f?"#FFE588":"var(--nc-border)"}`,display:"flex",gap:10},children:[e(b,{name:f?"briefcase":"check-circle",size:16,color:f?"var(--nc-yellow-deep)":"var(--nc-ink)",style:{marginTop:2,flex:"none"}}),e("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[e("span",{style:{fontSize:13,fontWeight:600,color:"var(--nc-ink)"},children:f?`${n.merchant.name} is holding your order`:"Your cart has been released"}),e("span",{style:{fontSize:12.5,color:"var(--nc-muted)",lineHeight:1.5},children:f?`Your cart at ${n.merchant.name} is held for up to 24 hours. We'll email you a link to complete checkout once approved.`:`Once approved, we'll email you a link to return to ${n.merchant.name} and complete your purchase with your NeoCash limit.`})]})]}),e("div",{style:{padding:14,borderRadius:14,border:"1px solid var(--nc-border)",display:"flex",flexDirection:"column",gap:10},children:[e("span",{style:{fontSize:12,color:"var(--nc-muted)",letterSpacing:.4,textTransform:"uppercase"},children:"Application summary"}),e(L,{label:"Financed",value:I(n.financed||0)}),e(L,{label:"Tenure",value:Q(n.tenure||0)}),e(L,{label:"Est. monthly",value:I(n.perInstall||0),strong:!0})]}),p&&e(U,{tone:"danger",icon:"alert-circle",children:p})]})}),e(B,{children:e(R,{iconRight:l?"check":"send",loading:u,onClick:m,children:l?"Done \u2014 close":"Confirm email"})})]})}var xn={"exit-not-employed":{icon:"briefcase",tone:"info",title:"BNPL is for salary earners only",body:"NeoCash BNPL is currently only available to people in formal employment. We hope to expand soon.",primary:"Return to checkout"},"exit-no-salary-acct":{icon:"landmark",tone:"info",title:"A salary account is required",body:"NeoCash BNPL is currently only available to people who receive their salary into a Nigerian bank account.",primary:"Return to checkout"},"exit-bank-unsupported":{icon:"landmark",tone:"info",title:"We don't support your bank yet",body:"Sorry \u2014 BNPL is not currently available for your bank. We're working with our partners to add more banks every month.",primary:"Return to checkout",support:!0},"exit-otp-locked":{icon:"lock",tone:"danger",title:"Verification failed",body:"We couldn't verify your phone number after several attempts. For your security, please try again in 30 minutes.",primary:"Close",support:!0},"exit-liveness-failed":{icon:"camera-off",tone:"danger",title:"We couldn't verify it's you",body:"Our liveness check didn't pass. Please make sure you're in a well-lit space and try again later.",primary:"Close",support:!0},"exit-credit-decline":{icon:"trending-down",tone:"danger",title:"We can't offer you a loan right now",body:"Based on the information available, we cannot extend BNPL to you at this time. This decision was based on your credit history. You have the right to request a free copy of your credit report.",primary:"Close",support:!0,adverse:!0},"exit-bvn-cant-offer":{icon:"shield-x",tone:"danger",title:"We can't offer you a loan right now",body:"We're unable to extend BNPL to you at this time based on the information you provided. You may request a free credit report from any Nigerian bureau.",primary:"Close",support:!0,adverse:!0},"exit-face-mismatch":{icon:"user-x",tone:"danger",title:"We could not verify your identity",body:"The selfie you provided doesn't match the photo on your BVN record. Please contact NeoCash support if you believe this is an error.",primary:"Close",support:!0},"exit-mono-failed":{icon:"wifi-off",tone:"danger",title:"We couldn't reach your bank",body:"Please try again later, or contact your bank if the issue continues.",primary:"Close",support:!0},"exit-error":{icon:"alert-circle",tone:"danger",title:"Something went wrong",body:"An unexpected error occurred. Please try again.",primary:"Close",support:!0}};function _t(){return"NC-"+Math.random().toString(36).slice(2,8).toUpperCase()}function Ln({exitKey:n,ctx:t,dispatch:r}){let o=xn[n]||xn["exit-error"],a=o.tone==="danger";return e(P,{children:[e(F,{hideStep:!0,merchant:t.merchant.name,onClose:()=>r.close()}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:18,alignItems:"center",textAlign:"center",paddingTop:32},children:[e("div",{style:{width:80,height:80,borderRadius:9999,background:a?"#FDE5E5":"var(--nc-primary-wash)",display:"inline-flex",alignItems:"center",justifyContent:"center"},children:e(b,{name:o.icon,size:36,color:a?"var(--nc-danger)":"var(--nc-primary-strong)"})}),e("div",{children:[e("h2",{style:{...N,fontSize:22,maxWidth:340},children:o.title}),e("p",{style:{...W,marginTop:10,lineHeight:1.6,maxWidth:340},children:o.body})]}),o.adverse&&e("div",{style:{alignSelf:"stretch",padding:12,borderRadius:12,background:"var(--nc-surface)",border:"1px solid var(--nc-border)",fontSize:12,color:"var(--nc-muted)",lineHeight:1.5,textAlign:"left"},children:["You can reapply after 60 days. To dispute this decision, contact ",e("strong",{style:{color:"var(--nc-ink)"},children:"support@neocash.ng"})," with reference ",_t(),"."]})]})}),e(B,{children:[e(R,{variant:"primary",onClick:()=>r.close(),children:o.primary}),o.support&&e(R,{variant:"ghost",size:"md",icon:"life-buoy",onClick:()=>window.open("mailto:support@neocash.ng"),children:"Contact support"})]})]})}function Nn({ctx:n,dispatch:t}){return e(P,{children:[e(F,{hideStep:!0,merchant:n.merchant.name,onClose:()=>{}}),e(D,{children:e("div",{class:"nc-screen",style:{display:"flex",flexDirection:"column",gap:16,alignItems:"center",textAlign:"center",paddingTop:60},children:[e("div",{style:{width:64,height:64,borderRadius:16,background:"var(--nc-surface)",display:"inline-flex",alignItems:"center",justifyContent:"center"},children:e(b,{name:"x-circle",size:28,color:"var(--nc-muted)"})}),e("div",{children:[e("h2",{style:{...N,fontSize:20},children:"Widget closed"}),e("p",{style:{...W,fontSize:13},children:["Control returned to ",n.merchant.name,"'s checkout."]})]})]})}),e(B,{children:e(R,{variant:"outline",icon:"rotate-ccw",onClick:()=>t.go("plan"),children:"Restart"})})]})}var N={margin:0,fontWeight:700,fontSize:22,letterSpacing:"-0.02em",color:"var(--nc-ink)"},W={margin:"6px 0 0",fontSize:14,color:"var(--nc-muted)"};function kn({children:n}){return e("div",{style:{padding:16,borderRadius:16,border:"1px solid var(--nc-border)",background:"#fff",display:"flex",flexDirection:"column",gap:12},children:n})}function Sn({label:n,value:t}){return e("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[e("span",{style:{fontSize:13,fontWeight:500,color:"var(--nc-ink)"},children:n}),e("span",{style:{fontFamily:"var(--font-display)",fontWeight:600,fontSize:22,color:"var(--nc-primary-strong)",letterSpacing:"-0.02em",fontVariantNumeric:"tabular-nums"},children:t})]})}function Cn({left:n,right:t}){return e("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,color:"var(--nc-muted)"},children:[e("span",{children:n}),e("span",{children:t})]})}function Wn({icon:n}){return e("div",{style:{width:56,height:56,borderRadius:16,background:"var(--nc-primary-wash)",display:"inline-flex",alignItems:"center",justifyContent:"center"},children:e(b,{name:n,size:26,color:"var(--nc-primary-strong)"})})}function Hn(n){let[t,r]=y("boot"),[o,a]=y({cart:n.cart,partnerPrefill:n.partnerPrefill,merchant:{name:"",cart_mode:"hold"},config:{monthly_interest_rate:.05,interest_type:"flat",processing_fee_rate:.015,min_amount_kobo:35e5,max_amount_kobo:2e8,min_tenure_days:14,max_tenure_days:180,min_pay_now_rate:.2,tenure_day_options:[14,30,60,90,120,150,180]},banks:[]}),[i,l]=y(null),c=Ie(()=>({go:u=>r(u),update:u=>a(d=>({...d,...u})),close:()=>{r("closed"),n.onClose()},fail:u=>{n.onError?.(u),r("exit-error")}}),[n]);return H(()=>{let u=!0;return n.api.createSession({public_key:n.publicKey,cart:n.cart,partner_prefill:n.partnerPrefill}).then(d=>{u&&(n.api.setSessionToken(d.session_token),a(p=>({...p,merchant:d.merchant,config:d.config,banks:d.banks,partnerPrefill:{...p.partnerPrefill,...d.prefill}})),r("plan"))}).catch(d=>{u&&(l(d),n.onError?.(d))}),()=>{u=!1}},[n.api,n.publicKey]),e("div",{class:"nc-bnpl-overlay",role:"dialog","aria-modal":"true","aria-label":"NeoCash BNPL",children:e("div",{class:"nc-bnpl-frame",children:xt({screen:t,ctx:o,dispatch:c,api:n.api,bootError:i,assetPrefix:n.assetPrefix,onApprovalPending:n.onApprovalPending})},t)})}function xt({screen:n,ctx:t,dispatch:r,api:o,bootError:a,assetPrefix:i,onApprovalPending:l}){return n==="boot"?e(kt,{err:a,dispatch:r}):n==="plan"?e(wn,{ctx:t,dispatch:r}):n==="eligibility"?e(Pn,{ctx:t,dispatch:r}):n==="phone"?e(Rn,{ctx:t,dispatch:r,api:o}):n==="otp"?e(Tn,{ctx:t,dispatch:r,api:o}):n==="liveness"?e(Mn,{ctx:t,dispatch:r,api:o,assetPrefix:i}):n==="summary-r"?e(zn,{ctx:t,dispatch:r,api:o}):n==="form-n"?e(En,{ctx:t,dispatch:r,api:o}):n==="face-match"?e(In,{ctx:t,dispatch:r,api:o}):n==="credit-check"?e(Fn,{ctx:t,dispatch:r,api:o}):n==="good-credit"?e(Bn,{ctx:t,dispatch:r}):n==="employment"?e(Ae,{ctx:t,dispatch:r,api:o,prefill:null,returning:!1}):n==="mono"?e(Dn,{ctx:t,dispatch:r,api:o}):n==="pending"?e(An,{ctx:t,dispatch:r,api:o,onApprovalPending:l}):n==="closed"?e(Nn,{ctx:t,dispatch:r}):n.startsWith("exit-")?e(Ln,{exitKey:n,ctx:t,dispatch:r}):e("div",{children:["Unknown: ",n]})}function kt({err:n,dispatch:t}){return n?e("div",{style:{padding:32,display:"flex",flexDirection:"column",gap:16,alignItems:"center",textAlign:"center",height:"100%",justifyContent:"center"},children:[e(b,{name:"alert-circle",size:36,color:"var(--nc-danger)"}),e("h2",{style:{margin:0,fontWeight:700,fontSize:18},children:"We couldn't start BNPL"}),e("p",{style:{margin:0,fontSize:14,color:"var(--nc-muted)"},children:n.message}),e(R,{variant:"outline",onClick:()=>t.close(),children:"Close"})]}):e("div",{style:{padding:32,display:"flex",flexDirection:"column",gap:18,alignItems:"center",textAlign:"center",height:"100%",justifyContent:"center"},children:[e(yn,{height:30}),e(K,{size:28,color:"var(--nc-primary)"}),e("span",{style:{fontSize:13,color:"var(--nc-muted)"},children:"Starting your checkout\u2026"})]})}var St="https://api.neocash.ng",Le=class extends Error{constructor(t,r={}){super(t),this.code=r.code,this.status=r.status,this.retryable=r.retryable}},he=class{constructor(t={}){this.sessionToken=null;this.base=t.apiBase??St}setSessionToken(t){this.sessionToken=t}async req(t,r,o){let a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);let i=await fetch(this.base+r,{method:t,headers:a,body:o==null?void 0:JSON.stringify(o)}),l=null;try{l=await i.json()}catch{}if(!i.ok)throw new Le(l?.error?.message??`${t} ${r} ${i.status}`,{code:l?.error?.code,status:i.status,retryable:!!l?.error?.retryable});return l}createSession(t){return this.req("POST","/bnpl-session/v1",t)}sendOtp(t){return this.req("POST","/bnpl-session/v1/otp/send",t)}verifyOtp(t){return this.req("POST","/bnpl-session/v1/otp/verify",t)}startLiveness(){return this.req("POST","/bnpl-session/v1/liveness/start")}submitLivenessResult(t){return this.req("POST","/bnpl-session/v1/liveness/result",t)}getCustomer(){return this.req("GET","/bnpl-session/v1/customer")}runCreditCheck(){return this.req("POST","/bnpl-session/v1/credit-check")}submitIdentity(t){return this.req("POST","/bnpl-session/v1/identity",t)}getIdentityStatus(){return this.req("GET","/bnpl-session/v1/identity/status")}submitEmployment(t){return this.req("POST","/bnpl-session/v1/employment",t)}getMonoLinkToken(){return this.req("GET","/bnpl-session/v1/mono/link-token")}finalize(t){return this.req("POST","/bnpl-session/v1/finalize",t)}};var qn="nc-bnpl-styles",Ct=`
|
|
2
|
+
.nc-bnpl {
|
|
3
|
+
--nc-primary: #917CFF;
|
|
4
|
+
--nc-primary-strong: #9747FF;
|
|
5
|
+
--nc-primary-soft: #B5A8FC;
|
|
6
|
+
--nc-primary-wash: #F0EDFF;
|
|
7
|
+
--nc-vault: #1A47B8;
|
|
8
|
+
--nc-yellow: #FFDA2C;
|
|
9
|
+
--nc-yellow-deep: #D4AF2C;
|
|
10
|
+
--nc-ink: #2D3261;
|
|
11
|
+
--nc-ink-deep: #1A1D3D;
|
|
12
|
+
--nc-muted: #75789A;
|
|
13
|
+
--nc-bg: #FFFFFF;
|
|
14
|
+
--nc-surface: #F7F8FA;
|
|
15
|
+
--nc-border: #E9EAF0;
|
|
16
|
+
--nc-success: #249F58;
|
|
17
|
+
--nc-danger: #F93939;
|
|
18
|
+
--nc-danger-2: #EF4444;
|
|
19
|
+
--font-sans: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
20
|
+
--font-display: "Clash Grotesk", "Inter", system-ui, sans-serif;
|
|
21
|
+
--font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
|
|
22
|
+
--shadow-xs: 0 1px 2px -1px rgba(26,26,26,.05);
|
|
23
|
+
--shadow-card: 0 1px 2px -1px rgba(26,26,26,.05), 0 10px 20px 0 rgba(26,26,26,.05);
|
|
24
|
+
--ease: cubic-bezier(.4,0,.2,1);
|
|
25
|
+
font-family: var(--font-sans);
|
|
26
|
+
color: var(--nc-ink);
|
|
27
|
+
font-size: 14px;
|
|
28
|
+
line-height: 20px;
|
|
29
|
+
-webkit-font-smoothing: antialiased;
|
|
30
|
+
}
|
|
31
|
+
.nc-bnpl-overlay {
|
|
32
|
+
position: fixed; inset: 0; z-index: 2147483600;
|
|
33
|
+
background:
|
|
34
|
+
radial-gradient(1200px 600px at 80% -10%, rgba(145,124,255,.10), transparent 60%),
|
|
35
|
+
radial-gradient(900px 500px at -10% 110%, rgba(255,218,44,.10), transparent 60%),
|
|
36
|
+
rgba(45,50,97,.42);
|
|
37
|
+
display: grid; place-items: center; padding: 24px; box-sizing: border-box;
|
|
38
|
+
animation: nc-fade-in .2s var(--ease);
|
|
39
|
+
}
|
|
40
|
+
.nc-bnpl-frame {
|
|
41
|
+
width: 440px; max-width: 100%;
|
|
42
|
+
height: min(760px, calc(100vh - 48px));
|
|
43
|
+
background: #fff;
|
|
44
|
+
border-radius: 24px;
|
|
45
|
+
border: 1px solid var(--nc-border);
|
|
46
|
+
box-shadow:
|
|
47
|
+
0 1px 2px -1px rgba(26,26,26,.06),
|
|
48
|
+
0 24px 60px -10px rgba(45,50,97,.35),
|
|
49
|
+
0 8px 16px 0 rgba(45,50,97,.10);
|
|
50
|
+
overflow: hidden;
|
|
51
|
+
display: flex; flex-direction: column;
|
|
52
|
+
position: relative; isolation: isolate;
|
|
53
|
+
animation: nc-pop .25s var(--ease);
|
|
54
|
+
}
|
|
55
|
+
@media (max-width: 540px) {
|
|
56
|
+
.nc-bnpl-overlay { padding: 0; }
|
|
57
|
+
.nc-bnpl-frame {
|
|
58
|
+
width: 100vw; height: 100vh;
|
|
59
|
+
border-radius: 0; border: none;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
.nc-bnpl-scroll { overflow-y: auto; overscroll-behavior: contain; }
|
|
63
|
+
.nc-bnpl-scroll::-webkit-scrollbar { width: 8px; }
|
|
64
|
+
.nc-bnpl-scroll::-webkit-scrollbar-thumb { background: rgba(45,50,97,.14); border-radius: 9999px; }
|
|
65
|
+
|
|
66
|
+
.nc-bnpl input, .nc-bnpl textarea, .nc-bnpl select, .nc-bnpl button { font-family: inherit; box-sizing: border-box; }
|
|
67
|
+
.nc-bnpl button { margin: 0; }
|
|
68
|
+
.nc-bnpl *, .nc-bnpl *::before, .nc-bnpl *::after { box-sizing: border-box; }
|
|
69
|
+
.nc-bnpl input[type="range"] { -webkit-appearance: none; appearance: none; background: transparent; }
|
|
70
|
+
|
|
71
|
+
.nc-bnpl .nc-range { width: 100%; height: 28px; }
|
|
72
|
+
.nc-bnpl .nc-range::-webkit-slider-runnable-track {
|
|
73
|
+
height: 6px; border-radius: 9999px;
|
|
74
|
+
background: linear-gradient(to right,
|
|
75
|
+
var(--nc-primary) 0%, var(--nc-primary) var(--p,50%),
|
|
76
|
+
var(--nc-border) var(--p,50%), var(--nc-border) 100%);
|
|
77
|
+
}
|
|
78
|
+
.nc-bnpl .nc-range::-moz-range-track {
|
|
79
|
+
height: 6px; border-radius: 9999px;
|
|
80
|
+
background: linear-gradient(to right,
|
|
81
|
+
var(--nc-primary) 0%, var(--nc-primary) var(--p,50%),
|
|
82
|
+
var(--nc-border) var(--p,50%), var(--nc-border) 100%);
|
|
83
|
+
}
|
|
84
|
+
.nc-bnpl .nc-range::-webkit-slider-thumb {
|
|
85
|
+
-webkit-appearance: none; appearance: none;
|
|
86
|
+
width: 22px; height: 22px; border-radius: 9999px;
|
|
87
|
+
background: #fff; border: 2px solid var(--nc-primary);
|
|
88
|
+
margin-top: -8px;
|
|
89
|
+
box-shadow: 0 2px 8px rgba(45,50,97,.18);
|
|
90
|
+
cursor: grab;
|
|
91
|
+
}
|
|
92
|
+
.nc-bnpl .nc-range::-moz-range-thumb {
|
|
93
|
+
width: 22px; height: 22px; border-radius: 9999px;
|
|
94
|
+
background: #fff; border: 2px solid var(--nc-primary);
|
|
95
|
+
box-shadow: 0 2px 8px rgba(45,50,97,.18);
|
|
96
|
+
cursor: grab;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@keyframes nc-fade-in { from { opacity: 0 } to { opacity: 1 } }
|
|
100
|
+
@keyframes nc-pop { from { opacity: 0; transform: translateY(8px) scale(.99) } to { opacity: 1; transform: none } }
|
|
101
|
+
@keyframes nc-fade-up { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: none } }
|
|
102
|
+
@keyframes nc-spin { to { transform: rotate(360deg) } }
|
|
103
|
+
@keyframes nc-pulse { 0%,100% { opacity: 1 } 50% { opacity: .55 } }
|
|
104
|
+
@keyframes nc-bob { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
|
|
105
|
+
@keyframes nc-ring { from { stroke-dashoffset: 360 } to { stroke-dashoffset: 0 } }
|
|
106
|
+
|
|
107
|
+
.nc-bnpl .nc-screen { animation: nc-fade-up .35s var(--ease) both; }
|
|
108
|
+
.nc-bnpl .nc-spinner {
|
|
109
|
+
border-radius: 9999px; border: 2px solid currentColor; border-top-color: transparent;
|
|
110
|
+
display: inline-block; animation: nc-spin .9s linear infinite; flex: none;
|
|
111
|
+
}
|
|
112
|
+
`;function Vn(n=document){if(n.getElementById(qn))return;let t=n.createElement("style");t.id=qn,t.textContent=Ct,n.head.appendChild(t)}var wt=(()=>{try{let n=typeof document<"u"&&document.currentScript?.src||"";return n?new URL(".",n).href.replace(/\/$/,""):null}catch{return null}})();function On(n){if(!n.publicKey)throw new Error("init: publicKey is required");if(!n.cart||!Array.isArray(n.cart.items))throw new Error("init: cart.items is required");Vn();let t,r=!1;if(n.container){if(t=typeof n.container=="string"?document.querySelector(n.container):n.container,!t)throw new Error("init: container not found")}else t=document.createElement("div"),document.body.appendChild(t),r=!0;t.classList.add("nc-bnpl");let o=new he({apiBase:n.apiBase}),a=(n.assetPrefix??wt)||null,i=!1,l=()=>{i||(i=!0,Te(null,t),r&&t.parentElement&&t.parentElement.removeChild(t))};return Te(we(Hn,{api:o,publicKey:n.publicKey,cart:n.cart,partnerPrefill:n.partnerPrefill??{},assetPrefix:a,onClose:()=>{try{n.onClose?.()}finally{l()}},onApprovalPending:n.onApprovalPending,onError:n.onError}),t),{close:l}}var Pt={init:On},Rt=Pt;return Gn(Tt);})();
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { BnplApi } from './api';
|
|
2
|
+
import type { ShellCtx, Dispatch, ScreenKey } from './shell';
|
|
3
|
+
import type { CustomerProfile } from './types';
|
|
4
|
+
export declare function Plan({ ctx, dispatch }: {
|
|
5
|
+
ctx: ShellCtx;
|
|
6
|
+
dispatch: Dispatch;
|
|
7
|
+
}): import("preact").JSX.Element;
|
|
8
|
+
export declare function Eligibility({ ctx, dispatch }: {
|
|
9
|
+
ctx: ShellCtx;
|
|
10
|
+
dispatch: Dispatch;
|
|
11
|
+
}): import("preact").JSX.Element;
|
|
12
|
+
export declare function Phone({ ctx, dispatch, api }: {
|
|
13
|
+
ctx: ShellCtx;
|
|
14
|
+
dispatch: Dispatch;
|
|
15
|
+
api: BnplApi;
|
|
16
|
+
}): import("preact").JSX.Element;
|
|
17
|
+
export declare function OTP({ ctx, dispatch, api }: {
|
|
18
|
+
ctx: ShellCtx;
|
|
19
|
+
dispatch: Dispatch;
|
|
20
|
+
api: BnplApi;
|
|
21
|
+
}): import("preact").JSX.Element;
|
|
22
|
+
export declare function Liveness({ ctx, dispatch, api, assetPrefix }: {
|
|
23
|
+
ctx: ShellCtx;
|
|
24
|
+
dispatch: Dispatch;
|
|
25
|
+
api: BnplApi;
|
|
26
|
+
assetPrefix: string | null;
|
|
27
|
+
}): import("preact").JSX.Element;
|
|
28
|
+
export declare function SummaryR({ ctx, dispatch, api }: {
|
|
29
|
+
ctx: ShellCtx;
|
|
30
|
+
dispatch: Dispatch;
|
|
31
|
+
api: BnplApi;
|
|
32
|
+
}): import("preact").JSX.Element;
|
|
33
|
+
export declare function FormN({ ctx, dispatch, api }: {
|
|
34
|
+
ctx: ShellCtx;
|
|
35
|
+
dispatch: Dispatch;
|
|
36
|
+
api: BnplApi;
|
|
37
|
+
}): import("preact").JSX.Element;
|
|
38
|
+
export declare function FaceMatch({ ctx, dispatch, api }: {
|
|
39
|
+
ctx: ShellCtx;
|
|
40
|
+
dispatch: Dispatch;
|
|
41
|
+
api: BnplApi;
|
|
42
|
+
}): import("preact").JSX.Element;
|
|
43
|
+
export declare function CreditCheck({ ctx, dispatch, api }: {
|
|
44
|
+
ctx: ShellCtx;
|
|
45
|
+
dispatch: Dispatch;
|
|
46
|
+
api: BnplApi;
|
|
47
|
+
}): import("preact").JSX.Element;
|
|
48
|
+
export declare function GoodCredit({ ctx, dispatch }: {
|
|
49
|
+
ctx: ShellCtx;
|
|
50
|
+
dispatch: Dispatch;
|
|
51
|
+
}): import("preact").JSX.Element;
|
|
52
|
+
export declare function Employment({ ctx, dispatch, api, prefill, returning }: {
|
|
53
|
+
ctx: ShellCtx;
|
|
54
|
+
dispatch: Dispatch;
|
|
55
|
+
api: BnplApi;
|
|
56
|
+
prefill?: CustomerProfile | null;
|
|
57
|
+
returning?: boolean;
|
|
58
|
+
}): import("preact").JSX.Element;
|
|
59
|
+
export declare function Mono({ ctx, dispatch, api }: {
|
|
60
|
+
ctx: ShellCtx;
|
|
61
|
+
dispatch: Dispatch;
|
|
62
|
+
api: BnplApi;
|
|
63
|
+
}): import("preact").JSX.Element;
|
|
64
|
+
export declare function Pending({ ctx, dispatch, api, onApprovalPending }: {
|
|
65
|
+
ctx: ShellCtx;
|
|
66
|
+
dispatch: Dispatch;
|
|
67
|
+
api: BnplApi;
|
|
68
|
+
onApprovalPending?: (id: string) => void;
|
|
69
|
+
}): import("preact").JSX.Element;
|
|
70
|
+
export declare function Exit({ exitKey, ctx, dispatch }: {
|
|
71
|
+
exitKey: ScreenKey;
|
|
72
|
+
ctx: ShellCtx;
|
|
73
|
+
dispatch: Dispatch;
|
|
74
|
+
}): import("preact").JSX.Element;
|
|
75
|
+
export declare function Closed({ ctx, dispatch }: {
|
|
76
|
+
ctx: ShellCtx;
|
|
77
|
+
dispatch: Dispatch;
|
|
78
|
+
}): import("preact").JSX.Element;
|
package/dist/shell.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { BnplApi } from './api';
|
|
2
|
+
import type { Cart, PartnerPrefill, MerchantInfo, SessionConfig, Bank, CustomerStatus } from './types';
|
|
3
|
+
export type ScreenKey = 'boot' | 'plan' | 'eligibility' | 'phone' | 'otp' | 'liveness' | 'summary-r' | 'form-n' | 'face-match' | 'credit-check' | 'good-credit' | 'employment' | 'mono' | 'pending' | 'closed' | 'exit-not-employed' | 'exit-no-salary-acct' | 'exit-bank-unsupported' | 'exit-otp-locked' | 'exit-liveness-failed' | 'exit-credit-decline' | 'exit-bvn-cant-offer' | 'exit-face-mismatch' | 'exit-mono-failed' | 'exit-error';
|
|
4
|
+
export interface ShellCtx {
|
|
5
|
+
cart: Cart;
|
|
6
|
+
partnerPrefill: PartnerPrefill;
|
|
7
|
+
merchant: MerchantInfo;
|
|
8
|
+
config: SessionConfig;
|
|
9
|
+
banks: Bank[];
|
|
10
|
+
financed?: number;
|
|
11
|
+
tenure?: number;
|
|
12
|
+
perInstall?: number;
|
|
13
|
+
totalRepay?: number;
|
|
14
|
+
charges?: number;
|
|
15
|
+
payToday?: number;
|
|
16
|
+
phone?: string;
|
|
17
|
+
customerStatus?: CustomerStatus;
|
|
18
|
+
pii?: {
|
|
19
|
+
firstName: string;
|
|
20
|
+
lastName: string;
|
|
21
|
+
email: string;
|
|
22
|
+
bvn: string;
|
|
23
|
+
};
|
|
24
|
+
applicationId?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface Dispatch {
|
|
27
|
+
go: (next: ScreenKey) => void;
|
|
28
|
+
update: (patch: Partial<ShellCtx>) => void;
|
|
29
|
+
close: () => void;
|
|
30
|
+
fail: (err: Error) => void;
|
|
31
|
+
}
|
|
32
|
+
export interface ShellProps {
|
|
33
|
+
api: BnplApi;
|
|
34
|
+
publicKey: string;
|
|
35
|
+
cart: Cart;
|
|
36
|
+
partnerPrefill: PartnerPrefill;
|
|
37
|
+
assetPrefix: string | null;
|
|
38
|
+
onClose: () => void;
|
|
39
|
+
onApprovalPending?: (applicationId: string) => void;
|
|
40
|
+
onError?: (err: Error) => void;
|
|
41
|
+
}
|
|
42
|
+
export declare function App(props: ShellProps): import("preact").JSX.Element;
|
package/dist/styles.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const CSS = "\n.nc-bnpl {\n --nc-primary: #917CFF;\n --nc-primary-strong: #9747FF;\n --nc-primary-soft: #B5A8FC;\n --nc-primary-wash: #F0EDFF;\n --nc-vault: #1A47B8;\n --nc-yellow: #FFDA2C;\n --nc-yellow-deep: #D4AF2C;\n --nc-ink: #2D3261;\n --nc-ink-deep: #1A1D3D;\n --nc-muted: #75789A;\n --nc-bg: #FFFFFF;\n --nc-surface: #F7F8FA;\n --nc-border: #E9EAF0;\n --nc-success: #249F58;\n --nc-danger: #F93939;\n --nc-danger-2: #EF4444;\n --font-sans: \"Geist\", \"Inter\", system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\n --font-display: \"Clash Grotesk\", \"Inter\", system-ui, sans-serif;\n --font-mono: \"DM Mono\", ui-monospace, \"SF Mono\", Menlo, monospace;\n --shadow-xs: 0 1px 2px -1px rgba(26,26,26,.05);\n --shadow-card: 0 1px 2px -1px rgba(26,26,26,.05), 0 10px 20px 0 rgba(26,26,26,.05);\n --ease: cubic-bezier(.4,0,.2,1);\n font-family: var(--font-sans);\n color: var(--nc-ink);\n font-size: 14px;\n line-height: 20px;\n -webkit-font-smoothing: antialiased;\n}\n.nc-bnpl-overlay {\n position: fixed; inset: 0; z-index: 2147483600;\n background:\n radial-gradient(1200px 600px at 80% -10%, rgba(145,124,255,.10), transparent 60%),\n radial-gradient(900px 500px at -10% 110%, rgba(255,218,44,.10), transparent 60%),\n rgba(45,50,97,.42);\n display: grid; place-items: center; padding: 24px; box-sizing: border-box;\n animation: nc-fade-in .2s var(--ease);\n}\n.nc-bnpl-frame {\n width: 440px; max-width: 100%;\n height: min(760px, calc(100vh - 48px));\n background: #fff;\n border-radius: 24px;\n border: 1px solid var(--nc-border);\n box-shadow:\n 0 1px 2px -1px rgba(26,26,26,.06),\n 0 24px 60px -10px rgba(45,50,97,.35),\n 0 8px 16px 0 rgba(45,50,97,.10);\n overflow: hidden;\n display: flex; flex-direction: column;\n position: relative; isolation: isolate;\n animation: nc-pop .25s var(--ease);\n}\n@media (max-width: 540px) {\n .nc-bnpl-overlay { padding: 0; }\n .nc-bnpl-frame {\n width: 100vw; height: 100vh;\n border-radius: 0; border: none;\n }\n}\n.nc-bnpl-scroll { overflow-y: auto; overscroll-behavior: contain; }\n.nc-bnpl-scroll::-webkit-scrollbar { width: 8px; }\n.nc-bnpl-scroll::-webkit-scrollbar-thumb { background: rgba(45,50,97,.14); border-radius: 9999px; }\n\n.nc-bnpl input, .nc-bnpl textarea, .nc-bnpl select, .nc-bnpl button { font-family: inherit; box-sizing: border-box; }\n.nc-bnpl button { margin: 0; }\n.nc-bnpl *, .nc-bnpl *::before, .nc-bnpl *::after { box-sizing: border-box; }\n.nc-bnpl input[type=\"range\"] { -webkit-appearance: none; appearance: none; background: transparent; }\n\n.nc-bnpl .nc-range { width: 100%; height: 28px; }\n.nc-bnpl .nc-range::-webkit-slider-runnable-track {\n height: 6px; border-radius: 9999px;\n background: linear-gradient(to right,\n var(--nc-primary) 0%, var(--nc-primary) var(--p,50%),\n var(--nc-border) var(--p,50%), var(--nc-border) 100%);\n}\n.nc-bnpl .nc-range::-moz-range-track {\n height: 6px; border-radius: 9999px;\n background: linear-gradient(to right,\n var(--nc-primary) 0%, var(--nc-primary) var(--p,50%),\n var(--nc-border) var(--p,50%), var(--nc-border) 100%);\n}\n.nc-bnpl .nc-range::-webkit-slider-thumb {\n -webkit-appearance: none; appearance: none;\n width: 22px; height: 22px; border-radius: 9999px;\n background: #fff; border: 2px solid var(--nc-primary);\n margin-top: -8px;\n box-shadow: 0 2px 8px rgba(45,50,97,.18);\n cursor: grab;\n}\n.nc-bnpl .nc-range::-moz-range-thumb {\n width: 22px; height: 22px; border-radius: 9999px;\n background: #fff; border: 2px solid var(--nc-primary);\n box-shadow: 0 2px 8px rgba(45,50,97,.18);\n cursor: grab;\n}\n\n@keyframes nc-fade-in { from { opacity: 0 } to { opacity: 1 } }\n@keyframes nc-pop { from { opacity: 0; transform: translateY(8px) scale(.99) } to { opacity: 1; transform: none } }\n@keyframes nc-fade-up { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: none } }\n@keyframes nc-spin { to { transform: rotate(360deg) } }\n@keyframes nc-pulse { 0%,100% { opacity: 1 } 50% { opacity: .55 } }\n@keyframes nc-bob { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }\n@keyframes nc-ring { from { stroke-dashoffset: 360 } to { stroke-dashoffset: 0 } }\n\n.nc-bnpl .nc-screen { animation: nc-fade-up .35s var(--ease) both; }\n.nc-bnpl .nc-spinner {\n border-radius: 9999px; border: 2px solid currentColor; border-top-color: transparent;\n display: inline-block; animation: nc-spin .9s linear infinite; flex: none;\n}\n";
|
|
2
|
+
export declare function injectStyles(doc?: Document): void;
|