@shoppexio/storefront 1.0.41 → 1.0.42
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/headless-customer.d.ts +182 -0
- package/dist/headless-customer.d.ts.map +1 -0
- package/dist/shoppex.esm.js +2 -2
- package/dist/shoppex.esm.js.map +1 -1
- package/dist/shoppex.umd.js +1 -1
- package/dist/shoppex.umd.js.map +1 -1
- package/dist/types/api.d.ts +1 -0
- package/dist/types/api.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/shoppex.esm.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var e=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map,n={hits:0,misses:0};function o(){e.clear(),t.clear()}function r(t,n,o){const r=Date.now();e.set(t,{data:n,ttl:o,updatedAt:r,expiresAt:r+o})}async function i(o,i,a,s=()=>!0){const l=function(t){const n=e.get(t);return n||null}(o);if(l&&!function(e){return Date.now()>e.expiresAt}(l))return n.hits+=1,l.data;if(l&&a.staleWhileRevalidate){if(n.hits+=1,!t.has(o)){const e=(async()=>{try{const e=await i();return s(e)&&r(o,e,a.ttl),e}finally{t.delete(o)}})();t.set(o,e)}return l.data}if(t.has(o))return t.get(o);n.misses+=1;const u=(async()=>{try{const e=await i();return s(e)&&r(o,e,a.ttl),e}finally{t.delete(o)}})();return t.set(o,u),u}var a=class e extends Error{constructor(t,n,o){super(t),this.name="ShoppexError",this.code=n,this.statusCode=o,Object.setPrototypeOf(this,e.prototype)}},s=class e extends a{constructor(){super("SDK not initialized. Call shoppex.init() first.","NOT_INITIALIZED"),this.name="NotInitializedError",Object.setPrototypeOf(this,e.prototype)}},l=class e extends a{constructor(t,n){super(t,"NETWORK_ERROR",n),this.name="NetworkError",Object.setPrototypeOf(this,e.prototype)}},u=class e extends a{constructor(t,n,o,r){super(t,n,o),this.name="ApiError",this.errorParams=r,Object.setPrototypeOf(this,e.prototype)}},c=class e extends a{constructor(t,n){super(t,"VALIDATION_ERROR"),this.name="ValidationError",this.invalidFields=n,Object.setPrototypeOf(this,e.prototype)}},d=class e extends a{constructor(t){super(t,"BASKET_ERROR"),this.name="CartError",Object.setPrototypeOf(this,e.prototype)}},p=/\{[^{}]+\}/g;function f(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:o=globalThis.fetch,querySerializer:r,bodySerializer:i,pathSerializer:a,headers:s,requestInitExt:l,...u}={...e};l="object"==typeof process&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici?l:void 0,t=w(t);const c=[];async function d(e,d){const{baseUrl:p,fetch:f=o,Request:m=n,headers:_,params:h={},parseAs:S="json",querySerializer:k,bodySerializer:O=i??b,pathSerializer:E,body:x,middleware:z=[],...T}=d||{};let I=t;p&&(I=w(p)??t);let A="function"==typeof r?r:y(r);k&&(A="function"==typeof k?k:y({..."object"==typeof r?r:{},...k}));const $=E||a||g,P=void 0===x?void 0:O(x,v(s,_,h.header)),N=v(void 0===P||P instanceof FormData?{}:{"Content-Type":"application/json"},s,_,h.header),C=[...c,...z],R={redirect:"follow",...u,...T,body:P,headers:N};let U,q,D,j=new m(function(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let o=t.querySerializer(t.params.query??{});o.startsWith("?")&&(o=o.substring(1));o&&(n+=`?${o}`);return n}(e,{baseUrl:I,params:h,querySerializer:A,pathSerializer:$}),R);for(const t in T)t in j||(j[t]=T[t]);if(C.length){U=Math.random().toString(36).slice(2,11),q=Object.freeze({baseUrl:I,fetch:f,parseAs:S,querySerializer:A,bodySerializer:O,pathSerializer:$});for(const t of C)if(t&&"object"==typeof t&&"function"==typeof t.onRequest){const n=await t.onRequest({request:j,schemaPath:e,params:h,options:q,id:U});if(n){if(!(n instanceof m)){if(n instanceof Response){D=n;break}throw new Error("onRequest: must return new Request() or Response() when modifying the request")}j=n}}}if(!D){try{D=await f(j,l)}catch(M){let t=M;if(C.length)for(let n=C.length-1;n>=0;n--){const o=C[n];if(o&&"object"==typeof o&&"function"==typeof o.onError){const n=await o.onError({request:j,error:t,schemaPath:e,params:h,options:q,id:U});if(n){if(n instanceof Response){t=void 0,D=n;break}if(n instanceof Error){t=n;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(t)throw t}if(C.length)for(let t=C.length-1;t>=0;t--){const n=C[t];if(n&&"object"==typeof n&&"function"==typeof n.onResponse){const t=await n.onResponse({request:j,response:D,schemaPath:e,params:h,options:q,id:U});if(t){if(!(t instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");D=t}}}}const L=D.headers.get("Content-Length");if(204===D.status||"HEAD"===j.method||"0"===L&&!D.headers.get("Transfer-Encoding")?.includes("chunked"))return D.ok?{data:void 0,response:D}:{error:void 0,response:D};if(D.ok){const e=async()=>{if("stream"===S)return D.body;if("json"===S&&!L){const e=await D.text();return e?JSON.parse(e):void 0}return await D[S]()};return{data:await e(),response:D}}let Z=await D.text();try{Z=JSON.parse(Z)}catch{}return{error:Z,response:D}}return{request:(e,t,n)=>d(t,{...n,method:e.toUpperCase()}),GET:(e,t)=>d(e,{...t,method:"GET"}),PUT:(e,t)=>d(e,{...t,method:"PUT"}),POST:(e,t)=>d(e,{...t,method:"POST"}),DELETE:(e,t)=>d(e,{...t,method:"DELETE"}),OPTIONS:(e,t)=>d(e,{...t,method:"OPTIONS"}),HEAD:(e,t)=>d(e,{...t,method:"HEAD"}),PATCH:(e,t)=>d(e,{...t,method:"PATCH"}),TRACE:(e,t)=>d(e,{...t,method:"TRACE"}),use(...e){for(const t of e)if(t){if("object"!=typeof t||!("onRequest"in t||"onResponse"in t||"onError"in t))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");c.push(t)}},eject(...e){for(const t of e){const e=c.indexOf(t);-1!==e&&c.splice(e,1)}}}}function m(e,t,n){if(null==t)return"";if("object"==typeof t)throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${!0===n?.allowReserved?t:encodeURIComponent(t)}`}function _(e,t,n){if(!t||"object"!=typeof t)return"";const o=[],r={simple:",",label:".",matrix:";"}[n.style]||"&";if("deepObject"!==n.style&&!1===n.explode){for(const e in t)o.push(e,!0===n.allowReserved?t[e]:encodeURIComponent(t[e]));const r=o.join(",");switch(n.style){case"form":return`${e}=${r}`;case"label":return`.${r}`;case"matrix":return`;${e}=${r}`;default:return r}}for(const a in t){const r="deepObject"===n.style?`${e}[${a}]`:a;o.push(m(r,t[a],n))}const i=o.join(r);return"label"===n.style||"matrix"===n.style?`${r}${i}`:i}function h(e,t,n){if(!Array.isArray(t))return"";if(!1===n.explode){const o={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",r=(!0===n.allowReserved?t:t.map(e=>encodeURIComponent(e))).join(o);switch(n.style){case"simple":return r;case"label":return`.${r}`;case"matrix":return`;${e}=${r}`;default:return`${e}=${r}`}}const o={simple:",",label:".",matrix:";"}[n.style]||"&",r=[];for(const i of t)"simple"===n.style||"label"===n.style?r.push(!0===n.allowReserved?i:encodeURIComponent(i)):r.push(m(e,i,n));return"label"===n.style||"matrix"===n.style?`${o}${r.join(o)}`:r.join(o)}function y(e){return function(t){const n=[];if(t&&"object"==typeof t)for(const o in t){const r=t[o];if(null!=r)if(Array.isArray(r)){if(0===r.length)continue;n.push(h(o,r,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}))}else"object"!=typeof r?n.push(m(o,r,e)):n.push(_(o,r,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}))}return n.join("&")}}function g(e,t){let n=e;for(const o of e.match(p)??[]){let e=o.substring(1,o.length-1),r=!1,i="simple";if(e.endsWith("*")&&(r=!0,e=e.substring(0,e.length-1)),e.startsWith(".")?(i="label",e=e.substring(1)):e.startsWith(";")&&(i="matrix",e=e.substring(1)),!t||void 0===t[e]||null===t[e])continue;const a=t[e];Array.isArray(a)?n=n.replace(o,h(e,a,{style:i,explode:r})):n="object"!=typeof a?"matrix"!==i?n.replace(o,"label"===i?`.${encodeURIComponent(a)}`:encodeURIComponent(a)):n.replace(o,`;${m(e,a)}`):n.replace(o,_(e,a,{style:i,explode:r}))}return n}function b(e,t){return e instanceof FormData?e:t&&"application/x-www-form-urlencoded"===(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])?new URLSearchParams(e).toString():JSON.stringify(e)}function v(...e){const t=new Headers;for(const n of e){if(!n||"object"!=typeof n)continue;const e=n instanceof Headers?n.entries():Object.entries(n);for(const[n,o]of e)if(null===o)t.delete(n);else if(Array.isArray(o))for(const e of o)t.append(n,e);else void 0!==o&&t.set(n,o)}return t}function w(e){return e.endsWith("/")?e.substring(0,e.length-1):e}var S={header:{title:"Header",aliases:["Header Menu"]},footer:{title:"Footer",aliases:["Footer Links","Legal Links"]}};var k;Object.keys(S);function O(e,t,n){function o(n,o){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:o,constr:a,traits:/* @__PURE__ */new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,o);const r=a.prototype,i=Object.keys(r);for(let e=0;e<i.length;e++){const t=i[e];t in n||(n[t]=r[t].bind(n))}}const r=n?.Parent??Object;class i extends r{}function a(e){var t;const r=n?.Parent?new i:this;o(r,e),(t=r._zod).deferred??(t.deferred=[]);for(const n of r._zod.deferred)n();return r}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var E=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},x=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(k=globalThis).__zod_globalConfig??(k.__zod_globalConfig={});var z=globalThis.__zod_globalConfig;function T(e){return e&&Object.assign(z,e),z}function I(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function A(e,t){return"bigint"==typeof t?t.toString():t}function $(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function P(e){return null==e}function N(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var C=/* @__PURE__*/Symbol("evaluating");function R(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==C)return void 0===o&&(o=C,o=n()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function U(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function q(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function D(e){return JSON.stringify(e)}var j="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function L(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var Z=/* @__PURE__*/$(()=>{if(z.jitless)return!1;if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function M(e){if(!1===L(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const n=t.prototype;return!1!==L(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function F(e){return M(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var B=/* @__PURE__*/new Set(["string","number","symbol"]);function J(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Y(e,t,n){const o=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(o._zod.parent=e),o}function W(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}var V={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function H(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function G(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!1===e.issues[n]?.continue)return!0;return!1}function K(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function X(e){return"string"==typeof e?e:e?.message}function Q(e,t,n){const o=e.message?e.message:X(e.inst?._zod.def?.error?.(e))??X(t?.error?.(e))??X(n.customError?.(e))??X(n.localeError?.(e))??"Invalid input",{inst:r,continue:i,input:a,...s}=e;return s.path??(s.path=[]),s.message=o,t?.reportInput&&(s.input=a),s}function ee(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function te(...e){const[t,n,o]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:o}:{...t}}var ne=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,A,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},oe=O("$ZodError",ne),re=O("$ZodError",ne,{Parent:Error});var ie=e=>(t,n,o,r)=>{const i=o?{...o,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new E;if(a.issues.length){const t=new(r?.Err??e)(a.issues.map(e=>Q(e,i,T())));throw j(t,r?.callee),t}return a.value},ae=e=>async(t,n,o,r)=>{const i=o?{...o,async:!0}:{async:!0};let a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const t=new(r?.Err??e)(a.issues.map(e=>Q(e,i,T())));throw j(t,r?.callee),t}return a.value},se=e=>(t,n,o)=>{const r=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},r);if(i instanceof Promise)throw new E;return i.issues.length?{success:!1,error:new(e??oe)(i.issues.map(e=>Q(e,r,T())))}:{success:!0,data:i.value}},le=/* @__PURE__*/se(re),ue=e=>async(t,n,o)=>{const r=o?{...o,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>Q(e,r,T())))}:{success:!0,data:i.value}},ce=/* @__PURE__*/ue(re),de=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return ie(e)(t,n,r)},pe=e=>(t,n,o)=>ie(e)(t,n,o),fe=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return ae(e)(t,n,r)},me=e=>async(t,n,o)=>ae(e)(t,n,o),_e=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return se(e)(t,n,r)},he=e=>(t,n,o)=>se(e)(t,n,o),ye=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return ue(e)(t,n,r)},ge=e=>async(t,n,o)=>ue(e)(t,n,o),be=/^[cC][0-9a-z]{6,}$/,ve=/^[0-9a-z]+$/,we=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Se=/^[0-9a-vA-V]{20}$/,ke=/^[A-Za-z0-9]{27}$/,Oe=/^[a-zA-Z0-9_-]{21}$/,Ee=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xe=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ze=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Te=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ie=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ae=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,$e=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Pe=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ne=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ce=/^[A-Za-z0-9_-]*$/,Re=/^https?$/,Ue=/^\+[1-9]\d{6,14}$/,qe="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",De=/*@__PURE__*/new RegExp(`^${qe}$`);function je(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}var Le=/^-?\d+$/,Ze=/^-?\d+(?:\.\d+)?$/,Me=/^(?:true|false)$/i,Fe=/^[^A-Z]*$/,Be=/^[^a-z]*$/,Je=/*@__PURE__*/O("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ye={number:"number",bigint:"bigint",object:"date"},We=/*@__PURE__*/O("$ZodCheckLessThan",(e,t)=>{Je.init(e,t);const n=Ye[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,o=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:"object"==typeof t.value?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ve=/*@__PURE__*/O("$ZodCheckGreaterThan",(e,t)=>{Je.init(e,t);const n=Ye[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,o=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),He=/*@__PURE__*/O("$ZodCheckMultipleOf",(e,t)=>{Je.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value!==BigInt(0):0!==function(e,t){const n=e/t,o=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-o)<r?0:n-o}(n.value,t.value))&&n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ge=/*@__PURE__*/O("$ZodCheckNumberFormat",(e,t)=>{Je.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[r,i]=V[t.format];e._zod.onattach.push(e=>{const o=e._zod.bag;o.format=t.format,o.minimum=r,o.maximum=i,n&&(o.pattern=Le)}),e._zod.check=a=>{const s=a.value;if(n){if(!Number.isInteger(s))return void a.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}))}s<r&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Ke=/*@__PURE__*/O("$ZodCheckMaxLength",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const o=n.value;if(o.length<=t.maximum)return;const r=ee(o);n.issues.push({origin:r,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Xe=/*@__PURE__*/O("$ZodCheckMinLength",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const o=n.value;if(o.length>=t.minimum)return;const r=ee(o);n.issues.push({origin:r,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Qe=/*@__PURE__*/O("$ZodCheckLengthEquals",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const o=n.value,r=o.length;if(r===t.length)return;const i=ee(o),a=r>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),et=/*@__PURE__*/O("$ZodCheckStringFormat",(e,t)=>{var n,o;Je.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=/* @__PURE__ */new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),tt=/*@__PURE__*/O("$ZodCheckRegex",(e,t)=>{et.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),nt=/*@__PURE__*/O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Fe),et.init(e,t)}),ot=/*@__PURE__*/O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Be),et.init(e,t)}),rt=/*@__PURE__*/O("$ZodCheckIncludes",(e,t)=>{Je.init(e,t);const n=J(t.includes),o=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(o)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),it=/*@__PURE__*/O("$ZodCheckStartsWith",(e,t)=>{Je.init(e,t);const n=new RegExp(`^${J(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),at=/*@__PURE__*/O("$ZodCheckEndsWith",(e,t)=>{Je.init(e,t);const n=new RegExp(`.*${J(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),st=/*@__PURE__*/O("$ZodCheckOverwrite",(e,t)=>{Je.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),lt=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),o=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const r of o)this.content.push(r)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}},ut={major:4,minor:4,patch:3},ct=/*@__PURE__*/O("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ut;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const r of o)for(const t of r._zod.onattach)t(e);if(0===o.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let o,r=H(e);for(const i of t){if(i._zod.def.when){if(G(e))continue;if(!i._zod.def.when(e))continue}else if(r)continue;const t=e.issues.length,a=i._zod.check(e);if(a instanceof Promise&&!1===n?.async)throw new E;if(o||a instanceof Promise)o=(o??Promise.resolve()).then(async()=>{await a,e.issues.length!==t&&(r||(r=H(e,t)))});else{if(e.issues.length===t)continue;r||(r=H(e,t))}}return o?o.then(()=>e):e},n=(n,r,i)=>{if(H(n))return n.aborted=!0,n;const a=t(r,o,i);if(a instanceof Promise){if(!1===i.async)throw new E;return a.then(t=>e._zod.parse(t,i))}return e._zod.parse(a,i)};e._zod.run=(r,i)=>{if(i.skipChecks)return e._zod.parse(r,i);if("backward"===i.direction){const t=e._zod.parse({value:r.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,i)):n(t,r,i)}const a=e._zod.parse(r,i);if(a instanceof Promise){if(!1===i.async)throw new E;return a.then(e=>t(e,o,i))}return t(a,o,i)}}R(e,"~standard",()=>({validate:t=>{try{const n=le(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return ce(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),dt=/*@__PURE__*/O("$ZodString",(e,t)=>{var n;ct.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),pt=/*@__PURE__*/O("$ZodStringFormat",(e,t)=>{et.init(e,t),dt.init(e,t)}),ft=/*@__PURE__*/O("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xe),pt.init(e,t)}),mt=/*@__PURE__*/O("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ze(e))}else t.pattern??(t.pattern=ze());pt.init(e,t)}),_t=/*@__PURE__*/O("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Te),pt.init(e,t)}),ht=/*@__PURE__*/O("$ZodURL",(e,t)=>{pt.init(e,t),e._zod.check=n=>{try{const o=n.value.trim();if(!t.normalize&&t.protocol?.source===Re.source&&!/^https?:\/\//i.test(o))return void n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});const r=new URL(o);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=r.href:n.value=o)}catch(o){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),yt=/*@__PURE__*/O("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),pt.init(e,t)}),gt=/*@__PURE__*/O("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Oe),pt.init(e,t)}),bt=/*@__PURE__*/O("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=be),pt.init(e,t)}),vt=/*@__PURE__*/O("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ve),pt.init(e,t)}),wt=/*@__PURE__*/O("$ZodULID",(e,t)=>{t.pattern??(t.pattern=we),pt.init(e,t)}),St=/*@__PURE__*/O("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Se),pt.init(e,t)}),kt=/*@__PURE__*/O("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ke),pt.init(e,t)}),Ot=/*@__PURE__*/O("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=je({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${qe}T(?:${o})$`)}(t)),pt.init(e,t)}),Et=/*@__PURE__*/O("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=De),pt.init(e,t)}),xt=/*@__PURE__*/O("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${je(t)}$`)),pt.init(e,t)}),zt=/*@__PURE__*/O("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Ee),pt.init(e,t)}),Tt=/*@__PURE__*/O("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ie),pt.init(e,t),e._zod.bag.format="ipv4"}),It=/*@__PURE__*/O("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ae),pt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),At=/*@__PURE__*/O("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=$e),pt.init(e,t)}),$t=/*@__PURE__*/O("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Pe),pt.init(e,t),e._zod.check=n=>{const o=n.value.split("/");try{if(2!==o.length)throw new Error;const[e,t]=o;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Pt(e){if(""===e)return!0;if(/\s/.test(e))return!1;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Nt=/*@__PURE__*/O("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Ne),pt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Pt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});var Ct=/*@__PURE__*/O("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ce),pt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{(function(e){if(!Ce.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return Pt(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Rt=/*@__PURE__*/O("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ue),pt.init(e,t)});var Ut=/*@__PURE__*/O("$ZodJWT",(e,t)=>{pt.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[o]=n;if(!o)return!1;const r=JSON.parse(atob(o));return!("typ"in r&&"JWT"!==r?.typ||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),qt=/*@__PURE__*/O("$ZodNumber",(e,t)=>{ct.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ze,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch(a){}const r=n.value;if("number"==typeof r&&!Number.isNaN(r)&&Number.isFinite(r))return n;const i="number"==typeof r?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...i?{received:i}:{}}),n}}),Dt=/*@__PURE__*/O("$ZodNumberFormat",(e,t)=>{Ge.init(e,t),qt.init(e,t)}),jt=/*@__PURE__*/O("$ZodBoolean",(e,t)=>{ct.init(e,t),e._zod.pattern=Me,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}const r=n.value;return"boolean"==typeof r||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),Lt=/*@__PURE__*/O("$ZodUnknown",(e,t)=>{ct.init(e,t),e._zod.parse=e=>e}),Zt=/*@__PURE__*/O("$ZodNever",(e,t)=>{ct.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Mt(e,t,n){e.issues.length&&t.issues.push(...K(n,e.issues)),t.value[n]=e.value}var Ft=/*@__PURE__*/O("$ZodArray",(e,t)=>{ct.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);const i=[];for(let e=0;e<r.length;e++){const a=r[e],s=t.element._zod.run({value:a,issues:[]},o);s instanceof Promise?i.push(s.then(t=>Mt(t,n,e))):Mt(s,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function Bt(e,t,n,o,r,i){const a=n in o;if(e.issues.length){if(r&&i&&!a)return;t.issues.push(...K(n,e.issues))}a||r?void 0===e.value?a&&(t.value[n]=void 0):t.value[n]=e.value:e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]})}function Jt(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const n=(o=e.shape,Object.keys(o).filter(e=>"optional"===o[e]._zod.optin&&"optional"===o[e]._zod.optout));var o;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Yt(e,t,n,o,r,i){const a=[],s=r.keySet,l=r.catchall._zod,u=l.def.type,c="optional"===l.optin,d="optional"===l.optout;for(const p in t){if("__proto__"===p)continue;if(s.has(p))continue;if("never"===u){a.push(p);continue}const r=l.run({value:t[p],issues:[]},o);r instanceof Promise?e.push(r.then(e=>Bt(e,n,p,t,c,d))):Bt(r,n,p,t,c,d)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}var Wt=/*@__PURE__*/O("$ZodObject",(e,t)=>{if(ct.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const n=$(()=>Jt(t));R(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const o=e[t]._zod;if(o.values){n[t]??(n[t]=/* @__PURE__ */new Set);for(const e of o.values)n[t].add(e)}}return n});const o=L,r=t.catchall;let i;e._zod.parse=(t,a)=>{i??(i=n.value);const s=t.value;if(!o(s))return t.issues.push({expected:"object",code:"invalid_type",input:s,inst:e}),t;t.value={};const l=[],u=i.shape;for(const e of i.keys){const n=u[e],o="optional"===n._zod.optin,r="optional"===n._zod.optout,i=n._zod.run({value:s[e],issues:[]},a);i instanceof Promise?l.push(i.then(n=>Bt(n,t,e,s,o,r))):Bt(i,t,e,s,o,r)}return r?Yt(l,s,t,a,n.value,e):l.length?Promise.all(l).then(()=>t):t}}),Vt=/*@__PURE__*/O("$ZodObjectJIT",(e,t)=>{Wt.init(e,t);const n=e._zod.parse,o=$(()=>Jt(t));let r;const i=L,a=!z.jitless,s=a&&Z.value,l=t.catchall;let u;e._zod.parse=(c,d)=>{u??(u=o.value);const p=c.value;return i(p)?a&&s&&!1===d?.async&&!0!==d.jitless?(r||(r=(e=>{const t=new lt(["shape","payload","ctx"]),n=o.value,r=e=>{const t=D(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const i=Object.create(null);let a=0;for(const o of n.keys)i[o]="key_"+a++;t.write("const newResult = {};");for(const o of n.keys){const n=i[o],a=D(o),s=e[o],l="optional"===s?._zod?.optin,u="optional"===s?._zod?.optout;t.write(`const ${n} = ${r(o)};`),l&&u?t.write(`\n if (${n}.issues.length) {\n if (${a} in input) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):l?t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):t.write(`\n const ${n}_present = ${a} in input;\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: "invalid_type",\n expected: "nonoptional",\n input: undefined,\n path: [${a}]\n });\n }\n\n if (${n}_present) {\n if (${n}.value === undefined) {\n newResult[${a}] = undefined;\n } else {\n newResult[${a}] = ${n}.value;\n }\n }\n\n `)}t.write("payload.value = newResult;"),t.write("return payload;");const s=t.compile();return(t,n)=>s(e,t,n)})(t.shape)),c=r(c,d),l?Yt([],p,c,d,u,e):c):n(c,d):(c.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),c)}});function Ht(e,t,n,o){for(const i of e)if(0===i.issues.length)return t.value=i.value,t;const r=e.filter(e=>!H(e));return 1===r.length?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Q(e,o,T())))}),t)}var Gt=/*@__PURE__*/O("$ZodUnion",(e,t)=>{ct.init(e,t),R(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),R(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),R(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),R(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>N(e.source)).join("|")})$`)}});const n=1===t.options.length?t.options[0]._zod.run:null;e._zod.parse=(o,r)=>{if(n)return n(o,r);let i=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:o.value,issues:[]},r);if(t instanceof Promise)a.push(t),i=!0;else{if(0===t.issues.length)return t;a.push(t)}}return i?Promise.all(a).then(t=>Ht(t,o,e,r)):Ht(a,o,e,r)}}),Kt=/*@__PURE__*/O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Gt.init(e,t);const n=e._zod.parse;R(e._zod,"propValues",()=>{const e={};for(const n of t.options){const o=n._zod.propValues;if(!o||0===Object.keys(o).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(o)){e[t]||(e[t]=/* @__PURE__ */new Set);for(const o of n)e[t].add(o)}}return e});const o=$(()=>{const e=t.options,n=/* @__PURE__ */new Map;for(const o of e){const e=o._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,o)}}return n});e._zod.parse=(r,i)=>{const a=r.value;if(!L(a))return r.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),r;const s=o.value.get(a?.[t.discriminator]);return s?s._zod.run(r,i):t.unionFallback||"backward"===i.direction?n(r,i):(r.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(o.value.keys()),input:a,path:[t.discriminator],inst:e}),r)}}),Xt=/*@__PURE__*/O("$ZodIntersection",(e,t)=>{ct.init(e,t),e._zod.parse=(e,n)=>{const o=e.value,r=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return r instanceof Promise||i instanceof Promise?Promise.all([r,i]).then(([t,n])=>en(e,t,n)):en(e,r,i)}});function Qt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(M(e)&&M(t)){const n=Object.keys(t),o=Object.keys(e).filter(e=>-1!==n.indexOf(e)),r={...e,...t};for(const i of o){const n=Qt(e[i],t[i]);if(!n.valid)return{valid:!1,mergeErrorPath:[i,...n.mergeErrorPath]};r[i]=n.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const r=Qt(e[o],t[o]);if(!r.valid)return{valid:!1,mergeErrorPath:[o,...r.mergeErrorPath]};n.push(r.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function en(e,t,n){const o=/* @__PURE__ */new Map;let r;for(const s of t.issues)if("unrecognized_keys"===s.code){r??(r=s);for(const e of s.keys)o.has(e)||o.set(e,{}),o.get(e).l=!0}else e.issues.push(s);for(const s of n.issues)if("unrecognized_keys"===s.code)for(const e of s.keys)o.has(e)||o.set(e,{}),o.get(e).r=!0;else e.issues.push(s);const i=[...o].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(i.length&&r&&e.issues.push({...r,keys:i}),H(e))return e;const a=Qt(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var tn=/*@__PURE__*/O("$ZodRecord",(e,t)=>{ct.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!M(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;const i=[],a=t.keyType._zod.values;if(a){n.value={};const s=/* @__PURE__ */new Set;for(const u of a)if("string"==typeof u||"number"==typeof u||"symbol"==typeof u){s.add("number"==typeof u?u.toString():u);const a=t.keyType._zod.run({value:u,issues:[]},o);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(e=>Q(e,o,T())),input:u,path:[u],inst:e});continue}const l=a.value,c=t.valueType._zod.run({value:r[u],issues:[]},o);c instanceof Promise?i.push(c.then(e=>{e.issues.length&&n.issues.push(...K(u,e.issues)),n.value[l]=e.value})):(c.issues.length&&n.issues.push(...K(u,c.issues)),n.value[l]=c.value)}let l;for(const e in r)s.has(e)||(l=l??[],l.push(e));l&&l.length>0&&n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:l})}else{n.value={};for(const a of Reflect.ownKeys(r)){if("__proto__"===a)continue;if(!Object.prototype.propertyIsEnumerable.call(r,a))continue;let s=t.keyType._zod.run({value:a,issues:[]},o);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if("string"==typeof a&&Ze.test(a)&&s.issues.length){const e=t.keyType._zod.run({value:Number(a),issues:[]},o);if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently");0===e.issues.length&&(s=e)}if(s.issues.length){"loose"===t.mode?n.value[a]=r[a]:n.issues.push({code:"invalid_key",origin:"record",issues:s.issues.map(e=>Q(e,o,T())),input:a,path:[a],inst:e});continue}const l=t.valueType._zod.run({value:r[a],issues:[]},o);l instanceof Promise?i.push(l.then(e=>{e.issues.length&&n.issues.push(...K(a,e.issues)),n.value[s.value]=e.value})):(l.issues.length&&n.issues.push(...K(a,l.issues)),n.value[s.value]=l.value)}}return i.length?Promise.all(i).then(()=>n):n}}),nn=/*@__PURE__*/O("$ZodEnum",(e,t)=>{ct.init(e,t);const n=I(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(e=>B.has(typeof e)).map(e=>"string"==typeof e?J(e):e.toString()).join("|")})$`),e._zod.parse=(t,r)=>{const i=t.value;return o.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),on=/*@__PURE__*/O("$ZodLiteral",(e,t)=>{if(ct.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?J(e):e?J(e.toString()):String(e)).join("|")})$`),e._zod.parse=(o,r)=>{const i=o.value;return n.has(i)||o.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),o}}),rn=/*@__PURE__*/O("$ZodTransform",(e,t)=>{ct.init(e,t),e._zod.optin="optional",e._zod.parse=(n,o)=>{if("backward"===o.direction)throw new x(e.constructor.name);const r=t.transform(n.value,n);if(o.async)return(r instanceof Promise?r:Promise.resolve(r)).then(e=>(n.value=e,n.fallback=!0,n));if(r instanceof Promise)throw new E;return n.value=r,n.fallback=!0,n}});function an(e,t){return void 0===t&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var sn=/*@__PURE__*/O("$ZodOptional",(e,t)=>{ct.init(e,t),e._zod.optin="optional",e._zod.optout="optional",R(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,void 0]):void 0),R(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${N(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const o=e.value,r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>an(e,o)):an(r,o)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),ln=/*@__PURE__*/O("$ZodExactOptional",(e,t)=>{sn.init(e,t),R(e._zod,"values",()=>t.innerType._zod.values),R(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),un=/*@__PURE__*/O("$ZodNullable",(e,t)=>{ct.init(e,t),R(e._zod,"optin",()=>t.innerType._zod.optin),R(e._zod,"optout",()=>t.innerType._zod.optout),R(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${N(e.source)}|null)$`):void 0}),R(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),cn=/*@__PURE__*/O("$ZodDefault",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(e=>dn(e,t)):dn(o,t)}});function dn(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}var pn=/*@__PURE__*/O("$ZodPrefault",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),fn=/*@__PURE__*/O("$ZodNonOptional",(e,t)=>{ct.init(e,t),R(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,o)=>{const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(t=>mn(t,e)):mn(r,e)}});function mn(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var _n=/*@__PURE__*/O("$ZodCatch",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"optout",()=>t.innerType._zod.optout),R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(o=>(e.value=o.value,o.issues.length&&(e.value=t.catchValue({...e,error:{issues:o.issues.map(e=>Q(e,n,T()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=o.value,o.issues.length&&(e.value=t.catchValue({...e,error:{issues:o.issues.map(e=>Q(e,n,T()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),hn=/*@__PURE__*/O("$ZodPipe",(e,t)=>{ct.init(e,t),R(e._zod,"values",()=>t.in._zod.values),R(e._zod,"optin",()=>t.in._zod.optin),R(e._zod,"optout",()=>t.out._zod.optout),R(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const o=t.out._zod.run(e,n);return o instanceof Promise?o.then(e=>yn(e,t.in,n)):yn(o,t.in,n)}const o=t.in._zod.run(e,n);return o instanceof Promise?o.then(e=>yn(e,t.out,n)):yn(o,t.out,n)}});function yn(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var gn=/*@__PURE__*/O("$ZodReadonly",(e,t)=>{ct.init(e,t),R(e._zod,"propValues",()=>t.innerType._zod.propValues),R(e._zod,"values",()=>t.innerType._zod.values),R(e._zod,"optin",()=>t.innerType?._zod?.optin),R(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(bn):bn(o)}});function bn(e){return e.value=Object.freeze(e.value),e}var vn,wn=/*@__PURE__*/O("$ZodCustom",(e,t)=>{Je.init(e,t),ct.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const o=n.value,r=t.fn(o);if(r instanceof Promise)return r.then(t=>Sn(t,n,o,e));Sn(r,n,o,e)}});function Sn(e,t,n,o){if(!e){const e={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(e.params=o._zod.def.params),t.issues.push(te(e))}}var kn=class{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(e,...t){const n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const o={...n,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};(vn=globalThis).__zod_globalRegistry??(vn.__zod_globalRegistry=new kn);var On=globalThis.__zod_globalRegistry;function En(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...W(t)})}function xn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...W(t)})}function zn(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...W(t)})}function Tn(e,t){return new We({check:"less_than",...W(t),value:e,inclusive:!1})}function In(e,t){return new We({check:"less_than",...W(t),value:e,inclusive:!0})}function An(e,t){return new Ve({check:"greater_than",...W(t),value:e,inclusive:!1})}function $n(e,t){return new Ve({check:"greater_than",...W(t),value:e,inclusive:!0})}function Pn(e,t){return new He({check:"multiple_of",...W(t),value:e})}function Nn(e,t){return new Ke({check:"max_length",...W(t),maximum:e})}function Cn(e,t){return new Xe({check:"min_length",...W(t),minimum:e})}function Rn(e,t){return new Qe({check:"length_equals",...W(t),length:e})}function Un(e){return new st({check:"overwrite",tx:e})}function qn(e,t){const n=new Je({check:"custom",...W(t)});return n._zod.check=e,n}function Dn(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??On,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:/* @__PURE__ */new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function jn(e,t,n={path:[],schemaPath:[]}){var o;const r=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const o={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,o);else{const n=a.schema,i=t.processors[r.type];if(!i)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${r.type}`);i(e,t,n,o)}const i=e._zod.parent;i&&(a.ref||(a.ref=i),jn(i,t,o),t.seen.get(i).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(a.schema,l),"input"===t.io&&Mn(e)&&(delete a.schema.examples,delete a.schema.default),"input"===t.io&&"_prefault"in a.schema&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Ln(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=/* @__PURE__ */new Map;for(const i of e.seen.entries()){const t=e.metadataRegistry.get(i[0])?.id;if(t){const e=o.get(t);if(e&&e!==i[0])throw new Error(`Duplicate schema id "${t}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(t,i[0])}}const r=t=>{if(t[1].schema.$ref)return;const o=t[1],{ref:r,defId:i}=(t=>{const o="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const n=e.external.registry.get(t[0])?.id,r=e.external.uri??(e=>e);if(n)return{ref:r(n)};const i=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=i,{defId:i,ref:`${r("__shared")}#/${o}/${i}`}}if(t[1]===n)return{ref:"#"};const r=`#/${o}/`,i=t[1].schema.id??"__schema"+e.counter++;return{defId:i,ref:r+i}})(t);o.def={...o.schema},i&&(o.defId=i);const a=o.schema;for(const e in a)delete a[e];a.$ref=r};if("throw"===e.cycles)for(const i of e.seen.entries()){const e=i[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const n=i[1];if(t!==i[0]){if(e.external){const n=e.external.registry.get(i[0])?.id;if(t!==i[0]&&n){r(i);continue}}(e.metadataRegistry.get(i[0])?.id||n.cycle||n.count>1&&"ref"===e.reused)&&r(i)}else r(i)}}function Zn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=t=>{const n=e.seen.get(t);if(null===n.ref)return;const r=n.def??n.schema,i={...r},a=n.ref;if(n.ref=null,a){o(a);const n=e.seen.get(a),s=n.schema;if(!s.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(r,s):(r.allOf=r.allOf??[],r.allOf.push(s)),Object.assign(r,i),t._zod.parent===a)for(const e in r)"$ref"!==e&&"allOf"!==e&&(e in i||delete r[e]);if(s.$ref&&n.def)for(const e in r)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(r[e])===JSON.stringify(n.def[e])&&delete r[e]}const s=t._zod.parent;if(s&&s!==a){o(s);const t=e.seen.get(s);if(t?.schema.$ref&&(r.$ref=t.schema.$ref,t.def))for(const e in r)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(r[e])===JSON.stringify(t.def[e])&&delete r[e]}e.override({zodSchema:t,jsonSchema:r,path:n.path??[]})};for(const l of[...e.seen.entries()].reverse())o(l[0]);const r={};if("draft-2020-12"===e.target?r.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?r.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const n=e.external.registry.get(t)?.id;if(!n)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(n)}Object.assign(r,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;void 0!==i&&r.id===i&&delete r.id;const a=e.external?.defs??{};for(const l of e.seen.entries()){const e=l[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&("draft-2020-12"===e.target?r.$defs=a:r.definitions=a);try{const n=JSON.parse(JSON.stringify(r));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:Fn(t,"input",e.processors),output:Fn(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(s){throw new Error("Error converting schema to JSON.")}}function Mn(e,t){const n=t??{seen:/* @__PURE__ */new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if("transform"===o.type)return!0;if("array"===o.type)return Mn(o.element,n);if("set"===o.type)return Mn(o.valueType,n);if("lazy"===o.type)return Mn(o.getter(),n);if("promise"===o.type||"optional"===o.type||"nonoptional"===o.type||"nullable"===o.type||"readonly"===o.type||"default"===o.type||"prefault"===o.type)return Mn(o.innerType,n);if("intersection"===o.type)return Mn(o.left,n)||Mn(o.right,n);if("record"===o.type||"map"===o.type)return Mn(o.keyType,n)||Mn(o.valueType,n);if("pipe"===o.type)return!!e._zod.traits.has("$ZodCodec")||(Mn(o.in,n)||Mn(o.out,n));if("object"===o.type){for(const e in o.shape)if(Mn(o.shape[e],n))return!0;return!1}if("union"===o.type){for(const e of o.options)if(Mn(e,n))return!0;return!1}if("tuple"===o.type){for(const e of o.items)if(Mn(e,n))return!0;return!(!o.rest||!Mn(o.rest,n))}return!1}var Fn=(e,t,n={})=>o=>{const{libraryOptions:r,target:i}=o??{},a=Dn({...r??{},target:i,io:t,processors:n});return jn(e,a),Ln(a,e),Zn(a,e)},Bn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Jn=(e,t,n,o)=>{const r=e._zod.def;jn(r.innerType,t,o);t.seen.get(e).ref=r.innerType},Yn=/*@__PURE__*/O("ZodISODateTime",(e,t)=>{Ot.init(e,t),wo.init(e,t)});function Wn(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...W(t)})}(Yn,e)}var Vn=/*@__PURE__*/O("ZodISODate",(e,t)=>{Et.init(e,t),wo.init(e,t)});function Hn(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...W(t)})}(Vn,e)}var Gn=/*@__PURE__*/O("ZodISOTime",(e,t)=>{xt.init(e,t),wo.init(e,t)});function Kn(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...W(t)})}(Gn,e)}var Xn=/*@__PURE__*/O("ZodISODuration",(e,t)=>{zt.init(e,t),wo.init(e,t)});function Qn(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...W(t)})}(Xn,e)}var eo=(e,t)=>{oe.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},o=(e,r=[])=>{for(const i of e.issues)if("invalid_union"===i.code&&i.errors.length)i.errors.map(e=>o({issues:e},[...r,...i.path]));else if("invalid_key"===i.code)o({issues:i.issues},[...r,...i.path]);else if("invalid_element"===i.code)o({issues:i.issues},[...r,...i.path]);else{const e=[...r,...i.path];if(0===e.length)n._errors.push(t(i));else{let o=n,r=0;for(;r<e.length;){const n=e[r];r!==e.length-1?o[n]=o[n]||{_errors:[]}:(o[n]=o[n]||{_errors:[]},o[n]._errors.push(t(i))),o=o[n],r++}}}};return o(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},o=[];for(const r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):o.push(t(r));return{formErrors:o,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,A,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,A,2)}},isEmpty:{get:()=>0===e.issues.length}})},to=/*@__PURE__*/O("ZodError",eo,{Parent:Error}),no=/* @__PURE__ */ie(to),oo=/* @__PURE__ */ae(to),ro=/* @__PURE__ */se(to),io=/* @__PURE__ */ue(to),ao=/* @__PURE__ */de(to),so=/* @__PURE__ */pe(to),lo=/* @__PURE__ */fe(to),uo=/* @__PURE__ */me(to),co=/* @__PURE__ */_e(to),po=/* @__PURE__ */he(to),fo=/* @__PURE__ */ye(to),mo=/* @__PURE__ */ge(to),_o=/* @__PURE__ */new WeakMap;function ho(e,t,n){const o=Object.getPrototypeOf(e);let r=_o.get(o);if(r||(r=/* @__PURE__ */new Set,_o.set(o,r)),!r.has(t)){r.add(t);for(const e in n){const t=n[e];Object.defineProperty(o,e,{configurable:!0,enumerable:!1,get(){const n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var yo=/*@__PURE__*/O("ZodType",(e,t)=>(ct.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Fn(e,"input"),output:Fn(e,"output")}}),e.toJSONSchema=((e,t={})=>n=>{const o=Dn({...n,processors:t});return jn(e,o),Ln(o,e),Zn(o,e)})(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>no(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>ro(e,t,n),e.parseAsync=async(t,n)=>oo(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>io(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ao(e,t,n),e.decode=(t,n)=>so(e,t,n),e.encodeAsync=async(t,n)=>lo(e,t,n),e.decodeAsync=async(t,n)=>uo(e,t,n),e.safeEncode=(t,n)=>co(e,t,n),e.safeDecode=(t,n)=>po(e,t,n),e.safeEncodeAsync=async(t,n)=>fo(e,t,n),e.safeDecodeAsync=async(t,n)=>mo(e,t,n),ho(e,"ZodType",{check(...e){const t=this.def;return this.clone(q(t,{checks:[...t.checks??[],...e.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Y(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...W(n)})}(xr,e,t)}(e,t))},superRefine(e,t){return this.check(function(e,t){return function(e,t){const n=/* @__PURE__ */qn(t=>(t.addIssue=e=>{if("string"==typeof e)t.issues.push(te(e,t.value,n._zod.def));else{const o=e;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=t.value),o.inst??(o.inst=n),o.continue??(o.continue=!n._zod.def.abort),t.issues.push(te(o))}},e(t.value,t)),t);return n}(e,t)}(e,t))},overwrite(e){return this.check(Un(e))},optional(){return _r(this)},exactOptional(){return new hr({type:"optional",innerType:this})},nullable(){return gr(this)},nullish(){return _r(gr(this))},nonoptional(e){return function(e,t){return new wr({type:"nonoptional",innerType:e,...W(t)})}(this,e)},array(){return Qo(this)},or(e){return or([this,e])},and(e){return new ar({type:"intersection",left:this,right:e})},transform(e){return Or(this,new fr({type:"transform",transform:e}))},default(e){return t=e,new br({type:"default",innerType:this,get defaultValue(){return"function"==typeof t?t():F(t)}});var t},prefault(e){return t=e,new vr({type:"prefault",innerType:this,get defaultValue(){return"function"==typeof t?t():F(t)}});var t},catch(e){return new Sr({type:"catch",innerType:this,catchValue:"function"==typeof(t=e)?t:()=>t});var t},pipe(e){return Or(this,e)},readonly(){return new Er({type:"readonly",innerType:this})},describe(e){const t=this.clone();return On.add(t,{description:e}),t},meta(...e){if(0===e.length)return On.get(this);const t=this.clone();return On.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get:()=>On.get(e)?.description,configurable:!0}),e)),go=/*@__PURE__*/O("_ZodString",(e,t)=>{dt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=n;o.type="string";const{minimum:r,maximum:i,format:a,patterns:s,contentEncoding:l}=e._zod.bag;if("number"==typeof r&&(o.minLength=r),"number"==typeof i&&(o.maxLength=i),a&&(o.format=Bn[a]??a,""===o.format&&delete o.format,"time"===a&&delete o.format),l&&(o.contentEncoding=l),s&&s.size>0){const e=[...s];1===e.length?o.pattern=e[0].source:e.length>1&&(o.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,ho(e,"_ZodString",{regex(...e){return this.check(function(e,t){return new tt({check:"string_format",format:"regex",...W(t),pattern:e})}(...e))},includes(...e){return this.check(function(e,t){return new rt({check:"string_format",format:"includes",...W(t),includes:e})}(...e))},startsWith(...e){return this.check(function(e,t){return new it({check:"string_format",format:"starts_with",...W(t),prefix:e})}(...e))},endsWith(...e){return this.check(function(e,t){return new at({check:"string_format",format:"ends_with",...W(t),suffix:e})}(...e))},min(...e){return this.check(Cn(...e))},max(...e){return this.check(Nn(...e))},length(...e){return this.check(Rn(...e))},nonempty(...e){return this.check(Cn(1,...e))},lowercase(e){return this.check(function(e){return new nt({check:"string_format",format:"lowercase",...W(e)})}(e))},uppercase(e){return this.check(function(e){return new ot({check:"string_format",format:"uppercase",...W(e)})}(e))},trim(){return this.check(/* @__PURE__ */Un(e=>e.trim()))},normalize(...e){return this.check(function(e){/* @__PURE__ */
|
|
2
|
-
return Un(t=>t.normalize(e))}(...e))},toLowerCase(){return this.check(/* @__PURE__ */Un(e=>e.toLowerCase()))},toUpperCase(){return this.check(/* @__PURE__ */Un(e=>e.toUpperCase()))},slugify(){return this.check(/* @__PURE__ */Un(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}})}),bo=/*@__PURE__*/O("ZodString",(e,t)=>{dt.init(e,t),go.init(e,t),e.email=t=>e.check(En(So,t)),e.url=t=>e.check(zn(xo,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...W(t)})}(Zo,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...W(t)})}(zo,t)),e.guid=t=>e.check(xn(Oo,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...W(t)})}(Eo,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...W(t)})}(Eo,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...W(t)})}(Eo,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...W(t)})}(Eo,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...W(t)})}(To,t)),e.guid=t=>e.check(xn(Oo,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...W(t)})}(Io,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...W(t)})}(Ao,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...W(t)})}($o,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...W(t)})}(Do,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...W(t)})}(jo,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...W(t)})}(Po,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...W(t)})}(No,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...W(t)})}(Co,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...W(t)})}(Ro,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...W(t)})}(Uo,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...W(t)})}(qo,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...W(t)})}(Lo,t)),e.datetime=t=>e.check(Wn(t)),e.date=t=>e.check(Hn(t)),e.time=t=>e.check(Kn(t)),e.duration=t=>e.check(Qn(t))});function vo(e){return function(e,t){return new e({type:"string",...W(t)})}(bo,e)}var wo=/*@__PURE__*/O("ZodStringFormat",(e,t)=>{pt.init(e,t),go.init(e,t)}),So=/*@__PURE__*/O("ZodEmail",(e,t)=>{_t.init(e,t),wo.init(e,t)});function ko(e){return En(So,e)}var Oo=/*@__PURE__*/O("ZodGUID",(e,t)=>{ft.init(e,t),wo.init(e,t)}),Eo=/*@__PURE__*/O("ZodUUID",(e,t)=>{mt.init(e,t),wo.init(e,t)}),xo=/*@__PURE__*/O("ZodURL",(e,t)=>{ht.init(e,t),wo.init(e,t)});var zo=/*@__PURE__*/O("ZodEmoji",(e,t)=>{yt.init(e,t),wo.init(e,t)}),To=/*@__PURE__*/O("ZodNanoID",(e,t)=>{gt.init(e,t),wo.init(e,t)}),Io=/*@__PURE__*/O("ZodCUID",(e,t)=>{bt.init(e,t),wo.init(e,t)}),Ao=/*@__PURE__*/O("ZodCUID2",(e,t)=>{vt.init(e,t),wo.init(e,t)}),$o=/*@__PURE__*/O("ZodULID",(e,t)=>{wt.init(e,t),wo.init(e,t)}),Po=/*@__PURE__*/O("ZodXID",(e,t)=>{St.init(e,t),wo.init(e,t)}),No=/*@__PURE__*/O("ZodKSUID",(e,t)=>{kt.init(e,t),wo.init(e,t)}),Co=/*@__PURE__*/O("ZodIPv4",(e,t)=>{Tt.init(e,t),wo.init(e,t)}),Ro=/*@__PURE__*/O("ZodIPv6",(e,t)=>{It.init(e,t),wo.init(e,t)}),Uo=/*@__PURE__*/O("ZodCIDRv4",(e,t)=>{At.init(e,t),wo.init(e,t)}),qo=/*@__PURE__*/O("ZodCIDRv6",(e,t)=>{$t.init(e,t),wo.init(e,t)}),Do=/*@__PURE__*/O("ZodBase64",(e,t)=>{Nt.init(e,t),wo.init(e,t)}),jo=/*@__PURE__*/O("ZodBase64URL",(e,t)=>{Ct.init(e,t),wo.init(e,t)}),Lo=/*@__PURE__*/O("ZodE164",(e,t)=>{Rt.init(e,t),wo.init(e,t)}),Zo=/*@__PURE__*/O("ZodJWT",(e,t)=>{Ut.init(e,t),wo.init(e,t)}),Mo=/*@__PURE__*/O("ZodNumber",(e,t)=>{qt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=n,{minimum:r,maximum:i,format:a,multipleOf:s,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;"string"==typeof a&&a.includes("int")?o.type="integer":o.type="number";const c="number"==typeof u&&u>=(r??Number.NEGATIVE_INFINITY),d="number"==typeof l&&l<=(i??Number.POSITIVE_INFINITY),p="draft-04"===t.target||"openapi-3.0"===t.target;c?p?(o.minimum=u,o.exclusiveMinimum=!0):o.exclusiveMinimum=u:"number"==typeof r&&(o.minimum=r),d?p?(o.maximum=l,o.exclusiveMaximum=!0):o.exclusiveMaximum=l:"number"==typeof i&&(o.maximum=i),"number"==typeof s&&(o.multipleOf=s)})(e,t,n),ho(e,"ZodNumber",{gt(e,t){return this.check(An(e,t))},gte(e,t){return this.check($n(e,t))},min(e,t){return this.check($n(e,t))},lt(e,t){return this.check(Tn(e,t))},lte(e,t){return this.check(In(e,t))},max(e,t){return this.check(In(e,t))},int(e){return this.check(Jo(e))},safe(e){return this.check(Jo(e))},positive(e){return this.check(An(0,e))},nonnegative(e){return this.check($n(0,e))},negative(e){return this.check(Tn(0,e))},nonpositive(e){return this.check(In(0,e))},multipleOf(e,t){return this.check(Pn(e,t))},step(e,t){return this.check(Pn(e,t))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Fo(e){return function(e,t){return new e({type:"number",checks:[],...W(t)})}(Mo,e)}var Bo=/*@__PURE__*/O("ZodNumberFormat",(e,t)=>{Dt.init(e,t),Mo.init(e,t)});function Jo(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...W(t)})}(Bo,e)}var Yo=/*@__PURE__*/O("ZodBoolean",(e,t)=>{jt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.type="boolean"})(0,0,t)});function Wo(e){return function(e,t){return new e({type:"boolean",...W(t)})}(Yo,e)}var Vo=/*@__PURE__*/O("ZodUnknown",(e,t)=>{Lt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function Ho(){return new Vo({type:"unknown"})}var Go=/*@__PURE__*/O("ZodNever",(e,t)=>{Zt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Ko(e){return function(e,t){return new e({type:"never",...W(t)})}(Go,e)}var Xo=/*@__PURE__*/O("ZodArray",(e,t)=>{Ft.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;"number"==typeof a&&(r.minItems=a),"number"==typeof s&&(r.maxItems=s),r.type="array",r.items=jn(i.element,t,{...o,path:[...o.path,"items"]})})(e,t,n,o),e.element=t.element,ho(e,"ZodArray",{min(e,t){return this.check(Cn(e,t))},nonempty(e){return this.check(Cn(1,e))},max(e,t){return this.check(Nn(e,t))},length(e,t){return this.check(Rn(e,t))},unwrap(){return this.element}})});function Qo(e,t){return function(e,t,n){return new e({type:"array",element:t,...W(n)})}(Xo,e,t)}var er=/*@__PURE__*/O("ZodObject",(e,t)=>{Vt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def;r.type="object",r.properties={};const a=i.shape;for(const u in a)r.properties[u]=jn(a[u],t,{...o,path:[...o.path,"properties",u]});const s=new Set(Object.keys(a)),l=new Set([...s].filter(e=>{const n=i.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout}));l.size>0&&(r.required=Array.from(l)),"never"===i.catchall?._zod.def.type?r.additionalProperties=!1:i.catchall?i.catchall&&(r.additionalProperties=jn(i.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):"output"===t.io&&(r.additionalProperties=!1)})(e,t,n,o),R(e,"shape",()=>t.shape),ho(e,"ZodObject",{keyof(){return cr(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Ho()})},loose(){return this.clone({...this._zod.def,catchall:Ho()})},strict(){return this.clone({...this._zod.def,catchall:Ko()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return function(e,t){if(!M(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const n=e._zod.def.shape;for(const e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Y(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return U(this,"shape",n),n}}))}(this,e)},safeExtend(e){return function(e,t){if(!M(t))throw new Error("Invalid input to safeExtend: expected a plain object");return Y(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return U(this,"shape",n),n}}))}(this,e)},merge(e){return function(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");return Y(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return U(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}(this,e)},pick(e){return function(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return Y(e,q(e._zod.def,{get shape(){const e={};for(const o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(e[o]=n.shape[o])}return U(this,"shape",e),e},checks:[]}))}(this,e)},omit(e){return function(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return Y(e,q(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete o[e]}return U(this,"shape",o),o},checks:[]}))}(this,e)},partial(...e){return function(e,t,n){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return Y(t,q(t._zod.def,{get shape(){const o=t._zod.def.shape,r={...o};if(n)for(const t in n){if(!(t in o))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(r[t]=e?new e({type:"optional",innerType:o[t]}):o[t])}else for(const t in o)r[t]=e?new e({type:"optional",innerType:o[t]}):o[t];return U(this,"shape",r),r},checks:[]}))}(mr,this,e[0])},required(...e){return t=wr,n=this,o=e[0],Y(n,q(n._zod.def,{get shape(){const e=n._zod.def.shape,r={...e};if(o)for(const n in o){if(!(n in r))throw new Error(`Unrecognized key: "${n}"`);o[n]&&(r[n]=new t({type:"nonoptional",innerType:e[n]}))}else for(const n in e)r[n]=new t({type:"nonoptional",innerType:e[n]});return U(this,"shape",r),r}}));var t,n,o}})});function tr(e,t){const n={type:"object",shape:e??{},...W(t)};return new er(n)}var nr=/*@__PURE__*/O("ZodUnion",(e,t)=>{Gt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=!1===r.inclusive,a=r.options.map((e,n)=>jn(e,t,{...o,path:[...o.path,i?"oneOf":"anyOf",n]}));i?n.oneOf=a:n.anyOf=a})(e,t,n,o),e.options=t.options});function or(e,t){return new nr({type:"union",options:e,...W(t)})}var rr=/*@__PURE__*/O("ZodDiscriminatedUnion",(e,t)=>{nr.init(e,t),Kt.init(e,t)});function ir(e,t,n){return new rr({type:"union",options:t,discriminator:e,...W(n)})}var ar=/*@__PURE__*/O("ZodIntersection",(e,t)=>{Xt.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=jn(r.left,t,{...o,path:[...o.path,"allOf",0]}),a=jn(r.right,t,{...o,path:[...o.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length;n.allOf=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]]})(e,t,n,o)});var sr=/*@__PURE__*/O("ZodRecord",(e,t)=>{tn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def;r.type="object";const a=i.keyType,s=a._zod.bag?.patterns;if("loose"===i.mode&&s&&s.size>0){const e=jn(i.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});r.patternProperties={};for(const t of s)r.patternProperties[t.source]=e}else"draft-07"!==t.target&&"draft-2020-12"!==t.target||(r.propertyNames=jn(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),r.additionalProperties=jn(i.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const l=a._zod.values;if(l){const e=[...l].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(r.required=e)}})(e,t,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function lr(e,t,n){return t&&t._zod?new sr({type:"record",keyType:e,valueType:t,...W(n)}):new sr({type:"record",keyType:vo(),valueType:e,...W(t)})}var ur=/*@__PURE__*/O("ZodEnum",(e,t)=>{nn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=I(e._zod.def.entries);o.every(e=>"number"==typeof e)&&(n.type="number"),o.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=o})(e,0,n),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,o)=>{const r={};for(const i of e){if(!n.has(i))throw new Error(`Key ${i} not found in enum`);r[i]=t.entries[i]}return new ur({...t,checks:[],...W(o),entries:r})},e.exclude=(e,o)=>{const r={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete r[t]}return new ur({...t,checks:[],...W(o),entries:r})}});function cr(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new ur({type:"enum",entries:n,...W(t)})}var dr=/*@__PURE__*/O("ZodLiteral",(e,t)=>{on.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=e._zod.def,r=[];for(const i of o.values)if(void 0===i){if("throw"===t.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof i){if("throw"===t.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema");r.push(Number(i))}else r.push(i);if(0===r.length);else if(1===r.length){const e=r[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else r.every(e=>"number"==typeof e)&&(n.type="number"),r.every(e=>"string"==typeof e)&&(n.type="string"),r.every(e=>"boolean"==typeof e)&&(n.type="boolean"),r.every(e=>null===e)&&(n.type="null"),n.enum=r})(e,t,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function pr(e,t){return new dr({type:"literal",values:Array.isArray(e)?e:[e],...W(t)})}var fr=/*@__PURE__*/O("ZodTransform",(e,t)=>{rn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,e),e._zod.parse=(n,o)=>{if("backward"===o.direction)throw new x(e.constructor.name);n.addIssue=o=>{if("string"==typeof o)n.issues.push(te(o,n.value,t));else{const t=o;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(te(t))}};const r=t.transform(n.value,n);return r instanceof Promise?r.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=r,n.fallback=!0,n)}});var mr=/*@__PURE__*/O("ZodOptional",(e,t)=>{sn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>Jn(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});function _r(e){return new mr({type:"optional",innerType:e})}var hr=/*@__PURE__*/O("ZodExactOptional",(e,t)=>{ln.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>Jn(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});var yr=/*@__PURE__*/O("ZodNullable",(e,t)=>{un.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=jn(r.innerType,t,o),a=t.seen.get(e);"openapi-3.0"===t.target?(a.ref=r.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function gr(e){return new yr({type:"nullable",innerType:e})}var br=/*@__PURE__*/O("ZodDefault",(e,t)=>{cn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;jn(r.innerType,t,o),t.seen.get(e).ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});var vr=/*@__PURE__*/O("ZodPrefault",(e,t)=>{pn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;jn(r.innerType,t,o),t.seen.get(e).ref=r.innerType,"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});var wr=/*@__PURE__*/O("ZodNonOptional",(e,t)=>{fn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;jn(r.innerType,t,o),t.seen.get(e).ref=r.innerType})(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});var Sr=/*@__PURE__*/O("ZodCatch",(e,t)=>{_n.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;let i;jn(r.innerType,t,o),t.seen.get(e).ref=r.innerType;try{i=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});var kr=/*@__PURE__*/O("ZodPipe",(e,t)=>{hn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=r.in._zod.traits.has("$ZodTransform"),a="input"===t.io?i?r.out:r.in:r.out;jn(a,t,o),t.seen.get(e).ref=a})(e,t,0,o),e.in=t.in,e.out=t.out});function Or(e,t){return new kr({type:"pipe",in:e,out:t})}var Er=/*@__PURE__*/O("ZodReadonly",(e,t)=>{gn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;jn(r.innerType,t,o),t.seen.get(e).ref=r.innerType,n.readOnly=!0})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});var xr=/*@__PURE__*/O("ZodCustom",(e,t)=>{wn.init(e,t),yo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,e)});var zr,Tr=cr(["CONSENT","SOFT_OPT_IN","TRANSACTIONAL_ONLY","UNKNOWN"]),Ir=cr(["MANUAL_UNSUB","ONE_CLICK_UNSUB","HARD_BOUNCE","COMPLAINT","ADMIN_BLOCK"]),Ar=cr(["BROADCAST","AUTOMATION"]),$r=cr(["ABANDONED_CART","POST_PURCHASE","WELCOME","WIN_BACK","RE_ENGAGEMENT","TAG_ADDED"]),Pr=(tr({email:ko(),name:vo().trim().min(1).nullable().optional(),customer_id:vo().uuid().nullable().optional(),tags:Qo(vo().trim().min(1)).default([]),consent_basis:Tr.default("UNKNOWN"),source:vo().trim().min(1).default("dashboard")}),tr({name:vo().trim().min(1),subject:vo().trim().min(1),preheader:vo().nullable().optional(),mjml_source:vo().trim().min(1),builder_project_json:lr(vo(),Ho()).nullable().optional(),thumbnail_url:zn(xo,zr).nullable().optional()}),tr({mjml_source:vo().trim().min(1),sample_variables:lr(vo(),Ho()).optional()}),tr({recipient_email:ko(),sample_variables:lr(vo(),Ho()).optional()}),tr({marketing_enabled:Wo().optional(),default_from_name:vo().trim().min(1).nullable().optional(),default_from_email:ko().nullable().optional(),default_reply_to_email:ko().nullable().optional(),physical_address:vo().trim().min(1).nullable().optional(),physical_address_line2:vo().trim().min(1).nullable().optional(),physical_city:vo().trim().min(1).nullable().optional(),physical_postal_code:vo().trim().min(1).nullable().optional(),physical_country:vo().trim().length(2).nullable().optional(),daily_limit:Fo().int().positive().optional(),monthly_soft_cap:Fo().int().positive().optional()}),tr({type:Ar.default("BROADCAST"),name:vo().trim().min(1),subject:vo().trim().min(1),template_id:vo().uuid(),list_id:vo().uuid().nullable().optional(),segment_id:vo().uuid().nullable().optional(),from_name:vo().trim().min(1),from_email:ko(),reply_to_email:ko().nullable().optional(),schedule_at:vo().datetime().nullable().optional(),target_emails:Qo(ko()).max(0,"Direct recipient entry is disabled. Use lists or segments built from Shoppex customers and paid order buyers.").default([]),idempotency_key:vo().trim().min(1).nullable().optional()}),tr({name:vo().trim().min(1),subject:vo().trim().min(1),template_id:vo().uuid(),from_name:vo().trim().min(1),from_email:ko(),reply_to_email:ko().nullable().optional(),trigger:$r,delay_seconds:Fo().int().min(0).default(0),conditions:lr(vo(),Ho()).default({})}),tr({trigger:$r,email:ko(),customer_id:vo().uuid().nullable().optional(),name:vo().trim().min(1).nullable().optional(),consent_basis:Tr.default("UNKNOWN"),variables:lr(vo(),Ho()).default({}),idempotency_key:vo().trim().min(1).nullable().optional()}),tr({email:ko(),reason:Ir.default("ADMIN_BLOCK"),notes:vo().nullable().optional()}),["BITCOIN","LITECOIN","ETHEREUM","BITCOIN_CASH","MONERO","RIPPLE","TRON","SOLANA","POLYGON","BINANCE_COIN","CRONOS","CONCORDIUM","NANO","DOGECOIN","DASH"]),Nr=["NOWPAYMENTS","CRYPTOMUS","OXAPAY"],Cr=["NOWPAYMENTS_WHITELABEL"],Rr={USDT:["USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL"],USDC:["USDC_ERC20","USDC_TRC20","USDC_BEP20","USDC_POLYGON","USDC_SOL"],DAI:["DAI_ERC20"]},Ur=Object.keys(Rr),qr=[...Rr.USDT,...Rr.USDC,...Rr.DAI],Dr=[...Pr,...qr],jr=["BITCOIN_LN"],Lr=[...Nr,...Cr],Zr=[...Dr,...jr],Mr=Dr,Fr=(new Set(["SHOPPEXPAY"]),new Set(Pr)),Br=new Set(qr),Jr=(new Set(Dr),new Set(jr),new Set(Nr),new Set(Cr),new Set(Lr),new Set(Zr),new Set(Ur),new Set(["STRIPE","PAYPAL","PAYPAL_FF","MOLLIE","AUTHORIZENET","NMI","SQUARE","SUMUP","SHOPIFY","PANDABASE","DEBLOMASSI","SHOPPEXPAY","MONEYMOTION","OVGC","WHOP","DODO","MAVERICK","CASHAPP","VENMO","CRYPTO","CUSTOMER_BALANCE","MANUAL"]),{CASHAPP:"CASH_APP",PAYPAL_CREDIT_CARD:"PAYPAL",EUTHEREUM:"ETHEREUM",USDT_MATIC:"USDT_POLYGON",USDC_MATIC:"USDC_POLYGON"});function Yr(e,t){if(new Set(t).size!==t.length)throw new Error(`${e} contains duplicate entries`)}Yr("COIN_GATEWAY_KEYS",Pr),Yr("TOKEN_GATEWAY_KEYS",qr),Yr("CRYPTO_GATEWAY_KEYS",Dr),Yr("LEGACY_CRYPTO_GATEWAY_KEYS",jr),Yr("CRYPTO_PROVIDER_KEYS",Nr),Yr("MANAGED_CRYPTO_PROVIDER_KEYS",Cr),Yr("CRYPTO_PROVIDER_GATEWAY_KEYS",Lr),Yr("DEFAULT_NOWPAYMENTS_CRYPTO_GATEWAY_KEYS",Mr),Yr("DEFAULT_CRYPTOMUS_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL","USDC_ERC20","USDC_BEP20","USDC_POLYGON","DAI_ERC20"]),Yr("DEFAULT_OXAPAY_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDC_ERC20"]);for(const vc of Dr)if(!Fr.has(vc)&&!Br.has(vc))throw new Error(`CRYPTO_GATEWAY_KEYS contains an unclassified gateway: ${vc}`);new Set(["STRIPE","PAYPAL","PAYPAL_FF","SKRILL","CASHAPP","CASH_APP","PERFECT_MONEY","SQUARE","SUMUP","SHOPIFY","PANDABASE","DEBLOMASSI","SHOPPEXPAY","MONEYMOTION","OVGC","WHOP","DODO","MAVERICK","VENMO","MOLLIE","AUTHORIZENET","NMI"].map(e=>function(e){const t=e.trim();if(!t)return"";if(/^manual:/i.test(t)){const e=t.slice(t.indexOf(":")+1).trim();return e?`MANUAL:${e}`:"MANUAL"}let n=t.toUpperCase();const o=n.match(/^(USDT|USDC|DAI):([A-Z0-9_]+)$/);if(o){const[,e,t]=o;n=`${e}_${"MATIC"===t?"POLYGON":t}`}return Jr[n]??n}(e))),new Set(["WHITE_LABEL","NATIVE"]);var Wr=[...Lr,"NATIVE"],Vr=(new Set(Wr),tr({set:Wo()})),Hr=tr({status:cr(["READY","NEEDS_ATTENTION"]).optional(),code:vo().optional(),message:vo().optional(),checked_at:vo().optional()}),Gr=(tr({provider:vo(),type:vo(),enabled:Wo(),connected:Wo(),credentials:lr(vo(),Vr),public_config:lr(vo(),Ho()),webhook:lr(vo(),Ho()).optional(),health:Hr.optional()}),"#2563eb"),Kr=["comfortable","compact"],Xr=["top","side","background"],Qr=cr(["checkout","payment_link","embed"]),ei=cr(["current","clean-light","clean-dark","v2","v3"]),ti=cr(Kr),ni=cr(["light","dark","system"]),oi=cr(Xr),ri=cr(["ghost","outlined","filled"]),ii=cr(["sheet","fullscreen","center"]),ai=cr(["visible","hidden"]),si=(cr(["checkout.shell","checkout.panel","checkout.header","brand.logo","product.card","product.image","product.title","product.description","product.price","product.quantity","product.addon","paymentLink.hero","summary.panel","summary.line","summary.total","form.field","form.label","form.help","coupon.input","input.base","input.error","button.primary","button.secondary","payment.methods","payment.method","payment.method.icon","payment.method.label","payment.method.meta","payment.method.fee","payment.method.indicator","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.launcher","embed.launcher.icon","embed.productCard","embed.productCard.image","embed.productCard.title","embed.productCard.price","embed.cart","embed.cart.row","embed.cart.summary","embed.modal","embed.modal.header","embed.modal.close","embed.skeleton","embed.loader","embed.branding"]),cr(["product.title","product.price","summary.total","payment.method.label","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.modal.close","embed.branding"]),vo().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),li=vo().trim().min(1).max(200).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS color or gradient"),ui=vo().trim().min(1).max(400).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS box-shadow value"),ci=cr(["Inter","Geist","Manrope","Plus Jakarta Sans","DM Sans","Space Grotesk","Sora","IBM Plex Sans","JetBrains Mono","Arial","System UI"]),di=vo().trim().min(1).max(60).regex(/^[A-Za-z0-9 +\-_]+$/,"Use a Google Fonts family name"),pi=vo().url(),fi=tr({brand:tr({logoUrl:pi.optional().nullable(),logoDarkUrl:pi.optional().nullable(),logoMaxHeight:Fo().int().min(16).max(80).optional(),faviconUrl:pi.optional().nullable()}).strict().optional(),color:tr({brand:si.optional(),brandContrast:si.optional(),background:si.optional(),surface:si.optional(),surfaceRaised:si.optional(),text:si.optional(),textMuted:si.optional(),border:si.optional(),focus:si.optional(),success:si.optional(),warning:si.optional(),error:si.optional()}).strict().optional(),typography:tr({fontFamily:ci.optional(),googleFontFamily:di.optional(),baseSize:Fo().int().min(12).max(18).optional()}).strict().optional(),shape:tr({buttonRadius:Fo().int().min(0).max(24).optional(),inputRadius:Fo().int().min(0).max(24).optional(),cardRadius:Fo().int().min(0).max(28).optional()}).strict().optional(),spacing:tr({density:ti.optional(),controlHeight:Fo().int().min(36).max(56).optional()}).strict().optional(),component:tr({primaryButton:tr({background:si.optional(),text:si.optional()}).strict().optional(),input:tr({background:si.optional(),border:si.optional(),focusRing:li.optional()}).strict().optional(),summary:tr({background:si.optional()}).strict().optional(),paymentMethod:tr({background:li.optional(),cardBackground:li.optional(),border:li.optional(),selectedBackground:li.optional()}).strict().optional(),productCard:tr({background:li.optional(),border:li.optional(),shadow:ui.optional()}).strict().optional(),productImage:tr({background:li.optional(),border:li.optional(),icon:li.optional()}).strict().optional(),brandAvatar:tr({background:li.optional(),text:si.optional(),border:li.optional()}).strict().optional(),pill:tr({background:li.optional(),border:li.optional(),text:si.optional()}).strict().optional(),errorBanner:tr({background:li.optional(),border:li.optional(),text:si.optional()}).strict().optional(),warningBanner:tr({background:li.optional(),border:li.optional(),text:si.optional()}).strict().optional(),radio:tr({idleRing:li.optional(),checkedFill:si.optional(),checkedIcon:si.optional()}).strict().optional(),divider:tr({color:li.optional()}).strict().optional()}).strict().optional(),paymentLink:tr({heroImageUrl:pi.optional().nullable(),heroPosition:oi.optional()}).strict().optional(),embed:tr({launcher:tr({background:li.optional(),text:si.optional(),radius:Fo().int().min(0).max(28).optional(),paddingX:Fo().int().min(8).max(32).optional(),paddingY:Fo().int().min(6).max(24).optional(),shadow:ui.optional()}).strict().optional(),productCard:tr({background:li.optional(),border:li.optional(),imageRadius:Fo().int().min(0).max(24).optional(),padding:Fo().int().min(8).max(32).optional()}).strict().optional(),cart:tr({background:li.optional(),rowBorder:li.optional(),itemSpacing:Fo().int().min(4).max(28).optional()}).strict().optional(),modal:tr({background:li.optional(),radius:Fo().int().min(0).max(32).optional(),maxWidth:Fo().int().min(360).max(960).optional(),shadow:ui.optional()}).strict().optional(),backdrop:tr({color:li.optional(),blur:Fo().int().min(0).max(24).optional(),opacity:Fo().min(0).max(1).optional()}).strict().optional(),skeleton:tr({background:li.optional(),shimmer:li.optional()}).strict().optional(),spinner:tr({color:li.optional()}).strict().optional(),closeButton:tr({style:ri.optional()}).strict().optional(),mobile:tr({layout:ii.optional()}).strict().optional(),content:tr({productDescription:ai.optional(),termsShortcut:ai.optional()}).strict().optional()}).strict().optional()}).strict(),mi=tr({mode:ni.default("system"),fontSource:cr(["curated"]).default("curated")}).strict(),_i=cr(["standalone","bundle","pointer"]),hi=tr({name:vo().trim().min(1).max(80),fingerprint:vo().trim().min(1).max(128)}).strict(),yi=tr({type:pr("shoppex.style_theme"),surface:pr("checkout"),format_version:or([pr(1),pr(2)]),name:vo().trim().min(1).max(80),description:vo().trim().max(240).optional(),embed_design:ei.default("current"),token_schema_version:pr(1),tokens:fi.default({}),custom_css:vo().max(2e4).default(""),settings:mi.default({mode:"system",fontSource:"curated"}),_meta:lr(vo(),Ho()).optional()}).strict(),gi=(tr({type:pr("shoppex.style_theme"),surface:Qr,format_version:or([pr(1),pr(2)]),name:vo().trim().min(1).max(80),description:vo().trim().max(240).optional(),embed_design:ei.default("current"),token_schema_version:pr(1),tokens:fi.default({}),custom_css:vo().max(2e4).default(""),settings:mi.default({mode:"system",fontSource:"curated"}),share_mode:_i.default("standalone"),parent_hint:hi.optional(),bundled_parent:yi.optional(),_meta:lr(vo(),Ho()).optional()}).strict(),tr({theme_id:vo().uuid().nullable(),surface:Qr,embed_design:ei,token_schema_version:pr(1),revision:Fo().int().min(1),tokens:fi,custom_css:vo(),css_variables:lr(vo(),vo())}).strict(),tr({theme_id:vo().uuid().nullable(),parent_theme_id:vo().uuid().nullable(),surface:pr("embed"),embed_design:ei,token_schema_version:pr(1),revision:Fo().int().min(1),parent_revision:Fo().int().min(1).nullable(),tokens:fi,custom_css:vo(),css_variables:lr(vo(),vo())}).strict(),tr({shop_id:vo().uuid(),product_id:vo().uuid().nullable(),product_group_id:vo().uuid().nullable(),payment_link_id:vo().uuid().nullable(),invoice_id:vo().nullable()}).strict(),tr({embed_runtime:vo().min(16).max(128),embed_design:ei,revision:Fo().int().min(1),parent_revision:Fo().int().min(1).nullable(),theme_id:vo().uuid().nullable(),css_variables:lr(vo(),vo()),custom_css:vo()}).strict(),tr({embed_design:ei.optional(),embed_style_revision:function(e){return function(e,t){return new e({type:"number",coerce:!0,checks:[],...W(t)})}(Mo,e)}().int().min(1).optional(),embed_runtime:vo().min(16).max(128).optional(),preview:Wo().optional()}).strict(),cr(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal","live_chat"]),cr(["layout.header.before","layout.header.after","layout.overlay","home.hero.after","home.grid.before","product.buybox.after","layout.footer.before","floating.bottom_right"])),bi=(cr(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal","live_chat"]),vo().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),vi=cr(["static","marquee"]),wi=cr(["brand_blue","emerald","sunset","rose","charcoal","custom"]),Si=cr(["hide","message"]),ki=cr(["compact","comfortable"]),Oi=cr(["subtle","outline","solid"]),Ei=cr(["minimal","boxed"]),xi=cr(["indigo","emerald","amber","rose","slate","custom"]),zi=cr(["compact","feature","alert"]),Ti=cr(["compact","comfortable"]),Ii=cr(["subtle","outline","solid"]),Ai=cr(["sparkles","megaphone","gift","truck","shield","support","none"]),$i=cr(["show","hide"]),Pi=cr(["midnight","ocean","ember","forest","custom"]),Ni=cr(["delay","exit_intent"]),Ci=vo().trim().refine(e=>{if(e.startsWith("/"))return!0;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}},'Use a valid absolute URL or a path starting with "/"'),Ri=vo().trim().refine(e=>{const t=new Date(e);return!Number.isNaN(t.getTime())},"Use a valid date and time"),Ui=tr({text:vo().trim().min(1,"Text is required").max(160,"Text must be 160 characters or fewer"),linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Ci.optional().nullable(),dismissible:Wo().default(!1),displayMode:vi.default("marquee"),themePreset:wi.default("custom"),animationSpeedSeconds:Fo().int().min(8).max(40).default(30),backgroundColor:bi.default("#111827"),textColor:bi.default("#f9fafb")}),qi=tr({text:vo().trim().min(1,"Text is required").max(120,"Text must be 120 characters or fewer"),endAt:Ri,linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Ci.optional().nullable(),dismissible:Wo().default(!1),themePreset:wi.default("brand_blue"),expiredBehavior:Si.default("hide"),expiredMessage:vo().trim().max(120,"Expired message must be 120 characters or fewer").optional().nullable(),density:ki.default("compact"),ctaStyle:Oi.default("subtle"),timerStyle:Ei.default("boxed"),backgroundColor:bi.default("#111827"),textColor:bi.default("#f9fafb")}),Di=tr({eyebrow:vo().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:vo().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),linkLabel:vo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:Ci.optional().nullable(),themePreset:xi.default("indigo"),layoutStyle:zi.default("feature"),density:Ti.default("comfortable"),ctaStyle:Ii.default("outline"),icon:Ai.default("sparkles"),iconVisibility:$i.default("show"),backgroundColor:bi.default("#111827"),textColor:bi.default("#f9fafb"),accentColor:bi.default("#818cf8")}),ji=tr({title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer").default("Recent purchases"),lookbackHours:Fo().int().min(1).max(168).default(24),cooldownSeconds:Fo().int().min(5).max(300).default(20),maxItems:Fo().int().min(1).max(20).default(8),anonymizeMode:cr(["first_name_city","first_name_country","initial_country","anonymous"]).default("first_name_city"),includedProductIds:Qo(vo().min(1)).max(50).default([])}),Li=tr({eyebrow:vo().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:vo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:vo().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),couponCode:vo().trim().min(2,"Coupon code is required").max(40,"Coupon code must be 40 characters or fewer"),primaryButtonLabel:vo().trim().min(1,"Primary button label is required").max(24,"Primary button label must be 24 characters or fewer").default("Copy code"),secondaryButtonLabel:vo().trim().min(1,"Secondary button label is required").max(24,"Secondary button label must be 24 characters or fewer").default("Maybe later"),disclaimer:vo().trim().max(100,"Disclaimer must be 100 characters or fewer").optional().nullable(),themePreset:Pi.default("midnight"),trigger:Ni.default("delay"),delaySeconds:Fo().int().min(0).max(60).default(6),showOncePerSession:Wo().default(!0),reminderHours:Fo().int().min(1).max(720).default(24),backgroundColor:bi.default("#111827"),textColor:bi.default("#f8fafc"),accentColor:bi.default("#7c9cff"),heroImageUrl:Ci.optional().nullable(),discountDisplay:vo().trim().max(24,"Discount display must be 24 characters or fewer").optional().nullable(),expiresAt:Ri.optional().nullable()}),Zi=cr(["hidden","optional"]),Mi=tr({headline:vo().trim().min(1,"Headline is required").max(60,"Headline must be 60 characters or fewer").default("Chat with us"),greeting:vo().trim().min(1,"Greeting is required").max(240,"Greeting must be 240 characters or fewer").default("Hi! Send us a message and we will reply as soon as possible."),inputPlaceholder:vo().trim().min(1,"Placeholder is required").max(80,"Placeholder must be 80 characters or fewer").default("Type your message…"),contactFields:Zi.default("optional"),accentColor:bi.default("#111827"),launcherIconColor:bi.default("#f9fafb")}),Fi=tr({type:pr("announcement_bar"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Ui}),Bi=tr({type:pr("recent_purchase_popup"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:ji}),Ji=tr({type:pr("countdown_bar"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:qi}),Yi=tr({type:pr("promo_info_card"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Di}),Wi=tr({type:pr("coupon_popup_modal"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Li}),Vi=tr({type:pr("live_chat"),slot:gi,enabled:Wo().default(!0),sortOrder:Fo().int().min(0).max(999).default(0),config:Mi}),Hi=(ir("type",[Fi,Ji,Yi,Bi,Wi,Vi]),ir("type",[Fi.extend({id:vo().min(1)}),Ji.extend({id:vo().min(1)}),Yi.extend({id:vo().min(1)}),Bi.extend({id:vo().min(1)}),Wi.extend({id:vo().min(1)}),Vi.extend({id:vo().min(1)})]),new Set(["amount","currency","invoice_id","customer_email","id","email","price","price_usd","product_name","quantity"].map(e=>e.toLowerCase())),lr(vo(),Ho())),Gi=or([vo(),Fo()]),Ki=tr({kind:cr(["address","redirect","embed_pending"]),gateway:vo(),checkout_url:vo().nullable().optional(),address:vo().optional(),amount:vo().optional(),qr_code:vo().optional(),expires_at:vo().optional(),payment_id:vo().optional(),confirmations_needed:Fo().optional()}).passthrough(),Xi=tr({default_value:vo().optional(),min_length:Fo().optional(),name:vo(),placeholder:vo().optional(),regex:vo().optional(),required:Wo(),type:vo()}),Qi=tr({id:vo(),price:Fo(),quantity:Fo(),title:vo()}),ea=tr({currency:vo(),description:vo(),id:vo(),price:Fo(),title:vo(),uniqid:vo()}),ta=tr({addons:Qo(Qi).optional(),available_addons:Qo(Ho()).optional(),cloudflare_image_id:vo().nullable(),created_at:vo().optional(),currency:vo(),custom_fields:Hi.nullable().optional(),custom_fields_config:Qo(Xi).nullable().optional(),delivery_instruction:Ho().optional(),delivery_instruction_config:Ho().optional(),delivery_instruction_label:Ho().optional(),delivery_text:vo().nullable().optional(),delivery_time:Fo().nullable().optional(),delivery_time_unit:cr(["minutes","hours","days"]).nullable().optional(),description:vo().nullable(),discount_percent:Fo().optional(),discount_display:Fo().optional(),discounted_total_display:Fo().optional(),gateways:Qo(vo()).nullable().optional(),id:vo().optional(),image_name:vo().nullable(),image_storage:vo().nullable().optional(),line_item_id:vo().nullable().optional(),pay_what_you_want:Wo().optional(),price:vo().optional(),price_display:Gi,quantity:Fo(),quantity_max:Fo().optional(),quantity_min:Fo().optional(),recurring_interval:vo().nullable().optional(),recurring_interval_count:Fo().nullable().optional(),redirect_link:vo().nullable().optional(),redirect_time:Fo().nullable().optional(),service_text:vo().nullable().optional(),setup_cost:vo().optional(),slug:vo().nullable().optional(),storefront_url:vo().nullable().optional(),status:vo().nullable().optional(),subtype:vo().nullable().optional(),terms_of_service:vo().nullable().optional(),title:vo(),total:Fo(),trial_period:Fo().nullable().optional(),type:vo().nullable().optional(),uniqid:vo().nullable(),unit_price:Fo().optional(),unit_price_display:Gi.optional(),unit_quantity:Fo(),updated_at:vo().optional(),variant_title:vo().nullable().optional(),video_link:vo().nullable().optional(),volume_discounts:Ho().optional(),warranty_days:Fo().nullable().optional(),warranty_text:vo().nullable().optional()}),na=tr({amount:Fo(),gateway:vo()}),oa=tr({custom_tip_enabled:Wo().optional(),enabled:Wo(),preset_percentages:Qo(Fo()).optional()}),ra=tr({allow_partial_payment:Wo().optional(),auto_apply:Wo().optional(),available:vo(),currency:vo()}),ia=tr({affiliate_code:vo().nullable().optional(),already_paid:Gi.nullable().optional(),amount_due:Gi.nullable().optional(),currency:vo().nullable().optional(),discount:Gi.nullable().optional(),discount_label:vo().nullable().optional(),gateway_fee:Gi.nullable().optional(),platform_fee:Gi.nullable().optional(),subtotal:Gi.nullable().optional(),tip:Gi.nullable().optional(),total:Gi.nullable().optional()}),aa=tr({active:Wo(),expires_at:vo()}),sa=tr({faq_url:vo().nullable(),support_email:vo().nullable(),support_url:vo().nullable(),telegram_invite:vo().nullable(),discord_invite_url:vo().nullable()}),la=tr({currency:vo().nullable().optional(),enabled:Wo(),max_amount:Fo().nullable().optional(),min_amount:Fo().nullable().optional(),reason:cr(["BELOW_MIN_AMOUNT","ABOVE_MAX_AMOUNT"]).nullable().optional()}),ua=tr({delivered_items:Qo(Ho()),downloads:Qo(Ho()),external_urls:Qo(Ho()),license_keys:Qo(Ho()),tracking_codes:Qo(Ho())}),ca=tr({active:Wo().optional(),attempt_id:vo().optional(),buyer_actionable:Wo().nullable().optional(),crypto_currency:vo().nullable().optional(),currency:vo().optional(),expected_amount:vo().nullable().optional(),expected_crypto_amount:vo().nullable().optional(),last_checked_at:vo().optional(),missing_amount:vo().nullable().optional(),missing_crypto_amount:vo().nullable().optional(),provider_reference:vo().nullable().optional(),provider_status:vo().nullable().optional(),received_amount:vo().nullable().optional(),received_fiat_estimate:vo().nullable().optional(),received_crypto_amount:vo().nullable().optional(),shortfall_percent:vo().nullable().optional(),buyer_action_reason:cr(["BELOW_MINIMUM_COLLECTIBLE","PROVIDER_SESSION_CLOSED","PROVIDER_TOP_UP_UNSUPPORTED","MERCHANT_REVIEW_REQUIRED"]).nullable().optional()}),da=tr({created_at:vo().nullable(),details:vo().nullable(),id:vo(),invoice_id:vo(),status:vo().nullable()}),pa=tr({billing_address_mode:cr(["INHERIT","REQUIRED","DISABLED"]).optional(),button_label:vo().nullable().optional(),display_name:vo().nullable().optional(),gateway:vo(),hide_provider_attribution:Wo().optional(),icon_url:vo().nullable().optional(),terms_mode:cr(["INHERIT","REQUIRED","DISABLED"]).optional()}),fa=tr({custom_fields:Qo(Ho()).optional(),description:vo().nullable(),display_order:Fo(),icon_preset:vo().nullable(),icon_url:vo().nullable(),id:vo(),instructions:vo().nullable(),is_active:Wo().optional(),name:vo(),payment_type:cr(["INSTRUCTIONS","REDIRECT"]),redirect_url:vo().nullable(),require_proof:Wo(),proof_type:cr(["TEXT","IMAGE","BOTH"]).optional(),void_after_hours:Fo()}),ma=tr({email:tr({masked:vo().nullable(),persisted:Wo(),required_for_provider_session:Wo().optional()})}),_a=tr({amount:vo().nullable(),confirmations:Fo().nullable(),created_at:Fo().optional(),hash:vo().nullable(),status:vo().optional()}),ha=tr({conf:tr({partial:Fo().optional(),void:Fo(),waiting_for_confirmations:Fo().optional()}),gateways:Qo(vo())}),ya=tr({invoice_payable:Wo(),resumable:Wo(),resumable_gateway:vo().nullable(),gateway:vo().nullable().optional(),crypto_gateway:vo().nullable().optional(),processor:vo().nullable().optional(),flow_type:vo().nullable().optional(),status:vo().nullable().optional(),provider_reference:vo().nullable().optional(),provider_reference_type:vo().nullable().optional(),capture_id:vo().nullable().optional(),manual_confirmation_pending:Wo().optional(),payment_method_switch_locked:Wo().optional(),awaiting_payment_method:Wo().optional(),started_at:Fo().nullable().optional(),completed_at:Fo().nullable().optional()}),ga=ya.extend({gateway:vo().nullable(),flow_type:vo().nullable(),status:vo().nullable(),manual_confirmation_pending:Wo(),payment_method_switch_locked:Wo()}),ba=tr({theme_id:vo().nullable(),surface:cr(["checkout","payment_link","embed"]),embed_design:cr(["current","clean-light","clean-dark","v2","v3"]),token_schema_version:pr(1),revision:Fo(),tokens:Hi,custom_css:vo(),css_variables:lr(vo(),vo())}),va=tr({link_id:vo(),source_gateway:vo().nullable(),invoice_uniqid:vo(),deprioritize_source_gateway:Wo().optional()}),wa=tr({enabled:Wo(),required:Wo(),connected:Wo()}),Sa=tr({gateway:vo().nullable().optional(),active_type:vo().nullable().optional(),percent_amount:Gi.nullable().optional(),fixed_amount:Gi.nullable().optional(),fixed_currency:vo().nullable().optional()}),ka=tr({id:vo(),type:cr(["WALLET_CREDIT","COUPON"]),status:cr(["PENDING","FULFILLED","FAILED","REVOKED"]),amount:vo().nullable(),currency:vo().nullable(),coupon_code:vo().nullable(),reason:cr(["ORDER_COMPLETED","ORDER_COUNT_REACHED","SPEND_AMOUNT_REACHED","POSITIVE_REVIEW_LEFT","FIRST_PURCHASE_COMPLETED"]),trigger_reference_type:vo(),trigger_reference_id:vo(),created_at:Fo(),fulfilled_at:Fo().nullable(),expires_at:Fo().nullable()}),Oa=tr({summary:tr({available:vo(),pending:vo(),lifetime_earned:vo(),redeemed:vo().nullable(),currency:vo()}),activity:Qo(ka),earned_after_invoice:Qo(ka),pending_after_invoice:Qo(ka)}),Ea=tr({already_paid_amount:Gi.nullable().optional(),apm_method:vo().nullable().optional(),blockchain:vo().nullable(),buyer_identity:ma.nullable().optional(),checkout_tipping:oa.nullable().optional(),country_regulations:vo().nullable().optional(),coupon_applied:Wo().optional(),crypto_mode:vo().nullable().optional(),crypto_transactions:Qo(_a).optional(),currency:vo().nullable(),custom_fields:Hi.nullable().optional(),custom_gateways:Qo(fa).optional(),customer_balance:ra.nullable().optional(),customer_email_masked:vo().nullable().optional(),dark_mode:or([pr(0),pr(1)]).optional(),delivery:ua.optional(),delivery_info:ua.optional(),discount:Fo().optional(),discount_display:Gi.optional(),eligible_gateways:Qo(vo()).optional(),environment:vo().optional(),fee_breakdown:Hi.nullable().optional(),gateway:vo().nullable(),gateway_data:Hi.nullable().optional(),gateway_eligibility:lr(vo(),la).optional(),gateway_fee_previews:Qo(na).optional(),gateways_available:Qo(vo()),license:or([Hi,pr(!1)]).optional(),name:vo().nullable(),paddle_token:vo().nullable().optional(),paddle_transaction_id:Ho().optional(),payment_link_id:vo().nullable().optional(),payment_method_overrides:Qo(pa).optional(),payment_session_state:ya.nullable().optional(),polling:aa,pricing_breakdown:ia.nullable().optional(),product:Qo(ta).optional(),quantity:Fo().nullable(),rates_snapshot:lr(vo(),Fo()).optional(),remaining_amount:Gi.nullable().optional(),selected_gateway:vo().nullable().optional(),shop_checkout_ambient_color:vo().nullable().optional(),shop_cloudflare_image_id:vo().nullable(),shop_domain:vo().nullable().optional(),shop_force_paypal_email_delivery:or([pr(0),pr(1)]).optional(),shop_image_name:vo().nullable(),shop_image_storage:vo().nullable().optional(),shop_payment_gateways_fees:Qo(Hi).optional(),shop_paypal_credit_card:or([pr(0),pr(1)]).optional(),shop_return_url:vo().nullable().optional(),shop_slug:vo().nullable().optional(),shop_terms_enabled:Wo().optional(),shop_terms_of_service:vo().nullable().optional(),shop_terms_url:vo().nullable().optional(),shop_privacy_policy_url:vo().nullable().optional(),shop_refund_policy_url:vo().nullable().optional(),shop_walletconnect_id:vo().nullable().optional(),status:vo().nullable(),status_history:Qo(da).optional(),status_history_legacy:Qo(da).optional(),status_history_raw:Qo(da).optional(),stripe_publishable_key:vo().nullable().optional(),stripe_user_id:vo().nullable().optional(),subtotal:Fo().optional(),subtype:vo().nullable().optional(),support:sa.optional(),theme:vo().optional(),tip_amount:Gi.nullable().optional(),tip_amount_display:Gi.nullable().optional(),tip_metadata:Ho().optional(),total:Gi,total_conversions:Hi.optional(),total_display:Gi,type:vo().nullable(),underpayment:ca.nullable().optional(),underpayment_status:vo().nullable().optional(),uniqid:vo(),void_times:Qo(ha).optional(),addons:Ho().optional(),affiliate_data:Ho().optional(),affiliate_revenue_customer_id:vo().nullable().optional(),bill_info:Ho().optional(),binance_checkout_url:vo().nullable().optional(),binance_invoice_id:vo().nullable().optional(),binance_qrcode:vo().nullable().optional(),bundle_config:Ho().optional(),bundles:Ho().optional(),cashapp_cashtag:vo().nullable().optional(),cashapp_note:vo().nullable().optional(),cashapp_qrcode:vo().nullable().optional(),created_at:vo().optional(),crypto_address:vo().nullable().optional(),crypto_amount:Gi.optional(),crypto_confirmations_needed:Fo().nullable().optional(),crypto_exchange_rate:Gi.nullable().optional(),crypto_received:Gi.optional(),crypto_uri:vo().nullable().optional(),developer_invoice:Ho().optional(),developer_return_url:vo().nullable().optional(),developer_title:vo().nullable().optional(),exchange_rate:Gi.nullable().optional(),external_order_id:vo().nullable().optional(),lex_order_id:vo().nullable().optional(),lex_payment_method:vo().nullable().optional(),paydash_payment_id:vo().nullable().optional(),paypal_apm:vo().nullable().optional(),paypal_email_delivery:Wo().optional(),paypal_fee:Gi.nullable().optional(),paypal_order_id:vo().nullable().optional(),paypal_payer_email:vo().nullable().optional(),paypal_subscription_id:vo().nullable().optional(),paypal_subscription_link:vo().nullable().optional(),perfectmoney_id:vo().nullable().optional(),product_addons:Ho().optional(),product_id:vo().nullable().optional(),product_title:vo().nullable().optional(),product_type:vo().nullable().optional(),product_variants:Ho().optional(),recurring_billing_id:vo().nullable().optional(),skrill_link:vo().nullable().optional(),skrill_sid:vo().nullable().optional(),status_details:Ho().optional(),stripe_apm:vo().nullable().optional(),stripe_client_secret:vo().nullable().optional(),stripe_id:vo().nullable().optional(),stripe_price_id:vo().nullable().optional(),subscription:Ho().optional(),subscription_id:vo().nullable().optional(),sumup_id:vo().nullable().optional(),telegram_stars_payment_link:vo().nullable().optional(),telegram_stars_payment_note:vo().nullable().optional(),updated_at:vo().optional(),virtual_payments_id:vo().nullable().optional(),void_details:Ho().optional()}).catchall(Ho()),xa=ta.extend({available_addons:Qo(ea).optional(),delivery_instructions:vo().nullable().optional(),delivery_instructions_config:tr({enabled:pr(!0),required:Wo(),label:vo(),placeholder:vo().nullable().optional(),help_text:vo().nullable().optional(),max_length:Fo()}).nullable().optional(),delivery_instructions_label:vo().nullable().optional(),image_url:vo().nullable().optional(),redirectLink:vo().nullable().optional(),redirectTime:Fo().nullable().optional(),serviceText:vo().nullable().optional()}),za=(tr({data:tr({invoice:Ea.extend({uniqid:vo().uuid(),shop_id:or([vo(),Fo()]).nullable(),customer_email:vo().nullable(),checkout_style:ba.nullable().optional(),coupon_id:vo().nullable().optional(),discount_breakdown:Hi.nullable().optional(),affiliate_code:vo().nullable().optional(),country:vo().nullable().optional(),paypal_email:vo().nullable().optional(),pandabase_available_payment_methods:Qo(vo()).optional(),payment_rescue:va.nullable().optional(),discord_integration:wa.nullable().optional(),payment_session_state:ga.nullable().optional(),shop_payment_gateways_fees:Qo(Sa).optional(),product:Qo(xa).optional(),products:Qo(xa).optional(),rewards:Oa.nullable().optional()}).superRefine((e,t)=>{void 0===e.product&&void 0===e.products&&t.addIssue({code:"custom",message:"Embed checkout invoice must include product or products.",path:["product"]})}),invoice_url:vo().nullable(),checkout_url:vo().nullable(),selected_gateway:vo().nullable(),session_started:Wo(),payment_session:Ki.nullable(),completion_access_grant:vo().nullable()}).passthrough()}).passthrough(),3),Ta=2,Ia={maximumFractionDigits:3};function Aa(e){if(!Number.isFinite(e))return e;const t=e<0?-1:1,n=$a(Math.abs(e),2),o=Math.round(n);return 0===o?0:t*$a(o,-2)}function $a(e,t){const[n,o="0"]=String(e).split("e");return Number(`${n}e${Number(o)+t}`)}var Pa=vo().nullable(),Na=lr(vo(),Ho()),Ca=tr({logo_url:Pa,primary_color:vo(),secondary_color:vo(),accent_color:vo()}),Ra=tr({attachment_image_id:tr({cloudflare_image_id:Pa}).nullable()}),Ua=tr({attachment_imageId:tr({cloudflareImageId:Pa}).nullable()}),qa=tr({uniqid:vo(),status:vo(),total:vo(),total_display:Pa,currency:vo(),created_at:vo(),line_items:Qo(tr({product_title:Pa,quantity:Fo(),product:Ra.nullable()}))}),Da=tr({uniqid:vo(),status:vo(),total:vo(),totalDisplay:Pa,currency:vo(),createdAt:vo(),lineItems:Qo(tr({productTitle:Pa,quantity:Fo(),product:Ua.nullable()}))}),ja=tr({invoices:Qo(Da),pagination:tr({page:Fo(),limit:Fo(),total:Fo(),has_more:Wo()})}),La=tr({gateway:vo(),displayName:Pa,cryptoGateway:Pa.optional(),blockchain:Pa,cryptoAddress:Pa,apmMethod:Pa}),Za=tr({id:vo(),uniqid:vo(),status:vo(),statusDetails:Pa,total:vo(),totalDisplay:Pa,subtotal:vo(),discount:vo(),discountDisplay:Pa,tax:vo(),taxPercentage:vo(),currency:vo(),createdAt:vo(),updatedAt:vo(),gatewayUpdatedAt:Pa,customFields:Na.nullable(),balancePaidAmount:vo(),currentPaymentAttemptId:Pa,lineItems:Qo(tr({id:vo(),productTitle:vo(),productType:vo(),variantTitle:Pa,unitPrice:vo(),quantity:Fo(),total:vo(),deliveryText:Pa,deliverySummary:tr({codes:Qo(vo()),links:Qo(tr({label:vo(),value:vo(),href:Pa.optional()})),notes:Qo(vo()),serials:Qo(tr({value:vo(),is_replacement:Wo(),is_replaced:Wo()}))}).nullable(),deliveredAt:Pa,deliveryStatus:cr(["PENDING","AWAITING_FULFILLMENT","DELIVERED","FAILED"]),customFields:Na.nullable(),product:tr({uniqid:vo(),slug:Pa,serviceText:Pa,attachment_imageId:tr({cloudflareImageId:Pa}).nullable()}).nullable()})),currentPayment:La.nullable(),payments:Qo(La)}),Ma=(tr({quote:tr({enabled:Wo(),currency:vo(),min_amount:vo(),max_amount:Pa,bonus_tiers:Qo(tr({min_amount:vo(),bonus_percent:Fo()}))})}),tr({invoice_id:vo(),url:vo()}),tr({id:vo(),type:vo(),status:vo(),amount:Pa,currency:Pa,coupon_code:Pa,reason:vo(),trigger_reference_type:vo(),trigger_reference_id:vo(),created_at:Fo(),fulfilled_at:Fo().nullable(),expires_at:Fo().nullable()})),Fa=tr({summary:tr({available:vo(),pending:vo(),lifetime_earned:vo(),redeemed:Pa,currency:vo()}),activity:Qo(Ma),earned_after_invoice:Qo(Ma),pending_after_invoice:Qo(Ma)}),Ba=tr({id:vo(),uniqid:vo(),label:Pa,code:vo(),url:Pa,status:cr(["pending","active","inactive","rejected"]),is_primary:Wo(),total_clicks:Fo(),total_sales:Fo(),total_revenue:vo(),is_active:Wo(),is_approved:Wo(),requested_affiliate_revenue_percent:Fo().nullable(),requested_affiliate_customer_discount_percent:Fo().nullable(),affiliate_revenue_percent_override:Fo().nullable(),affiliate_customer_discount_percent_override:Fo().nullable(),effective_commission_percent:Fo(),effective_customer_discount_percent:Fo(),commission_shareback_percent:Fo(),commission_shareback_enabled:Wo(),max_commission_shareback_percent:Fo(),created_at:Pa,updated_at:Pa}),Ja=tr({customer:tr({id:vo(),email:vo(),name:Pa}).nullable(),state:vo(),can_create_custom_links:Wo(),custom_link_request_disabled_reason:Pa,custom_links_require_approval:Wo(),affiliate_codes_accepted_at_checkout:Wo(),cash_payout_enabled:Wo(),links:Qo(Ba),preferred_payout:tr({asset:vo(),network:vo(),address:vo()}).nullable(),balance_currency:vo(),balances:tr({pending:vo(),available:vo(),requested:vo(),converted:vo(),paid:vo(),approved_total:vo()}),commissions:Qo(tr({id:vo(),invoice_id:vo(),commission_amount:vo(),base_amount:vo(),discount_amount:vo(),status:vo(),created_at:Pa,paid_at:Pa,converted_at:Pa})),claims:Qo(tr({id:vo(),type:vo(),status:vo(),amount:vo(),currency:vo(),allocations:Qo(tr({source_type:vo(),commission_id:Pa,adjustment_id:Pa,amount:vo()})),wallet_transaction_id:Pa,payout_asset:Pa,payout_network:Pa,payout_address:Pa,note:Pa,metadata:Ho(),completed_at:Pa,rejected_at:Pa,cancelled_at:Pa,created_at:Pa,updated_at:Pa}))}),Ya=tr({uniqid:vo(),status:vo(),gateway:vo(),current_period_start:vo(),current_period_end:vo(),trial_end:Pa,cancel_at_period_end:Wo(),canceled_at:Pa,created_at:vo(),plan:tr({id:vo(),uniqid:vo(),name:vo(),price:vo(),currency:vo(),interval:vo(),interval_count:Fo(),trial_days:Fo()}).nullable(),payment_method:tr({id:vo(),gateway:vo(),type:vo(),card_brand:Pa,card_last4:Pa,card_exp_month:Fo().nullable(),card_exp_year:Fo().nullable(),is_default:Wo()}).nullable(),actions:tr({can_pause:Wo(),can_resume:Wo(),can_cancel:Wo(),can_manage_payment_method:Wo()})}),Wa=tr({enabled:Wo(),account:tr({points_balance:Fo(),lifetime_points:Fo()}).nullable(),settings:tr({earn_rate_per_usd:Fo(),redeem_value_per_point:Fo(),min_redeem_points:Fo()}).nullable(),transactions:Qo(tr({type:cr(["EARN_ORDER","EARN_REVIEW","REDEEM","ADJUST"]),points:Fo(),balance_after:Fo(),description:Pa,created_at:vo()}))}),Va=tr({redeemed_points:Fo(),wallet_amount:vo(),currency:vo(),points_balance:Fo(),replayed:Wo()}),Ha=tr({uniqid:vo(),invoice_uniqid:vo(),product_title:vo(),period_days:Fo(),starts_at:vo(),expires_at:vo(),status:cr(["ACTIVE","EXPIRED","VOIDED"]),claim_status:cr(["REQUESTED","APPROVED","DENIED"]).nullable(),created_at:vo()}),Ga=tr({warranties:Qo(Ha)}),Ka=tr({warranty:Ha.extend({claim_status:pr("REQUESTED")})}),Xa=tr({shop:tr({id:vo(),slug:vo(),name:vo(),currency:vo(),branding:Ca}),customer:tr({email:vo(),name:vo()}),stats:tr({invoices_count:Fo(),licenses_count:Fo(),deliverables_count:Fo(),tickets_count:Fo()}),wallet:tr({available:vo(),total:vo(),hold:vo(),currency:vo(),enabled:Wo()}).nullable(),rewards:Fa,affiliate:Ja,invoices:Qo(qa),subscriptions:Qo(Ya),licenses:Qo(tr({uniqid:vo(),invoice_id:vo(),status:vo(),license_key:vo(),hardware_id:Pa,expires_at:Fo().nullable(),renewable:Wo(),product:tr({title:vo().optional()}).optional()})),deliverables:Qo(tr({id:vo(),invoice_uniqid:vo(),product_title:vo(),kind:cr(["file","serial","license"]),label:vo(),value:vo(),href:Pa,created_at:vo()})),tickets:Qo(tr({uniqid:vo(),title:vo(),status:vo(),updated_at:vo(),created_at:Pa}))});var Qa=null,es=null;var ts=null,ns=null;function os(e,t){const n=t?.shopId?.trim();ns=n||null;const r=ts?.locale;return r!==(ts={storeSlug:e,locale:t?.locale,currency:t?.currency,apiBaseUrl:t?.apiBaseUrl??"https://api.shoppex.io",checkoutBaseUrl:t?.checkoutBaseUrl??"https://checkout.shoppex.io"}).locale&&o(),Qa=null,es=null,ts}function rs(){if(!ts)throw new s;return ts}function is(){return null!==ts}function as(e){ns=e}function ss(){return ns}function ls(e){return function(e){if(Array.isArray(e))return e;if("string"==typeof e){try{const t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&"object"==typeof t){const e=t.custom_fields??t.customFields;return Array.isArray(e)?e:[]}}catch{return[]}return[]}if(e&&"object"==typeof e){const t=e.custom_fields??e.customFields;return Array.isArray(t)?t:[]}return[]}(e).filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)).map(e=>{const t="string"==typeof e.type?e.type.trim().toLowerCase():"text",n=t.length>0?t:"text",o=[e.default_value,e.default,e.value].find(e=>"string"==typeof e&&e.trim().length>0);return{name:"string"==typeof e.name?e.name.trim():"",type:n,required:!0===e.required||"true"===e.required||1===e.required||"1"===e.required,defaultValue:"string"==typeof o?o:"",placeholder:"string"==typeof e.placeholder?e.placeholder:"",regex:"string"==typeof e.regex?e.regex:void 0}}).filter(e=>e.name.length>0&&"hidden"!==e.type)}function us(e){const t=e?.trim().toLowerCase()??"";return"true"===t||"1"===t||"yes"===t||"on"===t}function cs(e,t){if("checkbox"===e.type)return e.required&&!us(t)?`${e.name} is required.`:null;const n=t.trim();if(e.required&&!n)return`${e.name} is required.`;if(e.regex&&n)try{if(!new RegExp(e.regex).test(n))return`${e.name} has an invalid format.`}catch{return null}return null}function ds(e,t){const n={};return e.forEach(e=>{const o=t[e.name]??e.defaultValue??"";if("checkbox"===e.type)return void(us(o)&&(n[e.name]="true"));const r=o.trim();r.length>0&&(n[e.name]=r)}),n}var ps=-1;function fs(e,t,n){return!0!==t?e:!0===n?ps:0!==e?e:ps}function ms(e){return"number"==typeof e&&Number.isFinite(e)?Math.trunc(e):null}function _s(e){if(!0===e)return!0;if("number"==typeof e&&Number.isFinite(e))return 0!==e;if("string"==typeof e){const t=e.trim().toLowerCase();return"true"===t||"1"===t}return!1}function hs(e){return fs(ms(e?.stock)??ps,e?.orderable,e?.supplier_backed)}function ys(e){if(!e)return ps;if("string"==typeof e.type&&"SERIALS"===e.type.toUpperCase())return fs(ms(e.stock)??ps,e.orderable,e.supplier_backed);const t=function(e){const t=Array.isArray(e.price_variants)?e.price_variants:[];return t.length>0?t.map(e=>hs(e)):(Array.isArray(e.variants)?e.variants:[]).map(e=>hs(e))}(e);return t.length>0?t.some(e=>e<0)?ps:fs(t.reduce((e,t)=>e+Math.max(t,0),0),e.orderable,e.supplier_backed):fs(ms(e.stock)??ps,e.orderable,e.supplier_backed)}function gs(e){return!!function(e){return!!e&&(_s(e.on_hold)||_s(e.onHold)||_s(e.is_on_hold)||_s(e.isOnHold))}(e)||0===ys(e)}function bs(e){return!gs(e)}function vs(e){return 0===hs(e)}function ws(e=[]){const t=/* @__PURE__ */new Map;for(const n of e)n?.uniqid&&!t.has(n.uniqid)&&t.set(n.uniqid,n);return t}function Ss(e,t=[]){const n=t instanceof Map?t:ws(t);return(e.product_uniqids??[]).flatMap(e=>{const t=n.get(e);return t?[t]:[]})}function ks(e=[]){return Array.from(ws(e).values())}function Os(e){return e?e.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim():""}function Es(e){return e.trim().toLowerCase()}function xs(e,t){const n=Os(t).toLowerCase();n&&e.push(n)}function zs(e){const t=[];xs(t,e.title),xs(t,e.slug??void 0),xs(t,e.description);for(const n of e.product_highlights??[])xs(t,n);for(const n of e.variants??[])xs(t,n.title);for(const n of e.price_variants??[])xs(t,n.title??n.label);return t}function Ts(e,t){const n=Es(t);return!!n&&zs(e).some(e=>e.includes(n))}function Is(e,t){const n=Es(t);if(!n)return!1;const o=Os(e.title).toLowerCase(),r=Os(e.slug??e.name??void 0).toLowerCase(),i=Os(e.description).toLowerCase();return o.includes(n)||r.includes(n)||i.includes(n)}function As(e,t,n){const o=Es(t);if(!o)return[];let r=e.filter(e=>Ts(e,o));return n?.hideOutOfStock&&(r=r.filter(e=>bs(e))),null!=n?.maxResults?r.slice(0,n.maxResults):r}function $s(e,t){return 0!==e.length&&(!t||e.some(e=>bs(e)))}function Ps(e,t,n,o){const r=Es(n);if(!r)return[];const i=!0===o?.hideOutOfStock,a=/* @__PURE__ */new Set,s=/* @__PURE__ */new Set,l=[],u=ws(e);for(const d of t){const e=d.uniqid??d.id;if(!e||s.has(e))continue;if(!Is(d,r))continue;const t=Ss(d,u);if($s(t,i)){s.add(e);for(const e of t)e?.uniqid&&a.add(e.uniqid);l.push({type:"group",group:d,products:t})}}const c=ks(e);for(const d of c)d?.uniqid&&!a.has(d.uniqid)&&Ts(d,r)&&(i&&!bs(d)||(a.add(d.uniqid),l.push({type:"product",product:d})));return null!=o?.maxResults?l.slice(0,o.maxResults):l}function Ns(e,t,n,o){const r=Ps(e,t,n,o),i=/* @__PURE__ */new Set,a=[],s=e=>{e?.uniqid&&!i.has(e.uniqid)&&(o?.hideOutOfStock&&!bs(e)||(i.add(e.uniqid),a.push(e)))};for(const l of r)if("product"!==l.type)for(const e of l.products)s(e);else s(l.product);return null!=o?.maxResults?a.slice(0,o.maxResults):a}function Cs(e){if(e?.apiBaseUrl?.trim())return e.apiBaseUrl.replace(/\/+$/,"");const t=e?.hostname??("undefined"!=typeof window?window.location.hostname:"");if(t&&!function(e){if("localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost"))return!0;if(/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!0;if(/^192\.168\.\d{1,3}\.\d{1,3}$/.test(e))return!0;const t=e.match(/^172\.(\d{1,2})\.\d{1,3}\.\d{1,3}$/);if(t){const e=Number(t[1]);return e>=16&&e<=31}return!1}(t))return"https://api.shoppex.io";if("undefined"!=typeof window){const e=window.apiBaseUrl;if("string"==typeof e&&e.trim())return e.replace(/\/+$/,"")}return"http://localhost:3001".replace(/\/+$/,"")}function Rs(e){const t=e.name?.trim()??"",n=`${t?`Name: ${t}\n\n`:""}${e.message.trim()}`,o=e.maxLength??2e3;return n.slice(0,o)}async function Us(e){const t=e.shopSlug.trim();if(!t)throw new Error("Store data is not ready yet. Please try again in a moment.");const n=e.email.trim().toLowerCase(),o=e.title?.trim()??"",r=o.length>=2?o.slice(0,30):"Contact Request",i=Rs({name:e.name,message:e.message}),a=e.invoiceId?.trim()||void 0,s=Cs({apiBaseUrl:e.apiBaseUrl}),l=await fetch(`${s}/v1/storefront/shops/name/${encodeURIComponent(t)}/tickets`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({email:n,title:r,message:i,...a?{invoice_id:a}:{}})}),u=await l.json().catch(()=>null);if(!l.ok)throw new Error(u?.message||u?.error||"Failed to send your message.");const c=u?.data?.uniqid;if(!c)throw new Error("Ticket created, but the response was incomplete.");return{uniqid:c}}function qs(e){return{discord:e?.discord_link??e?.social?.discord??null,telegram:e?.telegram_link??e?.social?.telegram??null}}var Ds=/:([A-Za-z0-9_]+)/g;function js(e,t){return e.replace(Ds,(e,n)=>{const o=t[n];if(null==o)throw new Error(`Missing endpoint param: ${n}`);const r=String(o).trim();if(!r)throw new Error(`Endpoint param "${n}" must not be empty`);return encodeURIComponent(r)})}function Ls(e){return`shoppex_${e}`}function Zs(e){try{const t=localStorage.getItem(Ls(e));return t?JSON.parse(t):null}catch{return null}}function Ms(e,t){try{localStorage.setItem(Ls(e),JSON.stringify(t))}catch{console.warn("[shoppex] Failed to save to localStorage")}}function Fs(e){try{localStorage.removeItem(Ls(e))}catch{}}function Bs(e){if("undefined"==typeof window)return null;const t=`presence_connection_${e}`,n=Zs(t);if(n&&n.trim())return n;const o="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`spx_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`;return Ms(t,o),o}async function Js(e){if(!is())return;if("undefined"==typeof window)return;if(function(e){const t=`client_error_${function(e){return[e.method,e.endpoint,e.statusCode??"none",e.message.trim().toLowerCase(),e.responseReceived?"response":"no-response"].join("|")}(e)}`,n=Date.now(),o=Zs(t);return"number"==typeof o&&n-o<15e3||(Ms(t,n),!1)}(e))return;const t=rs(),n=ss(),o=n?js("/v1/storefront/shops/id/:id/ping",{id:n}):js("/v1/storefront/shops/:storeSlug/ping",{storeSlug:t.storeSlug}),r=JSON.stringify({event_type:"client_error",referer:document.referrer||void 0,connection_id:Bs(t.storeSlug)??void 0,client_error:{source:e.source??"sdk",phase:e.phase??"request",endpoint:e.endpoint,method:e.method,message:e.message,status_code:e.statusCode,attempt_count:e.attemptCount,response_received:e.responseReceived??!1,page_url:e.pageUrl??window.location.href,request_url:e.requestUrl,online:e.online??("undefined"!=typeof navigator?navigator.onLine:void 0),visibility_state:e.visibilityState??("undefined"!=typeof document?document.visibilityState:void 0)}}),i=`${t.apiBaseUrl}${o}`;try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){const e=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(i,e))return}await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0})}catch{}}var Ys=1e4;async function Ws(e){return new Promise(t=>setTimeout(t,e))}async function Vs(e,t={}){const n=t.baseUrl?null:rs(),o=n??(is()?rs():null),{method:r="GET",body:s,timeout:c=Ys,retries:d,baseUrl:p,cache:f}=t,m=d??("GET"===r?2:0),_=`${p??n?.apiBaseUrl??""}${e}`,h={"Content-Type":"application/json",Accept:"application/json"};"string"==typeof o?.locale&&o.locale.trim()&&(h["x-shoppex-locale"]=o.locale.trim());let y=null;const g=async()=>{for(let t=0;t<=m;t++)try{const e=new AbortController,t=setTimeout(()=>e.abort(),c),n=await fetch(_,{method:r,headers:h,body:s?JSON.stringify(s):void 0,signal:e.signal});clearTimeout(t);const o=await Hs(n);if(!n.ok){const e=n.statusText?`HTTP ${n.status}: ${n.statusText}`:`HTTP ${n.status}`,t=(o.data&&"object"==typeof o.data&&"error"in o.data&&"string"==typeof o.data.error?o.data.error:null)??(o.data&&"object"==typeof o.data&&"message"in o.data&&"string"==typeof o.data.message?o.data.message:null)??o.rawText??e,r=Ks(o.data);if(r.code)throw new u(t,r.code,n.status,r.errorParams);throw new l(t,n.status)}if(204===n.status&&null===o.data)return{success:!0};if(!o.data||"object"!=typeof o.data||!("status"in o.data))throw new l("Invalid API response",n.status);return Gs(o.data)}catch(e){let n=e instanceof Error?e:new Error(String(e));e instanceof DOMException&&"AbortError"===e.name&&(n=new l("Request timeout",408));const o=n instanceof a?n.statusCode:void 0;if(y={message:n.message,statusCode:o,isTransport:void 0===o||408===o,...n instanceof u?{code:n.code,...n.errorParams?{errorParams:n.errorParams}:{}}:{}},n instanceof u&&void 0!==o&&o>=400&&o<500&&408!==o)break;if(t<m){await Ws(500*Math.pow(2,t));continue}}return{success:!1,message:y?.message??"Unknown error",...y?.code?{code:y.code}:{},...y?.errorParams?{errorParams:y.errorParams}:{}}},b="GET"===r&&f&&f.ttl>0?await i(f.key??`GET:${_}`,g,{ttl:f.ttl,staleWhileRevalidate:f.staleWhileRevalidate},e=>e.success):await g(),v=y;return!b.success&&v?.isTransport&&await Js({endpoint:e,method:r,message:b.message??v.message,statusCode:v.statusCode,attemptCount:m+1,requestUrl:_,responseReceived:void 0!==v.statusCode&&408!==v.statusCode}),b}async function Hs(e){const t=e;if("function"!=typeof t.text){if("function"==typeof t.json)try{return{data:await t.json(),rawText:null}}catch{return{data:null,rawText:null}}return{data:null,rawText:null}}try{const e=await t.text();if(!e)return{data:null,rawText:null};try{return{data:JSON.parse(e),rawText:null}}catch{const t=e.trim();return{data:null,rawText:t.length>0?t:null}}}catch{return{data:null,rawText:null}}}function Gs(e){return e.status>=200&&e.status<300?{success:!0,data:e.data,...e.message?{message:e.message}:{}}:{success:!1,message:e.error??e.message??`Request failed with status ${e.status}`,...Ks(e)}}function Ks(e){if(!e||"object"!=typeof e)return{};const t=e,n="string"==typeof t.error_code&&t.error_code.length>0?t.error_code:null;if(!n)return{};const o=t.error_params;return{code:n,...o&&"object"==typeof o&&!Array.isArray(o)?{errorParams:o}:{}}}async function Xs(e,t){return Vs(e,{...t,method:"GET"})}async function Qs(e,t,n){return Vs(e,{...n,method:"POST",body:t})}var el=3e5;async function tl(){const e=rs(),t=await Xs(js("/v1/storefront/shops/name/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`store:${e.storeSlug}`,ttl:el,staleWhileRevalidate:!0}});return t.success&&t.data?(t.data.shop?.id&&as(t.data.shop.id),{success:!0,data:t.data.shop}):{success:!1,message:t.message}}async function nl(e){const t=rs(),n=new URLSearchParams;Number.isFinite(e?.productsLimit)&&n.set("products_limit",String(Math.max(1,Math.floor(e?.productsLimit??0)))),"string"==typeof e?.productsCursor&&e.productsCursor.trim().length>0&&n.set("products_cursor",e.productsCursor);const o=n.size>0?`?${n.toString()}`:"",r=await Xs(`${js("/v1/storefront/shops/name/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`storefront:${t.storeSlug}:${e?.productsLimit??"full"}:${e?.productsCursor??"start"}`,ttl:el,staleWhileRevalidate:!0}});return r.success&&r.data?(r.data.shop?.id&&as(r.data.shop.id),{success:!0,data:{shop:r.data.shop,products:r.data.products??[],products_pagination:r.data.products_pagination??null,groups:r.data.groups??[],items:r.data.items??[],categories:r.data.categories??[],addons:r.data.addons??{items:[]}}}):{success:!1,message:r.message}}var ol=12e4;function rl(e){if(e.variants&&e.variants.length>0)return e;const t=e.price_variants;return Array.isArray(t)&&0!==t.length?{...e,variants:t.map(e=>function(e){return{id:e.id,title:e.title??e.label??"",price:"number"==typeof e.price?e.price:Number(e.price)||0,stock:"number"==typeof e.stock?e.stock:void 0,orderable:"boolean"==typeof e.orderable?e.orderable:void 0,supplier_backed:"boolean"==typeof e.supplier_backed?e.supplier_backed:void 0,quantity_min:e.quantity_min,quantity_max:e.quantity_max,quantityMin:e.quantityMin,quantityMax:e.quantityMax,image_id:e.image_id,imageId:e.imageId,cloudflare_image_id:e.cloudflare_image_id,cloudflareImageId:e.cloudflareImageId,image_url:e.image_url,imageUrl:e.imageUrl}}(e))}:e}async function il(){const e=rs(),t=await Xs(js("/v1/storefront/products/public/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`products:${e.storeSlug}`,ttl:ol,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:ks(t.data.products.map(rl))}:{success:!1,message:t.message,data:[]}}var al="shoppex:affiliate_code:v1";function sl(){return Date.now()}function ll(e){const t=e?.trim().toLowerCase();return t||null}function ul(e,t=30){const n=ll(e);return n?(function(e){if("undefined"!=typeof window)try{window.localStorage.setItem(al,JSON.stringify(e))}catch{}}({code:n,expiresAt:sl()+(o=t,24*Math.max(1,o)*60*60*1e3)}),n):(cl(),null);var o}function cl(){if("undefined"!=typeof window)try{window.localStorage.removeItem(al)}catch{}}function dl(){const e=function(){if("undefined"==typeof window)return null;try{const e=window.localStorage.getItem(al);if(!e)return null;const t=JSON.parse(e);return t&&"string"==typeof t.code&&"number"==typeof t.expiresAt?t:null}catch{return null}}();return e?e.expiresAt<=sl()?(cl(),null):ll(e.code):null}async function pl(e){const t=ll(e);if(!t)return{success:!1,data:{valid:!1,affiliate_code:null,discount_active:!1,discount_percent:0},message:"Affiliate code is required"};const n=rs(),o=await Qs("/v1/storefront/affiliates/resolve",{shop_slug:n.storeSlug,code:t},{retries:0});if(!o.success)return o;if(!o.data?.valid||!o.data.affiliate_code){const e=!1===o.data?.program_enabled;return{success:!1,data:{valid:!1,...void 0!==o.data?.program_enabled?{program_enabled:o.data.program_enabled}:{},affiliate_code:null,discount_active:!1,discount_percent:0},message:o.message??(e?"Affiliate program is disabled for this shop.":"Invalid affiliate code.")}}return{success:!0,data:{valid:!0,...void 0!==o.data.program_enabled?{program_enabled:o.data.program_enabled}:{},affiliate_code:ll(o.data.affiliate_code),discount_active:Boolean(o.data.discount_active),discount_percent:Number(o.data.discount_percent??0)},...o.message?{message:o.message}:{}}}function fl(e){if(!e)return{};const t=Object.entries(e).filter(([,e])=>"string"==typeof e).sort(([e],[t])=>e.localeCompare(t));return Object.fromEntries(t)}function ml(e){const t={product_id:e.product_id,variant_id:e.variant_id,price_variant_id:e.price_variant_id??null,addons:(n=e.addons,n?.length?[...n].map(e=>({id:e.id,quantity:e.quantity??1})).sort((e,t)=>e.id.localeCompare(t.id)):[]),custom_fields:fl(e.custom_fields),unit_price:"number"==typeof e.price_data?.unit_price&&Number.isFinite(e.price_data.unit_price)?e.price_data.unit_price:null,pay_what_you_want_price:"number"==typeof e.pay_what_you_want_price&&Number.isFinite(e.pay_what_you_want_price)?e.pay_what_you_want_price:null};var n;return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(t))}function _l(e){return"string"==typeof e.line_id&&e.line_id.trim()?e:{...e,line_id:ml(e)}}function hl(e){const t=e?.trim().toUpperCase();return t&&/^[A-Z]{3}$/.test(t)?t:null}function yl(){if("undefined"==typeof window||!window.location)return null;const e="string"==typeof window.location.search?window.location.search:"";if(e)return hl(new URLSearchParams(e).get("currency"));const t="string"==typeof window.location.href?window.location.href:"";if(!t)return null;try{return hl(new URL(t,"https://storefront.shoppex.local").searchParams.get("currency"))}catch{return null}}var gl={cart:"cart",cartBackup:"cart_backup",meta:"cart_meta",metaBackup:"cart_backup_meta",coupon:"cart_coupon",couponBackup:"cart_coupon_backup"};function bl(e){return`${gl[e]}_${rs().storeSlug}`}function vl(e){return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(e))}function wl(e){if(!Number.isFinite(e))throw new d("quantity must be a finite number");return Math.floor(e)}function Sl(e){const t=e?.trim().toUpperCase();return t||null}function kl(){const e=Zs(bl("coupon"));if(!e||"object"!=typeof e||Array.isArray(e))return null;const t=e,n="string"==typeof t.code?Sl(t.code):null,o="COUPON"===t.source||"AFFILIATE"===t.source?t.source:null;return n&&o?{code:n,source:o}:null}function Ol(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||"object"!=typeof n)continue;const e=n,o="string"==typeof e.product_id?e.product_id.trim():"",r="string"==typeof e.variant_id?e.variant_id.trim():"",i=Number(e.quantity);if(!o||!r||!Number.isFinite(i)||i<1)continue;const a={line_id:"",product_id:o,variant_id:r,quantity:Math.floor(i)};if("string"==typeof e.price_variant_id&&(a.price_variant_id=e.price_variant_id),e.price_data&&"object"==typeof e.price_data){const t=e.price_data;"number"==typeof t.unit_price&&Number.isFinite(t.unit_price)&&(a.price_data={unit_price:t.unit_price})}"number"==typeof e.pay_what_you_want_price&&Number.isFinite(e.pay_what_you_want_price)&&(a.pay_what_you_want_price=e.pay_what_you_want_price),Array.isArray(e.addons)&&(a.addons=e.addons),e.custom_fields&&"object"==typeof e.custom_fields&&!Array.isArray(e.custom_fields)&&(a.custom_fields=e.custom_fields),"string"==typeof e.title&&(a.title=e.title),"string"==typeof e.variant_title&&(a.variant_title=e.variant_title),"string"==typeof e.image_url&&(a.image_url=e.image_url),Array.isArray(e.addon_labels)&&(a.addon_labels=e.addon_labels.filter(e=>"string"==typeof e)),"number"==typeof e.max_quantity&&Number.isFinite(e.max_quantity)&&(a.max_quantity=e.max_quantity),"number"==typeof e.min_quantity&&Number.isFinite(e.min_quantity)&&(a.min_quantity=e.min_quantity),Nl(a),a.line_id=("string"==typeof e.line_id?e.line_id.trim():"")||ml(a),t.push(_l(a))}return t}function El(){return Zs(bl("meta"))}function xl(){return kl()?.code??null}function zl(){return kl()?.source??null}function Tl(e,t="COUPON"){const n=Sl(e);return n?(Ms(bl("coupon"),{code:n,source:t}),n):(Fs(bl("coupon")),null)}function Il(){Fs(bl("coupon"))}function Al(e){const t=Ol(e);Ms(bl("cart"),t);const n=Date.now(),o=El(),r={created_at:o?.created_at??n,last_modified:n,version:(o?.version??0)+1,checksum:vl(t)};Ms(bl("meta"),r),0===t.length&&Il()}function $l(e,t){const n=Ol(e);Ms(bl("cart"),n);const o=Date.now(),r=t??El(),i={created_at:r?.created_at??o,last_modified:o,version:r?.version??1,checksum:vl(n)};Ms(bl("meta"),i)}function Pl(){return Ol(Zs(bl("cart")))}function Nl(e){const t=e.min_quantity;"number"==typeof t&&Number.isFinite(t)&&e.quantity<t&&(e.quantity=Math.floor(t));const n=e.max_quantity;"number"==typeof n&&Number.isFinite(n)&&e.quantity>n&&(e.quantity=Math.floor(n)),e.quantity<1&&(e.quantity=1)}function Cl(){Fs(bl("cart")),Fs(bl("meta")),Il(),Dl=null,jl+=1}function Rl(){const e=Pl();Ms(bl("cartBackup"),e);const t=kl();t?Ms(bl("couponBackup"),t):Fs(bl("couponBackup"));const n=El();if(n)Ms(bl("metaBackup"),n);else{const t=Date.now();Ms(bl("metaBackup"),{created_at:t,last_modified:t,version:1,checksum:vl(e)})}}function Ul(){const e=Pl(),t=El(),n=vl(e);return t?t.checksum===n:($l(e,null),!0)}function ql(){const e=xl();return"AFFILIATE"===zl()&&e?e.trim().toLowerCase():dl()}var Dl=null,jl=0;function Ll(){return Dl}var Zl="Your cart changed while checkout was starting. Please review it and try again.";function Ml(e,t){return void 0!==t&&JSON.stringify(e)!==t}function Fl(e){const t=e?.trim();return t||null}function Bl(e){const t=e?.trim();return t||null}function Jl(e){return"/dashboard/api/checkout"===e.customerCheckoutPath&&"undefined"!=typeof window&&"string"==typeof window.location?.origin?{endpoint:e.customerCheckoutPath,baseUrl:window.location.origin}:{endpoint:"/v1/storefront/invoices/from-cart"}}function Yl(e){return hl(e.currency)??yl()??hl(rs().currency)}function Wl(e){const t=e?.trim()??"";if(!t)return"Checkout failed. Please try again.";if(Vl(t))return"Your cart is outdated. Please add the products again.";const n=t.match(/^HTTP\s+(\d{3})(?::\s*(.*))?$/i);if(n){const e=Number(n[1]),t=n[2]?.trim();return t&&t.length>0?`Checkout failed: ${t}`:e>=500?"Checkout is temporarily unavailable. Please try again.":400===e?"Checkout failed. Please check your details and try again.":401===e||403===e?"Checkout is currently unavailable for this request.":"Checkout failed. Please try again."}return/^internal server error$/i.test(t)?"Checkout is temporarily unavailable. Please try again.":t}function Vl(e){const t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("product not found")||t.includes("product not available")||t.includes("products are no longer available")||t.includes("outdated product"))}function Hl(e,t,n){const o=t?.trim();if(!o)return null;try{const t=new URL(e),r=new URL(o);if(t.origin!==r.origin)return null;const i=t.pathname.replace(/\/+$/,""),a=`${r.pathname.replace(/\/+$/,"")}/invoice/`.replace(/\/{2,}/g,"/");if(!i.startsWith(a))return null;const s=i.slice(a.length);if(!s||s.includes("/"))return null;if(n){const e=n.trim();if(!e||decodeURIComponent(s)!==e)return null}return t.toString()}catch{return null}}function Gl(e,t){const n=Bl(t.email),o="string"==typeof t.locale?t.locale.trim():"";if(!n&&!o)return e;try{const t=new URL(e);if(o&&t.searchParams.set("locale",o),n){const e=new URLSearchParams(t.hash.startsWith("#")?t.hash.slice(1):t.hash);e.set("shoppex_prefill_email",n),t.hash=e.toString()}return t.toString()}catch{return e}}function Kl(e,t){const n=e?.invoice,o=e?.invoiceId?.trim()||e?.invoice_id?.trim()||e?.uniqid?.trim()||n?.invoiceId?.trim()||n?.invoice_id?.trim()||n?.uniqid?.trim();let r=e?.checkoutUrl?.trim()||e?.checkout_url?.trim()||e?.url_branded?.trim()||e?.url?.trim()||n?.checkoutUrl?.trim()||n?.checkout_url?.trim()||n?.url_branded?.trim()||n?.url?.trim();return!r&&o&&n&&(r=function(e,t){const n=e?.trim();if(!n)return null;try{const e=new URL(n);return e.pathname=`${e.pathname.replace(/\/+$/,"")}/invoice/${encodeURIComponent(t)}`.replace(/\/{2,}/g,"/"),e.search="",e.hash="",e.toString()}catch{return null}}(t,o)??void 0),o&&r?{invoiceId:o,checkoutUrl:r,rewards:e?.rewards??n?.rewards??null}:null}function Xl(e,t){return"string"==typeof e?{...t,coupon:e}:e??t??{}}function Ql(e,t){const n=e.affiliateCode??e.referralCode;if("string"==typeof n){const e=n.trim().toLowerCase();return e.length>0?e:null}return t?.trim().toLowerCase()??dl()}function eu(e){const t=xl(),n=zl();return{coupon:void 0===e.coupon?"COUPON"===n?t:null:Fl(e.coupon),affiliateCode:Ql(e,void 0===e.coupon&&"AFFILIATE"===n?t:null)}}function tu(e){const t=e=>{const t=e?.trim();return t?"default"===t.toLowerCase()?null:t:null};return e.map(e=>({product_id:e.product_id,variant_id:t(e.variant_id),quantity:e.quantity,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1})),custom_fields:e.custom_fields,price_variant_id:e.price_variant_id||null,pay_what_you_want_price:e.pay_what_you_want_price}))}function nu(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&""!==e.trim()){const t=Number(e);return Number.isFinite(t)?t:null}return null}function ou(...e){for(const t of e)if("string"==typeof t&&t.length>0)return t}function ru(e,t){const n=e,o=nu(n.rating)??nu(n.score)??0,r=ou(n.comment,n.message),i=ou(n.author,n.customer_name),a=n.created_at??n.createdAt,s="number"==typeof a||"string"==typeof a?String(a):"",l=ou(n.id,n.uniqid)??`review:${s||t}`;return{...n,id:l,rating:o,...r?{comment:r}:{},...i?{author:i}:{},created_at:s}}async function iu(e){const t=rs(),n=new URLSearchParams;n.set("limit",String(100)),"string"==typeof e&&e.trim().length>0&&n.set("cursor",e);const o=`?${n.toString()}`,r=await Xs(`${js("/v1/storefront/feedback/shop/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`reviews:${t.storeSlug}:${e??"start"}:100`,ttl:12e4,staleWhileRevalidate:!0}});return r.success&&r.data?{success:!0,data:{...r.data,feedback:r.data.feedback.map(ru)}}:{success:!1,message:r.message}}function au(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function su(e,t){return"string"==typeof e.error&&e.error.length>0?e.error:"string"==typeof e.message&&e.message.length>0?e.message:t.statusText?`HTTP ${t.status}: ${t.statusText}`:`HTTP ${t.status}`}function lu(e){const t="string"==typeof e.error_code&&e.error_code.length>0?e.error_code:null;return t?{code:t,...au(e.error_params)?{errorParams:e.error_params}:{}}:{}}async function uu(e,t={}){const n=t.method??"GET",o={Accept:"application/json"};void 0!==t.body&&(o["Content-Type"]="application/json");const r=t.formData??(void 0!==t.body?JSON.stringify(t.body):void 0);try{const a=await fetch(`/api/customer${e}`,{method:n,headers:o,body:r,credentials:"same-origin",cache:"no-store"});if(204===a.status)return a.ok?{success:!0,status:a.status}:{success:!1,status:a.status,message:su({status:a.status,data:null},a)};let s;try{s=await a.json()}catch{return{success:!1,status:a.status,message:"Invalid customer API response"}}const l=au(i=s)&&"number"==typeof i.status&&"data"in i?i:null;if(!l)return{success:!1,status:a.status,message:"Invalid customer API response"};if(!a.ok||l.status<200||l.status>=300)return{success:!1,status:a.status,message:su(l,a),...lu(l)};const u="string"==typeof l.message&&l.message.length>0?{message:l.message}:{};if(!t.schema)return{success:!0,data:l.data,...u};const c=t.schema.safeParse(l.data);return c.success?{success:!0,data:c.data,...u}:{success:!1,message:"Customer API response did not match the expected contract"}}catch(a){return{success:!1,message:a instanceof Error?a.message:String(a)}}var i}function cu(e){return uu("/auth/otp/request",{method:"POST",body:{email:e}})}function du(e,t){return uu("/auth/otp/verify",{method:"POST",body:{email:e,otp:t}})}function pu(){return uu("/auth/logout",{method:"POST"})}function fu(){return uu("/me")}function mu(){return uu("/dashboard",{schema:Xa})}function _u(e={}){const t=new URLSearchParams;return void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.limit&&t.set("limit",String(e.limit)),e.status&&t.set("status",e.status),e.search&&t.set("q",e.search),uu("/invoices"+(t.size>0?`?${t.toString()}`:""),{schema:ja})}function hu(e){return uu(`/invoice/${encodeURIComponent(e)}`,{schema:Za})}function yu(){return uu("/loyalty",{schema:Wa})}function gu(e){return uu("/loyalty/redeem",{method:"POST",body:{points:e.points,idempotency_key:e.idempotencyKey},schema:Va})}function bu(e){return uu("/warranties"+(e?`?invoice=${encodeURIComponent(e)}`:""),{schema:Ga})}function vu(e,t){return uu(`/warranties/${encodeURIComponent(e)}/claim`,{method:"POST",body:t?{message:t}:{},schema:Ka})}function wu(e){return uu(`/licenses/${encodeURIComponent(e)}/reset-hwid`,{method:"POST",body:{}})}function Su(e){return uu(`/subscriptions/${encodeURIComponent(e)}/billing-history`)}function ku(e,t={}){return uu(`/subscriptions/${encodeURIComponent(e)}/cancel`,{method:"POST",body:{...void 0!==t.cancel_at_period_end?{cancel_at_period_end:t.cancel_at_period_end}:{},...void 0!==t.reason?{reason:t.reason}:{}}})}function Ou(e){return uu(`/subscriptions/${encodeURIComponent(e)}/pause`,{method:"POST",body:{}})}function Eu(e){return uu(`/subscriptions/${encodeURIComponent(e)}/resume`,{method:"POST",body:{}})}function xu(){return uu("/favorites")}function zu(e){return uu(`/favorites/${encodeURIComponent(e)}`,{method:"PUT"})}function Tu(e){return uu(`/favorites/${encodeURIComponent(e)}`,{method:"DELETE"})}function Iu(){return uu("/affiliate")}function Au(e){return uu("/tickets",{method:"POST",body:{...void 0!==e.title?{title:e.title}:{},message:e.message,...void 0!==e.invoice_id?{invoice_id:e.invoice_id}:{}}})}function $u(e){return uu(`/tickets/${encodeURIComponent(e)}`)}function Pu(e,t){return uu(`/tickets/${encodeURIComponent(e)}/reply`,{method:"POST",body:{message:t}})}function Nu(e){return uu("/profile",{method:"POST",body:{name:e.name}})}function Cu(e){const t=new FormData;return t.append("file",e),uu("/profile/avatar",{method:"POST",formData:t})}function Ru(){return uu("/profile/avatar",{method:"DELETE"})}function Uu(){return uu("/email-marketing/preferences")}function qu(e){return uu("/email-marketing/preferences",{method:"PATCH",body:{...void 0!==e.global_unsubscribed?{global_unsubscribed:e.global_unsubscribed}:{},...void 0!==e.list_subscriptions?{list_subscriptions:e.list_subscriptions}:{}}})}function Du(){return uu("/sessions")}function ju(e){return uu(`/sessions/${encodeURIComponent(e)}`,{method:"DELETE"})}function Lu(){return uu("/sessions?others=true",{method:"DELETE"})}function Zu(){return uu("/reseller")}function Mu(e){return uu("/reseller/apply",{method:"POST",body:void 0===e?{}:{note:e}})}function Fu(){return uu("/reseller/enroll",{method:"POST",body:{}})}function Bu(e){return uu("/reseller/accept-invite",{method:"POST",body:{token:e}})}function Ju(e={}){const t=new URLSearchParams;return void 0!==e.search&&t.set("search",e.search),void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.per_page&&t.set("per_page",String(e.per_page)),uu("/reseller/catalog"+(t.size>0?`?${t.toString()}`:""))}function Yu(e){return uu("/reseller/orders/quote",{method:"POST",body:{items:e}})}function Wu(e={}){const t=new URLSearchParams;return void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.per_page&&t.set("per_page",String(e.per_page)),uu("/reseller/orders"+(t.size>0?`?${t.toString()}`:""))}function Vu(e){return uu(`/reseller/orders/${encodeURIComponent(e)}`)}function Hu(){return uu("/reseller/wallet")}function Gu(){return uu("/reseller/api-keys")}function Ku(e){const t=e.trim();return t||null}var Xu=3e5;var Qu=3e5;async function ec(){const e=rs(),t=await Xs(js("/v1/storefront/shops/name/:storeSlug/menus",{storeSlug:e.storeSlug}),{cache:{key:`menus:${e.storeSlug}`,ttl:Qu,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.menus}:{success:!1,message:t.message}}async function tc(e){const t=rs(),n=await Xs(js("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu:${t.storeSlug}:${e}`,ttl:Qu,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}async function nc(e){return tc(e)}async function oc(e){const t=rs(),n=await Xs(js("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu-slot:${t.storeSlug}:${e}`,ttl:Qu,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}function rc(e){return function(e){const t=S[e];return[t.title,...t.aliases]}(e)}var ic=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"];function ac(e){return`shoppex:utm:${e}`}function sc(e){if("undefined"==typeof window||void 0===window.location)return;const t=function(e){let t;try{t=new URLSearchParams(e)}catch{return{}}const n={};for(const o of ic){const e=t.get(o)?.trim();e&&(n[o]=e.slice(0,255))}return n}(window.location.search);if(Object.keys(t).length>0)return function(e,t){try{const n={utm:t,at:Date.now()};window.localStorage.setItem(ac(e),JSON.stringify(n))}catch{}}(e,t),t;const n=function(e){try{const t=window.localStorage.getItem(ac(e));if(!t)return{};const n=JSON.parse(t);if(!n||"number"!=typeof n.at||"object"!=typeof n.utm)return{};if(Date.now()-n.at>2592e6)return window.localStorage.removeItem(ac(e)),{};const o={};for(const e of ic){const t=n.utm?.[e];"string"==typeof t&&t.length>0&&(o[e]=t.slice(0,255))}return o}catch{return{}}}(e);return Object.keys(n).length>0?n:void 0}async function lc(e,t){if(!is())return;if("undefined"==typeof document)return;const n=rs(),o=Bs(n.storeSlug);try{const r=js("/v1/storefront/shops/:storeSlug/ping",{storeSlug:n.storeSlug});await fetch(`${n.apiBaseUrl}${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({referer:document.referrer||void 0,cart_value:e??void 0,item_count:t??void 0,connection_id:o??void 0,utm:sc(n.storeSlug)})})}catch{}}async function uc(){if(!is())return{success:!1,message:"SDK not initialized"};const e=rs(),t=ss();return Xs(t?js("/v1/storefront/shops/id/:id/recent-sales",{id:t}):js("/v1/storefront/shops/:storeSlug/recent-sales",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function cc(){if(!is())return{success:!1,message:"SDK not initialized"};const e=rs(),t=ss();return Xs(t?js("/v1/storefront/shops/id/:id/online-users",{id:t}):js("/v1/storefront/shops/:storeSlug/online-users",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function dc(){if(!is())return{success:!1,message:"SDK not initialized"};if("undefined"==typeof document)return{success:!1,message:"Document is not available"};const e=rs(),t=ss();return Qs(t?js("/v1/storefront/shops/id/:id/ping",{id:t}):js("/v1/storefront/shops/:storeSlug/ping",{storeSlug:e.storeSlug}),{referer:document.referrer||void 0,connection_id:Bs(e.storeSlug)??void 0,utm:sc(e.storeSlug)},{retries:0,timeout:5e3})}function pc(e,t){const n=rs();return new Intl.NumberFormat(t??n.locale??"en-US",{style:"currency",currency:e??n.currency??"USD",...Ia})}function fc(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function mc(e){return fc(e)&&fc(e.theme)?{...e,version:"number"==typeof e.version?e.version:0,revision:"number"==typeof e.revision?e.revision:0,theme:{...e.theme,content:fc(e.theme.content)?e.theme.content:{},layout:fc(e.theme.layout)?e.theme.layout:{},style_slots:fc(e.theme.style_slots)?e.theme.style_slots:{},...Array.isArray(e.theme.pages)?{pages:e.theme.pages}:{},...fc(e.theme.terms)?{terms:e.theme.terms}:{}}}:null}async function _c(e){const t=await Xs(js("/v1/storefront/themes/builder/published/:shopSlug",{shopSlug:e}));return t.success&&t.data?fc(n=t.data)?{settings:fc(n.settings)?n.settings:{},builder_settings:mc(n.builder_settings),content:fc(n.content)?n.content:{},style_slots:fc(n.style_slots)?n.style_slots:{}}:null:null;var n}async function hc(e){const t=await _c(e);return t?t.settings:null}function yc(e){const t={};for(const[n,o]of Object.entries(e.settings)){t[n]={};for(const[e,r]of Object.entries(o))t[n][e]=r.default}return t}function gc(e,t){const n={...e};for(const[o,r]of Object.entries(t))r&&(n[o]={...n[o],...r});return n}var bc={init:function(e,t){"string"==typeof e?os(e,t):os(e.storeId,e)},isInitialized:is,getConfig:rs,client:function(e){const t=rs().apiBaseUrl??"https://api.shoppex.io";if(Qa&&es===t&&!e)return Qa;const n=function(e,t){return f({baseUrl:e,headers:t?{Authorization:`Bearer ${t}`}:void 0})}(t,e);return e||(Qa=n,es=t),n},getStore:tl,getStorefront:nl,getStoreLogoUrl:async function(){const e=await tl();return e.success&&e.data?.logo?e.data.logo:null},getStoreBannerUrl:async function(){const e=await tl();return e.success&&e.data?.banner?e.data.banner:null},resolveStoreByDomain:async function(e,t){const n=e??("undefined"!=typeof window?window.location.hostname:"");if(!n)return{success:!1,message:"Domain is required to resolve store"};const o=n.replace(/^https?:\/\//,"").split("/")[0].trim(),r=t??(is()?rs().apiBaseUrl:"https://api.shoppex.io"),i=await Xs(js("/v1/storefront/shops/domain/:domain",{domain:o}),{baseUrl:r,cache:{key:`store:domain:${o}`,ttl:el,staleWhileRevalidate:!0}});return i.success&&i.data?.shop?(i.data.shop.id&&as(i.data.shop.id),{success:!0,data:i.data.shop}):{success:!1,message:i.message??"Failed to resolve store"}},getProducts:il,getStorefrontProductsPage:async function(e){const t=rs(),n=new URLSearchParams;"string"==typeof e?.cursor&&e.cursor.trim().length>0&&n.set("cursor",e.cursor),Number.isFinite(e?.limit)&&n.set("limit",String(Math.max(1,Math.floor(e?.limit??0)))),"string"==typeof e?.sort&&e.sort.trim().length>0&&n.set("sort",e.sort.trim()),"string"==typeof e?.category&&e.category.trim().length>0&&n.set("category",e.category.trim()),!0===e?.hideOutOfStock&&n.set("hide_out_of_stock","true");const o=n.size>0?`?${n.toString()}`:"",r=await Xs(`${js("/v1/storefront/products/shop/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`products:page:${t.storeSlug}:${e?.limit??"default"}:${e?.cursor??"start"}:${e?.sort??"featured"}:${i=e?.category,void 0===i?"category:unset":null===i?"category:null":`category:${i}`}:${!0===e?.hideOutOfStock?"in-stock":"all-stock"}`,ttl:ol,staleWhileRevalidate:!0}});var i;return r.success&&r.data?{success:!0,data:{products:r.data.products.map(rl),pagination:r.data.pagination??null}}:{success:!1,message:r.message}},getProduct:async function(e){let t=ss();if(!t){const e=await tl();t=e.success?e.data?.id??null:null}const n=t?`?slug_shop_id=${encodeURIComponent(t)}`:"",o=await Xs(`${js("/v1/storefront/products/unique/:idOrSlug",{idOrSlug:e})}${n}`,{cache:{key:`product:${e}:${t??"no-shop"}`,ttl:ol,staleWhileRevalidate:!0}});return o.success&&o.data?.product?{success:!0,data:rl(o.data.product)}:{success:!1,message:o.message}},getCategories:async function(){const e=await il();if(!e.success||!e.data)return{success:!1,message:e.message};const t=/* @__PURE__ */new Set;for(const n of e.data)if(n.categories)for(const e of n.categories)"string"==typeof e?t.add(e):e&&"object"==typeof e&&"uniqid"in e&&t.add(e.uniqid);return{success:!0,data:Array.from(t)}},getCart:Pl,getCartItemCount:function(){return Pl().reduce((e,t)=>e+t.quantity,0)},getCartCoupon:xl,getCartCouponSource:zl,setCartCoupon:Tl,clearCartCoupon:Il,addToCart:function(e,t,n=1,o){if(!e||!t)throw new d("product_id and variant_id are required");const r=wl(n);if(r<1)throw new d("quantity must be at least 1");const i=Pl(),a=ml({product_id:e,variant_id:t,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price}),s=i.findIndex(e=>e.line_id===a);if(s>=0)i[s].quantity+=r,o?.addons&&(i[s].addons=o.addons),o?.custom_fields&&(i[s].custom_fields=o.custom_fields),o?.price_variant_id&&(i[s].price_variant_id=o.price_variant_id),o?.price_data&&(i[s].price_data=o.price_data),void 0!==o?.pay_what_you_want_price&&(i[s].pay_what_you_want_price=o.pay_what_you_want_price),function(e,t){if(t?.replace_display_snapshot)return e.title=t.title,e.variant_title=t.variant_title,e.image_url=t.image_url,e.addon_labels=t.addon_labels,e.max_quantity=t.max_quantity,void(e.min_quantity=t.min_quantity);void 0!==t?.title&&(e.title=t.title);void 0!==t?.variant_title&&(e.variant_title=t.variant_title);void 0!==t?.image_url&&(e.image_url=t.image_url);void 0!==t?.addon_labels&&(e.addon_labels=t.addon_labels);void 0!==t?.max_quantity&&(e.max_quantity=t.max_quantity);void 0!==t?.min_quantity&&(e.min_quantity=t.min_quantity)}(i[s],o),Nl(i[s]);else{const n={line_id:a,product_id:e,variant_id:t,quantity:r,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price,title:o?.title,variant_title:o?.variant_title,image_url:o?.image_url,addon_labels:o?.addon_labels,max_quantity:o?.max_quantity,min_quantity:o?.min_quantity};Nl(n),i.push(n)}Al(i)},setCartItem:function(e,t,n=1,o){if(!e||!t)throw new d("product_id and variant_id are required");const r=wl(n);if(r<1)throw new d("quantity must be at least 1");const i=Pl(),a=ml({product_id:e,variant_id:t,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price});for(let l=i.length-1;l>=0;l-=1)i[l].product_id===e&&i[l].variant_id===t&&i.splice(l,1);const s={line_id:a,product_id:e,variant_id:t,quantity:r,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price,title:o?.title,variant_title:o?.variant_title,image_url:o?.image_url,addon_labels:o?.addon_labels,max_quantity:o?.max_quantity,min_quantity:o?.min_quantity};Nl(s),i.push(s),Al(i)},updateCartItem:function(e,t){const n=Pl(),o=e.trim();if(!o)throw new d("line_id is required");const r=n.findIndex(e=>e.line_id===o);if(r<0)throw new d("Item not found in cart");const i=JSON.stringify(n);if(void 0!==t.quantity){const e=wl(t.quantity);if(e<1)return n.splice(r,1),void Al(n);n[r].quantity=e}void 0!==t.addons&&(n[r].addons=t.addons),void 0!==t.custom_fields&&(n[r].custom_fields=t.custom_fields),void 0!==t.price_variant_id&&(n[r].price_variant_id=t.price_variant_id),void 0!==t.price_data&&(n[r].price_data=t.price_data),void 0!==t.pay_what_you_want_price&&(n[r].pay_what_you_want_price=t.pay_what_you_want_price),void 0!==t.max_quantity&&(null===t.max_quantity?delete n[r].max_quantity:n[r].max_quantity=t.max_quantity),void 0!==t.min_quantity&&(null===t.min_quantity?delete n[r].min_quantity:n[r].min_quantity=t.min_quantity),Nl(n[r]);const a=ml(n[r]),s=n.findIndex((e,t)=>t!==r&&e.line_id===a);s>=0?(n[s].quantity+=n[r].quantity,Nl(n[s]),n.splice(r,1)):n[r].line_id=a,JSON.stringify(n)!==i&&Al(n)},removeFromCart:function(e){const t=e.trim();if(!t)throw new d("line_id is required");Al(Pl().filter(e=>e.line_id!==t))},clearCart:Cl,createCartBackup:Rl,restoreCartFromBackup:function(){const e=Ol(Zs(bl("cartBackup"))),t=Zs(bl("metaBackup")),n=Zs(bl("couponBackup"));if(e&&e.length>0){if($l(e,t),n&&"object"==typeof n&&!Array.isArray(n)){const e=n,t="COUPON"===e.source||"AFFILIATE"===e.source?e.source:null;"string"==typeof e.code&&t?Tl(e.code,t):Il()}else Il();return!0}return!1},mergeBaskets:function(e){const t=Pl();for(const n of e){const e="string"==typeof n.product_id?n.product_id.trim():"",o="string"==typeof n.variant_id?n.variant_id.trim():"";if(!e||!o)continue;let r;try{r=wl(n.quantity)}catch{continue}if(r<1)continue;const i=_l({...n,line_id:n.line_id??ml(n),product_id:e,variant_id:o,quantity:r}),a=t.findIndex(e=>e.line_id===i.line_id);a>=0?(t[a].quantity=Math.max(t[a].quantity,r),Nl(t[a])):(Nl(i),t.push(i))}return Al(t),t},moveBasketItem:function(e,t,n,o){const r=Pl(),i=r.findIndex(n=>n.product_id===e&&n.variant_id===t);if(i<0)throw new d("Item not found in cart");const[a]=r.splice(i,1),s=ml({...a,product_id:n,variant_id:o}),l=r.findIndex(e=>e.line_id===s);if(l>=0)r[l].quantity+=a.quantity,Nl(r[l]);else{const e=_l({...a,product_id:n,variant_id:o,line_id:s});Nl(e),r.push(e)}Al(r)},getCartStats:function(){const e=Pl(),t=Ul(),n=El(),o=Zs(bl("cartBackup"))??[],r=e.length>0&&e.every(e=>"number"==typeof e.price_data?.unit_price),i=e.reduce((e,t)=>e+Aa((t.price_data?.unit_price??0)*t.quantity),0);return{item_count:e.length,total_quantity:e.reduce((e,t)=>e+t.quantity,0),last_modified:n?.last_modified??0,version:n?.version??0,has_backup:o.length>0,integrity_valid:t,total_price:Aa(i),total_price_is_estimate:e.length>0&&!r}},validateCartIntegrity:Ul,quoteCart:async function(e,t){const n=jl+=1,o=function(e){const t=rs(),n=Sl(e)??xl()??void 0;return{store_slug:t.storeSlug,items:Pl(),coupon:n}}(e),r=hl(t)??yl()??hl(rs().currency),i=await Qs("/v1/storefront/cart/quote",{shop_slug:o.store_slug,cart:o.items,coupon:o.coupon,affiliate_code:ql()??void 0,currency:r??void 0});return n!==jl||i.success&&(Dl="string"==typeof i.data?.quote_token?i.data.quote_token:null),i},resolveCartLineId:function(e,t,n=Pl()){const o=n.filter(n=>n.product_id===e&&n.variant_id===t);if(0===o.length)throw new d(`No cart line found for ${e}/${t}`);return o[0].line_id},checkout:async function(e,t){const n=Xl(e,t),{autoRedirect:o=!0,email:r}=n,i=eu(n),a=i.coupon,s=Bl(r),l=i.affiliateCode,u=Yl(n),c=Pl();if(0===c.length)return{success:!1,message:"Cart is empty"};if(Ml(c,n.expectedCart))return{success:!1,message:Zl};Rl();const d=rs(),p=Jl(n),f=await Qs(p.endpoint,{shop_slug:d.storeSlug,cart:tu(c),email:s,coupon:a,currency:u,affiliate_code:l,quote_token:Ll()??void 0},{retries:0,baseUrl:p.baseUrl});if(!f.success||!f.data)return Vl(f.message)&&Cl(),{success:!1,message:Wl(f.message),...f.code?{code:f.code}:{}};const m=Kl(f.data,d.checkoutBaseUrl);if(!m)return{success:!1,message:"Failed to create invoice"};const{invoiceId:_}=m,h=Hl(m.checkoutUrl,d.checkoutBaseUrl,_);if(!h)return{success:!1,message:"Failed to create invoice"};const y=Gl(h,{email:s,locale:n.locale??d.locale});return o&&"undefined"!=typeof window&&window?.location&&(window.location.href=y,Cl()),{success:!0,redirectUrl:y,invoiceId:_,rewards:m.rewards}},buildCheckoutUrl:async function(e,t){const n=Xl(e,t),{email:o}=n,r=eu(n),i=r.coupon,a=Bl(o),s=r.affiliateCode,l=Yl(n),u=Pl();if(0===u.length)throw new Error("Cart is empty");if(Ml(u,n.expectedCart))throw new Error(Zl);const c=rs(),d=Jl(n),p=await Qs(d.endpoint,{shop_slug:c.storeSlug,cart:tu(u),email:a,coupon:i,currency:l,affiliate_code:s,quote_token:Ll()??void 0},{retries:0,baseUrl:d.baseUrl});if(!p.success||!p.data)throw Vl(p.message)&&Cl(),new Error(Wl(p.message));const f=Kl(p.data,c.checkoutBaseUrl);if(!f)throw new Error("Failed to create invoice");const m=Hl(f.checkoutUrl,c.checkoutBaseUrl,f.invoiceId);if(!m)throw new Error("Failed to create invoice");return Gl(m,{email:a,locale:n.locale??c.locale})},buildCheckoutUrlSync:function(){throw new Error("buildCheckoutUrlSync is deprecated. Use buildCheckoutUrl (async) instead.")},captureAffiliateFromUrl:async function(e="ref"){if("undefined"==typeof window)return null;let t=null;try{const n=new URL(window.location.href).searchParams.get(e);t=n?n.trim():null}catch{t=null}if(t=ll(t),!t)return null;if(ul(t),is())try{const e=rs(),n=await Qs("/v1/storefront/affiliates/attribution",{shop_slug:e.storeSlug,code:t},{retries:0});return n.success&&n.data?.accepted&&n.data?.affiliate_code?(ul(n.data.affiliate_code),n.data.affiliate_code):(cl(),null)}catch{return t}return t},validateAffiliateCode:pl,applyAffiliateCode:async function(e){const t=await pl(e);return t.success&&t.data?.affiliate_code&&ul(t.data.affiliate_code),t},getAffiliateCode:dl,setAffiliateCode:ul,clearAffiliateCode:cl,validateCoupon:async function(e,t){const n=e.trim();if(!n)return{success:!1,message:"Coupon code is required"};const o={code:n},r="string"==typeof t?t:t?.productId,i="string"==typeof t?void 0:t?.variantId;if(i&&!r)return{success:!1,message:"productId is required when variantId is provided"};if(r)o.product_id=r,i&&(o.variant_id=i);else{const e=Pl();if(0===e.length)return{success:!1,message:"Cart is empty"};const t=await async function(){const e=ss();if(e)return e;const t=await tl();return t.success&&t.data?.id?t.data.id:null}();if(!t)return{success:!1,message:"Failed to resolve store"};o.cart=JSON.stringify({shop_id:t,products:e.map(e=>({uniqid:e.product_id,quantity:e.quantity,variant_id:e.variant_id,price_variant_id:e.price_variant_id,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1}))}))})}return await Qs("/v1/storefront/coupons/check",o)},getShopReviews:async function(){const e=[],t=/* @__PURE__ */new Set;let n=null;for(;;){const o=await iu(n);if(!o.success||!o.data)return{success:!1,message:o.message,data:[]};e.push(...o.data.feedback);const r=o.data.pagination;if(!r?.has_more||!r.next_cursor)break;if(t.has(r.next_cursor))break;t.add(r.next_cursor),n=r.next_cursor}return{success:!0,data:e}},getShopReviewsPage:iu,requestOtp:cu,verifyOtp:du,logout:pu,me:fu,dashboard:mu,orders:_u,order:hu,loyalty:yu,redeemLoyaltyPoints:gu,warranties:bu,claimWarranty:vu,resetLicenseHwid:wu,subscriptionBillingHistory:Su,cancelSubscription:ku,pauseSubscription:Ou,resumeSubscription:Eu,favorites:xu,addFavorite:zu,removeFavorite:Tu,affiliate:Iu,createTicket:Au,ticket:$u,replyToTicket:Pu,updateProfile:Nu,updateAvatar:Cu,removeAvatar:Ru,emailPreferences:Uu,updateEmailPreferences:qu,sessions:Du,revokeSession:ju,revokeAllSessions:Lu,reseller:Zu,applyForReseller:Mu,enrollAsReseller:Fu,acceptResellerInvite:Bu,resellerCatalog:Ju,quoteResellerOrder:Yu,resellerOrders:Wu,resellerOrder:Vu,resellerWallet:Hu,resellerApiKeys:Gu,searchProducts:async function(e,t){if(!is())return{success:!1,message:"SDK not initialized"};const n=e.trim();if(!n)return{success:!0,data:[]};const o=await nl();return o.success&&o.data?{success:!0,data:Ns(o.data.products??[],o.data.groups??[],n,{hideOutOfStock:t?.hideOutOfStock,maxResults:t?.maxResults})}:{success:!1,message:o.message??"Failed to fetch storefront catalog"}},searchCatalogItems:async function(e,t){if(!is())return{success:!1,message:"SDK not initialized"};const n=e.trim();if(!n)return{success:!0,data:[]};const o=await nl();return o.success&&o.data?{success:!0,data:Ps(o.data.products??[],o.data.groups??[],n,{hideOutOfStock:t?.hideOutOfStock,maxResults:t?.maxResults})}:{success:!1,message:o.message??"Failed to fetch storefront catalog"}},getInvoice:async function(e){const t=Ku(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await Xs(js("/v1/storefront/invoices/unique/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?{success:!0,data:n.data.invoice}:{success:!1,message:"Invalid invoice response"}:{success:!1,message:n.message}},getInvoiceStatus:async function(e){const t=Ku(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await Xs(js("/v1/storefront/invoices/status/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?.status?{success:!0,data:{status:n.data.invoice.status}}:{success:!1,message:"Invalid invoice status response"}:{success:!1,message:n.message}},getPages:async function(){const e=rs(),t=await Xs(js("/v1/storefront/shops/name/:storeSlug/pages",{storeSlug:e.storeSlug}),{cache:{key:`pages:${e.storeSlug}`,ttl:Xu,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.pages}:{success:!1,message:t.message}},getPage:async function(e){const t=rs(),n=await Xs(js("/v1/storefront/shops/name/:storeSlug/pages/:slug",{storeSlug:t.storeSlug,slug:e}),{cache:{key:`page:${t.storeSlug}:${e}`,ttl:Xu,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.page}:{success:!1,message:n.message}},getMenus:ec,getMenu:nc,getMenuBySlot:oc,getMenuByTitle:tc,getMenuSlotTitles:rc,trackPageView:lc,getStorefrontOnlineUsers:cc,getStorefrontRecentSales:uc,touchStorefrontPresence:dc,createFormatter:pc,formatPrice:function(e,t,n){const o="string"==typeof e?parseFloat(e):e;return Number.isNaN(o)?pc(t,n).format(0):pc(t,n).format(o)},clearCache:o,invalidateCache:function(t){for(const n of e.keys())(n===t||n.startsWith(t))&&e.delete(n)},getCacheStats:function(){return{hits:n.hits,misses:n.misses,pendingRequests:t.size,entries:e.size}},fetchPublishedBuilderSettings:_c,fetchPublishedThemeSettings:hc,resolveDefaults:yc,mergeSettings:gc};if("undefined"!=typeof window){const e=window;e.shoppex?.isInitialized?.()||(e.shoppex=bc)}export{u as ApiError,za as CATALOG_UNIT_PRICE_DECIMAL_PLACES,Ia as CATALOG_UNIT_PRICE_FORMAT_OPTIONS,d as CartError,l as NetworkError,s as NotInitializedError,Ta as PAYABLE_AMOUNT_DECIMAL_PLACES,a as ShoppexError,c as ValidationError,Bu as acceptResellerInvite,zu as addFavorite,Iu as affiliate,Mu as applyForReseller,Rs as buildStorefrontContactMessage,ds as buildStorefrontCustomFieldPayload,ws as buildStorefrontProductLookup,ku as cancelSubscription,vu as claimWarranty,zs as collectProductSearchHaystack,ml as computeCartLineId,Au as createTicket,mu as dashboard,bc as default,bc as shoppex,Uu as emailPreferences,Fu as enrollAsReseller,_l as ensureCartLineId,xu as favorites,_c as fetchPublishedBuilderSettings,hc as fetchPublishedThemeSettings,As as filterProductsBySearchQuery,nc as getMenu,oc as getMenuBySlot,tc as getMenuByTitle,rc as getMenuSlotTitles,ec as getMenus,ks as getMergedStorefrontProducts,iu as getShopReviewsPage,Ss as getStorefrontGroupProducts,cc as getStorefrontOnlineUsers,uc as getStorefrontRecentSales,Is as groupMatchesSearchQuery,bs as isProductInStock,gs as isProductOutOfStock,us as isStorefrontCheckboxCustomFieldValueChecked,vs as isVariantOutOfStock,pu as logout,yu as loyalty,fu as me,gc as mergeSettings,Es as normalizeSearchQuery,ls as normalizeStorefrontCustomFields,hu as order,_u as orders,Ou as pauseSubscription,Ts as productMatchesSearchQuery,Yu as quoteResellerOrder,gu as redeemLoyaltyPoints,Ru as removeAvatar,Tu as removeFavorite,Pu as replyToTicket,cu as requestOtp,Zu as reseller,Gu as resellerApiKeys,Ju as resellerCatalog,Vu as resellerOrder,Wu as resellerOrders,Hu as resellerWallet,wu as resetLicenseHwid,yc as resolveDefaults,ys as resolveDisplayStock,Cs as resolveStorefrontApiBaseUrl,qs as resolveStorefrontSocialLinks,hs as resolveVariantStockValue,Eu as resumeSubscription,Lu as revokeAllSessions,ju as revokeSession,Aa as roundPayableAmount,Ns as searchMergedStorefrontCatalog,Ps as searchMergedStorefrontCatalogItems,Du as sessions,Os as stripHtmlFromText,Us as submitStorefrontContactTicket,Su as subscriptionBillingHistory,$u as ticket,dc as touchStorefrontPresence,lc as trackPageView,Cu as updateAvatar,qu as updateEmailPreferences,Nu as updateProfile,cs as validateStorefrontCustomFieldValue,du as verifyOtp,bu as warranties};
|
|
1
|
+
var e=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map,n={hits:0,misses:0};function o(){e.clear(),t.clear()}function r(t,n,o){const r=Date.now();e.set(t,{data:n,ttl:o,updatedAt:r,expiresAt:r+o})}async function i(o,i,a,s=()=>!0){const u=function(t){const n=e.get(t);return n||null}(o);if(u&&!function(e){return Date.now()>e.expiresAt}(u))return n.hits+=1,u.data;if(u&&a.staleWhileRevalidate){if(n.hits+=1,!t.has(o)){const e=(async()=>{try{const e=await i();return s(e)&&r(o,e,a.ttl),e}finally{t.delete(o)}})();t.set(o,e)}return u.data}if(t.has(o))return t.get(o);n.misses+=1;const l=(async()=>{try{const e=await i();return s(e)&&r(o,e,a.ttl),e}finally{t.delete(o)}})();return t.set(o,l),l}var a=class e extends Error{constructor(t,n,o){super(t),this.name="ShoppexError",this.code=n,this.statusCode=o,Object.setPrototypeOf(this,e.prototype)}},s=class e extends a{constructor(){super("SDK not initialized. Call shoppex.init() first.","NOT_INITIALIZED"),this.name="NotInitializedError",Object.setPrototypeOf(this,e.prototype)}},u=class e extends a{constructor(t,n){super(t,"NETWORK_ERROR",n),this.name="NetworkError",Object.setPrototypeOf(this,e.prototype)}},l=class e extends a{constructor(t,n,o,r){super(t,n,o),this.name="ApiError",this.errorParams=r,Object.setPrototypeOf(this,e.prototype)}},c=class e extends a{constructor(t,n){super(t,"VALIDATION_ERROR"),this.name="ValidationError",this.invalidFields=n,Object.setPrototypeOf(this,e.prototype)}},d=class e extends a{constructor(t){super(t,"BASKET_ERROR"),this.name="CartError",Object.setPrototypeOf(this,e.prototype)}},p=/\{[^{}]+\}/g;function f(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:o=globalThis.fetch,querySerializer:r,bodySerializer:i,pathSerializer:a,headers:s,requestInitExt:u,...l}={...e};u="object"==typeof process&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici?u:void 0,t=w(t);const c=[];async function d(e,d){const{baseUrl:p,fetch:f=o,Request:m=n,headers:_,params:h={},parseAs:S="json",querySerializer:k,bodySerializer:O=i??b,pathSerializer:E,body:x,middleware:z=[],...T}=d||{};let I=t;p&&(I=w(p)??t);let A="function"==typeof r?r:y(r);k&&(A="function"==typeof k?k:y({..."object"==typeof r?r:{},...k}));const $=E||a||g,P=void 0===x?void 0:O(x,v(s,_,h.header)),N=v(void 0===P||P instanceof FormData?{}:{"Content-Type":"application/json"},s,_,h.header),C=[...c,...z],R={redirect:"follow",...l,...T,body:P,headers:N};let U,q,D,j=new m(function(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let o=t.querySerializer(t.params.query??{});o.startsWith("?")&&(o=o.substring(1));o&&(n+=`?${o}`);return n}(e,{baseUrl:I,params:h,querySerializer:A,pathSerializer:$}),R);for(const t in T)t in j||(j[t]=T[t]);if(C.length){U=Math.random().toString(36).slice(2,11),q=Object.freeze({baseUrl:I,fetch:f,parseAs:S,querySerializer:A,bodySerializer:O,pathSerializer:$});for(const t of C)if(t&&"object"==typeof t&&"function"==typeof t.onRequest){const n=await t.onRequest({request:j,schemaPath:e,params:h,options:q,id:U});if(n){if(!(n instanceof m)){if(n instanceof Response){D=n;break}throw new Error("onRequest: must return new Request() or Response() when modifying the request")}j=n}}}if(!D){try{D=await f(j,u)}catch(M){let t=M;if(C.length)for(let n=C.length-1;n>=0;n--){const o=C[n];if(o&&"object"==typeof o&&"function"==typeof o.onError){const n=await o.onError({request:j,error:t,schemaPath:e,params:h,options:q,id:U});if(n){if(n instanceof Response){t=void 0,D=n;break}if(n instanceof Error){t=n;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(t)throw t}if(C.length)for(let t=C.length-1;t>=0;t--){const n=C[t];if(n&&"object"==typeof n&&"function"==typeof n.onResponse){const t=await n.onResponse({request:j,response:D,schemaPath:e,params:h,options:q,id:U});if(t){if(!(t instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");D=t}}}}const L=D.headers.get("Content-Length");if(204===D.status||"HEAD"===j.method||"0"===L&&!D.headers.get("Transfer-Encoding")?.includes("chunked"))return D.ok?{data:void 0,response:D}:{error:void 0,response:D};if(D.ok){const e=async()=>{if("stream"===S)return D.body;if("json"===S&&!L){const e=await D.text();return e?JSON.parse(e):void 0}return await D[S]()};return{data:await e(),response:D}}let Z=await D.text();try{Z=JSON.parse(Z)}catch{}return{error:Z,response:D}}return{request:(e,t,n)=>d(t,{...n,method:e.toUpperCase()}),GET:(e,t)=>d(e,{...t,method:"GET"}),PUT:(e,t)=>d(e,{...t,method:"PUT"}),POST:(e,t)=>d(e,{...t,method:"POST"}),DELETE:(e,t)=>d(e,{...t,method:"DELETE"}),OPTIONS:(e,t)=>d(e,{...t,method:"OPTIONS"}),HEAD:(e,t)=>d(e,{...t,method:"HEAD"}),PATCH:(e,t)=>d(e,{...t,method:"PATCH"}),TRACE:(e,t)=>d(e,{...t,method:"TRACE"}),use(...e){for(const t of e)if(t){if("object"!=typeof t||!("onRequest"in t||"onResponse"in t||"onError"in t))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");c.push(t)}},eject(...e){for(const t of e){const e=c.indexOf(t);-1!==e&&c.splice(e,1)}}}}function m(e,t,n){if(null==t)return"";if("object"==typeof t)throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${!0===n?.allowReserved?t:encodeURIComponent(t)}`}function _(e,t,n){if(!t||"object"!=typeof t)return"";const o=[],r={simple:",",label:".",matrix:";"}[n.style]||"&";if("deepObject"!==n.style&&!1===n.explode){for(const e in t)o.push(e,!0===n.allowReserved?t[e]:encodeURIComponent(t[e]));const r=o.join(",");switch(n.style){case"form":return`${e}=${r}`;case"label":return`.${r}`;case"matrix":return`;${e}=${r}`;default:return r}}for(const a in t){const r="deepObject"===n.style?`${e}[${a}]`:a;o.push(m(r,t[a],n))}const i=o.join(r);return"label"===n.style||"matrix"===n.style?`${r}${i}`:i}function h(e,t,n){if(!Array.isArray(t))return"";if(!1===n.explode){const o={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",r=(!0===n.allowReserved?t:t.map(e=>encodeURIComponent(e))).join(o);switch(n.style){case"simple":return r;case"label":return`.${r}`;case"matrix":return`;${e}=${r}`;default:return`${e}=${r}`}}const o={simple:",",label:".",matrix:";"}[n.style]||"&",r=[];for(const i of t)"simple"===n.style||"label"===n.style?r.push(!0===n.allowReserved?i:encodeURIComponent(i)):r.push(m(e,i,n));return"label"===n.style||"matrix"===n.style?`${o}${r.join(o)}`:r.join(o)}function y(e){return function(t){const n=[];if(t&&"object"==typeof t)for(const o in t){const r=t[o];if(null!=r)if(Array.isArray(r)){if(0===r.length)continue;n.push(h(o,r,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}))}else"object"!=typeof r?n.push(m(o,r,e)):n.push(_(o,r,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}))}return n.join("&")}}function g(e,t){let n=e;for(const o of e.match(p)??[]){let e=o.substring(1,o.length-1),r=!1,i="simple";if(e.endsWith("*")&&(r=!0,e=e.substring(0,e.length-1)),e.startsWith(".")?(i="label",e=e.substring(1)):e.startsWith(";")&&(i="matrix",e=e.substring(1)),!t||void 0===t[e]||null===t[e])continue;const a=t[e];Array.isArray(a)?n=n.replace(o,h(e,a,{style:i,explode:r})):n="object"!=typeof a?"matrix"!==i?n.replace(o,"label"===i?`.${encodeURIComponent(a)}`:encodeURIComponent(a)):n.replace(o,`;${m(e,a)}`):n.replace(o,_(e,a,{style:i,explode:r}))}return n}function b(e,t){return e instanceof FormData?e:t&&"application/x-www-form-urlencoded"===(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])?new URLSearchParams(e).toString():JSON.stringify(e)}function v(...e){const t=new Headers;for(const n of e){if(!n||"object"!=typeof n)continue;const e=n instanceof Headers?n.entries():Object.entries(n);for(const[n,o]of e)if(null===o)t.delete(n);else if(Array.isArray(o))for(const e of o)t.append(n,e);else void 0!==o&&t.set(n,o)}return t}function w(e){return e.endsWith("/")?e.substring(0,e.length-1):e}var S={header:{title:"Header",aliases:["Header Menu"]},footer:{title:"Footer",aliases:["Footer Links","Legal Links"]}};var k;Object.keys(S);function O(e,t,n){function o(n,o){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:o,constr:a,traits:/* @__PURE__ */new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,o);const r=a.prototype,i=Object.keys(r);for(let e=0;e<i.length;e++){const t=i[e];t in n||(n[t]=r[t].bind(n))}}const r=n?.Parent??Object;class i extends r{}function a(e){var t;const r=n?.Parent?new i:this;o(r,e),(t=r._zod).deferred??(t.deferred=[]);for(const n of r._zod.deferred)n();return r}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var E=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},x=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(k=globalThis).__zod_globalConfig??(k.__zod_globalConfig={});var z=globalThis.__zod_globalConfig;function T(e){return e&&Object.assign(z,e),z}function I(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function A(e,t){return"bigint"==typeof t?t.toString():t}function $(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function P(e){return null==e}function N(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var C=/* @__PURE__*/Symbol("evaluating");function R(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==C)return void 0===o&&(o=C,o=n()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function U(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function q(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function D(e){return JSON.stringify(e)}var j="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function L(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var Z=/* @__PURE__*/$(()=>{if(z.jitless)return!1;if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function M(e){if(!1===L(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const n=t.prototype;return!1!==L(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function F(e){return M(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var B=/* @__PURE__*/new Set(["string","number","symbol"]);function J(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Y(e,t,n){const o=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(o._zod.parent=e),o}function W(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}var V={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function H(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function G(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!1===e.issues[n]?.continue)return!0;return!1}function K(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function X(e){return"string"==typeof e?e:e?.message}function Q(e,t,n){const o=e.message?e.message:X(e.inst?._zod.def?.error?.(e))??X(t?.error?.(e))??X(n.customError?.(e))??X(n.localeError?.(e))??"Invalid input",{inst:r,continue:i,input:a,...s}=e;return s.path??(s.path=[]),s.message=o,t?.reportInput&&(s.input=a),s}function ee(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function te(...e){const[t,n,o]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:o}:{...t}}var ne=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,A,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},oe=O("$ZodError",ne),re=O("$ZodError",ne,{Parent:Error});var ie=e=>(t,n,o,r)=>{const i=o?{...o,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new E;if(a.issues.length){const t=new(r?.Err??e)(a.issues.map(e=>Q(e,i,T())));throw j(t,r?.callee),t}return a.value},ae=e=>async(t,n,o,r)=>{const i=o?{...o,async:!0}:{async:!0};let a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const t=new(r?.Err??e)(a.issues.map(e=>Q(e,i,T())));throw j(t,r?.callee),t}return a.value},se=e=>(t,n,o)=>{const r=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},r);if(i instanceof Promise)throw new E;return i.issues.length?{success:!1,error:new(e??oe)(i.issues.map(e=>Q(e,r,T())))}:{success:!0,data:i.value}},ue=/* @__PURE__*/se(re),le=e=>async(t,n,o)=>{const r=o?{...o,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>Q(e,r,T())))}:{success:!0,data:i.value}},ce=/* @__PURE__*/le(re),de=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return ie(e)(t,n,r)},pe=e=>(t,n,o)=>ie(e)(t,n,o),fe=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return ae(e)(t,n,r)},me=e=>async(t,n,o)=>ae(e)(t,n,o),_e=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return se(e)(t,n,r)},he=e=>(t,n,o)=>se(e)(t,n,o),ye=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return le(e)(t,n,r)},ge=e=>async(t,n,o)=>le(e)(t,n,o),be=/^[cC][0-9a-z]{6,}$/,ve=/^[0-9a-z]+$/,we=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Se=/^[0-9a-vA-V]{20}$/,ke=/^[A-Za-z0-9]{27}$/,Oe=/^[a-zA-Z0-9_-]{21}$/,Ee=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xe=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ze=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Te=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ie=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ae=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,$e=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Pe=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ne=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ce=/^[A-Za-z0-9_-]*$/,Re=/^https?$/,Ue=/^\+[1-9]\d{6,14}$/,qe="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",De=/*@__PURE__*/new RegExp(`^${qe}$`);function je(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}var Le=/^-?\d+$/,Ze=/^-?\d+(?:\.\d+)?$/,Me=/^(?:true|false)$/i,Fe=/^[^A-Z]*$/,Be=/^[^a-z]*$/,Je=/*@__PURE__*/O("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ye={number:"number",bigint:"bigint",object:"date"},We=/*@__PURE__*/O("$ZodCheckLessThan",(e,t)=>{Je.init(e,t);const n=Ye[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,o=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:"object"==typeof t.value?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ve=/*@__PURE__*/O("$ZodCheckGreaterThan",(e,t)=>{Je.init(e,t);const n=Ye[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,o=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),He=/*@__PURE__*/O("$ZodCheckMultipleOf",(e,t)=>{Je.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value!==BigInt(0):0!==function(e,t){const n=e/t,o=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-o)<r?0:n-o}(n.value,t.value))&&n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ge=/*@__PURE__*/O("$ZodCheckNumberFormat",(e,t)=>{Je.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[r,i]=V[t.format];e._zod.onattach.push(e=>{const o=e._zod.bag;o.format=t.format,o.minimum=r,o.maximum=i,n&&(o.pattern=Le)}),e._zod.check=a=>{const s=a.value;if(n){if(!Number.isInteger(s))return void a.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}))}s<r&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Ke=/*@__PURE__*/O("$ZodCheckMaxLength",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const o=n.value;if(o.length<=t.maximum)return;const r=ee(o);n.issues.push({origin:r,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Xe=/*@__PURE__*/O("$ZodCheckMinLength",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const o=n.value;if(o.length>=t.minimum)return;const r=ee(o);n.issues.push({origin:r,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Qe=/*@__PURE__*/O("$ZodCheckLengthEquals",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!P(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const o=n.value,r=o.length;if(r===t.length)return;const i=ee(o),a=r>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),et=/*@__PURE__*/O("$ZodCheckStringFormat",(e,t)=>{var n,o;Je.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=/* @__PURE__ */new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),tt=/*@__PURE__*/O("$ZodCheckRegex",(e,t)=>{et.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),nt=/*@__PURE__*/O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Fe),et.init(e,t)}),ot=/*@__PURE__*/O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Be),et.init(e,t)}),rt=/*@__PURE__*/O("$ZodCheckIncludes",(e,t)=>{Je.init(e,t);const n=J(t.includes),o=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(o)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),it=/*@__PURE__*/O("$ZodCheckStartsWith",(e,t)=>{Je.init(e,t);const n=new RegExp(`^${J(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),at=/*@__PURE__*/O("$ZodCheckEndsWith",(e,t)=>{Je.init(e,t);const n=new RegExp(`.*${J(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),st=/*@__PURE__*/O("$ZodCheckOverwrite",(e,t)=>{Je.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),ut=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),o=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const r of o)this.content.push(r)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}},lt={major:4,minor:4,patch:3},ct=/*@__PURE__*/O("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=lt;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const r of o)for(const t of r._zod.onattach)t(e);if(0===o.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let o,r=H(e);for(const i of t){if(i._zod.def.when){if(G(e))continue;if(!i._zod.def.when(e))continue}else if(r)continue;const t=e.issues.length,a=i._zod.check(e);if(a instanceof Promise&&!1===n?.async)throw new E;if(o||a instanceof Promise)o=(o??Promise.resolve()).then(async()=>{await a,e.issues.length!==t&&(r||(r=H(e,t)))});else{if(e.issues.length===t)continue;r||(r=H(e,t))}}return o?o.then(()=>e):e},n=(n,r,i)=>{if(H(n))return n.aborted=!0,n;const a=t(r,o,i);if(a instanceof Promise){if(!1===i.async)throw new E;return a.then(t=>e._zod.parse(t,i))}return e._zod.parse(a,i)};e._zod.run=(r,i)=>{if(i.skipChecks)return e._zod.parse(r,i);if("backward"===i.direction){const t=e._zod.parse({value:r.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,i)):n(t,r,i)}const a=e._zod.parse(r,i);if(a instanceof Promise){if(!1===i.async)throw new E;return a.then(e=>t(e,o,i))}return t(a,o,i)}}R(e,"~standard",()=>({validate:t=>{try{const n=ue(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return ce(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),dt=/*@__PURE__*/O("$ZodString",(e,t)=>{var n;ct.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),pt=/*@__PURE__*/O("$ZodStringFormat",(e,t)=>{et.init(e,t),dt.init(e,t)}),ft=/*@__PURE__*/O("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xe),pt.init(e,t)}),mt=/*@__PURE__*/O("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ze(e))}else t.pattern??(t.pattern=ze());pt.init(e,t)}),_t=/*@__PURE__*/O("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Te),pt.init(e,t)}),ht=/*@__PURE__*/O("$ZodURL",(e,t)=>{pt.init(e,t),e._zod.check=n=>{try{const o=n.value.trim();if(!t.normalize&&t.protocol?.source===Re.source&&!/^https?:\/\//i.test(o))return void n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});const r=new URL(o);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=r.href:n.value=o)}catch(o){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),yt=/*@__PURE__*/O("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),pt.init(e,t)}),gt=/*@__PURE__*/O("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Oe),pt.init(e,t)}),bt=/*@__PURE__*/O("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=be),pt.init(e,t)}),vt=/*@__PURE__*/O("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ve),pt.init(e,t)}),wt=/*@__PURE__*/O("$ZodULID",(e,t)=>{t.pattern??(t.pattern=we),pt.init(e,t)}),St=/*@__PURE__*/O("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Se),pt.init(e,t)}),kt=/*@__PURE__*/O("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ke),pt.init(e,t)}),Ot=/*@__PURE__*/O("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=je({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${qe}T(?:${o})$`)}(t)),pt.init(e,t)}),Et=/*@__PURE__*/O("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=De),pt.init(e,t)}),xt=/*@__PURE__*/O("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${je(t)}$`)),pt.init(e,t)}),zt=/*@__PURE__*/O("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Ee),pt.init(e,t)}),Tt=/*@__PURE__*/O("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ie),pt.init(e,t),e._zod.bag.format="ipv4"}),It=/*@__PURE__*/O("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ae),pt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),At=/*@__PURE__*/O("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=$e),pt.init(e,t)}),$t=/*@__PURE__*/O("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Pe),pt.init(e,t),e._zod.check=n=>{const o=n.value.split("/");try{if(2!==o.length)throw new Error;const[e,t]=o;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Pt(e){if(""===e)return!0;if(/\s/.test(e))return!1;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Nt=/*@__PURE__*/O("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Ne),pt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Pt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});var Ct=/*@__PURE__*/O("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ce),pt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{(function(e){if(!Ce.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return Pt(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Rt=/*@__PURE__*/O("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ue),pt.init(e,t)});var Ut=/*@__PURE__*/O("$ZodJWT",(e,t)=>{pt.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[o]=n;if(!o)return!1;const r=JSON.parse(atob(o));return!("typ"in r&&"JWT"!==r?.typ||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),qt=/*@__PURE__*/O("$ZodNumber",(e,t)=>{ct.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ze,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch(a){}const r=n.value;if("number"==typeof r&&!Number.isNaN(r)&&Number.isFinite(r))return n;const i="number"==typeof r?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...i?{received:i}:{}}),n}}),Dt=/*@__PURE__*/O("$ZodNumberFormat",(e,t)=>{Ge.init(e,t),qt.init(e,t)}),jt=/*@__PURE__*/O("$ZodBoolean",(e,t)=>{ct.init(e,t),e._zod.pattern=Me,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}const r=n.value;return"boolean"==typeof r||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),Lt=/*@__PURE__*/O("$ZodUnknown",(e,t)=>{ct.init(e,t),e._zod.parse=e=>e}),Zt=/*@__PURE__*/O("$ZodNever",(e,t)=>{ct.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Mt(e,t,n){e.issues.length&&t.issues.push(...K(n,e.issues)),t.value[n]=e.value}var Ft=/*@__PURE__*/O("$ZodArray",(e,t)=>{ct.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);const i=[];for(let e=0;e<r.length;e++){const a=r[e],s=t.element._zod.run({value:a,issues:[]},o);s instanceof Promise?i.push(s.then(t=>Mt(t,n,e))):Mt(s,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function Bt(e,t,n,o,r,i){const a=n in o;if(e.issues.length){if(r&&i&&!a)return;t.issues.push(...K(n,e.issues))}a||r?void 0===e.value?a&&(t.value[n]=void 0):t.value[n]=e.value:e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]})}function Jt(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const n=(o=e.shape,Object.keys(o).filter(e=>"optional"===o[e]._zod.optin&&"optional"===o[e]._zod.optout));var o;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Yt(e,t,n,o,r,i){const a=[],s=r.keySet,u=r.catchall._zod,l=u.def.type,c="optional"===u.optin,d="optional"===u.optout;for(const p in t){if("__proto__"===p)continue;if(s.has(p))continue;if("never"===l){a.push(p);continue}const r=u.run({value:t[p],issues:[]},o);r instanceof Promise?e.push(r.then(e=>Bt(e,n,p,t,c,d))):Bt(r,n,p,t,c,d)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}var Wt=/*@__PURE__*/O("$ZodObject",(e,t)=>{if(ct.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const n=$(()=>Jt(t));R(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const o=e[t]._zod;if(o.values){n[t]??(n[t]=/* @__PURE__ */new Set);for(const e of o.values)n[t].add(e)}}return n});const o=L,r=t.catchall;let i;e._zod.parse=(t,a)=>{i??(i=n.value);const s=t.value;if(!o(s))return t.issues.push({expected:"object",code:"invalid_type",input:s,inst:e}),t;t.value={};const u=[],l=i.shape;for(const e of i.keys){const n=l[e],o="optional"===n._zod.optin,r="optional"===n._zod.optout,i=n._zod.run({value:s[e],issues:[]},a);i instanceof Promise?u.push(i.then(n=>Bt(n,t,e,s,o,r))):Bt(i,t,e,s,o,r)}return r?Yt(u,s,t,a,n.value,e):u.length?Promise.all(u).then(()=>t):t}}),Vt=/*@__PURE__*/O("$ZodObjectJIT",(e,t)=>{Wt.init(e,t);const n=e._zod.parse,o=$(()=>Jt(t));let r;const i=L,a=!z.jitless,s=a&&Z.value,u=t.catchall;let l;e._zod.parse=(c,d)=>{l??(l=o.value);const p=c.value;return i(p)?a&&s&&!1===d?.async&&!0!==d.jitless?(r||(r=(e=>{const t=new ut(["shape","payload","ctx"]),n=o.value,r=e=>{const t=D(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const i=Object.create(null);let a=0;for(const o of n.keys)i[o]="key_"+a++;t.write("const newResult = {};");for(const o of n.keys){const n=i[o],a=D(o),s=e[o],u="optional"===s?._zod?.optin,l="optional"===s?._zod?.optout;t.write(`const ${n} = ${r(o)};`),u&&l?t.write(`\n if (${n}.issues.length) {\n if (${a} in input) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):u?t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):t.write(`\n const ${n}_present = ${a} in input;\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: "invalid_type",\n expected: "nonoptional",\n input: undefined,\n path: [${a}]\n });\n }\n\n if (${n}_present) {\n if (${n}.value === undefined) {\n newResult[${a}] = undefined;\n } else {\n newResult[${a}] = ${n}.value;\n }\n }\n\n `)}t.write("payload.value = newResult;"),t.write("return payload;");const s=t.compile();return(t,n)=>s(e,t,n)})(t.shape)),c=r(c,d),u?Yt([],p,c,d,l,e):c):n(c,d):(c.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),c)}});function Ht(e,t,n,o){for(const i of e)if(0===i.issues.length)return t.value=i.value,t;const r=e.filter(e=>!H(e));return 1===r.length?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Q(e,o,T())))}),t)}var Gt=/*@__PURE__*/O("$ZodUnion",(e,t)=>{ct.init(e,t),R(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),R(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),R(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),R(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>N(e.source)).join("|")})$`)}});const n=1===t.options.length?t.options[0]._zod.run:null;e._zod.parse=(o,r)=>{if(n)return n(o,r);let i=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:o.value,issues:[]},r);if(t instanceof Promise)a.push(t),i=!0;else{if(0===t.issues.length)return t;a.push(t)}}return i?Promise.all(a).then(t=>Ht(t,o,e,r)):Ht(a,o,e,r)}}),Kt=/*@__PURE__*/O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Gt.init(e,t);const n=e._zod.parse;R(e._zod,"propValues",()=>{const e={};for(const n of t.options){const o=n._zod.propValues;if(!o||0===Object.keys(o).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(o)){e[t]||(e[t]=/* @__PURE__ */new Set);for(const o of n)e[t].add(o)}}return e});const o=$(()=>{const e=t.options,n=/* @__PURE__ */new Map;for(const o of e){const e=o._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,o)}}return n});e._zod.parse=(r,i)=>{const a=r.value;if(!L(a))return r.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),r;const s=o.value.get(a?.[t.discriminator]);return s?s._zod.run(r,i):t.unionFallback||"backward"===i.direction?n(r,i):(r.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(o.value.keys()),input:a,path:[t.discriminator],inst:e}),r)}}),Xt=/*@__PURE__*/O("$ZodIntersection",(e,t)=>{ct.init(e,t),e._zod.parse=(e,n)=>{const o=e.value,r=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return r instanceof Promise||i instanceof Promise?Promise.all([r,i]).then(([t,n])=>en(e,t,n)):en(e,r,i)}});function Qt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(M(e)&&M(t)){const n=Object.keys(t),o=Object.keys(e).filter(e=>-1!==n.indexOf(e)),r={...e,...t};for(const i of o){const n=Qt(e[i],t[i]);if(!n.valid)return{valid:!1,mergeErrorPath:[i,...n.mergeErrorPath]};r[i]=n.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const r=Qt(e[o],t[o]);if(!r.valid)return{valid:!1,mergeErrorPath:[o,...r.mergeErrorPath]};n.push(r.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function en(e,t,n){const o=/* @__PURE__ */new Map;let r;for(const s of t.issues)if("unrecognized_keys"===s.code){r??(r=s);for(const e of s.keys)o.has(e)||o.set(e,{}),o.get(e).l=!0}else e.issues.push(s);for(const s of n.issues)if("unrecognized_keys"===s.code)for(const e of s.keys)o.has(e)||o.set(e,{}),o.get(e).r=!0;else e.issues.push(s);const i=[...o].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(i.length&&r&&e.issues.push({...r,keys:i}),H(e))return e;const a=Qt(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var tn=/*@__PURE__*/O("$ZodRecord",(e,t)=>{ct.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!M(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;const i=[],a=t.keyType._zod.values;if(a){n.value={};const s=/* @__PURE__ */new Set;for(const l of a)if("string"==typeof l||"number"==typeof l||"symbol"==typeof l){s.add("number"==typeof l?l.toString():l);const a=t.keyType._zod.run({value:l,issues:[]},o);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(e=>Q(e,o,T())),input:l,path:[l],inst:e});continue}const u=a.value,c=t.valueType._zod.run({value:r[l],issues:[]},o);c instanceof Promise?i.push(c.then(e=>{e.issues.length&&n.issues.push(...K(l,e.issues)),n.value[u]=e.value})):(c.issues.length&&n.issues.push(...K(l,c.issues)),n.value[u]=c.value)}let u;for(const e in r)s.has(e)||(u=u??[],u.push(e));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:u})}else{n.value={};for(const a of Reflect.ownKeys(r)){if("__proto__"===a)continue;if(!Object.prototype.propertyIsEnumerable.call(r,a))continue;let s=t.keyType._zod.run({value:a,issues:[]},o);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if("string"==typeof a&&Ze.test(a)&&s.issues.length){const e=t.keyType._zod.run({value:Number(a),issues:[]},o);if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently");0===e.issues.length&&(s=e)}if(s.issues.length){"loose"===t.mode?n.value[a]=r[a]:n.issues.push({code:"invalid_key",origin:"record",issues:s.issues.map(e=>Q(e,o,T())),input:a,path:[a],inst:e});continue}const u=t.valueType._zod.run({value:r[a],issues:[]},o);u instanceof Promise?i.push(u.then(e=>{e.issues.length&&n.issues.push(...K(a,e.issues)),n.value[s.value]=e.value})):(u.issues.length&&n.issues.push(...K(a,u.issues)),n.value[s.value]=u.value)}}return i.length?Promise.all(i).then(()=>n):n}}),nn=/*@__PURE__*/O("$ZodEnum",(e,t)=>{ct.init(e,t);const n=I(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(e=>B.has(typeof e)).map(e=>"string"==typeof e?J(e):e.toString()).join("|")})$`),e._zod.parse=(t,r)=>{const i=t.value;return o.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),on=/*@__PURE__*/O("$ZodLiteral",(e,t)=>{if(ct.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?J(e):e?J(e.toString()):String(e)).join("|")})$`),e._zod.parse=(o,r)=>{const i=o.value;return n.has(i)||o.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),o}}),rn=/*@__PURE__*/O("$ZodTransform",(e,t)=>{ct.init(e,t),e._zod.optin="optional",e._zod.parse=(n,o)=>{if("backward"===o.direction)throw new x(e.constructor.name);const r=t.transform(n.value,n);if(o.async)return(r instanceof Promise?r:Promise.resolve(r)).then(e=>(n.value=e,n.fallback=!0,n));if(r instanceof Promise)throw new E;return n.value=r,n.fallback=!0,n}});function an(e,t){return void 0===t&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var sn=/*@__PURE__*/O("$ZodOptional",(e,t)=>{ct.init(e,t),e._zod.optin="optional",e._zod.optout="optional",R(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,void 0]):void 0),R(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${N(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const o=e.value,r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>an(e,o)):an(r,o)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),un=/*@__PURE__*/O("$ZodExactOptional",(e,t)=>{sn.init(e,t),R(e._zod,"values",()=>t.innerType._zod.values),R(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ln=/*@__PURE__*/O("$ZodNullable",(e,t)=>{ct.init(e,t),R(e._zod,"optin",()=>t.innerType._zod.optin),R(e._zod,"optout",()=>t.innerType._zod.optout),R(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${N(e.source)}|null)$`):void 0}),R(e._zod,"values",()=>t.innerType._zod.values?/* @__PURE__ */new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),cn=/*@__PURE__*/O("$ZodDefault",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(e=>dn(e,t)):dn(o,t)}});function dn(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}var pn=/*@__PURE__*/O("$ZodPrefault",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),fn=/*@__PURE__*/O("$ZodNonOptional",(e,t)=>{ct.init(e,t),R(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,o)=>{const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(t=>mn(t,e)):mn(r,e)}});function mn(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var _n=/*@__PURE__*/O("$ZodCatch",(e,t)=>{ct.init(e,t),e._zod.optin="optional",R(e._zod,"optout",()=>t.innerType._zod.optout),R(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(o=>(e.value=o.value,o.issues.length&&(e.value=t.catchValue({...e,error:{issues:o.issues.map(e=>Q(e,n,T()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=o.value,o.issues.length&&(e.value=t.catchValue({...e,error:{issues:o.issues.map(e=>Q(e,n,T()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),hn=/*@__PURE__*/O("$ZodPipe",(e,t)=>{ct.init(e,t),R(e._zod,"values",()=>t.in._zod.values),R(e._zod,"optin",()=>t.in._zod.optin),R(e._zod,"optout",()=>t.out._zod.optout),R(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const o=t.out._zod.run(e,n);return o instanceof Promise?o.then(e=>yn(e,t.in,n)):yn(o,t.in,n)}const o=t.in._zod.run(e,n);return o instanceof Promise?o.then(e=>yn(e,t.out,n)):yn(o,t.out,n)}});function yn(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var gn=/*@__PURE__*/O("$ZodPreprocess",(e,t)=>{hn.init(e,t)}),bn=/*@__PURE__*/O("$ZodReadonly",(e,t)=>{ct.init(e,t),R(e._zod,"propValues",()=>t.innerType._zod.propValues),R(e._zod,"values",()=>t.innerType._zod.values),R(e._zod,"optin",()=>t.innerType?._zod?.optin),R(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(vn):vn(o)}});function vn(e){return e.value=Object.freeze(e.value),e}var wn,Sn=/*@__PURE__*/O("$ZodCustom",(e,t)=>{Je.init(e,t),ct.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const o=n.value,r=t.fn(o);if(r instanceof Promise)return r.then(t=>kn(t,n,o,e));kn(r,n,o,e)}});function kn(e,t,n,o){if(!e){const e={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(e.params=o._zod.def.params),t.issues.push(te(e))}}var On=class{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(e,...t){const n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const o={...n,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};(wn=globalThis).__zod_globalRegistry??(wn.__zod_globalRegistry=new On);var En=globalThis.__zod_globalRegistry;function xn(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...W(t)})}function zn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...W(t)})}function Tn(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...W(t)})}function In(e,t){return new We({check:"less_than",...W(t),value:e,inclusive:!1})}function An(e,t){return new We({check:"less_than",...W(t),value:e,inclusive:!0})}function $n(e,t){return new Ve({check:"greater_than",...W(t),value:e,inclusive:!1})}function Pn(e,t){return new Ve({check:"greater_than",...W(t),value:e,inclusive:!0})}function Nn(e,t){return new He({check:"multiple_of",...W(t),value:e})}function Cn(e,t){return new Ke({check:"max_length",...W(t),maximum:e})}function Rn(e,t){return new Xe({check:"min_length",...W(t),minimum:e})}function Un(e,t){return new Qe({check:"length_equals",...W(t),length:e})}function qn(e){return new st({check:"overwrite",tx:e})}function Dn(e,t){const n=new Je({check:"custom",...W(t)});return n._zod.check=e,n}function jn(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??En,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:/* @__PURE__ */new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Ln(e,t,n={path:[],schemaPath:[]}){var o;const r=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const o={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,o);else{const n=a.schema,i=t.processors[r.type];if(!i)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${r.type}`);i(e,t,n,o)}const i=e._zod.parent;i&&(a.ref||(a.ref=i),Ln(i,t,o),t.seen.get(i).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),"input"===t.io&&Fn(e)&&(delete a.schema.examples,delete a.schema.default),"input"===t.io&&"_prefault"in a.schema&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Zn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=/* @__PURE__ */new Map;for(const i of e.seen.entries()){const t=e.metadataRegistry.get(i[0])?.id;if(t){const e=o.get(t);if(e&&e!==i[0])throw new Error(`Duplicate schema id "${t}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(t,i[0])}}const r=t=>{if(t[1].schema.$ref)return;const o=t[1],{ref:r,defId:i}=(t=>{const o="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const n=e.external.registry.get(t[0])?.id,r=e.external.uri??(e=>e);if(n)return{ref:r(n)};const i=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=i,{defId:i,ref:`${r("__shared")}#/${o}/${i}`}}if(t[1]===n)return{ref:"#"};const r=`#/${o}/`,i=t[1].schema.id??"__schema"+e.counter++;return{defId:i,ref:r+i}})(t);o.def={...o.schema},i&&(o.defId=i);const a=o.schema;for(const e in a)delete a[e];a.$ref=r};if("throw"===e.cycles)for(const i of e.seen.entries()){const e=i[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const n=i[1];if(t!==i[0]){if(e.external){const n=e.external.registry.get(i[0])?.id;if(t!==i[0]&&n){r(i);continue}}(e.metadataRegistry.get(i[0])?.id||n.cycle||n.count>1&&"ref"===e.reused)&&r(i)}else r(i)}}function Mn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=t=>{const n=e.seen.get(t);if(null===n.ref)return;const r=n.def??n.schema,i={...r},a=n.ref;if(n.ref=null,a){o(a);const n=e.seen.get(a),s=n.schema;if(!s.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(r,s):(r.allOf=r.allOf??[],r.allOf.push(s)),Object.assign(r,i),t._zod.parent===a)for(const e in r)"$ref"!==e&&"allOf"!==e&&(e in i||delete r[e]);if(s.$ref&&n.def)for(const e in r)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(r[e])===JSON.stringify(n.def[e])&&delete r[e]}const s=t._zod.parent;if(s&&s!==a){o(s);const t=e.seen.get(s);if(t?.schema.$ref&&(r.$ref=t.schema.$ref,t.def))for(const e in r)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(r[e])===JSON.stringify(t.def[e])&&delete r[e]}e.override({zodSchema:t,jsonSchema:r,path:n.path??[]})};for(const u of[...e.seen.entries()].reverse())o(u[0]);const r={};if("draft-2020-12"===e.target?r.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?r.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const n=e.external.registry.get(t)?.id;if(!n)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(n)}Object.assign(r,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;void 0!==i&&r.id===i&&delete r.id;const a=e.external?.defs??{};for(const u of e.seen.entries()){const e=u[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&("draft-2020-12"===e.target?r.$defs=a:r.definitions=a);try{const n=JSON.parse(JSON.stringify(r));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:Bn(t,"input",e.processors),output:Bn(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(s){throw new Error("Error converting schema to JSON.")}}function Fn(e,t){const n=t??{seen:/* @__PURE__ */new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if("transform"===o.type)return!0;if("array"===o.type)return Fn(o.element,n);if("set"===o.type)return Fn(o.valueType,n);if("lazy"===o.type)return Fn(o.getter(),n);if("promise"===o.type||"optional"===o.type||"nonoptional"===o.type||"nullable"===o.type||"readonly"===o.type||"default"===o.type||"prefault"===o.type)return Fn(o.innerType,n);if("intersection"===o.type)return Fn(o.left,n)||Fn(o.right,n);if("record"===o.type||"map"===o.type)return Fn(o.keyType,n)||Fn(o.valueType,n);if("pipe"===o.type)return!!e._zod.traits.has("$ZodCodec")||(Fn(o.in,n)||Fn(o.out,n));if("object"===o.type){for(const e in o.shape)if(Fn(o.shape[e],n))return!0;return!1}if("union"===o.type){for(const e of o.options)if(Fn(e,n))return!0;return!1}if("tuple"===o.type){for(const e of o.items)if(Fn(e,n))return!0;return!(!o.rest||!Fn(o.rest,n))}return!1}var Bn=(e,t,n={})=>o=>{const{libraryOptions:r,target:i}=o??{},a=jn({...r??{},target:i,io:t,processors:n});return Ln(e,a),Zn(a,e),Mn(a,e)},Jn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Yn=(e,t,n,o)=>{const r=e._zod.def;Ln(r.innerType,t,o);t.seen.get(e).ref=r.innerType},Wn=/*@__PURE__*/O("ZodISODateTime",(e,t)=>{Ot.init(e,t),So.init(e,t)});function Vn(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...W(t)})}(Wn,e)}var Hn=/*@__PURE__*/O("ZodISODate",(e,t)=>{Et.init(e,t),So.init(e,t)});function Gn(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...W(t)})}(Hn,e)}var Kn=/*@__PURE__*/O("ZodISOTime",(e,t)=>{xt.init(e,t),So.init(e,t)});function Xn(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...W(t)})}(Kn,e)}var Qn=/*@__PURE__*/O("ZodISODuration",(e,t)=>{zt.init(e,t),So.init(e,t)});function eo(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...W(t)})}(Qn,e)}var to=(e,t)=>{oe.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},o=(e,r=[])=>{for(const i of e.issues)if("invalid_union"===i.code&&i.errors.length)i.errors.map(e=>o({issues:e},[...r,...i.path]));else if("invalid_key"===i.code)o({issues:i.issues},[...r,...i.path]);else if("invalid_element"===i.code)o({issues:i.issues},[...r,...i.path]);else{const e=[...r,...i.path];if(0===e.length)n._errors.push(t(i));else{let o=n,r=0;for(;r<e.length;){const n=e[r];r!==e.length-1?o[n]=o[n]||{_errors:[]}:(o[n]=o[n]||{_errors:[]},o[n]._errors.push(t(i))),o=o[n],r++}}}};return o(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},o=[];for(const r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):o.push(t(r));return{formErrors:o,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,A,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,A,2)}},isEmpty:{get:()=>0===e.issues.length}})},no=/*@__PURE__*/O("ZodError",to,{Parent:Error}),oo=/* @__PURE__ */ie(no),ro=/* @__PURE__ */ae(no),io=/* @__PURE__ */se(no),ao=/* @__PURE__ */le(no),so=/* @__PURE__ */de(no),uo=/* @__PURE__ */pe(no),lo=/* @__PURE__ */fe(no),co=/* @__PURE__ */me(no),po=/* @__PURE__ */_e(no),fo=/* @__PURE__ */he(no),mo=/* @__PURE__ */ye(no),_o=/* @__PURE__ */ge(no),ho=/* @__PURE__ */new WeakMap;function yo(e,t,n){const o=Object.getPrototypeOf(e);let r=ho.get(o);if(r||(r=/* @__PURE__ */new Set,ho.set(o,r)),!r.has(t)){r.add(t);for(const e in n){const t=n[e];Object.defineProperty(o,e,{configurable:!0,enumerable:!1,get(){const n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var go=/*@__PURE__*/O("ZodType",(e,t)=>(ct.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Bn(e,"input"),output:Bn(e,"output")}}),e.toJSONSchema=((e,t={})=>n=>{const o=jn({...n,processors:t});return Ln(e,o),Zn(o,e),Mn(o,e)})(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>oo(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>io(e,t,n),e.parseAsync=async(t,n)=>ro(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ao(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>so(e,t,n),e.decode=(t,n)=>uo(e,t,n),e.encodeAsync=async(t,n)=>lo(e,t,n),e.decodeAsync=async(t,n)=>co(e,t,n),e.safeEncode=(t,n)=>po(e,t,n),e.safeDecode=(t,n)=>fo(e,t,n),e.safeEncodeAsync=async(t,n)=>mo(e,t,n),e.safeDecodeAsync=async(t,n)=>_o(e,t,n),yo(e,"ZodType",{check(...e){const t=this.def;return this.clone(q(t,{checks:[...t.checks??[],...e.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Y(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...W(n)})}(Ir,e,t)}(e,t))},superRefine(e,t){return this.check(function(e,t){return function(e,t){const n=/* @__PURE__ */Dn(t=>(t.addIssue=e=>{if("string"==typeof e)t.issues.push(te(e,t.value,n._zod.def));else{const o=e;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=t.value),o.inst??(o.inst=n),o.continue??(o.continue=!n._zod.def.abort),t.issues.push(te(o))}},e(t.value,t)),t);return n}(e,t)}(e,t))},overwrite(e){return this.check(qn(e))},optional(){return yr(this)},exactOptional(){return new gr({type:"optional",innerType:this})},nullable(){return vr(this)},nullish(){return yr(vr(this))},nonoptional(e){return function(e,t){return new kr({type:"nonoptional",innerType:e,...W(t)})}(this,e)},array(){return er(this)},or(e){return rr([this,e])},and(e){return new sr({type:"intersection",left:this,right:e})},transform(e){return xr(this,_r(e))},default(e){return t=e,new wr({type:"default",innerType:this,get defaultValue(){return"function"==typeof t?t():F(t)}});var t},prefault(e){return t=e,new Sr({type:"prefault",innerType:this,get defaultValue(){return"function"==typeof t?t():F(t)}});var t},catch(e){return new Or({type:"catch",innerType:this,catchValue:"function"==typeof(t=e)?t:()=>t});var t},pipe(e){return xr(this,e)},readonly(){return new Tr({type:"readonly",innerType:this})},describe(e){const t=this.clone();return En.add(t,{description:e}),t},meta(...e){if(0===e.length)return En.get(this);const t=this.clone();return En.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get:()=>En.get(e)?.description,configurable:!0}),e)),bo=/*@__PURE__*/O("_ZodString",(e,t)=>{dt.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=n;o.type="string";const{minimum:r,maximum:i,format:a,patterns:s,contentEncoding:u}=e._zod.bag;if("number"==typeof r&&(o.minLength=r),"number"==typeof i&&(o.maxLength=i),a&&(o.format=Jn[a]??a,""===o.format&&delete o.format,"time"===a&&delete o.format),u&&(o.contentEncoding=u),s&&s.size>0){const e=[...s];1===e.length?o.pattern=e[0].source:e.length>1&&(o.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,yo(e,"_ZodString",{regex(...e){return this.check(function(e,t){return new tt({check:"string_format",format:"regex",...W(t),pattern:e})}(...e))},includes(...e){return this.check(function(e,t){return new rt({check:"string_format",format:"includes",...W(t),includes:e})}(...e))},startsWith(...e){return this.check(function(e,t){return new it({check:"string_format",format:"starts_with",...W(t),prefix:e})}(...e))},endsWith(...e){return this.check(function(e,t){return new at({check:"string_format",format:"ends_with",...W(t),suffix:e})}(...e))},min(...e){return this.check(Rn(...e))},max(...e){return this.check(Cn(...e))},length(...e){return this.check(Un(...e))},nonempty(...e){return this.check(Rn(1,...e))},lowercase(e){return this.check(function(e){return new nt({check:"string_format",format:"lowercase",...W(e)})}(e))},uppercase(e){return this.check(function(e){return new ot({check:"string_format",format:"uppercase",...W(e)})}(e))},trim(){return this.check(/* @__PURE__ */qn(e=>e.trim()))},normalize(...e){return this.check(function(e){/* @__PURE__ */
|
|
2
|
+
return qn(t=>t.normalize(e))}(...e))},toLowerCase(){return this.check(/* @__PURE__ */qn(e=>e.toLowerCase()))},toUpperCase(){return this.check(/* @__PURE__ */qn(e=>e.toUpperCase()))},slugify(){return this.check(/* @__PURE__ */qn(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}})}),vo=/*@__PURE__*/O("ZodString",(e,t)=>{dt.init(e,t),bo.init(e,t),e.email=t=>e.check(xn(ko,t)),e.url=t=>e.check(Tn(zo,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...W(t)})}(Mo,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...W(t)})}(To,t)),e.guid=t=>e.check(zn(Eo,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...W(t)})}(xo,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...W(t)})}(xo,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...W(t)})}(xo,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...W(t)})}(xo,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...W(t)})}(Io,t)),e.guid=t=>e.check(zn(Eo,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...W(t)})}(Ao,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...W(t)})}($o,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...W(t)})}(Po,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...W(t)})}(jo,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...W(t)})}(Lo,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...W(t)})}(No,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...W(t)})}(Co,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...W(t)})}(Ro,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...W(t)})}(Uo,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...W(t)})}(qo,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...W(t)})}(Do,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...W(t)})}(Zo,t)),e.datetime=t=>e.check(Vn(t)),e.date=t=>e.check(Gn(t)),e.time=t=>e.check(Xn(t)),e.duration=t=>e.check(eo(t))});function wo(e){return function(e,t){return new e({type:"string",...W(t)})}(vo,e)}var So=/*@__PURE__*/O("ZodStringFormat",(e,t)=>{pt.init(e,t),bo.init(e,t)}),ko=/*@__PURE__*/O("ZodEmail",(e,t)=>{_t.init(e,t),So.init(e,t)});function Oo(e){return xn(ko,e)}var Eo=/*@__PURE__*/O("ZodGUID",(e,t)=>{ft.init(e,t),So.init(e,t)}),xo=/*@__PURE__*/O("ZodUUID",(e,t)=>{mt.init(e,t),So.init(e,t)}),zo=/*@__PURE__*/O("ZodURL",(e,t)=>{ht.init(e,t),So.init(e,t)});var To=/*@__PURE__*/O("ZodEmoji",(e,t)=>{yt.init(e,t),So.init(e,t)}),Io=/*@__PURE__*/O("ZodNanoID",(e,t)=>{gt.init(e,t),So.init(e,t)}),Ao=/*@__PURE__*/O("ZodCUID",(e,t)=>{bt.init(e,t),So.init(e,t)}),$o=/*@__PURE__*/O("ZodCUID2",(e,t)=>{vt.init(e,t),So.init(e,t)}),Po=/*@__PURE__*/O("ZodULID",(e,t)=>{wt.init(e,t),So.init(e,t)}),No=/*@__PURE__*/O("ZodXID",(e,t)=>{St.init(e,t),So.init(e,t)}),Co=/*@__PURE__*/O("ZodKSUID",(e,t)=>{kt.init(e,t),So.init(e,t)}),Ro=/*@__PURE__*/O("ZodIPv4",(e,t)=>{Tt.init(e,t),So.init(e,t)}),Uo=/*@__PURE__*/O("ZodIPv6",(e,t)=>{It.init(e,t),So.init(e,t)}),qo=/*@__PURE__*/O("ZodCIDRv4",(e,t)=>{At.init(e,t),So.init(e,t)}),Do=/*@__PURE__*/O("ZodCIDRv6",(e,t)=>{$t.init(e,t),So.init(e,t)}),jo=/*@__PURE__*/O("ZodBase64",(e,t)=>{Nt.init(e,t),So.init(e,t)}),Lo=/*@__PURE__*/O("ZodBase64URL",(e,t)=>{Ct.init(e,t),So.init(e,t)}),Zo=/*@__PURE__*/O("ZodE164",(e,t)=>{Rt.init(e,t),So.init(e,t)}),Mo=/*@__PURE__*/O("ZodJWT",(e,t)=>{Ut.init(e,t),So.init(e,t)}),Fo=/*@__PURE__*/O("ZodNumber",(e,t)=>{qt.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=n,{minimum:r,maximum:i,format:a,multipleOf:s,exclusiveMaximum:u,exclusiveMinimum:l}=e._zod.bag;"string"==typeof a&&a.includes("int")?o.type="integer":o.type="number";const c="number"==typeof l&&l>=(r??Number.NEGATIVE_INFINITY),d="number"==typeof u&&u<=(i??Number.POSITIVE_INFINITY),p="draft-04"===t.target||"openapi-3.0"===t.target;c?p?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l:"number"==typeof r&&(o.minimum=r),d?p?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u:"number"==typeof i&&(o.maximum=i),"number"==typeof s&&(o.multipleOf=s)})(e,t,n),yo(e,"ZodNumber",{gt(e,t){return this.check($n(e,t))},gte(e,t){return this.check(Pn(e,t))},min(e,t){return this.check(Pn(e,t))},lt(e,t){return this.check(In(e,t))},lte(e,t){return this.check(An(e,t))},max(e,t){return this.check(An(e,t))},int(e){return this.check(Yo(e))},safe(e){return this.check(Yo(e))},positive(e){return this.check($n(0,e))},nonnegative(e){return this.check(Pn(0,e))},negative(e){return this.check(In(0,e))},nonpositive(e){return this.check(An(0,e))},multipleOf(e,t){return this.check(Nn(e,t))},step(e,t){return this.check(Nn(e,t))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Bo(e){return function(e,t){return new e({type:"number",checks:[],...W(t)})}(Fo,e)}var Jo=/*@__PURE__*/O("ZodNumberFormat",(e,t)=>{Dt.init(e,t),Fo.init(e,t)});function Yo(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...W(t)})}(Jo,e)}var Wo=/*@__PURE__*/O("ZodBoolean",(e,t)=>{jt.init(e,t),go.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.type="boolean"})(0,0,t)});function Vo(e){return function(e,t){return new e({type:"boolean",...W(t)})}(Wo,e)}var Ho=/*@__PURE__*/O("ZodUnknown",(e,t)=>{Lt.init(e,t),go.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function Go(){return new Ho({type:"unknown"})}var Ko=/*@__PURE__*/O("ZodNever",(e,t)=>{Zt.init(e,t),go.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Xo(e){return function(e,t){return new e({type:"never",...W(t)})}(Ko,e)}var Qo=/*@__PURE__*/O("ZodArray",(e,t)=>{Ft.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;"number"==typeof a&&(r.minItems=a),"number"==typeof s&&(r.maxItems=s),r.type="array",r.items=Ln(i.element,t,{...o,path:[...o.path,"items"]})})(e,t,n,o),e.element=t.element,yo(e,"ZodArray",{min(e,t){return this.check(Rn(e,t))},nonempty(e){return this.check(Rn(1,e))},max(e,t){return this.check(Cn(e,t))},length(e,t){return this.check(Un(e,t))},unwrap(){return this.element}})});function er(e,t){return function(e,t,n){return new e({type:"array",element:t,...W(n)})}(Qo,e,t)}var tr=/*@__PURE__*/O("ZodObject",(e,t)=>{Vt.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def;r.type="object",r.properties={};const a=i.shape;for(const l in a)r.properties[l]=Ln(a[l],t,{...o,path:[...o.path,"properties",l]});const s=new Set(Object.keys(a)),u=new Set([...s].filter(e=>{const n=i.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout}));u.size>0&&(r.required=Array.from(u)),"never"===i.catchall?._zod.def.type?r.additionalProperties=!1:i.catchall?i.catchall&&(r.additionalProperties=Ln(i.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):"output"===t.io&&(r.additionalProperties=!1)})(e,t,n,o),R(e,"shape",()=>t.shape),yo(e,"ZodObject",{keyof(){return dr(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Go()})},loose(){return this.clone({...this._zod.def,catchall:Go()})},strict(){return this.clone({...this._zod.def,catchall:Xo()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return function(e,t){if(!M(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const n=e._zod.def.shape;for(const e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Y(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return U(this,"shape",n),n}}))}(this,e)},safeExtend(e){return function(e,t){if(!M(t))throw new Error("Invalid input to safeExtend: expected a plain object");return Y(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return U(this,"shape",n),n}}))}(this,e)},merge(e){return function(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");return Y(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return U(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}(this,e)},pick(e){return function(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return Y(e,q(e._zod.def,{get shape(){const e={};for(const o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(e[o]=n.shape[o])}return U(this,"shape",e),e},checks:[]}))}(this,e)},omit(e){return function(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return Y(e,q(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete o[e]}return U(this,"shape",o),o},checks:[]}))}(this,e)},partial(...e){return function(e,t,n){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return Y(t,q(t._zod.def,{get shape(){const o=t._zod.def.shape,r={...o};if(n)for(const t in n){if(!(t in o))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(r[t]=e?new e({type:"optional",innerType:o[t]}):o[t])}else for(const t in o)r[t]=e?new e({type:"optional",innerType:o[t]}):o[t];return U(this,"shape",r),r},checks:[]}))}(hr,this,e[0])},required(...e){return t=kr,n=this,o=e[0],Y(n,q(n._zod.def,{get shape(){const e=n._zod.def.shape,r={...e};if(o)for(const n in o){if(!(n in r))throw new Error(`Unrecognized key: "${n}"`);o[n]&&(r[n]=new t({type:"nonoptional",innerType:e[n]}))}else for(const n in e)r[n]=new t({type:"nonoptional",innerType:e[n]});return U(this,"shape",r),r}}));var t,n,o}})});function nr(e,t){const n={type:"object",shape:e??{},...W(t)};return new tr(n)}var or=/*@__PURE__*/O("ZodUnion",(e,t)=>{Gt.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=!1===r.inclusive,a=r.options.map((e,n)=>Ln(e,t,{...o,path:[...o.path,i?"oneOf":"anyOf",n]}));i?n.oneOf=a:n.anyOf=a})(e,t,n,o),e.options=t.options});function rr(e,t){return new or({type:"union",options:e,...W(t)})}var ir=/*@__PURE__*/O("ZodDiscriminatedUnion",(e,t)=>{or.init(e,t),Kt.init(e,t)});function ar(e,t,n){return new ir({type:"union",options:t,discriminator:e,...W(n)})}var sr=/*@__PURE__*/O("ZodIntersection",(e,t)=>{Xt.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=Ln(r.left,t,{...o,path:[...o.path,"allOf",0]}),a=Ln(r.right,t,{...o,path:[...o.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length;n.allOf=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]]})(e,t,n,o)});var ur=/*@__PURE__*/O("ZodRecord",(e,t)=>{tn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=n,i=e._zod.def;r.type="object";const a=i.keyType,s=a._zod.bag?.patterns;if("loose"===i.mode&&s&&s.size>0){const e=Ln(i.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});r.patternProperties={};for(const t of s)r.patternProperties[t.source]=e}else"draft-07"!==t.target&&"draft-2020-12"!==t.target||(r.propertyNames=Ln(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),r.additionalProperties=Ln(i.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const u=a._zod.values;if(u){const e=[...u].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(r.required=e)}})(e,t,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function lr(e,t,n){return t&&t._zod?new ur({type:"record",keyType:e,valueType:t,...W(n)}):new ur({type:"record",keyType:wo(),valueType:e,...W(t)})}var cr=/*@__PURE__*/O("ZodEnum",(e,t)=>{nn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=I(e._zod.def.entries);o.every(e=>"number"==typeof e)&&(n.type="number"),o.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=o})(e,0,n),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,o)=>{const r={};for(const i of e){if(!n.has(i))throw new Error(`Key ${i} not found in enum`);r[i]=t.entries[i]}return new cr({...t,checks:[],...W(o),entries:r})},e.exclude=(e,o)=>{const r={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete r[t]}return new cr({...t,checks:[],...W(o),entries:r})}});function dr(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new cr({type:"enum",entries:n,...W(t)})}var pr=/*@__PURE__*/O("ZodLiteral",(e,t)=>{on.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n)=>{const o=e._zod.def,r=[];for(const i of o.values)if(void 0===i){if("throw"===t.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof i){if("throw"===t.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema");r.push(Number(i))}else r.push(i);if(0===r.length);else if(1===r.length){const e=r[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else r.every(e=>"number"==typeof e)&&(n.type="number"),r.every(e=>"string"==typeof e)&&(n.type="string"),r.every(e=>"boolean"==typeof e)&&(n.type="boolean"),r.every(e=>null===e)&&(n.type="null"),n.enum=r})(e,t,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function fr(e,t){return new pr({type:"literal",values:Array.isArray(e)?e:[e],...W(t)})}var mr=/*@__PURE__*/O("ZodTransform",(e,t)=>{rn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,e),e._zod.parse=(n,o)=>{if("backward"===o.direction)throw new x(e.constructor.name);n.addIssue=o=>{if("string"==typeof o)n.issues.push(te(o,n.value,t));else{const t=o;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(te(t))}};const r=t.transform(n.value,n);return r instanceof Promise?r.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=r,n.fallback=!0,n)}});function _r(e){return new mr({type:"transform",transform:e})}var hr=/*@__PURE__*/O("ZodOptional",(e,t)=>{sn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>Yn(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});function yr(e){return new hr({type:"optional",innerType:e})}var gr=/*@__PURE__*/O("ZodExactOptional",(e,t)=>{un.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>Yn(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});var br=/*@__PURE__*/O("ZodNullable",(e,t)=>{ln.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=Ln(r.innerType,t,o),a=t.seen.get(e);"openapi-3.0"===t.target?(a.ref=r.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function vr(e){return new br({type:"nullable",innerType:e})}var wr=/*@__PURE__*/O("ZodDefault",(e,t)=>{cn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;Ln(r.innerType,t,o),t.seen.get(e).ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});var Sr=/*@__PURE__*/O("ZodPrefault",(e,t)=>{pn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;Ln(r.innerType,t,o),t.seen.get(e).ref=r.innerType,"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});var kr=/*@__PURE__*/O("ZodNonOptional",(e,t)=>{fn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;Ln(r.innerType,t,o),t.seen.get(e).ref=r.innerType})(e,t,0,o),e.unwrap=()=>e._zod.def.innerType});var Or=/*@__PURE__*/O("ZodCatch",(e,t)=>{_n.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;let i;Ln(r.innerType,t,o),t.seen.get(e).ref=r.innerType;try{i=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});var Er=/*@__PURE__*/O("ZodPipe",(e,t)=>{hn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def,i=r.in._zod.traits.has("$ZodTransform"),a="input"===t.io?i?r.out:r.in:r.out;Ln(a,t,o),t.seen.get(e).ref=a})(e,t,0,o),e.in=t.in,e.out=t.out});function xr(e,t){return new Er({type:"pipe",in:e,out:t})}var zr=/*@__PURE__*/O("ZodPreprocess",(e,t)=>{Er.init(e,t),gn.init(e,t)}),Tr=/*@__PURE__*/O("ZodReadonly",(e,t)=>{bn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(t,n,o)=>((e,t,n,o)=>{const r=e._zod.def;Ln(r.innerType,t,o),t.seen.get(e).ref=r.innerType,n.readOnly=!0})(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});var Ir=/*@__PURE__*/O("ZodCustom",(e,t)=>{Sn.init(e,t),go.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,e)});function Ar(e,t){return new zr({type:"pipe",in:_r(e),out:t})}var $r,Pr=dr(["CONSENT","SOFT_OPT_IN","TRANSACTIONAL_ONLY","UNKNOWN"]),Nr=dr(["MANUAL_UNSUB","ONE_CLICK_UNSUB","HARD_BOUNCE","COMPLAINT","ADMIN_BLOCK"]),Cr=dr(["BROADCAST","AUTOMATION"]),Rr=dr(["ABANDONED_CART","POST_PURCHASE","WELCOME","WIN_BACK","RE_ENGAGEMENT","TAG_ADDED"]),Ur=(nr({email:Oo(),name:wo().trim().min(1).nullable().optional(),customer_id:wo().uuid().nullable().optional(),tags:er(wo().trim().min(1)).default([]),consent_basis:Pr.default("UNKNOWN"),source:wo().trim().min(1).default("dashboard")}),nr({name:wo().trim().min(1),subject:wo().trim().min(1),preheader:wo().nullable().optional(),mjml_source:wo().trim().min(1),builder_project_json:lr(wo(),Go()).nullable().optional(),thumbnail_url:Tn(zo,$r).nullable().optional()}),nr({mjml_source:wo().trim().min(1),sample_variables:lr(wo(),Go()).optional()}),nr({recipient_email:Oo(),sample_variables:lr(wo(),Go()).optional()}),nr({marketing_enabled:Vo().optional(),default_from_name:wo().trim().min(1).nullable().optional(),default_from_email:Oo().nullable().optional(),default_reply_to_email:Oo().nullable().optional(),physical_address:wo().trim().min(1).nullable().optional(),physical_address_line2:wo().trim().min(1).nullable().optional(),physical_city:wo().trim().min(1).nullable().optional(),physical_postal_code:wo().trim().min(1).nullable().optional(),physical_country:wo().trim().length(2).nullable().optional(),daily_limit:Bo().int().positive().optional(),monthly_soft_cap:Bo().int().positive().optional()}),nr({type:Cr.default("BROADCAST"),name:wo().trim().min(1),subject:wo().trim().min(1),template_id:wo().uuid(),list_id:wo().uuid().nullable().optional(),segment_id:wo().uuid().nullable().optional(),from_name:wo().trim().min(1),from_email:Oo(),reply_to_email:Oo().nullable().optional(),schedule_at:wo().datetime().nullable().optional(),target_emails:er(Oo()).max(0,"Direct recipient entry is disabled. Use lists or segments built from Shoppex customers and paid order buyers.").default([]),idempotency_key:wo().trim().min(1).nullable().optional()}),nr({name:wo().trim().min(1),subject:wo().trim().min(1),template_id:wo().uuid(),from_name:wo().trim().min(1),from_email:Oo(),reply_to_email:Oo().nullable().optional(),trigger:Rr,delay_seconds:Bo().int().min(0).default(0),conditions:lr(wo(),Go()).default({})}),nr({trigger:Rr,email:Oo(),customer_id:wo().uuid().nullable().optional(),name:wo().trim().min(1).nullable().optional(),consent_basis:Pr.default("UNKNOWN"),variables:lr(wo(),Go()).default({}),idempotency_key:wo().trim().min(1).nullable().optional()}),nr({email:Oo(),reason:Nr.default("ADMIN_BLOCK"),notes:wo().nullable().optional()}),["BITCOIN","LITECOIN","ETHEREUM","BITCOIN_CASH","MONERO","RIPPLE","TRON","SOLANA","POLYGON","BINANCE_COIN","CRONOS","CONCORDIUM","NANO","DOGECOIN","DASH"]),qr=["NOWPAYMENTS","CRYPTOMUS","OXAPAY"],Dr=["NOWPAYMENTS_WHITELABEL"],jr={USDT:["USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL"],USDC:["USDC_ERC20","USDC_TRC20","USDC_BEP20","USDC_POLYGON","USDC_SOL"],DAI:["DAI_ERC20"]},Lr=Object.keys(jr),Zr=[...jr.USDT,...jr.USDC,...jr.DAI],Mr=[...Ur,...Zr],Fr=["BITCOIN_LN"],Br=[...qr,...Dr],Jr=[...Mr,...Fr],Yr=Mr,Wr=(new Set(["SHOPPEXPAY"]),new Set(Ur)),Vr=new Set(Zr),Hr=(new Set(Mr),new Set(Fr),new Set(qr),new Set(Dr),new Set(Br),new Set(Jr),new Set(Lr),new Set(["STRIPE","PAYPAL","PAYPAL_FF","MOLLIE","AUTHORIZENET","NMI","SQUARE","SUMUP","SHOPIFY","PANDABASE","DEBLOMASSI","SHOPPEXPAY","MONEYMOTION","OVGC","WHOP","DODO","MAVERICK","CASHAPP","VENMO","CRYPTO","CUSTOMER_BALANCE","MANUAL"]),{CASHAPP:"CASH_APP",PAYPAL_CREDIT_CARD:"PAYPAL",EUTHEREUM:"ETHEREUM",USDT_MATIC:"USDT_POLYGON",USDC_MATIC:"USDC_POLYGON"});function Gr(e,t){if(new Set(t).size!==t.length)throw new Error(`${e} contains duplicate entries`)}Gr("COIN_GATEWAY_KEYS",Ur),Gr("TOKEN_GATEWAY_KEYS",Zr),Gr("CRYPTO_GATEWAY_KEYS",Mr),Gr("LEGACY_CRYPTO_GATEWAY_KEYS",Fr),Gr("CRYPTO_PROVIDER_KEYS",qr),Gr("MANAGED_CRYPTO_PROVIDER_KEYS",Dr),Gr("CRYPTO_PROVIDER_GATEWAY_KEYS",Br),Gr("DEFAULT_NOWPAYMENTS_CRYPTO_GATEWAY_KEYS",Yr),Gr("DEFAULT_CRYPTOMUS_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL","USDC_ERC20","USDC_BEP20","USDC_POLYGON","DAI_ERC20"]),Gr("DEFAULT_OXAPAY_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDC_ERC20"]);for(const Ec of Mr)if(!Wr.has(Ec)&&!Vr.has(Ec))throw new Error(`CRYPTO_GATEWAY_KEYS contains an unclassified gateway: ${Ec}`);new Set(["STRIPE","PAYPAL","PAYPAL_FF","SKRILL","CASHAPP","CASH_APP","PERFECT_MONEY","SQUARE","SUMUP","SHOPIFY","PANDABASE","DEBLOMASSI","SHOPPEXPAY","MONEYMOTION","OVGC","WHOP","DODO","MAVERICK","VENMO","MOLLIE","AUTHORIZENET","NMI"].map(e=>function(e){const t=e.trim();if(!t)return"";if(/^manual:/i.test(t)){const e=t.slice(t.indexOf(":")+1).trim();return e?`MANUAL:${e}`:"MANUAL"}let n=t.toUpperCase();const o=n.match(/^(USDT|USDC|DAI):([A-Z0-9_]+)$/);if(o){const[,e,t]=o;n=`${e}_${"MATIC"===t?"POLYGON":t}`}return Hr[n]??n}(e))),new Set(["WHITE_LABEL","NATIVE"]);var Kr=[...Br,"NATIVE"],Xr=(new Set(Kr),nr({set:Vo()})),Qr=nr({status:dr(["READY","NEEDS_ATTENTION"]).optional(),code:wo().optional(),message:wo().optional(),checked_at:wo().optional()}),ei=(nr({provider:wo(),type:wo(),enabled:Vo(),connected:Vo(),credentials:lr(wo(),Xr),public_config:lr(wo(),Go()),webhook:lr(wo(),Go()).optional(),health:Qr.optional()}),"#2563eb"),ti=["comfortable","compact"],ni=["top","side","background"],oi=dr(["checkout","payment_link","embed"]),ri=dr(ti),ii=dr(["light","dark","system"]),ai=dr(ni),si=dr(["ghost","outlined","filled"]),ui=dr(["sheet","fullscreen","center"]),li=dr(["visible","hidden"]),ci=(dr(["checkout.shell","checkout.panel","checkout.header","brand.logo","product.card","product.image","product.title","product.description","product.price","product.quantity","product.addon","paymentLink.hero","summary.panel","summary.line","summary.total","form.field","form.label","form.help","coupon.input","input.base","input.error","button.primary","button.secondary","payment.methods","payment.method","payment.method.icon","payment.method.label","payment.method.meta","payment.method.fee","payment.method.indicator","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.launcher","embed.launcher.icon","embed.productCard","embed.productCard.image","embed.productCard.title","embed.productCard.price","embed.cart","embed.cart.row","embed.cart.summary","embed.modal","embed.modal.header","embed.modal.close","embed.skeleton","embed.loader","embed.branding"]),dr(["product.title","product.price","summary.total","payment.method.label","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.modal.close","embed.branding"]),wo().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),di=wo().trim().min(1).max(200).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS color or gradient"),pi=wo().trim().min(1).max(400).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS box-shadow value"),fi=dr(["Inter","Geist","Manrope","Plus Jakarta Sans","DM Sans","Space Grotesk","Sora","IBM Plex Sans","JetBrains Mono","Arial","System UI"]),mi=wo().trim().min(1).max(60).regex(/^[A-Za-z0-9 +\-_]+$/,"Use a Google Fonts family name"),_i=wo().url(),hi=nr({brand:nr({logoUrl:_i.optional().nullable(),logoDarkUrl:_i.optional().nullable(),logoMaxHeight:Bo().int().min(16).max(80).optional(),faviconUrl:_i.optional().nullable()}).strict().optional(),color:nr({brand:ci.optional(),brandContrast:ci.optional(),background:ci.optional(),surface:ci.optional(),surfaceRaised:ci.optional(),text:ci.optional(),textMuted:ci.optional(),border:ci.optional(),focus:ci.optional(),success:ci.optional(),warning:ci.optional(),error:ci.optional()}).strict().optional(),typography:nr({fontFamily:fi.optional(),googleFontFamily:mi.optional(),baseSize:Bo().int().min(12).max(18).optional()}).strict().optional(),shape:nr({buttonRadius:Bo().int().min(0).max(24).optional(),inputRadius:Bo().int().min(0).max(24).optional(),cardRadius:Bo().int().min(0).max(28).optional()}).strict().optional(),spacing:nr({density:ri.optional(),controlHeight:Bo().int().min(36).max(56).optional()}).strict().optional(),component:nr({primaryButton:nr({background:ci.optional(),text:ci.optional()}).strict().optional(),input:nr({background:ci.optional(),border:ci.optional(),focusRing:di.optional()}).strict().optional(),summary:nr({background:ci.optional()}).strict().optional(),paymentMethod:nr({background:di.optional(),cardBackground:di.optional(),border:di.optional(),selectedBackground:di.optional()}).strict().optional(),productCard:nr({background:di.optional(),border:di.optional(),shadow:pi.optional()}).strict().optional(),productImage:nr({background:di.optional(),border:di.optional(),icon:di.optional()}).strict().optional(),brandAvatar:nr({background:di.optional(),text:ci.optional(),border:di.optional()}).strict().optional(),pill:nr({background:di.optional(),border:di.optional(),text:ci.optional()}).strict().optional(),errorBanner:nr({background:di.optional(),border:di.optional(),text:ci.optional()}).strict().optional(),warningBanner:nr({background:di.optional(),border:di.optional(),text:ci.optional()}).strict().optional(),radio:nr({idleRing:di.optional(),checkedFill:ci.optional(),checkedIcon:ci.optional()}).strict().optional(),divider:nr({color:di.optional()}).strict().optional()}).strict().optional(),paymentLink:nr({heroImageUrl:_i.optional().nullable(),heroPosition:ai.optional()}).strict().optional(),embed:nr({launcher:nr({background:di.optional(),text:ci.optional(),radius:Bo().int().min(0).max(28).optional(),paddingX:Bo().int().min(8).max(32).optional(),paddingY:Bo().int().min(6).max(24).optional(),shadow:pi.optional()}).strict().optional(),productCard:nr({background:di.optional(),border:di.optional(),imageRadius:Bo().int().min(0).max(24).optional(),padding:Bo().int().min(8).max(32).optional()}).strict().optional(),cart:nr({background:di.optional(),rowBorder:di.optional(),itemSpacing:Bo().int().min(4).max(28).optional()}).strict().optional(),modal:nr({background:di.optional(),radius:Bo().int().min(0).max(32).optional(),maxWidth:Bo().int().min(360).max(960).optional(),shadow:pi.optional()}).strict().optional(),backdrop:nr({color:di.optional(),blur:Bo().int().min(0).max(24).optional(),opacity:Bo().min(0).max(1).optional()}).strict().optional(),skeleton:nr({background:di.optional(),shimmer:di.optional()}).strict().optional(),spinner:nr({color:di.optional()}).strict().optional(),closeButton:nr({style:si.optional()}).strict().optional(),mobile:nr({layout:ui.optional()}).strict().optional(),content:nr({productDescription:li.optional(),termsShortcut:li.optional()}).strict().optional()}).strict().optional()}).strict(),yi=nr({mode:ii.default("system"),fontSource:dr(["curated"]).default("curated")}).strict(),gi=dr(["standalone","bundle","pointer"]),bi=nr({name:wo().trim().min(1).max(80),fingerprint:wo().trim().min(1).max(128)}).strict(),vi=["embed_design"];function wi(e){if(!e||"object"!=typeof e||Array.isArray(e))return e;const t=e;if(!vi.some(e=>e in t))return e;const n={...t};for(const o of vi)delete n[o];return n}var Si=Ar(wi,nr({type:fr("shoppex.style_theme"),surface:fr("checkout"),format_version:rr([fr(1),fr(2)]),name:wo().trim().min(1).max(80),description:wo().trim().max(240).optional(),token_schema_version:fr(1),tokens:hi.default({}),custom_css:wo().max(2e4).default(""),settings:yi.default({mode:"system",fontSource:"curated"}),_meta:lr(wo(),Go()).optional()}).strict()),ki=(Ar(wi,nr({type:fr("shoppex.style_theme"),surface:oi,format_version:rr([fr(1),fr(2)]),name:wo().trim().min(1).max(80),description:wo().trim().max(240).optional(),token_schema_version:fr(1),tokens:hi.default({}),custom_css:wo().max(2e4).default(""),settings:yi.default({mode:"system",fontSource:"curated"}),share_mode:gi.default("standalone"),parent_hint:bi.optional(),bundled_parent:Si.optional(),_meta:lr(wo(),Go()).optional()}).strict()),nr({theme_id:wo().uuid().nullable(),surface:oi,token_schema_version:fr(1),revision:Bo().int().min(1),tokens:hi,custom_css:wo(),css_variables:lr(wo(),wo())}).strict(),nr({theme_id:wo().uuid().nullable(),parent_theme_id:wo().uuid().nullable(),surface:fr("embed"),token_schema_version:fr(1),revision:Bo().int().min(1),parent_revision:Bo().int().min(1).nullable(),tokens:hi,custom_css:wo(),css_variables:lr(wo(),wo())}).strict(),nr({shop_id:wo().uuid(),product_id:wo().uuid().nullable(),product_group_id:wo().uuid().nullable(),payment_link_id:wo().uuid().nullable(),invoice_id:wo().nullable()}).strict(),nr({embed_runtime:wo().min(16).max(128),revision:Bo().int().min(1),parent_revision:Bo().int().min(1).nullable(),theme_id:wo().uuid().nullable(),css_variables:lr(wo(),wo()),custom_css:wo()}).strict(),nr({embed_style_revision:function(e){return function(e,t){return new e({type:"number",coerce:!0,checks:[],...W(t)})}(Fo,e)}().int().min(1).optional(),embed_runtime:wo().min(16).max(128).optional(),preview:Vo().optional()}).strict(),dr(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal","live_chat"]),dr(["layout.header.before","layout.header.after","layout.overlay","home.hero.after","home.grid.before","product.buybox.after","layout.footer.before","floating.bottom_right"])),Oi=(dr(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal","live_chat"]),wo().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),Ei=dr(["static","marquee"]),xi=dr(["brand_blue","emerald","sunset","rose","charcoal","custom"]),zi=dr(["hide","message"]),Ti=dr(["compact","comfortable"]),Ii=dr(["subtle","outline","solid"]),Ai=dr(["minimal","boxed"]),$i=dr(["indigo","emerald","amber","rose","slate","custom"]),Pi=dr(["compact","feature","alert"]),Ni=dr(["compact","comfortable"]),Ci=dr(["subtle","outline","solid"]),Ri=dr(["sparkles","megaphone","gift","truck","shield","support","none"]),Ui=dr(["show","hide"]),qi=dr(["midnight","ocean","ember","forest","custom"]),Di=dr(["delay","exit_intent"]),ji=wo().trim().refine(e=>{if(e.startsWith("/"))return!0;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}},'Use a valid absolute URL or a path starting with "/"'),Li=wo().trim().refine(e=>{const t=new Date(e);return!Number.isNaN(t.getTime())},"Use a valid date and time"),Zi=nr({text:wo().trim().min(1,"Text is required").max(160,"Text must be 160 characters or fewer"),linkLabel:wo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:ji.optional().nullable(),dismissible:Vo().default(!1),displayMode:Ei.default("marquee"),themePreset:xi.default("custom"),animationSpeedSeconds:Bo().int().min(8).max(40).default(30),backgroundColor:Oi.default("#111827"),textColor:Oi.default("#f9fafb")}),Mi=nr({text:wo().trim().min(1,"Text is required").max(120,"Text must be 120 characters or fewer"),endAt:Li,linkLabel:wo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:ji.optional().nullable(),dismissible:Vo().default(!1),themePreset:xi.default("brand_blue"),expiredBehavior:zi.default("hide"),expiredMessage:wo().trim().max(120,"Expired message must be 120 characters or fewer").optional().nullable(),density:Ti.default("compact"),ctaStyle:Ii.default("subtle"),timerStyle:Ai.default("boxed"),backgroundColor:Oi.default("#111827"),textColor:Oi.default("#f9fafb")}),Fi=nr({eyebrow:wo().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:wo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:wo().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),linkLabel:wo().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:ji.optional().nullable(),themePreset:$i.default("indigo"),layoutStyle:Pi.default("feature"),density:Ni.default("comfortable"),ctaStyle:Ci.default("outline"),icon:Ri.default("sparkles"),iconVisibility:Ui.default("show"),backgroundColor:Oi.default("#111827"),textColor:Oi.default("#f9fafb"),accentColor:Oi.default("#818cf8")}),Bi=nr({title:wo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer").default("Recent purchases"),lookbackHours:Bo().int().min(1).max(168).default(24),cooldownSeconds:Bo().int().min(5).max(300).default(20),maxItems:Bo().int().min(1).max(20).default(8),anonymizeMode:dr(["first_name_city","first_name_country","initial_country","anonymous"]).default("first_name_city"),includedProductIds:er(wo().min(1)).max(50).default([])}),Ji=nr({eyebrow:wo().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:wo().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:wo().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),couponCode:wo().trim().min(2,"Coupon code is required").max(40,"Coupon code must be 40 characters or fewer"),primaryButtonLabel:wo().trim().min(1,"Primary button label is required").max(24,"Primary button label must be 24 characters or fewer").default("Copy code"),secondaryButtonLabel:wo().trim().min(1,"Secondary button label is required").max(24,"Secondary button label must be 24 characters or fewer").default("Maybe later"),disclaimer:wo().trim().max(100,"Disclaimer must be 100 characters or fewer").optional().nullable(),themePreset:qi.default("midnight"),trigger:Di.default("delay"),delaySeconds:Bo().int().min(0).max(60).default(6),showOncePerSession:Vo().default(!0),reminderHours:Bo().int().min(1).max(720).default(24),backgroundColor:Oi.default("#111827"),textColor:Oi.default("#f8fafc"),accentColor:Oi.default("#7c9cff"),heroImageUrl:ji.optional().nullable(),discountDisplay:wo().trim().max(24,"Discount display must be 24 characters or fewer").optional().nullable(),expiresAt:Li.optional().nullable()}),Yi=dr(["hidden","optional"]),Wi=nr({headline:wo().trim().min(1,"Headline is required").max(60,"Headline must be 60 characters or fewer").default("Chat with us"),greeting:wo().trim().min(1,"Greeting is required").max(240,"Greeting must be 240 characters or fewer").default("Hi! Send us a message and we will reply as soon as possible."),inputPlaceholder:wo().trim().min(1,"Placeholder is required").max(80,"Placeholder must be 80 characters or fewer").default("Type your message…"),contactFields:Yi.default("optional"),accentColor:Oi.default("#111827"),launcherIconColor:Oi.default("#f9fafb")}),Vi=nr({type:fr("announcement_bar"),slot:ki,enabled:Vo().default(!0),sortOrder:Bo().int().min(0).max(999).default(0),config:Zi}),Hi=nr({type:fr("recent_purchase_popup"),slot:ki,enabled:Vo().default(!0),sortOrder:Bo().int().min(0).max(999).default(0),config:Bi}),Gi=nr({type:fr("countdown_bar"),slot:ki,enabled:Vo().default(!0),sortOrder:Bo().int().min(0).max(999).default(0),config:Mi}),Ki=nr({type:fr("promo_info_card"),slot:ki,enabled:Vo().default(!0),sortOrder:Bo().int().min(0).max(999).default(0),config:Fi}),Xi=nr({type:fr("coupon_popup_modal"),slot:ki,enabled:Vo().default(!0),sortOrder:Bo().int().min(0).max(999).default(0),config:Ji}),Qi=nr({type:fr("live_chat"),slot:ki,enabled:Vo().default(!0),sortOrder:Bo().int().min(0).max(999).default(0),config:Wi}),ea=(ar("type",[Vi,Gi,Ki,Hi,Xi,Qi]),ar("type",[Vi.extend({id:wo().min(1)}),Gi.extend({id:wo().min(1)}),Ki.extend({id:wo().min(1)}),Hi.extend({id:wo().min(1)}),Xi.extend({id:wo().min(1)}),Qi.extend({id:wo().min(1)})]),new Set(["amount","currency","invoice_id","customer_email","id","email","price","price_usd","product_name","quantity"].map(e=>e.toLowerCase())),lr(wo(),Go())),ta=rr([wo(),Bo()]),na=nr({kind:dr(["address","redirect","embed_pending"]),gateway:wo(),checkout_url:wo().nullable().optional(),address:wo().optional(),amount:wo().optional(),qr_code:wo().optional(),expires_at:wo().optional(),payment_id:wo().optional(),confirmations_needed:Bo().optional()}).passthrough(),oa=nr({default_value:wo().optional(),min_length:Bo().optional(),name:wo(),placeholder:wo().optional(),regex:wo().optional(),required:Vo(),type:wo()}),ra=nr({id:wo(),price:Bo(),quantity:Bo(),title:wo()}),ia=nr({currency:wo(),description:wo(),id:wo(),price:Bo(),title:wo(),uniqid:wo()}),aa=nr({addons:er(ra).optional(),available_addons:er(Go()).optional(),cloudflare_image_id:wo().nullable(),created_at:wo().optional(),currency:wo(),custom_fields:ea.nullable().optional(),custom_fields_config:er(oa).nullable().optional(),delivery_instruction:Go().optional(),delivery_instruction_config:Go().optional(),delivery_instruction_label:Go().optional(),delivery_text:wo().nullable().optional(),delivery_time:Bo().nullable().optional(),delivery_time_unit:dr(["minutes","hours","days"]).nullable().optional(),description:wo().nullable(),discount_percent:Bo().optional(),discount_display:Bo().optional(),discounted_total_display:Bo().optional(),gateways:er(wo()).nullable().optional(),id:wo().optional(),image_name:wo().nullable(),image_storage:wo().nullable().optional(),line_item_id:wo().nullable().optional(),pay_what_you_want:Vo().optional(),price:wo().optional(),price_display:ta,quantity:Bo(),quantity_max:Bo().optional(),quantity_min:Bo().optional(),recurring_interval:wo().nullable().optional(),recurring_interval_count:Bo().nullable().optional(),redirect_link:wo().nullable().optional(),redirect_time:Bo().nullable().optional(),service_text:wo().nullable().optional(),setup_cost:wo().optional(),slug:wo().nullable().optional(),storefront_url:wo().nullable().optional(),status:wo().nullable().optional(),subtype:wo().nullable().optional(),terms_of_service:wo().nullable().optional(),title:wo(),total:Bo(),trial_period:Bo().nullable().optional(),type:wo().nullable().optional(),uniqid:wo().nullable(),unit_price:Bo().optional(),unit_price_display:ta.optional(),unit_quantity:Bo(),updated_at:wo().optional(),variant_title:wo().nullable().optional(),video_link:wo().nullable().optional(),volume_discounts:Go().optional(),warranty_days:Bo().nullable().optional(),warranty_text:wo().nullable().optional()}),sa=nr({amount:Bo(),gateway:wo()}),ua=nr({custom_tip_enabled:Vo().optional(),enabled:Vo(),preset_percentages:er(Bo()).optional()}),la=nr({allow_partial_payment:Vo().optional(),auto_apply:Vo().optional(),available:wo(),currency:wo()}),ca=nr({affiliate_code:wo().nullable().optional(),already_paid:ta.nullable().optional(),amount_due:ta.nullable().optional(),currency:wo().nullable().optional(),discount:ta.nullable().optional(),discount_label:wo().nullable().optional(),gateway_fee:ta.nullable().optional(),platform_fee:ta.nullable().optional(),subtotal:ta.nullable().optional(),tip:ta.nullable().optional(),total:ta.nullable().optional()}),da=nr({active:Vo(),expires_at:wo()}),pa=nr({faq_url:wo().nullable(),support_email:wo().nullable(),support_url:wo().nullable(),telegram_invite:wo().nullable(),discord_invite_url:wo().nullable()}),fa=nr({currency:wo().nullable().optional(),enabled:Vo(),max_amount:Bo().nullable().optional(),min_amount:Bo().nullable().optional(),reason:dr(["BELOW_MIN_AMOUNT","ABOVE_MAX_AMOUNT"]).nullable().optional()}),ma=nr({delivered_items:er(Go()),downloads:er(Go()),external_urls:er(Go()),license_keys:er(Go()),tracking_codes:er(Go())}),_a=nr({active:Vo().optional(),attempt_id:wo().optional(),buyer_actionable:Vo().nullable().optional(),crypto_currency:wo().nullable().optional(),currency:wo().optional(),expected_amount:wo().nullable().optional(),expected_crypto_amount:wo().nullable().optional(),last_checked_at:wo().optional(),missing_amount:wo().nullable().optional(),missing_crypto_amount:wo().nullable().optional(),provider_reference:wo().nullable().optional(),provider_status:wo().nullable().optional(),received_amount:wo().nullable().optional(),received_fiat_estimate:wo().nullable().optional(),received_crypto_amount:wo().nullable().optional(),shortfall_percent:wo().nullable().optional(),buyer_action_reason:dr(["BELOW_MINIMUM_COLLECTIBLE","PROVIDER_SESSION_CLOSED","PROVIDER_TOP_UP_UNSUPPORTED","MERCHANT_REVIEW_REQUIRED"]).nullable().optional()}),ha=nr({created_at:wo().nullable(),details:wo().nullable(),id:wo(),invoice_id:wo(),status:wo().nullable()}),ya=nr({billing_address_mode:dr(["INHERIT","REQUIRED","DISABLED"]).optional(),button_label:wo().nullable().optional(),display_name:wo().nullable().optional(),gateway:wo(),hide_provider_attribution:Vo().optional(),icon_url:wo().nullable().optional(),terms_mode:dr(["INHERIT","REQUIRED","DISABLED"]).optional()}),ga=nr({custom_fields:er(Go()).optional(),description:wo().nullable(),display_order:Bo(),icon_preset:wo().nullable(),icon_url:wo().nullable(),id:wo(),instructions:wo().nullable(),is_active:Vo().optional(),name:wo(),payment_type:dr(["INSTRUCTIONS","REDIRECT"]),redirect_url:wo().nullable(),require_proof:Vo(),proof_type:dr(["TEXT","IMAGE","BOTH"]).optional(),void_after_hours:Bo()}),ba=nr({email:nr({masked:wo().nullable(),persisted:Vo(),required_for_provider_session:Vo().optional()})}),va=nr({amount:wo().nullable(),confirmations:Bo().nullable(),created_at:Bo().optional(),hash:wo().nullable(),status:wo().optional()}),wa=nr({conf:nr({partial:Bo().optional(),void:Bo(),waiting_for_confirmations:Bo().optional()}),gateways:er(wo())}),Sa=nr({invoice_payable:Vo(),resumable:Vo(),resumable_gateway:wo().nullable(),gateway:wo().nullable().optional(),crypto_gateway:wo().nullable().optional(),processor:wo().nullable().optional(),flow_type:wo().nullable().optional(),status:wo().nullable().optional(),provider_reference:wo().nullable().optional(),provider_reference_type:wo().nullable().optional(),capture_id:wo().nullable().optional(),manual_confirmation_pending:Vo().optional(),payment_method_switch_locked:Vo().optional(),awaiting_payment_method:Vo().optional(),started_at:Bo().nullable().optional(),completed_at:Bo().nullable().optional()}),ka=Sa.extend({gateway:wo().nullable(),flow_type:wo().nullable(),status:wo().nullable(),manual_confirmation_pending:Vo(),payment_method_switch_locked:Vo()}),Oa=nr({theme_id:wo().nullable(),surface:dr(["checkout","payment_link","embed"]),token_schema_version:fr(1),revision:Bo(),tokens:ea,custom_css:wo(),css_variables:lr(wo(),wo())}),Ea=nr({link_id:wo(),source_gateway:wo().nullable(),invoice_uniqid:wo(),deprioritize_source_gateway:Vo().optional()}),xa=nr({enabled:Vo(),required:Vo(),connected:Vo()}),za=nr({gateway:wo().nullable().optional(),active_type:wo().nullable().optional(),percent_amount:ta.nullable().optional(),fixed_amount:ta.nullable().optional(),fixed_currency:wo().nullable().optional()}),Ta=nr({id:wo(),type:dr(["WALLET_CREDIT","COUPON"]),status:dr(["PENDING","FULFILLED","FAILED","REVOKED"]),amount:wo().nullable(),currency:wo().nullable(),coupon_code:wo().nullable(),reason:dr(["ORDER_COMPLETED","ORDER_COUNT_REACHED","SPEND_AMOUNT_REACHED","POSITIVE_REVIEW_LEFT","FIRST_PURCHASE_COMPLETED"]),trigger_reference_type:wo(),trigger_reference_id:wo(),created_at:Bo(),fulfilled_at:Bo().nullable(),expires_at:Bo().nullable()}),Ia=nr({summary:nr({available:wo(),pending:wo(),lifetime_earned:wo(),redeemed:wo().nullable(),currency:wo()}),activity:er(Ta),earned_after_invoice:er(Ta),pending_after_invoice:er(Ta)}),Aa=nr({already_paid_amount:ta.nullable().optional(),apm_method:wo().nullable().optional(),blockchain:wo().nullable(),buyer_identity:ba.nullable().optional(),checkout_tipping:ua.nullable().optional(),country_regulations:wo().nullable().optional(),coupon_applied:Vo().optional(),crypto_mode:wo().nullable().optional(),crypto_transactions:er(va).optional(),currency:wo().nullable(),custom_fields:ea.nullable().optional(),custom_gateways:er(ga).optional(),customer_balance:la.nullable().optional(),customer_email_masked:wo().nullable().optional(),dark_mode:rr([fr(0),fr(1)]).optional(),delivery:ma.optional(),delivery_info:ma.optional(),discount:Bo().optional(),discount_display:ta.optional(),eligible_gateways:er(wo()).optional(),environment:wo().optional(),fee_breakdown:ea.nullable().optional(),gateway:wo().nullable(),gateway_data:ea.nullable().optional(),gateway_eligibility:lr(wo(),fa).optional(),gateway_fee_previews:er(sa).optional(),gateways_available:er(wo()),license:rr([ea,fr(!1)]).optional(),name:wo().nullable(),paddle_token:wo().nullable().optional(),paddle_transaction_id:Go().optional(),payment_link_id:wo().nullable().optional(),payment_method_overrides:er(ya).optional(),payment_session_state:Sa.nullable().optional(),polling:da,pricing_breakdown:ca.nullable().optional(),product:er(aa).optional(),quantity:Bo().nullable(),rates_snapshot:lr(wo(),Bo()).optional(),remaining_amount:ta.nullable().optional(),selected_gateway:wo().nullable().optional(),shop_checkout_ambient_color:wo().nullable().optional(),shop_cloudflare_image_id:wo().nullable(),shop_domain:wo().nullable().optional(),shop_force_paypal_email_delivery:rr([fr(0),fr(1)]).optional(),shop_image_name:wo().nullable(),shop_image_storage:wo().nullable().optional(),shop_payment_gateways_fees:er(ea).optional(),shop_paypal_credit_card:rr([fr(0),fr(1)]).optional(),shop_return_url:wo().nullable().optional(),shop_slug:wo().nullable().optional(),shop_terms_enabled:Vo().optional(),shop_terms_of_service:wo().nullable().optional(),shop_terms_url:wo().nullable().optional(),shop_privacy_policy_url:wo().nullable().optional(),shop_refund_policy_url:wo().nullable().optional(),shop_walletconnect_id:wo().nullable().optional(),status:wo().nullable(),status_history:er(ha).optional(),status_history_legacy:er(ha).optional(),status_history_raw:er(ha).optional(),stripe_publishable_key:wo().nullable().optional(),stripe_user_id:wo().nullable().optional(),subtotal:Bo().optional(),subtype:wo().nullable().optional(),support:pa.optional(),theme:wo().optional(),tip_amount:ta.nullable().optional(),tip_amount_display:ta.nullable().optional(),tip_metadata:Go().optional(),total:ta,total_conversions:ea.optional(),total_display:ta,type:wo().nullable(),underpayment:_a.nullable().optional(),underpayment_status:wo().nullable().optional(),uniqid:wo(),void_times:er(wa).optional(),addons:Go().optional(),affiliate_data:Go().optional(),affiliate_revenue_customer_id:wo().nullable().optional(),bill_info:Go().optional(),binance_checkout_url:wo().nullable().optional(),binance_invoice_id:wo().nullable().optional(),binance_qrcode:wo().nullable().optional(),bundle_config:Go().optional(),bundles:Go().optional(),cashapp_cashtag:wo().nullable().optional(),cashapp_note:wo().nullable().optional(),cashapp_qrcode:wo().nullable().optional(),created_at:wo().optional(),crypto_address:wo().nullable().optional(),crypto_amount:ta.optional(),crypto_confirmations_needed:Bo().nullable().optional(),crypto_exchange_rate:ta.nullable().optional(),crypto_received:ta.optional(),crypto_uri:wo().nullable().optional(),developer_invoice:Go().optional(),developer_return_url:wo().nullable().optional(),developer_title:wo().nullable().optional(),exchange_rate:ta.nullable().optional(),external_order_id:wo().nullable().optional(),lex_order_id:wo().nullable().optional(),lex_payment_method:wo().nullable().optional(),paydash_payment_id:wo().nullable().optional(),paypal_apm:wo().nullable().optional(),paypal_email_delivery:Vo().optional(),paypal_fee:ta.nullable().optional(),paypal_order_id:wo().nullable().optional(),paypal_payer_email:wo().nullable().optional(),paypal_subscription_id:wo().nullable().optional(),paypal_subscription_link:wo().nullable().optional(),perfectmoney_id:wo().nullable().optional(),product_addons:Go().optional(),product_id:wo().nullable().optional(),product_title:wo().nullable().optional(),product_type:wo().nullable().optional(),product_variants:Go().optional(),recurring_billing_id:wo().nullable().optional(),skrill_link:wo().nullable().optional(),skrill_sid:wo().nullable().optional(),status_details:Go().optional(),stripe_apm:wo().nullable().optional(),stripe_client_secret:wo().nullable().optional(),stripe_id:wo().nullable().optional(),stripe_price_id:wo().nullable().optional(),subscription:Go().optional(),subscription_id:wo().nullable().optional(),sumup_id:wo().nullable().optional(),telegram_stars_payment_link:wo().nullable().optional(),telegram_stars_payment_note:wo().nullable().optional(),updated_at:wo().optional(),virtual_payments_id:wo().nullable().optional(),void_details:Go().optional()}).catchall(Go()),$a=aa.extend({available_addons:er(ia).optional(),delivery_instructions:wo().nullable().optional(),delivery_instructions_config:nr({enabled:fr(!0),required:Vo(),label:wo(),placeholder:wo().nullable().optional(),help_text:wo().nullable().optional(),max_length:Bo()}).nullable().optional(),delivery_instructions_label:wo().nullable().optional(),image_url:wo().nullable().optional(),redirectLink:wo().nullable().optional(),redirectTime:Bo().nullable().optional(),serviceText:wo().nullable().optional()}),Pa=(nr({data:nr({invoice:Aa.extend({uniqid:wo().uuid(),shop_id:rr([wo(),Bo()]).nullable(),customer_email:wo().nullable(),checkout_style:Oa.nullable().optional(),coupon_id:wo().nullable().optional(),discount_breakdown:ea.nullable().optional(),affiliate_code:wo().nullable().optional(),country:wo().nullable().optional(),paypal_email:wo().nullable().optional(),pandabase_available_payment_methods:er(wo()).optional(),payment_rescue:Ea.nullable().optional(),discord_integration:xa.nullable().optional(),payment_session_state:ka.nullable().optional(),shop_payment_gateways_fees:er(za).optional(),product:er($a).optional(),products:er($a).optional(),rewards:Ia.nullable().optional()}).superRefine((e,t)=>{void 0===e.product&&void 0===e.products&&t.addIssue({code:"custom",message:"Embed checkout invoice must include product or products.",path:["product"]})}),invoice_url:wo().nullable(),checkout_url:wo().nullable(),selected_gateway:wo().nullable(),session_started:Vo(),payment_session:na.nullable(),completion_access_grant:wo().nullable()}).passthrough()}).passthrough(),3),Na=2,Ca={maximumFractionDigits:3};function Ra(e){if(!Number.isFinite(e))return e;const t=e<0?-1:1,n=Ua(Math.abs(e),2),o=Math.round(n);return 0===o?0:t*Ua(o,-2)}function Ua(e,t){const[n,o="0"]=String(e).split("e");return Number(`${n}e${Number(o)+t}`)}var qa=wo().nullable(),Da=lr(wo(),Go()),ja=nr({logo_url:qa,primary_color:wo(),secondary_color:wo(),accent_color:wo()}),La=(nr({customer:nr({id:qa,email:wo(),name:wo(),avatar_url:qa,joined_at:qa}),shop:nr({id:wo(),slug:wo(),name:wo(),currency:wo(),branding:ja}),token:qa}),nr({attachment_image_id:nr({cloudflare_image_id:qa}).nullable()})),Za=nr({attachment_imageId:nr({cloudflareImageId:qa}).nullable()}),Ma=nr({uniqid:wo(),status:wo(),total:wo(),total_display:qa,currency:wo(),created_at:wo(),line_items:er(nr({product_title:qa,quantity:Bo(),product:La.nullable()}))}),Fa=nr({uniqid:wo(),status:wo(),total:wo(),totalDisplay:qa,currency:wo(),createdAt:wo(),lineItems:er(nr({productTitle:qa,quantity:Bo(),product:Za.nullable()}))}),Ba=nr({invoices:er(Fa),pagination:nr({page:Bo(),limit:Bo(),total:Bo(),has_more:Vo()})}),Ja=nr({gateway:wo(),displayName:qa,cryptoGateway:qa.optional(),blockchain:qa,cryptoAddress:qa,apmMethod:qa}),Ya=nr({id:wo(),uniqid:wo(),status:wo(),statusDetails:qa,total:wo(),totalDisplay:qa,subtotal:wo(),discount:wo(),discountDisplay:qa,tax:wo(),taxPercentage:wo(),currency:wo(),createdAt:wo(),updatedAt:wo(),gatewayUpdatedAt:qa,customFields:Da.nullable(),balancePaidAmount:wo(),currentPaymentAttemptId:qa,lineItems:er(nr({id:wo(),productTitle:wo(),productType:wo(),variantTitle:qa,unitPrice:wo(),quantity:Bo(),total:wo(),deliveryText:qa,deliverySummary:nr({codes:er(wo()),links:er(nr({label:wo(),value:wo(),href:qa.optional()})),notes:er(wo()),serials:er(nr({value:wo(),is_replacement:Vo(),is_replaced:Vo()}))}).nullable(),deliveredAt:qa,deliveryStatus:dr(["PENDING","AWAITING_FULFILLMENT","DELIVERED","FAILED"]),customFields:Da.nullable(),product:nr({uniqid:wo(),slug:qa,serviceText:qa,attachment_imageId:nr({cloudflareImageId:qa}).nullable()}).nullable()})),currentPayment:Ja.nullable(),payments:er(Ja)}),Wa=(nr({quote:nr({enabled:Vo(),currency:wo(),min_amount:wo(),max_amount:qa,bonus_tiers:er(nr({min_amount:wo(),bonus_percent:Bo()}))})}),nr({invoice_id:wo(),url:wo()}),nr({id:wo(),type:wo(),status:wo(),amount:qa,currency:qa,coupon_code:qa,reason:wo(),trigger_reference_type:wo(),trigger_reference_id:wo(),created_at:Bo(),fulfilled_at:Bo().nullable(),expires_at:Bo().nullable()})),Va=nr({summary:nr({available:wo(),pending:wo(),lifetime_earned:wo(),redeemed:qa,currency:wo()}),activity:er(Wa),earned_after_invoice:er(Wa),pending_after_invoice:er(Wa)}),Ha=nr({id:wo(),uniqid:wo(),label:qa,code:wo(),url:qa,status:dr(["pending","active","inactive","rejected"]),is_primary:Vo(),total_clicks:Bo(),total_sales:Bo(),total_revenue:wo(),is_active:Vo(),is_approved:Vo(),requested_affiliate_revenue_percent:Bo().nullable(),requested_affiliate_customer_discount_percent:Bo().nullable(),affiliate_revenue_percent_override:Bo().nullable(),affiliate_customer_discount_percent_override:Bo().nullable(),effective_commission_percent:Bo(),effective_customer_discount_percent:Bo(),commission_shareback_percent:Bo(),commission_shareback_enabled:Vo(),max_commission_shareback_percent:Bo(),created_at:qa,updated_at:qa}),Ga=nr({customer:nr({id:wo(),email:wo(),name:qa}).nullable(),state:wo(),can_create_custom_links:Vo(),custom_link_request_disabled_reason:qa,custom_links_require_approval:Vo(),affiliate_codes_accepted_at_checkout:Vo(),cash_payout_enabled:Vo(),links:er(Ha),preferred_payout:nr({asset:wo(),network:wo(),address:wo()}).nullable(),balance_currency:wo(),balances:nr({pending:wo(),available:wo(),requested:wo(),converted:wo(),paid:wo(),approved_total:wo()}),commissions:er(nr({id:wo(),invoice_id:wo(),commission_amount:wo(),base_amount:wo(),discount_amount:wo(),status:wo(),created_at:qa,paid_at:qa,converted_at:qa})),claims:er(nr({id:wo(),type:wo(),status:wo(),amount:wo(),currency:wo(),allocations:er(nr({source_type:wo(),commission_id:qa,adjustment_id:qa,amount:wo()})),wallet_transaction_id:qa,payout_asset:qa,payout_network:qa,payout_address:qa,note:qa,metadata:Go(),completed_at:qa,rejected_at:qa,cancelled_at:qa,created_at:qa,updated_at:qa}))}),Ka=nr({uniqid:wo(),status:wo(),gateway:wo(),current_period_start:wo(),current_period_end:wo(),trial_end:qa,cancel_at_period_end:Vo(),canceled_at:qa,created_at:wo(),plan:nr({id:wo(),uniqid:wo(),name:wo(),price:wo(),currency:wo(),interval:wo(),interval_count:Bo(),trial_days:Bo()}).nullable(),payment_method:nr({id:wo(),gateway:wo(),type:wo(),card_brand:qa,card_last4:qa,card_exp_month:Bo().nullable(),card_exp_year:Bo().nullable(),is_default:Vo()}).nullable(),actions:nr({can_pause:Vo(),can_resume:Vo(),can_cancel:Vo(),can_manage_payment_method:Vo()})}),Xa=nr({enabled:Vo(),account:nr({points_balance:Bo(),lifetime_points:Bo()}).nullable(),settings:nr({earn_rate_per_usd:Bo(),redeem_value_per_point:Bo(),min_redeem_points:Bo()}).nullable(),transactions:er(nr({type:dr(["EARN_ORDER","EARN_REVIEW","REDEEM","ADJUST"]),points:Bo(),balance_after:Bo(),description:qa,created_at:wo()}))}),Qa=nr({redeemed_points:Bo(),wallet_amount:wo(),currency:wo(),points_balance:Bo(),replayed:Vo()}),es=nr({uniqid:wo(),invoice_uniqid:wo(),product_title:wo(),period_days:Bo(),starts_at:wo(),expires_at:wo(),status:dr(["ACTIVE","EXPIRED","VOIDED"]),claim_status:dr(["REQUESTED","APPROVED","DENIED"]).nullable(),created_at:wo()}),ts=nr({warranties:er(es)}),ns=nr({warranty:es.extend({claim_status:fr("REQUESTED")})}),os=nr({shop:nr({id:wo(),slug:wo(),name:wo(),currency:wo(),branding:ja}),customer:nr({email:wo(),name:wo()}),stats:nr({invoices_count:Bo(),licenses_count:Bo(),deliverables_count:Bo(),tickets_count:Bo()}),wallet:nr({available:wo(),total:wo(),hold:wo(),currency:wo(),enabled:Vo()}).nullable(),rewards:Va,affiliate:Ga,invoices:er(Ma),subscriptions:er(Ka),licenses:er(nr({uniqid:wo(),invoice_id:wo(),status:wo(),license_key:wo(),hardware_id:qa,expires_at:Bo().nullable(),renewable:Vo(),product:nr({title:wo().optional()}).optional()})),deliverables:er(nr({id:wo(),invoice_uniqid:wo(),product_title:wo(),kind:dr(["file","serial","license"]),label:wo(),value:wo(),href:qa,created_at:wo()})),tickets:er(nr({uniqid:wo(),title:wo(),status:wo(),updated_at:wo(),created_at:qa}))});var rs=null,is=null;var as=null,ss=null;function us(e,t){const n=t?.shopId?.trim();ss=n||null;const r=as?.locale;return r!==(as={storeSlug:e,locale:t?.locale,currency:t?.currency,apiBaseUrl:t?.apiBaseUrl??"https://api.shoppex.io",checkoutBaseUrl:t?.checkoutBaseUrl??"https://checkout.shoppex.io"}).locale&&o(),rs=null,is=null,as}function ls(){if(!as)throw new s;return as}function cs(){return null!==as}function ds(e){ss=e}function ps(){return ss}function fs(e){return function(e){if(Array.isArray(e))return e;if("string"==typeof e){try{const t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&"object"==typeof t){const e=t.custom_fields??t.customFields;return Array.isArray(e)?e:[]}}catch{return[]}return[]}if(e&&"object"==typeof e){const t=e.custom_fields??e.customFields;return Array.isArray(t)?t:[]}return[]}(e).filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)).map(e=>{const t="string"==typeof e.type?e.type.trim().toLowerCase():"text",n=t.length>0?t:"text",o=[e.default_value,e.default,e.value].find(e=>"string"==typeof e&&e.trim().length>0);return{name:"string"==typeof e.name?e.name.trim():"",type:n,required:!0===e.required||"true"===e.required||1===e.required||"1"===e.required,defaultValue:"string"==typeof o?o:"",placeholder:"string"==typeof e.placeholder?e.placeholder:"",regex:"string"==typeof e.regex?e.regex:void 0}}).filter(e=>e.name.length>0&&"hidden"!==e.type)}function ms(e){const t=e?.trim().toLowerCase()??"";return"true"===t||"1"===t||"yes"===t||"on"===t}function _s(e,t){if("checkbox"===e.type)return e.required&&!ms(t)?`${e.name} is required.`:null;const n=t.trim();if(e.required&&!n)return`${e.name} is required.`;if(e.regex&&n)try{if(!new RegExp(e.regex).test(n))return`${e.name} has an invalid format.`}catch{return null}return null}function hs(e,t){const n={};return e.forEach(e=>{const o=t[e.name]??e.defaultValue??"";if("checkbox"===e.type)return void(ms(o)&&(n[e.name]="true"));const r=o.trim();r.length>0&&(n[e.name]=r)}),n}var ys=-1;function gs(e,t,n){return!0!==t?e:!0===n?ys:0!==e?e:ys}function bs(e){return"number"==typeof e&&Number.isFinite(e)?Math.trunc(e):null}function vs(e){if(!0===e)return!0;if("number"==typeof e&&Number.isFinite(e))return 0!==e;if("string"==typeof e){const t=e.trim().toLowerCase();return"true"===t||"1"===t}return!1}function ws(e){return gs(bs(e?.stock)??ys,e?.orderable,e?.supplier_backed)}function Ss(e){if(!e)return ys;if("string"==typeof e.type&&"SERIALS"===e.type.toUpperCase())return gs(bs(e.stock)??ys,e.orderable,e.supplier_backed);const t=function(e){const t=Array.isArray(e.price_variants)?e.price_variants:[];return t.length>0?t.map(e=>ws(e)):(Array.isArray(e.variants)?e.variants:[]).map(e=>ws(e))}(e);return t.length>0?t.some(e=>e<0)?ys:gs(t.reduce((e,t)=>e+Math.max(t,0),0),e.orderable,e.supplier_backed):gs(bs(e.stock)??ys,e.orderable,e.supplier_backed)}function ks(e){return!!function(e){return!!e&&(vs(e.on_hold)||vs(e.onHold)||vs(e.is_on_hold)||vs(e.isOnHold))}(e)||0===Ss(e)}function Os(e){return!ks(e)}function Es(e){return 0===ws(e)}function xs(e=[]){const t=/* @__PURE__ */new Map;for(const n of e)n?.uniqid&&!t.has(n.uniqid)&&t.set(n.uniqid,n);return t}function zs(e,t=[]){const n=t instanceof Map?t:xs(t);return(e.product_uniqids??[]).flatMap(e=>{const t=n.get(e);return t?[t]:[]})}function Ts(e=[]){return Array.from(xs(e).values())}function Is(e){return e?e.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim():""}function As(e){return e.trim().toLowerCase()}function $s(e,t){const n=Is(t).toLowerCase();n&&e.push(n)}function Ps(e){const t=[];$s(t,e.title),$s(t,e.slug??void 0),$s(t,e.description);for(const n of e.product_highlights??[])$s(t,n);for(const n of e.variants??[])$s(t,n.title);for(const n of e.price_variants??[])$s(t,n.title??n.label);return t}function Ns(e,t){const n=As(t);return!!n&&Ps(e).some(e=>e.includes(n))}function Cs(e,t){const n=As(t);if(!n)return!1;const o=Is(e.title).toLowerCase(),r=Is(e.slug??e.name??void 0).toLowerCase(),i=Is(e.description).toLowerCase();return o.includes(n)||r.includes(n)||i.includes(n)}function Rs(e,t,n){const o=As(t);if(!o)return[];let r=e.filter(e=>Ns(e,o));return n?.hideOutOfStock&&(r=r.filter(e=>Os(e))),null!=n?.maxResults?r.slice(0,n.maxResults):r}function Us(e,t){return 0!==e.length&&(!t||e.some(e=>Os(e)))}function qs(e,t,n,o){const r=As(n);if(!r)return[];const i=!0===o?.hideOutOfStock,a=/* @__PURE__ */new Set,s=/* @__PURE__ */new Set,u=[],l=xs(e);for(const d of t){const e=d.uniqid??d.id;if(!e||s.has(e))continue;if(!Cs(d,r))continue;const t=zs(d,l);if(Us(t,i)){s.add(e);for(const e of t)e?.uniqid&&a.add(e.uniqid);u.push({type:"group",group:d,products:t})}}const c=Ts(e);for(const d of c)d?.uniqid&&!a.has(d.uniqid)&&Ns(d,r)&&(i&&!Os(d)||(a.add(d.uniqid),u.push({type:"product",product:d})));return null!=o?.maxResults?u.slice(0,o.maxResults):u}function Ds(e,t,n,o){const r=qs(e,t,n,o),i=/* @__PURE__ */new Set,a=[],s=e=>{e?.uniqid&&!i.has(e.uniqid)&&(o?.hideOutOfStock&&!Os(e)||(i.add(e.uniqid),a.push(e)))};for(const u of r)if("product"!==u.type)for(const e of u.products)s(e);else s(u.product);return null!=o?.maxResults?a.slice(0,o.maxResults):a}function js(e){if(e?.apiBaseUrl?.trim())return e.apiBaseUrl.replace(/\/+$/,"");const t=e?.hostname??("undefined"!=typeof window?window.location.hostname:"");if(t&&!function(e){if("localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost"))return!0;if(/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!0;if(/^192\.168\.\d{1,3}\.\d{1,3}$/.test(e))return!0;const t=e.match(/^172\.(\d{1,2})\.\d{1,3}\.\d{1,3}$/);if(t){const e=Number(t[1]);return e>=16&&e<=31}return!1}(t))return"https://api.shoppex.io";if("undefined"!=typeof window){const e=window.apiBaseUrl;if("string"==typeof e&&e.trim())return e.replace(/\/+$/,"")}return"http://localhost:3001".replace(/\/+$/,"")}function Ls(e){const t=e.name?.trim()??"",n=`${t?`Name: ${t}\n\n`:""}${e.message.trim()}`,o=e.maxLength??2e3;return n.slice(0,o)}async function Zs(e){const t=e.shopSlug.trim();if(!t)throw new Error("Store data is not ready yet. Please try again in a moment.");const n=e.email.trim().toLowerCase(),o=e.title?.trim()??"",r=o.length>=2?o.slice(0,30):"Contact Request",i=Ls({name:e.name,message:e.message}),a=e.invoiceId?.trim()||void 0,s=js({apiBaseUrl:e.apiBaseUrl}),u=await fetch(`${s}/v1/storefront/shops/name/${encodeURIComponent(t)}/tickets`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({email:n,title:r,message:i,...a?{invoice_id:a}:{}})}),l=await u.json().catch(()=>null);if(!u.ok)throw new Error(l?.message||l?.error||"Failed to send your message.");const c=l?.data?.uniqid;if(!c)throw new Error("Ticket created, but the response was incomplete.");return{uniqid:c}}function Ms(e){return{discord:e?.discord_link??e?.social?.discord??null,telegram:e?.telegram_link??e?.social?.telegram??null}}var Fs=/:([A-Za-z0-9_]+)/g;function Bs(e,t){return e.replace(Fs,(e,n)=>{const o=t[n];if(null==o)throw new Error(`Missing endpoint param: ${n}`);const r=String(o).trim();if(!r)throw new Error(`Endpoint param "${n}" must not be empty`);return encodeURIComponent(r)})}function Js(e){return`shoppex_${e}`}function Ys(e){try{const t=localStorage.getItem(Js(e));return t?JSON.parse(t):null}catch{return null}}function Ws(e,t){try{localStorage.setItem(Js(e),JSON.stringify(t))}catch{console.warn("[shoppex] Failed to save to localStorage")}}function Vs(e){try{localStorage.removeItem(Js(e))}catch{}}function Hs(e){if("undefined"==typeof window)return null;const t=`presence_connection_${e}`,n=Ys(t);if(n&&n.trim())return n;const o="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`spx_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`;return Ws(t,o),o}async function Gs(e){if(!cs())return;if("undefined"==typeof window)return;if(function(e){const t=`client_error_${function(e){return[e.method,e.endpoint,e.statusCode??"none",e.message.trim().toLowerCase(),e.responseReceived?"response":"no-response"].join("|")}(e)}`,n=Date.now(),o=Ys(t);return"number"==typeof o&&n-o<15e3||(Ws(t,n),!1)}(e))return;const t=ls(),n=ps(),o=n?Bs("/v1/storefront/shops/id/:id/ping",{id:n}):Bs("/v1/storefront/shops/:storeSlug/ping",{storeSlug:t.storeSlug}),r=JSON.stringify({event_type:"client_error",referer:document.referrer||void 0,connection_id:Hs(t.storeSlug)??void 0,client_error:{source:e.source??"sdk",phase:e.phase??"request",endpoint:e.endpoint,method:e.method,message:e.message,status_code:e.statusCode,attempt_count:e.attemptCount,response_received:e.responseReceived??!1,page_url:e.pageUrl??window.location.href,request_url:e.requestUrl,online:e.online??("undefined"!=typeof navigator?navigator.onLine:void 0),visibility_state:e.visibilityState??("undefined"!=typeof document?document.visibilityState:void 0)}}),i=`${t.apiBaseUrl}${o}`;try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){const e=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(i,e))return}await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0})}catch{}}var Ks=1e4;async function Xs(e){return new Promise(t=>setTimeout(t,e))}async function Qs(e,t={}){const n=t.baseUrl?null:ls(),o=n??(cs()?ls():null),{method:r="GET",body:s,timeout:c=Ks,retries:d,baseUrl:p,cache:f}=t,m=d??("GET"===r?2:0),_=`${p??n?.apiBaseUrl??""}${e}`,h={"Content-Type":"application/json",Accept:"application/json"};"string"==typeof o?.locale&&o.locale.trim()&&(h["x-shoppex-locale"]=o.locale.trim());let y=null;const g=async()=>{for(let t=0;t<=m;t++)try{const e=new AbortController,t=setTimeout(()=>e.abort(),c),n=await fetch(_,{method:r,headers:h,body:s?JSON.stringify(s):void 0,signal:e.signal});clearTimeout(t);const o=await eu(n);if(!n.ok){const e=n.statusText?`HTTP ${n.status}: ${n.statusText}`:`HTTP ${n.status}`,t=(o.data&&"object"==typeof o.data&&"error"in o.data&&"string"==typeof o.data.error?o.data.error:null)??(o.data&&"object"==typeof o.data&&"message"in o.data&&"string"==typeof o.data.message?o.data.message:null)??o.rawText??e,r=nu(o.data);if(r.code)throw new l(t,r.code,n.status,r.errorParams);throw new u(t,n.status)}if(204===n.status&&null===o.data)return{success:!0};if(!o.data||"object"!=typeof o.data||!("status"in o.data))throw new u("Invalid API response",n.status);return tu(o.data)}catch(e){let n=e instanceof Error?e:new Error(String(e));e instanceof DOMException&&"AbortError"===e.name&&(n=new u("Request timeout",408));const o=n instanceof a?n.statusCode:void 0;if(y={message:n.message,statusCode:o,isTransport:void 0===o||408===o,...n instanceof l?{code:n.code,...n.errorParams?{errorParams:n.errorParams}:{}}:{}},n instanceof l&&void 0!==o&&o>=400&&o<500&&408!==o)break;if(t<m){await Xs(500*Math.pow(2,t));continue}}return{success:!1,message:y?.message??"Unknown error",...y?.code?{code:y.code}:{},...y?.errorParams?{errorParams:y.errorParams}:{}}},b="GET"===r&&f&&f.ttl>0?await i(f.key??`GET:${_}`,g,{ttl:f.ttl,staleWhileRevalidate:f.staleWhileRevalidate},e=>e.success):await g(),v=y;return!b.success&&v?.isTransport&&await Gs({endpoint:e,method:r,message:b.message??v.message,statusCode:v.statusCode,attemptCount:m+1,requestUrl:_,responseReceived:void 0!==v.statusCode&&408!==v.statusCode}),b}async function eu(e){const t=e;if("function"!=typeof t.text){if("function"==typeof t.json)try{return{data:await t.json(),rawText:null}}catch{return{data:null,rawText:null}}return{data:null,rawText:null}}try{const e=await t.text();if(!e)return{data:null,rawText:null};try{return{data:JSON.parse(e),rawText:null}}catch{const t=e.trim();return{data:null,rawText:t.length>0?t:null}}}catch{return{data:null,rawText:null}}}function tu(e){return e.status>=200&&e.status<300?{success:!0,data:e.data,...e.message?{message:e.message}:{}}:{success:!1,message:e.error??e.message??`Request failed with status ${e.status}`,...nu(e)}}function nu(e){if(!e||"object"!=typeof e)return{};const t=e,n="string"==typeof t.error_code&&t.error_code.length>0?t.error_code:null;if(!n)return{};const o=t.error_params;return{code:n,...o&&"object"==typeof o&&!Array.isArray(o)?{errorParams:o}:{}}}async function ou(e,t){return Qs(e,{...t,method:"GET"})}async function ru(e,t,n){return Qs(e,{...n,method:"POST",body:t})}var iu=3e5;async function au(){const e=ls(),t=await ou(Bs("/v1/storefront/shops/name/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`store:${e.storeSlug}`,ttl:iu,staleWhileRevalidate:!0}});return t.success&&t.data?(t.data.shop?.id&&ds(t.data.shop.id),{success:!0,data:t.data.shop}):{success:!1,message:t.message}}async function su(e){const t=ls(),n=new URLSearchParams;Number.isFinite(e?.productsLimit)&&n.set("products_limit",String(Math.max(1,Math.floor(e?.productsLimit??0)))),"string"==typeof e?.productsCursor&&e.productsCursor.trim().length>0&&n.set("products_cursor",e.productsCursor);const o=n.size>0?`?${n.toString()}`:"",r=await ou(`${Bs("/v1/storefront/shops/name/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`storefront:${t.storeSlug}:${e?.productsLimit??"full"}:${e?.productsCursor??"start"}`,ttl:iu,staleWhileRevalidate:!0}});return r.success&&r.data?(r.data.shop?.id&&ds(r.data.shop.id),{success:!0,data:{shop:r.data.shop,products:r.data.products??[],products_pagination:r.data.products_pagination??null,groups:r.data.groups??[],items:r.data.items??[],categories:r.data.categories??[],addons:r.data.addons??{items:[]}}}):{success:!1,message:r.message}}var uu=12e4;function lu(e){if(e.variants&&e.variants.length>0)return e;const t=e.price_variants;return Array.isArray(t)&&0!==t.length?{...e,variants:t.map(e=>function(e){return{id:e.id,title:e.title??e.label??"",price:"number"==typeof e.price?e.price:Number(e.price)||0,stock:"number"==typeof e.stock?e.stock:void 0,orderable:"boolean"==typeof e.orderable?e.orderable:void 0,supplier_backed:"boolean"==typeof e.supplier_backed?e.supplier_backed:void 0,quantity_min:e.quantity_min,quantity_max:e.quantity_max,quantityMin:e.quantityMin,quantityMax:e.quantityMax,image_id:e.image_id,imageId:e.imageId,cloudflare_image_id:e.cloudflare_image_id,cloudflareImageId:e.cloudflareImageId,image_url:e.image_url,imageUrl:e.imageUrl}}(e))}:e}async function cu(){const e=ls(),t=await ou(Bs("/v1/storefront/products/public/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`products:${e.storeSlug}`,ttl:uu,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:Ts(t.data.products.map(lu))}:{success:!1,message:t.message,data:[]}}var du="shoppex:affiliate_code:v1";function pu(){return Date.now()}function fu(e){const t=e?.trim().toLowerCase();return t||null}function mu(e,t=30){const n=fu(e);return n?(function(e){if("undefined"!=typeof window)try{window.localStorage.setItem(du,JSON.stringify(e))}catch{}}({code:n,expiresAt:pu()+(o=t,24*Math.max(1,o)*60*60*1e3)}),n):(_u(),null);var o}function _u(){if("undefined"!=typeof window)try{window.localStorage.removeItem(du)}catch{}}function hu(){const e=function(){if("undefined"==typeof window)return null;try{const e=window.localStorage.getItem(du);if(!e)return null;const t=JSON.parse(e);return t&&"string"==typeof t.code&&"number"==typeof t.expiresAt?t:null}catch{return null}}();return e?e.expiresAt<=pu()?(_u(),null):fu(e.code):null}async function yu(e){const t=fu(e);if(!t)return{success:!1,data:{valid:!1,affiliate_code:null,discount_active:!1,discount_percent:0},message:"Affiliate code is required"};const n=ls(),o=await ru("/v1/storefront/affiliates/resolve",{shop_slug:n.storeSlug,code:t},{retries:0});if(!o.success)return o;if(!o.data?.valid||!o.data.affiliate_code){const e=!1===o.data?.program_enabled;return{success:!1,data:{valid:!1,...void 0!==o.data?.program_enabled?{program_enabled:o.data.program_enabled}:{},affiliate_code:null,discount_active:!1,discount_percent:0},message:o.message??(e?"Affiliate program is disabled for this shop.":"Invalid affiliate code.")}}return{success:!0,data:{valid:!0,...void 0!==o.data.program_enabled?{program_enabled:o.data.program_enabled}:{},affiliate_code:fu(o.data.affiliate_code),discount_active:Boolean(o.data.discount_active),discount_percent:Number(o.data.discount_percent??0)},...o.message?{message:o.message}:{}}}function gu(e){if(!e)return{};const t=Object.entries(e).filter(([,e])=>"string"==typeof e).sort(([e],[t])=>e.localeCompare(t));return Object.fromEntries(t)}function bu(e){const t={product_id:e.product_id,variant_id:e.variant_id,price_variant_id:e.price_variant_id??null,addons:(n=e.addons,n?.length?[...n].map(e=>({id:e.id,quantity:e.quantity??1})).sort((e,t)=>e.id.localeCompare(t.id)):[]),custom_fields:gu(e.custom_fields),unit_price:"number"==typeof e.price_data?.unit_price&&Number.isFinite(e.price_data.unit_price)?e.price_data.unit_price:null,pay_what_you_want_price:"number"==typeof e.pay_what_you_want_price&&Number.isFinite(e.pay_what_you_want_price)?e.pay_what_you_want_price:null};var n;return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(t))}function vu(e){return"string"==typeof e.line_id&&e.line_id.trim()?e:{...e,line_id:bu(e)}}function wu(e){const t=e?.trim().toUpperCase();return t&&/^[A-Z]{3}$/.test(t)?t:null}function Su(){if("undefined"==typeof window||!window.location)return null;const e="string"==typeof window.location.search?window.location.search:"";if(e)return wu(new URLSearchParams(e).get("currency"));const t="string"==typeof window.location.href?window.location.href:"";if(!t)return null;try{return wu(new URL(t,"https://storefront.shoppex.local").searchParams.get("currency"))}catch{return null}}var ku={cart:"cart",cartBackup:"cart_backup",meta:"cart_meta",metaBackup:"cart_backup_meta",coupon:"cart_coupon",couponBackup:"cart_coupon_backup"};function Ou(e){return`${ku[e]}_${ls().storeSlug}`}function Eu(e){return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(e))}function xu(e){if(!Number.isFinite(e))throw new d("quantity must be a finite number");return Math.floor(e)}function zu(e){const t=e?.trim().toUpperCase();return t||null}function Tu(){const e=Ys(Ou("coupon"));if(!e||"object"!=typeof e||Array.isArray(e))return null;const t=e,n="string"==typeof t.code?zu(t.code):null,o="COUPON"===t.source||"AFFILIATE"===t.source?t.source:null;return n&&o?{code:n,source:o}:null}function Iu(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||"object"!=typeof n)continue;const e=n,o="string"==typeof e.product_id?e.product_id.trim():"",r="string"==typeof e.variant_id?e.variant_id.trim():"",i=Number(e.quantity);if(!o||!r||!Number.isFinite(i)||i<1)continue;const a={line_id:"",product_id:o,variant_id:r,quantity:Math.floor(i)};if("string"==typeof e.price_variant_id&&(a.price_variant_id=e.price_variant_id),e.price_data&&"object"==typeof e.price_data){const t=e.price_data;"number"==typeof t.unit_price&&Number.isFinite(t.unit_price)&&(a.price_data={unit_price:t.unit_price})}"number"==typeof e.pay_what_you_want_price&&Number.isFinite(e.pay_what_you_want_price)&&(a.pay_what_you_want_price=e.pay_what_you_want_price),Array.isArray(e.addons)&&(a.addons=e.addons),e.custom_fields&&"object"==typeof e.custom_fields&&!Array.isArray(e.custom_fields)&&(a.custom_fields=e.custom_fields),"string"==typeof e.title&&(a.title=e.title),"string"==typeof e.variant_title&&(a.variant_title=e.variant_title),"string"==typeof e.image_url&&(a.image_url=e.image_url),Array.isArray(e.addon_labels)&&(a.addon_labels=e.addon_labels.filter(e=>"string"==typeof e)),"number"==typeof e.max_quantity&&Number.isFinite(e.max_quantity)&&(a.max_quantity=e.max_quantity),"number"==typeof e.min_quantity&&Number.isFinite(e.min_quantity)&&(a.min_quantity=e.min_quantity),Du(a),a.line_id=("string"==typeof e.line_id?e.line_id.trim():"")||bu(a),t.push(vu(a))}return t}function Au(){return Ys(Ou("meta"))}function $u(){return Tu()?.code??null}function Pu(){return Tu()?.source??null}function Nu(e,t="COUPON"){const n=zu(e);return n?(Ws(Ou("coupon"),{code:n,source:t}),n):(Vs(Ou("coupon")),null)}function Cu(){Vs(Ou("coupon"))}function Ru(e){const t=Iu(e);Ws(Ou("cart"),t);const n=Date.now(),o=Au(),r={created_at:o?.created_at??n,last_modified:n,version:(o?.version??0)+1,checksum:Eu(t)};Ws(Ou("meta"),r),0===t.length&&Cu()}function Uu(e,t){const n=Iu(e);Ws(Ou("cart"),n);const o=Date.now(),r=t??Au(),i={created_at:r?.created_at??o,last_modified:o,version:r?.version??1,checksum:Eu(n)};Ws(Ou("meta"),i)}function qu(){return Iu(Ys(Ou("cart")))}function Du(e){const t=e.min_quantity;"number"==typeof t&&Number.isFinite(t)&&e.quantity<t&&(e.quantity=Math.floor(t));const n=e.max_quantity;"number"==typeof n&&Number.isFinite(n)&&e.quantity>n&&(e.quantity=Math.floor(n)),e.quantity<1&&(e.quantity=1)}function ju(){Vs(Ou("cart")),Vs(Ou("meta")),Cu(),Fu=null,Bu+=1}function Lu(){const e=qu();Ws(Ou("cartBackup"),e);const t=Tu();t?Ws(Ou("couponBackup"),t):Vs(Ou("couponBackup"));const n=Au();if(n)Ws(Ou("metaBackup"),n);else{const t=Date.now();Ws(Ou("metaBackup"),{created_at:t,last_modified:t,version:1,checksum:Eu(e)})}}function Zu(){const e=qu(),t=Au(),n=Eu(e);return t?t.checksum===n:(Uu(e,null),!0)}function Mu(){const e=$u();return"AFFILIATE"===Pu()&&e?e.trim().toLowerCase():hu()}var Fu=null,Bu=0;function Ju(){return Fu}var Yu="Your cart changed while checkout was starting. Please review it and try again.";function Wu(e,t){return void 0!==t&&JSON.stringify(e)!==t}function Vu(e){const t=e?.trim();return t||null}function Hu(e){const t=e?.trim();return t||null}function Gu(e){return"/dashboard/api/checkout"===e.customerCheckoutPath&&"undefined"!=typeof window&&"string"==typeof window.location?.origin?{endpoint:e.customerCheckoutPath,baseUrl:window.location.origin}:{endpoint:"/v1/storefront/invoices/from-cart"}}function Ku(e){return wu(e.currency)??Su()??wu(ls().currency)}function Xu(e){const t=e?.trim()??"";if(!t)return"Checkout failed. Please try again.";if(Qu(t))return"Your cart is outdated. Please add the products again.";const n=t.match(/^HTTP\s+(\d{3})(?::\s*(.*))?$/i);if(n){const e=Number(n[1]),t=n[2]?.trim();return t&&t.length>0?`Checkout failed: ${t}`:e>=500?"Checkout is temporarily unavailable. Please try again.":400===e?"Checkout failed. Please check your details and try again.":401===e||403===e?"Checkout is currently unavailable for this request.":"Checkout failed. Please try again."}return/^internal server error$/i.test(t)?"Checkout is temporarily unavailable. Please try again.":t}function Qu(e){const t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("product not found")||t.includes("product not available")||t.includes("products are no longer available")||t.includes("outdated product"))}function el(e,t,n){const o=t?.trim();if(!o)return null;try{const t=new URL(e),r=new URL(o);if(t.origin!==r.origin)return null;const i=t.pathname.replace(/\/+$/,""),a=`${r.pathname.replace(/\/+$/,"")}/invoice/`.replace(/\/{2,}/g,"/");if(!i.startsWith(a))return null;const s=i.slice(a.length);if(!s||s.includes("/"))return null;if(n){const e=n.trim();if(!e||decodeURIComponent(s)!==e)return null}return t.toString()}catch{return null}}function tl(e,t){const n=Hu(t.email),o="string"==typeof t.locale?t.locale.trim():"";if(!n&&!o)return e;try{const t=new URL(e);if(o&&t.searchParams.set("locale",o),n){const e=new URLSearchParams(t.hash.startsWith("#")?t.hash.slice(1):t.hash);e.set("shoppex_prefill_email",n),t.hash=e.toString()}return t.toString()}catch{return e}}function nl(e,t){const n=e?.invoice,o=e?.invoiceId?.trim()||e?.invoice_id?.trim()||e?.uniqid?.trim()||n?.invoiceId?.trim()||n?.invoice_id?.trim()||n?.uniqid?.trim();let r=e?.checkoutUrl?.trim()||e?.checkout_url?.trim()||e?.url_branded?.trim()||e?.url?.trim()||n?.checkoutUrl?.trim()||n?.checkout_url?.trim()||n?.url_branded?.trim()||n?.url?.trim();return!r&&o&&n&&(r=function(e,t){const n=e?.trim();if(!n)return null;try{const e=new URL(n);return e.pathname=`${e.pathname.replace(/\/+$/,"")}/invoice/${encodeURIComponent(t)}`.replace(/\/{2,}/g,"/"),e.search="",e.hash="",e.toString()}catch{return null}}(t,o)??void 0),o&&r?{invoiceId:o,checkoutUrl:r,rewards:e?.rewards??n?.rewards??null}:null}function ol(e,t){return"string"==typeof e?{...t,coupon:e}:e??t??{}}function rl(e,t){const n=e.affiliateCode??e.referralCode;if("string"==typeof n){const e=n.trim().toLowerCase();return e.length>0?e:null}return t?.trim().toLowerCase()??hu()}function il(e){const t=$u(),n=Pu();return{coupon:void 0===e.coupon?"COUPON"===n?t:null:Vu(e.coupon),affiliateCode:rl(e,void 0===e.coupon&&"AFFILIATE"===n?t:null)}}function al(e){const t=e=>{const t=e?.trim();return t?"default"===t.toLowerCase()?null:t:null};return e.map(e=>({product_id:e.product_id,variant_id:t(e.variant_id),quantity:e.quantity,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1})),custom_fields:e.custom_fields,price_variant_id:e.price_variant_id||null,pay_what_you_want_price:e.pay_what_you_want_price}))}function sl(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&""!==e.trim()){const t=Number(e);return Number.isFinite(t)?t:null}return null}function ul(...e){for(const t of e)if("string"==typeof t&&t.length>0)return t}function ll(e,t){const n=e,o=sl(n.rating)??sl(n.score)??0,r=ul(n.comment,n.message),i=ul(n.author,n.customer_name),a=n.created_at??n.createdAt,s="number"==typeof a||"string"==typeof a?String(a):"",u=ul(n.id,n.uniqid)??`review:${s||t}`;return{...n,id:u,rating:o,...r?{comment:r}:{},...i?{author:i}:{},created_at:s}}async function cl(e){const t=ls(),n=new URLSearchParams;n.set("limit",String(100)),"string"==typeof e&&e.trim().length>0&&n.set("cursor",e);const o=`?${n.toString()}`,r=await ou(`${Bs("/v1/storefront/feedback/shop/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`reviews:${t.storeSlug}:${e??"start"}:100`,ttl:12e4,staleWhileRevalidate:!0}});return r.success&&r.data?{success:!0,data:{...r.data,feedback:r.data.feedback.map(ll)}}:{success:!1,message:r.message}}function dl(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function pl(e,t){return"string"==typeof e.error&&e.error.length>0?e.error:"string"==typeof e.message&&e.message.length>0?e.message:t.statusText?`HTTP ${t.status}: ${t.statusText}`:`HTTP ${t.status}`}function fl(e){const t="string"==typeof e.error_code&&e.error_code.length>0?e.error_code:null;return t?{code:t,...dl(e.error_params)?{errorParams:e.error_params}:{}}:{}}async function ml(e,t={}){const n=t.method??"GET",o={Accept:"application/json"};void 0!==t.body&&(o["Content-Type"]="application/json");const r=t.formData??(void 0!==t.body?JSON.stringify(t.body):void 0);try{const a=await fetch(`/api/customer${e}`,{method:n,headers:o,body:r,credentials:"same-origin",cache:"no-store"});if(204===a.status)return a.ok?{success:!0,status:a.status}:{success:!1,status:a.status,message:pl({status:a.status,data:null},a)};let s;try{s=await a.json()}catch{return{success:!1,status:a.status,message:"Invalid customer API response"}}const u=dl(i=s)&&"number"==typeof i.status&&"data"in i?i:null;if(!u)return{success:!1,status:a.status,message:"Invalid customer API response"};if(!a.ok||u.status<200||u.status>=300)return{success:!1,status:a.status,message:pl(u,a),...fl(u)};const l="string"==typeof u.message&&u.message.length>0?{message:u.message}:{};if(!t.schema)return{success:!0,data:u.data,...l};const c=t.schema.safeParse(u.data);return c.success?{success:!0,data:c.data,...l}:{success:!1,message:"Customer API response did not match the expected contract"}}catch(a){return{success:!1,message:a instanceof Error?a.message:String(a)}}var i}function _l(e){return ml("/auth/otp/request",{method:"POST",body:{email:e}})}function hl(e,t){return ml("/auth/otp/verify",{method:"POST",body:{email:e,otp:t}})}function yl(){return ml("/auth/logout",{method:"POST"})}function gl(){return ml("/me")}function bl(){return ml("/dashboard",{schema:os})}function vl(e={}){const t=new URLSearchParams;return void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.limit&&t.set("limit",String(e.limit)),e.status&&t.set("status",e.status),e.search&&t.set("q",e.search),ml("/invoices"+(t.size>0?`?${t.toString()}`:""),{schema:Ba})}function wl(e){return ml(`/invoice/${encodeURIComponent(e)}`,{schema:Ya})}function Sl(){return ml("/loyalty",{schema:Xa})}function kl(e){return ml("/loyalty/redeem",{method:"POST",body:{points:e.points,idempotency_key:e.idempotencyKey},schema:Qa})}function Ol(e){return ml("/warranties"+(e?`?invoice=${encodeURIComponent(e)}`:""),{schema:ts})}function El(e,t){return ml(`/warranties/${encodeURIComponent(e)}/claim`,{method:"POST",body:t?{message:t}:{},schema:ns})}function xl(e){return ml(`/licenses/${encodeURIComponent(e)}/reset-hwid`,{method:"POST",body:{}})}function zl(e){return ml(`/subscriptions/${encodeURIComponent(e)}/billing-history`)}function Tl(e,t={}){return ml(`/subscriptions/${encodeURIComponent(e)}/cancel`,{method:"POST",body:{...void 0!==t.cancel_at_period_end?{cancel_at_period_end:t.cancel_at_period_end}:{},...void 0!==t.reason?{reason:t.reason}:{}}})}function Il(e){return ml(`/subscriptions/${encodeURIComponent(e)}/pause`,{method:"POST",body:{}})}function Al(e){return ml(`/subscriptions/${encodeURIComponent(e)}/resume`,{method:"POST",body:{}})}function $l(){return ml("/favorites")}function Pl(e){return ml(`/favorites/${encodeURIComponent(e)}`,{method:"PUT"})}function Nl(e){return ml(`/favorites/${encodeURIComponent(e)}`,{method:"DELETE"})}function Cl(){return ml("/affiliate")}function Rl(e){return ml("/tickets",{method:"POST",body:{...void 0!==e.title?{title:e.title}:{},message:e.message,...void 0!==e.invoice_id?{invoice_id:e.invoice_id}:{}}})}function Ul(e){return ml(`/tickets/${encodeURIComponent(e)}`)}function ql(e,t){return ml(`/tickets/${encodeURIComponent(e)}/reply`,{method:"POST",body:{message:t}})}function Dl(e){return ml("/profile",{method:"POST",body:{name:e.name}})}function jl(e){const t=new FormData;return t.append("file",e),ml("/profile/avatar",{method:"POST",formData:t})}function Ll(){return ml("/profile/avatar",{method:"DELETE"})}function Zl(){return ml("/email-marketing/preferences")}function Ml(e){return ml("/email-marketing/preferences",{method:"PATCH",body:{...void 0!==e.global_unsubscribed?{global_unsubscribed:e.global_unsubscribed}:{},...void 0!==e.list_subscriptions?{list_subscriptions:e.list_subscriptions}:{}}})}function Fl(){return ml("/sessions")}function Bl(e){return ml(`/sessions/${encodeURIComponent(e)}`,{method:"DELETE"})}function Jl(){return ml("/sessions?others=true",{method:"DELETE"})}function Yl(){return ml("/reseller")}function Wl(e){return ml("/reseller/apply",{method:"POST",body:void 0===e?{}:{note:e}})}function Vl(){return ml("/reseller/enroll",{method:"POST",body:{}})}function Hl(e){return ml("/reseller/accept-invite",{method:"POST",body:{token:e}})}function Gl(e={}){const t=new URLSearchParams;return void 0!==e.search&&t.set("search",e.search),void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.per_page&&t.set("per_page",String(e.per_page)),ml("/reseller/catalog"+(t.size>0?`?${t.toString()}`:""))}function Kl(e){return ml("/reseller/orders/quote",{method:"POST",body:{items:e}})}function Xl(e={}){const t=new URLSearchParams;return void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.per_page&&t.set("per_page",String(e.per_page)),ml("/reseller/orders"+(t.size>0?`?${t.toString()}`:""))}function Ql(e){return ml(`/reseller/orders/${encodeURIComponent(e)}`)}function ec(){return ml("/reseller/wallet")}function tc(){return ml("/reseller/api-keys")}function nc(e){const t=e.trim();return t||null}var oc=3e5;var rc=3e5;async function ic(){const e=ls(),t=await ou(Bs("/v1/storefront/shops/name/:storeSlug/menus",{storeSlug:e.storeSlug}),{cache:{key:`menus:${e.storeSlug}`,ttl:rc,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.menus}:{success:!1,message:t.message}}async function ac(e){const t=ls(),n=await ou(Bs("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu:${t.storeSlug}:${e}`,ttl:rc,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}async function sc(e){return ac(e)}async function uc(e){const t=ls(),n=await ou(Bs("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu-slot:${t.storeSlug}:${e}`,ttl:rc,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}function lc(e){return function(e){const t=S[e];return[t.title,...t.aliases]}(e)}var cc=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"];function dc(e){return`shoppex:utm:${e}`}function pc(e){if("undefined"==typeof window||void 0===window.location)return;const t=function(e){let t;try{t=new URLSearchParams(e)}catch{return{}}const n={};for(const o of cc){const e=t.get(o)?.trim();e&&(n[o]=e.slice(0,255))}return n}(window.location.search);if(Object.keys(t).length>0)return function(e,t){try{const n={utm:t,at:Date.now()};window.localStorage.setItem(dc(e),JSON.stringify(n))}catch{}}(e,t),t;const n=function(e){try{const t=window.localStorage.getItem(dc(e));if(!t)return{};const n=JSON.parse(t);if(!n||"number"!=typeof n.at||"object"!=typeof n.utm)return{};if(Date.now()-n.at>2592e6)return window.localStorage.removeItem(dc(e)),{};const o={};for(const e of cc){const t=n.utm?.[e];"string"==typeof t&&t.length>0&&(o[e]=t.slice(0,255))}return o}catch{return{}}}(e);return Object.keys(n).length>0?n:void 0}async function fc(e,t){if(!cs())return;if("undefined"==typeof document)return;const n=ls(),o=Hs(n.storeSlug);try{const r=Bs("/v1/storefront/shops/:storeSlug/ping",{storeSlug:n.storeSlug});await fetch(`${n.apiBaseUrl}${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({referer:document.referrer||void 0,cart_value:e??void 0,item_count:t??void 0,connection_id:o??void 0,utm:pc(n.storeSlug)})})}catch{}}async function mc(){if(!cs())return{success:!1,message:"SDK not initialized"};const e=ls(),t=ps();return ou(t?Bs("/v1/storefront/shops/id/:id/recent-sales",{id:t}):Bs("/v1/storefront/shops/:storeSlug/recent-sales",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function _c(){if(!cs())return{success:!1,message:"SDK not initialized"};const e=ls(),t=ps();return ou(t?Bs("/v1/storefront/shops/id/:id/online-users",{id:t}):Bs("/v1/storefront/shops/:storeSlug/online-users",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function hc(){if(!cs())return{success:!1,message:"SDK not initialized"};if("undefined"==typeof document)return{success:!1,message:"Document is not available"};const e=ls(),t=ps();return ru(t?Bs("/v1/storefront/shops/id/:id/ping",{id:t}):Bs("/v1/storefront/shops/:storeSlug/ping",{storeSlug:e.storeSlug}),{referer:document.referrer||void 0,connection_id:Hs(e.storeSlug)??void 0,utm:pc(e.storeSlug)},{retries:0,timeout:5e3})}function yc(e,t){const n=ls();return new Intl.NumberFormat(t??n.locale??"en-US",{style:"currency",currency:e??n.currency??"USD",...Ca})}function gc(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function bc(e){return gc(e)&&gc(e.theme)?{...e,version:"number"==typeof e.version?e.version:0,revision:"number"==typeof e.revision?e.revision:0,theme:{...e.theme,content:gc(e.theme.content)?e.theme.content:{},layout:gc(e.theme.layout)?e.theme.layout:{},style_slots:gc(e.theme.style_slots)?e.theme.style_slots:{},...Array.isArray(e.theme.pages)?{pages:e.theme.pages}:{},...gc(e.theme.terms)?{terms:e.theme.terms}:{}}}:null}async function vc(e){const t=await ou(Bs("/v1/storefront/themes/builder/published/:shopSlug",{shopSlug:e}));return t.success&&t.data?gc(n=t.data)?{settings:gc(n.settings)?n.settings:{},builder_settings:bc(n.builder_settings),content:gc(n.content)?n.content:{},style_slots:gc(n.style_slots)?n.style_slots:{}}:null:null;var n}async function wc(e){const t=await vc(e);return t?t.settings:null}function Sc(e){const t={};for(const[n,o]of Object.entries(e.settings)){t[n]={};for(const[e,r]of Object.entries(o))t[n][e]=r.default}return t}function kc(e,t){const n={...e};for(const[o,r]of Object.entries(t))r&&(n[o]={...n[o],...r});return n}var Oc={init:function(e,t){"string"==typeof e?us(e,t):us(e.storeId,e)},isInitialized:cs,getConfig:ls,client:function(e){const t=ls().apiBaseUrl??"https://api.shoppex.io";if(rs&&is===t&&!e)return rs;const n=function(e,t){return f({baseUrl:e,headers:t?{Authorization:`Bearer ${t}`}:void 0})}(t,e);return e||(rs=n,is=t),n},getStore:au,getStorefront:su,getStoreLogoUrl:async function(){const e=await au();return e.success&&e.data?.logo?e.data.logo:null},getStoreBannerUrl:async function(){const e=await au();return e.success&&e.data?.banner?e.data.banner:null},resolveStoreByDomain:async function(e,t){const n=e??("undefined"!=typeof window?window.location.hostname:"");if(!n)return{success:!1,message:"Domain is required to resolve store"};const o=n.replace(/^https?:\/\//,"").split("/")[0].trim(),r=t??(cs()?ls().apiBaseUrl:"https://api.shoppex.io"),i=await ou(Bs("/v1/storefront/shops/domain/:domain",{domain:o}),{baseUrl:r,cache:{key:`store:domain:${o}`,ttl:iu,staleWhileRevalidate:!0}});return i.success&&i.data?.shop?(i.data.shop.id&&ds(i.data.shop.id),{success:!0,data:i.data.shop}):{success:!1,message:i.message??"Failed to resolve store"}},getProducts:cu,getStorefrontProductsPage:async function(e){const t=ls(),n=new URLSearchParams;"string"==typeof e?.cursor&&e.cursor.trim().length>0&&n.set("cursor",e.cursor),Number.isFinite(e?.limit)&&n.set("limit",String(Math.max(1,Math.floor(e?.limit??0)))),"string"==typeof e?.sort&&e.sort.trim().length>0&&n.set("sort",e.sort.trim()),"string"==typeof e?.category&&e.category.trim().length>0&&n.set("category",e.category.trim()),!0===e?.hideOutOfStock&&n.set("hide_out_of_stock","true");const o=n.size>0?`?${n.toString()}`:"",r=await ou(`${Bs("/v1/storefront/products/shop/:storeSlug",{storeSlug:t.storeSlug})}${o}`,{cache:{key:`products:page:${t.storeSlug}:${e?.limit??"default"}:${e?.cursor??"start"}:${e?.sort??"featured"}:${i=e?.category,void 0===i?"category:unset":null===i?"category:null":`category:${i}`}:${!0===e?.hideOutOfStock?"in-stock":"all-stock"}`,ttl:uu,staleWhileRevalidate:!0}});var i;return r.success&&r.data?{success:!0,data:{products:r.data.products.map(lu),pagination:r.data.pagination??null}}:{success:!1,message:r.message}},getProduct:async function(e){let t=ps();if(!t){const e=await au();t=e.success?e.data?.id??null:null}const n=t?`?slug_shop_id=${encodeURIComponent(t)}`:"",o=await ou(`${Bs("/v1/storefront/products/unique/:idOrSlug",{idOrSlug:e})}${n}`,{cache:{key:`product:${e}:${t??"no-shop"}`,ttl:uu,staleWhileRevalidate:!0}});return o.success&&o.data?.product?{success:!0,data:lu(o.data.product)}:{success:!1,message:o.message}},getCategories:async function(){const e=await cu();if(!e.success||!e.data)return{success:!1,message:e.message};const t=/* @__PURE__ */new Set;for(const n of e.data)if(n.categories)for(const e of n.categories)"string"==typeof e?t.add(e):e&&"object"==typeof e&&"uniqid"in e&&t.add(e.uniqid);return{success:!0,data:Array.from(t)}},getCart:qu,getCartItemCount:function(){return qu().reduce((e,t)=>e+t.quantity,0)},getCartCoupon:$u,getCartCouponSource:Pu,setCartCoupon:Nu,clearCartCoupon:Cu,addToCart:function(e,t,n=1,o){if(!e||!t)throw new d("product_id and variant_id are required");const r=xu(n);if(r<1)throw new d("quantity must be at least 1");const i=qu(),a=bu({product_id:e,variant_id:t,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price}),s=i.findIndex(e=>e.line_id===a);if(s>=0)i[s].quantity+=r,o?.addons&&(i[s].addons=o.addons),o?.custom_fields&&(i[s].custom_fields=o.custom_fields),o?.price_variant_id&&(i[s].price_variant_id=o.price_variant_id),o?.price_data&&(i[s].price_data=o.price_data),void 0!==o?.pay_what_you_want_price&&(i[s].pay_what_you_want_price=o.pay_what_you_want_price),function(e,t){if(t?.replace_display_snapshot)return e.title=t.title,e.variant_title=t.variant_title,e.image_url=t.image_url,e.addon_labels=t.addon_labels,e.max_quantity=t.max_quantity,void(e.min_quantity=t.min_quantity);void 0!==t?.title&&(e.title=t.title);void 0!==t?.variant_title&&(e.variant_title=t.variant_title);void 0!==t?.image_url&&(e.image_url=t.image_url);void 0!==t?.addon_labels&&(e.addon_labels=t.addon_labels);void 0!==t?.max_quantity&&(e.max_quantity=t.max_quantity);void 0!==t?.min_quantity&&(e.min_quantity=t.min_quantity)}(i[s],o),Du(i[s]);else{const n={line_id:a,product_id:e,variant_id:t,quantity:r,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price,title:o?.title,variant_title:o?.variant_title,image_url:o?.image_url,addon_labels:o?.addon_labels,max_quantity:o?.max_quantity,min_quantity:o?.min_quantity};Du(n),i.push(n)}Ru(i)},setCartItem:function(e,t,n=1,o){if(!e||!t)throw new d("product_id and variant_id are required");const r=xu(n);if(r<1)throw new d("quantity must be at least 1");const i=qu(),a=bu({product_id:e,variant_id:t,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price});for(let u=i.length-1;u>=0;u-=1)i[u].product_id===e&&i[u].variant_id===t&&i.splice(u,1);const s={line_id:a,product_id:e,variant_id:t,quantity:r,addons:o?.addons,custom_fields:o?.custom_fields,price_variant_id:o?.price_variant_id,price_data:o?.price_data,pay_what_you_want_price:o?.pay_what_you_want_price,title:o?.title,variant_title:o?.variant_title,image_url:o?.image_url,addon_labels:o?.addon_labels,max_quantity:o?.max_quantity,min_quantity:o?.min_quantity};Du(s),i.push(s),Ru(i)},updateCartItem:function(e,t){const n=qu(),o=e.trim();if(!o)throw new d("line_id is required");const r=n.findIndex(e=>e.line_id===o);if(r<0)throw new d("Item not found in cart");const i=JSON.stringify(n);if(void 0!==t.quantity){const e=xu(t.quantity);if(e<1)return n.splice(r,1),void Ru(n);n[r].quantity=e}void 0!==t.addons&&(n[r].addons=t.addons),void 0!==t.custom_fields&&(n[r].custom_fields=t.custom_fields),void 0!==t.price_variant_id&&(n[r].price_variant_id=t.price_variant_id),void 0!==t.price_data&&(n[r].price_data=t.price_data),void 0!==t.pay_what_you_want_price&&(n[r].pay_what_you_want_price=t.pay_what_you_want_price),void 0!==t.max_quantity&&(null===t.max_quantity?delete n[r].max_quantity:n[r].max_quantity=t.max_quantity),void 0!==t.min_quantity&&(null===t.min_quantity?delete n[r].min_quantity:n[r].min_quantity=t.min_quantity),Du(n[r]);const a=bu(n[r]),s=n.findIndex((e,t)=>t!==r&&e.line_id===a);s>=0?(n[s].quantity+=n[r].quantity,Du(n[s]),n.splice(r,1)):n[r].line_id=a,JSON.stringify(n)!==i&&Ru(n)},removeFromCart:function(e){const t=e.trim();if(!t)throw new d("line_id is required");Ru(qu().filter(e=>e.line_id!==t))},clearCart:ju,createCartBackup:Lu,restoreCartFromBackup:function(){const e=Iu(Ys(Ou("cartBackup"))),t=Ys(Ou("metaBackup")),n=Ys(Ou("couponBackup"));if(e&&e.length>0){if(Uu(e,t),n&&"object"==typeof n&&!Array.isArray(n)){const e=n,t="COUPON"===e.source||"AFFILIATE"===e.source?e.source:null;"string"==typeof e.code&&t?Nu(e.code,t):Cu()}else Cu();return!0}return!1},mergeBaskets:function(e){const t=qu();for(const n of e){const e="string"==typeof n.product_id?n.product_id.trim():"",o="string"==typeof n.variant_id?n.variant_id.trim():"";if(!e||!o)continue;let r;try{r=xu(n.quantity)}catch{continue}if(r<1)continue;const i=vu({...n,line_id:n.line_id??bu(n),product_id:e,variant_id:o,quantity:r}),a=t.findIndex(e=>e.line_id===i.line_id);a>=0?(t[a].quantity=Math.max(t[a].quantity,r),Du(t[a])):(Du(i),t.push(i))}return Ru(t),t},moveBasketItem:function(e,t,n,o){const r=qu(),i=r.findIndex(n=>n.product_id===e&&n.variant_id===t);if(i<0)throw new d("Item not found in cart");const[a]=r.splice(i,1),s=bu({...a,product_id:n,variant_id:o}),u=r.findIndex(e=>e.line_id===s);if(u>=0)r[u].quantity+=a.quantity,Du(r[u]);else{const e=vu({...a,product_id:n,variant_id:o,line_id:s});Du(e),r.push(e)}Ru(r)},getCartStats:function(){const e=qu(),t=Zu(),n=Au(),o=Ys(Ou("cartBackup"))??[],r=e.length>0&&e.every(e=>"number"==typeof e.price_data?.unit_price),i=e.reduce((e,t)=>e+Ra((t.price_data?.unit_price??0)*t.quantity),0);return{item_count:e.length,total_quantity:e.reduce((e,t)=>e+t.quantity,0),last_modified:n?.last_modified??0,version:n?.version??0,has_backup:o.length>0,integrity_valid:t,total_price:Ra(i),total_price_is_estimate:e.length>0&&!r}},validateCartIntegrity:Zu,quoteCart:async function(e,t){const n=Bu+=1,o=function(e){const t=ls(),n=zu(e)??$u()??void 0;return{store_slug:t.storeSlug,items:qu(),coupon:n}}(e),r=wu(t)??Su()??wu(ls().currency),i=await ru("/v1/storefront/cart/quote",{shop_slug:o.store_slug,cart:o.items,coupon:o.coupon,affiliate_code:Mu()??void 0,currency:r??void 0});return n!==Bu||i.success&&(Fu="string"==typeof i.data?.quote_token?i.data.quote_token:null),i},resolveCartLineId:function(e,t,n=qu()){const o=n.filter(n=>n.product_id===e&&n.variant_id===t);if(0===o.length)throw new d(`No cart line found for ${e}/${t}`);return o[0].line_id},checkout:async function(e,t){const n=ol(e,t),{autoRedirect:o=!0,email:r}=n,i=il(n),a=i.coupon,s=Hu(r),u=i.affiliateCode,l=Ku(n),c=qu();if(0===c.length)return{success:!1,message:"Cart is empty"};if(Wu(c,n.expectedCart))return{success:!1,message:Yu};Lu();const d=ls(),p=Gu(n),f=await ru(p.endpoint,{shop_slug:d.storeSlug,cart:al(c),email:s,coupon:a,currency:l,affiliate_code:u,quote_token:Ju()??void 0},{retries:0,baseUrl:p.baseUrl});if(!f.success||!f.data)return Qu(f.message)&&ju(),{success:!1,message:Xu(f.message),...f.code?{code:f.code}:{}};const m=nl(f.data,d.checkoutBaseUrl);if(!m)return{success:!1,message:"Failed to create invoice"};const{invoiceId:_}=m,h=el(m.checkoutUrl,d.checkoutBaseUrl,_);if(!h)return{success:!1,message:"Failed to create invoice"};const y=tl(h,{email:s,locale:n.locale??d.locale});return o&&"undefined"!=typeof window&&window?.location&&(window.location.href=y,ju()),{success:!0,redirectUrl:y,invoiceId:_,rewards:m.rewards}},buildCheckoutUrl:async function(e,t){const n=ol(e,t),{email:o}=n,r=il(n),i=r.coupon,a=Hu(o),s=r.affiliateCode,u=Ku(n),l=qu();if(0===l.length)throw new Error("Cart is empty");if(Wu(l,n.expectedCart))throw new Error(Yu);const c=ls(),d=Gu(n),p=await ru(d.endpoint,{shop_slug:c.storeSlug,cart:al(l),email:a,coupon:i,currency:u,affiliate_code:s,quote_token:Ju()??void 0},{retries:0,baseUrl:d.baseUrl});if(!p.success||!p.data)throw Qu(p.message)&&ju(),new Error(Xu(p.message));const f=nl(p.data,c.checkoutBaseUrl);if(!f)throw new Error("Failed to create invoice");const m=el(f.checkoutUrl,c.checkoutBaseUrl,f.invoiceId);if(!m)throw new Error("Failed to create invoice");return tl(m,{email:a,locale:n.locale??c.locale})},buildCheckoutUrlSync:function(){throw new Error("buildCheckoutUrlSync is deprecated. Use buildCheckoutUrl (async) instead.")},captureAffiliateFromUrl:async function(e="ref"){if("undefined"==typeof window)return null;let t=null;try{const n=new URL(window.location.href).searchParams.get(e);t=n?n.trim():null}catch{t=null}if(t=fu(t),!t)return null;if(mu(t),cs())try{const e=ls(),n=await ru("/v1/storefront/affiliates/attribution",{shop_slug:e.storeSlug,code:t},{retries:0});return n.success&&n.data?.accepted&&n.data?.affiliate_code?(mu(n.data.affiliate_code),n.data.affiliate_code):(_u(),null)}catch{return t}return t},validateAffiliateCode:yu,applyAffiliateCode:async function(e){const t=await yu(e);return t.success&&t.data?.affiliate_code&&mu(t.data.affiliate_code),t},getAffiliateCode:hu,setAffiliateCode:mu,clearAffiliateCode:_u,validateCoupon:async function(e,t){const n=e.trim();if(!n)return{success:!1,message:"Coupon code is required"};const o={code:n},r="string"==typeof t?t:t?.productId,i="string"==typeof t?void 0:t?.variantId;if(i&&!r)return{success:!1,message:"productId is required when variantId is provided"};if(r)o.product_id=r,i&&(o.variant_id=i);else{const e=qu();if(0===e.length)return{success:!1,message:"Cart is empty"};const t=await async function(){const e=ps();if(e)return e;const t=await au();return t.success&&t.data?.id?t.data.id:null}();if(!t)return{success:!1,message:"Failed to resolve store"};o.cart=JSON.stringify({shop_id:t,products:e.map(e=>({uniqid:e.product_id,quantity:e.quantity,variant_id:e.variant_id,price_variant_id:e.price_variant_id,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1}))}))})}return await ru("/v1/storefront/coupons/check",o)},getShopReviews:async function(){const e=[],t=/* @__PURE__ */new Set;let n=null;for(;;){const o=await cl(n);if(!o.success||!o.data)return{success:!1,message:o.message,data:[]};e.push(...o.data.feedback);const r=o.data.pagination;if(!r?.has_more||!r.next_cursor)break;if(t.has(r.next_cursor))break;t.add(r.next_cursor),n=r.next_cursor}return{success:!0,data:e}},getShopReviewsPage:cl,requestOtp:_l,verifyOtp:hl,logout:yl,me:gl,dashboard:bl,orders:vl,order:wl,loyalty:Sl,redeemLoyaltyPoints:kl,warranties:Ol,claimWarranty:El,resetLicenseHwid:xl,subscriptionBillingHistory:zl,cancelSubscription:Tl,pauseSubscription:Il,resumeSubscription:Al,favorites:$l,addFavorite:Pl,removeFavorite:Nl,affiliate:Cl,createTicket:Rl,ticket:Ul,replyToTicket:ql,updateProfile:Dl,updateAvatar:jl,removeAvatar:Ll,emailPreferences:Zl,updateEmailPreferences:Ml,sessions:Fl,revokeSession:Bl,revokeAllSessions:Jl,reseller:Yl,applyForReseller:Wl,enrollAsReseller:Vl,acceptResellerInvite:Hl,resellerCatalog:Gl,quoteResellerOrder:Kl,resellerOrders:Xl,resellerOrder:Ql,resellerWallet:ec,resellerApiKeys:tc,searchProducts:async function(e,t){if(!cs())return{success:!1,message:"SDK not initialized"};const n=e.trim();if(!n)return{success:!0,data:[]};const o=await su();return o.success&&o.data?{success:!0,data:Ds(o.data.products??[],o.data.groups??[],n,{hideOutOfStock:t?.hideOutOfStock,maxResults:t?.maxResults})}:{success:!1,message:o.message??"Failed to fetch storefront catalog"}},searchCatalogItems:async function(e,t){if(!cs())return{success:!1,message:"SDK not initialized"};const n=e.trim();if(!n)return{success:!0,data:[]};const o=await su();return o.success&&o.data?{success:!0,data:qs(o.data.products??[],o.data.groups??[],n,{hideOutOfStock:t?.hideOutOfStock,maxResults:t?.maxResults})}:{success:!1,message:o.message??"Failed to fetch storefront catalog"}},getInvoice:async function(e){const t=nc(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await ou(Bs("/v1/storefront/invoices/unique/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?{success:!0,data:n.data.invoice}:{success:!1,message:"Invalid invoice response"}:{success:!1,message:n.message}},getInvoiceStatus:async function(e){const t=nc(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await ou(Bs("/v1/storefront/invoices/status/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?.status?{success:!0,data:{status:n.data.invoice.status}}:{success:!1,message:"Invalid invoice status response"}:{success:!1,message:n.message}},getPages:async function(){const e=ls(),t=await ou(Bs("/v1/storefront/shops/name/:storeSlug/pages",{storeSlug:e.storeSlug}),{cache:{key:`pages:${e.storeSlug}`,ttl:oc,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.pages}:{success:!1,message:t.message}},getPage:async function(e){const t=ls(),n=await ou(Bs("/v1/storefront/shops/name/:storeSlug/pages/:slug",{storeSlug:t.storeSlug,slug:e}),{cache:{key:`page:${t.storeSlug}:${e}`,ttl:oc,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.page}:{success:!1,message:n.message}},getMenus:ic,getMenu:sc,getMenuBySlot:uc,getMenuByTitle:ac,getMenuSlotTitles:lc,trackPageView:fc,getStorefrontOnlineUsers:_c,getStorefrontRecentSales:mc,touchStorefrontPresence:hc,createFormatter:yc,formatPrice:function(e,t,n){const o="string"==typeof e?parseFloat(e):e;return Number.isNaN(o)?yc(t,n).format(0):yc(t,n).format(o)},clearCache:o,invalidateCache:function(t){for(const n of e.keys())(n===t||n.startsWith(t))&&e.delete(n)},getCacheStats:function(){return{hits:n.hits,misses:n.misses,pendingRequests:t.size,entries:e.size}},fetchPublishedBuilderSettings:vc,fetchPublishedThemeSettings:wc,resolveDefaults:Sc,mergeSettings:kc};if("undefined"!=typeof window){const e=window;e.shoppex?.isInitialized?.()||(e.shoppex=Oc)}export{l as ApiError,Pa as CATALOG_UNIT_PRICE_DECIMAL_PLACES,Ca as CATALOG_UNIT_PRICE_FORMAT_OPTIONS,d as CartError,u as NetworkError,s as NotInitializedError,Na as PAYABLE_AMOUNT_DECIMAL_PLACES,a as ShoppexError,c as ValidationError,Hl as acceptResellerInvite,Pl as addFavorite,Cl as affiliate,Wl as applyForReseller,Ls as buildStorefrontContactMessage,hs as buildStorefrontCustomFieldPayload,xs as buildStorefrontProductLookup,Tl as cancelSubscription,El as claimWarranty,Ps as collectProductSearchHaystack,bu as computeCartLineId,Rl as createTicket,bl as dashboard,Oc as default,Oc as shoppex,Zl as emailPreferences,Vl as enrollAsReseller,vu as ensureCartLineId,$l as favorites,vc as fetchPublishedBuilderSettings,wc as fetchPublishedThemeSettings,Rs as filterProductsBySearchQuery,sc as getMenu,uc as getMenuBySlot,ac as getMenuByTitle,lc as getMenuSlotTitles,ic as getMenus,Ts as getMergedStorefrontProducts,cl as getShopReviewsPage,zs as getStorefrontGroupProducts,_c as getStorefrontOnlineUsers,mc as getStorefrontRecentSales,Cs as groupMatchesSearchQuery,Os as isProductInStock,ks as isProductOutOfStock,ms as isStorefrontCheckboxCustomFieldValueChecked,Es as isVariantOutOfStock,yl as logout,Sl as loyalty,gl as me,kc as mergeSettings,As as normalizeSearchQuery,fs as normalizeStorefrontCustomFields,wl as order,vl as orders,Il as pauseSubscription,Ns as productMatchesSearchQuery,Kl as quoteResellerOrder,kl as redeemLoyaltyPoints,Ll as removeAvatar,Nl as removeFavorite,ql as replyToTicket,_l as requestOtp,Yl as reseller,tc as resellerApiKeys,Gl as resellerCatalog,Ql as resellerOrder,Xl as resellerOrders,ec as resellerWallet,xl as resetLicenseHwid,Sc as resolveDefaults,Ss as resolveDisplayStock,js as resolveStorefrontApiBaseUrl,Ms as resolveStorefrontSocialLinks,ws as resolveVariantStockValue,Al as resumeSubscription,Jl as revokeAllSessions,Bl as revokeSession,Ra as roundPayableAmount,Ds as searchMergedStorefrontCatalog,qs as searchMergedStorefrontCatalogItems,Fl as sessions,Is as stripHtmlFromText,Zs as submitStorefrontContactTicket,zl as subscriptionBillingHistory,Ul as ticket,hc as touchStorefrontPresence,fc as trackPageView,jl as updateAvatar,Ml as updateEmailPreferences,Dl as updateProfile,_s as validateStorefrontCustomFieldValue,hl as verifyOtp,Ol as warranties};
|
|
3
3
|
//# sourceMappingURL=shoppex.esm.js.map
|