@1interface/chat-shell 0.9.7 → 0.9.8-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PaymentProviderHost-DPdALIgX.js +1 -0
- package/dist/PaymentProviderHost-WgfTaftk.cjs +1 -0
- package/dist/chat-shell.css +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/native/payment/adapters/HostedPaymentPageAdapter.js +1 -1
- package/native/payment/adapters/hostedPaymentPage/HostedPaymentPageIframe.js +1 -1
- package/native/payment/adapters/hostedPaymentPage/HostedPaymentSettlementFlow.js +1 -0
- package/native/payment/adapters/hostedPaymentPage/HostedPaymentStatusBar.js +8 -0
- package/native/payment/adapters/hostedPaymentPage/stripStates.js +1 -0
- package/native/payment/adapters/injectStyleOnce.js +1 -0
- package/native/payment/adapters/moyasar/ApplePayButton.js +2 -2
- package/package.json +6 -6
- package/dist/PaymentProviderHost-B74WLlCz.js +0 -1
- package/dist/PaymentProviderHost-BPAFq3Ik.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import r,{forwardRef as o,createElement as a,useState as i,useRef as s,useCallback as c,useMemo as l,createContext as u,useContext as d,useEffect as p,useLayoutEffect as f}from"react";import{buildBrandSkin as m,parseMoyasarCallbackFromUrl as y,buildCallbackUrl as h,useLatestRef as g,buildHostedPaymentResult as v,HOSTED_PAYMENT_PAGE_STATUSES as b,buildHostedPaymentPageThemeMessage as w,isHostedPaymentPageCallbackMessage as x,HOSTED_PAYMENT_PAGE_CALLBACK_ACTIONS as S,parseHostedPaymentPageCallback as E,resolveHostedPaymentCharge as C,useHostedPaymentSettlement as k,formatAmount as P,shouldPollForSettlement as O,DEFAULT_PAYMENT_PROVIDER as _}from"@1interface/chat-core";import{useBranding as j,showErrorToast as N,logger as A,getPaymentProviderHint as I}from"@1interface/shared-core";const T=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},M=(...e)=>e.filter((e,t,n)=>Boolean(e)&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim(),F=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var R={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const $=o(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:i,iconNode:s,...c},l)=>a("svg",{ref:l,...R,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:M("lucide",o),...!i&&!F(c)&&{"aria-hidden":"true"},...c},[...s.map(([e,t])=>a(e,t)),...Array.isArray(i)?i:[i]])),D=((e,t)=>{const n=o(({className:n,...r},o)=>{return a($,{ref:o,iconNode:t,className:M(`lucide-${i=T(e),i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,n),...r});var i});return n.displayName=T(e),n})("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);function V(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var L,B,z,U,q,W,Y,H,J,K,X,Z,G,Q,ee,te,ne={exports:{}},re={exports:{}},oe={},ae={};function ie(){return z||(z=1,re.exports="production"===process.env.NODE_ENV?function(){if(L)return oe;L=1;var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,l=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,d=e?Symbol.for("react.suspense"):60113,p=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,y=e?Symbol.for("react.block"):60121,h=e?Symbol.for("react.fundamental"):60117,g=e?Symbol.for("react.responder"):60118,v=e?Symbol.for("react.scope"):60119;function b(e){if("object"==typeof e&&null!==e){var p=e.$$typeof;switch(p){case t:switch(e=e.type){case c:case l:case r:case a:case o:case d:return e;default:switch(e=e&&e.$$typeof){case s:case u:case m:case f:case i:return e;default:return p}}case n:return p}}}function w(e){return b(e)===l}return oe.AsyncMode=c,oe.ConcurrentMode=l,oe.ContextConsumer=s,oe.ContextProvider=i,oe.Element=t,oe.ForwardRef=u,oe.Fragment=r,oe.Lazy=m,oe.Memo=f,oe.Portal=n,oe.Profiler=a,oe.StrictMode=o,oe.Suspense=d,oe.isAsyncMode=function(e){return w(e)||b(e)===c},oe.isConcurrentMode=w,oe.isContextConsumer=function(e){return b(e)===s},oe.isContextProvider=function(e){return b(e)===i},oe.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},oe.isForwardRef=function(e){return b(e)===u},oe.isFragment=function(e){return b(e)===r},oe.isLazy=function(e){return b(e)===m},oe.isMemo=function(e){return b(e)===f},oe.isPortal=function(e){return b(e)===n},oe.isProfiler=function(e){return b(e)===a},oe.isStrictMode=function(e){return b(e)===o},oe.isSuspense=function(e){return b(e)===d},oe.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===l||e===a||e===o||e===d||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===f||e.$$typeof===i||e.$$typeof===s||e.$$typeof===u||e.$$typeof===h||e.$$typeof===g||e.$$typeof===v||e.$$typeof===y)},oe.typeOf=b,oe}():(B||(B=1,"production"!==process.env.NODE_ENV&&function(){var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,l=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,d=e?Symbol.for("react.suspense"):60113,p=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,y=e?Symbol.for("react.block"):60121,h=e?Symbol.for("react.fundamental"):60117,g=e?Symbol.for("react.responder"):60118,v=e?Symbol.for("react.scope"):60119;function b(e){if("object"==typeof e&&null!==e){var p=e.$$typeof;switch(p){case t:var y=e.type;switch(y){case c:case l:case r:case a:case o:case d:return y;default:var h=y&&y.$$typeof;switch(h){case s:case u:case m:case f:case i:return h;default:return p}}case n:return p}}}var w=l,x=s,S=i,E=t,C=u,k=r,P=m,O=f,_=n,j=a,N=o,A=d,I=!1;function T(e){return b(e)===l}ae.AsyncMode=c,ae.ConcurrentMode=w,ae.ContextConsumer=x,ae.ContextProvider=S,ae.Element=E,ae.ForwardRef=C,ae.Fragment=k,ae.Lazy=P,ae.Memo=O,ae.Portal=_,ae.Profiler=j,ae.StrictMode=N,ae.Suspense=A,ae.isAsyncMode=function(e){return I||(I=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),T(e)||b(e)===c},ae.isConcurrentMode=T,ae.isContextConsumer=function(e){return b(e)===s},ae.isContextProvider=function(e){return b(e)===i},ae.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},ae.isForwardRef=function(e){return b(e)===u},ae.isFragment=function(e){return b(e)===r},ae.isLazy=function(e){return b(e)===m},ae.isMemo=function(e){return b(e)===f},ae.isPortal=function(e){return b(e)===n},ae.isProfiler=function(e){return b(e)===a},ae.isStrictMode=function(e){return b(e)===o},ae.isSuspense=function(e){return b(e)===d},ae.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===l||e===a||e===o||e===d||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===f||e.$$typeof===i||e.$$typeof===s||e.$$typeof===u||e.$$typeof===h||e.$$typeof===g||e.$$typeof===v||e.$$typeof===y)},ae.typeOf=b}()),ae)),re.exports}function se(){return Y?W:(Y=1,W="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}function ce(){return J?H:(J=1,H=Function.call.bind(Object.prototype.hasOwnProperty))}function le(){if(X)return K;X=1;var e=function(){};if("production"!==process.env.NODE_ENV){var t=se(),n={},r=ce();e=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}}function o(o,a,i,s,c){if("production"!==process.env.NODE_ENV)for(var l in o)if(r(o,l)){var u;try{if("function"!=typeof o[l]){var d=Error((s||"React class")+": "+i+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[l]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw d.name="Invariant Violation",d}u=o[l](a,l,s,i,null,t)}catch(e){u=e}if(!u||u instanceof Error||e((s||"React class")+": type specification of "+i+" `"+l+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof u+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error&&!(u.message in n)){n[u.message]=!0;var p=c?c():"";e("Failed "+i+" type: "+u.message+(null!=p?p:""))}}}return o.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(n={})},K=o}function ue(){if(G)return Z;G=1;var e=ie(),t=function(){if(q)return U;q=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;return U=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(r,o){for(var a,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(r),c=1;c<arguments.length;c++){for(var l in a=Object(arguments[c]))t.call(a,l)&&(s[l]=a[l]);if(e){i=e(a);for(var u=0;u<i.length;u++)n.call(a,i[u])&&(s[i[u]]=a[i[u]])}}return s},U}(),n=se(),r=ce(),o=le(),a=function(){};function i(){return null}return"production"!==process.env.NODE_ENV&&(a=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}),Z=function(s,c){var l="function"==typeof Symbol&&Symbol.iterator,u="<<anonymous>>",d={array:y("array"),bigint:y("bigint"),bool:y("boolean"),func:y("function"),number:y("number"),object:y("object"),string:y("string"),symbol:y("symbol"),any:m(i),arrayOf:function(e){return m(function(t,r,o,a,i){if("function"!=typeof e)return new f("Property `"+i+"` of component `"+o+"` has invalid PropType notation inside arrayOf.");var s=t[r];if(!Array.isArray(s))return new f("Invalid "+a+" `"+i+"` of type `"+v(s)+"` supplied to `"+o+"`, expected an array.");for(var c=0;c<s.length;c++){var l=e(s,c,o,a,i+"["+c+"]",n);if(l instanceof Error)return l}return null})},element:m(function(e,t,n,r,o){var a=e[t];return s(a)?null:new f("Invalid "+r+" `"+o+"` of type `"+v(a)+"` supplied to `"+n+"`, expected a single ReactElement.")}),elementType:m(function(t,n,r,o,a){var i=t[n];return e.isValidElementType(i)?null:new f("Invalid "+o+" `"+a+"` of type `"+v(i)+"` supplied to `"+r+"`, expected a single ReactElement type.")}),instanceOf:function(e){return m(function(t,n,r,o,a){return t[n]instanceof e?null:new f("Invalid "+o+" `"+a+"` of type `"+((i=t[n]).constructor&&i.constructor.name?i.constructor.name:u)+"` supplied to `"+r+"`, expected instance of `"+(e.name||u)+"`.");var i})},node:m(function(e,t,n,r,o){return g(e[t])?null:new f("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}),objectOf:function(e){return m(function(t,o,a,i,s){if("function"!=typeof e)return new f("Property `"+s+"` of component `"+a+"` has invalid PropType notation inside objectOf.");var c=t[o],l=v(c);if("object"!==l)return new f("Invalid "+i+" `"+s+"` of type `"+l+"` supplied to `"+a+"`, expected an object.");for(var u in c)if(r(c,u)){var d=e(c,u,a,i,s+"."+u,n);if(d instanceof Error)return d}return null})},oneOf:function(e){return Array.isArray(e)?m(function(t,n,r,o,a){for(var i=t[n],s=0;s<e.length;s++)if(p(i,e[s]))return null;var c=JSON.stringify(e,function(e,t){return"symbol"===b(t)?String(t):t});return new f("Invalid "+o+" `"+a+"` of value `"+String(i)+"` supplied to `"+r+"`, expected one of "+c+".")}):("production"!==process.env.NODE_ENV&&a(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),i)},oneOfType:function(e){if(!Array.isArray(e))return"production"!==process.env.NODE_ENV&&a("Invalid argument supplied to oneOfType, expected an instance of array."),i;for(var t=0;t<e.length;t++){var o=e[t];if("function"!=typeof o)return a("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+w(o)+" at index "+t+"."),i}return m(function(t,o,a,i,s){for(var c=[],l=0;l<e.length;l++){var u=(0,e[l])(t,o,a,i,s,n);if(null==u)return null;u.data&&r(u.data,"expectedType")&&c.push(u.data.expectedType)}return new f("Invalid "+i+" `"+s+"` supplied to `"+a+"`"+(c.length>0?", expected one of type ["+c.join(", ")+"]":"")+".")})},shape:function(e){return m(function(t,r,o,a,i){var s=t[r],c=v(s);if("object"!==c)return new f("Invalid "+a+" `"+i+"` of type `"+c+"` supplied to `"+o+"`, expected `object`.");for(var l in e){var u=e[l];if("function"!=typeof u)return h(o,a,i,l,b(u));var d=u(s,l,o,a,i+"."+l,n);if(d)return d}return null})},exact:function(e){return m(function(o,a,i,s,c){var l=o[a],u=v(l);if("object"!==u)return new f("Invalid "+s+" `"+c+"` of type `"+u+"` supplied to `"+i+"`, expected `object`.");var d=t({},o[a],e);for(var p in d){var m=e[p];if(r(e,p)&&"function"!=typeof m)return h(i,s,c,p,b(m));if(!m)return new f("Invalid "+s+" `"+c+"` key `"+p+"` supplied to `"+i+"`.\nBad object: "+JSON.stringify(o[a],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var y=m(l,p,i,s,c+"."+p,n);if(y)return y}return null})}};function p(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function f(e,t){this.message=e,this.data=t&&"object"==typeof t?t:{},this.stack=""}function m(e){if("production"!==process.env.NODE_ENV)var t={},r=0;function o(o,i,s,l,d,p,m){if(l=l||u,p=p||s,m!==n){if(c){var y=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw y.name="Invariant Violation",y}if("production"!==process.env.NODE_ENV&&"undefined"!=typeof console){var h=l+":"+s;!t[h]&&r<3&&(a("You are manually calling a React.PropTypes validation function for the `"+p+"` prop on `"+l+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),t[h]=!0,r++)}}return null==i[s]?o?new f(null===i[s]?"The "+d+" `"+p+"` is marked as required in `"+l+"`, but its value is `null`.":"The "+d+" `"+p+"` is marked as required in `"+l+"`, but its value is `undefined`."):null:e(i,s,l,d,p)}var i=o.bind(null,!1);return i.isRequired=o.bind(null,!0),i}function y(e){return m(function(t,n,r,o,a,i){var s=t[n];return v(s)!==e?new f("Invalid "+o+" `"+a+"` of type `"+b(s)+"` supplied to `"+r+"`, expected `"+e+"`.",{expectedType:e}):null})}function h(e,t,n,r,o){return new f((e||"React class")+": "+t+" type `"+n+"."+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+o+"`.")}function g(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(g);if(null===e||s(e))return!0;var t=function(e){var t=e&&(l&&e[l]||e["@@iterator"]);if("function"==typeof t)return t}(e);if(!t)return!1;var n,r=t.call(e);if(t!==e.entries){for(;!(n=r.next()).done;)if(!g(n.value))return!1}else for(;!(n=r.next()).done;){var o=n.value;if(o&&!g(o[1]))return!1}return!0;default:return!1}}function v(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}(t,e)?"symbol":t}function b(e){if(null==e)return""+e;var t=v(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function w(e){var t=b(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return f.prototype=Error.prototype,d.checkPropTypes=o,d.resetWarningCache=o.resetWarningCache,d.PropTypes=d,d},Z}function de(){if(ee)return Q;ee=1;var e=se();function t(){}function n(){}return n.resetWarningCache=t,Q=function(){function r(t,n,r,o,a,i){if(i!==e){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function o(){return r}r.isRequired=r;var a={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:o,element:r,elementType:r,instanceOf:o,node:r,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return a.PropTypes=a,a}}function pe(){if(te)return ne.exports;if(te=1,"production"!==process.env.NODE_ENV){var e=ie();ne.exports=ue()(e.isElement,!0)}else ne.exports=de()();return ne.exports}const fe=V(pe());function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ye(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?me(Object(n),!0).forEach(function(t){ge(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function he(e){return(he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ve(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var r,o,a=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(s)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return be(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?be(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function be(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var we=function(e,t,n){var o=!!n,a=r.useRef(n);r.useEffect(function(){a.current=n},[n]),r.useEffect(function(){if(!o||!e)return function(){};var n=function(){a.current&&a.current.apply(a,arguments)};return e.on(t,n),function(){e.off(t,n)}},[o,t,e,a])},xe=function(e){var t=r.useRef(e);return r.useEffect(function(){t.current=e},[e]),t.current},Se=function(e){return null!==e&&"object"===he(e)},Ee="[object Object]",Ce=function e(t,n){if(!Se(t)||!Se(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var o=Object.prototype.toString.call(t)===Ee;if(o!==(Object.prototype.toString.call(n)===Ee))return!1;if(!o&&!r)return t===n;var a=Object.keys(t),i=Object.keys(n);if(a.length!==i.length)return!1;for(var s={},c=0;c<a.length;c+=1)s[a[c]]=!0;for(var l=0;l<i.length;l+=1)s[i[l]]=!0;var u=Object.keys(s);if(u.length!==a.length)return!1;var d=t,p=n;return u.every(function(t){return e(d[t],p[t])})},ke=function(e,t,n){return Se(e)?Object.keys(e).reduce(function(r,o){var a=!Se(t)||!Ce(e[o],t[o]);return n.includes(o)?(a&&console.warn("Unsupported prop change: options.".concat(o," is not a mutable property.")),r):a?ye(ye({},r||{}),{},ge({},o,e[o])):r},null):null},Pe="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",Oe=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pe;if(null===e||Se(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;throw new Error(n)},_e=r.createContext(null);_e.displayName="ElementsContext";var je=function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e},Ne=function(e){var t=e.stripe,n=e.options,o=e.children,a=r.useMemo(function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pe;if(function(e){return Se(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(function(e){return Oe(e,t)})};var n=Oe(e,t);return null===n?{tag:"empty"}:{tag:"sync",stripe:n}}(t)},[t]),i=ve(r.useState(function(){return{stripe:"sync"===a.tag?a.stripe:null,elements:"sync"===a.tag?a.stripe.elements(n):null}}),2),s=i[0],c=i[1];r.useEffect(function(){var e=!0,t=function(e){c(function(t){return t.stripe?t:{stripe:e,elements:e.elements(n)}})};return"async"!==a.tag||s.stripe?"sync"!==a.tag||s.stripe||t(a.stripe):a.stripePromise.then(function(n){n&&e&&t(n)}),function(){e=!1}},[a,s,n]);var l=xe(t);r.useEffect(function(){null!==l&&l!==t&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[l,t]);var u=xe(n);return r.useEffect(function(){if(s.elements){var e=ke(n,u,["clientSecret","fonts"]);e&&s.elements.update(e)}},[n,u,s.elements]),r.useEffect(function(){var e;(e=s.stripe)&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"3.10.0"}),e.registerAppInfo({name:"react-stripe-js",version:"3.10.0",url:"https://stripe.com/docs/stripe-js/react"}))},[s.stripe]),r.createElement(_e.Provider,{value:s},o)};Ne.propTypes={stripe:fe.any,options:fe.object};var Ae=r.createContext(null);Ae.displayName="CheckoutSdkContext",r.createContext(null).displayName="CheckoutContext",fe.shape({fetchClientSecret:fe.func.isRequired,elementsOptions:fe.object});var Ie=function(e){var t=r.useContext(Ae),n=r.useContext(_e);if(t&&n)throw new Error("You cannot wrap the part of your app that ".concat(e," in both <CheckoutProvider> and <Elements> providers."));return t?function(e,t){if(!e)throw new Error("Could not find CheckoutProvider context; You need to wrap the part of your app that ".concat(t," in an <CheckoutProvider> provider."));return e}(t,e):je(n,e)},Te=["mode"],Me=function(e,t){var n,o="".concat((n=e).charAt(0).toUpperCase()+n.slice(1),"Element"),a=t?function(e){return Ie("mounts <".concat(o,">")),r.createElement("div",{id:e.id,className:e.className})}:function(t){var n,a=t.id,i=t.className,s=t.options,c=void 0===s?{}:s,l=t.onBlur,u=t.onFocus,d=t.onReady,p=t.onChange,f=t.onEscape,m=t.onClick,y=t.onLoadError,h=t.onLoaderStart,g=t.onNetworksChange,v=t.onConfirm,b=t.onCancel,w=t.onShippingAddressChange,x=t.onShippingRateChange,S=t.onSavedPaymentMethodRemove,E=t.onSavedPaymentMethodUpdate,C=Ie("mounts <".concat(o,">")),k="elements"in C?C.elements:null,P="checkoutSdk"in C?C.checkoutSdk:null,O=ve(r.useState(null),2),_=O[0],j=O[1],N=r.useRef(null),A=r.useRef(null);we(_,"blur",l),we(_,"focus",u),we(_,"escape",f),we(_,"click",m),we(_,"loaderror",y),we(_,"loaderstart",h),we(_,"networkschange",g),we(_,"confirm",v),we(_,"cancel",b),we(_,"shippingaddresschange",w),we(_,"shippingratechange",x),we(_,"savedpaymentmethodremove",S),we(_,"savedpaymentmethodupdate",E),we(_,"change",p),d&&(n="expressCheckout"===e?d:function(){d(_)}),we(_,"ready",n),r.useLayoutEffect(function(){if(null===N.current&&null!==A.current&&(k||P)){var t=null;if(P)switch(e){case"payment":t=P.createPaymentElement(c);break;case"address":if(!("mode"in c))throw new Error("You must supply options.mode. mode must be 'billing' or 'shipping'.");var n=c.mode,r=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(c,Te);if("shipping"===n)t=P.createShippingAddressElement(r);else{if("billing"!==n)throw new Error("Invalid options.mode. mode must be 'billing' or 'shipping'.");t=P.createBillingAddressElement(r)}break;case"expressCheckout":t=P.createExpressCheckoutElement(c);break;case"currencySelector":t=P.createCurrencySelectorElement();break;case"taxId":t=P.createTaxIdElement(c);break;default:throw new Error("Invalid Element type ".concat(o,". You must use either the <PaymentElement />, <AddressElement options={{mode: 'shipping'}} />, <AddressElement options={{mode: 'billing'}} />, or <ExpressCheckoutElement />."))}else k&&(t=k.create(e,c));N.current=t,j(t),t&&t.mount(A.current)}},[k,P,c]);var I=xe(c);return r.useEffect(function(){if(N.current){var e=ke(c,I,["paymentRequest"]);e&&"update"in N.current&&N.current.update(e)}},[c,I]),r.useLayoutEffect(function(){return function(){if(N.current&&"function"==typeof N.current.destroy)try{N.current.destroy(),N.current=null}catch(e){}}},[]),r.createElement("div",{id:a,className:i,ref:A})};return a.propTypes={id:fe.string,className:fe.string,onChange:fe.func,onBlur:fe.func,onFocus:fe.func,onReady:fe.func,onEscape:fe.func,onClick:fe.func,onLoadError:fe.func,onLoaderStart:fe.func,onNetworksChange:fe.func,onConfirm:fe.func,onCancel:fe.func,onShippingAddressChange:fe.func,onShippingRateChange:fe.func,onSavedPaymentMethodRemove:fe.func,onSavedPaymentMethodUpdate:fe.func,options:fe.object},a.displayName=o,a.__elementType=e,a},Fe="undefined"==typeof window;r.createContext(null).displayName="EmbeddedCheckoutProviderContext",Me("auBankAccount",Fe),Me("card",Fe),Me("cardNumber",Fe),Me("cardExpiry",Fe),Me("cardCvc",Fe),Me("fpxBank",Fe),Me("iban",Fe),Me("idealBank",Fe),Me("p24Bank",Fe),Me("epsBank",Fe);var Re=Me("payment",Fe);Me("expressCheckout",Fe),Me("currencySelector",Fe),Me("paymentRequestButton",Fe),Me("linkAuthentication",Fe),Me("address",Fe),Me("shippingAddress",Fe),Me("paymentMethodMessaging",Fe),Me("affirmMessage",Fe),Me("afterpayClearpayMessage",Fe),Me("taxId",Fe);const $e=u(null),De=({onResult:t,children:n})=>{const[r,o]=i(null),[a,u]=i(null),d=s(t);d.current=t;const p=c(e=>{d.current(e)},[]),f=c(e=>{o(e)},[]),m=c(e=>{u(e)},[]),y=l(()=>({emitResult:p,registerConfirm:f,confirmHandle:r,reportSummary:m,summary:a}),[p,f,r,m,a]);return e($e.Provider,{value:y,children:n})},Ve=()=>{const e=d($e);if(!e)throw new Error("Payment result channel hooks must be used inside PaymentResultChannelProvider");return e},Le=()=>Ve().emitResult,Be=()=>Ve().registerConfirm,ze=()=>Ve().reportSummary;function Ue(e){return(Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var qe,We="https://js.stripe.com/v3",Ye=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,He="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",Je=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(We).concat(t);var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return r.appendChild(n),n},Ke=null,Xe=null,Ze=null,Ge=function(e){var t="invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ".concat(JSON.stringify(e),"\n");if(null===e||"object"!==Ue(e))throw new Error(t);if(1===Object.keys(e).length&&"boolean"==typeof e.advancedFraudSignals)return e;throw new Error(t)},Qe=!1,et=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];Qe=!0;var r,o=Date.now();return(r=qe,null!==Ke?Ke:(Ke=new Promise(function(e,t){if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&r&&console.warn(He),window.Stripe)e(window.Stripe);else try{var n=function(){for(var e=document.querySelectorAll('script[src^="'.concat(We,'"]')),t=0;t<e.length;t++){var n=e[t];if(Ye.test(n.src))return n}return null}();if(n&&r)console.warn(He);else if(n){if(n&&null!==Ze&&null!==Xe){var o;n.removeEventListener("load",Ze),n.removeEventListener("error",Xe),null===(o=n.parentNode)||void 0===o||o.removeChild(n),n=Je(r)}}else n=Je(r);Ze=function(e,t){return function(){window.Stripe?e(window.Stripe):t(new Error("Stripe.js not available"))}}(e,t),Xe=function(e){return function(){e(new Error("Failed to load Stripe.js"))}}(t),n.addEventListener("load",Ze),n.addEventListener("error",Xe)}catch(e){return void t(e)}else e(null)})).catch(function(e){return Ke=null,Promise.reject(e)})).then(function(e){return function(e,t,n){if(null===e)return null;var r=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"4.6.0",startTime:t})}(r,n),r}(e,t,o)})};et.setLoadParameters=function(e){if(Qe&&qe){var t=Ge(e);if(Object.keys(t).reduce(function(t,n){var r;return t&&e[n]===(null===(r=qe)||void 0===r?void 0:r[n])},!0))return}if(Qe)throw new Error("You cannot change load parameters after calling loadStripe");qe=Ge(e)};const tt=u(null),nt=({onReady:t})=>{const n=Ie("calls useStripe()").stripe,o=(y=r.useContext(_e),je(y,"calls useElements()")).elements,{paymentInit:a}=Wn(),s=Le(),l=Be(),u=ze(),[d,f]=i(!1),m="stripe"===a?.provider?a.config.client_secret:null;var y;p(()=>{if(!n||!m)return;let e=!1;return n.retrievePaymentIntent(m).then(t=>{if(e)return;const n=t.paymentIntent;n&&"number"==typeof n.amount&&n.currency&&u({amount:n.amount,currency:n.currency})}),()=>{e=!0}},[n,m,u]);const h=c(async()=>{if(!n||!o||!m)return;f(!0);const{error:e}=await o.submit();if(e)return void f(!1);const{error:t,paymentIntent:r}=await n.confirmPayment({elements:o,clientSecret:m,confirmParams:{return_url:window.location.href},redirect:"if_required"});f(!1),t||!r||"succeeded"!==r.status&&"requires_capture"!==r.status||s({status:"success",provider:"stripe",paymentId:r.id,amount:r.amount,currency:r.currency})},[n,o,m,s]);return p(()=>(l({confirm:h,isConfirming:d}),()=>l(null)),[h,d,l]),e(Re,{options:{layout:"tabs",wallets:{applePay:"auto",googlePay:"auto"}},onReady:t})},rt={type:"stripe",label:"Stripe",ProviderWrapper:({children:t})=>{const{paymentInit:n}=Wn(),[r,o]=i(null),a="stripe"===n?.provider?n.config.publishable_key:null;p(()=>{a&&a.startsWith("pk_")&&o(et(a))},[a]);const s=l(()=>({stripePromise:r}),[r]);return e(tt.Provider,{value:s,children:t})},FormComponent:({onReady:t})=>{const{themeStyles:n,theme:r}=j(),{stripePromise:o}=(()=>{const e=d(tt);if(!e)throw new Error("Stripe adapter components must be used inside StripeProviderWrapper");return e})(),{paymentInit:a}=Wn(),i=l(()=>m(n,r),[n,r]),s=l(()=>function(e,t,n){return{theme:"dark"===t?"night":"stripe",variables:{colorPrimary:e.statusDiscovery.solid,colorBackground:n.cardBg,colorText:n.text,colorDanger:"#df1b41",fontFamily:n.fontFamily,borderRadius:`${n.radius}px`,spacingUnit:"3px",fontSizeBase:"16px"}}}(n,r,i),[n,r,i]),c="stripe"===a?.provider?a.config.client_secret:null,u=l(()=>c?{clientSecret:c,appearance:s}:null,[c,s]);return o&&u?e(Ne,{stripe:o,options:u,children:e(nt,{onReady:t})},c):null}};function ot(e,t){if("undefined"==typeof document||document.getElementById(e))return;const n=document.createElement("style");n.id=e,n.textContent=t,document.head.appendChild(n)}function at(e){const t={};if(e.config.metadata)for(const[n,r]of Object.entries(e.config.metadata))null!=r&&(t[n]=String(r));if(e.config.customer){const{name:n,email:r,phone:o,reference_id:a}=e.config.customer;n&&(t.customer_name=n),r&&(t.customer_email=r),o&&(t.customer_phone=o),a&&(t.customer_reference_id=a)}return t}class it extends Error{constructor(e,t,n){super(e),this.status=t,this.body=n,this.name="MoyasarApiError"}}async function st(e){const t=await ct("https://api.moyasar.com/v1/payments",e);if(!t.ok)throw new it(lt(t.body)??`Payment creation failed (${t.status})`,t.status,t.body);const n=t.body;if(!n||"string"!=typeof n.id||"string"!=typeof n.status)throw new it("Payment creation returned no id/status",t.status,n);return n}async function ct(e,t){const n=new AbortController,r=setTimeout(()=>n.abort(new DOMException("Request timed out","TimeoutError")),3e4);let o;try{o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:n.signal})}catch(e){const t=e instanceof DOMException&&"TimeoutError"===e.name?"Payment request timed out — please try again.":e instanceof Error?e.message:"Network request failed";throw new it(t)}finally{clearTimeout(r)}let a=null;try{a=await o.json()}catch{a=null}return{ok:o.ok,status:o.status,body:a}}function lt(e){if(!e||"object"!=typeof e)return null;if("string"==typeof e.message&&e.message.length>0)return e.message;if(e.errors&&"object"==typeof e.errors){const t=e.errors;for(const[e,n]of Object.entries(t)){if(Array.isArray(n)&&"string"==typeof n[0])return`${ut(e)}: ${n[0]}`;if("string"==typeof n)return`${ut(e)}: ${n}`}}return null}function ut(e){return e.replace(/_/g," ")}const dt=({url:n,onResult:r,skin:o})=>{const a=s(r);a.current=r;const l=s(!1),[u,d]=i(!1),f=s(!1),m=c(e=>{l.current||(l.current=!0,a.current({status:"failure",provider:"moyasar",message:e}))},[]);return p(()=>{const e=window.location.origin,t=t=>{if(t.origin!==e)return;if(l.current)return;if(!(n=t.data)||"object"!=typeof n||"moyasar-iframe-callback"!==n.type||"string"!=typeof n.search)return;var n;const r=y(t.data.search);r&&(l.current=!0,a.current(r.result))};return window.addEventListener("message",t),()=>window.removeEventListener("message",t)},[]),p(()=>{const e=setTimeout(()=>{f.current||m("3D Secure challenge failed to load")},6e4);return()=>clearTimeout(e)},[m]),t("div",{className:"absolute inset-0 z-[105]",style:{background:o.cardBg},role:"dialog","aria-label":"3D Secure authentication",children:[!u&&e("div",{className:"absolute inset-0 flex items-center justify-center text-sm",style:{color:o.muted,fontFamily:o.fontFamily},children:"Loading…"}),e("iframe",{src:n,title:"3D Secure",className:"w-full h-full",style:{border:0,background:"white"},onLoad:()=>{f.current=!0,d(!0)},onError:()=>{m("3D Secure challenge failed to load")},allow:"payment *",sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-top-navigation-by-user-activation",referrerPolicy:"no-referrer"})]})},pt=["mada","visa","masterCard"],ft=({skin:r})=>{const{paymentInit:o}=Wn(),a=o&&"moyasar"===o.provider?o:null,l=Le(),[u,d]=i(null),f=s(l);f.current=l,p(()=>{ot("aiatcore-apple-pay-style","\n .aiatcore-apple-pay-button {\n -webkit-appearance: -apple-pay-button;\n -apple-pay-button-type: pay;\n -apple-pay-button-style: black;\n width: 100%;\n cursor: pointer;\n border: none;\n padding: 0;\n margin: 0;\n }\n ")},[]);const m=c(()=>{if(!a)return;const e=window.ApplePaySession;if(!e)return void N("Apple Pay is not available on this device.");const t=a.config.apple_pay?.label??a.config.description??"Payment",n=a.config.apple_pay?.country??"SA",r=a.config.currency.toUpperCase(),o=(a.config.amount/100).toFixed(2),i={countryCode:n,currencyCode:r,supportedNetworks:pt,merchantCapabilities:["supports3DS","supportsDebit","supportsCredit"],total:{label:t,amount:o}};let s;try{s=new e(5,i)}catch(e){return void N(e instanceof Error?e.message:"Failed to start Apple Pay")}s.onvalidatemerchant=async e=>{try{const n=await async function(e){const t={validation_url:e.validationUrl,display_name:e.displayName,domain_name:e.domainName??window.location.hostname,publishable_api_key:e.publishableApiKey},n=new AbortController,r=setTimeout(()=>n.abort(new DOMException("Request timed out","TimeoutError")),3e4);let o;try{o=await fetch("https://api.moyasar.com/v1/applepay/initiate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:n.signal})}catch(e){const t=e instanceof DOMException&&"TimeoutError"===e.name?"Apple Pay merchant validation timed out — please try again.":e instanceof Error?e.message:"Network request failed";throw new it(t)}finally{clearTimeout(r)}let a=null;try{a=await o.json()}catch{a=null}if(!o.ok)throw new it(function(e){return e&&"object"==typeof e&&"string"==typeof e.message&&e.message.length>0?e.message:null}(a)??`Apple Pay merchant validation failed (${o.status})`,o.status,a);return a}({validationUrl:e.validationURL,displayName:t,publishableApiKey:a.config.publishable_key});s.completeMerchantValidation(n)}catch(e){const t=e instanceof Error?e.message:"Merchant validation failed";s.abort(),l({status:"failure",provider:"moyasar",message:t,paymentId:a.config.given_id})}},s.onpaymentauthorized=async t=>{try{const n=at(a),o=await st({publishable_api_key:a.config.publishable_key,given_id:a.config.given_id,amount:a.config.amount,currency:r,description:a.config.description,callback_url:h(a.config.given_id),source:{type:"applepay",token:t.payment.token},...Object.keys(n).length>0?{metadata:n}:{}}),i=o.source?.transaction_url??o.transaction_url;if(i)return s.completePayment({status:e.STATUS_SUCCESS}),void d(i);const c=o.status;if("paid"===c||"authorized"===c||"captured"===c)s.completePayment({status:e.STATUS_SUCCESS}),l({status:"success",provider:"moyasar",paymentId:o.id,amount:o.amount,currency:o.currency});else if("failed"===c){const t=o.source?.message??"Payment failed";s.completePayment({status:e.STATUS_FAILURE}),l({status:"failure",provider:"moyasar",code:"failed",message:t,paymentId:o.id})}else{const t=`Unexpected payment status: ${c}`;s.completePayment({status:e.STATUS_FAILURE}),l({status:"failure",provider:"moyasar",code:c,message:t,paymentId:o.id})}}catch(t){const n=t instanceof it||t instanceof Error?t.message:"Payment failed";s.completePayment({status:e.STATUS_FAILURE}),l({status:"failure",provider:"moyasar",message:n,paymentId:a.config.given_id})}},s.oncancel=()=>{};try{s.begin()}catch(e){N(e instanceof Error?e.message:"Failed to start Apple Pay")}},[a,l]);return a?t(n,{children:[e("button",{type:"button",onClick:m,className:"aiatcore-apple-pay-button",style:{borderRadius:r.radius,height:44},"aria-label":"Pay with Apple Pay"}),u&&e(dt,{url:u,skin:r,onResult:e=>{d(null),f.current(e)}})]}):null};var mt,yt,ht,gt={},vt={};function bt(){return ht||(ht=1,Object.defineProperty(vt,"__esModule",{value:!0}),vt.clone=function(e){return e?JSON.parse(JSON.stringify(e)):null}),vt}var wt,xt,St,Et,Ct,kt,Pt={},Ot={},_t={};function jt(){if(kt)return Ct;kt=1;var e=Ct&&Ct.__assign||function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},e.apply(this,arguments)},t=yt?mt:(yt=1,mt={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[62207,62209],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292,810,[8110,8131],[8132,8151],[8152,8163],[8164,8171]],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,504174],[504176,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,63737423,63743358,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},verve:{niceType:"Verve",type:"verve",patterns:[[506099,506127],506129,[506133,506150],[506158,506163],506166,506168,506170,506173,[506176,506180],506184,[506187,506188],506191,506195,506197,507865,507866,[507868,507877],[507880,507888],507900,507941],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}}}),n=function(){if(xt)return gt;xt=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.addMatchingCardsToResults=function(n,r,o){var a,i;for(a=0;a<r.patterns.length;a++){var s=r.patterns[a];if((0,t.matches)(n,s)){var c=(0,e.clone)(r);i=Array.isArray(s)?String(s[0]).length:String(s).length,n.length>=i&&(c.matchStrength=i),o.push(c);break}}};var e=bt(),t=(wt||(wt=1,Object.defineProperty(Pt,"__esModule",{value:!0}),Pt.matches=function(e,t){return Array.isArray(t)?function(e,t,n){var r=String(t).length,o=e.substr(0,r),a=parseInt(o,10);return t=parseInt(String(t).substr(0,o.length),10),n=parseInt(String(n).substr(0,o.length),10),a>=t&&a<=n}(e,t[0],t[1]):function(e,t){return(t=String(t)).substring(0,e.length)===e.substring(0,t.length)}(e,t)}),Pt);return gt}(),r=(St||(St=1,Object.defineProperty(Ot,"__esModule",{value:!0}),Ot.isValidInputType=function(e){return"string"==typeof e||e instanceof String}),Ot),o=(Et||(Et=1,Object.defineProperty(_t,"__esModule",{value:!0}),_t.findBestMatch=function(e){return function(e){var t=e.filter(function(e){return e.matchStrength}).length;return t>0&&t===e.length}(e)?e.reduce(function(e,t){return e?Number(e.matchStrength)<Number(t.matchStrength)?t:e:t}):null}),_t),a=bt(),i={},s={VISA:"visa",MASTERCARD:"mastercard",AMERICAN_EXPRESS:"american-express",DINERS_CLUB:"diners-club",DISCOVER:"discover",JCB:"jcb",UNIONPAY:"unionpay",VERVE:"verve",MAESTRO:"maestro",ELO:"elo",MIR:"mir",HIPER:"hiper",HIPERCARD:"hipercard"},c=[s.VISA,s.MASTERCARD,s.AMERICAN_EXPRESS,s.DINERS_CLUB,s.DISCOVER,s.JCB,s.UNIONPAY,s.VERVE,s.MAESTRO,s.ELO,s.MIR,s.HIPER,s.HIPERCARD],l=(0,a.clone)(c);function u(e){return i[e]||t[e]}function d(e,t){void 0===t&&(t=!1);var n=l.indexOf(e);if(!t&&-1===n)throw new Error('"'+e+'" is not a supported card type.');return n}function p(e){var t=[];if(!(0,r.isValidInputType)(e))return t;if(0===e.length)return l.map(function(e){return(0,a.clone)(u(e))});l.forEach(function(r){var o=u(r);(0,n.addMatchingCardsToResults)(e,o,t)});var i=(0,o.findBestMatch)(t);return i?[i]:t}return p.getTypeInfo=function(e){return(0,a.clone)(u(e))},p.removeCard=function(e){var t=d(e);l.splice(t,1)},p.addCard=function(e){var t=d(e.type,!0);i[e.type]=e,-1===t&&l.push(e.type)},p.updateCard=function(n,r){var o=i[n]||t[n];if(!o)throw new Error('"'.concat(n,"\" is not a recognized type. Use `addCard` instead.'"));if(r.type&&o.type!==r.type)throw new Error("Cannot overwrite type parameter.");var s=(0,a.clone)(o);s=e(e({},s),r),i[s.type]=s},p.changeOrder=function(e,t){var n=d(e);l.splice(n,1),l.splice(t,0,e)},p.resetModifications=function(){l=(0,a.clone)(c),i={}},p.types=s,Ct=p}var Nt,At,It,Tt,Mt,Ft={},Rt={},$t={},Dt={},Vt={};function Lt(){if(Mt)return Vt;Mt=1,Object.defineProperty(Vt,"__esModule",{value:!0}),Vt.expirationYear=function(n,r){var o;if(void 0===r&&(r=e),"string"!=typeof n)return t(!1,!1);if(""===n.replace(/\s/g,""))return t(!1,!0);if(!/^\d*$/.test(n))return t(!1,!1);var a=n.length;if(a<2)return t(!1,!0);var i=(new Date).getFullYear();if(3===a)return t(!1,n.slice(0,2)===String(i).slice(0,2));if(a>4)return t(!1,!1);var s=parseInt(n,10),c=Number(String(i).substr(2,2)),l=!1;if(2===a){if(String(i).substr(0,2)===n)return t(!1,!0);o=c===s,l=s>=c&&s<=c+r}else 4===a&&(o=i===s,l=s>=i&&s<=i+r);return t(l,l,o)};var e=19;function t(e,t,n){return{isValid:e,isPotentiallyValid:t,isCurrentYear:n||!1}}return Vt}var Bt,zt,Ut,qt,Wt={},Yt={};function Ht(){if(Ut)return Yt;function e(e,t,n){return{isValid:e,isPotentiallyValid:t,isValidForThisYear:n||!1}}return Ut=1,Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.expirationMonth=function(t){var n=(new Date).getMonth()+1;if("string"!=typeof t)return e(!1,!1);if(""===t.replace(/\s/g,"")||"0"===t)return e(!1,!0);if(!/^\d*$/.test(t))return e(!1,!1);var r=parseInt(t,10);if(isNaN(Number(t)))return e(!1,!1);var o=r>0&&r<13;return e(o,o,o&&r>=n)},Yt}var Jt,Kt,Xt,Zt,Gt={},Qt={};const en=V(function(){if(Zt)return Xt;Zt=1;var e=Xt&&Xt.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),t=Xt&&Xt.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=(Xt&&Xt.__importStar||function(){var n=function(e){return(n=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)};return function(r){if(r&&r.__esModule)return r;var o={};if(null!=r)for(var a=n(r),i=0;i<a.length;i++)"default"!==a[i]&&e(o,r,a[i]);return t(o,r),o}}())(jt()),r=function(){if(Nt)return Ft;Nt=1,Object.defineProperty(Ft,"__esModule",{value:!0}),Ft.cardholderName=function(r){return"string"!=typeof r?n(!1,!1):0===r.length?n(!1,!0):r.length>t?n(!1,!1):e.test(r)?n(!1,!0):n(!0,!0)};var e=/^[\d\s-]*$/,t=255;function n(e,t){return{isValid:e,isPotentiallyValid:t}}return Ft}(),o=function(){if(Tt)return Rt;Tt=1,Object.defineProperty(Rt,"__esModule",{value:!0}),Rt.cardNumber=function(r,o){var a,i;if(void 0===o&&(o={}),"string"!=typeof r&&"number"!=typeof r)return n(null,!1,!1);var s=String(r).replace(/-|\s/g,"");if(!/^\d*$/.test(s))return n(null,!1,!1);var c=t(s);if(0===c.length)return n(null,!1,!1);if(1!==c.length)return n(null,!0,!1);var l=c[0];if(o.maxLength&&s.length>o.maxLength)return n(l,!1,!1);a=!0===o.skipLuhnValidation||l.type===t.types.UNIONPAY&&!0!==o.luhnValidateUnionPay||e(s),i=Math.max.apply(null,l.lengths),o.maxLength&&(i=Math.min(o.maxLength,i));for(var u=0;u<l.lengths.length;u++)if(l.lengths[u]===s.length)return n(l,s.length<i||a,a);return n(l,s.length<i,!1)};var e=It?At:(It=1,At=function(e){for(var t,n=0,r=!1,o=e.length-1;o>=0;)t=parseInt(e.charAt(o),10),r&&(t*=2)>9&&(t=t%10+1),r=!r,n+=t,o--;return n%10==0}),t=jt();function n(e,t,n){return{card:e,isPotentiallyValid:t,isValid:n}}return Rt}(),a=function(){if(qt)return $t;qt=1;var e=$t&&$t.__assign||function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},e.apply(this,arguments)};Object.defineProperty($t,"__esModule",{value:!0}),$t.expirationDate=function(a,i){var s;if("string"==typeof a)a=a.replace(/^(\d\d) (\d\d(\d\d)?)$/,"$1/$2"),s=(0,t.parseDate)(String(a));else{if(null===a||"object"!=typeof a)return o(!1,!1,null,null);var c=e({},a);s={month:String(c.month),year:String(c.year)}}var l=(0,n.expirationMonth)(s.month),u=(0,r.expirationYear)(s.year,i);if(l.isValid){if(u.isCurrentYear){var d=l.isValidForThisYear;return o(d,d,s.month,s.year)}if(u.isValid)return o(!0,!0,s.month,s.year)}return o(!1,!(!l.isPotentiallyValid||!u.isPotentiallyValid),null,null)};var t=function(){if(zt)return Dt;zt=1,Object.defineProperty(Dt,"__esModule",{value:!0}),Dt.parseDate=function(n){var r;if(/^\d{4}-\d{1,2}$/.test(n)?r=n.split("-").reverse():/\//.test(n)?r=n.split(/\s*\/\s*/g):/\s/.test(n)&&(r=n.split(/ +/g)),(0,t.isArray)(r))return{month:r[0]||"",year:r.slice(1).join()};var o,a,i,s=(o=n,0===(i=Number(o[0]))?2:i>1||1===i&&Number(o[1])>2?1:1===i?(a=o.substr(1),(0,e.expirationYear)(a).isPotentiallyValid?1:2):5===o.length?1:o.length>5?2:1),c=n.substr(0,s);return{month:c,year:n.substr(c.length)}};var e=Lt(),t=(Bt||(Bt=1,Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.isArray=void 0,Wt.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}),Wt);return Dt}(),n=Ht(),r=Lt();function o(e,t,n,r){return{isValid:e,isPotentiallyValid:t,month:n,year:r}}return $t}(),i=Ht(),s=Lt(),c=function(){if(Jt)return Gt;Jt=1,Object.defineProperty(Gt,"__esModule",{value:!0}),Gt.cvv=function(n,r){return void 0===r&&(r=e),r=r instanceof Array?r:[r],"string"!=typeof n?t(!1,!1):/^\d*$/.test(n)?function(e,t){for(var n=0;n<e.length;n++)if(t===e[n])return!0;return!1}(r,n.length)?t(!0,!0):n.length<Math.min.apply(null,r)?t(!1,!0):n.length>function(t){for(var n=e,r=0;r<t.length;r++)n=t[r]>n?t[r]:n;return n}(r)?t(!1,!1):t(!0,!0):t(!1,!1)};var e=3;function t(e,t){return{isValid:e,isPotentiallyValid:t}}return Gt}(),l=function(){if(Kt)return Qt;Kt=1,Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.postalCode=function(r,o){void 0===o&&(o={});var a=o.minLength||e;return"string"!=typeof r?n(!1,!1):r.length<a?n(!1,!0):t.test(r.trim().slice(0,a))?n(!0,!0):n(!1,!0)};var e=2,t=new RegExp(/^[a-z0-9]+$/i);function n(e,t){return{isValid:e,isPotentiallyValid:t}}return Qt}();return Xt={creditCardType:n,cardholderName:r.cardholderName,number:o.cardNumber,expirationDate:a.expirationDate,expirationMonth:i.expirationMonth,expirationYear:s.expirationYear,cvv:c.cvv,postalCode:l.postalCode}}()),tn=V(jt());let nn=!1;nn||(nn=!0,tn.addCard({niceType:"Mada",type:"mada",patterns:[440647,440795,446404,446672,419593,428331,428671,432328,440533,446393,457865,458456,462220,484783,484800,493428,504300,521076,529415,535825,536023,537767,543357,557606,558848,588845,589206],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}}));const rn=({brand:t,fallbackColor:n,height:r=22})=>{if(!t)return null;switch(t){case"Visa":return e(on,{height:r});case"Mastercard":return e(an,{height:r});case"American Express":return e(sn,{height:r});case"Mada":return e(cn,{height:r});case"Discover":return e(ln,{height:r});case"JCB":return e(un,{height:r});default:return e("span",{className:"text-xs font-medium",style:{color:n},"aria-label":`Card brand: ${t}`,children:t})}},on=({height:n})=>t("svg",{role:"img","aria-label":"Visa",viewBox:"0 0 48 16",height:n,width:48*n/16,style:{display:"block"},children:[e("rect",{width:"48",height:"16",rx:"2",fill:"#1A1F71"}),e("text",{x:"24",y:"12",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"900",fontSize:"11",fill:"#FFFFFF",letterSpacing:"1.4",children:"VISA"})]}),an=({height:n})=>t("svg",{role:"img","aria-label":"Mastercard",viewBox:"0 0 32 20",height:n,width:32*n/20,style:{display:"block"},children:[e("circle",{cx:"12",cy:"10",r:"7",fill:"#EB001B"}),e("circle",{cx:"20",cy:"10",r:"7",fill:"#F79E1B"}),e("path",{d:"M16 4.5a7 7 0 0 1 0 11 7 7 0 0 1 0-11Z",fill:"#FF5F00","aria-hidden":"true"})]}),sn=({height:n})=>t("svg",{role:"img","aria-label":"American Express",viewBox:"0 0 48 16",height:n,width:48*n/16,style:{display:"block"},children:[e("rect",{width:"48",height:"16",rx:"2",fill:"#2E77BB"}),e("text",{x:"24",y:"11.5",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"700",fontSize:"9",fill:"#FFFFFF",letterSpacing:"0.4",children:"AMEX"})]}),cn=({height:n})=>t("svg",{role:"img","aria-label":"Mada",viewBox:"0 0 48 16",height:n,width:48*n/16,style:{display:"block"},children:[e("rect",{width:"48",height:"16",rx:"2",fill:"#84B740"}),e("text",{x:"24",y:"11.5",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"700",fontSize:"9",fill:"#FFFFFF",letterSpacing:"0.6",children:"mada"})]}),ln=({height:n})=>t("svg",{role:"img","aria-label":"Discover",viewBox:"0 0 56 16",height:n,width:56*n/16,style:{display:"block"},children:[e("rect",{width:"56",height:"16",rx:"2",fill:"#FFFFFF",stroke:"#E5E7EB"}),e("text",{x:"20",y:"11.5",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"700",fontSize:"8",fill:"#231F20",letterSpacing:"0.2",children:"DISCOVER"}),e("circle",{cx:"44",cy:"8",r:"4",fill:"#FF6000"})]}),un=({height:n})=>t("svg",{role:"img","aria-label":"JCB",viewBox:"0 0 32 16",height:n,width:32*n/16,style:{display:"block"},children:[e("rect",{x:"0",y:"0",width:"10.66",height:"16",rx:"2",fill:"#0E4C96"}),e("rect",{x:"10.66",y:"0",width:"10.66",height:"16",fill:"#B41E25"}),e("rect",{x:"21.33",y:"0",width:"10.66",height:"16",rx:"2",fill:"#1B8A3A"}),e("text",{x:"16",y:"11",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"900",fontSize:"9",fill:"#FFFFFF",children:"JCB"})]}),dn=({skin:r})=>{const{paymentInit:o}=Wn(),a=o&&"moyasar"===o.provider?o:null,u=Le(),d=Be(),f=ze(),[m,y]=i(""),[g,v]=i(""),[b,w]=i(""),[x,S]=i(""),[E,C]=i(!1),[k,P]=i({}),[O,_]=i(null),j=s({number:m,expiry:g,cvc:b,name:x});j.current={number:m,expiry:g,cvc:b,name:x};const N=s(u);N.current=u,p(()=>{a&&f({amount:a.config.amount,currency:a.config.currency.toUpperCase()})},[a,f]);const A=c(async()=>{if(!a)return;const e=function(e,t=new Date){const n=[],r=en.number(e.number),o=e.number.replace(/\D/g,"");o?r.isValid||n.push({field:"number",message:"Invalid card number"}):n.push({field:"number",message:"Card number is required"});const a=en.expirationDate(e.expiry);let i=null,s=null;const c=e.expiry.trim();if(c)if(a.isValid){i=Number.parseInt(a.month??"",10);const e=Number.parseInt(a.year??"",10);s=2===(a.year??"").length?e+2e3:e}else{const e=function(e){let t="",n="";if(e.includes("/")){const[r,o]=e.split("/");t=(r??"").replace(/\D/g,""),n=(o??"").replace(/\D/g,"")}else{const r=e.replace(/\D/g,"");t=r.slice(0,2),n=r.slice(2)}const r=Number.parseInt(t,10),o=Number.parseInt(n,10);return Number.isNaN(r)||Number.isNaN(o)?null:{month:r,year:2===n.length?o+2e3:o}}(c);e&&function(e,t,n){const r=n.getFullYear(),o=n.getMonth()+1;return t<r||t===r&&e<o}(e.month,e.year,t)?n.push({field:"expiry",message:"Card expired"}):n.push({field:"expiry",message:"Invalid expiry"})}else n.push({field:"expiry",message:"Expiry is required"});const l=en.cvv(e.cvc,r.card?.code.size??[3,4]),u=e.cvc.replace(/\D/g,"");u?l.isValid||n.push({field:"cvc",message:"Invalid CVC"}):n.push({field:"cvc",message:"CVC is required"});const d=en.cardholderName(e.name),p=e.name.trim();return p?d.isValid||n.push({field:"name",message:"Invalid cardholder name"}):n.push({field:"name",message:"Cardholder name is required"}),n.length>0||null==i||null==s?{ok:!1,errors:n}:{ok:!0,card:{number:o,month:String(i).padStart(2,"0"),year:String(s),cvc:u,name:p}}}(j.current);if(!1===e.ok){const t={};for(const n of e.errors)t[n.field]||(t[n.field]=n.message);return void P(t)}P({}),C(!0);try{const t=await async function(e){const t=await ct("https://api.moyasar.com/v1/tokens",{...e,save_only:!0});if(!t.ok)throw new it(lt(t.body)??`Tokenization failed (${t.status})`,t.status,t.body);const n=t.body;if(!n||"string"!=typeof n.id)throw new it("Tokenization returned no token id",t.status,n);return{id:n.id}}({publishable_api_key:a.config.publishable_key,name:e.card.name,number:e.card.number,month:e.card.month,year:e.card.year,cvc:e.card.cvc}),n=at(a),r=await st({publishable_api_key:a.config.publishable_key,given_id:a.config.given_id,amount:a.config.amount,currency:a.config.currency.toUpperCase(),description:a.config.description,callback_url:h(a.config.given_id),source:{type:"token",token:t.id},...Object.keys(n).length>0?{metadata:n}:{}}),o=r.source?.transaction_url??r.transaction_url;if(o)return void _(o);const i=r.status;N.current("paid"===i||"authorized"===i||"captured"===i?{status:"success",provider:"moyasar",paymentId:r.id,amount:r.amount,currency:r.currency}:"failed"===i?{status:"failure",provider:"moyasar",code:"failed",message:r.source?.message??"Payment failed",paymentId:r.id}:{status:"failure",provider:"moyasar",code:i,message:`Unexpected payment status: ${i}`,paymentId:r.id})}catch(e){const t=e instanceof it||e instanceof Error?e.message:"Payment failed";N.current({status:"failure",provider:"moyasar",message:t,paymentId:a.config.given_id})}finally{C(!1)}},[a]);p(()=>(d({confirm:A,isConfirming:E}),()=>d(null)),[A,E,d]);const I=l(()=>Math.max(r.radius-4,4),[r.radius]),T=l(()=>function(e){const t=e.replace(/\D/g,"");if(t.length<2)return null;const n=tn(t);return n[0]?.niceType??null}(m),[m]);return a?t(n,{children:[t("div",{className:"space-y-3",style:{fontFamily:r.fontFamily},children:[e(fn,{label:"Card number",value:m,onChange:e=>y(e.replace(/\D/g,"").slice(0,19).replace(/(\d{4})(?=\d)/g,"$1 ")),autoComplete:"cc-number",inputMode:"numeric",placeholder:"1234 5678 9012 3456",error:k.number,skin:r,radius:I,endAdornment:T?e(rn,{brand:T,fallbackColor:r.muted}):null}),t("div",{className:"grid grid-cols-2 gap-3",children:[e(fn,{label:"Expiry",value:g,onChange:e=>v(function(e){const t=e.replace(/\D/g,"").slice(0,4);return t.length<=2?t:`${t.slice(0,2)}/${t.slice(2)}`}(e)),autoComplete:"cc-exp",inputMode:"numeric",placeholder:"MM / YY",error:k.expiry,skin:r,radius:I}),e(fn,{label:"CVC",value:b,onChange:e=>w(e.replace(/\D/g,"").slice(0,4)),autoComplete:"cc-csc",inputMode:"numeric",placeholder:"123",error:k.cvc,skin:r,radius:I})]}),e(fn,{label:"Name on card",value:x,onChange:S,autoComplete:"cc-name",inputMode:"text",placeholder:"Full name",error:k.name,skin:r,radius:I})]}),O&&e(dt,{url:O,skin:r,onResult:e=>{_(null),N.current(e)}})]}):null};function pn(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);r>=48&&r<=57&&t++}return t}const fn=({label:n,value:r,onChange:o,placeholder:a,autoComplete:i,inputMode:c,error:l,skin:u,radius:d,endAdornment:p})=>{const m=l?"#dc2626":u.divider,y=s(null),h=s(null),g="numeric"===c;return f(()=>{const e=h.current;if(null===e||!y.current)return;h.current=null;const t=y.current.value;let n=0,r=0;for(;r<t.length&&!(n>=e);)/\d/.test(t[r])&&n++,r++;y.current.setSelectionRange(r,r)},[r]),t("label",{className:"block",children:[e("span",{className:"block text-xs mb-1",style:{color:u.muted},children:n}),t("div",{className:"relative",children:[e("input",{ref:y,type:"text",value:r,onChange:e=>{g&&(h.current=pn(e.target.value.slice(0,e.target.selectionStart??e.target.value.length))),o(e.target.value)},onKeyDown:e=>{if(!g||"Backspace"!==e.key)return;const t=e.currentTarget,n=t.selectionStart??0;if(n!==(t.selectionEnd??0)||n<2)return;const r=t.value[n-1];if(!r||/\d/.test(r))return;e.preventDefault();const a=t.value.slice(0,n-2)+t.value.slice(n);h.current=pn(a.slice(0,n-2)),o(a)},placeholder:a,autoComplete:i,inputMode:c,spellCheck:!1,className:"w-full py-3 px-3 outline-none text-sm transition-colors",style:{background:u.pillBg,color:u.text,border:`1px solid ${m}`,borderRadius:d,paddingRight:p?96:void 0}}),p&&e("span",{className:"absolute right-3 top-1/2 -translate-y-1/2 text-xs font-medium pointer-events-none",style:{color:u.muted},"aria-label":"Card brand",children:p})]}),l&&e("span",{className:"block mt-1 text-xs",style:{color:"#dc2626"},children:l})]})},mn=["creditcard","applepay"],yn=({skin:n})=>t("div",{className:"relative",children:[e("div",{className:"absolute inset-x-0 top-1/2",style:{borderTop:`1px solid ${n.divider}`}}),e("div",{className:"relative flex justify-center",children:e("span",{className:"px-2 text-xs uppercase tracking-wide",style:{background:n.cardBg,color:n.muted,fontFamily:n.fontFamily},children:"or"})})]}),hn={type:"moyasar",label:"Moyasar",FormComponent:({skin:n,onReady:r})=>{const{paymentInit:o}=Wn(),a=o&&"moyasar"===o.provider?o:null,c=function(){const[e,t]=i(!1);return p(()=>{if("undefined"==typeof window)return;const e=window.ApplePaySession;if(e&&"function"==typeof e.canMakePayments)try{t(!0===e.canMakePayments())}catch{t(!1)}},[]),e}(),l=s(r);if(l.current=r,p(()=>{l.current?.()},[]),!a)return null;const u=a.config.methods??mn,d=u.includes("creditcard"),f=u.includes("applepay")&&c;return t("div",{className:"space-y-4",children:[d&&e(dn,{skin:n}),d&&f&&e(yn,{skin:n}),f&&e(ft,{skin:n})]})}},gn="5vh",vn="5vw",bn="aiatcore-chargebee-modal-style",wn="aiatcore-chargebee-close-button",xn="aiatcore-chargebee-loader",Sn="aiatcore-cb-spin",En='#cb-container, .cb-container, [id^="cb-modal"], [class*="cb-modal"], [class*="cb-checkout"], div[class*="cb-"][class*="overlay"]',Cn="aiatcore-chargebee-open";function kn(){document.getElementById(wn)?.remove()}function Pn(){document.getElementById(xn)?.remove()}const On={type:"chargebee",label:"Chargebee",FormComponent:({amount:e,currency:t,onReady:n})=>{const{paymentInit:r}=Wn(),o=Le(),a=ze(),i=Be(),c=s(!1);return p(()=>(i(null),()=>i(null)),[i]),p(()=>{if("chargebee"!==r?.provider)return;const{site:i,hosted_page_url:s,amount:l,currency:u,expires_at:d}=r.config,p=l??e,f=u??t;null!=p&&f&&a({amount:p,currency:f}),c.current=!1;let m=!1,y=null,h=null;const g=e=>{c.current||(c.current=!0,o(e))};return n?.(),null!=d&&Date.now()>=1e3*d?(g({status:"failure",provider:"chargebee",message:"Payment link has expired. Please request a new one."}),()=>{m=!0}):(function(){const e=document.getElementById(bn)??document.createElement("style");e.id=bn,e.textContent=`\n /* Prevent horizontal page scroll only while Chargebee's overlay is mounted */\n html.${Cn}, body.${Cn} {\n overflow-x: hidden !important;\n }\n\n /* Outer Chargebee overlay container — broad selector net so we catch\n whatever wrapper Chargebee actually uses */\n #cb-container,\n .cb-container,\n [id^="cb-modal"],\n [class*="cb-modal"],\n [class*="cb-checkout"],\n div[class*="cb-"][class*="overlay"] {\n position: fixed !important;\n inset: ${gn} max(${vn}, calc((100vw - 1500px) / 2)) !important;\n width: auto !important;\n height: auto !important;\n max-width: none !important;\n max-height: none !important;\n margin: 0 !important;\n border-radius: 12px !important;\n box-shadow: 0 20px 60px rgba(0,0,0,0.35) !important;\n overflow: hidden !important;\n z-index: 2147483646 !important;\n pointer-events: all !important;\n }\n\n /* Inner iframe — fill the container fully and ensure it receives clicks */\n [id^="cb-frame"] {\n width: 100% !important;\n height: 100% !important;\n border: none !important;\n display: block !important;\n z-index: 2147483646 !important;\n pointer-events: all !important;\n outline: none !important;\n box-shadow: none !important;\n }\n\n @keyframes ${Sn} {\n to { transform: rotate(360deg); }\n }\n `,e.parentElement||document.head.appendChild(e),document.documentElement.classList.add(Cn),document.body.classList.add(Cn)}(),function(e){if(window.Chargebee)return Promise.resolve();const t=document.querySelector('script[src*="js.chargebee.com"]');return t?"1"===t.dataset.cbLoaded?Promise.resolve():new Promise((e,n)=>{t.addEventListener("load",()=>e()),t.addEventListener("error",()=>n(new Error("Chargebee.js failed to load")))}):new Promise((t,n)=>{const r=document.createElement("script");r.src="https://js.chargebee.com/v2/chargebee.js",r.setAttribute("data-cb-site",e),r.onload=()=>{r.dataset.cbLoaded="1",t()},r.onerror=()=>n(new Error("Chargebee.js failed to load")),document.head.appendChild(r)})}(i).then(()=>{if(m)return;let e;try{e=window.Chargebee.getInstance()??window.Chargebee.init({site:i})}catch{e=window.Chargebee.init({site:i})}e.openCheckout({hostedPage:()=>Promise.resolve({id:r.payment_id,url:s,type:"checkout_one_time",state:"created"}),success:e=>{kn(),Pn(),g({status:"success",provider:"chargebee",paymentId:e,amount:p??void 0,currency:f??void 0})},close:()=>{kn(),Pn(),g({status:"cancel",provider:"chargebee"})},error:e=>{kn(),Pn(),g({status:"failure",provider:"chargebee",message:e?.message??"Payment failed"})}}),h=function(){let e=0,t=0,n=0,r=null,o=null;const a=Date.now()+5e3,i=()=>{if(m||c.current)return;const t=document.querySelector(En);if(t instanceof HTMLElement){const e=t.getBoundingClientRect();if(e.width>0&&e.height>0){!function(){Pn();const e=document.createElement("div");e.id=xn,e.setAttribute("aria-live","polite"),e.setAttribute("aria-busy","true"),e.style.cssText=`\n position: fixed;\n inset: ${gn} max(${vn}, calc((100vw - 1500px) / 2));\n z-index: 2147483646;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 14px;\n background: #f8f8f8;\n border-radius: 12px;\n color: #6b7280;\n font: 500 14px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;\n pointer-events: none;\n `;const t=document.createElement("div");t.style.cssText=`\n width: 32px;\n height: 32px;\n border: 2.5px solid rgba(17, 24, 39, 0.08);\n border-top-color: #6366f1;\n border-radius: 50%;\n animation: ${Sn} 0.8s linear infinite;\n `;const n=document.createElement("p");n.textContent="Loading payment…",n.style.cssText="margin: 0;",e.appendChild(t),e.appendChild(n),document.body.appendChild(e)}();const e=document.querySelector('[id^="cb-frame"]');return void(e instanceof HTMLIFrameElement&&(r=e,o=()=>{n=window.setTimeout(Pn,400)},r.addEventListener("load",o)))}}Date.now()>=a||(e=window.requestAnimationFrame(i))};return t=window.setTimeout(i,100),()=>{window.clearTimeout(t),window.clearTimeout(n),e&&window.cancelAnimationFrame(e),r&&o&&r.removeEventListener("load",o),Pn()}}(),y=function(e){let t=0,n=0;const r=Date.now()+5e3,o=()=>{if(m||c.current)return;const n=document.querySelector(En);if(n instanceof HTMLElement){const t=n.getBoundingClientRect();if(t.width>0&&t.height>0)return void function(e){kn();const t=document.createElement("button");t.id=wn,t.type="button",t.setAttribute("aria-label","Close payment"),t.textContent="×",t.style.cssText=`\n position: fixed;\n top: calc(${gn} + 12px);\n right: calc(max(${vn}, calc((100vw - 1500px) / 2)) + 12px);\n z-index: 2147483647;\n width: 32px;\n height: 32px;\n border: 0;\n border-radius: 9999px;\n background: rgba(17, 24, 39, 0.72);\n color: #ffffff;\n font: 600 16px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;\n cursor: pointer;\n pointer-events: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);\n `,t.addEventListener("click",e),document.body.appendChild(t)}(e)}Date.now()>=r||(t=window.requestAnimationFrame(o))};return n=window.setTimeout(o,100),()=>{window.clearTimeout(n),t&&window.cancelAnimationFrame(t)}}(()=>{kn(),Pn(),document.querySelectorAll(En).forEach(e=>{e instanceof HTMLElement&&(e.style.display="none")}),g({status:"cancel",provider:"chargebee"});try{e.closeAll()}catch{}})}).catch(e=>{g({status:"failure",provider:"chargebee",message:e?.message??"Failed to load payment form"})}),()=>{m=!0,y?.(),h?.(),kn(),Pn(),document.documentElement.classList.remove(Cn),document.body.classList.remove(Cn),document.getElementById(bn)?.remove();try{window.Chargebee?.getInstance?.()?.closeAll?.()}catch{}})},[r,e,t,a,n,o]),null},hideShellSubmit:!0};function _n(){const e=document.createElement("div");e.style.cssText="position:absolute;top:-9999px;width:100px;height:100px;overflow:scroll;",document.body.appendChild(e);const t=e.offsetWidth-e.clientWidth;return e.remove(),Math.max(0,t)}function jn(e,t,n){e?.contentWindow?.postMessage(w(t),n)}const Nn=({init:n,onResult:r,skin:o,onCallback:a,footer:l})=>{const u=s(null),d=g(r),m=g(a),y=s(o),h=s(!1),w=s(null);f(()=>{y.current=o,h.current&&jn(u.current,o,w.current??"*")},[o]);const k=s(!1),P=s(!1),O=s(!1),[_,j]=i(!1),[N]=i(_n),I=c(e=>{P.current||k.current||(P.current=!0,d.current(v({status:b.FAILED,paymentId:n.payment_id,message:e})))},[n.payment_id,d]);return p(()=>{const e=e=>{if(e.source!==u.current?.contentWindow)return;if(!x(e.data))return;if(w.current=e.origin,e.data.action===S.LOADED&&(h.current=!0,jn(u.current,y.current,e.origin)),P.current)return;const t=E(e.data.search);if(m.current)return P.current=!0,void m.current(t);if(!t)return A.warn({message:"Hosted payment callback arrived without a paymentId or a known paymentStatus",api_name:"hosted-payment-page-callback"}),void I("Payment confirmation was incomplete. Please try again.");const r=e.data.action===S.DONE;if(k.current=!0,t.paymentStatus===b.CANCELED){if(!r)return;return P.current=!0,void d.current(v({status:t.paymentStatus,paymentId:t.paymentId}))}r&&(P.current=!0),d.current(v({status:t.paymentStatus,paymentId:t.paymentId,charge:C(t,n),message:t.message,dismissed:r}))};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[I,n,m,d]),p(()=>{const e=setTimeout(()=>{O.current||I("The payment page failed to load.")},6e4);return()=>clearTimeout(e)},[I]),t("div",{className:"absolute inset-0 z-[105] flex flex-col overflow-hidden",style:{background:o.cardBg},role:"region","aria-label":"Payment",children:[!_&&e("div",{className:"absolute inset-0 flex items-center justify-center text-sm",style:{color:o.muted,fontFamily:o.fontFamily},children:"Loading…"}),e("iframe",{ref:u,src:n.config.url,title:"Payment",className:"min-h-0 flex-1",style:{border:0,background:"white",width:`calc(100% + ${N}px)`},onLoad:()=>{O.current=!0,j(!0)},onError:()=>I("The payment page failed to load."),allow:"payment",sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-top-navigation-by-user-activation",referrerPolicy:"no-referrer"}),l]})},An="verifying",In="gateway_reported",Tn="timed_out",Mn="succeeded",Fn="failed",Rn="canceled",$n=({d:t})=>e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e("path",{d:t,pathLength:1})}),Dn="M18 6 6 18M6 6l12 12";function Vn(e,t,n){switch(e){case An:return"Payment in progress…";case In:return t?"Payment received · confirming…":"Payment declined · confirming…";case Tn:return"Payment not confirmed · close and check with the assistant";case Mn:return n?`Payment confirmed · ${n}`:"Payment confirmed";case Fn:return"Payment failed";case Rn:return"Payment canceled"}}const Ln=({state:n,skin:r,gatewaySucceeded:o,amountText:a})=>{p(()=>ot("aiatcore-hpp-strip-style","\n@keyframes hpp-pop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}\n@keyframes hpp-draw{0%{stroke-dashoffset:1}100%{stroke-dashoffset:0}}\n@keyframes hpp-line-in{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}\n.hpp-badge-in{animation:hpp-pop .45s cubic-bezier(.34,1.56,.64,1) both}\n.hpp-badge-in svg path{stroke-dasharray:1;animation:hpp-draw .5s ease-out .2s both}\n.hpp-line-in{animation:hpp-line-in .3s ease-out both}\n"),[]);const{icon:i,color:s,background:c}=function(t,n){const r=(t,n,r)=>e("span",{className:"hpp-badge-in flex h-6 w-6 shrink-0 items-center justify-center rounded-full",style:{background:t,color:n},"aria-hidden":"true",children:e($n,{d:r})});switch(t){case Mn:return{icon:r(n.success,n.successBg,"M4 12 9 17 20 6"),color:n.success,background:n.successBg};case Fn:return{icon:r(n.danger,n.dangerBg,Dn),color:n.danger,background:n.dangerBg};case Rn:return{icon:r(n.muted,n.cardBg,Dn),color:n.heading,background:n.cardBg};case Tn:return{icon:e("span",{className:"h-2.5 w-2.5 shrink-0 rounded-full",style:{background:n.warning},"aria-hidden":"true"}),color:n.heading,background:n.warningBg};default:return{icon:e(D,{className:"h-4 w-4 shrink-0 animate-spin",style:{color:n.accent},"aria-hidden":"true"}),color:n.heading,background:n.cardBg}}}(n,r);return e("div",{className:"flex shrink-0 items-center px-4 py-2.5 text-[13px] font-semibold",style:{background:c,borderTop:`1px solid ${r.divider}`,color:s,fontFamily:r.fontFamily,transition:"background-color .35s ease, color .35s ease"},role:"status","aria-live":"polite","aria-busy":n===An||n===In,"data-strip-state":n,children:t("span",{className:"hpp-line-in flex min-w-0 items-center gap-2.5",children:[i,e("span",{className:"min-w-0 truncate",children:Vn(n,o,a)})]},n)})},Bn=({init:t,onResult:n,skin:r})=>{const o=g(n),[a,s]=i(void 0),[l,u]=i(!1),[d,f]=i(null),{polling:m,status:y,timedOut:h}=k({init:t,enabled:null===d}),w=c(e=>{s(t=>void 0===t?e:t)},[]);p(()=>{if(!a)return;const e=setTimeout(()=>u(!0),3e4);return()=>clearTimeout(e)},[a]);const x=d??y??(a&&(!m||h||l)?a.paymentStatus:null);null===d&&null!==x&&f(x);const S=t.config.reference_id??t.payment_id,E=C(a,t),O=g({paymentId:S,charge:E,message:a?.message});p(()=>{if(null===d)return;const e=O.current,t=d===b.CANCELED;t||o.current(v({...e,status:d,dismissed:!1}));const n=setTimeout(()=>{o.current(v(t?{status:d,paymentId:e.paymentId}:{...e,status:d,dismissed:!0}))},3e3);return()=>clearTimeout(n)},[d,o,O]);let _=null;return null!==x?_=x:h?_=Tn:a?_=In:m&&(_=An),e(Nn,{init:t,onResult:n,skin:r,onCallback:w,footer:_&&e(Ln,{state:_,skin:r,gatewaySucceeded:a?.paymentStatus===b.SUCCEEDED,amountText:_===Mn?P(E.amount,E.currency):null})})},zn={type:"hosted_payment_page",label:"Secure checkout",hideShellSubmit:!0,hideShellFooter:!0,FormComponent:({skin:t,onReady:n})=>{const{paymentInit:r}=Wn(),o=r&&"hosted_payment_page"===r.provider?r:null,a=Le(),c=s(!1);p(()=>{n?.()},[n]);const l=o?.config.expires_at,[u]=i(()=>null!=l&&Date.now()>=1e3*l);return p(()=>{o&&u&&!c.current&&(c.current=!0,a(v({status:b.FAILED,paymentId:o.payment_id,message:"Payment link has expired. Please request a new one."})))},[o,u,a]),!o||u?null:O(o)?e(Bn,{init:o,onResult:a,skin:t}):e(Nn,{init:o,onResult:a,skin:t})}},Un=u(void 0),qn=({children:t,paymentProvider:n,paymentInit:r=null,conversationId:o=null})=>{const a=r?.provider||n||_,i=l(()=>function(e){switch(e){case"stripe":return rt;case"moyasar":return hn;case"chargebee":return On;case"hosted_payment_page":return zn;default:throw new Error(`Unknown payment provider: "${e}". Supported providers: stripe, moyasar, chargebee, hosted_payment_page`)}}(a),[a]),s=l(()=>({adapter:i,paymentProvider:a,paymentInit:r,conversationId:o}),[i,a,r,o]),c=i.ProviderWrapper;return e(Un.Provider,{value:s,children:c?e(c,{children:t}):t})},Wn=()=>{const e=d(Un);if(!e)throw new Error("usePaymentAdapter must be used within a PaymentProvider");return e},Yn=({provider:t,paymentInit:n=null,onResult:r,conversationId:o=null})=>e(qn,{paymentInit:n,conversationId:o,paymentProvider:I(),children:e(De,{onResult:e=>{r?.(e)},children:e(Hn,{provider:t,paymentInit:n})})},n?.provider??"default"),Hn=({provider:n,paymentInit:r})=>{const{themeStyles:o,theme:a}=j(),{adapter:s}=Wn(),u=Ve().summary,[d,p]=i(!1),f=c(()=>p(!0),[]),y=l(()=>m(o,a),[o,a]),h="moyasar"===r?.provider?r.config:null,g="chargebee"===r?.provider?r.config:null,v=u?.amount??h?.amount??g?.amount??0,b=u?.currency??h?.currency??g?.currency??"usd",w=null!=u?.amount||null!=h?.amount||null!=g?.amount,x=((e,t)=>P(e,t)??"")(v,b),S=n??s.label,E=s.FormComponent;return t("div",{className:"w-full flex-1 min-h-0 overflow-y-auto [&::-webkit-scrollbar]:hidden [scrollbar-width:none] relative",style:{background:y.pageBg,color:y.text,fontFamily:y.fontFamily,colorScheme:y.colorScheme},children:[!d&&e(Jn,{skin:y}),e("div",{className:"min-h-full flex items-center justify-center p-4",style:{visibility:d?"visible":"hidden"},children:t("div",{className:"w-full max-w-lg p-6",style:{background:y.cardBg,borderRadius:y.radius,boxShadow:y.cardShadow,color:y.text},children:[e("h1",{className:"text-base font-semibold text-center mb-3.5",style:{color:y.heading},children:"Payment Options"}),e("div",{className:"mb-3.5",children:e(E,{amount:v,currency:b,skin:y,onReady:f})}),!s.hideShellSubmit&&w&&e(Kn,{label:`Pay ${x}`,background:o.statusDiscovery.solid,color:o.statusDiscovery.text,radius:y.radius}),!s.hideShellFooter&&t("p",{className:"text-xs text-center mt-2.5",style:{color:y.muted},children:["Powered by ",S]})]})})]})},Jn=({skin:n})=>t("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3",style:{background:n.pageBg,color:n.text},"aria-live":"polite","aria-busy":"true",children:[e(D,{className:"h-8 w-8 animate-spin",style:{color:n.accent}}),e("p",{className:"text-sm",style:{color:n.muted},children:"Loading payment…"})]}),Kn=({label:t,background:n,color:r,radius:o})=>{const a=Ve().confirmHandle;return e("button",{type:"button",onClick:()=>a?.confirm(),disabled:!a||a.isConfirming,className:"w-full p-3 text-sm font-semibold border-0 cursor-pointer disabled:cursor-not-allowed disabled:opacity-70",style:{background:n,color:r,borderRadius:o},children:a?.isConfirming?"Processing…":t})};export{Yn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),n=require("@1interface/chat-core"),r=require("@1interface/shared-core"),o=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},a=(...e)=>e.filter((e,t,n)=>Boolean(e)&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim(),i=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const c=t.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:c="",children:l,iconNode:u,...d},p)=>t.createElement("svg",{ref:p,...s,width:n,height:n,stroke:e,strokeWidth:o?24*Number(r)/Number(n):r,className:a("lucide",c),...!l&&!i(d)&&{"aria-hidden":"true"},...d},[...u.map(([e,n])=>t.createElement(e,n)),...Array.isArray(l)?l:[l]])),l=((e,n)=>{const r=t.forwardRef(({className:r,...i},s)=>{return t.createElement(c,{ref:s,iconNode:n,className:a(`lucide-${l=o(e),l.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...i});var l});return r.displayName=o(e),r})("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var d,p,f,m,y,h,g,b,v,x,w,S,E,C,j,k,P={exports:{}},_={exports:{}},O={},A={};function T(){return f||(f=1,_.exports="production"===process.env.NODE_ENV?function(){if(d)return O;d=1;var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,l=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,f=e?Symbol.for("react.suspense_list"):60120,m=e?Symbol.for("react.memo"):60115,y=e?Symbol.for("react.lazy"):60116,h=e?Symbol.for("react.block"):60121,g=e?Symbol.for("react.fundamental"):60117,b=e?Symbol.for("react.responder"):60118,v=e?Symbol.for("react.scope"):60119;function x(e){if("object"==typeof e&&null!==e){var d=e.$$typeof;switch(d){case t:switch(e=e.type){case c:case l:case r:case a:case o:case p:return e;default:switch(e=e&&e.$$typeof){case s:case u:case y:case m:case i:return e;default:return d}}case n:return d}}}function w(e){return x(e)===l}return O.AsyncMode=c,O.ConcurrentMode=l,O.ContextConsumer=s,O.ContextProvider=i,O.Element=t,O.ForwardRef=u,O.Fragment=r,O.Lazy=y,O.Memo=m,O.Portal=n,O.Profiler=a,O.StrictMode=o,O.Suspense=p,O.isAsyncMode=function(e){return w(e)||x(e)===c},O.isConcurrentMode=w,O.isContextConsumer=function(e){return x(e)===s},O.isContextProvider=function(e){return x(e)===i},O.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},O.isForwardRef=function(e){return x(e)===u},O.isFragment=function(e){return x(e)===r},O.isLazy=function(e){return x(e)===y},O.isMemo=function(e){return x(e)===m},O.isPortal=function(e){return x(e)===n},O.isProfiler=function(e){return x(e)===a},O.isStrictMode=function(e){return x(e)===o},O.isSuspense=function(e){return x(e)===p},O.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===l||e===a||e===o||e===p||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===y||e.$$typeof===m||e.$$typeof===i||e.$$typeof===s||e.$$typeof===u||e.$$typeof===g||e.$$typeof===b||e.$$typeof===v||e.$$typeof===h)},O.typeOf=x,O}():(p||(p=1,"production"!==process.env.NODE_ENV&&function(){var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,l=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,d=e?Symbol.for("react.suspense"):60113,p=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,y=e?Symbol.for("react.block"):60121,h=e?Symbol.for("react.fundamental"):60117,g=e?Symbol.for("react.responder"):60118,b=e?Symbol.for("react.scope"):60119;function v(e){if("object"==typeof e&&null!==e){var p=e.$$typeof;switch(p){case t:var y=e.type;switch(y){case c:case l:case r:case a:case o:case d:return y;default:var h=y&&y.$$typeof;switch(h){case s:case u:case m:case f:case i:return h;default:return p}}case n:return p}}}var x=l,w=s,S=i,E=t,C=u,j=r,k=m,P=f,_=n,O=a,T=o,N=d,I=!1;function R(e){return v(e)===l}A.AsyncMode=c,A.ConcurrentMode=x,A.ContextConsumer=w,A.ContextProvider=S,A.Element=E,A.ForwardRef=C,A.Fragment=j,A.Lazy=k,A.Memo=P,A.Portal=_,A.Profiler=O,A.StrictMode=T,A.Suspense=N,A.isAsyncMode=function(e){return I||(I=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),R(e)||v(e)===c},A.isConcurrentMode=R,A.isContextConsumer=function(e){return v(e)===s},A.isContextProvider=function(e){return v(e)===i},A.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},A.isForwardRef=function(e){return v(e)===u},A.isFragment=function(e){return v(e)===r},A.isLazy=function(e){return v(e)===m},A.isMemo=function(e){return v(e)===f},A.isPortal=function(e){return v(e)===n},A.isProfiler=function(e){return v(e)===a},A.isStrictMode=function(e){return v(e)===o},A.isSuspense=function(e){return v(e)===d},A.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===l||e===a||e===o||e===d||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===f||e.$$typeof===i||e.$$typeof===s||e.$$typeof===u||e.$$typeof===h||e.$$typeof===g||e.$$typeof===b||e.$$typeof===y)},A.typeOf=v}()),A)),_.exports}function N(){return g?h:(g=1,h="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}function I(){return v?b:(v=1,b=Function.call.bind(Object.prototype.hasOwnProperty))}function R(){if(w)return x;w=1;var e=function(){};if("production"!==process.env.NODE_ENV){var t=N(),n={},r=I();e=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}}function o(o,a,i,s,c){if("production"!==process.env.NODE_ENV)for(var l in o)if(r(o,l)){var u;try{if("function"!=typeof o[l]){var d=Error((s||"React class")+": "+i+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[l]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw d.name="Invariant Violation",d}u=o[l](a,l,s,i,null,t)}catch(e){u=e}if(!u||u instanceof Error||e((s||"React class")+": type specification of "+i+" `"+l+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof u+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error&&!(u.message in n)){n[u.message]=!0;var p=c?c():"";e("Failed "+i+" type: "+u.message+(null!=p?p:""))}}}return o.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(n={})},x=o}function M(){if(E)return S;E=1;var e=T(),t=function(){if(y)return m;y=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;return m=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(r,o){for(var a,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(r),c=1;c<arguments.length;c++){for(var l in a=Object(arguments[c]))t.call(a,l)&&(s[l]=a[l]);if(e){i=e(a);for(var u=0;u<i.length;u++)n.call(a,i[u])&&(s[i[u]]=a[i[u]])}}return s},m}(),n=N(),r=I(),o=R(),a=function(){};function i(){return null}return"production"!==process.env.NODE_ENV&&(a=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}),S=function(s,c){var l="function"==typeof Symbol&&Symbol.iterator,u="<<anonymous>>",d={array:y("array"),bigint:y("bigint"),bool:y("boolean"),func:y("function"),number:y("number"),object:y("object"),string:y("string"),symbol:y("symbol"),any:m(i),arrayOf:function(e){return m(function(t,r,o,a,i){if("function"!=typeof e)return new f("Property `"+i+"` of component `"+o+"` has invalid PropType notation inside arrayOf.");var s=t[r];if(!Array.isArray(s))return new f("Invalid "+a+" `"+i+"` of type `"+b(s)+"` supplied to `"+o+"`, expected an array.");for(var c=0;c<s.length;c++){var l=e(s,c,o,a,i+"["+c+"]",n);if(l instanceof Error)return l}return null})},element:m(function(e,t,n,r,o){var a=e[t];return s(a)?null:new f("Invalid "+r+" `"+o+"` of type `"+b(a)+"` supplied to `"+n+"`, expected a single ReactElement.")}),elementType:m(function(t,n,r,o,a){var i=t[n];return e.isValidElementType(i)?null:new f("Invalid "+o+" `"+a+"` of type `"+b(i)+"` supplied to `"+r+"`, expected a single ReactElement type.")}),instanceOf:function(e){return m(function(t,n,r,o,a){return t[n]instanceof e?null:new f("Invalid "+o+" `"+a+"` of type `"+((i=t[n]).constructor&&i.constructor.name?i.constructor.name:u)+"` supplied to `"+r+"`, expected instance of `"+(e.name||u)+"`.");var i})},node:m(function(e,t,n,r,o){return g(e[t])?null:new f("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}),objectOf:function(e){return m(function(t,o,a,i,s){if("function"!=typeof e)return new f("Property `"+s+"` of component `"+a+"` has invalid PropType notation inside objectOf.");var c=t[o],l=b(c);if("object"!==l)return new f("Invalid "+i+" `"+s+"` of type `"+l+"` supplied to `"+a+"`, expected an object.");for(var u in c)if(r(c,u)){var d=e(c,u,a,i,s+"."+u,n);if(d instanceof Error)return d}return null})},oneOf:function(e){return Array.isArray(e)?m(function(t,n,r,o,a){for(var i=t[n],s=0;s<e.length;s++)if(p(i,e[s]))return null;var c=JSON.stringify(e,function(e,t){return"symbol"===v(t)?String(t):t});return new f("Invalid "+o+" `"+a+"` of value `"+String(i)+"` supplied to `"+r+"`, expected one of "+c+".")}):("production"!==process.env.NODE_ENV&&a(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),i)},oneOfType:function(e){if(!Array.isArray(e))return"production"!==process.env.NODE_ENV&&a("Invalid argument supplied to oneOfType, expected an instance of array."),i;for(var t=0;t<e.length;t++){var o=e[t];if("function"!=typeof o)return a("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+x(o)+" at index "+t+"."),i}return m(function(t,o,a,i,s){for(var c=[],l=0;l<e.length;l++){var u=(0,e[l])(t,o,a,i,s,n);if(null==u)return null;u.data&&r(u.data,"expectedType")&&c.push(u.data.expectedType)}return new f("Invalid "+i+" `"+s+"` supplied to `"+a+"`"+(c.length>0?", expected one of type ["+c.join(", ")+"]":"")+".")})},shape:function(e){return m(function(t,r,o,a,i){var s=t[r],c=b(s);if("object"!==c)return new f("Invalid "+a+" `"+i+"` of type `"+c+"` supplied to `"+o+"`, expected `object`.");for(var l in e){var u=e[l];if("function"!=typeof u)return h(o,a,i,l,v(u));var d=u(s,l,o,a,i+"."+l,n);if(d)return d}return null})},exact:function(e){return m(function(o,a,i,s,c){var l=o[a],u=b(l);if("object"!==u)return new f("Invalid "+s+" `"+c+"` of type `"+u+"` supplied to `"+i+"`, expected `object`.");var d=t({},o[a],e);for(var p in d){var m=e[p];if(r(e,p)&&"function"!=typeof m)return h(i,s,c,p,v(m));if(!m)return new f("Invalid "+s+" `"+c+"` key `"+p+"` supplied to `"+i+"`.\nBad object: "+JSON.stringify(o[a],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var y=m(l,p,i,s,c+"."+p,n);if(y)return y}return null})}};function p(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function f(e,t){this.message=e,this.data=t&&"object"==typeof t?t:{},this.stack=""}function m(e){if("production"!==process.env.NODE_ENV)var t={},r=0;function o(o,i,s,l,d,p,m){if(l=l||u,p=p||s,m!==n){if(c){var y=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw y.name="Invariant Violation",y}if("production"!==process.env.NODE_ENV&&"undefined"!=typeof console){var h=l+":"+s;!t[h]&&r<3&&(a("You are manually calling a React.PropTypes validation function for the `"+p+"` prop on `"+l+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),t[h]=!0,r++)}}return null==i[s]?o?new f(null===i[s]?"The "+d+" `"+p+"` is marked as required in `"+l+"`, but its value is `null`.":"The "+d+" `"+p+"` is marked as required in `"+l+"`, but its value is `undefined`."):null:e(i,s,l,d,p)}var i=o.bind(null,!1);return i.isRequired=o.bind(null,!0),i}function y(e){return m(function(t,n,r,o,a,i){var s=t[n];return b(s)!==e?new f("Invalid "+o+" `"+a+"` of type `"+v(s)+"` supplied to `"+r+"`, expected `"+e+"`.",{expectedType:e}):null})}function h(e,t,n,r,o){return new f((e||"React class")+": "+t+" type `"+n+"."+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+o+"`.")}function g(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(g);if(null===e||s(e))return!0;var t=function(e){var t=e&&(l&&e[l]||e["@@iterator"]);if("function"==typeof t)return t}(e);if(!t)return!1;var n,r=t.call(e);if(t!==e.entries){for(;!(n=r.next()).done;)if(!g(n.value))return!1}else for(;!(n=r.next()).done;){var o=n.value;if(o&&!g(o[1]))return!1}return!0;default:return!1}}function b(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}(t,e)?"symbol":t}function v(e){if(null==e)return""+e;var t=b(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function x(e){var t=v(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return f.prototype=Error.prototype,d.checkPropTypes=o,d.resetWarningCache=o.resetWarningCache,d.PropTypes=d,d},S}function F(){if(j)return C;j=1;var e=N();function t(){}function n(){}return n.resetWarningCache=t,C=function(){function r(t,n,r,o,a,i){if(i!==e){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function o(){return r}r.isRequired=r;var a={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:o,element:r,elementType:r,instanceOf:o,node:r,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return a.PropTypes=a,a}}function $(){if(k)return P.exports;if(k=1,"production"!==process.env.NODE_ENV){var e=T();P.exports=M()(e.isElement,!0)}else P.exports=F()();return P.exports}const D=u($());function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?V(Object(n),!0).forEach(function(t){U(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):V(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function B(e){return(B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function U(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function z(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var r,o,a=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(s)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var q=function(e,n,r){var o=!!r,a=t.useRef(r);t.useEffect(function(){a.current=r},[r]),t.useEffect(function(){if(!o||!e)return function(){};var t=function(){a.current&&a.current.apply(a,arguments)};return e.on(n,t),function(){e.off(n,t)}},[o,n,e,a])},Y=function(e){var n=t.useRef(e);return t.useEffect(function(){n.current=e},[e]),n.current},W=function(e){return null!==e&&"object"===B(e)},J="[object Object]",G=function e(t,n){if(!W(t)||!W(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var o=Object.prototype.toString.call(t)===J;if(o!==(Object.prototype.toString.call(n)===J))return!1;if(!o&&!r)return t===n;var a=Object.keys(t),i=Object.keys(n);if(a.length!==i.length)return!1;for(var s={},c=0;c<a.length;c+=1)s[a[c]]=!0;for(var l=0;l<i.length;l+=1)s[i[l]]=!0;var u=Object.keys(s);if(u.length!==a.length)return!1;var d=t,p=n;return u.every(function(t){return e(d[t],p[t])})},K=function(e,t,n){return W(e)?Object.keys(e).reduce(function(r,o){var a=!W(t)||!G(e[o],t[o]);return n.includes(o)?(a&&console.warn("Unsupported prop change: options.".concat(o," is not a mutable property.")),r):a?L(L({},r||{}),{},U({},o,e[o])):r},null):null},X="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",Z=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:X;if(null===e||W(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;throw new Error(n)},Q=t.createContext(null);Q.displayName="ElementsContext";var ee=function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e},te=function(e){var n=e.stripe,r=e.options,o=e.children,a=t.useMemo(function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:X;if(function(e){return W(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(function(e){return Z(e,t)})};var n=Z(e,t);return null===n?{tag:"empty"}:{tag:"sync",stripe:n}}(n)},[n]),i=z(t.useState(function(){return{stripe:"sync"===a.tag?a.stripe:null,elements:"sync"===a.tag?a.stripe.elements(r):null}}),2),s=i[0],c=i[1];t.useEffect(function(){var e=!0,t=function(e){c(function(t){return t.stripe?t:{stripe:e,elements:e.elements(r)}})};return"async"!==a.tag||s.stripe?"sync"!==a.tag||s.stripe||t(a.stripe):a.stripePromise.then(function(n){n&&e&&t(n)}),function(){e=!1}},[a,s,r]);var l=Y(n);t.useEffect(function(){null!==l&&l!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[l,n]);var u=Y(r);return t.useEffect(function(){if(s.elements){var e=K(r,u,["clientSecret","fonts"]);e&&s.elements.update(e)}},[r,u,s.elements]),t.useEffect(function(){var e;(e=s.stripe)&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"3.10.0"}),e.registerAppInfo({name:"react-stripe-js",version:"3.10.0",url:"https://stripe.com/docs/stripe-js/react"}))},[s.stripe]),t.createElement(Q.Provider,{value:s},o)};te.propTypes={stripe:D.any,options:D.object};var ne=t.createContext(null);ne.displayName="CheckoutSdkContext",t.createContext(null).displayName="CheckoutContext",D.shape({fetchClientSecret:D.func.isRequired,elementsOptions:D.object});var re=function(e){var n=t.useContext(ne),r=t.useContext(Q);if(n&&r)throw new Error("You cannot wrap the part of your app that ".concat(e," in both <CheckoutProvider> and <Elements> providers."));return n?function(e,t){if(!e)throw new Error("Could not find CheckoutProvider context; You need to wrap the part of your app that ".concat(t," in an <CheckoutProvider> provider."));return e}(n,e):ee(r,e)},oe=["mode"],ae=function(e,n){var r,o="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),a=n?function(e){return re("mounts <".concat(o,">")),t.createElement("div",{id:e.id,className:e.className})}:function(n){var r,a=n.id,i=n.className,s=n.options,c=void 0===s?{}:s,l=n.onBlur,u=n.onFocus,d=n.onReady,p=n.onChange,f=n.onEscape,m=n.onClick,y=n.onLoadError,h=n.onLoaderStart,g=n.onNetworksChange,b=n.onConfirm,v=n.onCancel,x=n.onShippingAddressChange,w=n.onShippingRateChange,S=n.onSavedPaymentMethodRemove,E=n.onSavedPaymentMethodUpdate,C=re("mounts <".concat(o,">")),j="elements"in C?C.elements:null,k="checkoutSdk"in C?C.checkoutSdk:null,P=z(t.useState(null),2),_=P[0],O=P[1],A=t.useRef(null),T=t.useRef(null);q(_,"blur",l),q(_,"focus",u),q(_,"escape",f),q(_,"click",m),q(_,"loaderror",y),q(_,"loaderstart",h),q(_,"networkschange",g),q(_,"confirm",b),q(_,"cancel",v),q(_,"shippingaddresschange",x),q(_,"shippingratechange",w),q(_,"savedpaymentmethodremove",S),q(_,"savedpaymentmethodupdate",E),q(_,"change",p),d&&(r="expressCheckout"===e?d:function(){d(_)}),q(_,"ready",r),t.useLayoutEffect(function(){if(null===A.current&&null!==T.current&&(j||k)){var t=null;if(k)switch(e){case"payment":t=k.createPaymentElement(c);break;case"address":if(!("mode"in c))throw new Error("You must supply options.mode. mode must be 'billing' or 'shipping'.");var n=c.mode,r=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(c,oe);if("shipping"===n)t=k.createShippingAddressElement(r);else{if("billing"!==n)throw new Error("Invalid options.mode. mode must be 'billing' or 'shipping'.");t=k.createBillingAddressElement(r)}break;case"expressCheckout":t=k.createExpressCheckoutElement(c);break;case"currencySelector":t=k.createCurrencySelectorElement();break;case"taxId":t=k.createTaxIdElement(c);break;default:throw new Error("Invalid Element type ".concat(o,". You must use either the <PaymentElement />, <AddressElement options={{mode: 'shipping'}} />, <AddressElement options={{mode: 'billing'}} />, or <ExpressCheckoutElement />."))}else j&&(t=j.create(e,c));A.current=t,O(t),t&&t.mount(T.current)}},[j,k,c]);var N=Y(c);return t.useEffect(function(){if(A.current){var e=K(c,N,["paymentRequest"]);e&&"update"in A.current&&A.current.update(e)}},[c,N]),t.useLayoutEffect(function(){return function(){if(A.current&&"function"==typeof A.current.destroy)try{A.current.destroy(),A.current=null}catch(e){}}},[]),t.createElement("div",{id:a,className:i,ref:T})};return a.propTypes={id:D.string,className:D.string,onChange:D.func,onBlur:D.func,onFocus:D.func,onReady:D.func,onEscape:D.func,onClick:D.func,onLoadError:D.func,onLoaderStart:D.func,onNetworksChange:D.func,onConfirm:D.func,onCancel:D.func,onShippingAddressChange:D.func,onShippingRateChange:D.func,onSavedPaymentMethodRemove:D.func,onSavedPaymentMethodUpdate:D.func,options:D.object},a.displayName=o,a.__elementType=e,a},ie="undefined"==typeof window;t.createContext(null).displayName="EmbeddedCheckoutProviderContext",ae("auBankAccount",ie),ae("card",ie),ae("cardNumber",ie),ae("cardExpiry",ie),ae("cardCvc",ie),ae("fpxBank",ie),ae("iban",ie),ae("idealBank",ie),ae("p24Bank",ie),ae("epsBank",ie);var se=ae("payment",ie);ae("expressCheckout",ie),ae("currencySelector",ie),ae("paymentRequestButton",ie),ae("linkAuthentication",ie),ae("address",ie),ae("shippingAddress",ie),ae("paymentMethodMessaging",ie),ae("affirmMessage",ie),ae("afterpayClearpayMessage",ie),ae("taxId",ie);const ce=t.createContext(null),le=({onResult:n,children:r})=>{const[o,a]=t.useState(null),[i,s]=t.useState(null),c=t.useRef(n);c.current=n;const l=t.useCallback(e=>{c.current(e)},[]),u=t.useCallback(e=>{a(e)},[]),d=t.useCallback(e=>{s(e)},[]),p=t.useMemo(()=>({emitResult:l,registerConfirm:u,confirmHandle:o,reportSummary:d,summary:i}),[l,u,o,d,i]);return e.jsx(ce.Provider,{value:p,children:r})},ue=()=>{const e=t.useContext(ce);if(!e)throw new Error("Payment result channel hooks must be used inside PaymentResultChannelProvider");return e},de=()=>ue().emitResult,pe=()=>ue().registerConfirm,fe=()=>ue().reportSummary;function me(e){return(me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ye,he="https://js.stripe.com/v3",ge=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,be="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",ve=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(he).concat(t);var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return r.appendChild(n),n},xe=null,we=null,Se=null,Ee=function(e){var t="invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ".concat(JSON.stringify(e),"\n");if(null===e||"object"!==me(e))throw new Error(t);if(1===Object.keys(e).length&&"boolean"==typeof e.advancedFraudSignals)return e;throw new Error(t)},Ce=!1,je=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];Ce=!0;var r,o=Date.now();return(r=ye,null!==xe?xe:(xe=new Promise(function(e,t){if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&r&&console.warn(be),window.Stripe)e(window.Stripe);else try{var n=function(){for(var e=document.querySelectorAll('script[src^="'.concat(he,'"]')),t=0;t<e.length;t++){var n=e[t];if(ge.test(n.src))return n}return null}();if(n&&r)console.warn(be);else if(n){if(n&&null!==Se&&null!==we){var o;n.removeEventListener("load",Se),n.removeEventListener("error",we),null===(o=n.parentNode)||void 0===o||o.removeChild(n),n=ve(r)}}else n=ve(r);Se=function(e,t){return function(){window.Stripe?e(window.Stripe):t(new Error("Stripe.js not available"))}}(e,t),we=function(e){return function(){e(new Error("Failed to load Stripe.js"))}}(t),n.addEventListener("load",Se),n.addEventListener("error",we)}catch(e){return void t(e)}else e(null)})).catch(function(e){return xe=null,Promise.reject(e)})).then(function(e){return function(e,t,n){if(null===e)return null;var r=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"4.6.0",startTime:t})}(r,n),r}(e,t,o)})};je.setLoadParameters=function(e){if(Ce&&ye){var t=Ee(e);if(Object.keys(t).reduce(function(t,n){var r;return t&&e[n]===(null===(r=ye)||void 0===r?void 0:r[n])},!0))return}if(Ce)throw new Error("You cannot change load parameters after calling loadStripe");ye=Ee(e)};const ke=t.createContext(null),Pe=({onReady:n})=>{const r=re("calls useStripe()").stripe,o=(p=t.useContext(Q),ee(p,"calls useElements()")).elements,{paymentInit:a}=hn(),i=de(),s=pe(),c=fe(),[l,u]=t.useState(!1),d="stripe"===a?.provider?a.config.client_secret:null;var p;t.useEffect(()=>{if(!r||!d)return;let e=!1;return r.retrievePaymentIntent(d).then(t=>{if(e)return;const n=t.paymentIntent;n&&"number"==typeof n.amount&&n.currency&&c({amount:n.amount,currency:n.currency})}),()=>{e=!0}},[r,d,c]);const f=t.useCallback(async()=>{if(!r||!o||!d)return;u(!0);const{error:e}=await o.submit();if(e)return void u(!1);const{error:t,paymentIntent:n}=await r.confirmPayment({elements:o,clientSecret:d,confirmParams:{return_url:window.location.href},redirect:"if_required"});u(!1),t||!n||"succeeded"!==n.status&&"requires_capture"!==n.status||i({status:"success",provider:"stripe",paymentId:n.id,amount:n.amount,currency:n.currency})},[r,o,d,i]);return t.useEffect(()=>(s({confirm:f,isConfirming:l}),()=>s(null)),[f,l,s]),e.jsx(se,{options:{layout:"tabs",wallets:{applePay:"auto",googlePay:"auto"}},onReady:n})},_e={type:"stripe",label:"Stripe",ProviderWrapper:({children:n})=>{const{paymentInit:r}=hn(),[o,a]=t.useState(null),i="stripe"===r?.provider?r.config.publishable_key:null;t.useEffect(()=>{i&&i.startsWith("pk_")&&a(je(i))},[i]);const s=t.useMemo(()=>({stripePromise:o}),[o]);return e.jsx(ke.Provider,{value:s,children:n})},FormComponent:({onReady:o})=>{const{themeStyles:a,theme:i}=r.useBranding(),{stripePromise:s}=(()=>{const e=t.useContext(ke);if(!e)throw new Error("Stripe adapter components must be used inside StripeProviderWrapper");return e})(),{paymentInit:c}=hn(),l=t.useMemo(()=>n.buildBrandSkin(a,i),[a,i]),u=t.useMemo(()=>function(e,t,n){return{theme:"dark"===t?"night":"stripe",variables:{colorPrimary:e.statusDiscovery.solid,colorBackground:n.cardBg,colorText:n.text,colorDanger:"#df1b41",fontFamily:n.fontFamily,borderRadius:`${n.radius}px`,spacingUnit:"3px",fontSizeBase:"16px"}}}(a,i,l),[a,i,l]),d="stripe"===c?.provider?c.config.client_secret:null,p=t.useMemo(()=>d?{clientSecret:d,appearance:u}:null,[d,u]);return s&&p?e.jsx(te,{stripe:s,options:p,children:e.jsx(Pe,{onReady:o})},d):null}};function Oe(e,t){if("undefined"==typeof document||document.getElementById(e))return;const n=document.createElement("style");n.id=e,n.textContent=t,document.head.appendChild(n)}function Ae(e){const t={};if(e.config.metadata)for(const[n,r]of Object.entries(e.config.metadata))null!=r&&(t[n]=String(r));if(e.config.customer){const{name:n,email:r,phone:o,reference_id:a}=e.config.customer;n&&(t.customer_name=n),r&&(t.customer_email=r),o&&(t.customer_phone=o),a&&(t.customer_reference_id=a)}return t}class Te extends Error{constructor(e,t,n){super(e),this.status=t,this.body=n,this.name="MoyasarApiError"}}async function Ne(e){const t=await Ie("https://api.moyasar.com/v1/payments",e);if(!t.ok)throw new Te(Re(t.body)??`Payment creation failed (${t.status})`,t.status,t.body);const n=t.body;if(!n||"string"!=typeof n.id||"string"!=typeof n.status)throw new Te("Payment creation returned no id/status",t.status,n);return n}async function Ie(e,t){const n=new AbortController,r=setTimeout(()=>n.abort(new DOMException("Request timed out","TimeoutError")),3e4);let o;try{o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:n.signal})}catch(e){const t=e instanceof DOMException&&"TimeoutError"===e.name?"Payment request timed out — please try again.":e instanceof Error?e.message:"Network request failed";throw new Te(t)}finally{clearTimeout(r)}let a=null;try{a=await o.json()}catch{a=null}return{ok:o.ok,status:o.status,body:a}}function Re(e){if(!e||"object"!=typeof e)return null;if("string"==typeof e.message&&e.message.length>0)return e.message;if(e.errors&&"object"==typeof e.errors){const t=e.errors;for(const[e,n]of Object.entries(t)){if(Array.isArray(n)&&"string"==typeof n[0])return`${Me(e)}: ${n[0]}`;if("string"==typeof n)return`${Me(e)}: ${n}`}}return null}function Me(e){return e.replace(/_/g," ")}const Fe=({url:r,onResult:o,skin:a})=>{const i=t.useRef(o);i.current=o;const s=t.useRef(!1),[c,l]=t.useState(!1),u=t.useRef(!1),d=t.useCallback(e=>{s.current||(s.current=!0,i.current({status:"failure",provider:"moyasar",message:e}))},[]);return t.useEffect(()=>{const e=window.location.origin,t=t=>{if(t.origin!==e)return;if(s.current)return;if(!(r=t.data)||"object"!=typeof r||"moyasar-iframe-callback"!==r.type||"string"!=typeof r.search)return;var r;const o=n.parseMoyasarCallbackFromUrl(t.data.search);o&&(s.current=!0,i.current(o.result))};return window.addEventListener("message",t),()=>window.removeEventListener("message",t)},[]),t.useEffect(()=>{const e=setTimeout(()=>{u.current||d("3D Secure challenge failed to load")},6e4);return()=>clearTimeout(e)},[d]),e.jsxs("div",{className:"absolute inset-0 z-[105]",style:{background:a.cardBg},role:"dialog","aria-label":"3D Secure authentication",children:[!c&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center text-sm",style:{color:a.muted,fontFamily:a.fontFamily},children:"Loading…"}),e.jsx("iframe",{src:r,title:"3D Secure",className:"w-full h-full",style:{border:0,background:"white"},onLoad:()=>{u.current=!0,l(!0)},onError:()=>{d("3D Secure challenge failed to load")},allow:"payment *",sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-top-navigation-by-user-activation",referrerPolicy:"no-referrer"})]})},$e=["mada","visa","masterCard"],De=({skin:o})=>{const{paymentInit:a}=hn(),i=a&&"moyasar"===a.provider?a:null,s=de(),[c,l]=t.useState(null),u=t.useRef(s);u.current=s,t.useEffect(()=>{Oe("aiatcore-apple-pay-style","\n .aiatcore-apple-pay-button {\n -webkit-appearance: -apple-pay-button;\n -apple-pay-button-type: pay;\n -apple-pay-button-style: black;\n width: 100%;\n cursor: pointer;\n border: none;\n padding: 0;\n margin: 0;\n }\n ")},[]);const d=t.useCallback(()=>{if(!i)return;const e=window.ApplePaySession;if(!e)return void r.showErrorToast("Apple Pay is not available on this device.");const t=i.config.apple_pay?.label??i.config.description??"Payment",o=i.config.apple_pay?.country??"SA",a=i.config.currency.toUpperCase(),c=(i.config.amount/100).toFixed(2),u={countryCode:o,currencyCode:a,supportedNetworks:$e,merchantCapabilities:["supports3DS","supportsDebit","supportsCredit"],total:{label:t,amount:c}};let d;try{d=new e(5,u)}catch(e){return void r.showErrorToast(e instanceof Error?e.message:"Failed to start Apple Pay")}d.onvalidatemerchant=async e=>{try{const n=await async function(e){const t={validation_url:e.validationUrl,display_name:e.displayName,domain_name:e.domainName??window.location.hostname,publishable_api_key:e.publishableApiKey},n=new AbortController,r=setTimeout(()=>n.abort(new DOMException("Request timed out","TimeoutError")),3e4);let o;try{o=await fetch("https://api.moyasar.com/v1/applepay/initiate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:n.signal})}catch(e){const t=e instanceof DOMException&&"TimeoutError"===e.name?"Apple Pay merchant validation timed out — please try again.":e instanceof Error?e.message:"Network request failed";throw new Te(t)}finally{clearTimeout(r)}let a=null;try{a=await o.json()}catch{a=null}if(!o.ok)throw new Te(function(e){return e&&"object"==typeof e&&"string"==typeof e.message&&e.message.length>0?e.message:null}(a)??`Apple Pay merchant validation failed (${o.status})`,o.status,a);return a}({validationUrl:e.validationURL,displayName:t,publishableApiKey:i.config.publishable_key});d.completeMerchantValidation(n)}catch(e){const t=e instanceof Error?e.message:"Merchant validation failed";d.abort(),s({status:"failure",provider:"moyasar",message:t,paymentId:i.config.given_id})}},d.onpaymentauthorized=async t=>{try{const r=Ae(i),o=await Ne({publishable_api_key:i.config.publishable_key,given_id:i.config.given_id,amount:i.config.amount,currency:a,description:i.config.description,callback_url:n.buildCallbackUrl(i.config.given_id),source:{type:"applepay",token:t.payment.token},...Object.keys(r).length>0?{metadata:r}:{}}),c=o.source?.transaction_url??o.transaction_url;if(c)return d.completePayment({status:e.STATUS_SUCCESS}),void l(c);const u=o.status;if("paid"===u||"authorized"===u||"captured"===u)d.completePayment({status:e.STATUS_SUCCESS}),s({status:"success",provider:"moyasar",paymentId:o.id,amount:o.amount,currency:o.currency});else if("failed"===u){const t=o.source?.message??"Payment failed";d.completePayment({status:e.STATUS_FAILURE}),s({status:"failure",provider:"moyasar",code:"failed",message:t,paymentId:o.id})}else{const t=`Unexpected payment status: ${u}`;d.completePayment({status:e.STATUS_FAILURE}),s({status:"failure",provider:"moyasar",code:u,message:t,paymentId:o.id})}}catch(t){const n=t instanceof Te||t instanceof Error?t.message:"Payment failed";d.completePayment({status:e.STATUS_FAILURE}),s({status:"failure",provider:"moyasar",message:n,paymentId:i.config.given_id})}},d.oncancel=()=>{};try{d.begin()}catch(e){r.showErrorToast(e instanceof Error?e.message:"Failed to start Apple Pay")}},[i,s]);return i?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:d,className:"aiatcore-apple-pay-button",style:{borderRadius:o.radius,height:44},"aria-label":"Pay with Apple Pay"}),c&&e.jsx(Fe,{url:c,skin:o,onResult:e=>{l(null),u.current(e)}})]}):null};var Ve,Le,Be,Ue={},ze={};function He(){return Be||(Be=1,Object.defineProperty(ze,"__esModule",{value:!0}),ze.clone=function(e){return e?JSON.parse(JSON.stringify(e)):null}),ze}var qe,Ye,We,Je,Ge,Ke,Xe={},Ze={},Qe={};function et(){if(Ke)return Ge;Ke=1;var e=Ge&&Ge.__assign||function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},e.apply(this,arguments)},t=Le?Ve:(Le=1,Ve={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[62207,62209],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292,810,[8110,8131],[8132,8151],[8152,8163],[8164,8171]],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,504174],[504176,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,63737423,63743358,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},verve:{niceType:"Verve",type:"verve",patterns:[[506099,506127],506129,[506133,506150],[506158,506163],506166,506168,506170,506173,[506176,506180],506184,[506187,506188],506191,506195,506197,507865,507866,[507868,507877],[507880,507888],507900,507941],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}}}),n=function(){if(Ye)return Ue;Ye=1,Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.addMatchingCardsToResults=function(n,r,o){var a,i;for(a=0;a<r.patterns.length;a++){var s=r.patterns[a];if((0,t.matches)(n,s)){var c=(0,e.clone)(r);i=Array.isArray(s)?String(s[0]).length:String(s).length,n.length>=i&&(c.matchStrength=i),o.push(c);break}}};var e=He(),t=(qe||(qe=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.matches=function(e,t){return Array.isArray(t)?function(e,t,n){var r=String(t).length,o=e.substr(0,r),a=parseInt(o,10);return t=parseInt(String(t).substr(0,o.length),10),n=parseInt(String(n).substr(0,o.length),10),a>=t&&a<=n}(e,t[0],t[1]):function(e,t){return(t=String(t)).substring(0,e.length)===e.substring(0,t.length)}(e,t)}),Xe);return Ue}(),r=(We||(We=1,Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.isValidInputType=function(e){return"string"==typeof e||e instanceof String}),Ze),o=(Je||(Je=1,Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.findBestMatch=function(e){return function(e){var t=e.filter(function(e){return e.matchStrength}).length;return t>0&&t===e.length}(e)?e.reduce(function(e,t){return e?Number(e.matchStrength)<Number(t.matchStrength)?t:e:t}):null}),Qe),a=He(),i={},s={VISA:"visa",MASTERCARD:"mastercard",AMERICAN_EXPRESS:"american-express",DINERS_CLUB:"diners-club",DISCOVER:"discover",JCB:"jcb",UNIONPAY:"unionpay",VERVE:"verve",MAESTRO:"maestro",ELO:"elo",MIR:"mir",HIPER:"hiper",HIPERCARD:"hipercard"},c=[s.VISA,s.MASTERCARD,s.AMERICAN_EXPRESS,s.DINERS_CLUB,s.DISCOVER,s.JCB,s.UNIONPAY,s.VERVE,s.MAESTRO,s.ELO,s.MIR,s.HIPER,s.HIPERCARD],l=(0,a.clone)(c);function u(e){return i[e]||t[e]}function d(e,t){void 0===t&&(t=!1);var n=l.indexOf(e);if(!t&&-1===n)throw new Error('"'+e+'" is not a supported card type.');return n}function p(e){var t=[];if(!(0,r.isValidInputType)(e))return t;if(0===e.length)return l.map(function(e){return(0,a.clone)(u(e))});l.forEach(function(r){var o=u(r);(0,n.addMatchingCardsToResults)(e,o,t)});var i=(0,o.findBestMatch)(t);return i?[i]:t}return p.getTypeInfo=function(e){return(0,a.clone)(u(e))},p.removeCard=function(e){var t=d(e);l.splice(t,1)},p.addCard=function(e){var t=d(e.type,!0);i[e.type]=e,-1===t&&l.push(e.type)},p.updateCard=function(n,r){var o=i[n]||t[n];if(!o)throw new Error('"'.concat(n,"\" is not a recognized type. Use `addCard` instead.'"));if(r.type&&o.type!==r.type)throw new Error("Cannot overwrite type parameter.");var s=(0,a.clone)(o);s=e(e({},s),r),i[s.type]=s},p.changeOrder=function(e,t){var n=d(e);l.splice(n,1),l.splice(t,0,e)},p.resetModifications=function(){l=(0,a.clone)(c),i={}},p.types=s,Ge=p}var tt,nt,rt,ot,at,it={},st={},ct={},lt={},ut={};function dt(){if(at)return ut;at=1,Object.defineProperty(ut,"__esModule",{value:!0}),ut.expirationYear=function(n,r){var o;if(void 0===r&&(r=e),"string"!=typeof n)return t(!1,!1);if(""===n.replace(/\s/g,""))return t(!1,!0);if(!/^\d*$/.test(n))return t(!1,!1);var a=n.length;if(a<2)return t(!1,!0);var i=(new Date).getFullYear();if(3===a)return t(!1,n.slice(0,2)===String(i).slice(0,2));if(a>4)return t(!1,!1);var s=parseInt(n,10),c=Number(String(i).substr(2,2)),l=!1;if(2===a){if(String(i).substr(0,2)===n)return t(!1,!0);o=c===s,l=s>=c&&s<=c+r}else 4===a&&(o=i===s,l=s>=i&&s<=i+r);return t(l,l,o)};var e=19;function t(e,t,n){return{isValid:e,isPotentiallyValid:t,isCurrentYear:n||!1}}return ut}var pt,ft,mt,yt,ht={},gt={};function bt(){if(mt)return gt;function e(e,t,n){return{isValid:e,isPotentiallyValid:t,isValidForThisYear:n||!1}}return mt=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.expirationMonth=function(t){var n=(new Date).getMonth()+1;if("string"!=typeof t)return e(!1,!1);if(""===t.replace(/\s/g,"")||"0"===t)return e(!1,!0);if(!/^\d*$/.test(t))return e(!1,!1);var r=parseInt(t,10);if(isNaN(Number(t)))return e(!1,!1);var o=r>0&&r<13;return e(o,o,o&&r>=n)},gt}var vt,xt,wt,St,Et={},Ct={};const jt=u(function(){if(St)return wt;St=1;var e=wt&&wt.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),t=wt&&wt.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=(wt&&wt.__importStar||function(){var n=function(e){return(n=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)};return function(r){if(r&&r.__esModule)return r;var o={};if(null!=r)for(var a=n(r),i=0;i<a.length;i++)"default"!==a[i]&&e(o,r,a[i]);return t(o,r),o}}())(et()),r=function(){if(tt)return it;tt=1,Object.defineProperty(it,"__esModule",{value:!0}),it.cardholderName=function(r){return"string"!=typeof r?n(!1,!1):0===r.length?n(!1,!0):r.length>t?n(!1,!1):e.test(r)?n(!1,!0):n(!0,!0)};var e=/^[\d\s-]*$/,t=255;function n(e,t){return{isValid:e,isPotentiallyValid:t}}return it}(),o=function(){if(ot)return st;ot=1,Object.defineProperty(st,"__esModule",{value:!0}),st.cardNumber=function(r,o){var a,i;if(void 0===o&&(o={}),"string"!=typeof r&&"number"!=typeof r)return n(null,!1,!1);var s=String(r).replace(/-|\s/g,"");if(!/^\d*$/.test(s))return n(null,!1,!1);var c=t(s);if(0===c.length)return n(null,!1,!1);if(1!==c.length)return n(null,!0,!1);var l=c[0];if(o.maxLength&&s.length>o.maxLength)return n(l,!1,!1);a=!0===o.skipLuhnValidation||l.type===t.types.UNIONPAY&&!0!==o.luhnValidateUnionPay||e(s),i=Math.max.apply(null,l.lengths),o.maxLength&&(i=Math.min(o.maxLength,i));for(var u=0;u<l.lengths.length;u++)if(l.lengths[u]===s.length)return n(l,s.length<i||a,a);return n(l,s.length<i,!1)};var e=rt?nt:(rt=1,nt=function(e){for(var t,n=0,r=!1,o=e.length-1;o>=0;)t=parseInt(e.charAt(o),10),r&&(t*=2)>9&&(t=t%10+1),r=!r,n+=t,o--;return n%10==0}),t=et();function n(e,t,n){return{card:e,isPotentiallyValid:t,isValid:n}}return st}(),a=function(){if(yt)return ct;yt=1;var e=ct&&ct.__assign||function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},e.apply(this,arguments)};Object.defineProperty(ct,"__esModule",{value:!0}),ct.expirationDate=function(a,i){var s;if("string"==typeof a)a=a.replace(/^(\d\d) (\d\d(\d\d)?)$/,"$1/$2"),s=(0,t.parseDate)(String(a));else{if(null===a||"object"!=typeof a)return o(!1,!1,null,null);var c=e({},a);s={month:String(c.month),year:String(c.year)}}var l=(0,n.expirationMonth)(s.month),u=(0,r.expirationYear)(s.year,i);if(l.isValid){if(u.isCurrentYear){var d=l.isValidForThisYear;return o(d,d,s.month,s.year)}if(u.isValid)return o(!0,!0,s.month,s.year)}return o(!1,!(!l.isPotentiallyValid||!u.isPotentiallyValid),null,null)};var t=function(){if(ft)return lt;ft=1,Object.defineProperty(lt,"__esModule",{value:!0}),lt.parseDate=function(n){var r;if(/^\d{4}-\d{1,2}$/.test(n)?r=n.split("-").reverse():/\//.test(n)?r=n.split(/\s*\/\s*/g):/\s/.test(n)&&(r=n.split(/ +/g)),(0,t.isArray)(r))return{month:r[0]||"",year:r.slice(1).join()};var o,a,i,s=(o=n,0===(i=Number(o[0]))?2:i>1||1===i&&Number(o[1])>2?1:1===i?(a=o.substr(1),(0,e.expirationYear)(a).isPotentiallyValid?1:2):5===o.length?1:o.length>5?2:1),c=n.substr(0,s);return{month:c,year:n.substr(c.length)}};var e=dt(),t=(pt||(pt=1,Object.defineProperty(ht,"__esModule",{value:!0}),ht.isArray=void 0,ht.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}),ht);return lt}(),n=bt(),r=dt();function o(e,t,n,r){return{isValid:e,isPotentiallyValid:t,month:n,year:r}}return ct}(),i=bt(),s=dt(),c=function(){if(vt)return Et;vt=1,Object.defineProperty(Et,"__esModule",{value:!0}),Et.cvv=function(n,r){return void 0===r&&(r=e),r=r instanceof Array?r:[r],"string"!=typeof n?t(!1,!1):/^\d*$/.test(n)?function(e,t){for(var n=0;n<e.length;n++)if(t===e[n])return!0;return!1}(r,n.length)?t(!0,!0):n.length<Math.min.apply(null,r)?t(!1,!0):n.length>function(t){for(var n=e,r=0;r<t.length;r++)n=t[r]>n?t[r]:n;return n}(r)?t(!1,!1):t(!0,!0):t(!1,!1)};var e=3;function t(e,t){return{isValid:e,isPotentiallyValid:t}}return Et}(),l=function(){if(xt)return Ct;xt=1,Object.defineProperty(Ct,"__esModule",{value:!0}),Ct.postalCode=function(r,o){void 0===o&&(o={});var a=o.minLength||e;return"string"!=typeof r?n(!1,!1):r.length<a?n(!1,!0):t.test(r.trim().slice(0,a))?n(!0,!0):n(!1,!0)};var e=2,t=new RegExp(/^[a-z0-9]+$/i);function n(e,t){return{isValid:e,isPotentiallyValid:t}}return Ct}();return wt={creditCardType:n,cardholderName:r.cardholderName,number:o.cardNumber,expirationDate:a.expirationDate,expirationMonth:i.expirationMonth,expirationYear:s.expirationYear,cvv:c.cvv,postalCode:l.postalCode}}()),kt=u(et());let Pt=!1;Pt||(Pt=!0,kt.addCard({niceType:"Mada",type:"mada",patterns:[440647,440795,446404,446672,419593,428331,428671,432328,440533,446393,457865,458456,462220,484783,484800,493428,504300,521076,529415,535825,536023,537767,543357,557606,558848,588845,589206],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}}));const _t=({brand:t,fallbackColor:n,height:r=22})=>{if(!t)return null;switch(t){case"Visa":return e.jsx(Ot,{height:r});case"Mastercard":return e.jsx(At,{height:r});case"American Express":return e.jsx(Tt,{height:r});case"Mada":return e.jsx(Nt,{height:r});case"Discover":return e.jsx(It,{height:r});case"JCB":return e.jsx(Rt,{height:r});default:return e.jsx("span",{className:"text-xs font-medium",style:{color:n},"aria-label":`Card brand: ${t}`,children:t})}},Ot=({height:t})=>e.jsxs("svg",{role:"img","aria-label":"Visa",viewBox:"0 0 48 16",height:t,width:48*t/16,style:{display:"block"},children:[e.jsx("rect",{width:"48",height:"16",rx:"2",fill:"#1A1F71"}),e.jsx("text",{x:"24",y:"12",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"900",fontSize:"11",fill:"#FFFFFF",letterSpacing:"1.4",children:"VISA"})]}),At=({height:t})=>e.jsxs("svg",{role:"img","aria-label":"Mastercard",viewBox:"0 0 32 20",height:t,width:32*t/20,style:{display:"block"},children:[e.jsx("circle",{cx:"12",cy:"10",r:"7",fill:"#EB001B"}),e.jsx("circle",{cx:"20",cy:"10",r:"7",fill:"#F79E1B"}),e.jsx("path",{d:"M16 4.5a7 7 0 0 1 0 11 7 7 0 0 1 0-11Z",fill:"#FF5F00","aria-hidden":"true"})]}),Tt=({height:t})=>e.jsxs("svg",{role:"img","aria-label":"American Express",viewBox:"0 0 48 16",height:t,width:48*t/16,style:{display:"block"},children:[e.jsx("rect",{width:"48",height:"16",rx:"2",fill:"#2E77BB"}),e.jsx("text",{x:"24",y:"11.5",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"700",fontSize:"9",fill:"#FFFFFF",letterSpacing:"0.4",children:"AMEX"})]}),Nt=({height:t})=>e.jsxs("svg",{role:"img","aria-label":"Mada",viewBox:"0 0 48 16",height:t,width:48*t/16,style:{display:"block"},children:[e.jsx("rect",{width:"48",height:"16",rx:"2",fill:"#84B740"}),e.jsx("text",{x:"24",y:"11.5",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"700",fontSize:"9",fill:"#FFFFFF",letterSpacing:"0.6",children:"mada"})]}),It=({height:t})=>e.jsxs("svg",{role:"img","aria-label":"Discover",viewBox:"0 0 56 16",height:t,width:56*t/16,style:{display:"block"},children:[e.jsx("rect",{width:"56",height:"16",rx:"2",fill:"#FFFFFF",stroke:"#E5E7EB"}),e.jsx("text",{x:"20",y:"11.5",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"700",fontSize:"8",fill:"#231F20",letterSpacing:"0.2",children:"DISCOVER"}),e.jsx("circle",{cx:"44",cy:"8",r:"4",fill:"#FF6000"})]}),Rt=({height:t})=>e.jsxs("svg",{role:"img","aria-label":"JCB",viewBox:"0 0 32 16",height:t,width:32*t/16,style:{display:"block"},children:[e.jsx("rect",{x:"0",y:"0",width:"10.66",height:"16",rx:"2",fill:"#0E4C96"}),e.jsx("rect",{x:"10.66",y:"0",width:"10.66",height:"16",fill:"#B41E25"}),e.jsx("rect",{x:"21.33",y:"0",width:"10.66",height:"16",rx:"2",fill:"#1B8A3A"}),e.jsx("text",{x:"16",y:"11",textAnchor:"middle",fontFamily:"Helvetica, Arial, sans-serif",fontWeight:"900",fontSize:"9",fill:"#FFFFFF",children:"JCB"})]}),Mt=({skin:r})=>{const{paymentInit:o}=hn(),a=o&&"moyasar"===o.provider?o:null,i=de(),s=pe(),c=fe(),[l,u]=t.useState(""),[d,p]=t.useState(""),[f,m]=t.useState(""),[y,h]=t.useState(""),[g,b]=t.useState(!1),[v,x]=t.useState({}),[w,S]=t.useState(null),E=t.useRef({number:l,expiry:d,cvc:f,name:y});E.current={number:l,expiry:d,cvc:f,name:y};const C=t.useRef(i);C.current=i,t.useEffect(()=>{a&&c({amount:a.config.amount,currency:a.config.currency.toUpperCase()})},[a,c]);const j=t.useCallback(async()=>{if(!a)return;const e=function(e,t=new Date){const n=[],r=jt.number(e.number),o=e.number.replace(/\D/g,"");o?r.isValid||n.push({field:"number",message:"Invalid card number"}):n.push({field:"number",message:"Card number is required"});const a=jt.expirationDate(e.expiry);let i=null,s=null;const c=e.expiry.trim();if(c)if(a.isValid){i=Number.parseInt(a.month??"",10);const e=Number.parseInt(a.year??"",10);s=2===(a.year??"").length?e+2e3:e}else{const e=function(e){let t="",n="";if(e.includes("/")){const[r,o]=e.split("/");t=(r??"").replace(/\D/g,""),n=(o??"").replace(/\D/g,"")}else{const r=e.replace(/\D/g,"");t=r.slice(0,2),n=r.slice(2)}const r=Number.parseInt(t,10),o=Number.parseInt(n,10);return Number.isNaN(r)||Number.isNaN(o)?null:{month:r,year:2===n.length?o+2e3:o}}(c);e&&function(e,t,n){const r=n.getFullYear(),o=n.getMonth()+1;return t<r||t===r&&e<o}(e.month,e.year,t)?n.push({field:"expiry",message:"Card expired"}):n.push({field:"expiry",message:"Invalid expiry"})}else n.push({field:"expiry",message:"Expiry is required"});const l=jt.cvv(e.cvc,r.card?.code.size??[3,4]),u=e.cvc.replace(/\D/g,"");u?l.isValid||n.push({field:"cvc",message:"Invalid CVC"}):n.push({field:"cvc",message:"CVC is required"});const d=jt.cardholderName(e.name),p=e.name.trim();return p?d.isValid||n.push({field:"name",message:"Invalid cardholder name"}):n.push({field:"name",message:"Cardholder name is required"}),n.length>0||null==i||null==s?{ok:!1,errors:n}:{ok:!0,card:{number:o,month:String(i).padStart(2,"0"),year:String(s),cvc:u,name:p}}}(E.current);if(!1===e.ok){const t={};for(const n of e.errors)t[n.field]||(t[n.field]=n.message);return void x(t)}x({}),b(!0);try{const t=await async function(e){const t=await Ie("https://api.moyasar.com/v1/tokens",{...e,save_only:!0});if(!t.ok)throw new Te(Re(t.body)??`Tokenization failed (${t.status})`,t.status,t.body);const n=t.body;if(!n||"string"!=typeof n.id)throw new Te("Tokenization returned no token id",t.status,n);return{id:n.id}}({publishable_api_key:a.config.publishable_key,name:e.card.name,number:e.card.number,month:e.card.month,year:e.card.year,cvc:e.card.cvc}),r=Ae(a),o=await Ne({publishable_api_key:a.config.publishable_key,given_id:a.config.given_id,amount:a.config.amount,currency:a.config.currency.toUpperCase(),description:a.config.description,callback_url:n.buildCallbackUrl(a.config.given_id),source:{type:"token",token:t.id},...Object.keys(r).length>0?{metadata:r}:{}}),i=o.source?.transaction_url??o.transaction_url;if(i)return void S(i);const s=o.status;C.current("paid"===s||"authorized"===s||"captured"===s?{status:"success",provider:"moyasar",paymentId:o.id,amount:o.amount,currency:o.currency}:"failed"===s?{status:"failure",provider:"moyasar",code:"failed",message:o.source?.message??"Payment failed",paymentId:o.id}:{status:"failure",provider:"moyasar",code:s,message:`Unexpected payment status: ${s}`,paymentId:o.id})}catch(e){const t=e instanceof Te||e instanceof Error?e.message:"Payment failed";C.current({status:"failure",provider:"moyasar",message:t,paymentId:a.config.given_id})}finally{b(!1)}},[a]);t.useEffect(()=>(s({confirm:j,isConfirming:g}),()=>s(null)),[j,g,s]);const k=t.useMemo(()=>Math.max(r.radius-4,4),[r.radius]),P=t.useMemo(()=>function(e){const t=e.replace(/\D/g,"");if(t.length<2)return null;const n=kt(t);return n[0]?.niceType??null}(l),[l]);return a?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-3",style:{fontFamily:r.fontFamily},children:[e.jsx($t,{label:"Card number",value:l,onChange:e=>u(e.replace(/\D/g,"").slice(0,19).replace(/(\d{4})(?=\d)/g,"$1 ")),autoComplete:"cc-number",inputMode:"numeric",placeholder:"1234 5678 9012 3456",error:v.number,skin:r,radius:k,endAdornment:P?e.jsx(_t,{brand:P,fallbackColor:r.muted}):null}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx($t,{label:"Expiry",value:d,onChange:e=>p(function(e){const t=e.replace(/\D/g,"").slice(0,4);return t.length<=2?t:`${t.slice(0,2)}/${t.slice(2)}`}(e)),autoComplete:"cc-exp",inputMode:"numeric",placeholder:"MM / YY",error:v.expiry,skin:r,radius:k}),e.jsx($t,{label:"CVC",value:f,onChange:e=>m(e.replace(/\D/g,"").slice(0,4)),autoComplete:"cc-csc",inputMode:"numeric",placeholder:"123",error:v.cvc,skin:r,radius:k})]}),e.jsx($t,{label:"Name on card",value:y,onChange:h,autoComplete:"cc-name",inputMode:"text",placeholder:"Full name",error:v.name,skin:r,radius:k})]}),w&&e.jsx(Fe,{url:w,skin:r,onResult:e=>{S(null),C.current(e)}})]}):null};function Ft(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);r>=48&&r<=57&&t++}return t}const $t=({label:n,value:r,onChange:o,placeholder:a,autoComplete:i,inputMode:s,error:c,skin:l,radius:u,endAdornment:d})=>{const p=c?"#dc2626":l.divider,f=t.useRef(null),m=t.useRef(null),y="numeric"===s;return t.useLayoutEffect(()=>{const e=m.current;if(null===e||!f.current)return;m.current=null;const t=f.current.value;let n=0,r=0;for(;r<t.length&&!(n>=e);)/\d/.test(t[r])&&n++,r++;f.current.setSelectionRange(r,r)},[r]),e.jsxs("label",{className:"block",children:[e.jsx("span",{className:"block text-xs mb-1",style:{color:l.muted},children:n}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{ref:f,type:"text",value:r,onChange:e=>{y&&(m.current=Ft(e.target.value.slice(0,e.target.selectionStart??e.target.value.length))),o(e.target.value)},onKeyDown:e=>{if(!y||"Backspace"!==e.key)return;const t=e.currentTarget,n=t.selectionStart??0;if(n!==(t.selectionEnd??0)||n<2)return;const r=t.value[n-1];if(!r||/\d/.test(r))return;e.preventDefault();const a=t.value.slice(0,n-2)+t.value.slice(n);m.current=Ft(a.slice(0,n-2)),o(a)},placeholder:a,autoComplete:i,inputMode:s,spellCheck:!1,className:"w-full py-3 px-3 outline-none text-sm transition-colors",style:{background:l.pillBg,color:l.text,border:`1px solid ${p}`,borderRadius:u,paddingRight:d?96:void 0}}),d&&e.jsx("span",{className:"absolute right-3 top-1/2 -translate-y-1/2 text-xs font-medium pointer-events-none",style:{color:l.muted},"aria-label":"Card brand",children:d})]}),c&&e.jsx("span",{className:"block mt-1 text-xs",style:{color:"#dc2626"},children:c})]})},Dt=["creditcard","applepay"],Vt=({skin:t})=>e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-x-0 top-1/2",style:{borderTop:`1px solid ${t.divider}`}}),e.jsx("div",{className:"relative flex justify-center",children:e.jsx("span",{className:"px-2 text-xs uppercase tracking-wide",style:{background:t.cardBg,color:t.muted,fontFamily:t.fontFamily},children:"or"})})]}),Lt={type:"moyasar",label:"Moyasar",FormComponent:({skin:n,onReady:r})=>{const{paymentInit:o}=hn(),a=o&&"moyasar"===o.provider?o:null,i=function(){const[e,n]=t.useState(!1);return t.useEffect(()=>{if("undefined"==typeof window)return;const e=window.ApplePaySession;if(e&&"function"==typeof e.canMakePayments)try{n(!0===e.canMakePayments())}catch{n(!1)}},[]),e}(),s=t.useRef(r);if(s.current=r,t.useEffect(()=>{s.current?.()},[]),!a)return null;const c=a.config.methods??Dt,l=c.includes("creditcard"),u=c.includes("applepay")&&i;return e.jsxs("div",{className:"space-y-4",children:[l&&e.jsx(Mt,{skin:n}),l&&u&&e.jsx(Vt,{skin:n}),u&&e.jsx(De,{skin:n})]})}},Bt="5vh",Ut="5vw",zt="aiatcore-chargebee-modal-style",Ht="aiatcore-chargebee-close-button",qt="aiatcore-chargebee-loader",Yt="aiatcore-cb-spin",Wt='#cb-container, .cb-container, [id^="cb-modal"], [class*="cb-modal"], [class*="cb-checkout"], div[class*="cb-"][class*="overlay"]',Jt="aiatcore-chargebee-open";function Gt(){document.getElementById(Ht)?.remove()}function Kt(){document.getElementById(qt)?.remove()}const Xt={type:"chargebee",label:"Chargebee",FormComponent:({amount:e,currency:n,onReady:r})=>{const{paymentInit:o}=hn(),a=de(),i=fe(),s=pe(),c=t.useRef(!1);return t.useEffect(()=>(s(null),()=>s(null)),[s]),t.useEffect(()=>{if("chargebee"!==o?.provider)return;const{site:t,hosted_page_url:s,amount:l,currency:u,expires_at:d}=o.config,p=l??e,f=u??n;null!=p&&f&&i({amount:p,currency:f}),c.current=!1;let m=!1,y=null,h=null;const g=e=>{c.current||(c.current=!0,a(e))};return r?.(),null!=d&&Date.now()>=1e3*d?(g({status:"failure",provider:"chargebee",message:"Payment link has expired. Please request a new one."}),()=>{m=!0}):(function(){const e=document.getElementById(zt)??document.createElement("style");e.id=zt,e.textContent=`\n /* Prevent horizontal page scroll only while Chargebee's overlay is mounted */\n html.${Jt}, body.${Jt} {\n overflow-x: hidden !important;\n }\n\n /* Outer Chargebee overlay container — broad selector net so we catch\n whatever wrapper Chargebee actually uses */\n #cb-container,\n .cb-container,\n [id^="cb-modal"],\n [class*="cb-modal"],\n [class*="cb-checkout"],\n div[class*="cb-"][class*="overlay"] {\n position: fixed !important;\n inset: ${Bt} max(${Ut}, calc((100vw - 1500px) / 2)) !important;\n width: auto !important;\n height: auto !important;\n max-width: none !important;\n max-height: none !important;\n margin: 0 !important;\n border-radius: 12px !important;\n box-shadow: 0 20px 60px rgba(0,0,0,0.35) !important;\n overflow: hidden !important;\n z-index: 2147483646 !important;\n pointer-events: all !important;\n }\n\n /* Inner iframe — fill the container fully and ensure it receives clicks */\n [id^="cb-frame"] {\n width: 100% !important;\n height: 100% !important;\n border: none !important;\n display: block !important;\n z-index: 2147483646 !important;\n pointer-events: all !important;\n outline: none !important;\n box-shadow: none !important;\n }\n\n @keyframes ${Yt} {\n to { transform: rotate(360deg); }\n }\n `,e.parentElement||document.head.appendChild(e),document.documentElement.classList.add(Jt),document.body.classList.add(Jt)}(),function(e){if(window.Chargebee)return Promise.resolve();const t=document.querySelector('script[src*="js.chargebee.com"]');return t?"1"===t.dataset.cbLoaded?Promise.resolve():new Promise((e,n)=>{t.addEventListener("load",()=>e()),t.addEventListener("error",()=>n(new Error("Chargebee.js failed to load")))}):new Promise((t,n)=>{const r=document.createElement("script");r.src="https://js.chargebee.com/v2/chargebee.js",r.setAttribute("data-cb-site",e),r.onload=()=>{r.dataset.cbLoaded="1",t()},r.onerror=()=>n(new Error("Chargebee.js failed to load")),document.head.appendChild(r)})}(t).then(()=>{if(m)return;let e;try{e=window.Chargebee.getInstance()??window.Chargebee.init({site:t})}catch{e=window.Chargebee.init({site:t})}e.openCheckout({hostedPage:()=>Promise.resolve({id:o.payment_id,url:s,type:"checkout_one_time",state:"created"}),success:e=>{Gt(),Kt(),g({status:"success",provider:"chargebee",paymentId:e,amount:p??void 0,currency:f??void 0})},close:()=>{Gt(),Kt(),g({status:"cancel",provider:"chargebee"})},error:e=>{Gt(),Kt(),g({status:"failure",provider:"chargebee",message:e?.message??"Payment failed"})}}),h=function(){let e=0,t=0,n=0,r=null,o=null;const a=Date.now()+5e3,i=()=>{if(m||c.current)return;const t=document.querySelector(Wt);if(t instanceof HTMLElement){const e=t.getBoundingClientRect();if(e.width>0&&e.height>0){!function(){Kt();const e=document.createElement("div");e.id=qt,e.setAttribute("aria-live","polite"),e.setAttribute("aria-busy","true"),e.style.cssText=`\n position: fixed;\n inset: ${Bt} max(${Ut}, calc((100vw - 1500px) / 2));\n z-index: 2147483646;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 14px;\n background: #f8f8f8;\n border-radius: 12px;\n color: #6b7280;\n font: 500 14px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;\n pointer-events: none;\n `;const t=document.createElement("div");t.style.cssText=`\n width: 32px;\n height: 32px;\n border: 2.5px solid rgba(17, 24, 39, 0.08);\n border-top-color: #6366f1;\n border-radius: 50%;\n animation: ${Yt} 0.8s linear infinite;\n `;const n=document.createElement("p");n.textContent="Loading payment…",n.style.cssText="margin: 0;",e.appendChild(t),e.appendChild(n),document.body.appendChild(e)}();const e=document.querySelector('[id^="cb-frame"]');return void(e instanceof HTMLIFrameElement&&(r=e,o=()=>{n=window.setTimeout(Kt,400)},r.addEventListener("load",o)))}}Date.now()>=a||(e=window.requestAnimationFrame(i))};return t=window.setTimeout(i,100),()=>{window.clearTimeout(t),window.clearTimeout(n),e&&window.cancelAnimationFrame(e),r&&o&&r.removeEventListener("load",o),Kt()}}(),y=function(e){let t=0,n=0;const r=Date.now()+5e3,o=()=>{if(m||c.current)return;const n=document.querySelector(Wt);if(n instanceof HTMLElement){const t=n.getBoundingClientRect();if(t.width>0&&t.height>0)return void function(e){Gt();const t=document.createElement("button");t.id=Ht,t.type="button",t.setAttribute("aria-label","Close payment"),t.textContent="×",t.style.cssText=`\n position: fixed;\n top: calc(${Bt} + 12px);\n right: calc(max(${Ut}, calc((100vw - 1500px) / 2)) + 12px);\n z-index: 2147483647;\n width: 32px;\n height: 32px;\n border: 0;\n border-radius: 9999px;\n background: rgba(17, 24, 39, 0.72);\n color: #ffffff;\n font: 600 16px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;\n cursor: pointer;\n pointer-events: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);\n `,t.addEventListener("click",e),document.body.appendChild(t)}(e)}Date.now()>=r||(t=window.requestAnimationFrame(o))};return n=window.setTimeout(o,100),()=>{window.clearTimeout(n),t&&window.cancelAnimationFrame(t)}}(()=>{Gt(),Kt(),document.querySelectorAll(Wt).forEach(e=>{e instanceof HTMLElement&&(e.style.display="none")}),g({status:"cancel",provider:"chargebee"});try{e.closeAll()}catch{}})}).catch(e=>{g({status:"failure",provider:"chargebee",message:e?.message??"Failed to load payment form"})}),()=>{m=!0,y?.(),h?.(),Gt(),Kt(),document.documentElement.classList.remove(Jt),document.body.classList.remove(Jt),document.getElementById(zt)?.remove();try{window.Chargebee?.getInstance?.()?.closeAll?.()}catch{}})},[o,e,n,i,r,a]),null},hideShellSubmit:!0};function Zt(){const e=document.createElement("div");e.style.cssText="position:absolute;top:-9999px;width:100px;height:100px;overflow:scroll;",document.body.appendChild(e);const t=e.offsetWidth-e.clientWidth;return e.remove(),Math.max(0,t)}function Qt(e,t,r){e?.contentWindow?.postMessage(n.buildHostedPaymentPageThemeMessage(t),r)}const en=({init:o,onResult:a,skin:i,onCallback:s,footer:c})=>{const l=t.useRef(null),u=n.useLatestRef(a),d=n.useLatestRef(s),p=t.useRef(i),f=t.useRef(!1),m=t.useRef(null);t.useLayoutEffect(()=>{p.current=i,f.current&&Qt(l.current,i,m.current??"*")},[i]);const y=t.useRef(!1),h=t.useRef(!1),g=t.useRef(!1),[b,v]=t.useState(!1),[x]=t.useState(Zt),w=t.useCallback(e=>{h.current||y.current||(h.current=!0,u.current(n.buildHostedPaymentResult({status:n.HOSTED_PAYMENT_PAGE_STATUSES.FAILED,paymentId:o.payment_id,message:e})))},[o.payment_id,u]);return t.useEffect(()=>{const e=e=>{if(e.source!==l.current?.contentWindow)return;if(!n.isHostedPaymentPageCallbackMessage(e.data))return;if(m.current=e.origin,e.data.action===n.HOSTED_PAYMENT_PAGE_CALLBACK_ACTIONS.LOADED&&(f.current=!0,Qt(l.current,p.current,e.origin)),h.current)return;const t=n.parseHostedPaymentPageCallback(e.data.search);if(d.current)return h.current=!0,void d.current(t);if(!t)return r.logger.warn({message:"Hosted payment callback arrived without a paymentId or a known paymentStatus",api_name:"hosted-payment-page-callback"}),void w("Payment confirmation was incomplete. Please try again.");const a=e.data.action===n.HOSTED_PAYMENT_PAGE_CALLBACK_ACTIONS.DONE;if(y.current=!0,t.paymentStatus===n.HOSTED_PAYMENT_PAGE_STATUSES.CANCELED){if(!a)return;return h.current=!0,void u.current(n.buildHostedPaymentResult({status:t.paymentStatus,paymentId:t.paymentId}))}a&&(h.current=!0),u.current(n.buildHostedPaymentResult({status:t.paymentStatus,paymentId:t.paymentId,charge:n.resolveHostedPaymentCharge(t,o),message:t.message,dismissed:a}))};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[w,o,d,u]),t.useEffect(()=>{const e=setTimeout(()=>{g.current||w("The payment page failed to load.")},6e4);return()=>clearTimeout(e)},[w]),e.jsxs("div",{className:"absolute inset-0 z-[105] flex flex-col overflow-hidden",style:{background:i.cardBg},role:"region","aria-label":"Payment",children:[!b&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center text-sm",style:{color:i.muted,fontFamily:i.fontFamily},children:"Loading…"}),e.jsx("iframe",{ref:l,src:o.config.url,title:"Payment",className:"min-h-0 flex-1",style:{border:0,background:"white",width:`calc(100% + ${x}px)`},onLoad:()=>{g.current=!0,v(!0)},onError:()=>w("The payment page failed to load."),allow:"payment",sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-top-navigation-by-user-activation",referrerPolicy:"no-referrer"}),c]})},tn="verifying",nn="gateway_reported",rn="timed_out",on="succeeded",an="failed",sn="canceled",cn=({d:t})=>e.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e.jsx("path",{d:t,pathLength:1})}),ln="M18 6 6 18M6 6l12 12";function un(e,t,n){switch(e){case tn:return"Payment in progress…";case nn:return t?"Payment received · confirming…":"Payment declined · confirming…";case rn:return"Payment not confirmed · close and check with the assistant";case on:return n?`Payment confirmed · ${n}`:"Payment confirmed";case an:return"Payment failed";case sn:return"Payment canceled"}}const dn=({state:n,skin:r,gatewaySucceeded:o,amountText:a})=>{t.useEffect(()=>Oe("aiatcore-hpp-strip-style","\n@keyframes hpp-pop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}\n@keyframes hpp-draw{0%{stroke-dashoffset:1}100%{stroke-dashoffset:0}}\n@keyframes hpp-line-in{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}\n.hpp-badge-in{animation:hpp-pop .45s cubic-bezier(.34,1.56,.64,1) both}\n.hpp-badge-in svg path{stroke-dasharray:1;animation:hpp-draw .5s ease-out .2s both}\n.hpp-line-in{animation:hpp-line-in .3s ease-out both}\n"),[]);const{icon:i,color:s,background:c}=function(t,n){const r=(t,n,r)=>e.jsx("span",{className:"hpp-badge-in flex h-6 w-6 shrink-0 items-center justify-center rounded-full",style:{background:t,color:n},"aria-hidden":"true",children:e.jsx(cn,{d:r})});switch(t){case on:return{icon:r(n.success,n.successBg,"M4 12 9 17 20 6"),color:n.success,background:n.successBg};case an:return{icon:r(n.danger,n.dangerBg,ln),color:n.danger,background:n.dangerBg};case sn:return{icon:r(n.muted,n.cardBg,ln),color:n.heading,background:n.cardBg};case rn:return{icon:e.jsx("span",{className:"h-2.5 w-2.5 shrink-0 rounded-full",style:{background:n.warning},"aria-hidden":"true"}),color:n.heading,background:n.warningBg};default:return{icon:e.jsx(l,{className:"h-4 w-4 shrink-0 animate-spin",style:{color:n.accent},"aria-hidden":"true"}),color:n.heading,background:n.cardBg}}}(n,r);return e.jsx("div",{className:"flex shrink-0 items-center px-4 py-2.5 text-[13px] font-semibold",style:{background:c,borderTop:`1px solid ${r.divider}`,color:s,fontFamily:r.fontFamily,transition:"background-color .35s ease, color .35s ease"},role:"status","aria-live":"polite","aria-busy":n===tn||n===nn,"data-strip-state":n,children:e.jsxs("span",{className:"hpp-line-in flex min-w-0 items-center gap-2.5",children:[i,e.jsx("span",{className:"min-w-0 truncate",children:un(n,o,a)})]},n)})},pn=({init:r,onResult:o,skin:a})=>{const i=n.useLatestRef(o),[s,c]=t.useState(void 0),[l,u]=t.useState(!1),[d,p]=t.useState(null),{polling:f,status:m,timedOut:y}=n.useHostedPaymentSettlement({init:r,enabled:null===d}),h=t.useCallback(e=>{c(t=>void 0===t?e:t)},[]);t.useEffect(()=>{if(!s)return;const e=setTimeout(()=>u(!0),3e4);return()=>clearTimeout(e)},[s]);const g=d??m??(s&&(!f||y||l)?s.paymentStatus:null);null===d&&null!==g&&p(g);const b=r.config.reference_id??r.payment_id,v=n.resolveHostedPaymentCharge(s,r),x=n.useLatestRef({paymentId:b,charge:v,message:s?.message});t.useEffect(()=>{if(null===d)return;const e=x.current,t=d===n.HOSTED_PAYMENT_PAGE_STATUSES.CANCELED;t||i.current(n.buildHostedPaymentResult({...e,status:d,dismissed:!1}));const r=setTimeout(()=>{i.current(n.buildHostedPaymentResult(t?{status:d,paymentId:e.paymentId}:{...e,status:d,dismissed:!0}))},3e3);return()=>clearTimeout(r)},[d,i,x]);let w=null;return null!==g?w=g:y?w=rn:s?w=nn:f&&(w=tn),e.jsx(en,{init:r,onResult:o,skin:a,onCallback:h,footer:w&&e.jsx(dn,{state:w,skin:a,gatewaySucceeded:s?.paymentStatus===n.HOSTED_PAYMENT_PAGE_STATUSES.SUCCEEDED,amountText:w===on?n.formatAmount(v.amount,v.currency):null})})},fn={type:"hosted_payment_page",label:"Secure checkout",hideShellSubmit:!0,hideShellFooter:!0,FormComponent:({skin:r,onReady:o})=>{const{paymentInit:a}=hn(),i=a&&"hosted_payment_page"===a.provider?a:null,s=de(),c=t.useRef(!1);t.useEffect(()=>{o?.()},[o]);const l=i?.config.expires_at,[u]=t.useState(()=>null!=l&&Date.now()>=1e3*l);return t.useEffect(()=>{i&&u&&!c.current&&(c.current=!0,s(n.buildHostedPaymentResult({status:n.HOSTED_PAYMENT_PAGE_STATUSES.FAILED,paymentId:i.payment_id,message:"Payment link has expired. Please request a new one."})))},[i,u,s]),!i||u?null:n.shouldPollForSettlement(i)?e.jsx(pn,{init:i,onResult:s,skin:r}):e.jsx(en,{init:i,onResult:s,skin:r})}},mn=t.createContext(void 0),yn=({children:r,paymentProvider:o,paymentInit:a=null,conversationId:i=null})=>{const s=a?.provider||o||n.DEFAULT_PAYMENT_PROVIDER,c=t.useMemo(()=>function(e){switch(e){case"stripe":return _e;case"moyasar":return Lt;case"chargebee":return Xt;case"hosted_payment_page":return fn;default:throw new Error(`Unknown payment provider: "${e}". Supported providers: stripe, moyasar, chargebee, hosted_payment_page`)}}(s),[s]),l=t.useMemo(()=>({adapter:c,paymentProvider:s,paymentInit:a,conversationId:i}),[c,s,a,i]),u=c.ProviderWrapper;return e.jsx(mn.Provider,{value:l,children:u?e.jsx(u,{children:r}):r})},hn=()=>{const e=t.useContext(mn);if(!e)throw new Error("usePaymentAdapter must be used within a PaymentProvider");return e},gn=({provider:o,paymentInit:a})=>{const{themeStyles:i,theme:s}=r.useBranding(),{adapter:c}=hn(),l=ue().summary,[u,d]=t.useState(!1),p=t.useCallback(()=>d(!0),[]),f=t.useMemo(()=>n.buildBrandSkin(i,s),[i,s]),m="moyasar"===a?.provider?a.config:null,y="chargebee"===a?.provider?a.config:null,h=l?.amount??m?.amount??y?.amount??0,g=l?.currency??m?.currency??y?.currency??"usd",b=null!=l?.amount||null!=m?.amount||null!=y?.amount,v=((e,t)=>n.formatAmount(e,t)??"")(h,g),x=o??c.label,w=c.FormComponent;return e.jsxs("div",{className:"w-full flex-1 min-h-0 overflow-y-auto [&::-webkit-scrollbar]:hidden [scrollbar-width:none] relative",style:{background:f.pageBg,color:f.text,fontFamily:f.fontFamily,colorScheme:f.colorScheme},children:[!u&&e.jsx(bn,{skin:f}),e.jsx("div",{className:"min-h-full flex items-center justify-center p-4",style:{visibility:u?"visible":"hidden"},children:e.jsxs("div",{className:"w-full max-w-lg p-6",style:{background:f.cardBg,borderRadius:f.radius,boxShadow:f.cardShadow,color:f.text},children:[e.jsx("h1",{className:"text-base font-semibold text-center mb-3.5",style:{color:f.heading},children:"Payment Options"}),e.jsx("div",{className:"mb-3.5",children:e.jsx(w,{amount:h,currency:g,skin:f,onReady:p})}),!c.hideShellSubmit&&b&&e.jsx(vn,{label:`Pay ${v}`,background:i.statusDiscovery.solid,color:i.statusDiscovery.text,radius:f.radius}),!c.hideShellFooter&&e.jsxs("p",{className:"text-xs text-center mt-2.5",style:{color:f.muted},children:["Powered by ",x]})]})})]})},bn=({skin:t})=>e.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3",style:{background:t.pageBg,color:t.text},"aria-live":"polite","aria-busy":"true",children:[e.jsx(l,{className:"h-8 w-8 animate-spin",style:{color:t.accent}}),e.jsx("p",{className:"text-sm",style:{color:t.muted},children:"Loading payment…"})]}),vn=({label:t,background:n,color:r,radius:o})=>{const a=ue().confirmHandle;return e.jsx("button",{type:"button",onClick:()=>a?.confirm(),disabled:!a||a.isConfirming,className:"w-full p-3 text-sm font-semibold border-0 cursor-pointer disabled:cursor-not-allowed disabled:opacity-70",style:{background:n,color:r,borderRadius:o},children:a?.isConfirming?"Processing…":t})};exports.default=({provider:t,paymentInit:n=null,onResult:o,conversationId:a=null})=>e.jsx(yn,{paymentInit:n,conversationId:a,paymentProvider:r.getPaymentProviderHint(),children:e.jsx(le,{onResult:e=>{o?.(e)},children:e.jsx(gn,{provider:t,paymentInit:n})})},n?.provider??"default");
|
package/dist/chat-shell.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 222.34 49% 11%;--foreground: 0 0% 100%;--card: 215.2915 27.9312% 26.8494%;--card-foreground: 0 0% 100%;--popover: 215.2915 27.9312% 26.8494%;--popover-foreground: 0 0% 100%;--primary: 216.8916 105.653% 59.6083%;--primary-foreground: 0 0% 100%;--secondary: 149.9516 168.4095% 24.2653%;--secondary-foreground: 0 0% 100%;--muted: 250 11.7647% 20%;--muted-foreground: 250 10.1124% 65.098%;--accent: 217.2414 32.5843% 17.451%;--accent-foreground: 210 40% 98.0392%;--destructive: 0 62.3529% 50%;--destructive-foreground: 252 20% 95.098%;--border: 217.2414 32.5843% 17.451%;--input: 217.2414 32.5843% 17.451%;--ring: 212.7273 26.8293% 83.9216%;--chart-1: 312.9412 100% 50%;--chart-2: 273.8824 100% 50%;--chart-3: 186.1176 100% 50%;--chart-4: 168 100% 50%;--chart-5: 54.1176 100% 50%;--radius: .5rem}.dark{--background: 222.34 49% 11%;--foreground: 0 0% 100%;--card: 215.2915 27.9312% 26.8494%;--card-foreground: 0 0% 100%;--popover: 215.2915 27.9312% 26.8494%;--popover-foreground: 0 0% 100%;--primary: 216.8916 105.653% 59.6083%;--primary-foreground: 0 0% 100%;--secondary: 149.9516 168.4095% 24.2653%;--secondary-foreground: 0 0% 100%;--muted: 250 11.7647% 20%;--muted-foreground: 250 10.1124% 65.098%;--accent: 217.2414 32.5843% 17.451%;--accent-foreground: 210 40% 98.0392%;--destructive: 0 62.8205% 30.5882%;--destructive-foreground: 210 40% 98.0392%;--border: 217.2414 32.5843% 17.451%;--input: 217.2414 32.5843% 17.451%;--ring: 212.7273 26.8293% 83.9216%;--chart-1: 312.9412 100% 50%;--chart-2: 273.8824 100% 50%;--chart-3: 186.1176 100% 50%;--chart-4: 168 100% 50%;--chart-5: 54.1176 100% 50%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.right-3{right:.75rem}.top-1\/2{top:50%}.z-10{z-index:10}.z-\[105\]{z-index:105}.mb-1{margin-bottom:.25rem}.mb-3\.5{margin-bottom:.875rem}.mt-1{margin-top:.25rem}.mt-2\.5{margin-top:.625rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-8{height:2rem}.h-full{height:100%}.min-h-0{min-height:0px}.min-h-full{min-height:100%}.w-8{width:2rem}.w-full{width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.border{border-width:1px}.border-0{border-width:0px}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.025em}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[scrollbar-width\:none\]{scrollbar-width:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-70:disabled{opacity:.7}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 222.34 49% 11%;--foreground: 0 0% 100%;--card: 215.2915 27.9312% 26.8494%;--card-foreground: 0 0% 100%;--popover: 215.2915 27.9312% 26.8494%;--popover-foreground: 0 0% 100%;--primary: 216.8916 105.653% 59.6083%;--primary-foreground: 0 0% 100%;--secondary: 149.9516 168.4095% 24.2653%;--secondary-foreground: 0 0% 100%;--muted: 250 11.7647% 20%;--muted-foreground: 250 10.1124% 65.098%;--accent: 217.2414 32.5843% 17.451%;--accent-foreground: 210 40% 98.0392%;--destructive: 0 62.3529% 50%;--destructive-foreground: 252 20% 95.098%;--border: 217.2414 32.5843% 17.451%;--input: 217.2414 32.5843% 17.451%;--ring: 212.7273 26.8293% 83.9216%;--chart-1: 312.9412 100% 50%;--chart-2: 273.8824 100% 50%;--chart-3: 186.1176 100% 50%;--chart-4: 168 100% 50%;--chart-5: 54.1176 100% 50%;--radius: .5rem}.dark{--background: 222.34 49% 11%;--foreground: 0 0% 100%;--card: 215.2915 27.9312% 26.8494%;--card-foreground: 0 0% 100%;--popover: 215.2915 27.9312% 26.8494%;--popover-foreground: 0 0% 100%;--primary: 216.8916 105.653% 59.6083%;--primary-foreground: 0 0% 100%;--secondary: 149.9516 168.4095% 24.2653%;--secondary-foreground: 0 0% 100%;--muted: 250 11.7647% 20%;--muted-foreground: 250 10.1124% 65.098%;--accent: 217.2414 32.5843% 17.451%;--accent-foreground: 210 40% 98.0392%;--destructive: 0 62.8205% 30.5882%;--destructive-foreground: 210 40% 98.0392%;--border: 217.2414 32.5843% 17.451%;--input: 217.2414 32.5843% 17.451%;--ring: 212.7273 26.8293% 83.9216%;--chart-1: 312.9412 100% 50%;--chart-2: 273.8824 100% 50%;--chart-3: 186.1176 100% 50%;--chart-4: 168 100% 50%;--chart-5: 54.1176 100% 50%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.right-3{right:.75rem}.top-1\/2{top:50%}.z-10{z-index:10}.z-\[105\]{z-index:105}.mb-1{margin-bottom:.25rem}.mb-3\.5{margin-bottom:.875rem}.mt-1{margin-top:.25rem}.mt-2\.5{margin-top:.625rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.min-h-0{min-height:0px}.min-h-full{min-height:100%}.w-2\.5{width:.625rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-0{border-width:0px}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.text-center{text-align:center}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.025em}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[scrollbar-width\:none\]{scrollbar-width:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-70:disabled{opacity:.7}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ import { EnhancedStore } from '@reduxjs/toolkit';
|
|
|
15
15
|
import { ExtraHydration } from '@1interface/shared-core';
|
|
16
16
|
import { FetchArgs } from '@reduxjs/toolkit/query';
|
|
17
17
|
import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
|
|
18
|
+
import { HostedPaymentSettlementStatus } from '@1interface/chat-core';
|
|
19
|
+
import { HostedPaymentStatusArgs } from '@1interface/chat-core';
|
|
18
20
|
import { MutationDefinition } from '@reduxjs/toolkit/query';
|
|
19
21
|
import { NetworkMonitor } from '@1interface/shared-core';
|
|
20
22
|
import { PaymentInitPayload } from '@1interface/shared-core';
|
|
@@ -195,6 +197,9 @@ updateProfile: MutationDefinition<UpdateProfilePayload, BaseQueryFn<string | Fet
|
|
|
195
197
|
deleteAccount: MutationDefinition<void, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, "profile", void, "profileApi", unknown>;
|
|
196
198
|
updatePassword: MutationDefinition<UpdatePasswordPayload, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, "profile", string, "profileApi", unknown>;
|
|
197
199
|
}, "profile", "profileApi">;
|
|
200
|
+
paymentApi: CombinedState< {
|
|
201
|
+
getHostedPaymentStatus: QueryDefinition<HostedPaymentStatusArgs, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, never, HostedPaymentSettlementStatus, "paymentApi", unknown>;
|
|
202
|
+
}, never, "paymentApi">;
|
|
198
203
|
}, UnknownAction, Partial<{
|
|
199
204
|
auth: AuthState;
|
|
200
205
|
chat: {
|
|
@@ -299,6 +304,9 @@ updateProfile: MutationDefinition<UpdateProfilePayload, BaseQueryFn<string | Fet
|
|
|
299
304
|
deleteAccount: MutationDefinition<void, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, "profile", void, "profileApi", unknown>;
|
|
300
305
|
updatePassword: MutationDefinition<UpdatePasswordPayload, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, "profile", string, "profileApi", unknown>;
|
|
301
306
|
}, "profile", "profileApi">;
|
|
307
|
+
paymentApi: CombinedState< {
|
|
308
|
+
getHostedPaymentStatus: QueryDefinition<HostedPaymentStatusArgs, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, never, HostedPaymentSettlementStatus, "paymentApi", unknown>;
|
|
309
|
+
}, never, "paymentApi">;
|
|
302
310
|
}>>;
|
|
303
311
|
|
|
304
312
|
export declare type RootState = ReturnType<typeof store.getState>;
|
|
@@ -421,6 +429,9 @@ updateProfile: MutationDefinition<UpdateProfilePayload, BaseQueryFn<string | Fet
|
|
|
421
429
|
deleteAccount: MutationDefinition<void, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, "profile", void, "profileApi", unknown>;
|
|
422
430
|
updatePassword: MutationDefinition<UpdatePasswordPayload, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, "profile", string, "profileApi", unknown>;
|
|
423
431
|
}, "profile", "profileApi">;
|
|
432
|
+
paymentApi: CombinedState< {
|
|
433
|
+
getHostedPaymentStatus: QueryDefinition<HostedPaymentStatusArgs, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, never, HostedPaymentSettlementStatus, "paymentApi", unknown>;
|
|
434
|
+
}, never, "paymentApi">;
|
|
424
435
|
}, UnknownAction, Tuple<[StoreEnhancer< {
|
|
425
436
|
dispatch: ((action: Action<"listenerMiddleware/add">) => UnsubscribeListener) & ThunkDispatch< {
|
|
426
437
|
auth: AuthState;
|
|
@@ -526,6 +537,9 @@ updateProfile: MutationDefinition<UpdateProfilePayload, BaseQueryFn<string | Fet
|
|
|
526
537
|
deleteAccount: MutationDefinition<void, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, "profile", void, "profileApi", unknown>;
|
|
527
538
|
updatePassword: MutationDefinition<UpdatePasswordPayload, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, "profile", string, "profileApi", unknown>;
|
|
528
539
|
}, "profile", "profileApi">;
|
|
540
|
+
paymentApi: CombinedState< {
|
|
541
|
+
getHostedPaymentStatus: QueryDefinition<HostedPaymentStatusArgs, BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError>, never, HostedPaymentSettlementStatus, "paymentApi", unknown>;
|
|
542
|
+
}, never, "paymentApi">;
|
|
529
543
|
}, undefined, UnknownAction>;
|
|
530
544
|
}>, StoreEnhancer]>>;
|
|
531
545
|
|