@busha/commerce-js 1.0.21 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.min.js +1 -1
- package/example/basic/index.html +1 -1
- package/package.json +1 -1
- package/src/constants/icons.ts +1 -1
- package/src/helper.ts +97 -10
- package/src/index.ts +8 -4
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(s[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(s[n[r]]=e[n[r]])}return s}const t="busha-commerce-container",s="busha-commerce-loader",n="busha-commerce-styles",r="busha-commerce-close-btn",i="busha-commerce-iframe",a="busha-commerce-form",o="https://pay.busha.co",u="https://staging.pay.busha.co",l="CANCELLED";function c(e){this._maxSize=e,this.clear()}c.prototype.clear=function(){this._size=0,this._values=Object.create(null)},c.prototype.get=function(e){return this._values[e]},c.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var h=/[^.^\]^[]+|(?=\[\]|\.\.)/g,f=/^\d+$/,d=/^\d/,p=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,m=/^\s*(['"]?)(.*?)(\1)\s*$/,y=new c(512),g=new c(512),b=new c(512),v={Cache:c,split:w,normalizePath:x,setter:function(e){var t=x(e);return g.get(e)||g.set(e,(function(e,s){for(var n=0,r=t.length,i=e;n<r-1;){var a=t[n];if("__proto__"===a||"constructor"===a||"prototype"===a)return e;i=i[t[n++]]}i[t[n]]=s}))},getter:function(e,t){var s=x(e);return b.get(e)||b.set(e,(function(e){for(var n=0,r=s.length;n<r;){if(null==e&&t)return;e=e[s[n++]]}return e}))},join:function(e){return e.reduce((function(e,t){return e+(F(t)||f.test(t)?"["+t+"]":(e?".":"")+t)}),"")},forEach:function(e,t,s){!function(e,t,s){var n,r,i,a,o=e.length;for(r=0;r<o;r++)(n=e[r])&&(E(n)&&(n='"'+n+'"'),i=!(a=F(n))&&/^\d+$/.test(n),t.call(s,n,a,i,r,e))}(Array.isArray(e)?e:w(e),t,s)}};function x(e){return y.get(e)||y.set(e,w(e).map((function(e){return e.replace(m,"$2")})))}function w(e){return e.match(h)||[""]}function F(e){return"string"==typeof e&&e&&-1!==["'",'"'].indexOf(e.charAt(0))}function E(e){return!F(e)&&(function(e){return e.match(d)&&!e.match(f)}(e)||function(e){return p.test(e)}(e))}const _=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,$=e=>e.match(_)||[],O=(e,t)=>$(e).join(t).toLowerCase(),k=e=>$(e).reduce(((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`),"");var T=k,D=e=>O(e,"_"),S={};function A(e,t){var s=e.length,n=new Array(s),r={},i=s,a=function(e){for(var t=new Map,s=0,n=e.length;s<n;s++){var r=e[s];t.has(r[0])||t.set(r[0],new Set),t.has(r[1])||t.set(r[1],new Set),t.get(r[0]).add(r[1])}return t}(t),o=function(e){for(var t=new Map,s=0,n=e.length;s<n;s++)t.set(e[s],s);return t}(e);for(t.forEach((function(e){if(!o.has(e[0])||!o.has(e[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")}));i--;)r[i]||u(e[i],i,new Set);return n;function u(e,t,i){if(i.has(e)){var l;try{l=", node was:"+JSON.stringify(e)}catch(e){l=""}throw new Error("Cyclic dependency"+l)}if(!o.has(e))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(e));if(!r[t]){r[t]=!0;var c=a.get(e)||new Set;if(t=(c=Array.from(c)).length){i.add(e);do{var h=c[--t];u(h,o.get(h),i)}while(t);i.delete(e)}n[--s]=e}}}({get exports(){return S},set exports(e){S=e}}).exports=function(e){return A(function(e){for(var t=new Set,s=0,n=e.length;s<n;s++){var r=e[s];t.add(r[0]),t.add(r[1])}return Array.from(t)}(e),e)},S.array=A;const j=Object.prototype.toString,C=Error.prototype.toString,z=RegExp.prototype.toString,N="undefined"!=typeof Symbol?Symbol.prototype.toString:()=>"",I=/^Symbol\((.*)\)(.*)$/;function M(e,t=!1){if(null==e||!0===e||!1===e)return""+e;const s=typeof e;if("number"===s)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===s)return t?`"${e}"`:e;if("function"===s)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===s)return N.call(e).replace(I,"Symbol($1)");const n=j.call(e).slice(8,-1);return"Date"===n?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===n||e instanceof Error?"["+C.call(e)+"]":"RegExp"===n?z.call(e):null}function P(e,t){let s=M(e,t);return null!==s?s:JSON.stringify(e,(function(e,s){let n=M(this[e],t);return null!==n?n:s}),2)}function V(e){return null==e?[]:[].concat(e)}let q=/\$\{\s*(\w+)\s*\}/g;class L extends Error{static formatError(e,t){const s=t.label||t.path||"this";return s!==t.path&&(t=Object.assign({},t,{path:s})),"string"==typeof e?e.replace(q,((e,s)=>P(t[s]))):"function"==typeof e?e(t):e}static isError(e){return e&&"ValidationError"===e.name}constructor(e,t,s,n){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=s,this.type=n,this.errors=[],this.inner=[],V(e).forEach((e=>{L.isError(e)?(this.errors.push(...e.errors),this.inner=this.inner.concat(e.inner.length?e.inner:e)):this.errors.push(e)})),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,L)}}let R={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:s,originalValue:n})=>{const r=null!=n&&n!==s?` (cast from the value \`${P(n,!0)}\`).`:".";return"mixed"!==t?`${e} must be a \`${t}\` type, but the final value was: \`${P(s,!0)}\``+r:`${e} must match the configured type. The validated value was: \`${P(s,!0)}\``+r}},Z={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},U={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},Y={noUnknown:"${path} field has unspecified keys: ${unknown}"};Object.assign(Object.create(null),{mixed:R,string:Z,number:{min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},date:U,object:Y,array:{min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},boolean:{isValue:"${path} field must be ${value}"}});const B=e=>e&&e.__isYupSchema__;class J{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:s,then:n,otherwise:r}=t,i="function"==typeof s?s:(...e)=>e.every((e=>e===s));return new J(e,((e,t)=>{var s;let a=i(...e)?n:r;return null!=(s=null==a?void 0:a(t))?s:t}))}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let s=this.refs.map((e=>e.getValue(null==t?void 0:t.value,null==t?void 0:t.parent,null==t?void 0:t.context))),n=this.fn(s,e,t);if(void 0===n||n===e)return e;if(!B(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}}const K="$",H=".";class G{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,"string"!=typeof e)throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),""===e)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===K,this.isValue=this.key[0]===H,this.isSibling=!this.isContext&&!this.isValue;let s=this.isContext?K:this.isValue?H:"";this.path=this.key.slice(s.length),this.getter=this.path&&v.getter(this.path,!0),this.map=t.map}getValue(e,t,s){let n=this.isContext?s:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,null==t?void 0:t.parent,null==t?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}G.prototype.__isYupRef=!0;const Q=e=>null==e;function W(e){function t({value:t,path:s="",options:n,originalValue:r,schema:i},a,o){const{name:u,test:l,params:c,message:h,skipAbsent:f}=e;let{parent:d,context:p,abortEarly:m=i.spec.abortEarly}=n;function y(e){return G.isRef(e)?e.getValue(t,d,p):e}function g(e={}){const n=Object.assign({value:t,originalValue:r,label:i.spec.label,path:e.path||s,spec:i.spec},c,e.params);for(const e of Object.keys(n))n[e]=y(n[e]);const a=new L(L.formatError(e.message||h,n),t,n.path,e.type||u);return a.params=n,a}const b=m?a:o;let v={path:s,parent:d,type:u,from:n.from,createError:g,resolve:y,options:n,originalValue:r,schema:i};const x=e=>{L.isError(e)?b(e):e?o(null):b(g())},w=e=>{L.isError(e)?b(e):a(e)},F=f&&Q(t);if(!n.sync){try{Promise.resolve(!!F||l.call(v,t,v)).then(x,w)}catch(e){w(e)}return}let E;try{var _;if(E=!!F||l.call(v,t,v),"function"==typeof(null==(_=E)?void 0:_.then))throw new Error(`Validation test of type: "${v.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(e){return void w(e)}x(E)}return t.OPTIONS=e,t}function X(e,t,s,n=s){let r,i,a;return t?(v.forEach(t,((o,u,l)=>{let c=u?o.slice(1,o.length-1):o,h="tuple"===(e=e.resolve({context:n,parent:r,value:s})).type,f=l?parseInt(c,10):0;if(e.innerType||h){if(h&&!l)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(s&&f>=s.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${o}, in the path: ${t}. because there is no value at that index. `);r=s,s=s&&s[f],e=h?e.spec.types[f]:e.innerType}if(!l){if(!e.fields||!e.fields[c])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${a} which is a type: "${e.type}")`);r=s,s=s&&s[c],e=e.fields[c]}i=c,a=u?"["+o+"]":"."+o})),{schema:e,parent:r,parentPath:i}):{parent:r,parentPath:t,schema:e}}class ee extends Set{describe(){const e=[];for(const t of this.values())e.push(G.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const s of this.values())t.push(e(s));return t}clone(){return new ee(this.values())}merge(e,t){const s=this.clone();return e.forEach((e=>s.add(e))),t.forEach((e=>s.delete(e))),s}}function te(e,t=new Map){if(B(e)||!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let s;if(e instanceof Date)s=new Date(e.getTime()),t.set(e,s);else if(e instanceof RegExp)s=new RegExp(e),t.set(e,s);else if(Array.isArray(e)){s=new Array(e.length),t.set(e,s);for(let n=0;n<e.length;n++)s[n]=te(e[n],t)}else if(e instanceof Map){s=new Map,t.set(e,s);for(const[n,r]of e.entries())s.set(n,te(r,t))}else if(e instanceof Set){s=new Set,t.set(e,s);for(const n of e)s.add(te(n,t))}else{if(!(e instanceof Object))throw Error(`Unable to clone ${e}`);s={},t.set(e,s);for(const[n,r]of Object.entries(e))s[n]=te(r,t)}return s}class se{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new ee,this._blacklist=new ee,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation((()=>{this.typeError(R.notType)})),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,optional:!0,coerce:!0},null==e?void 0:e.spec),this.withMutation((e=>{e.nonNullable()}))}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=te(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let s=e(this);return this._mutate=t,s}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&"mixed"!==this.type)throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,s=e.clone();const n=Object.assign({},t.spec,s.spec);return s.spec=n,s.internalTests=Object.assign({},t.internalTests,s.internalTests),s._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),s._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),s.tests=t.tests,s.exclusiveTests=t.exclusiveTests,s.withMutation((t=>{e.tests.forEach((e=>{t.test(e.OPTIONS)}))})),s.transforms=[...t.transforms,...s.transforms],s}isType(e){return null==e?!(!this.spec.nullable||null!==e)||!(!this.spec.optional||void 0!==e):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let s=t.conditions;t=t.clone(),t.conditions=[],t=s.reduce(((t,s)=>s.resolve(t,e)),t),t=t.resolve(e)}return t}resolveOptions(e){var t,s,n;return Object.assign({},e,{from:e.from||[],strict:null!=(t=e.strict)?t:this.spec.strict,abortEarly:null!=(s=e.abortEarly)?s:this.spec.abortEarly,recursive:null!=(n=e.recursive)?n:this.spec.recursive})}cast(e,t={}){let s=this.resolve(Object.assign({value:e},t)),n="ignore-optionality"===t.assert,r=s._cast(e,t);if(!1!==t.assert&&!s.isType(r)){if(n&&Q(r))return r;let i=P(e),a=P(r);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${s.type}". \n\nattempted value: ${i} \n`+(a!==i?`result of cast: ${a}`:""))}return r}_cast(e,t){let s=void 0===e?e:this.transforms.reduce(((t,s)=>s.call(this,t,e,this)),e);return void 0===s&&(s=this.getDefault()),s}_validate(e,t={},s,n){let{path:r,originalValue:i=e,strict:a=this.spec.strict}=t,o=e;a||(o=this._cast(o,Object.assign({assert:!1},t)));let u=[];for(let e of Object.values(this.internalTests))e&&u.push(e);this.runTests({path:r,value:o,originalValue:i,options:t,tests:u},s,(e=>{if(e.length)return n(e,o);this.runTests({path:r,value:o,originalValue:i,options:t,tests:this.tests},s,n)}))}runTests(e,t,s){let n=!1,{tests:r,value:i,originalValue:a,path:o,options:u}=e,l=e=>{n||(n=!0,t(e,i))},c=e=>{n||(n=!0,s(e,i))},h=r.length,f=[];if(!h)return c([]);let d={value:i,originalValue:a,path:o,options:u,schema:this};for(let e=0;e<r.length;e++){(0,r[e])(d,l,(function(e){e&&(f=f.concat(e)),--h<=0&&c(f)}))}}asNestedTest({key:e,index:t,parent:s,parentPath:n,originalParent:r,options:i}){const a=null!=e?e:t;if(null==a)throw TypeError("Must include `key` or `index` for nested validations");const o="number"==typeof a;let u=s[a];const l=Object.assign({},i,{strict:!0,parent:s,value:u,originalValue:r[a],key:void 0,[o?"index":"key"]:a,path:o||a.includes(".")?`${n||""}[${u?a:`"${a}"`}]`:(n?`${n}.`:"")+e});return(e,t,s)=>this.resolve(l)._validate(u,l,t,s)}validate(e,t){let s=this.resolve(Object.assign({},t,{value:e}));return new Promise(((n,r)=>s._validate(e,t,((e,t)=>{L.isError(e)&&(e.value=t),r(e)}),((e,t)=>{e.length?r(new L(e,t)):n(t)}))))}validateSync(e,t){let s;return this.resolve(Object.assign({},t,{value:e}))._validate(e,Object.assign({},t,{sync:!0}),((e,t)=>{throw L.isError(e)&&(e.value=t),e}),((t,n)=>{if(t.length)throw new L(t,e);s=n})),s}isValid(e,t){return this.validate(e,t).then((()=>!0),(e=>{if(L.isError(e))return!1;throw e}))}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(e){if(L.isError(e))return!1;throw e}}_getDefault(){let e=this.spec.default;return null==e?e:"function"==typeof e?e.call(this):te(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){if(0===arguments.length)return this._getDefault();return this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const s=this.clone({nullable:e});return s.internalTests.nullable=W({message:t,name:"nullable",test(e){return null!==e||this.schema.spec.nullable}}),s}optionality(e,t){const s=this.clone({optional:e});return s.internalTests.optionality=W({message:t,name:"optionality",test(e){return void 0!==e||this.schema.spec.optional}}),s}optional(){return this.optionality(!0)}defined(e=R.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=R.notNull){return this.nullability(!1,e)}required(e=R.required){return this.clone().withMutation((t=>t.nonNullable(e).defined(e)))}notRequired(){return this.clone().withMutation((e=>e.nullable().optional()))}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(t=1===e.length?"function"==typeof e[0]?{test:e[0]}:e[0]:2===e.length?{name:e[0],test:e[1]}:{name:e[0],message:e[1],test:e[2]},void 0===t.message&&(t.message=R.default),"function"!=typeof t.test)throw new TypeError("`test` is a required parameters");let s=this.clone(),n=W(t),r=t.exclusive||t.name&&!0===s.exclusiveTests[t.name];if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(s.exclusiveTests[t.name]=!!t.exclusive),s.tests=s.tests.filter((e=>{if(e.OPTIONS.name===t.name){if(r)return!1;if(e.OPTIONS.test===n.OPTIONS.test)return!1}return!0})),s.tests.push(n),s}when(e,t){Array.isArray(e)||"string"==typeof e||(t=e,e=".");let s=this.clone(),n=V(e).map((e=>new G(e)));return n.forEach((e=>{e.isSibling&&s.deps.push(e.key)})),s.conditions.push("function"==typeof t?new J(n,t):J.fromOptions(n,t)),s}typeError(e){let t=this.clone();return t.internalTests.typeError=W({message:e,name:"typeError",test(e){return!(!Q(e)&&!this.schema._typeCheck(e))||this.createError({params:{type:this.schema.type}})}}),t}oneOf(e,t=R.oneOf){let s=this.clone();return e.forEach((e=>{s._whitelist.add(e),s._blacklist.delete(e)})),s.internalTests.whiteList=W({message:t,name:"oneOf",skipAbsent:!0,test(e){let t=this.schema._whitelist,s=t.resolveAll(this.resolve);return!!s.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:s}})}}),s}notOneOf(e,t=R.notOneOf){let s=this.clone();return e.forEach((e=>{s._blacklist.add(e),s._whitelist.delete(e)})),s.internalTests.blacklist=W({message:t,name:"notOneOf",test(e){let t=this.schema._blacklist,s=t.resolveAll(this.resolve);return!s.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:s}})}}),s}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:s,meta:n,optional:r,nullable:i}=t.spec;return{meta:n,label:s,optional:r,nullable:i,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map((e=>({name:e.OPTIONS.name,params:e.OPTIONS.params}))).filter(((e,t,s)=>s.findIndex((t=>t.name===e.name))===t))}}}se.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])se.prototype[`${e}At`]=function(t,s,n={}){const{parent:r,parentPath:i,schema:a}=X(this,t,s,n.context);return a[e](r&&r[i],Object.assign({},n,{parent:r,path:t}))};for(const e of["equals","is"])se.prototype[e]=se.prototype.oneOf;for(const e of["not","nope"])se.prototype[e]=se.prototype.notOneOf;let ne=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,re=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,ie=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,ae=e=>Q(e)||e===e.trim(),oe={}.toString();function ue(){return new le}class le extends se{constructor(){super({type:"string",check:e=>(e instanceof String&&(e=e.valueOf()),"string"==typeof e)}),this.withMutation((()=>{this.transform(((e,t,s)=>{if(!s.spec.coerce||s.isType(e))return e;if(Array.isArray(e))return e;const n=null!=e&&e.toString?e.toString():e;return n===oe?e:n}))}))}required(e){return super.required(e).withMutation((t=>t.test({message:e||R.required,name:"required",skipAbsent:!0,test:e=>!!e.length})))}notRequired(){return super.notRequired().withMutation((e=>(e.tests=e.tests.filter((e=>"required"!==e.OPTIONS.name)),e)))}length(e,t=Z.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(t){return t.length===this.resolve(e)}})}min(e,t=Z.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(t){return t.length>=this.resolve(e)}})}max(e,t=Z.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(t){return t.length<=this.resolve(e)}})}matches(e,t){let s,n,r=!1;return t&&("object"==typeof t?({excludeEmptyString:r=!1,message:s,name:n}=t):s=t),this.test({name:n||"matches",message:s||Z.matches,params:{regex:e},skipAbsent:!0,test:t=>""===t&&r||-1!==t.search(e)})}email(e=Z.email){return this.matches(ne,{name:"email",message:e,excludeEmptyString:!0})}url(e=Z.url){return this.matches(re,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Z.uuid){return this.matches(ie,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform((e=>null===e?"":e))}trim(e=Z.trim){return this.transform((e=>null!=e?e.trim():e)).test({message:e,name:"trim",test:ae})}lowercase(e=Z.lowercase){return this.transform((e=>Q(e)?e:e.toLowerCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>Q(e)||e===e.toLowerCase()})}uppercase(e=Z.uppercase){return this.transform((e=>Q(e)?e:e.toUpperCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>Q(e)||e===e.toUpperCase()})}}ue.prototype=le.prototype;var ce=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;let he=new Date("");class fe extends se{constructor(){super({type:"date",check(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t}}),this.withMutation((()=>{this.transform(((e,t,s)=>!s.spec.coerce||s.isType(e)?e:(e=function(e){var t,s,n=[1,4,5,6,7,10,11],r=0;if(s=ce.exec(e)){for(var i,a=0;i=n[a];++a)s[i]=+s[i]||0;s[2]=(+s[2]||1)-1,s[3]=+s[3]||1,s[7]=s[7]?String(s[7]).substr(0,3):0,void 0!==s[8]&&""!==s[8]||void 0!==s[9]&&""!==s[9]?("Z"!==s[8]&&void 0!==s[9]&&(r=60*s[10]+s[11],"+"===s[9]&&(r=0-r)),t=Date.UTC(s[1],s[2],s[3],s[4],s[5]+r,s[6],s[7])):t=+new Date(s[1],s[2],s[3],s[4],s[5],s[6],s[7])}else t=Date.parse?Date.parse(e):NaN;return t}(e),isNaN(e)?fe.INVALID_DATE:new Date(e))))}))}prepareParam(e,t){let s;if(G.isRef(e))s=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);s=n}return s}min(e,t=U.min){let s=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(e){return e>=this.resolve(s)}})}max(e,t=U.max){let s=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(e){return e<=this.resolve(s)}})}}function de(e,t){let s=1/0;return e.some(((e,n)=>{var r;if(null!=(r=t.path)&&r.includes(e))return s=n,!0})),s}function pe(e){return(t,s)=>de(e,t)-de(e,s)}fe.INVALID_DATE=he,fe.prototype;const me=(e,t,s)=>{if("string"!=typeof e)return e;let n=e;try{n=JSON.parse(e)}catch(e){}return s.isType(n)?n:e};function ye(e){if("fields"in e){const t={};for(const[s,n]of Object.entries(e.fields))t[s]=ye(n);return e.setFields(t)}if("array"===e.type){const t=e.optional();return t.innerType&&(t.innerType=ye(t.innerType)),t}return"tuple"===e.type?e.optional().clone({types:e.spec.types.map(ye)}):"optional"in e?e.optional():e}let ge=e=>"[object Object]"===Object.prototype.toString.call(e);const be=pe([]);function ve(e){return new xe(e)}class xe extends se{constructor(e){super({type:"object",check:e=>ge(e)||"function"==typeof e}),this.fields=Object.create(null),this._sortErrors=be,this._nodes=[],this._excludedEdges=[],this.withMutation((()=>{e&&this.shape(e)}))}_cast(e,t={}){var s;let n=super._cast(e,t);if(void 0===n)return this.getDefault();if(!this._typeCheck(n))return n;let r=this.fields,i=null!=(s=t.stripUnknown)?s:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(n).filter((e=>!this._nodes.includes(e)))),o={},u=Object.assign({},t,{parent:o,__validating:t.__validating||!1}),l=!1;for(const e of a){let s=r[e],a=e in n;if(s){let r,i=n[e];u.path=(t.path?`${t.path}.`:"")+e,s=s.resolve({value:i,context:t.context,parent:o});let a=s instanceof se?s.spec:void 0,c=null==a?void 0:a.strict;if(null!=a&&a.strip){l=l||e in n;continue}r=t.__validating&&c?n[e]:s.cast(n[e],u),void 0!==r&&(o[e]=r)}else a&&!i&&(o[e]=n[e]);a===e in o&&o[e]===n[e]||(l=!0)}return l?o:n}_validate(e,t={},s,n){let{from:r=[],originalValue:i=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:i},...r],t.__validating=!0,t.originalValue=i,super._validate(e,t,s,((e,r)=>{if(!a||!ge(r))return void n(e,r);i=i||r;let o=[];for(let e of this._nodes){let s=this.fields[e];s&&!G.isRef(s)&&o.push(s.asNestedTest({options:t,key:e,parent:r,parentPath:t.path,originalParent:i}))}this.runTests({tests:o,value:r,originalValue:i,options:t},s,(t=>{n(t.sort(this._sortErrors).concat(e),r)}))}))}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),s=t.fields;for(let[e,t]of Object.entries(this.fields)){const n=s[e];s[e]=void 0===n?t:n}return t.withMutation((e=>e.setFields(s,this._excludedEdges)))}_getDefault(){if("default"in this.spec)return super._getDefault();if(!this._nodes.length)return;let e={};return this._nodes.forEach((t=>{const s=this.fields[t];e[t]=s&&"getDefault"in s?s.getDefault():void 0})),e}setFields(e,t){let s=this.clone();return s.fields=e,s._nodes=function(e,t=[]){let s=[],n=new Set,r=new Set(t.map((([e,t])=>`${e}-${t}`)));function i(e,t){let i=v.split(e)[0];n.add(i),r.has(`${t}-${i}`)||s.push([t,i])}for(const t of Object.keys(e)){let s=e[t];n.add(t),G.isRef(s)&&s.isSibling?i(s.path,t):B(s)&&"deps"in s&&s.deps.forEach((e=>i(e,t)))}return S.array(Array.from(n),s).reverse()}(e,t),s._sortErrors=pe(Object.keys(e)),t&&(s._excludedEdges=t),s}shape(e,t=[]){return this.clone().withMutation((s=>{let n=s._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),n=[...s._excludedEdges,...t]),s.setFields(Object.assign(s.fields,e),n)}))}partial(){const e={};for(const[t,s]of Object.entries(this.fields))e[t]="optional"in s&&s.optional instanceof Function?s.optional():s;return this.setFields(e)}deepPartial(){return ye(this)}pick(e){const t={};for(const s of e)this.fields[s]&&(t[s]=this.fields[s]);return this.setFields(t)}omit(e){const t=Object.assign({},this.fields);for(const s of e)delete t[s];return this.setFields(t)}from(e,t,s){let n=v.getter(e,!0);return this.transform((r=>{if(!r)return r;let i=r;return((e,t)=>{const s=[...v.normalizePath(t)];if(1===s.length)return s[0]in e;let n=s.pop(),r=v.getter(v.join(s),!0)(e);return!(!r||!(n in r))})(r,e)&&(i=Object.assign({},r),s||delete i[e],i[t]=n(r)),i}))}json(){return this.transform(me)}noUnknown(e=!0,t=Y.noUnknown){"boolean"!=typeof e&&(t=e,e=!0);let s=this.test({name:"noUnknown",exclusive:!0,message:t,test(t){if(null==t)return!0;const s=function(e,t){let s=Object.keys(e.fields);return Object.keys(t).filter((e=>-1===s.indexOf(e)))}(this.schema,t);return!e||0===s.length||this.createError({params:{unknown:s.join(", ")}})}});return s.spec.noUnknown=e,s}unknown(e=!0,t=Y.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform((t=>{if(!t)return t;const s={};for(const n of Object.keys(t))s[e(n)]=t[n];return s}))}camelCase(){return this.transformKeys(T)}snakeCase(){return this.transformKeys(D)}constantCase(){return this.transformKeys((e=>D(e).toUpperCase()))}describe(e){let t=super.describe(e);t.fields={};for(const[n,r]of Object.entries(this.fields)){var s;let i=e;null!=(s=i)&&s.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[n]})),t.fields[n]=r.describe(i)}return t}}ve.prototype=xe.prototype;const we="#000639",Fe='<svg width="40" height="41" fill="none" class="busha-commerce-close-icon" xmlns="http://www.w3.org/2000/svg"><path d="M0 10.5C0 4.977 4.477.5 10 .5h20c5.523 0 10 4.477 10 10v20c0 5.523-4.477 10-10 10H10c-5.523 0-10-4.477-10-10v-20Z" /><path fill-rule="evenodd" clip-rule="evenodd" d="M25.927 15.78a.75.75 0 1 0-1.06-1.06l-4.793 4.793-4.793-4.793a.75.75 0 0 0-1.061 1.06l4.793 4.793-4.793 4.793a.75.75 0 1 0 1.06 1.061l4.794-4.793 4.793 4.793a.75.75 0 0 0 1.06-1.06l-4.793-4.794 4.793-4.793Z" fill="#000000"/></svg>';let Ee;function _e(c){!function(){if(document.head.querySelector(`#${n}`))return;const e=document.createElement("style");e.id=n,e.dataset.testid=n,document.head.appendChild(e),e.textContent=`\n @keyframes busha-commerce-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n #${t} {\n animation: busha-commerce-fadeIn 0.3s ease-in-out;\n }\n \n #${t}, #${t} * {\n margin: 0;\n padding: 0px;\n box-sizing: border-box;\n }\n \n #${s} {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n #${r} .busha-commerce-close-icon {\n width: 100%;\n height: 100%;\n fill: transparent;\n }\n `}(),function(e){ve({quote_amount:ue().required(),quote_currency:ue().required(),target_currency:ue().required(),source_currency:ue().required(),public_key:ue().required(),reference:ue().optional(),callback_url:ue().optional(),meta:ve({email:ue().email(),name:ue()}).optional()}).validateSync(e)}(c),Ee=c;const h=function(){const e=document.createElement("div");return e.id=t,e.dataset.testid=t,e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.width="100%",e.style.height="100%",e.style.zIndex="999999999",e.style.backgroundColor="rgba(33, 41, 33, 0.20)",e.style.backdropFilter="blur(27px)",e}(),f=function(){const e=document.createElement("div");return e.id=s,e.dataset.testid=s,e.style.width="40px",e.style.height="40px",e.style.backgroundColor="transparent",e.style.border=`2px solid ${we}`,e.style.borderLeftColor="transparent",e.style.borderBottomColor="transparent",e.style.borderRadius="100%",e.animate&&e.animate([{transform:"rotate(0)"},{transform:"rotate(360deg)"}],{duration:300,iterations:1/0}),e}(),d=function(){const e=document.createElement("button");return e.id=r,e.dataset.testid=r,e.setAttribute("type","button"),e.style.width="40px",e.style.height="40px",e.style.position="absolute",e.style.right="36px",e.style.top="36px",e.style.zIndex="40",e.style.backgroundColor="#ffffff",e.style.borderRadius="100%",e.style.border="none",e.innerHTML=Fe,e}();d.addEventListener("click",(e=>{e.preventDefault(),$e(),Ee.onClose&&Ee.onClose({status:l,data:{reference:Ee.reference}})})),h.appendChild(f),h.appendChild(d);const p=function(e=!1){const t=document.createElement("iframe"),s=e?u:o;return t.dataset.testid=i,t.name=i,t.allow=`clipboard-write self ${s}`,t.style.width="100%",t.style.height="100%",t.style.position="absolute",t.style.left="50%",t.style.top="0px",t.style.transform="translate(-50%, 0)",t.style.zIndex="20",t}(Ee.devMode);h.appendChild(p),document.body.appendChild(h);const m=e(c,["onClose","onSuccess"]),y=function(t){var{devMode:s=!1}=t,n=e(t,["devMode"]);const r=s?u:o,l=document.createElement("form");l.target=i,l.dataset.testid=a,l.action=r?`${r}/pay`:"",l.method="POST",l.style.display="none",(e=>{for(const e in n){if(!n.hasOwnProperty(e))continue;const t=n[e];if("object"==typeof t)for(const s in t){if(!t.hasOwnProperty(s))continue;const n=document.createElement("input");n.name=`${e}[${s}]`,n.value=String(t[s]),l.appendChild(n)}else{const s=document.createElement("input");s.name=e,s.value=String(t),l.appendChild(s)}}})();const c=document.createElement("input");c.name="displayMode",c.value="INLINE";const h=document.createElement("input");return h.name="parentOrigin",h.value=window.location.origin,l.appendChild(c),l.appendChild(h),l}(Object.assign({devMode:Ee.devMode},m));h.appendChild(y),y.submit(),window.addEventListener("message",Oe)}function $e(){const e=document.getElementById(t),s=document.getElementById(r);null==s||s.removeEventListener("click",$e),window.removeEventListener("message",Oe),e&&document.body.removeChild(e)}const Oe=e=>{const n=Ee.devMode?u:o;if(!n)return;const i=new URL(n);if(e.origin===i.origin&&Ee){if("INITIALIZED"===e.data.status){const e=document.getElementById(t),n=document.getElementById(s),i=document.getElementById(r);if(!n||!i)return;null==e||e.removeChild(n),null==e||e.removeChild(i)}e.data.status===l&&($e(),Ee.onClose&&Ee.onClose(e.data)),"COMPLETED"===e.data.status&&($e(),Ee.onSuccess&&Ee.onSuccess(e.data))}};export{_e as default};
|
|
1
|
+
function e(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n}const t="busha-commerce-container",n="busha-commerce-loader",s="busha-commerce-styles",r="busha-commerce-close-btn",i="busha-commerce-iframe",a="busha-commerce-form",o="https://pay.busha.co",u="https://staging.pay.busha.co",l="CANCELLED";function c(e){this._maxSize=e,this.clear()}c.prototype.clear=function(){this._size=0,this._values=Object.create(null)},c.prototype.get=function(e){return this._values[e]},c.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var d=/[^.^\]^[]+|(?=\[\]|\.\.)/g,h=/^\d+$/,p=/^\d/,f=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,m=/^\s*(['"]?)(.*?)(\1)\s*$/,y=new c(512),g=new c(512),x=new c(512),v={Cache:c,split:w,normalizePath:b,setter:function(e){var t=b(e);return g.get(e)||g.set(e,(function(e,n){for(var s=0,r=t.length,i=e;s<r-1;){var a=t[s];if("__proto__"===a||"constructor"===a||"prototype"===a)return e;i=i[t[s++]]}i[t[s]]=n}))},getter:function(e,t){var n=b(e);return x.get(e)||x.set(e,(function(e){for(var s=0,r=n.length;s<r;){if(null==e&&t)return;e=e[n[s++]]}return e}))},join:function(e){return e.reduce((function(e,t){return e+(F(t)||h.test(t)?"["+t+"]":(e?".":"")+t)}),"")},forEach:function(e,t,n){!function(e,t,n){var s,r,i,a,o=e.length;for(r=0;r<o;r++)(s=e[r])&&($(s)&&(s='"'+s+'"'),i=!(a=F(s))&&/^\d+$/.test(s),t.call(n,s,a,i,r,e))}(Array.isArray(e)?e:w(e),t,n)}};function b(e){return y.get(e)||y.set(e,w(e).map((function(e){return e.replace(m,"$2")})))}function w(e){return e.match(d)||[""]}function F(e){return"string"==typeof e&&e&&-1!==["'",'"'].indexOf(e.charAt(0))}function $(e){return!F(e)&&(function(e){return e.match(p)&&!e.match(h)}(e)||function(e){return f.test(e)}(e))}const E=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,_=e=>e.match(E)||[],O=(e,t)=>_(e).join(t).toLowerCase(),k=e=>_(e).reduce(((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`),"");var T=k,j=e=>O(e,"_"),D={};function S(e,t){var n=e.length,s=new Array(n),r={},i=n,a=function(e){for(var t=new Map,n=0,s=e.length;n<s;n++){var r=e[n];t.has(r[0])||t.set(r[0],new Set),t.has(r[1])||t.set(r[1],new Set),t.get(r[0]).add(r[1])}return t}(t),o=function(e){for(var t=new Map,n=0,s=e.length;n<s;n++)t.set(e[n],n);return t}(e);for(t.forEach((function(e){if(!o.has(e[0])||!o.has(e[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")}));i--;)r[i]||u(e[i],i,new Set);return s;function u(e,t,i){if(i.has(e)){var l;try{l=", node was:"+JSON.stringify(e)}catch(e){l=""}throw new Error("Cyclic dependency"+l)}if(!o.has(e))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(e));if(!r[t]){r[t]=!0;var c=a.get(e)||new Set;if(t=(c=Array.from(c)).length){i.add(e);do{var d=c[--t];u(d,o.get(d),i)}while(t);i.delete(e)}s[--n]=e}}}({get exports(){return D},set exports(e){D=e}}).exports=function(e){return S(function(e){for(var t=new Set,n=0,s=e.length;n<s;n++){var r=e[n];t.add(r[0]),t.add(r[1])}return Array.from(t)}(e),e)},D.array=S;const A=Object.prototype.toString,C=Error.prototype.toString,z=RegExp.prototype.toString,N="undefined"!=typeof Symbol?Symbol.prototype.toString:()=>"",M=/^Symbol\((.*)\)(.*)$/;function I(e,t=!1){if(null==e||!0===e||!1===e)return""+e;const n=typeof e;if("number"===n)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===n)return t?`"${e}"`:e;if("function"===n)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===n)return N.call(e).replace(M,"Symbol($1)");const s=A.call(e).slice(8,-1);return"Date"===s?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===s||e instanceof Error?"["+C.call(e)+"]":"RegExp"===s?z.call(e):null}function P(e,t){let n=I(e,t);return null!==n?n:JSON.stringify(e,(function(e,n){let s=I(this[e],t);return null!==s?s:n}),2)}function V(e){return null==e?[]:[].concat(e)}let q=/\$\{\s*(\w+)\s*\}/g;class L extends Error{static formatError(e,t){const n=t.label||t.path||"this";return n!==t.path&&(t=Object.assign({},t,{path:n})),"string"==typeof e?e.replace(q,((e,n)=>P(t[n]))):"function"==typeof e?e(t):e}static isError(e){return e&&"ValidationError"===e.name}constructor(e,t,n,s){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=n,this.type=s,this.errors=[],this.inner=[],V(e).forEach((e=>{L.isError(e)?(this.errors.push(...e.errors),this.inner=this.inner.concat(e.inner.length?e.inner:e)):this.errors.push(e)})),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,L)}}let R={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:n,originalValue:s})=>{const r=null!=s&&s!==n?` (cast from the value \`${P(s,!0)}\`).`:".";return"mixed"!==t?`${e} must be a \`${t}\` type, but the final value was: \`${P(n,!0)}\``+r:`${e} must match the configured type. The validated value was: \`${P(n,!0)}\``+r}},U={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},Z={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},B={noUnknown:"${path} field has unspecified keys: ${unknown}"};Object.assign(Object.create(null),{mixed:R,string:U,number:{min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},date:Z,object:B,array:{min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},boolean:{isValue:"${path} field must be ${value}"}});const Y=e=>e&&e.__isYupSchema__;class H{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:n,then:s,otherwise:r}=t,i="function"==typeof n?n:(...e)=>e.every((e=>e===n));return new H(e,((e,t)=>{var n;let a=i(...e)?s:r;return null!=(n=null==a?void 0:a(t))?n:t}))}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let n=this.refs.map((e=>e.getValue(null==t?void 0:t.value,null==t?void 0:t.parent,null==t?void 0:t.context))),s=this.fn(n,e,t);if(void 0===s||s===e)return e;if(!Y(s))throw new TypeError("conditions must return a schema object");return s.resolve(t)}}const J="$",K=".";class G{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,"string"!=typeof e)throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),""===e)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===J,this.isValue=this.key[0]===K,this.isSibling=!this.isContext&&!this.isValue;let n=this.isContext?J:this.isValue?K:"";this.path=this.key.slice(n.length),this.getter=this.path&&v.getter(this.path,!0),this.map=t.map}getValue(e,t,n){let s=this.isContext?n:this.isValue?e:t;return this.getter&&(s=this.getter(s||{})),this.map&&(s=this.map(s)),s}cast(e,t){return this.getValue(e,null==t?void 0:t.parent,null==t?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}G.prototype.__isYupRef=!0;const Q=e=>null==e;function W(e){function t({value:t,path:n="",options:s,originalValue:r,schema:i},a,o){const{name:u,test:l,params:c,message:d,skipAbsent:h}=e;let{parent:p,context:f,abortEarly:m=i.spec.abortEarly}=s;function y(e){return G.isRef(e)?e.getValue(t,p,f):e}function g(e={}){const s=Object.assign({value:t,originalValue:r,label:i.spec.label,path:e.path||n,spec:i.spec},c,e.params);for(const e of Object.keys(s))s[e]=y(s[e]);const a=new L(L.formatError(e.message||d,s),t,s.path,e.type||u);return a.params=s,a}const x=m?a:o;let v={path:n,parent:p,type:u,from:s.from,createError:g,resolve:y,options:s,originalValue:r,schema:i};const b=e=>{L.isError(e)?x(e):e?o(null):x(g())},w=e=>{L.isError(e)?x(e):a(e)},F=h&&Q(t);if(!s.sync){try{Promise.resolve(!!F||l.call(v,t,v)).then(b,w)}catch(e){w(e)}return}let $;try{var E;if($=!!F||l.call(v,t,v),"function"==typeof(null==(E=$)?void 0:E.then))throw new Error(`Validation test of type: "${v.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(e){return void w(e)}b($)}return t.OPTIONS=e,t}function X(e,t,n,s=n){let r,i,a;return t?(v.forEach(t,((o,u,l)=>{let c=u?o.slice(1,o.length-1):o,d="tuple"===(e=e.resolve({context:s,parent:r,value:n})).type,h=l?parseInt(c,10):0;if(e.innerType||d){if(d&&!l)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(n&&h>=n.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${o}, in the path: ${t}. because there is no value at that index. `);r=n,n=n&&n[h],e=d?e.spec.types[h]:e.innerType}if(!l){if(!e.fields||!e.fields[c])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${a} which is a type: "${e.type}")`);r=n,n=n&&n[c],e=e.fields[c]}i=c,a=u?"["+o+"]":"."+o})),{schema:e,parent:r,parentPath:i}):{parent:r,parentPath:t,schema:e}}class ee extends Set{describe(){const e=[];for(const t of this.values())e.push(G.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const n of this.values())t.push(e(n));return t}clone(){return new ee(this.values())}merge(e,t){const n=this.clone();return e.forEach((e=>n.add(e))),t.forEach((e=>n.delete(e))),n}}function te(e,t=new Map){if(Y(e)||!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let n;if(e instanceof Date)n=new Date(e.getTime()),t.set(e,n);else if(e instanceof RegExp)n=new RegExp(e),t.set(e,n);else if(Array.isArray(e)){n=new Array(e.length),t.set(e,n);for(let s=0;s<e.length;s++)n[s]=te(e[s],t)}else if(e instanceof Map){n=new Map,t.set(e,n);for(const[s,r]of e.entries())n.set(s,te(r,t))}else if(e instanceof Set){n=new Set,t.set(e,n);for(const s of e)n.add(te(s,t))}else{if(!(e instanceof Object))throw Error(`Unable to clone ${e}`);n={},t.set(e,n);for(const[s,r]of Object.entries(e))n[s]=te(r,t)}return n}class ne{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new ee,this._blacklist=new ee,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation((()=>{this.typeError(R.notType)})),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,optional:!0,coerce:!0},null==e?void 0:e.spec),this.withMutation((e=>{e.nonNullable()}))}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=te(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let n=e(this);return this._mutate=t,n}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&"mixed"!==this.type)throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,n=e.clone();const s=Object.assign({},t.spec,n.spec);return n.spec=s,n.internalTests=Object.assign({},t.internalTests,n.internalTests),n._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),n._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),n.tests=t.tests,n.exclusiveTests=t.exclusiveTests,n.withMutation((t=>{e.tests.forEach((e=>{t.test(e.OPTIONS)}))})),n.transforms=[...t.transforms,...n.transforms],n}isType(e){return null==e?!(!this.spec.nullable||null!==e)||!(!this.spec.optional||void 0!==e):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let n=t.conditions;t=t.clone(),t.conditions=[],t=n.reduce(((t,n)=>n.resolve(t,e)),t),t=t.resolve(e)}return t}resolveOptions(e){var t,n,s;return Object.assign({},e,{from:e.from||[],strict:null!=(t=e.strict)?t:this.spec.strict,abortEarly:null!=(n=e.abortEarly)?n:this.spec.abortEarly,recursive:null!=(s=e.recursive)?s:this.spec.recursive})}cast(e,t={}){let n=this.resolve(Object.assign({value:e},t)),s="ignore-optionality"===t.assert,r=n._cast(e,t);if(!1!==t.assert&&!n.isType(r)){if(s&&Q(r))return r;let i=P(e),a=P(r);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${n.type}". \n\nattempted value: ${i} \n`+(a!==i?`result of cast: ${a}`:""))}return r}_cast(e,t){let n=void 0===e?e:this.transforms.reduce(((t,n)=>n.call(this,t,e,this)),e);return void 0===n&&(n=this.getDefault()),n}_validate(e,t={},n,s){let{path:r,originalValue:i=e,strict:a=this.spec.strict}=t,o=e;a||(o=this._cast(o,Object.assign({assert:!1},t)));let u=[];for(let e of Object.values(this.internalTests))e&&u.push(e);this.runTests({path:r,value:o,originalValue:i,options:t,tests:u},n,(e=>{if(e.length)return s(e,o);this.runTests({path:r,value:o,originalValue:i,options:t,tests:this.tests},n,s)}))}runTests(e,t,n){let s=!1,{tests:r,value:i,originalValue:a,path:o,options:u}=e,l=e=>{s||(s=!0,t(e,i))},c=e=>{s||(s=!0,n(e,i))},d=r.length,h=[];if(!d)return c([]);let p={value:i,originalValue:a,path:o,options:u,schema:this};for(let e=0;e<r.length;e++){(0,r[e])(p,l,(function(e){e&&(h=h.concat(e)),--d<=0&&c(h)}))}}asNestedTest({key:e,index:t,parent:n,parentPath:s,originalParent:r,options:i}){const a=null!=e?e:t;if(null==a)throw TypeError("Must include `key` or `index` for nested validations");const o="number"==typeof a;let u=n[a];const l=Object.assign({},i,{strict:!0,parent:n,value:u,originalValue:r[a],key:void 0,[o?"index":"key"]:a,path:o||a.includes(".")?`${s||""}[${u?a:`"${a}"`}]`:(s?`${s}.`:"")+e});return(e,t,n)=>this.resolve(l)._validate(u,l,t,n)}validate(e,t){let n=this.resolve(Object.assign({},t,{value:e}));return new Promise(((s,r)=>n._validate(e,t,((e,t)=>{L.isError(e)&&(e.value=t),r(e)}),((e,t)=>{e.length?r(new L(e,t)):s(t)}))))}validateSync(e,t){let n;return this.resolve(Object.assign({},t,{value:e}))._validate(e,Object.assign({},t,{sync:!0}),((e,t)=>{throw L.isError(e)&&(e.value=t),e}),((t,s)=>{if(t.length)throw new L(t,e);n=s})),n}isValid(e,t){return this.validate(e,t).then((()=>!0),(e=>{if(L.isError(e))return!1;throw e}))}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(e){if(L.isError(e))return!1;throw e}}_getDefault(){let e=this.spec.default;return null==e?e:"function"==typeof e?e.call(this):te(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){if(0===arguments.length)return this._getDefault();return this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const n=this.clone({nullable:e});return n.internalTests.nullable=W({message:t,name:"nullable",test(e){return null!==e||this.schema.spec.nullable}}),n}optionality(e,t){const n=this.clone({optional:e});return n.internalTests.optionality=W({message:t,name:"optionality",test(e){return void 0!==e||this.schema.spec.optional}}),n}optional(){return this.optionality(!0)}defined(e=R.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=R.notNull){return this.nullability(!1,e)}required(e=R.required){return this.clone().withMutation((t=>t.nonNullable(e).defined(e)))}notRequired(){return this.clone().withMutation((e=>e.nullable().optional()))}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(t=1===e.length?"function"==typeof e[0]?{test:e[0]}:e[0]:2===e.length?{name:e[0],test:e[1]}:{name:e[0],message:e[1],test:e[2]},void 0===t.message&&(t.message=R.default),"function"!=typeof t.test)throw new TypeError("`test` is a required parameters");let n=this.clone(),s=W(t),r=t.exclusive||t.name&&!0===n.exclusiveTests[t.name];if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(n.exclusiveTests[t.name]=!!t.exclusive),n.tests=n.tests.filter((e=>{if(e.OPTIONS.name===t.name){if(r)return!1;if(e.OPTIONS.test===s.OPTIONS.test)return!1}return!0})),n.tests.push(s),n}when(e,t){Array.isArray(e)||"string"==typeof e||(t=e,e=".");let n=this.clone(),s=V(e).map((e=>new G(e)));return s.forEach((e=>{e.isSibling&&n.deps.push(e.key)})),n.conditions.push("function"==typeof t?new H(s,t):H.fromOptions(s,t)),n}typeError(e){let t=this.clone();return t.internalTests.typeError=W({message:e,name:"typeError",test(e){return!(!Q(e)&&!this.schema._typeCheck(e))||this.createError({params:{type:this.schema.type}})}}),t}oneOf(e,t=R.oneOf){let n=this.clone();return e.forEach((e=>{n._whitelist.add(e),n._blacklist.delete(e)})),n.internalTests.whiteList=W({message:t,name:"oneOf",skipAbsent:!0,test(e){let t=this.schema._whitelist,n=t.resolveAll(this.resolve);return!!n.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:n}})}}),n}notOneOf(e,t=R.notOneOf){let n=this.clone();return e.forEach((e=>{n._blacklist.add(e),n._whitelist.delete(e)})),n.internalTests.blacklist=W({message:t,name:"notOneOf",test(e){let t=this.schema._blacklist,n=t.resolveAll(this.resolve);return!n.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:n}})}}),n}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:n,meta:s,optional:r,nullable:i}=t.spec;return{meta:s,label:n,optional:r,nullable:i,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map((e=>({name:e.OPTIONS.name,params:e.OPTIONS.params}))).filter(((e,t,n)=>n.findIndex((t=>t.name===e.name))===t))}}}ne.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])ne.prototype[`${e}At`]=function(t,n,s={}){const{parent:r,parentPath:i,schema:a}=X(this,t,n,s.context);return a[e](r&&r[i],Object.assign({},s,{parent:r,path:t}))};for(const e of["equals","is"])ne.prototype[e]=ne.prototype.oneOf;for(const e of["not","nope"])ne.prototype[e]=ne.prototype.notOneOf;let se=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,re=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,ie=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,ae=e=>Q(e)||e===e.trim(),oe={}.toString();function ue(){return new le}class le extends ne{constructor(){super({type:"string",check:e=>(e instanceof String&&(e=e.valueOf()),"string"==typeof e)}),this.withMutation((()=>{this.transform(((e,t,n)=>{if(!n.spec.coerce||n.isType(e))return e;if(Array.isArray(e))return e;const s=null!=e&&e.toString?e.toString():e;return s===oe?e:s}))}))}required(e){return super.required(e).withMutation((t=>t.test({message:e||R.required,name:"required",skipAbsent:!0,test:e=>!!e.length})))}notRequired(){return super.notRequired().withMutation((e=>(e.tests=e.tests.filter((e=>"required"!==e.OPTIONS.name)),e)))}length(e,t=U.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(t){return t.length===this.resolve(e)}})}min(e,t=U.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(t){return t.length>=this.resolve(e)}})}max(e,t=U.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(t){return t.length<=this.resolve(e)}})}matches(e,t){let n,s,r=!1;return t&&("object"==typeof t?({excludeEmptyString:r=!1,message:n,name:s}=t):n=t),this.test({name:s||"matches",message:n||U.matches,params:{regex:e},skipAbsent:!0,test:t=>""===t&&r||-1!==t.search(e)})}email(e=U.email){return this.matches(se,{name:"email",message:e,excludeEmptyString:!0})}url(e=U.url){return this.matches(re,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=U.uuid){return this.matches(ie,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform((e=>null===e?"":e))}trim(e=U.trim){return this.transform((e=>null!=e?e.trim():e)).test({message:e,name:"trim",test:ae})}lowercase(e=U.lowercase){return this.transform((e=>Q(e)?e:e.toLowerCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>Q(e)||e===e.toLowerCase()})}uppercase(e=U.uppercase){return this.transform((e=>Q(e)?e:e.toUpperCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>Q(e)||e===e.toUpperCase()})}}ue.prototype=le.prototype;var ce=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;let de=new Date("");class he extends ne{constructor(){super({type:"date",check(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t}}),this.withMutation((()=>{this.transform(((e,t,n)=>!n.spec.coerce||n.isType(e)?e:(e=function(e){var t,n,s=[1,4,5,6,7,10,11],r=0;if(n=ce.exec(e)){for(var i,a=0;i=s[a];++a)n[i]=+n[i]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,void 0!==n[8]&&""!==n[8]||void 0!==n[9]&&""!==n[9]?("Z"!==n[8]&&void 0!==n[9]&&(r=60*n[10]+n[11],"+"===n[9]&&(r=0-r)),t=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7])):t=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7])}else t=Date.parse?Date.parse(e):NaN;return t}(e),isNaN(e)?he.INVALID_DATE:new Date(e))))}))}prepareParam(e,t){let n;if(G.isRef(e))n=e;else{let s=this.cast(e);if(!this._typeCheck(s))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);n=s}return n}min(e,t=Z.min){let n=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(e){return e>=this.resolve(n)}})}max(e,t=Z.max){let n=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(e){return e<=this.resolve(n)}})}}function pe(e,t){let n=1/0;return e.some(((e,s)=>{var r;if(null!=(r=t.path)&&r.includes(e))return n=s,!0})),n}function fe(e){return(t,n)=>pe(e,t)-pe(e,n)}he.INVALID_DATE=de,he.prototype;const me=(e,t,n)=>{if("string"!=typeof e)return e;let s=e;try{s=JSON.parse(e)}catch(e){}return n.isType(s)?s:e};function ye(e){if("fields"in e){const t={};for(const[n,s]of Object.entries(e.fields))t[n]=ye(s);return e.setFields(t)}if("array"===e.type){const t=e.optional();return t.innerType&&(t.innerType=ye(t.innerType)),t}return"tuple"===e.type?e.optional().clone({types:e.spec.types.map(ye)}):"optional"in e?e.optional():e}let ge=e=>"[object Object]"===Object.prototype.toString.call(e);const xe=fe([]);function ve(e){return new be(e)}class be extends ne{constructor(e){super({type:"object",check:e=>ge(e)||"function"==typeof e}),this.fields=Object.create(null),this._sortErrors=xe,this._nodes=[],this._excludedEdges=[],this.withMutation((()=>{e&&this.shape(e)}))}_cast(e,t={}){var n;let s=super._cast(e,t);if(void 0===s)return this.getDefault();if(!this._typeCheck(s))return s;let r=this.fields,i=null!=(n=t.stripUnknown)?n:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(s).filter((e=>!this._nodes.includes(e)))),o={},u=Object.assign({},t,{parent:o,__validating:t.__validating||!1}),l=!1;for(const e of a){let n=r[e],a=e in s;if(n){let r,i=s[e];u.path=(t.path?`${t.path}.`:"")+e,n=n.resolve({value:i,context:t.context,parent:o});let a=n instanceof ne?n.spec:void 0,c=null==a?void 0:a.strict;if(null!=a&&a.strip){l=l||e in s;continue}r=t.__validating&&c?s[e]:n.cast(s[e],u),void 0!==r&&(o[e]=r)}else a&&!i&&(o[e]=s[e]);a===e in o&&o[e]===s[e]||(l=!0)}return l?o:s}_validate(e,t={},n,s){let{from:r=[],originalValue:i=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:i},...r],t.__validating=!0,t.originalValue=i,super._validate(e,t,n,((e,r)=>{if(!a||!ge(r))return void s(e,r);i=i||r;let o=[];for(let e of this._nodes){let n=this.fields[e];n&&!G.isRef(n)&&o.push(n.asNestedTest({options:t,key:e,parent:r,parentPath:t.path,originalParent:i}))}this.runTests({tests:o,value:r,originalValue:i,options:t},n,(t=>{s(t.sort(this._sortErrors).concat(e),r)}))}))}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),n=t.fields;for(let[e,t]of Object.entries(this.fields)){const s=n[e];n[e]=void 0===s?t:s}return t.withMutation((e=>e.setFields(n,this._excludedEdges)))}_getDefault(){if("default"in this.spec)return super._getDefault();if(!this._nodes.length)return;let e={};return this._nodes.forEach((t=>{const n=this.fields[t];e[t]=n&&"getDefault"in n?n.getDefault():void 0})),e}setFields(e,t){let n=this.clone();return n.fields=e,n._nodes=function(e,t=[]){let n=[],s=new Set,r=new Set(t.map((([e,t])=>`${e}-${t}`)));function i(e,t){let i=v.split(e)[0];s.add(i),r.has(`${t}-${i}`)||n.push([t,i])}for(const t of Object.keys(e)){let n=e[t];s.add(t),G.isRef(n)&&n.isSibling?i(n.path,t):Y(n)&&"deps"in n&&n.deps.forEach((e=>i(e,t)))}return D.array(Array.from(s),n).reverse()}(e,t),n._sortErrors=fe(Object.keys(e)),t&&(n._excludedEdges=t),n}shape(e,t=[]){return this.clone().withMutation((n=>{let s=n._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),s=[...n._excludedEdges,...t]),n.setFields(Object.assign(n.fields,e),s)}))}partial(){const e={};for(const[t,n]of Object.entries(this.fields))e[t]="optional"in n&&n.optional instanceof Function?n.optional():n;return this.setFields(e)}deepPartial(){return ye(this)}pick(e){const t={};for(const n of e)this.fields[n]&&(t[n]=this.fields[n]);return this.setFields(t)}omit(e){const t=Object.assign({},this.fields);for(const n of e)delete t[n];return this.setFields(t)}from(e,t,n){let s=v.getter(e,!0);return this.transform((r=>{if(!r)return r;let i=r;return((e,t)=>{const n=[...v.normalizePath(t)];if(1===n.length)return n[0]in e;let s=n.pop(),r=v.getter(v.join(n),!0)(e);return!(!r||!(s in r))})(r,e)&&(i=Object.assign({},r),n||delete i[e],i[t]=s(r)),i}))}json(){return this.transform(me)}noUnknown(e=!0,t=B.noUnknown){"boolean"!=typeof e&&(t=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:t,test(t){if(null==t)return!0;const n=function(e,t){let n=Object.keys(e.fields);return Object.keys(t).filter((e=>-1===n.indexOf(e)))}(this.schema,t);return!e||0===n.length||this.createError({params:{unknown:n.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,t=B.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform((t=>{if(!t)return t;const n={};for(const s of Object.keys(t))n[e(s)]=t[s];return n}))}camelCase(){return this.transformKeys(T)}snakeCase(){return this.transformKeys(j)}constantCase(){return this.transformKeys((e=>j(e).toUpperCase()))}describe(e){let t=super.describe(e);t.fields={};for(const[s,r]of Object.entries(this.fields)){var n;let i=e;null!=(n=i)&&n.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[s]})),t.fields[s]=r.describe(i)}return t}}ve.prototype=be.prototype;const we="#000639",Fe='<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="busha-commerce-close-icon" viewBox="0 0 40 41"><path d="M0 10.5C0 4.977 4.477.5 10 .5h20c5.523 0 10 4.477 10 10v20c0 5.523-4.477 10-10 10H10c-5.523 0-10-4.477-10-10z"/><path fill="#000" fill-rule="evenodd" d="M25.927 15.78a.75.75 0 1 0-1.06-1.06l-4.793 4.793-4.793-4.793a.75.75 0 0 0-1.061 1.06l4.793 4.793-4.793 4.793a.75.75 0 1 0 1.06 1.061l4.794-4.793 4.793 4.793a.75.75 0 0 0 1.06-1.06l-4.793-4.794z" clip-rule="evenodd"/></svg>',$e="#EDF2ED",Ee="#FFFFFF",_e="#586558";function Oe(){const e=document.createElement("div");e.id=n,e.dataset.testid=n,e.style.width="480px",e.style.height="746px",e.style.backgroundColor=$e,e.style.borderRadius="20px",e.style.padding="20px";const t=function(e="40px"){const t=document.createElement("button");return t.id=r,t.dataset.testid=r,t.setAttribute("type","button"),t.style.width=e,t.style.height=e,t.style.backgroundColor=Ee,t.style.borderRadius="100%",t.style.border="none",t.innerHTML=Fe,t}("36px");return e.innerHTML=`\n <div style="display: flex; flex-direction: column; gap: 24px;">\n <div style="display: flex; justify-content: space-between; align-items: center;">\n <div class="animate-pulse" style="width: 288px; height: 32px; border-radius: 999px; background:${Ee}"></div>\n ${t.outerHTML}\n </div>\n\n <div style="display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 16px; border-radius: 16px; background:${Ee}">\n <div class="animate-pulse" style="width: 40px; height: 40px; border-radius: 999px; background:${$e}"></div>\n <div style="display: flex; flex-direction: column; gap: 2px;">\n <div class="animate-pulse" style="width: 74px; height: 16px; border-radius: 999px; background:${$e}"></div>\n <div class="animate-pulse" style="width: 254px; height: 14px; border-radius: 999px; background:${$e}"></div>\n </div>\n <div class="animate-pulse" style="width: 24px; height: 24px; border-radius: 999px; background:${$e}"></div>\n </div>\n\n <div style="display: flex; gap: 16px; align-items: center; justify-content: center; padding: 30px 16px; border-radius: 16px; background:${Ee}">\n <div class="animate-pulse" style="width: 200px; height: 200px; border-radius: 16px; background:${$e}"></div>\n </div>\n\n <div style="display: flex; gap: 20px; flex-direction: column; padding: 16px; border-radius: 16px; background:${Ee}">\n <div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">\n <div class="animate-pulse" style="width: 40px; height: 40px; border-radius: 999px; background:${$e}"></div>\n <div style="display: flex; flex-direction: column; gap: 2px;">\n <div class="animate-pulse" style="width: 74px; height: 16px; border-radius: 999px; background:${$e}"></div>\n <div class="animate-pulse" style="width: 254px; height: 14px; border-radius: 999px; background:${$e}"></div>\n </div>\n <div class="animate-pulse" style="width: 24px; height: 24px; border-radius: 999px; background:${$e}"></div>\n </div>\n <div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">\n <div class="animate-pulse" style="width: 74px; height: 20px; border-radius: 999px; background:${$e}"></div>\n <div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${$e}"></div>\n </div>\n <div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">\n <div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${$e}"></div>\n <div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${$e}"></div>\n </div>\n </div>\n\n <div style="height: 56px; width: 100%; border-radius: 999px; background:${Ee}"></div>\n\n <div style="display: flex; gap: 8px; align-items: center; justify-content: center;">\n <p style="font-size: 14px; font-weight: 400; color:${_e}">Secured by</p>\n <img src="https://res.cloudinary.com/busha-inc/image/upload/v1768821221/commerce-js/busha-logo.png" alt="Busha Logo" style="width: 72px; height: 16px;" />\n </div>\n </div>\n `,e}let ke;function Te(c){!function(){if(document.head.querySelector(`#${s}`))return;const e=document.createElement("style");e.id=s,e.dataset.testid=s,document.head.appendChild(e),e.textContent=`\n @keyframes busha-commerce-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n @keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n }\n\n #${t} {\n animation: busha-commerce-fadeIn 0.3s ease-in-out;\n }\n \n #${t}, #${t} * {\n margin: 0;\n padding: 0px;\n box-sizing: border-box;\n }\n \n #${n} {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 40;\n }\n\n #${r} .busha-commerce-close-icon {\n width: 100%;\n height: 100%;\n fill: transparent;\n }\n\n .animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n `}(),function(e){ve({quote_amount:ue().required(),quote_currency:ue().required(),target_currency:ue().required(),source_currency:ue().required(),public_key:ue().required(),reference:ue().optional(),callback_url:ue().optional(),meta:ve({email:ue().email(),name:ue()}).optional()}).validateSync(e)}(c),ke=c;const d=function(){const e=document.createElement("div");return e.id=t,e.dataset.testid=t,e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.width="100%",e.style.height="100%",e.style.zIndex="999999999",e.style.backgroundColor="rgba(33, 41, 33, 0.20)",e.style.backdropFilter="blur(27px)",e}();!function(){const e=document.createElement("div");e.id=n,e.dataset.testid=n,e.style.width="40px",e.style.height="40px",e.style.backgroundColor="transparent",e.style.border=`2px solid ${we}`,e.style.borderLeftColor="transparent",e.style.borderBottomColor="transparent",e.style.borderRadius="100%",e.animate&&e.animate([{transform:"rotate(0)"},{transform:"rotate(360deg)"}],{duration:300,iterations:1/0})}();const h=Oe(),p=h.querySelector(`#${r}`);null==p||p.addEventListener("click",(e=>{e.preventDefault(),je(),ke.onClose&&ke.onClose({status:l,data:{reference:ke.reference}})})),d.appendChild(h);const f=function(e=!1){const t=document.createElement("iframe"),n=e?u:o;return t.dataset.testid=i,t.name=i,t.allow=`clipboard-write self ${n}`,t.style.width="100%",t.style.height="100%",t.style.position="absolute",t.style.left="50%",t.style.top="0px",t.style.transform="translate(-50%, 0)",t.style.zIndex="20",t}(ke.devMode);d.appendChild(f),document.body.appendChild(d);const m=e(c,["onClose","onSuccess"]),y=function(t){var{devMode:n=!1}=t,s=e(t,["devMode"]);const r=n?u:o,l=document.createElement("form");l.target=i,l.dataset.testid=a,l.action=r?`${r}/pay`:"",l.method="POST",l.style.display="none",(e=>{for(const e in s){if(!s.hasOwnProperty(e))continue;const t=s[e];if("object"==typeof t)for(const n in t){if(!t.hasOwnProperty(n))continue;const s=document.createElement("input");s.name=`${e}[${n}]`,s.value=String(t[n]),l.appendChild(s)}else{const n=document.createElement("input");n.name=e,n.value=String(t),l.appendChild(n)}}})();const c=document.createElement("input");c.name="displayMode",c.value="INLINE";const d=document.createElement("input");return d.name="parentOrigin",d.value=window.location.origin,l.appendChild(c),l.appendChild(d),l}(Object.assign({devMode:ke.devMode},m));d.appendChild(y),y.submit(),window.addEventListener("message",De)}function je(){const e=document.getElementById(t),n=document.getElementById(r);null==n||n.removeEventListener("click",je),window.removeEventListener("message",De),e&&document.body.removeChild(e)}const De=e=>{const s=ke.devMode?u:o;if(!s)return;const i=new URL(s);if(e.origin===i.origin&&ke){if("INITIALIZED"===e.data.status){const e=document.getElementById(t),s=document.getElementById(n),i=document.getElementById(r);if(!s||!i)return;null==e||e.removeChild(s),null==e||e.removeChild(i)}e.data.status===l&&(je(),ke.onClose&&ke.onClose(e.data)),"COMPLETED"===e.data.status&&(je(),ke.onSuccess&&ke.onSuccess(e.data))}};export{Te as default};
|
package/dist/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var BushaCommerce=function(){"use strict";function e(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(s[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(s[n[r]]=e[n[r]])}return s}const t="busha-commerce-container",s="busha-commerce-loader",n="busha-commerce-styles",r="busha-commerce-close-btn",i="busha-commerce-iframe",a="busha-commerce-form",o="https://pay.busha.co",u="https://staging.pay.busha.co",l="CANCELLED";function c(e){this._maxSize=e,this.clear()}c.prototype.clear=function(){this._size=0,this._values=Object.create(null)},c.prototype.get=function(e){return this._values[e]},c.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var h=/[^.^\]^[]+|(?=\[\]|\.\.)/g,f=/^\d+$/,d=/^\d/,p=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,m=/^\s*(['"]?)(.*?)(\1)\s*$/,y=new c(512),g=new c(512),b=new c(512),v={Cache:c,split:w,normalizePath:x,setter:function(e){var t=x(e);return g.get(e)||g.set(e,(function(e,s){for(var n=0,r=t.length,i=e;n<r-1;){var a=t[n];if("__proto__"===a||"constructor"===a||"prototype"===a)return e;i=i[t[n++]]}i[t[n]]=s}))},getter:function(e,t){var s=x(e);return b.get(e)||b.set(e,(function(e){for(var n=0,r=s.length;n<r;){if(null==e&&t)return;e=e[s[n++]]}return e}))},join:function(e){return e.reduce((function(e,t){return e+(F(t)||f.test(t)?"["+t+"]":(e?".":"")+t)}),"")},forEach:function(e,t,s){!function(e,t,s){var n,r,i,a,o=e.length;for(r=0;r<o;r++)(n=e[r])&&(E(n)&&(n='"'+n+'"'),i=!(a=F(n))&&/^\d+$/.test(n),t.call(s,n,a,i,r,e))}(Array.isArray(e)?e:w(e),t,s)}};function x(e){return y.get(e)||y.set(e,w(e).map((function(e){return e.replace(m,"$2")})))}function w(e){return e.match(h)||[""]}function F(e){return"string"==typeof e&&e&&-1!==["'",'"'].indexOf(e.charAt(0))}function E(e){return!F(e)&&(function(e){return e.match(d)&&!e.match(f)}(e)||function(e){return p.test(e)}(e))}const _=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,$=e=>e.match(_)||[],O=(e,t)=>$(e).join(t).toLowerCase(),k=e=>$(e).reduce(((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`),"");var T=k,D=e=>O(e,"_"),S={};function A(e,t){var s=e.length,n=new Array(s),r={},i=s,a=function(e){for(var t=new Map,s=0,n=e.length;s<n;s++){var r=e[s];t.has(r[0])||t.set(r[0],new Set),t.has(r[1])||t.set(r[1],new Set),t.get(r[0]).add(r[1])}return t}(t),o=function(e){for(var t=new Map,s=0,n=e.length;s<n;s++)t.set(e[s],s);return t}(e);for(t.forEach((function(e){if(!o.has(e[0])||!o.has(e[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")}));i--;)r[i]||u(e[i],i,new Set);return n;function u(e,t,i){if(i.has(e)){var l;try{l=", node was:"+JSON.stringify(e)}catch(e){l=""}throw new Error("Cyclic dependency"+l)}if(!o.has(e))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(e));if(!r[t]){r[t]=!0;var c=a.get(e)||new Set;if(t=(c=Array.from(c)).length){i.add(e);do{var h=c[--t];u(h,o.get(h),i)}while(t);i.delete(e)}n[--s]=e}}}({get exports(){return S},set exports(e){S=e}}).exports=function(e){return A(function(e){for(var t=new Set,s=0,n=e.length;s<n;s++){var r=e[s];t.add(r[0]),t.add(r[1])}return Array.from(t)}(e),e)},S.array=A;const C=Object.prototype.toString,j=Error.prototype.toString,z=RegExp.prototype.toString,N="undefined"!=typeof Symbol?Symbol.prototype.toString:()=>"",I=/^Symbol\((.*)\)(.*)$/;function M(e,t=!1){if(null==e||!0===e||!1===e)return""+e;const s=typeof e;if("number"===s)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===s)return t?`"${e}"`:e;if("function"===s)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===s)return N.call(e).replace(I,"Symbol($1)");const n=C.call(e).slice(8,-1);return"Date"===n?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===n||e instanceof Error?"["+j.call(e)+"]":"RegExp"===n?z.call(e):null}function P(e,t){let s=M(e,t);return null!==s?s:JSON.stringify(e,(function(e,s){let n=M(this[e],t);return null!==n?n:s}),2)}function V(e){return null==e?[]:[].concat(e)}let q=/\$\{\s*(\w+)\s*\}/g;class L extends Error{static formatError(e,t){const s=t.label||t.path||"this";return s!==t.path&&(t=Object.assign({},t,{path:s})),"string"==typeof e?e.replace(q,((e,s)=>P(t[s]))):"function"==typeof e?e(t):e}static isError(e){return e&&"ValidationError"===e.name}constructor(e,t,s,n){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=s,this.type=n,this.errors=[],this.inner=[],V(e).forEach((e=>{L.isError(e)?(this.errors.push(...e.errors),this.inner=this.inner.concat(e.inner.length?e.inner:e)):this.errors.push(e)})),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,L)}}let R={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:s,originalValue:n})=>{const r=null!=n&&n!==s?` (cast from the value \`${P(n,!0)}\`).`:".";return"mixed"!==t?`${e} must be a \`${t}\` type, but the final value was: \`${P(s,!0)}\``+r:`${e} must match the configured type. The validated value was: \`${P(s,!0)}\``+r}},Z={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},U={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},B={noUnknown:"${path} field has unspecified keys: ${unknown}"};Object.assign(Object.create(null),{mixed:R,string:Z,number:{min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},date:U,object:B,array:{min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},boolean:{isValue:"${path} field must be ${value}"}});const Y=e=>e&&e.__isYupSchema__;class J{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:s,then:n,otherwise:r}=t,i="function"==typeof s?s:(...e)=>e.every((e=>e===s));return new J(e,((e,t)=>{var s;let a=i(...e)?n:r;return null!=(s=null==a?void 0:a(t))?s:t}))}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let s=this.refs.map((e=>e.getValue(null==t?void 0:t.value,null==t?void 0:t.parent,null==t?void 0:t.context))),n=this.fn(s,e,t);if(void 0===n||n===e)return e;if(!Y(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}}const K="$",H=".";class G{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,"string"!=typeof e)throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),""===e)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===K,this.isValue=this.key[0]===H,this.isSibling=!this.isContext&&!this.isValue;let s=this.isContext?K:this.isValue?H:"";this.path=this.key.slice(s.length),this.getter=this.path&&v.getter(this.path,!0),this.map=t.map}getValue(e,t,s){let n=this.isContext?s:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,null==t?void 0:t.parent,null==t?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}G.prototype.__isYupRef=!0;const Q=e=>null==e;function W(e){function t({value:t,path:s="",options:n,originalValue:r,schema:i},a,o){const{name:u,test:l,params:c,message:h,skipAbsent:f}=e;let{parent:d,context:p,abortEarly:m=i.spec.abortEarly}=n;function y(e){return G.isRef(e)?e.getValue(t,d,p):e}function g(e={}){const n=Object.assign({value:t,originalValue:r,label:i.spec.label,path:e.path||s,spec:i.spec},c,e.params);for(const e of Object.keys(n))n[e]=y(n[e]);const a=new L(L.formatError(e.message||h,n),t,n.path,e.type||u);return a.params=n,a}const b=m?a:o;let v={path:s,parent:d,type:u,from:n.from,createError:g,resolve:y,options:n,originalValue:r,schema:i};const x=e=>{L.isError(e)?b(e):e?o(null):b(g())},w=e=>{L.isError(e)?b(e):a(e)},F=f&&Q(t);if(!n.sync){try{Promise.resolve(!!F||l.call(v,t,v)).then(x,w)}catch(e){w(e)}return}let E;try{var _;if(E=!!F||l.call(v,t,v),"function"==typeof(null==(_=E)?void 0:_.then))throw new Error(`Validation test of type: "${v.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(e){return void w(e)}x(E)}return t.OPTIONS=e,t}function X(e,t,s,n=s){let r,i,a;return t?(v.forEach(t,((o,u,l)=>{let c=u?o.slice(1,o.length-1):o,h="tuple"===(e=e.resolve({context:n,parent:r,value:s})).type,f=l?parseInt(c,10):0;if(e.innerType||h){if(h&&!l)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(s&&f>=s.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${o}, in the path: ${t}. because there is no value at that index. `);r=s,s=s&&s[f],e=h?e.spec.types[f]:e.innerType}if(!l){if(!e.fields||!e.fields[c])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${a} which is a type: "${e.type}")`);r=s,s=s&&s[c],e=e.fields[c]}i=c,a=u?"["+o+"]":"."+o})),{schema:e,parent:r,parentPath:i}):{parent:r,parentPath:t,schema:e}}class ee extends Set{describe(){const e=[];for(const t of this.values())e.push(G.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const s of this.values())t.push(e(s));return t}clone(){return new ee(this.values())}merge(e,t){const s=this.clone();return e.forEach((e=>s.add(e))),t.forEach((e=>s.delete(e))),s}}function te(e,t=new Map){if(Y(e)||!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let s;if(e instanceof Date)s=new Date(e.getTime()),t.set(e,s);else if(e instanceof RegExp)s=new RegExp(e),t.set(e,s);else if(Array.isArray(e)){s=new Array(e.length),t.set(e,s);for(let n=0;n<e.length;n++)s[n]=te(e[n],t)}else if(e instanceof Map){s=new Map,t.set(e,s);for(const[n,r]of e.entries())s.set(n,te(r,t))}else if(e instanceof Set){s=new Set,t.set(e,s);for(const n of e)s.add(te(n,t))}else{if(!(e instanceof Object))throw Error(`Unable to clone ${e}`);s={},t.set(e,s);for(const[n,r]of Object.entries(e))s[n]=te(r,t)}return s}class se{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new ee,this._blacklist=new ee,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation((()=>{this.typeError(R.notType)})),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,optional:!0,coerce:!0},null==e?void 0:e.spec),this.withMutation((e=>{e.nonNullable()}))}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=te(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let s=e(this);return this._mutate=t,s}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&"mixed"!==this.type)throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,s=e.clone();const n=Object.assign({},t.spec,s.spec);return s.spec=n,s.internalTests=Object.assign({},t.internalTests,s.internalTests),s._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),s._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),s.tests=t.tests,s.exclusiveTests=t.exclusiveTests,s.withMutation((t=>{e.tests.forEach((e=>{t.test(e.OPTIONS)}))})),s.transforms=[...t.transforms,...s.transforms],s}isType(e){return null==e?!(!this.spec.nullable||null!==e)||!(!this.spec.optional||void 0!==e):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let s=t.conditions;t=t.clone(),t.conditions=[],t=s.reduce(((t,s)=>s.resolve(t,e)),t),t=t.resolve(e)}return t}resolveOptions(e){var t,s,n;return Object.assign({},e,{from:e.from||[],strict:null!=(t=e.strict)?t:this.spec.strict,abortEarly:null!=(s=e.abortEarly)?s:this.spec.abortEarly,recursive:null!=(n=e.recursive)?n:this.spec.recursive})}cast(e,t={}){let s=this.resolve(Object.assign({value:e},t)),n="ignore-optionality"===t.assert,r=s._cast(e,t);if(!1!==t.assert&&!s.isType(r)){if(n&&Q(r))return r;let i=P(e),a=P(r);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${s.type}". \n\nattempted value: ${i} \n`+(a!==i?`result of cast: ${a}`:""))}return r}_cast(e,t){let s=void 0===e?e:this.transforms.reduce(((t,s)=>s.call(this,t,e,this)),e);return void 0===s&&(s=this.getDefault()),s}_validate(e,t={},s,n){let{path:r,originalValue:i=e,strict:a=this.spec.strict}=t,o=e;a||(o=this._cast(o,Object.assign({assert:!1},t)));let u=[];for(let e of Object.values(this.internalTests))e&&u.push(e);this.runTests({path:r,value:o,originalValue:i,options:t,tests:u},s,(e=>{if(e.length)return n(e,o);this.runTests({path:r,value:o,originalValue:i,options:t,tests:this.tests},s,n)}))}runTests(e,t,s){let n=!1,{tests:r,value:i,originalValue:a,path:o,options:u}=e,l=e=>{n||(n=!0,t(e,i))},c=e=>{n||(n=!0,s(e,i))},h=r.length,f=[];if(!h)return c([]);let d={value:i,originalValue:a,path:o,options:u,schema:this};for(let e=0;e<r.length;e++){(0,r[e])(d,l,(function(e){e&&(f=f.concat(e)),--h<=0&&c(f)}))}}asNestedTest({key:e,index:t,parent:s,parentPath:n,originalParent:r,options:i}){const a=null!=e?e:t;if(null==a)throw TypeError("Must include `key` or `index` for nested validations");const o="number"==typeof a;let u=s[a];const l=Object.assign({},i,{strict:!0,parent:s,value:u,originalValue:r[a],key:void 0,[o?"index":"key"]:a,path:o||a.includes(".")?`${n||""}[${u?a:`"${a}"`}]`:(n?`${n}.`:"")+e});return(e,t,s)=>this.resolve(l)._validate(u,l,t,s)}validate(e,t){let s=this.resolve(Object.assign({},t,{value:e}));return new Promise(((n,r)=>s._validate(e,t,((e,t)=>{L.isError(e)&&(e.value=t),r(e)}),((e,t)=>{e.length?r(new L(e,t)):n(t)}))))}validateSync(e,t){let s;return this.resolve(Object.assign({},t,{value:e}))._validate(e,Object.assign({},t,{sync:!0}),((e,t)=>{throw L.isError(e)&&(e.value=t),e}),((t,n)=>{if(t.length)throw new L(t,e);s=n})),s}isValid(e,t){return this.validate(e,t).then((()=>!0),(e=>{if(L.isError(e))return!1;throw e}))}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(e){if(L.isError(e))return!1;throw e}}_getDefault(){let e=this.spec.default;return null==e?e:"function"==typeof e?e.call(this):te(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){if(0===arguments.length)return this._getDefault();return this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const s=this.clone({nullable:e});return s.internalTests.nullable=W({message:t,name:"nullable",test(e){return null!==e||this.schema.spec.nullable}}),s}optionality(e,t){const s=this.clone({optional:e});return s.internalTests.optionality=W({message:t,name:"optionality",test(e){return void 0!==e||this.schema.spec.optional}}),s}optional(){return this.optionality(!0)}defined(e=R.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=R.notNull){return this.nullability(!1,e)}required(e=R.required){return this.clone().withMutation((t=>t.nonNullable(e).defined(e)))}notRequired(){return this.clone().withMutation((e=>e.nullable().optional()))}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(t=1===e.length?"function"==typeof e[0]?{test:e[0]}:e[0]:2===e.length?{name:e[0],test:e[1]}:{name:e[0],message:e[1],test:e[2]},void 0===t.message&&(t.message=R.default),"function"!=typeof t.test)throw new TypeError("`test` is a required parameters");let s=this.clone(),n=W(t),r=t.exclusive||t.name&&!0===s.exclusiveTests[t.name];if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(s.exclusiveTests[t.name]=!!t.exclusive),s.tests=s.tests.filter((e=>{if(e.OPTIONS.name===t.name){if(r)return!1;if(e.OPTIONS.test===n.OPTIONS.test)return!1}return!0})),s.tests.push(n),s}when(e,t){Array.isArray(e)||"string"==typeof e||(t=e,e=".");let s=this.clone(),n=V(e).map((e=>new G(e)));return n.forEach((e=>{e.isSibling&&s.deps.push(e.key)})),s.conditions.push("function"==typeof t?new J(n,t):J.fromOptions(n,t)),s}typeError(e){let t=this.clone();return t.internalTests.typeError=W({message:e,name:"typeError",test(e){return!(!Q(e)&&!this.schema._typeCheck(e))||this.createError({params:{type:this.schema.type}})}}),t}oneOf(e,t=R.oneOf){let s=this.clone();return e.forEach((e=>{s._whitelist.add(e),s._blacklist.delete(e)})),s.internalTests.whiteList=W({message:t,name:"oneOf",skipAbsent:!0,test(e){let t=this.schema._whitelist,s=t.resolveAll(this.resolve);return!!s.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:s}})}}),s}notOneOf(e,t=R.notOneOf){let s=this.clone();return e.forEach((e=>{s._blacklist.add(e),s._whitelist.delete(e)})),s.internalTests.blacklist=W({message:t,name:"notOneOf",test(e){let t=this.schema._blacklist,s=t.resolveAll(this.resolve);return!s.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:s}})}}),s}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:s,meta:n,optional:r,nullable:i}=t.spec;return{meta:n,label:s,optional:r,nullable:i,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map((e=>({name:e.OPTIONS.name,params:e.OPTIONS.params}))).filter(((e,t,s)=>s.findIndex((t=>t.name===e.name))===t))}}}se.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])se.prototype[`${e}At`]=function(t,s,n={}){const{parent:r,parentPath:i,schema:a}=X(this,t,s,n.context);return a[e](r&&r[i],Object.assign({},n,{parent:r,path:t}))};for(const e of["equals","is"])se.prototype[e]=se.prototype.oneOf;for(const e of["not","nope"])se.prototype[e]=se.prototype.notOneOf;let ne=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,re=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,ie=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,ae=e=>Q(e)||e===e.trim(),oe={}.toString();function ue(){return new le}class le extends se{constructor(){super({type:"string",check:e=>(e instanceof String&&(e=e.valueOf()),"string"==typeof e)}),this.withMutation((()=>{this.transform(((e,t,s)=>{if(!s.spec.coerce||s.isType(e))return e;if(Array.isArray(e))return e;const n=null!=e&&e.toString?e.toString():e;return n===oe?e:n}))}))}required(e){return super.required(e).withMutation((t=>t.test({message:e||R.required,name:"required",skipAbsent:!0,test:e=>!!e.length})))}notRequired(){return super.notRequired().withMutation((e=>(e.tests=e.tests.filter((e=>"required"!==e.OPTIONS.name)),e)))}length(e,t=Z.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(t){return t.length===this.resolve(e)}})}min(e,t=Z.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(t){return t.length>=this.resolve(e)}})}max(e,t=Z.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(t){return t.length<=this.resolve(e)}})}matches(e,t){let s,n,r=!1;return t&&("object"==typeof t?({excludeEmptyString:r=!1,message:s,name:n}=t):s=t),this.test({name:n||"matches",message:s||Z.matches,params:{regex:e},skipAbsent:!0,test:t=>""===t&&r||-1!==t.search(e)})}email(e=Z.email){return this.matches(ne,{name:"email",message:e,excludeEmptyString:!0})}url(e=Z.url){return this.matches(re,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Z.uuid){return this.matches(ie,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform((e=>null===e?"":e))}trim(e=Z.trim){return this.transform((e=>null!=e?e.trim():e)).test({message:e,name:"trim",test:ae})}lowercase(e=Z.lowercase){return this.transform((e=>Q(e)?e:e.toLowerCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>Q(e)||e===e.toLowerCase()})}uppercase(e=Z.uppercase){return this.transform((e=>Q(e)?e:e.toUpperCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>Q(e)||e===e.toUpperCase()})}}ue.prototype=le.prototype;var ce=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;let he=new Date("");class fe extends se{constructor(){super({type:"date",check(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t}}),this.withMutation((()=>{this.transform(((e,t,s)=>!s.spec.coerce||s.isType(e)?e:(e=function(e){var t,s,n=[1,4,5,6,7,10,11],r=0;if(s=ce.exec(e)){for(var i,a=0;i=n[a];++a)s[i]=+s[i]||0;s[2]=(+s[2]||1)-1,s[3]=+s[3]||1,s[7]=s[7]?String(s[7]).substr(0,3):0,void 0!==s[8]&&""!==s[8]||void 0!==s[9]&&""!==s[9]?("Z"!==s[8]&&void 0!==s[9]&&(r=60*s[10]+s[11],"+"===s[9]&&(r=0-r)),t=Date.UTC(s[1],s[2],s[3],s[4],s[5]+r,s[6],s[7])):t=+new Date(s[1],s[2],s[3],s[4],s[5],s[6],s[7])}else t=Date.parse?Date.parse(e):NaN;return t}(e),isNaN(e)?fe.INVALID_DATE:new Date(e))))}))}prepareParam(e,t){let s;if(G.isRef(e))s=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);s=n}return s}min(e,t=U.min){let s=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(e){return e>=this.resolve(s)}})}max(e,t=U.max){let s=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(e){return e<=this.resolve(s)}})}}function de(e,t){let s=1/0;return e.some(((e,n)=>{var r;if(null!=(r=t.path)&&r.includes(e))return s=n,!0})),s}function pe(e){return(t,s)=>de(e,t)-de(e,s)}fe.INVALID_DATE=he,fe.prototype;const me=(e,t,s)=>{if("string"!=typeof e)return e;let n=e;try{n=JSON.parse(e)}catch(e){}return s.isType(n)?n:e};function ye(e){if("fields"in e){const t={};for(const[s,n]of Object.entries(e.fields))t[s]=ye(n);return e.setFields(t)}if("array"===e.type){const t=e.optional();return t.innerType&&(t.innerType=ye(t.innerType)),t}return"tuple"===e.type?e.optional().clone({types:e.spec.types.map(ye)}):"optional"in e?e.optional():e}let ge=e=>"[object Object]"===Object.prototype.toString.call(e);const be=pe([]);function ve(e){return new xe(e)}class xe extends se{constructor(e){super({type:"object",check:e=>ge(e)||"function"==typeof e}),this.fields=Object.create(null),this._sortErrors=be,this._nodes=[],this._excludedEdges=[],this.withMutation((()=>{e&&this.shape(e)}))}_cast(e,t={}){var s;let n=super._cast(e,t);if(void 0===n)return this.getDefault();if(!this._typeCheck(n))return n;let r=this.fields,i=null!=(s=t.stripUnknown)?s:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(n).filter((e=>!this._nodes.includes(e)))),o={},u=Object.assign({},t,{parent:o,__validating:t.__validating||!1}),l=!1;for(const e of a){let s=r[e],a=e in n;if(s){let r,i=n[e];u.path=(t.path?`${t.path}.`:"")+e,s=s.resolve({value:i,context:t.context,parent:o});let a=s instanceof se?s.spec:void 0,c=null==a?void 0:a.strict;if(null!=a&&a.strip){l=l||e in n;continue}r=t.__validating&&c?n[e]:s.cast(n[e],u),void 0!==r&&(o[e]=r)}else a&&!i&&(o[e]=n[e]);a===e in o&&o[e]===n[e]||(l=!0)}return l?o:n}_validate(e,t={},s,n){let{from:r=[],originalValue:i=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:i},...r],t.__validating=!0,t.originalValue=i,super._validate(e,t,s,((e,r)=>{if(!a||!ge(r))return void n(e,r);i=i||r;let o=[];for(let e of this._nodes){let s=this.fields[e];s&&!G.isRef(s)&&o.push(s.asNestedTest({options:t,key:e,parent:r,parentPath:t.path,originalParent:i}))}this.runTests({tests:o,value:r,originalValue:i,options:t},s,(t=>{n(t.sort(this._sortErrors).concat(e),r)}))}))}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),s=t.fields;for(let[e,t]of Object.entries(this.fields)){const n=s[e];s[e]=void 0===n?t:n}return t.withMutation((e=>e.setFields(s,this._excludedEdges)))}_getDefault(){if("default"in this.spec)return super._getDefault();if(!this._nodes.length)return;let e={};return this._nodes.forEach((t=>{const s=this.fields[t];e[t]=s&&"getDefault"in s?s.getDefault():void 0})),e}setFields(e,t){let s=this.clone();return s.fields=e,s._nodes=function(e,t=[]){let s=[],n=new Set,r=new Set(t.map((([e,t])=>`${e}-${t}`)));function i(e,t){let i=v.split(e)[0];n.add(i),r.has(`${t}-${i}`)||s.push([t,i])}for(const t of Object.keys(e)){let s=e[t];n.add(t),G.isRef(s)&&s.isSibling?i(s.path,t):Y(s)&&"deps"in s&&s.deps.forEach((e=>i(e,t)))}return S.array(Array.from(n),s).reverse()}(e,t),s._sortErrors=pe(Object.keys(e)),t&&(s._excludedEdges=t),s}shape(e,t=[]){return this.clone().withMutation((s=>{let n=s._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),n=[...s._excludedEdges,...t]),s.setFields(Object.assign(s.fields,e),n)}))}partial(){const e={};for(const[t,s]of Object.entries(this.fields))e[t]="optional"in s&&s.optional instanceof Function?s.optional():s;return this.setFields(e)}deepPartial(){return ye(this)}pick(e){const t={};for(const s of e)this.fields[s]&&(t[s]=this.fields[s]);return this.setFields(t)}omit(e){const t=Object.assign({},this.fields);for(const s of e)delete t[s];return this.setFields(t)}from(e,t,s){let n=v.getter(e,!0);return this.transform((r=>{if(!r)return r;let i=r;return((e,t)=>{const s=[...v.normalizePath(t)];if(1===s.length)return s[0]in e;let n=s.pop(),r=v.getter(v.join(s),!0)(e);return!(!r||!(n in r))})(r,e)&&(i=Object.assign({},r),s||delete i[e],i[t]=n(r)),i}))}json(){return this.transform(me)}noUnknown(e=!0,t=B.noUnknown){"boolean"!=typeof e&&(t=e,e=!0);let s=this.test({name:"noUnknown",exclusive:!0,message:t,test(t){if(null==t)return!0;const s=function(e,t){let s=Object.keys(e.fields);return Object.keys(t).filter((e=>-1===s.indexOf(e)))}(this.schema,t);return!e||0===s.length||this.createError({params:{unknown:s.join(", ")}})}});return s.spec.noUnknown=e,s}unknown(e=!0,t=B.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform((t=>{if(!t)return t;const s={};for(const n of Object.keys(t))s[e(n)]=t[n];return s}))}camelCase(){return this.transformKeys(T)}snakeCase(){return this.transformKeys(D)}constantCase(){return this.transformKeys((e=>D(e).toUpperCase()))}describe(e){let t=super.describe(e);t.fields={};for(const[n,r]of Object.entries(this.fields)){var s;let i=e;null!=(s=i)&&s.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[n]})),t.fields[n]=r.describe(i)}return t}}ve.prototype=xe.prototype;const we="#000639",Fe='<svg width="40" height="41" fill="none" class="busha-commerce-close-icon" xmlns="http://www.w3.org/2000/svg"><path d="M0 10.5C0 4.977 4.477.5 10 .5h20c5.523 0 10 4.477 10 10v20c0 5.523-4.477 10-10 10H10c-5.523 0-10-4.477-10-10v-20Z" /><path fill-rule="evenodd" clip-rule="evenodd" d="M25.927 15.78a.75.75 0 1 0-1.06-1.06l-4.793 4.793-4.793-4.793a.75.75 0 0 0-1.061 1.06l4.793 4.793-4.793 4.793a.75.75 0 1 0 1.06 1.061l4.794-4.793 4.793 4.793a.75.75 0 0 0 1.06-1.06l-4.793-4.794 4.793-4.793Z" fill="#000000"/></svg>';let Ee;function _e(){const e=document.getElementById(t),s=document.getElementById(r);null==s||s.removeEventListener("click",_e),window.removeEventListener("message",$e),e&&document.body.removeChild(e)}const $e=e=>{const n=Ee.devMode?u:o;if(!n)return;const i=new URL(n);if(e.origin===i.origin&&Ee){if("INITIALIZED"===e.data.status){const e=document.getElementById(t),n=document.getElementById(s),i=document.getElementById(r);if(!n||!i)return;null==e||e.removeChild(n),null==e||e.removeChild(i)}e.data.status===l&&(_e(),Ee.onClose&&Ee.onClose(e.data)),"COMPLETED"===e.data.status&&(_e(),Ee.onSuccess&&Ee.onSuccess(e.data))}};return function(c){!function(){if(document.head.querySelector(`#${n}`))return;const e=document.createElement("style");e.id=n,e.dataset.testid=n,document.head.appendChild(e),e.textContent=`\n @keyframes busha-commerce-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n #${t} {\n animation: busha-commerce-fadeIn 0.3s ease-in-out;\n }\n \n #${t}, #${t} * {\n margin: 0;\n padding: 0px;\n box-sizing: border-box;\n }\n \n #${s} {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n #${r} .busha-commerce-close-icon {\n width: 100%;\n height: 100%;\n fill: transparent;\n }\n `}(),function(e){ve({quote_amount:ue().required(),quote_currency:ue().required(),target_currency:ue().required(),source_currency:ue().required(),public_key:ue().required(),reference:ue().optional(),callback_url:ue().optional(),meta:ve({email:ue().email(),name:ue()}).optional()}).validateSync(e)}(c),Ee=c;const h=function(){const e=document.createElement("div");return e.id=t,e.dataset.testid=t,e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.width="100%",e.style.height="100%",e.style.zIndex="999999999",e.style.backgroundColor="rgba(33, 41, 33, 0.20)",e.style.backdropFilter="blur(27px)",e}(),f=function(){const e=document.createElement("div");return e.id=s,e.dataset.testid=s,e.style.width="40px",e.style.height="40px",e.style.backgroundColor="transparent",e.style.border=`2px solid ${we}`,e.style.borderLeftColor="transparent",e.style.borderBottomColor="transparent",e.style.borderRadius="100%",e.animate&&e.animate([{transform:"rotate(0)"},{transform:"rotate(360deg)"}],{duration:300,iterations:1/0}),e}(),d=function(){const e=document.createElement("button");return e.id=r,e.dataset.testid=r,e.setAttribute("type","button"),e.style.width="40px",e.style.height="40px",e.style.position="absolute",e.style.right="36px",e.style.top="36px",e.style.zIndex="40",e.style.backgroundColor="#ffffff",e.style.borderRadius="100%",e.style.border="none",e.innerHTML=Fe,e}();d.addEventListener("click",(e=>{e.preventDefault(),_e(),Ee.onClose&&Ee.onClose({status:l,data:{reference:Ee.reference}})})),h.appendChild(f),h.appendChild(d);const p=function(e=!1){const t=document.createElement("iframe"),s=e?u:o;return t.dataset.testid=i,t.name=i,t.allow=`clipboard-write self ${s}`,t.style.width="100%",t.style.height="100%",t.style.position="absolute",t.style.left="50%",t.style.top="0px",t.style.transform="translate(-50%, 0)",t.style.zIndex="20",t}(Ee.devMode);h.appendChild(p),document.body.appendChild(h);const m=e(c,["onClose","onSuccess"]),y=function(t){var{devMode:s=!1}=t,n=e(t,["devMode"]);const r=s?u:o,l=document.createElement("form");l.target=i,l.dataset.testid=a,l.action=r?`${r}/pay`:"",l.method="POST",l.style.display="none",(e=>{for(const e in n){if(!n.hasOwnProperty(e))continue;const t=n[e];if("object"==typeof t)for(const s in t){if(!t.hasOwnProperty(s))continue;const n=document.createElement("input");n.name=`${e}[${s}]`,n.value=String(t[s]),l.appendChild(n)}else{const s=document.createElement("input");s.name=e,s.value=String(t),l.appendChild(s)}}})();const c=document.createElement("input");c.name="displayMode",c.value="INLINE";const h=document.createElement("input");return h.name="parentOrigin",h.value=window.location.origin,l.appendChild(c),l.appendChild(h),l}(Object.assign({devMode:Ee.devMode},m));h.appendChild(y),y.submit(),window.addEventListener("message",$e)}}();
|
|
1
|
+
var BushaCommerce=function(){"use strict";function e(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n}const t="busha-commerce-container",n="busha-commerce-loader",s="busha-commerce-styles",r="busha-commerce-close-btn",i="busha-commerce-iframe",a="busha-commerce-form",o="https://pay.busha.co",u="https://staging.pay.busha.co",l="CANCELLED";function c(e){this._maxSize=e,this.clear()}c.prototype.clear=function(){this._size=0,this._values=Object.create(null)},c.prototype.get=function(e){return this._values[e]},c.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var d=/[^.^\]^[]+|(?=\[\]|\.\.)/g,h=/^\d+$/,p=/^\d/,f=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,m=/^\s*(['"]?)(.*?)(\1)\s*$/,y=new c(512),g=new c(512),x=new c(512),v={Cache:c,split:w,normalizePath:b,setter:function(e){var t=b(e);return g.get(e)||g.set(e,(function(e,n){for(var s=0,r=t.length,i=e;s<r-1;){var a=t[s];if("__proto__"===a||"constructor"===a||"prototype"===a)return e;i=i[t[s++]]}i[t[s]]=n}))},getter:function(e,t){var n=b(e);return x.get(e)||x.set(e,(function(e){for(var s=0,r=n.length;s<r;){if(null==e&&t)return;e=e[n[s++]]}return e}))},join:function(e){return e.reduce((function(e,t){return e+(F(t)||h.test(t)?"["+t+"]":(e?".":"")+t)}),"")},forEach:function(e,t,n){!function(e,t,n){var s,r,i,a,o=e.length;for(r=0;r<o;r++)(s=e[r])&&($(s)&&(s='"'+s+'"'),i=!(a=F(s))&&/^\d+$/.test(s),t.call(n,s,a,i,r,e))}(Array.isArray(e)?e:w(e),t,n)}};function b(e){return y.get(e)||y.set(e,w(e).map((function(e){return e.replace(m,"$2")})))}function w(e){return e.match(d)||[""]}function F(e){return"string"==typeof e&&e&&-1!==["'",'"'].indexOf(e.charAt(0))}function $(e){return!F(e)&&(function(e){return e.match(p)&&!e.match(h)}(e)||function(e){return f.test(e)}(e))}const E=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,_=e=>e.match(E)||[],O=(e,t)=>_(e).join(t).toLowerCase(),k=e=>_(e).reduce(((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`),"");var T=k,j=e=>O(e,"_"),D={};function S(e,t){var n=e.length,s=new Array(n),r={},i=n,a=function(e){for(var t=new Map,n=0,s=e.length;n<s;n++){var r=e[n];t.has(r[0])||t.set(r[0],new Set),t.has(r[1])||t.set(r[1],new Set),t.get(r[0]).add(r[1])}return t}(t),o=function(e){for(var t=new Map,n=0,s=e.length;n<s;n++)t.set(e[n],n);return t}(e);for(t.forEach((function(e){if(!o.has(e[0])||!o.has(e[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")}));i--;)r[i]||u(e[i],i,new Set);return s;function u(e,t,i){if(i.has(e)){var l;try{l=", node was:"+JSON.stringify(e)}catch(e){l=""}throw new Error("Cyclic dependency"+l)}if(!o.has(e))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(e));if(!r[t]){r[t]=!0;var c=a.get(e)||new Set;if(t=(c=Array.from(c)).length){i.add(e);do{var d=c[--t];u(d,o.get(d),i)}while(t);i.delete(e)}s[--n]=e}}}({get exports(){return D},set exports(e){D=e}}).exports=function(e){return S(function(e){for(var t=new Set,n=0,s=e.length;n<s;n++){var r=e[n];t.add(r[0]),t.add(r[1])}return Array.from(t)}(e),e)},D.array=S;const A=Object.prototype.toString,C=Error.prototype.toString,z=RegExp.prototype.toString,N="undefined"!=typeof Symbol?Symbol.prototype.toString:()=>"",M=/^Symbol\((.*)\)(.*)$/;function I(e,t=!1){if(null==e||!0===e||!1===e)return""+e;const n=typeof e;if("number"===n)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===n)return t?`"${e}"`:e;if("function"===n)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===n)return N.call(e).replace(M,"Symbol($1)");const s=A.call(e).slice(8,-1);return"Date"===s?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===s||e instanceof Error?"["+C.call(e)+"]":"RegExp"===s?z.call(e):null}function P(e,t){let n=I(e,t);return null!==n?n:JSON.stringify(e,(function(e,n){let s=I(this[e],t);return null!==s?s:n}),2)}function V(e){return null==e?[]:[].concat(e)}let q=/\$\{\s*(\w+)\s*\}/g;class L extends Error{static formatError(e,t){const n=t.label||t.path||"this";return n!==t.path&&(t=Object.assign({},t,{path:n})),"string"==typeof e?e.replace(q,((e,n)=>P(t[n]))):"function"==typeof e?e(t):e}static isError(e){return e&&"ValidationError"===e.name}constructor(e,t,n,s){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=n,this.type=s,this.errors=[],this.inner=[],V(e).forEach((e=>{L.isError(e)?(this.errors.push(...e.errors),this.inner=this.inner.concat(e.inner.length?e.inner:e)):this.errors.push(e)})),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,L)}}let R={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:n,originalValue:s})=>{const r=null!=s&&s!==n?` (cast from the value \`${P(s,!0)}\`).`:".";return"mixed"!==t?`${e} must be a \`${t}\` type, but the final value was: \`${P(n,!0)}\``+r:`${e} must match the configured type. The validated value was: \`${P(n,!0)}\``+r}},U={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},Z={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},B={noUnknown:"${path} field has unspecified keys: ${unknown}"};Object.assign(Object.create(null),{mixed:R,string:U,number:{min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},date:Z,object:B,array:{min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},boolean:{isValue:"${path} field must be ${value}"}});const Y=e=>e&&e.__isYupSchema__;class H{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:n,then:s,otherwise:r}=t,i="function"==typeof n?n:(...e)=>e.every((e=>e===n));return new H(e,((e,t)=>{var n;let a=i(...e)?s:r;return null!=(n=null==a?void 0:a(t))?n:t}))}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let n=this.refs.map((e=>e.getValue(null==t?void 0:t.value,null==t?void 0:t.parent,null==t?void 0:t.context))),s=this.fn(n,e,t);if(void 0===s||s===e)return e;if(!Y(s))throw new TypeError("conditions must return a schema object");return s.resolve(t)}}const J="$",K=".";class G{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,"string"!=typeof e)throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),""===e)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===J,this.isValue=this.key[0]===K,this.isSibling=!this.isContext&&!this.isValue;let n=this.isContext?J:this.isValue?K:"";this.path=this.key.slice(n.length),this.getter=this.path&&v.getter(this.path,!0),this.map=t.map}getValue(e,t,n){let s=this.isContext?n:this.isValue?e:t;return this.getter&&(s=this.getter(s||{})),this.map&&(s=this.map(s)),s}cast(e,t){return this.getValue(e,null==t?void 0:t.parent,null==t?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}G.prototype.__isYupRef=!0;const Q=e=>null==e;function W(e){function t({value:t,path:n="",options:s,originalValue:r,schema:i},a,o){const{name:u,test:l,params:c,message:d,skipAbsent:h}=e;let{parent:p,context:f,abortEarly:m=i.spec.abortEarly}=s;function y(e){return G.isRef(e)?e.getValue(t,p,f):e}function g(e={}){const s=Object.assign({value:t,originalValue:r,label:i.spec.label,path:e.path||n,spec:i.spec},c,e.params);for(const e of Object.keys(s))s[e]=y(s[e]);const a=new L(L.formatError(e.message||d,s),t,s.path,e.type||u);return a.params=s,a}const x=m?a:o;let v={path:n,parent:p,type:u,from:s.from,createError:g,resolve:y,options:s,originalValue:r,schema:i};const b=e=>{L.isError(e)?x(e):e?o(null):x(g())},w=e=>{L.isError(e)?x(e):a(e)},F=h&&Q(t);if(!s.sync){try{Promise.resolve(!!F||l.call(v,t,v)).then(b,w)}catch(e){w(e)}return}let $;try{var E;if($=!!F||l.call(v,t,v),"function"==typeof(null==(E=$)?void 0:E.then))throw new Error(`Validation test of type: "${v.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(e){return void w(e)}b($)}return t.OPTIONS=e,t}function X(e,t,n,s=n){let r,i,a;return t?(v.forEach(t,((o,u,l)=>{let c=u?o.slice(1,o.length-1):o,d="tuple"===(e=e.resolve({context:s,parent:r,value:n})).type,h=l?parseInt(c,10):0;if(e.innerType||d){if(d&&!l)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(n&&h>=n.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${o}, in the path: ${t}. because there is no value at that index. `);r=n,n=n&&n[h],e=d?e.spec.types[h]:e.innerType}if(!l){if(!e.fields||!e.fields[c])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${a} which is a type: "${e.type}")`);r=n,n=n&&n[c],e=e.fields[c]}i=c,a=u?"["+o+"]":"."+o})),{schema:e,parent:r,parentPath:i}):{parent:r,parentPath:t,schema:e}}class ee extends Set{describe(){const e=[];for(const t of this.values())e.push(G.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const n of this.values())t.push(e(n));return t}clone(){return new ee(this.values())}merge(e,t){const n=this.clone();return e.forEach((e=>n.add(e))),t.forEach((e=>n.delete(e))),n}}function te(e,t=new Map){if(Y(e)||!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let n;if(e instanceof Date)n=new Date(e.getTime()),t.set(e,n);else if(e instanceof RegExp)n=new RegExp(e),t.set(e,n);else if(Array.isArray(e)){n=new Array(e.length),t.set(e,n);for(let s=0;s<e.length;s++)n[s]=te(e[s],t)}else if(e instanceof Map){n=new Map,t.set(e,n);for(const[s,r]of e.entries())n.set(s,te(r,t))}else if(e instanceof Set){n=new Set,t.set(e,n);for(const s of e)n.add(te(s,t))}else{if(!(e instanceof Object))throw Error(`Unable to clone ${e}`);n={},t.set(e,n);for(const[s,r]of Object.entries(e))n[s]=te(r,t)}return n}class ne{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new ee,this._blacklist=new ee,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation((()=>{this.typeError(R.notType)})),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,optional:!0,coerce:!0},null==e?void 0:e.spec),this.withMutation((e=>{e.nonNullable()}))}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=te(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let n=e(this);return this._mutate=t,n}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&"mixed"!==this.type)throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,n=e.clone();const s=Object.assign({},t.spec,n.spec);return n.spec=s,n.internalTests=Object.assign({},t.internalTests,n.internalTests),n._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),n._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),n.tests=t.tests,n.exclusiveTests=t.exclusiveTests,n.withMutation((t=>{e.tests.forEach((e=>{t.test(e.OPTIONS)}))})),n.transforms=[...t.transforms,...n.transforms],n}isType(e){return null==e?!(!this.spec.nullable||null!==e)||!(!this.spec.optional||void 0!==e):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let n=t.conditions;t=t.clone(),t.conditions=[],t=n.reduce(((t,n)=>n.resolve(t,e)),t),t=t.resolve(e)}return t}resolveOptions(e){var t,n,s;return Object.assign({},e,{from:e.from||[],strict:null!=(t=e.strict)?t:this.spec.strict,abortEarly:null!=(n=e.abortEarly)?n:this.spec.abortEarly,recursive:null!=(s=e.recursive)?s:this.spec.recursive})}cast(e,t={}){let n=this.resolve(Object.assign({value:e},t)),s="ignore-optionality"===t.assert,r=n._cast(e,t);if(!1!==t.assert&&!n.isType(r)){if(s&&Q(r))return r;let i=P(e),a=P(r);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${n.type}". \n\nattempted value: ${i} \n`+(a!==i?`result of cast: ${a}`:""))}return r}_cast(e,t){let n=void 0===e?e:this.transforms.reduce(((t,n)=>n.call(this,t,e,this)),e);return void 0===n&&(n=this.getDefault()),n}_validate(e,t={},n,s){let{path:r,originalValue:i=e,strict:a=this.spec.strict}=t,o=e;a||(o=this._cast(o,Object.assign({assert:!1},t)));let u=[];for(let e of Object.values(this.internalTests))e&&u.push(e);this.runTests({path:r,value:o,originalValue:i,options:t,tests:u},n,(e=>{if(e.length)return s(e,o);this.runTests({path:r,value:o,originalValue:i,options:t,tests:this.tests},n,s)}))}runTests(e,t,n){let s=!1,{tests:r,value:i,originalValue:a,path:o,options:u}=e,l=e=>{s||(s=!0,t(e,i))},c=e=>{s||(s=!0,n(e,i))},d=r.length,h=[];if(!d)return c([]);let p={value:i,originalValue:a,path:o,options:u,schema:this};for(let e=0;e<r.length;e++){(0,r[e])(p,l,(function(e){e&&(h=h.concat(e)),--d<=0&&c(h)}))}}asNestedTest({key:e,index:t,parent:n,parentPath:s,originalParent:r,options:i}){const a=null!=e?e:t;if(null==a)throw TypeError("Must include `key` or `index` for nested validations");const o="number"==typeof a;let u=n[a];const l=Object.assign({},i,{strict:!0,parent:n,value:u,originalValue:r[a],key:void 0,[o?"index":"key"]:a,path:o||a.includes(".")?`${s||""}[${u?a:`"${a}"`}]`:(s?`${s}.`:"")+e});return(e,t,n)=>this.resolve(l)._validate(u,l,t,n)}validate(e,t){let n=this.resolve(Object.assign({},t,{value:e}));return new Promise(((s,r)=>n._validate(e,t,((e,t)=>{L.isError(e)&&(e.value=t),r(e)}),((e,t)=>{e.length?r(new L(e,t)):s(t)}))))}validateSync(e,t){let n;return this.resolve(Object.assign({},t,{value:e}))._validate(e,Object.assign({},t,{sync:!0}),((e,t)=>{throw L.isError(e)&&(e.value=t),e}),((t,s)=>{if(t.length)throw new L(t,e);n=s})),n}isValid(e,t){return this.validate(e,t).then((()=>!0),(e=>{if(L.isError(e))return!1;throw e}))}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(e){if(L.isError(e))return!1;throw e}}_getDefault(){let e=this.spec.default;return null==e?e:"function"==typeof e?e.call(this):te(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){if(0===arguments.length)return this._getDefault();return this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const n=this.clone({nullable:e});return n.internalTests.nullable=W({message:t,name:"nullable",test(e){return null!==e||this.schema.spec.nullable}}),n}optionality(e,t){const n=this.clone({optional:e});return n.internalTests.optionality=W({message:t,name:"optionality",test(e){return void 0!==e||this.schema.spec.optional}}),n}optional(){return this.optionality(!0)}defined(e=R.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=R.notNull){return this.nullability(!1,e)}required(e=R.required){return this.clone().withMutation((t=>t.nonNullable(e).defined(e)))}notRequired(){return this.clone().withMutation((e=>e.nullable().optional()))}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(t=1===e.length?"function"==typeof e[0]?{test:e[0]}:e[0]:2===e.length?{name:e[0],test:e[1]}:{name:e[0],message:e[1],test:e[2]},void 0===t.message&&(t.message=R.default),"function"!=typeof t.test)throw new TypeError("`test` is a required parameters");let n=this.clone(),s=W(t),r=t.exclusive||t.name&&!0===n.exclusiveTests[t.name];if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(n.exclusiveTests[t.name]=!!t.exclusive),n.tests=n.tests.filter((e=>{if(e.OPTIONS.name===t.name){if(r)return!1;if(e.OPTIONS.test===s.OPTIONS.test)return!1}return!0})),n.tests.push(s),n}when(e,t){Array.isArray(e)||"string"==typeof e||(t=e,e=".");let n=this.clone(),s=V(e).map((e=>new G(e)));return s.forEach((e=>{e.isSibling&&n.deps.push(e.key)})),n.conditions.push("function"==typeof t?new H(s,t):H.fromOptions(s,t)),n}typeError(e){let t=this.clone();return t.internalTests.typeError=W({message:e,name:"typeError",test(e){return!(!Q(e)&&!this.schema._typeCheck(e))||this.createError({params:{type:this.schema.type}})}}),t}oneOf(e,t=R.oneOf){let n=this.clone();return e.forEach((e=>{n._whitelist.add(e),n._blacklist.delete(e)})),n.internalTests.whiteList=W({message:t,name:"oneOf",skipAbsent:!0,test(e){let t=this.schema._whitelist,n=t.resolveAll(this.resolve);return!!n.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:n}})}}),n}notOneOf(e,t=R.notOneOf){let n=this.clone();return e.forEach((e=>{n._blacklist.add(e),n._whitelist.delete(e)})),n.internalTests.blacklist=W({message:t,name:"notOneOf",test(e){let t=this.schema._blacklist,n=t.resolveAll(this.resolve);return!n.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:n}})}}),n}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:n,meta:s,optional:r,nullable:i}=t.spec;return{meta:s,label:n,optional:r,nullable:i,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map((e=>({name:e.OPTIONS.name,params:e.OPTIONS.params}))).filter(((e,t,n)=>n.findIndex((t=>t.name===e.name))===t))}}}ne.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])ne.prototype[`${e}At`]=function(t,n,s={}){const{parent:r,parentPath:i,schema:a}=X(this,t,n,s.context);return a[e](r&&r[i],Object.assign({},s,{parent:r,path:t}))};for(const e of["equals","is"])ne.prototype[e]=ne.prototype.oneOf;for(const e of["not","nope"])ne.prototype[e]=ne.prototype.notOneOf;let se=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,re=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,ie=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,ae=e=>Q(e)||e===e.trim(),oe={}.toString();function ue(){return new le}class le extends ne{constructor(){super({type:"string",check:e=>(e instanceof String&&(e=e.valueOf()),"string"==typeof e)}),this.withMutation((()=>{this.transform(((e,t,n)=>{if(!n.spec.coerce||n.isType(e))return e;if(Array.isArray(e))return e;const s=null!=e&&e.toString?e.toString():e;return s===oe?e:s}))}))}required(e){return super.required(e).withMutation((t=>t.test({message:e||R.required,name:"required",skipAbsent:!0,test:e=>!!e.length})))}notRequired(){return super.notRequired().withMutation((e=>(e.tests=e.tests.filter((e=>"required"!==e.OPTIONS.name)),e)))}length(e,t=U.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(t){return t.length===this.resolve(e)}})}min(e,t=U.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(t){return t.length>=this.resolve(e)}})}max(e,t=U.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(t){return t.length<=this.resolve(e)}})}matches(e,t){let n,s,r=!1;return t&&("object"==typeof t?({excludeEmptyString:r=!1,message:n,name:s}=t):n=t),this.test({name:s||"matches",message:n||U.matches,params:{regex:e},skipAbsent:!0,test:t=>""===t&&r||-1!==t.search(e)})}email(e=U.email){return this.matches(se,{name:"email",message:e,excludeEmptyString:!0})}url(e=U.url){return this.matches(re,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=U.uuid){return this.matches(ie,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform((e=>null===e?"":e))}trim(e=U.trim){return this.transform((e=>null!=e?e.trim():e)).test({message:e,name:"trim",test:ae})}lowercase(e=U.lowercase){return this.transform((e=>Q(e)?e:e.toLowerCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>Q(e)||e===e.toLowerCase()})}uppercase(e=U.uppercase){return this.transform((e=>Q(e)?e:e.toUpperCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>Q(e)||e===e.toUpperCase()})}}ue.prototype=le.prototype;var ce=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;let de=new Date("");class he extends ne{constructor(){super({type:"date",check(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t}}),this.withMutation((()=>{this.transform(((e,t,n)=>!n.spec.coerce||n.isType(e)?e:(e=function(e){var t,n,s=[1,4,5,6,7,10,11],r=0;if(n=ce.exec(e)){for(var i,a=0;i=s[a];++a)n[i]=+n[i]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,void 0!==n[8]&&""!==n[8]||void 0!==n[9]&&""!==n[9]?("Z"!==n[8]&&void 0!==n[9]&&(r=60*n[10]+n[11],"+"===n[9]&&(r=0-r)),t=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7])):t=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7])}else t=Date.parse?Date.parse(e):NaN;return t}(e),isNaN(e)?he.INVALID_DATE:new Date(e))))}))}prepareParam(e,t){let n;if(G.isRef(e))n=e;else{let s=this.cast(e);if(!this._typeCheck(s))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);n=s}return n}min(e,t=Z.min){let n=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(e){return e>=this.resolve(n)}})}max(e,t=Z.max){let n=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(e){return e<=this.resolve(n)}})}}function pe(e,t){let n=1/0;return e.some(((e,s)=>{var r;if(null!=(r=t.path)&&r.includes(e))return n=s,!0})),n}function fe(e){return(t,n)=>pe(e,t)-pe(e,n)}he.INVALID_DATE=de,he.prototype;const me=(e,t,n)=>{if("string"!=typeof e)return e;let s=e;try{s=JSON.parse(e)}catch(e){}return n.isType(s)?s:e};function ye(e){if("fields"in e){const t={};for(const[n,s]of Object.entries(e.fields))t[n]=ye(s);return e.setFields(t)}if("array"===e.type){const t=e.optional();return t.innerType&&(t.innerType=ye(t.innerType)),t}return"tuple"===e.type?e.optional().clone({types:e.spec.types.map(ye)}):"optional"in e?e.optional():e}let ge=e=>"[object Object]"===Object.prototype.toString.call(e);const xe=fe([]);function ve(e){return new be(e)}class be extends ne{constructor(e){super({type:"object",check:e=>ge(e)||"function"==typeof e}),this.fields=Object.create(null),this._sortErrors=xe,this._nodes=[],this._excludedEdges=[],this.withMutation((()=>{e&&this.shape(e)}))}_cast(e,t={}){var n;let s=super._cast(e,t);if(void 0===s)return this.getDefault();if(!this._typeCheck(s))return s;let r=this.fields,i=null!=(n=t.stripUnknown)?n:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(s).filter((e=>!this._nodes.includes(e)))),o={},u=Object.assign({},t,{parent:o,__validating:t.__validating||!1}),l=!1;for(const e of a){let n=r[e],a=e in s;if(n){let r,i=s[e];u.path=(t.path?`${t.path}.`:"")+e,n=n.resolve({value:i,context:t.context,parent:o});let a=n instanceof ne?n.spec:void 0,c=null==a?void 0:a.strict;if(null!=a&&a.strip){l=l||e in s;continue}r=t.__validating&&c?s[e]:n.cast(s[e],u),void 0!==r&&(o[e]=r)}else a&&!i&&(o[e]=s[e]);a===e in o&&o[e]===s[e]||(l=!0)}return l?o:s}_validate(e,t={},n,s){let{from:r=[],originalValue:i=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:i},...r],t.__validating=!0,t.originalValue=i,super._validate(e,t,n,((e,r)=>{if(!a||!ge(r))return void s(e,r);i=i||r;let o=[];for(let e of this._nodes){let n=this.fields[e];n&&!G.isRef(n)&&o.push(n.asNestedTest({options:t,key:e,parent:r,parentPath:t.path,originalParent:i}))}this.runTests({tests:o,value:r,originalValue:i,options:t},n,(t=>{s(t.sort(this._sortErrors).concat(e),r)}))}))}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),n=t.fields;for(let[e,t]of Object.entries(this.fields)){const s=n[e];n[e]=void 0===s?t:s}return t.withMutation((e=>e.setFields(n,this._excludedEdges)))}_getDefault(){if("default"in this.spec)return super._getDefault();if(!this._nodes.length)return;let e={};return this._nodes.forEach((t=>{const n=this.fields[t];e[t]=n&&"getDefault"in n?n.getDefault():void 0})),e}setFields(e,t){let n=this.clone();return n.fields=e,n._nodes=function(e,t=[]){let n=[],s=new Set,r=new Set(t.map((([e,t])=>`${e}-${t}`)));function i(e,t){let i=v.split(e)[0];s.add(i),r.has(`${t}-${i}`)||n.push([t,i])}for(const t of Object.keys(e)){let n=e[t];s.add(t),G.isRef(n)&&n.isSibling?i(n.path,t):Y(n)&&"deps"in n&&n.deps.forEach((e=>i(e,t)))}return D.array(Array.from(s),n).reverse()}(e,t),n._sortErrors=fe(Object.keys(e)),t&&(n._excludedEdges=t),n}shape(e,t=[]){return this.clone().withMutation((n=>{let s=n._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),s=[...n._excludedEdges,...t]),n.setFields(Object.assign(n.fields,e),s)}))}partial(){const e={};for(const[t,n]of Object.entries(this.fields))e[t]="optional"in n&&n.optional instanceof Function?n.optional():n;return this.setFields(e)}deepPartial(){return ye(this)}pick(e){const t={};for(const n of e)this.fields[n]&&(t[n]=this.fields[n]);return this.setFields(t)}omit(e){const t=Object.assign({},this.fields);for(const n of e)delete t[n];return this.setFields(t)}from(e,t,n){let s=v.getter(e,!0);return this.transform((r=>{if(!r)return r;let i=r;return((e,t)=>{const n=[...v.normalizePath(t)];if(1===n.length)return n[0]in e;let s=n.pop(),r=v.getter(v.join(n),!0)(e);return!(!r||!(s in r))})(r,e)&&(i=Object.assign({},r),n||delete i[e],i[t]=s(r)),i}))}json(){return this.transform(me)}noUnknown(e=!0,t=B.noUnknown){"boolean"!=typeof e&&(t=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:t,test(t){if(null==t)return!0;const n=function(e,t){let n=Object.keys(e.fields);return Object.keys(t).filter((e=>-1===n.indexOf(e)))}(this.schema,t);return!e||0===n.length||this.createError({params:{unknown:n.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,t=B.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform((t=>{if(!t)return t;const n={};for(const s of Object.keys(t))n[e(s)]=t[s];return n}))}camelCase(){return this.transformKeys(T)}snakeCase(){return this.transformKeys(j)}constantCase(){return this.transformKeys((e=>j(e).toUpperCase()))}describe(e){let t=super.describe(e);t.fields={};for(const[s,r]of Object.entries(this.fields)){var n;let i=e;null!=(n=i)&&n.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[s]})),t.fields[s]=r.describe(i)}return t}}ve.prototype=be.prototype;const we="#000639",Fe='<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="busha-commerce-close-icon" viewBox="0 0 40 41"><path d="M0 10.5C0 4.977 4.477.5 10 .5h20c5.523 0 10 4.477 10 10v20c0 5.523-4.477 10-10 10H10c-5.523 0-10-4.477-10-10z"/><path fill="#000" fill-rule="evenodd" d="M25.927 15.78a.75.75 0 1 0-1.06-1.06l-4.793 4.793-4.793-4.793a.75.75 0 0 0-1.061 1.06l4.793 4.793-4.793 4.793a.75.75 0 1 0 1.06 1.061l4.794-4.793 4.793 4.793a.75.75 0 0 0 1.06-1.06l-4.793-4.794z" clip-rule="evenodd"/></svg>',$e="#EDF2ED",Ee="#FFFFFF",_e="#586558";function Oe(){const e=document.createElement("div");e.id=n,e.dataset.testid=n,e.style.width="480px",e.style.height="746px",e.style.backgroundColor=$e,e.style.borderRadius="20px",e.style.padding="20px";const t=function(e="40px"){const t=document.createElement("button");return t.id=r,t.dataset.testid=r,t.setAttribute("type","button"),t.style.width=e,t.style.height=e,t.style.backgroundColor=Ee,t.style.borderRadius="100%",t.style.border="none",t.innerHTML=Fe,t}("36px");return e.innerHTML=`\n <div style="display: flex; flex-direction: column; gap: 24px;">\n <div style="display: flex; justify-content: space-between; align-items: center;">\n <div class="animate-pulse" style="width: 288px; height: 32px; border-radius: 999px; background:${Ee}"></div>\n ${t.outerHTML}\n </div>\n\n <div style="display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 16px; border-radius: 16px; background:${Ee}">\n <div class="animate-pulse" style="width: 40px; height: 40px; border-radius: 999px; background:${$e}"></div>\n <div style="display: flex; flex-direction: column; gap: 2px;">\n <div class="animate-pulse" style="width: 74px; height: 16px; border-radius: 999px; background:${$e}"></div>\n <div class="animate-pulse" style="width: 254px; height: 14px; border-radius: 999px; background:${$e}"></div>\n </div>\n <div class="animate-pulse" style="width: 24px; height: 24px; border-radius: 999px; background:${$e}"></div>\n </div>\n\n <div style="display: flex; gap: 16px; align-items: center; justify-content: center; padding: 30px 16px; border-radius: 16px; background:${Ee}">\n <div class="animate-pulse" style="width: 200px; height: 200px; border-radius: 16px; background:${$e}"></div>\n </div>\n\n <div style="display: flex; gap: 20px; flex-direction: column; padding: 16px; border-radius: 16px; background:${Ee}">\n <div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">\n <div class="animate-pulse" style="width: 40px; height: 40px; border-radius: 999px; background:${$e}"></div>\n <div style="display: flex; flex-direction: column; gap: 2px;">\n <div class="animate-pulse" style="width: 74px; height: 16px; border-radius: 999px; background:${$e}"></div>\n <div class="animate-pulse" style="width: 254px; height: 14px; border-radius: 999px; background:${$e}"></div>\n </div>\n <div class="animate-pulse" style="width: 24px; height: 24px; border-radius: 999px; background:${$e}"></div>\n </div>\n <div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">\n <div class="animate-pulse" style="width: 74px; height: 20px; border-radius: 999px; background:${$e}"></div>\n <div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${$e}"></div>\n </div>\n <div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">\n <div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${$e}"></div>\n <div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${$e}"></div>\n </div>\n </div>\n\n <div style="height: 56px; width: 100%; border-radius: 999px; background:${Ee}"></div>\n\n <div style="display: flex; gap: 8px; align-items: center; justify-content: center;">\n <p style="font-size: 14px; font-weight: 400; color:${_e}">Secured by</p>\n <img src="https://res.cloudinary.com/busha-inc/image/upload/v1768821221/commerce-js/busha-logo.png" alt="Busha Logo" style="width: 72px; height: 16px;" />\n </div>\n </div>\n `,e}let ke;function Te(){const e=document.getElementById(t),n=document.getElementById(r);null==n||n.removeEventListener("click",Te),window.removeEventListener("message",je),e&&document.body.removeChild(e)}const je=e=>{const s=ke.devMode?u:o;if(!s)return;const i=new URL(s);if(e.origin===i.origin&&ke){if("INITIALIZED"===e.data.status){const e=document.getElementById(t),s=document.getElementById(n),i=document.getElementById(r);if(!s||!i)return;null==e||e.removeChild(s),null==e||e.removeChild(i)}e.data.status===l&&(Te(),ke.onClose&&ke.onClose(e.data)),"COMPLETED"===e.data.status&&(Te(),ke.onSuccess&&ke.onSuccess(e.data))}};return function(c){!function(){if(document.head.querySelector(`#${s}`))return;const e=document.createElement("style");e.id=s,e.dataset.testid=s,document.head.appendChild(e),e.textContent=`\n @keyframes busha-commerce-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n @keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n }\n\n #${t} {\n animation: busha-commerce-fadeIn 0.3s ease-in-out;\n }\n \n #${t}, #${t} * {\n margin: 0;\n padding: 0px;\n box-sizing: border-box;\n }\n \n #${n} {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 40;\n }\n\n #${r} .busha-commerce-close-icon {\n width: 100%;\n height: 100%;\n fill: transparent;\n }\n\n .animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n `}(),function(e){ve({quote_amount:ue().required(),quote_currency:ue().required(),target_currency:ue().required(),source_currency:ue().required(),public_key:ue().required(),reference:ue().optional(),callback_url:ue().optional(),meta:ve({email:ue().email(),name:ue()}).optional()}).validateSync(e)}(c),ke=c;const d=function(){const e=document.createElement("div");return e.id=t,e.dataset.testid=t,e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.width="100%",e.style.height="100%",e.style.zIndex="999999999",e.style.backgroundColor="rgba(33, 41, 33, 0.20)",e.style.backdropFilter="blur(27px)",e}();!function(){const e=document.createElement("div");e.id=n,e.dataset.testid=n,e.style.width="40px",e.style.height="40px",e.style.backgroundColor="transparent",e.style.border=`2px solid ${we}`,e.style.borderLeftColor="transparent",e.style.borderBottomColor="transparent",e.style.borderRadius="100%",e.animate&&e.animate([{transform:"rotate(0)"},{transform:"rotate(360deg)"}],{duration:300,iterations:1/0})}();const h=Oe(),p=h.querySelector(`#${r}`);null==p||p.addEventListener("click",(e=>{e.preventDefault(),Te(),ke.onClose&&ke.onClose({status:l,data:{reference:ke.reference}})})),d.appendChild(h);const f=function(e=!1){const t=document.createElement("iframe"),n=e?u:o;return t.dataset.testid=i,t.name=i,t.allow=`clipboard-write self ${n}`,t.style.width="100%",t.style.height="100%",t.style.position="absolute",t.style.left="50%",t.style.top="0px",t.style.transform="translate(-50%, 0)",t.style.zIndex="20",t}(ke.devMode);d.appendChild(f),document.body.appendChild(d);const m=e(c,["onClose","onSuccess"]),y=function(t){var{devMode:n=!1}=t,s=e(t,["devMode"]);const r=n?u:o,l=document.createElement("form");l.target=i,l.dataset.testid=a,l.action=r?`${r}/pay`:"",l.method="POST",l.style.display="none",(e=>{for(const e in s){if(!s.hasOwnProperty(e))continue;const t=s[e];if("object"==typeof t)for(const n in t){if(!t.hasOwnProperty(n))continue;const s=document.createElement("input");s.name=`${e}[${n}]`,s.value=String(t[n]),l.appendChild(s)}else{const n=document.createElement("input");n.name=e,n.value=String(t),l.appendChild(n)}}})();const c=document.createElement("input");c.name="displayMode",c.value="INLINE";const d=document.createElement("input");return d.name="parentOrigin",d.value=window.location.origin,l.appendChild(c),l.appendChild(d),l}(Object.assign({devMode:ke.devMode},m));d.appendChild(y),y.submit(),window.addEventListener("message",je)}}();
|
package/example/basic/index.html
CHANGED
package/package.json
CHANGED
package/src/constants/icons.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const close = `<svg
|
|
1
|
+
export const close = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="busha-commerce-close-icon" viewBox="0 0 40 41"><path d="M0 10.5C0 4.977 4.477.5 10 .5h20c5.523 0 10 4.477 10 10v20c0 5.523-4.477 10-10 10H10c-5.523 0-10-4.477-10-10z"/><path fill="#000" fill-rule="evenodd" d="M25.927 15.78a.75.75 0 1 0-1.06-1.06l-4.793 4.793-4.793-4.793a.75.75 0 0 0-1.061 1.06l4.793 4.793-4.793 4.793a.75.75 0 1 0 1.06 1.061l4.794-4.793 4.793 4.793a.75.75 0 0 0 1.06-1.06l-4.793-4.794z" clip-rule="evenodd"/></svg>`;
|
package/src/helper.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { object,
|
|
1
|
+
import { object, string } from "yup";
|
|
2
2
|
|
|
3
3
|
import { dark } from "./constants/colors";
|
|
4
4
|
import {
|
|
@@ -14,6 +14,10 @@ import {
|
|
|
14
14
|
import { BushaCommercePayload } from "./types";
|
|
15
15
|
import { close } from "./constants/icons";
|
|
16
16
|
|
|
17
|
+
const colorContainmentPrimary = "#EDF2ED";
|
|
18
|
+
const colorContainmentTertiary = "#FFFFFF";
|
|
19
|
+
const colorTextMid = "#586558";
|
|
20
|
+
|
|
17
21
|
export function injectGlobalStyles() {
|
|
18
22
|
const sheet = document.head.querySelector(`#${STYLESHEET_ID}`);
|
|
19
23
|
|
|
@@ -35,6 +39,15 @@ export function injectGlobalStyles() {
|
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
41
|
|
|
42
|
+
@keyframes pulse {
|
|
43
|
+
0%, 100% {
|
|
44
|
+
opacity: 1;
|
|
45
|
+
}
|
|
46
|
+
50% {
|
|
47
|
+
opacity: 0.5;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
38
51
|
#${CONTAINER_ID} {
|
|
39
52
|
animation: busha-commerce-fadeIn 0.3s ease-in-out;
|
|
40
53
|
}
|
|
@@ -50,6 +63,7 @@ export function injectGlobalStyles() {
|
|
|
50
63
|
top: 50%;
|
|
51
64
|
left: 50%;
|
|
52
65
|
transform: translate(-50%, -50%);
|
|
66
|
+
z-index: 40;
|
|
53
67
|
}
|
|
54
68
|
|
|
55
69
|
#${CLOSE_BUTTON_ID} .busha-commerce-close-icon {
|
|
@@ -57,6 +71,10 @@ export function injectGlobalStyles() {
|
|
|
57
71
|
height: 100%;
|
|
58
72
|
fill: transparent;
|
|
59
73
|
}
|
|
74
|
+
|
|
75
|
+
.animate-pulse {
|
|
76
|
+
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
77
|
+
}
|
|
60
78
|
`;
|
|
61
79
|
|
|
62
80
|
// return styleEl;
|
|
@@ -97,18 +115,14 @@ export function createContainerEl() {
|
|
|
97
115
|
return containerEl;
|
|
98
116
|
}
|
|
99
117
|
|
|
100
|
-
|
|
118
|
+
function createCloseBtn(size = "40px") {
|
|
101
119
|
const closeBtnEl = document.createElement("button");
|
|
102
120
|
closeBtnEl.id = CLOSE_BUTTON_ID;
|
|
103
121
|
closeBtnEl.dataset.testid = CLOSE_BUTTON_ID;
|
|
104
122
|
closeBtnEl.setAttribute("type", "button");
|
|
105
|
-
closeBtnEl.style.width =
|
|
106
|
-
closeBtnEl.style.height =
|
|
107
|
-
closeBtnEl.style.
|
|
108
|
-
closeBtnEl.style.right = "36px";
|
|
109
|
-
closeBtnEl.style.top = "36px";
|
|
110
|
-
closeBtnEl.style.zIndex = "40";
|
|
111
|
-
closeBtnEl.style.backgroundColor = "#ffffff";
|
|
123
|
+
closeBtnEl.style.width = size;
|
|
124
|
+
closeBtnEl.style.height = size;
|
|
125
|
+
closeBtnEl.style.backgroundColor = colorContainmentTertiary;
|
|
112
126
|
closeBtnEl.style.borderRadius = "100%";
|
|
113
127
|
closeBtnEl.style.border = "none";
|
|
114
128
|
closeBtnEl.innerHTML = close;
|
|
@@ -116,6 +130,16 @@ export function createCloseBtnEl() {
|
|
|
116
130
|
return closeBtnEl;
|
|
117
131
|
}
|
|
118
132
|
|
|
133
|
+
export function createCloseBtnEl() {
|
|
134
|
+
const closeBtnEl = createCloseBtn("40px");
|
|
135
|
+
closeBtnEl.style.zIndex = "40";
|
|
136
|
+
closeBtnEl.style.position = "absolute";
|
|
137
|
+
closeBtnEl.style.right = "36px";
|
|
138
|
+
closeBtnEl.style.top = "36px";
|
|
139
|
+
|
|
140
|
+
return closeBtnEl;
|
|
141
|
+
}
|
|
142
|
+
|
|
119
143
|
export function createSpinnerEl() {
|
|
120
144
|
const spinnerEl = document.createElement("div");
|
|
121
145
|
spinnerEl.id = LOADER_ID;
|
|
@@ -140,6 +164,69 @@ export function createSpinnerEl() {
|
|
|
140
164
|
return spinnerEl;
|
|
141
165
|
}
|
|
142
166
|
|
|
167
|
+
export function createShimmerEl() {
|
|
168
|
+
const shimmerEl = document.createElement("div");
|
|
169
|
+
shimmerEl.id = LOADER_ID;
|
|
170
|
+
shimmerEl.dataset.testid = LOADER_ID;
|
|
171
|
+
shimmerEl.style.width = "480px";
|
|
172
|
+
shimmerEl.style.height = "746px";
|
|
173
|
+
shimmerEl.style.backgroundColor = colorContainmentPrimary;
|
|
174
|
+
shimmerEl.style.borderRadius = "20px";
|
|
175
|
+
shimmerEl.style.padding = "20px";
|
|
176
|
+
|
|
177
|
+
const closeBtnEl = createCloseBtn("36px");
|
|
178
|
+
|
|
179
|
+
shimmerEl.innerHTML = `
|
|
180
|
+
<div style="display: flex; flex-direction: column; gap: 24px;">
|
|
181
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
182
|
+
<div class="animate-pulse" style="width: 288px; height: 32px; border-radius: 999px; background:${colorContainmentTertiary}"></div>
|
|
183
|
+
${closeBtnEl.outerHTML}
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<div style="display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 16px; border-radius: 16px; background:${colorContainmentTertiary}">
|
|
187
|
+
<div class="animate-pulse" style="width: 40px; height: 40px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
188
|
+
<div style="display: flex; flex-direction: column; gap: 2px;">
|
|
189
|
+
<div class="animate-pulse" style="width: 74px; height: 16px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
190
|
+
<div class="animate-pulse" style="width: 254px; height: 14px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
191
|
+
</div>
|
|
192
|
+
<div class="animate-pulse" style="width: 24px; height: 24px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
193
|
+
</div>
|
|
194
|
+
|
|
195
|
+
<div style="display: flex; gap: 16px; align-items: center; justify-content: center; padding: 30px 16px; border-radius: 16px; background:${colorContainmentTertiary}">
|
|
196
|
+
<div class="animate-pulse" style="width: 200px; height: 200px; border-radius: 16px; background:${colorContainmentPrimary}"></div>
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
<div style="display: flex; gap: 20px; flex-direction: column; padding: 16px; border-radius: 16px; background:${colorContainmentTertiary}">
|
|
200
|
+
<div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">
|
|
201
|
+
<div class="animate-pulse" style="width: 40px; height: 40px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
202
|
+
<div style="display: flex; flex-direction: column; gap: 2px;">
|
|
203
|
+
<div class="animate-pulse" style="width: 74px; height: 16px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
204
|
+
<div class="animate-pulse" style="width: 254px; height: 14px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
205
|
+
</div>
|
|
206
|
+
<div class="animate-pulse" style="width: 24px; height: 24px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
207
|
+
</div>
|
|
208
|
+
<div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">
|
|
209
|
+
<div class="animate-pulse" style="width: 74px; height: 20px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
210
|
+
<div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
211
|
+
</div>
|
|
212
|
+
<div style="display: flex; gap: 16px; align-items: center; justify-content: space-between;">
|
|
213
|
+
<div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
214
|
+
<div class="animate-pulse" style="width: 124px; height: 20px; border-radius: 999px; background:${colorContainmentPrimary}"></div>
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
|
|
218
|
+
<div style="height: 56px; width: 100%; border-radius: 999px; background:${colorContainmentTertiary}"></div>
|
|
219
|
+
|
|
220
|
+
<div style="display: flex; gap: 8px; align-items: center; justify-content: center;">
|
|
221
|
+
<p style="font-size: 14px; font-weight: 400; color:${colorTextMid}">Secured by</p>
|
|
222
|
+
<img src="https://res.cloudinary.com/busha-inc/image/upload/v1768821221/commerce-js/busha-logo.png" alt="Busha Logo" style="width: 72px; height: 16px;" />
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
`;
|
|
226
|
+
|
|
227
|
+
return shimmerEl;
|
|
228
|
+
}
|
|
229
|
+
|
|
143
230
|
export function createIframeEl(devMode = false) {
|
|
144
231
|
const iframeEl = document.createElement("iframe");
|
|
145
232
|
const payUI = devMode ? DEV_PAY_UI : PAY_UI;
|
|
@@ -165,7 +252,7 @@ type FormPayload = Omit<BushaCommercePayload, "onClose" | "onSuccess">;
|
|
|
165
252
|
export function createFormEl({
|
|
166
253
|
devMode = false,
|
|
167
254
|
...payload
|
|
168
|
-
}: FormPayload
|
|
255
|
+
}: FormPayload) {
|
|
169
256
|
const payUI = devMode ? DEV_PAY_UI : PAY_UI;
|
|
170
257
|
|
|
171
258
|
const formEl = document.createElement("form");
|
package/src/index.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
createCloseBtnEl,
|
|
17
17
|
createIframeEl,
|
|
18
18
|
createFormEl,
|
|
19
|
+
createShimmerEl,
|
|
19
20
|
} from "./helper";
|
|
20
21
|
import { BushaCommercePayload, MessageType } from "./types";
|
|
21
22
|
|
|
@@ -33,9 +34,11 @@ export default function BushaCommerce(p: BushaCommercePayload) {
|
|
|
33
34
|
const container = createContainerEl();
|
|
34
35
|
|
|
35
36
|
const spinner = createSpinnerEl();
|
|
36
|
-
const
|
|
37
|
+
const shimmer = createShimmerEl();
|
|
38
|
+
const closeBtn = shimmer.querySelector(`#${CLOSE_BUTTON_ID}`);
|
|
39
|
+
// const closeBtn = createCloseBtnEl();
|
|
37
40
|
|
|
38
|
-
closeBtn
|
|
41
|
+
closeBtn?.addEventListener("click", (e) => {
|
|
39
42
|
e.preventDefault();
|
|
40
43
|
cleanup();
|
|
41
44
|
if (payload.onClose) {
|
|
@@ -46,8 +49,9 @@ export default function BushaCommerce(p: BushaCommercePayload) {
|
|
|
46
49
|
}
|
|
47
50
|
});
|
|
48
51
|
|
|
49
|
-
container.appendChild(spinner);
|
|
50
|
-
container.appendChild(
|
|
52
|
+
// container.appendChild(spinner);
|
|
53
|
+
container.appendChild(shimmer);
|
|
54
|
+
// container.appendChild(closeBtn);
|
|
51
55
|
|
|
52
56
|
const iframe = createIframeEl(payload.devMode);
|
|
53
57
|
container.appendChild(iframe);
|