@payai/x402-solana-react 0.1.0-beta.2 → 0.1.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +761 -1389
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,31 +1,2 @@
|
|
|
1
|
-
"use strict";var Qr=Object.defineProperty;var et=(e,n,t)=>n in e?Qr(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var lr=(e,n,t)=>et(e,typeof n!="symbol"?n+"":n,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("react"),L=require("@solana/web3.js"),re=require("@solana/spl-token");function rt(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const A=rt(V);var Ie={exports:{}},be={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var cr;function tt(){if(cr)return be;cr=1;var e=V,n=Symbol.for("react.element"),t=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function d(l,f,p){var b,h={},g=null,m=null;p!==void 0&&(g=""+p),f.key!==void 0&&(g=""+f.key),f.ref!==void 0&&(m=f.ref);for(b in f)o.call(f,b)&&!s.hasOwnProperty(b)&&(h[b]=f[b]);if(l&&l.defaultProps)for(b in f=l.defaultProps,f)h[b]===void 0&&(h[b]=f[b]);return{$$typeof:n,type:l,key:g,ref:m,props:h,_owner:a.current}}return be.Fragment=t,be.jsx=d,be.jsxs=d,be}var ge={};/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.development.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var dr;function nt(){return dr||(dr=1,process.env.NODE_ENV!=="production"&&function(){var e=V,n=Symbol.for("react.element"),t=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),l=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),b=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),S=Symbol.iterator,E="@@iterator";function y(r){if(r===null||typeof r!="object")return null;var i=S&&r[S]||r[E];return typeof i=="function"?i:null}var k=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(r){{for(var i=arguments.length,u=new Array(i>1?i-1:0),v=1;v<i;v++)u[v-1]=arguments[v];M("error",r,u)}}function M(r,i,u){{var v=k.ReactDebugCurrentFrame,R=v.getStackAddendum();R!==""&&(i+="%s",u=u.concat([R]));var _=u.map(function(j){return String(j)});_.unshift("Warning: "+i),Function.prototype.apply.call(console[r],console,_)}}var D=!1,$=!1,G=!1,W=!1,Q=!1,X;X=Symbol.for("react.module.reference");function Y(r){return!!(typeof r=="string"||typeof r=="function"||r===o||r===s||Q||r===a||r===p||r===b||W||r===m||D||$||G||typeof r=="object"&&r!==null&&(r.$$typeof===g||r.$$typeof===h||r.$$typeof===d||r.$$typeof===l||r.$$typeof===f||r.$$typeof===X||r.getModuleId!==void 0))}function z(r,i,u){var v=r.displayName;if(v)return v;var R=i.displayName||i.name||"";return R!==""?u+"("+R+")":u}function P(r){return r.displayName||"Context"}function K(r){if(r==null)return null;if(typeof r.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case o:return"Fragment";case t:return"Portal";case s:return"Profiler";case a:return"StrictMode";case p:return"Suspense";case b:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case l:var i=r;return P(i)+".Consumer";case d:var u=r;return P(u._context)+".Provider";case f:return z(r,r.render,"ForwardRef");case h:var v=r.displayName||null;return v!==null?v:K(r.type)||"Memo";case g:{var R=r,_=R._payload,j=R._init;try{return K(j(_))}catch{return null}}}return null}var B=Object.assign,H=0,Z,ue,se,te,fe,J,Ge;function Ye(){}Ye.__reactDisabledLog=!0;function Pr(){{if(H===0){Z=console.log,ue=console.info,se=console.warn,te=console.error,fe=console.group,J=console.groupCollapsed,Ge=console.groupEnd;var r={configurable:!0,enumerable:!0,value:Ye,writable:!0};Object.defineProperties(console,{info:r,log:r,warn:r,error:r,group:r,groupCollapsed:r,groupEnd:r})}H++}}function Rr(){{if(H--,H===0){var r={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:B({},r,{value:Z}),info:B({},r,{value:ue}),warn:B({},r,{value:se}),error:B({},r,{value:te}),group:B({},r,{value:fe}),groupCollapsed:B({},r,{value:J}),groupEnd:B({},r,{value:Ge})})}H<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ke=k.ReactCurrentDispatcher,Pe;function xe(r,i,u){{if(Pe===void 0)try{throw Error()}catch(R){var v=R.stack.trim().match(/\n( *(at )?)/);Pe=v&&v[1]||""}return`
|
|
18
|
-
`+Pe+r}}var Re=!1,ye;{var Sr=typeof WeakMap=="function"?WeakMap:Map;ye=new Sr}function Ke(r,i){if(!r||Re)return"";{var u=ye.get(r);if(u!==void 0)return u}var v;Re=!0;var R=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var _;_=ke.current,ke.current=null,Pr();try{if(i){var j=function(){throw Error()};if(Object.defineProperty(j.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(j,[])}catch(U){v=U}Reflect.construct(r,[],j)}else{try{j.call()}catch(U){v=U}r.call(j.prototype)}}else{try{throw Error()}catch(U){v=U}r()}}catch(U){if(U&&v&&typeof U.stack=="string"){for(var w=U.stack.split(`
|
|
19
|
-
`),F=v.stack.split(`
|
|
20
|
-
`),N=w.length-1,O=F.length-1;N>=1&&O>=0&&w[N]!==F[O];)O--;for(;N>=1&&O>=0;N--,O--)if(w[N]!==F[O]){if(N!==1||O!==1)do if(N--,O--,O<0||w[N]!==F[O]){var q=`
|
|
21
|
-
`+w[N].replace(" at new "," at ");return r.displayName&&q.includes("<anonymous>")&&(q=q.replace("<anonymous>",r.displayName)),typeof r=="function"&&ye.set(r,q),q}while(N>=1&&O>=0);break}}}finally{Re=!1,ke.current=_,Rr(),Error.prepareStackTrace=R}var le=r?r.displayName||r.name:"",ae=le?xe(le):"";return typeof r=="function"&&ye.set(r,ae),ae}function _r(r,i,u){return Ke(r,!1)}function Tr(r){var i=r.prototype;return!!(i&&i.isReactComponent)}function we(r,i,u){if(r==null)return"";if(typeof r=="function")return Ke(r,Tr(r));if(typeof r=="string")return xe(r);switch(r){case p:return xe("Suspense");case b:return xe("SuspenseList")}if(typeof r=="object")switch(r.$$typeof){case f:return _r(r.render);case h:return we(r.type,i,u);case g:{var v=r,R=v._payload,_=v._init;try{return we(_(R),i,u)}catch{}}}return""}var pe=Object.prototype.hasOwnProperty,Xe={},He=k.ReactDebugCurrentFrame;function Ce(r){if(r){var i=r._owner,u=we(r.type,r._source,i?i.type:null);He.setExtraStackFrame(u)}else He.setExtraStackFrame(null)}function Ar(r,i,u,v,R){{var _=Function.call.bind(pe);for(var j in r)if(_(r,j)){var w=void 0;try{if(typeof r[j]!="function"){var F=Error((v||"React class")+": "+u+" type `"+j+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof r[j]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw F.name="Invariant Violation",F}w=r[j](i,j,v,u,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(N){w=N}w&&!(w instanceof Error)&&(Ce(R),C("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",v||"React class",u,j,typeof w),Ce(null)),w instanceof Error&&!(w.message in Xe)&&(Xe[w.message]=!0,Ce(R),C("Failed %s type: %s",u,w.message),Ce(null))}}}var Nr=Array.isArray;function Se(r){return Nr(r)}function Or(r){{var i=typeof Symbol=="function"&&Symbol.toStringTag,u=i&&r[Symbol.toStringTag]||r.constructor.name||"Object";return u}}function Ir(r){try{return Je(r),!1}catch{return!0}}function Je(r){return""+r}function qe(r){if(Ir(r))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Or(r)),Je(r)}var Ze=k.ReactCurrentOwner,Mr={key:!0,ref:!0,__self:!0,__source:!0},Qe,er;function zr(r){if(pe.call(r,"ref")){var i=Object.getOwnPropertyDescriptor(r,"ref").get;if(i&&i.isReactWarning)return!1}return r.ref!==void 0}function Dr(r){if(pe.call(r,"key")){var i=Object.getOwnPropertyDescriptor(r,"key").get;if(i&&i.isReactWarning)return!1}return r.key!==void 0}function Fr(r,i){typeof r.ref=="string"&&Ze.current}function Lr(r,i){{var u=function(){Qe||(Qe=!0,C("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",i))};u.isReactWarning=!0,Object.defineProperty(r,"key",{get:u,configurable:!0})}}function Wr(r,i){{var u=function(){er||(er=!0,C("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",i))};u.isReactWarning=!0,Object.defineProperty(r,"ref",{get:u,configurable:!0})}}var Br=function(r,i,u,v,R,_,j){var w={$$typeof:n,type:r,key:i,ref:u,props:j,_owner:_};return w._store={},Object.defineProperty(w._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(w,"_self",{configurable:!1,enumerable:!1,writable:!1,value:v}),Object.defineProperty(w,"_source",{configurable:!1,enumerable:!1,writable:!1,value:R}),Object.freeze&&(Object.freeze(w.props),Object.freeze(w)),w};function Ur(r,i,u,v,R){{var _,j={},w=null,F=null;u!==void 0&&(qe(u),w=""+u),Dr(i)&&(qe(i.key),w=""+i.key),zr(i)&&(F=i.ref,Fr(i,R));for(_ in i)pe.call(i,_)&&!Mr.hasOwnProperty(_)&&(j[_]=i[_]);if(r&&r.defaultProps){var N=r.defaultProps;for(_ in N)j[_]===void 0&&(j[_]=N[_])}if(w||F){var O=typeof r=="function"?r.displayName||r.name||"Unknown":r;w&&Lr(j,O),F&&Wr(j,O)}return Br(r,w,F,R,v,Ze.current,j)}}var _e=k.ReactCurrentOwner,rr=k.ReactDebugCurrentFrame;function ie(r){if(r){var i=r._owner,u=we(r.type,r._source,i?i.type:null);rr.setExtraStackFrame(u)}else rr.setExtraStackFrame(null)}var Te;Te=!1;function Ae(r){return typeof r=="object"&&r!==null&&r.$$typeof===n}function tr(){{if(_e.current){var r=K(_e.current.type);if(r)return`
|
|
22
|
-
|
|
23
|
-
Check the render method of \``+r+"`."}return""}}function Vr(r){return""}var nr={};function $r(r){{var i=tr();if(!i){var u=typeof r=="string"?r:r.displayName||r.name;u&&(i=`
|
|
24
|
-
|
|
25
|
-
Check the top-level render call using <`+u+">.")}return i}}function or(r,i){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var u=$r(i);if(nr[u])return;nr[u]=!0;var v="";r&&r._owner&&r._owner!==_e.current&&(v=" It was passed a child from "+K(r._owner.type)+"."),ie(r),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',u,v),ie(null)}}function ar(r,i){{if(typeof r!="object")return;if(Se(r))for(var u=0;u<r.length;u++){var v=r[u];Ae(v)&&or(v,i)}else if(Ae(r))r._store&&(r._store.validated=!0);else if(r){var R=y(r);if(typeof R=="function"&&R!==r.entries)for(var _=R.call(r),j;!(j=_.next()).done;)Ae(j.value)&&or(j.value,i)}}}function Gr(r){{var i=r.type;if(i==null||typeof i=="string")return;var u;if(typeof i=="function")u=i.propTypes;else if(typeof i=="object"&&(i.$$typeof===f||i.$$typeof===h))u=i.propTypes;else return;if(u){var v=K(i);Ar(u,r.props,"prop",v,r)}else if(i.PropTypes!==void 0&&!Te){Te=!0;var R=K(i);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",R||"Unknown")}typeof i.getDefaultProps=="function"&&!i.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Yr(r){{for(var i=Object.keys(r.props),u=0;u<i.length;u++){var v=i[u];if(v!=="children"&&v!=="key"){ie(r),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",v),ie(null);break}}r.ref!==null&&(ie(r),C("Invalid attribute `ref` supplied to `React.Fragment`."),ie(null))}}var sr={};function ir(r,i,u,v,R,_){{var j=Y(r);if(!j){var w="";(r===void 0||typeof r=="object"&&r!==null&&Object.keys(r).length===0)&&(w+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var F=Vr();F?w+=F:w+=tr();var N;r===null?N="null":Se(r)?N="array":r!==void 0&&r.$$typeof===n?(N="<"+(K(r.type)||"Unknown")+" />",w=" Did you accidentally export a JSX literal instead of a component?"):N=typeof r,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",N,w)}var O=Ur(r,i,u,R,_);if(O==null)return O;if(j){var q=i.children;if(q!==void 0)if(v)if(Se(q)){for(var le=0;le<q.length;le++)ar(q[le],r);Object.freeze&&Object.freeze(q)}else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ar(q,r)}if(pe.call(i,"key")){var ae=K(r),U=Object.keys(i).filter(function(Zr){return Zr!=="key"}),Ne=U.length>0?"{key: someKey, "+U.join(": ..., ")+": ...}":"{key: someKey}";if(!sr[ae+Ne]){var qr=U.length>0?"{"+U.join(": ..., ")+": ...}":"{}";C(`A props object containing a "key" prop is being spread into JSX:
|
|
26
|
-
let props = %s;
|
|
27
|
-
<%s {...props} />
|
|
28
|
-
React keys must be passed directly to JSX without using spread:
|
|
29
|
-
let props = %s;
|
|
30
|
-
<%s key={someKey} {...props} />`,Ne,ae,qr,ae),sr[ae+Ne]=!0}}return r===o?Yr(O):Gr(O),O}}function Kr(r,i,u){return ir(r,i,u,!0)}function Xr(r,i,u){return ir(r,i,u,!1)}var Hr=Xr,Jr=Kr;ge.Fragment=o,ge.jsx=Hr,ge.jsxs=Jr}()),ge}process.env.NODE_ENV==="production"?Ie.exports=tt():Ie.exports=nt();var c=Ie.exports;function ot(e){return e==="solana"?"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"}function at(e){return e==="solana"?"https://api.mainnet-beta.solana.com":"https://api.devnet.solana.com"}async function st(e,n,t){try{const o=t||at(n),a=new L.Connection(o,"confirmed"),s=new L.PublicKey(e),d=new L.PublicKey(ot(n)),l=await re.getAssociatedTokenAddress(d,s),f=await re.getAccount(a,l);return(Number(f.amount)/1e6).toFixed(2)}catch(o){return console.error("Error fetching USDC balance:",o),"0.00"}}function mr(e){var n,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(n=0;n<a;n++)e[n]&&(t=mr(e[n]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function hr(){for(var e,n,t=0,o="",a=arguments.length;t<a;t++)(e=arguments[t])&&(n=mr(e))&&(o&&(o+=" "),o+=n);return o}const ze="-",it=e=>{const n=ct(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:d=>{const l=d.split(ze);return l[0]===""&&l.length!==1&&l.shift(),vr(l,n)||lt(d)},getConflictingClassGroupIds:(d,l)=>{const f=t[d]||[];return l&&o[d]?[...f,...o[d]]:f}}},vr=(e,n)=>{var d;if(e.length===0)return n.classGroupId;const t=e[0],o=n.nextPart.get(t),a=o?vr(e.slice(1),o):void 0;if(a)return a;if(n.validators.length===0)return;const s=e.join(ze);return(d=n.validators.find(({validator:l})=>l(s)))==null?void 0:d.classGroupId},ur=/^\[(.+)\]$/,lt=e=>{if(ur.test(e)){const n=ur.exec(e)[1],t=n==null?void 0:n.substring(0,n.indexOf(":"));if(t)return"arbitrary.."+t}},ct=e=>{const{theme:n,prefix:t}=e,o={nextPart:new Map,validators:[]};return ut(Object.entries(e.classGroups),t).forEach(([s,d])=>{Me(d,o,s,n)}),o},Me=(e,n,t,o)=>{e.forEach(a=>{if(typeof a=="string"){const s=a===""?n:fr(n,a);s.classGroupId=t;return}if(typeof a=="function"){if(dt(a)){Me(a(o),n,t,o);return}n.validators.push({validator:a,classGroupId:t});return}Object.entries(a).forEach(([s,d])=>{Me(d,fr(n,s),t,o)})})},fr=(e,n)=>{let t=e;return n.split(ze).forEach(o=>{t.nextPart.has(o)||t.nextPart.set(o,{nextPart:new Map,validators:[]}),t=t.nextPart.get(o)}),t},dt=e=>e.isThemeGetter,ut=(e,n)=>n?e.map(([t,o])=>{const a=o.map(s=>typeof s=="string"?n+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([d,l])=>[n+d,l])):s);return[t,a]}):e,ft=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,t=new Map,o=new Map;const a=(s,d)=>{t.set(s,d),n++,n>e&&(n=0,o=t,t=new Map)};return{get(s){let d=t.get(s);if(d!==void 0)return d;if((d=o.get(s))!==void 0)return a(s,d),d},set(s,d){t.has(s)?t.set(s,d):a(s,d)}}},xr="!",pt=e=>{const{separator:n,experimentalParseClassName:t}=e,o=n.length===1,a=n[0],s=n.length,d=l=>{const f=[];let p=0,b=0,h;for(let y=0;y<l.length;y++){let k=l[y];if(p===0){if(k===a&&(o||l.slice(y,y+s)===n)){f.push(l.slice(b,y)),b=y+s;continue}if(k==="/"){h=y;continue}}k==="["?p++:k==="]"&&p--}const g=f.length===0?l:l.substring(b),m=g.startsWith(xr),S=m?g.substring(1):g,E=h&&h>b?h-b:void 0;return{modifiers:f,hasImportantModifier:m,baseClassName:S,maybePostfixModifierPosition:E}};return t?l=>t({className:l,parseClassName:d}):d},bt=e=>{if(e.length<=1)return e;const n=[];let t=[];return e.forEach(o=>{o[0]==="["?(n.push(...t.sort(),o),t=[]):t.push(o)}),n.push(...t.sort()),n},gt=e=>({cache:ft(e.cacheSize),parseClassName:pt(e),...it(e)}),mt=/\s+/,ht=(e,n)=>{const{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:a}=n,s=[],d=e.trim().split(mt);let l="";for(let f=d.length-1;f>=0;f-=1){const p=d[f],{modifiers:b,hasImportantModifier:h,baseClassName:g,maybePostfixModifierPosition:m}=t(p);let S=!!m,E=o(S?g.substring(0,m):g);if(!E){if(!S){l=p+(l.length>0?" "+l:l);continue}if(E=o(g),!E){l=p+(l.length>0?" "+l:l);continue}S=!1}const y=bt(b).join(":"),k=h?y+xr:y,C=k+E;if(s.includes(C))continue;s.push(C);const M=a(E,S);for(let D=0;D<M.length;++D){const $=M[D];s.push(k+$)}l=p+(l.length>0?" "+l:l)}return l};function vt(){let e=0,n,t,o="";for(;e<arguments.length;)(n=arguments[e++])&&(t=yr(n))&&(o&&(o+=" "),o+=t);return o}const yr=e=>{if(typeof e=="string")return e;let n,t="";for(let o=0;o<e.length;o++)e[o]&&(n=yr(e[o]))&&(t&&(t+=" "),t+=n);return t};function xt(e,...n){let t,o,a,s=d;function d(f){const p=n.reduce((b,h)=>h(b),e());return t=gt(p),o=t.cache.get,a=t.cache.set,s=l,l(f)}function l(f){const p=o(f);if(p)return p;const b=ht(f,t);return a(f,b),b}return function(){return s(vt.apply(null,arguments))}}const T=e=>{const n=t=>t[e]||[];return n.isThemeGetter=!0,n},wr=/^\[(?:([a-z-]+):)?(.+)\]$/i,yt=/^\d+\/\d+$/,wt=new Set(["px","full","screen"]),Ct=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Et=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,kt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Pt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ee=e=>ce(e)||wt.has(e)||yt.test(e),ne=e=>de(e,"length",It),ce=e=>!!e&&!Number.isNaN(Number(e)),Oe=e=>de(e,"number",ce),me=e=>!!e&&Number.isInteger(Number(e)),Rt=e=>e.endsWith("%")&&ce(e.slice(0,-1)),x=e=>wr.test(e),oe=e=>Ct.test(e),St=new Set(["length","size","percentage"]),_t=e=>de(e,St,Cr),Tt=e=>de(e,"position",Cr),At=new Set(["image","url"]),Nt=e=>de(e,At,zt),Ot=e=>de(e,"",Mt),he=()=>!0,de=(e,n,t)=>{const o=wr.exec(e);return o?o[1]?typeof n=="string"?o[1]===n:n.has(o[1]):t(o[2]):!1},It=e=>jt.test(e)&&!Et.test(e),Cr=()=>!1,Mt=e=>kt.test(e),zt=e=>Pt.test(e),Dt=()=>{const e=T("colors"),n=T("spacing"),t=T("blur"),o=T("brightness"),a=T("borderColor"),s=T("borderRadius"),d=T("borderSpacing"),l=T("borderWidth"),f=T("contrast"),p=T("grayscale"),b=T("hueRotate"),h=T("invert"),g=T("gap"),m=T("gradientColorStops"),S=T("gradientColorStopPositions"),E=T("inset"),y=T("margin"),k=T("opacity"),C=T("padding"),M=T("saturate"),D=T("scale"),$=T("sepia"),G=T("skew"),W=T("space"),Q=T("translate"),X=()=>["auto","contain","none"],Y=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto",x,n],P=()=>[x,n],K=()=>["",ee,ne],B=()=>["auto",ce,x],H=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Z=()=>["solid","dashed","dotted","double","none"],ue=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],se=()=>["start","end","center","between","around","evenly","stretch"],te=()=>["","0",x],fe=()=>["auto","avoid","all","avoid-page","page","left","right","column"],J=()=>[ce,x];return{cacheSize:500,separator:":",theme:{colors:[he],spacing:[ee,ne],blur:["none","",oe,x],brightness:J(),borderColor:[e],borderRadius:["none","","full",oe,x],borderSpacing:P(),borderWidth:K(),contrast:J(),grayscale:te(),hueRotate:J(),invert:te(),gap:P(),gradientColorStops:[e],gradientColorStopPositions:[Rt,ne],inset:z(),margin:z(),opacity:J(),padding:P(),saturate:J(),scale:J(),sepia:te(),skew:J(),space:P(),translate:P()},classGroups:{aspect:[{aspect:["auto","square","video",x]}],container:["container"],columns:[{columns:[oe]}],"break-after":[{"break-after":fe()}],"break-before":[{"break-before":fe()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...H(),x]}],overflow:[{overflow:Y()}],"overflow-x":[{"overflow-x":Y()}],"overflow-y":[{"overflow-y":Y()}],overscroll:[{overscroll:X()}],"overscroll-x":[{"overscroll-x":X()}],"overscroll-y":[{"overscroll-y":X()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[E]}],"inset-x":[{"inset-x":[E]}],"inset-y":[{"inset-y":[E]}],start:[{start:[E]}],end:[{end:[E]}],top:[{top:[E]}],right:[{right:[E]}],bottom:[{bottom:[E]}],left:[{left:[E]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",me,x]}],basis:[{basis:z()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",x]}],grow:[{grow:te()}],shrink:[{shrink:te()}],order:[{order:["first","last","none",me,x]}],"grid-cols":[{"grid-cols":[he]}],"col-start-end":[{col:["auto",{span:["full",me,x]},x]}],"col-start":[{"col-start":B()}],"col-end":[{"col-end":B()}],"grid-rows":[{"grid-rows":[he]}],"row-start-end":[{row:["auto",{span:[me,x]},x]}],"row-start":[{"row-start":B()}],"row-end":[{"row-end":B()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",x]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",x]}],gap:[{gap:[g]}],"gap-x":[{"gap-x":[g]}],"gap-y":[{"gap-y":[g]}],"justify-content":[{justify:["normal",...se()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...se(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...se(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[C]}],px:[{px:[C]}],py:[{py:[C]}],ps:[{ps:[C]}],pe:[{pe:[C]}],pt:[{pt:[C]}],pr:[{pr:[C]}],pb:[{pb:[C]}],pl:[{pl:[C]}],m:[{m:[y]}],mx:[{mx:[y]}],my:[{my:[y]}],ms:[{ms:[y]}],me:[{me:[y]}],mt:[{mt:[y]}],mr:[{mr:[y]}],mb:[{mb:[y]}],ml:[{ml:[y]}],"space-x":[{"space-x":[W]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[W]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",x,n]}],"min-w":[{"min-w":[x,n,"min","max","fit"]}],"max-w":[{"max-w":[x,n,"none","full","min","max","fit","prose",{screen:[oe]},oe]}],h:[{h:[x,n,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[x,n,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[x,n,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[x,n,"auto","min","max","fit"]}],"font-size":[{text:["base",oe,ne]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Oe]}],"font-family":[{font:[he]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",x]}],"line-clamp":[{"line-clamp":["none",ce,Oe]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",ee,x]}],"list-image":[{"list-image":["none",x]}],"list-style-type":[{list:["none","disc","decimal",x]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[k]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[k]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",ee,ne]}],"underline-offset":[{"underline-offset":["auto",ee,x]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:P()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",x]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",x]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[k]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...H(),Tt]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",_t]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Nt]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[S]}],"gradient-via-pos":[{via:[S]}],"gradient-to-pos":[{to:[S]}],"gradient-from":[{from:[m]}],"gradient-via":[{via:[m]}],"gradient-to":[{to:[m]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[k]}],"border-style":[{border:[...Z(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[k]}],"divide-style":[{divide:Z()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...Z()]}],"outline-offset":[{"outline-offset":[ee,x]}],"outline-w":[{outline:[ee,ne]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[k]}],"ring-offset-w":[{"ring-offset":[ee,ne]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",oe,Ot]}],"shadow-color":[{shadow:[he]}],opacity:[{opacity:[k]}],"mix-blend":[{"mix-blend":[...ue(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ue()}],filter:[{filter:["","none"]}],blur:[{blur:[t]}],brightness:[{brightness:[o]}],contrast:[{contrast:[f]}],"drop-shadow":[{"drop-shadow":["","none",oe,x]}],grayscale:[{grayscale:[p]}],"hue-rotate":[{"hue-rotate":[b]}],invert:[{invert:[h]}],saturate:[{saturate:[M]}],sepia:[{sepia:[$]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[t]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[f]}],"backdrop-grayscale":[{"backdrop-grayscale":[p]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[b]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[k]}],"backdrop-saturate":[{"backdrop-saturate":[M]}],"backdrop-sepia":[{"backdrop-sepia":[$]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[d]}],"border-spacing-x":[{"border-spacing-x":[d]}],"border-spacing-y":[{"border-spacing-y":[d]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",x]}],duration:[{duration:J()}],ease:[{ease:["linear","in","out","in-out",x]}],delay:[{delay:J()}],animate:[{animate:["none","spin","ping","pulse","bounce",x]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[D]}],"scale-x":[{"scale-x":[D]}],"scale-y":[{"scale-y":[D]}],rotate:[{rotate:[me,x]}],"translate-x":[{"translate-x":[Q]}],"translate-y":[{"translate-y":[Q]}],"skew-x":[{"skew-x":[G]}],"skew-y":[{"skew-y":[G]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",x]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",x]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":P()}],"scroll-mx":[{"scroll-mx":P()}],"scroll-my":[{"scroll-my":P()}],"scroll-ms":[{"scroll-ms":P()}],"scroll-me":[{"scroll-me":P()}],"scroll-mt":[{"scroll-mt":P()}],"scroll-mr":[{"scroll-mr":P()}],"scroll-mb":[{"scroll-mb":P()}],"scroll-ml":[{"scroll-ml":P()}],"scroll-p":[{"scroll-p":P()}],"scroll-px":[{"scroll-px":P()}],"scroll-py":[{"scroll-py":P()}],"scroll-ps":[{"scroll-ps":P()}],"scroll-pe":[{"scroll-pe":P()}],"scroll-pt":[{"scroll-pt":P()}],"scroll-pr":[{"scroll-pr":P()}],"scroll-pb":[{"scroll-pb":P()}],"scroll-pl":[{"scroll-pl":P()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",x]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[ee,ne,Oe]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},Ft=xt(Dt);function I(...e){return Ft(hr(e))}const je=A.forwardRef(({className:e,...n},t)=>c.jsx("div",{ref:t,className:I("rounded-xl border bg-card text-card-foreground shadow",e),...n}));je.displayName="Card";const De=A.forwardRef(({className:e,...n},t)=>c.jsx("div",{ref:t,className:I("flex flex-col space-y-1.5 p-6",e),...n}));De.displayName="CardHeader";const Fe=A.forwardRef(({className:e,...n},t)=>c.jsx("div",{ref:t,className:I("font-semibold leading-none tracking-tight",e),...n}));Fe.displayName="CardTitle";const Le=A.forwardRef(({className:e,...n},t)=>c.jsx("div",{ref:t,className:I("text-sm text-muted-foreground",e),...n}));Le.displayName="CardDescription";const Ee=A.forwardRef(({className:e,...n},t)=>c.jsx("div",{ref:t,className:I("p-6 pt-0",e),...n}));Ee.displayName="CardContent";const Lt=A.forwardRef(({className:e,...n},t)=>c.jsx("div",{ref:t,className:I("flex items-center p-6 pt-0",e),...n}));Lt.displayName="CardFooter";function pr(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Wt(...e){return n=>{let t=!1;const o=e.map(a=>{const s=pr(a,n);return!t&&typeof s=="function"&&(t=!0),s});if(t)return()=>{for(let a=0;a<o.length;a++){const s=o[a];typeof s=="function"?s():pr(e[a],null)}}}}function Bt(e){const n=Vt(e),t=A.forwardRef((o,a)=>{const{children:s,...d}=o,l=A.Children.toArray(s),f=l.find(Gt);if(f){const p=f.props.children,b=l.map(h=>h===f?A.Children.count(p)>1?A.Children.only(null):A.isValidElement(p)?p.props.children:null:h);return c.jsx(n,{...d,ref:a,children:A.isValidElement(p)?A.cloneElement(p,void 0,b):null})}return c.jsx(n,{...d,ref:a,children:s})});return t.displayName=`${e}.Slot`,t}var Ut=Bt("Slot");function Vt(e){const n=A.forwardRef((t,o)=>{const{children:a,...s}=t;if(A.isValidElement(a)){const d=Kt(a),l=Yt(s,a.props);return a.type!==A.Fragment&&(l.ref=o?Wt(o,d):d),A.cloneElement(a,l)}return A.Children.count(a)>1?A.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var $t=Symbol("radix.slottable");function Gt(e){return A.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===$t}function Yt(e,n){const t={...n};for(const o in n){const a=e[o],s=n[o];/^on[A-Z]/.test(o)?a&&s?t[o]=(...l)=>{const f=s(...l);return a(...l),f}:a&&(t[o]=a):o==="style"?t[o]={...a,...s}:o==="className"&&(t[o]=[a,s].filter(Boolean).join(" "))}return{...e,...t}}function Kt(e){var o,a;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(a=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:a.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}const br=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,gr=hr,jr=(e,n)=>t=>{var o;if((n==null?void 0:n.variants)==null)return gr(e,t==null?void 0:t.class,t==null?void 0:t.className);const{variants:a,defaultVariants:s}=n,d=Object.keys(a).map(p=>{const b=t==null?void 0:t[p],h=s==null?void 0:s[p];if(b===null)return null;const g=br(b)||br(h);return a[p][g]}),l=t&&Object.entries(t).reduce((p,b)=>{let[h,g]=b;return g===void 0||(p[h]=g),p},{}),f=n==null||(o=n.compoundVariants)===null||o===void 0?void 0:o.reduce((p,b)=>{let{class:h,className:g,...m}=b;return Object.entries(m).every(S=>{let[E,y]=S;return Array.isArray(y)?y.includes({...s,...l}[E]):{...s,...l}[E]===y})?[...p,h,g]:p},[]);return gr(e,d,f,t==null?void 0:t.class,t==null?void 0:t.className)},Xt=jr("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),We=A.forwardRef(({className:e,variant:n,size:t,asChild:o=!1,...a},s)=>{const d=o?Ut:"button";return c.jsx(d,{className:I(Xt({variant:n,size:t,className:e})),ref:s,...a})});We.displayName="Button";const ve=A.forwardRef(({className:e,size:n="md",variant:t="default",...o},a)=>{const s={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"},d={default:"border-gray-200 border-t-gray-900",solana:"border-gray-200 border-t-solana-primary"};return c.jsx("div",{ref:a,className:I("inline-block animate-spin rounded-full border-2",s[n],d[t],e),role:"status","aria-label":"Loading",...o,children:c.jsx("span",{className:"sr-only",children:"Loading..."})})});ve.displayName="Spinner";const Be=A.forwardRef(({amount:e,description:n,onClick:t,disabled:o=!1,loading:a=!1,className:s,style:d,...l},f)=>{const p=b=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:2}).format(b);return c.jsx(We,{ref:f,onClick:t,disabled:o||a,className:I("w-full bg-solana-gradient hover:opacity-90 text-white font-semibold shadow-lg hover:shadow-xl transition-all duration-200 transform hover:scale-[1.02] rounded-xl",o||a?"opacity-50 cursor-not-allowed":"",s),style:d,...l,children:a?c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(ve,{size:"sm",variant:"default",className:"border-white/30 border-t-white"}),c.jsx("span",{children:"Processing Payment..."})]}):c.jsxs("div",{className:"flex items-center justify-center gap-3",children:[c.jsx("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:c.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm3.5 6L12 10.5 8.5 8 12 5.5 15.5 8zM8.5 16L12 13.5 15.5 16 12 18.5 8.5 16z"})}),c.jsxs("span",{children:["Pay ",p(e)," USDC"]})]})})});Be.displayName="PaymentButton";const Ht=jr("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ue({className:e,variant:n,...t}){return c.jsx("div",{className:I(Ht({variant:n}),e),...t})}const Ve=({status:e,message:n,progress:t,className:o,style:a})=>{const d=(()=>{switch(e){case"idle":return{label:"Ready",color:"bg-gray-100 text-gray-800",icon:null};case"connecting":return{label:"Connecting",color:"bg-blue-100 text-blue-800",icon:c.jsx(ve,{size:"sm",variant:"default"})};case"pending":return{label:"Processing",color:"bg-yellow-100 text-yellow-800",icon:c.jsx(ve,{size:"sm",variant:"solana"})};case"success":return{label:"Paid",color:"bg-green-100 text-green-800",icon:c.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})};case"error":return{label:"Failed",color:"bg-red-100 text-red-800",icon:c.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})};default:return{label:"Unknown",color:"bg-gray-100 text-gray-800",icon:null}}})();return c.jsxs("div",{className:I("flex flex-col gap-2",o),style:a,children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs(Ue,{className:I("flex items-center gap-1.5",d.color),children:[d.icon,c.jsx("span",{children:d.label})]}),n&&c.jsx("span",{className:"text-sm text-muted-foreground",children:n})]}),t!==void 0&&t>0&&c.jsx("div",{className:"w-full bg-gray-200 rounded-full h-2 overflow-hidden",children:c.jsx("div",{className:"bg-solana-gradient h-full transition-all duration-300",style:{width:`${t}%`}})})]})};Ve.displayName="PaymentStatus";const $e=({wallet:e,balance:n,network:t,showBalance:o=!0,className:a,style:s})=>{var p;const d=((p=e==null?void 0:e.publicKey)==null?void 0:p.toString())||(e==null?void 0:e.address),l=b=>`${b.slice(0,4)}...${b.slice(-4)}`,f=()=>t==="solana"?"Mainnet":"Devnet";return!e||!d?c.jsx(je,{className:I("border-dashed",a),style:s,children:c.jsx(Ee,{className:"p-4 text-center text-muted-foreground",children:c.jsx("p",{className:"text-sm",children:"No wallet connected"})})}):c.jsx("div",{className:I("bg-slate-50 rounded-lg p-4 border border-slate-200",a),style:s,children:c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:"w-2 h-2 bg-green-500 rounded-full"}),c.jsx("span",{className:"text-sm font-medium text-slate-600",children:"Connected Wallet"})]}),c.jsx("code",{className:"text-sm font-mono bg-white px-3 py-1.5 rounded-md border border-slate-300 text-slate-800",children:l(d)})]}),o&&n&&c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-sm font-medium text-slate-600",children:"USDC Balance"}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-lg font-bold text-slate-900",children:n}),c.jsx("span",{className:"text-xs font-semibold text-slate-500 bg-slate-200 px-2 py-1 rounded-md",children:"USDC"})]})]}),t&&c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-sm font-medium text-slate-600",children:"Network"}),c.jsx(Ue,{variant:"outline",className:"text-xs border-slate-300 text-slate-700",children:f()})]})]})})};$e.displayName="WalletSection";function Jt(e,n,t){const o=Buffer.from(e.serialize()).toString("base64"),a={x402Version:t,scheme:n.scheme,network:n.network,payload:{transaction:o}};return Buffer.from(JSON.stringify(a)).toString("base64")}function qt(e){if(e==="solana")return"https://api.mainnet-beta.solana.com";if(e==="solana-devnet")return"https://api.devnet.solana.com";throw new Error(`Unexpected network: ${e}`)}async function Zt(e,n,t,o){var Q,X,Y;const a=new L.Connection(o,"confirmed"),s=(Q=t==null?void 0:t.extra)==null?void 0:Q.feePayer;if(typeof s!="string"||!s)throw new Error("Missing facilitator feePayer in payment requirements (extra.feePayer).");const d=new L.PublicKey(s),l=((X=e==null?void 0:e.publicKey)==null?void 0:X.toString())||(e==null?void 0:e.address);if(!l)throw new Error("Missing connected Solana wallet address or publicKey");const f=new L.PublicKey(l);if(!(t!=null&&t.payTo))throw new Error("Missing payTo in payment requirements");const p=new L.PublicKey(t.payTo),b=[];if(b.push(L.ComputeBudgetProgram.setComputeUnitLimit({units:4e4})),b.push(L.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1})),!t.asset)throw new Error("Missing token mint for SPL transfer");const h=new L.PublicKey(t.asset),g=await a.getAccountInfo(h,"confirmed"),m=((Y=g==null?void 0:g.owner)==null?void 0:Y.toBase58())===re.TOKEN_2022_PROGRAM_ID.toBase58()?re.TOKEN_2022_PROGRAM_ID:re.TOKEN_PROGRAM_ID,S=await re.getMint(a,h,void 0,m),E=await re.getAssociatedTokenAddress(h,f,!1,m),y=await re.getAssociatedTokenAddress(h,p,!1,m);if(!await a.getAccountInfo(E,"confirmed"))throw new Error(`User does not have an Associated Token Account for ${t.asset}. Please create one first or ensure you have the required token.`);if(!await a.getAccountInfo(y,"confirmed")){const z=new L.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),P=new L.TransactionInstruction({keys:[{pubkey:d,isSigner:!0,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:L.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!1}],programId:z,data:Buffer.from([0])});b.push(P)}const M=BigInt(t.maxAmountRequired);b.push(re.createTransferCheckedInstruction(E,h,y,f,M,S.decimals,[],m));const{blockhash:D}=await a.getLatestBlockhash("confirmed"),$=new L.TransactionMessage({payerKey:d,recentBlockhash:D,instructions:b}).compileToV0Message(),G=new L.VersionedTransaction($);if(typeof(e==null?void 0:e.signTransaction)!="function")throw new Error("Connected wallet does not support signTransaction");const W=await e.signTransaction(G);return Jt(W,t,n)}function Qt(e,n,t,o=BigInt(0)){return async(a,s)=>{const d=await e(a,s);if(d.status!==402)return d;const l=await d.json(),f=l.x402Version,p=l.accepts||[],b=p.find(m=>m.scheme==="exact"&&(m.network==="solana-devnet"||m.network==="solana"));if(!b)throw console.error("❌ No suitable Solana payment requirements found. Available networks:",p.map(m=>m.network)),new Error("No suitable Solana payment requirements found");if(o>BigInt(0)&&BigInt(b.maxAmountRequired)>o)throw new Error("Payment amount exceeds maximum allowed");const h=await Zt(n,f,b,t),g={...s,headers:{...(s==null?void 0:s.headers)||{},"X-PAYMENT":h,"Access-Control-Expose-Headers":"X-PAYMENT-RESPONSE"}};return await e(a,g)}}var en=class{constructor(e){lr(this,"paymentFetch");const n=e.rpcUrl||qt(e.network);this.paymentFetch=Qt(fetch.bind(window),e.wallet,n,e.maxPaymentAmount||BigInt(0))}async fetch(e,n){return this.paymentFetch(e,n)}};function rn(e){return new en(e)}function Er(e){const[n,t]=V.useState("idle"),[o,a]=V.useState(null),[s,d]=V.useState(null),[l,f]=V.useState(!1),p=V.useCallback(()=>{t("idle"),a(null),d(null),f(!1)},[]);return{pay:V.useCallback(async(h,g)=>{var m;try{if(f(!0),t("pending"),a(null),e.maxPaymentAmount&&h>e.maxPaymentAmount)throw new Error(`Payment amount ${h} exceeds maximum allowed ${e.maxPaymentAmount}`);const S=((m=e.wallet.publicKey)==null?void 0:m.toString())||e.wallet.address;if(!S)throw new Error("Wallet not connected");const E=rn({wallet:e.wallet,network:e.network,rpcUrl:e.rpcUrl,maxPaymentAmount:e.maxPaymentAmount?BigInt(Math.floor(e.maxPaymentAmount*1e6)):void 0}),y="https://x402.payai.network/api/solana/paid-content",k=e.apiEndpoint||y;console.log("Initiating x402 payment:",{endpoint:k,isDemo:k===y,amount:h,description:g,wallet:S,network:e.network});const M=await E.fetch(k,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:g,amount:h})});if(!M.ok)throw new Error(`Payment request failed: ${M.statusText}`);const D=await M.json();console.log("Payment successful:",D);const $=M.headers.get("X-PAYMENT-RESPONSE");let G=`tx_${Date.now()}`;if($)try{const W=JSON.parse(atob($));G=W.transactionId||W.signature||G,console.log("Payment details:",W)}catch(W){console.warn("Could not decode payment response:",W)}return d(G),t("success"),f(!1),G}catch(S){const E=S instanceof Error?S:new Error("Payment failed");return a(E),t("error"),f(!1),null}},[e]),isLoading:l,status:n,error:o,transactionId:s,reset:p}}const kr=({amount:e,description:n,wallet:t,network:o="solana-devnet",rpcUrl:a,apiEndpoint:s,treasuryAddress:d,facilitatorUrl:l,theme:f="solana",showBalance:p=!0,showNetworkInfo:b=!0,showPaymentDetails:h=!0,classNames:g,customStyles:m,maxPaymentAmount:S,onPaymentStart:E,onPaymentSuccess:y,onPaymentError:k,onWalletConnect:C,children:M})=>{const[D,$]=V.useState(!1),[G,W]=V.useState("0.00"),{pay:Q,isLoading:X,status:Y,error:z,transactionId:P}=Er({wallet:t,network:o,rpcUrl:a,apiEndpoint:s,treasuryAddress:d,facilitatorUrl:l,maxPaymentAmount:S});V.useEffect(()=>{var Z;const H=((Z=t.publicKey)==null?void 0:Z.toString())||t.address;H&&(C==null||C(H),st(H,o,a).then(W))},[t,o,C]),V.useEffect(()=>{Y==="success"&&P&&($(!0),y==null||y(P))},[Y,P,y]),V.useEffect(()=>{z&&(k==null||k(z))},[z,k]);const K=async()=>{E==null||E(),await Q(e,n)};if(D)return c.jsx(c.Fragment,{children:M});const B=()=>{switch(f){case"solana":return"border-solana-primary/20";case"dark":return"bg-card";case"light":return"bg-background";default:return""}};return c.jsx("div",{className:I("flex items-center justify-center min-h-screen p-4","bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900",g==null?void 0:g.container),style:m==null?void 0:m.container,children:c.jsxs(je,{className:I("w-full max-w-lg shadow-2xl border-0 bg-white/95 backdrop-blur-sm",B(),g==null?void 0:g.card),style:m==null?void 0:m.card,children:[c.jsxs(De,{className:"text-center pb-6",children:[c.jsx("div",{className:"mx-auto w-16 h-16 bg-solana-gradient rounded-full flex items-center justify-center mb-4",children:c.jsx("svg",{className:"w-8 h-8 text-white",fill:"currentColor",viewBox:"0 0 24 24",children:c.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})})}),c.jsx(Fe,{className:I("text-3xl font-bold bg-solana-gradient bg-clip-text text-transparent",g==null?void 0:g.text),style:m==null?void 0:m.text,children:"Unlock Premium Access"}),c.jsx(Le,{className:"text-lg text-slate-600 mt-2",children:n})]}),c.jsxs(Ee,{className:"space-y-6",children:[c.jsx($e,{wallet:t,balance:p?G:void 0,network:b?o:void 0,showBalance:p}),h&&c.jsxs("div",{className:"bg-gradient-to-r from-slate-50 to-slate-100 rounded-xl p-6 border border-slate-200",children:[c.jsxs("div",{className:"flex justify-between items-center mb-2",children:[c.jsx("span",{className:"text-sm font-medium text-slate-600",children:"Payment Amount"}),c.jsxs("span",{className:"text-2xl font-bold text-slate-900",children:["$",e.toFixed(2)]})]}),c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsx("span",{className:"text-xs text-slate-500",children:"Currency"}),c.jsx("span",{className:"text-sm font-semibold text-slate-700 bg-slate-200 px-2 py-1 rounded-md",children:"USDC"})]}),S&&c.jsxs("div",{className:"flex justify-between items-center mt-2",children:[c.jsx("span",{className:"text-xs text-slate-500",children:"Maximum Amount"}),c.jsxs("span",{className:"text-xs text-slate-600",children:["$",S.toFixed(2)]})]})]}),Y!=="idle"&&c.jsx(Ve,{status:Y,message:z==null?void 0:z.message,className:g==null?void 0:g.status,style:m==null?void 0:m.status}),c.jsx(Be,{amount:e,description:n,onClick:K,loading:X,disabled:X,className:I("w-full h-12 text-lg font-semibold",g==null?void 0:g.button),style:m==null?void 0:m.button}),z&&c.jsx("div",{className:"bg-red-50 border border-red-200 rounded-lg p-4",children:c.jsxs("p",{className:"text-sm text-red-800 text-center",children:[c.jsx("span",{className:"font-semibold",children:"Payment Error:"})," ",z.message]})}),c.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-lg p-4",children:c.jsxs("p",{className:"text-xs text-amber-800 text-center",children:[c.jsx("span",{className:"font-semibold",children:"Live Payments:"})," Uses PayAI facilitator on Solana Mainnet.",c.jsx("br",{}),"Requires real USDC balance. Test payments are refunded automatically."]})})]})]})})};kr.displayName="X402Paywall";exports.Badge=Ue;exports.Button=We;exports.Card=je;exports.CardContent=Ee;exports.CardDescription=Le;exports.CardHeader=De;exports.CardTitle=Fe;exports.PaymentButton=Be;exports.PaymentStatus=Ve;exports.Spinner=ve;exports.WalletSection=$e;exports.X402Paywall=kr;exports.cn=I;exports.useX402Payment=Er;
|
|
1
|
+
"use strict";var Ee=Object.defineProperty;var ze=(e,r,t)=>r in e?Ee(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var fe=(e,r,t)=>ze(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),z=require("react"),N=require("@solana/web3.js"),L=require("@solana/spl-token");function Me(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const j=Me(z);function Ie(e){return e==="solana"?"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"}function Te(e){return e==="solana"?"https://api.mainnet-beta.solana.com":"https://api.devnet.solana.com"}async function Re(e,r,t){try{const n=t||Te(r),o=new N.Connection(n,"confirmed"),s=new N.PublicKey(e),l=new N.PublicKey(Ie(r)),i=await L.getAssociatedTokenAddress(l,s),d=await L.getAccount(o,i);return(Number(d.amount)/1e6).toFixed(2)}catch(n){return console.error("Error fetching USDC balance:",n),"0.00"}}function ye(e){var r,t,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(r=0;r<o;r++)e[r]&&(t=ye(e[r]))&&(n&&(n+=" "),n+=t)}else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function we(){for(var e,r,t=0,n="",o=arguments.length;t<o;t++)(e=arguments[t])&&(r=ye(e))&&(n&&(n+=" "),n+=r);return n}const re="-",Be=e=>{const r=Le(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:l=>{const i=l.split(re);return i[0]===""&&i.length!==1&&i.shift(),ve(i,r)||Ge(l)},getConflictingClassGroupIds:(l,i)=>{const d=t[l]||[];return i&&n[l]?[...d,...n[l]]:d}}},ve=(e,r)=>{var l;if(e.length===0)return r.classGroupId;const t=e[0],n=r.nextPart.get(t),o=n?ve(e.slice(1),n):void 0;if(o)return o;if(r.validators.length===0)return;const s=e.join(re);return(l=r.validators.find(({validator:i})=>i(s)))==null?void 0:l.classGroupId},be=/^\[(.+)\]$/,Ge=e=>{if(be.test(e)){const r=be.exec(e)[1],t=r==null?void 0:r.substring(0,r.indexOf(":"));if(t)return"arbitrary.."+t}},Le=e=>{const{theme:r,prefix:t}=e,n={nextPart:new Map,validators:[]};return _e(Object.entries(e.classGroups),t).forEach(([s,l])=>{te(l,n,s,r)}),n},te=(e,r,t,n)=>{e.forEach(o=>{if(typeof o=="string"){const s=o===""?r:ge(r,o);s.classGroupId=t;return}if(typeof o=="function"){if(Oe(o)){te(o(n),r,t,n);return}r.validators.push({validator:o,classGroupId:t});return}Object.entries(o).forEach(([s,l])=>{te(l,ge(r,s),t,n)})})},ge=(e,r)=>{let t=e;return r.split(re).forEach(n=>{t.nextPart.has(n)||t.nextPart.set(n,{nextPart:new Map,validators:[]}),t=t.nextPart.get(n)}),t},Oe=e=>e.isThemeGetter,_e=(e,r)=>r?e.map(([t,n])=>{const o=n.map(s=>typeof s=="string"?r+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([l,i])=>[r+l,i])):s);return[t,o]}):e,Ue=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=new Map,n=new Map;const o=(s,l)=>{t.set(s,l),r++,r>e&&(r=0,n=t,t=new Map)};return{get(s){let l=t.get(s);if(l!==void 0)return l;if((l=n.get(s))!==void 0)return o(s,l),l},set(s,l){t.has(s)?t.set(s,l):o(s,l)}}},je="!",Ve=e=>{const{separator:r,experimentalParseClassName:t}=e,n=r.length===1,o=r[0],s=r.length,l=i=>{const d=[];let c=0,p=0,m;for(let g=0;g<i.length;g++){let y=i[g];if(c===0){if(y===o&&(n||i.slice(g,g+s)===r)){d.push(i.slice(p,g)),p=g+s;continue}if(y==="/"){m=g;continue}}y==="["?c++:y==="]"&&c--}const u=d.length===0?i:i.substring(p),f=u.startsWith(je),v=f?u.substring(1):u,h=m&&m>p?m-p:void 0;return{modifiers:d,hasImportantModifier:f,baseClassName:v,maybePostfixModifierPosition:h}};return t?i=>t({className:i,parseClassName:l}):l},We=e=>{if(e.length<=1)return e;const r=[];let t=[];return e.forEach(n=>{n[0]==="["?(r.push(...t.sort(),n),t=[]):t.push(n)}),r.push(...t.sort()),r},De=e=>({cache:Ue(e.cacheSize),parseClassName:Ve(e),...Be(e)}),$e=/\s+/,Fe=(e,r)=>{const{parseClassName:t,getClassGroupId:n,getConflictingClassGroupIds:o}=r,s=[],l=e.trim().split($e);let i="";for(let d=l.length-1;d>=0;d-=1){const c=l[d],{modifiers:p,hasImportantModifier:m,baseClassName:u,maybePostfixModifierPosition:f}=t(c);let v=!!f,h=n(v?u.substring(0,f):u);if(!h){if(!v){i=c+(i.length>0?" "+i:i);continue}if(h=n(u),!h){i=c+(i.length>0?" "+i:i);continue}v=!1}const g=We(p).join(":"),y=m?g+je:g,C=y+h;if(s.includes(C))continue;s.push(C);const A=o(h,v);for(let S=0;S<A.length;++S){const M=A[S];s.push(y+M)}i=c+(i.length>0?" "+i:i)}return i};function Ke(){let e=0,r,t,n="";for(;e<arguments.length;)(r=arguments[e++])&&(t=Ce(r))&&(n&&(n+=" "),n+=t);return n}const Ce=e=>{if(typeof e=="string")return e;let r,t="";for(let n=0;n<e.length;n++)e[n]&&(r=Ce(e[n]))&&(t&&(t+=" "),t+=r);return t};function He(e,...r){let t,n,o,s=l;function l(d){const c=r.reduce((p,m)=>m(p),e());return t=De(c),n=t.cache.get,o=t.cache.set,s=i,i(d)}function i(d){const c=n(d);if(c)return c;const p=Fe(d,t);return o(d,p),p}return function(){return s(Ke.apply(null,arguments))}}const w=e=>{const r=t=>t[e]||[];return r.isThemeGetter=!0,r},ke=/^\[(?:([a-z-]+):)?(.+)\]$/i,Xe=/^\d+\/\d+$/,Je=new Set(["px","full","screen"]),Ze=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ye=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,qe=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Qe=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,et=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,G=e=>$(e)||Je.has(e)||Xe.test(e),O=e=>F(e,"length",lt),$=e=>!!e&&!Number.isNaN(Number(e)),ee=e=>F(e,"number",$),H=e=>!!e&&Number.isInteger(Number(e)),tt=e=>e.endsWith("%")&&$(e.slice(0,-1)),b=e=>ke.test(e),_=e=>Ze.test(e),rt=new Set(["length","size","percentage"]),nt=e=>F(e,rt,Ne),ot=e=>F(e,"position",Ne),st=new Set(["image","url"]),at=e=>F(e,st,dt),it=e=>F(e,"",ct),X=()=>!0,F=(e,r,t)=>{const n=ke.exec(e);return n?n[1]?typeof r=="string"?n[1]===r:r.has(n[1]):t(n[2]):!1},lt=e=>Ye.test(e)&&!qe.test(e),Ne=()=>!1,ct=e=>Qe.test(e),dt=e=>et.test(e),ut=()=>{const e=w("colors"),r=w("spacing"),t=w("blur"),n=w("brightness"),o=w("borderColor"),s=w("borderRadius"),l=w("borderSpacing"),i=w("borderWidth"),d=w("contrast"),c=w("grayscale"),p=w("hueRotate"),m=w("invert"),u=w("gap"),f=w("gradientColorStops"),v=w("gradientColorStopPositions"),h=w("inset"),g=w("margin"),y=w("opacity"),C=w("padding"),A=w("saturate"),S=w("scale"),M=w("sepia"),I=w("skew"),E=w("space"),U=w("translate"),R=()=>["auto","contain","none"],T=()=>["auto","hidden","clip","visible","scroll"],P=()=>["auto",b,r],x=()=>[b,r],Z=()=>["",G,O],W=()=>["auto",$,b],D=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],V=()=>["solid","dashed","dotted","double","none"],ue=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Q=()=>["start","end","center","between","around","evenly","stretch"],K=()=>["","0",b],pe=()=>["auto","avoid","all","avoid-page","page","left","right","column"],B=()=>[$,b];return{cacheSize:500,separator:":",theme:{colors:[X],spacing:[G,O],blur:["none","",_,b],brightness:B(),borderColor:[e],borderRadius:["none","","full",_,b],borderSpacing:x(),borderWidth:Z(),contrast:B(),grayscale:K(),hueRotate:B(),invert:K(),gap:x(),gradientColorStops:[e],gradientColorStopPositions:[tt,O],inset:P(),margin:P(),opacity:B(),padding:x(),saturate:B(),scale:B(),sepia:K(),skew:B(),space:x(),translate:x()},classGroups:{aspect:[{aspect:["auto","square","video",b]}],container:["container"],columns:[{columns:[_]}],"break-after":[{"break-after":pe()}],"break-before":[{"break-before":pe()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...D(),b]}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",H,b]}],basis:[{basis:P()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",b]}],grow:[{grow:K()}],shrink:[{shrink:K()}],order:[{order:["first","last","none",H,b]}],"grid-cols":[{"grid-cols":[X]}],"col-start-end":[{col:["auto",{span:["full",H,b]},b]}],"col-start":[{"col-start":W()}],"col-end":[{"col-end":W()}],"grid-rows":[{"grid-rows":[X]}],"row-start-end":[{row:["auto",{span:[H,b]},b]}],"row-start":[{"row-start":W()}],"row-end":[{"row-end":W()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",b]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",b]}],gap:[{gap:[u]}],"gap-x":[{"gap-x":[u]}],"gap-y":[{"gap-y":[u]}],"justify-content":[{justify:["normal",...Q()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Q(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Q(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[C]}],px:[{px:[C]}],py:[{py:[C]}],ps:[{ps:[C]}],pe:[{pe:[C]}],pt:[{pt:[C]}],pr:[{pr:[C]}],pb:[{pb:[C]}],pl:[{pl:[C]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[E]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[E]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",b,r]}],"min-w":[{"min-w":[b,r,"min","max","fit"]}],"max-w":[{"max-w":[b,r,"none","full","min","max","fit","prose",{screen:[_]},_]}],h:[{h:[b,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[b,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[b,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[b,r,"auto","min","max","fit"]}],"font-size":[{text:["base",_,O]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",ee]}],"font-family":[{font:[X]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",b]}],"line-clamp":[{"line-clamp":["none",$,ee]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",G,b]}],"list-image":[{"list-image":["none",b]}],"list-style-type":[{list:["none","disc","decimal",b]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...V(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",G,O]}],"underline-offset":[{"underline-offset":["auto",G,b]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:x()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",b]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",b]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...D(),ot]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",nt]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},at]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[v]}],"gradient-via-pos":[{via:[v]}],"gradient-to-pos":[{to:[v]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...V(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:V()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...V()]}],"outline-offset":[{"outline-offset":[G,b]}],"outline-w":[{outline:[G,O]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:Z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[G,O]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",_,it]}],"shadow-color":[{shadow:[X]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...ue(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ue()}],filter:[{filter:["","none"]}],blur:[{blur:[t]}],brightness:[{brightness:[n]}],contrast:[{contrast:[d]}],"drop-shadow":[{"drop-shadow":["","none",_,b]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[p]}],invert:[{invert:[m]}],saturate:[{saturate:[A]}],sepia:[{sepia:[M]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[t]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[d]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[A]}],"backdrop-sepia":[{"backdrop-sepia":[M]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[l]}],"border-spacing-x":[{"border-spacing-x":[l]}],"border-spacing-y":[{"border-spacing-y":[l]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",b]}],duration:[{duration:B()}],ease:[{ease:["linear","in","out","in-out",b]}],delay:[{delay:B()}],animate:[{animate:["none","spin","ping","pulse","bounce",b]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[S]}],"scale-x":[{"scale-x":[S]}],"scale-y":[{"scale-y":[S]}],rotate:[{rotate:[H,b]}],"translate-x":[{"translate-x":[U]}],"translate-y":[{"translate-y":[U]}],"skew-x":[{"skew-x":[I]}],"skew-y":[{"skew-y":[I]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",b]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",b]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",b]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[G,O,ee]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},pt=He(ut);function k(...e){return pt(we(e))}const Y=j.forwardRef(({className:e,...r},t)=>a.jsx("div",{ref:t,className:k("rounded-xl border bg-card text-card-foreground shadow",e),...r}));Y.displayName="Card";const ne=j.forwardRef(({className:e,...r},t)=>a.jsx("div",{ref:t,className:k("flex flex-col space-y-1.5 p-6",e),...r}));ne.displayName="CardHeader";const oe=j.forwardRef(({className:e,...r},t)=>a.jsx("div",{ref:t,className:k("font-semibold leading-none tracking-tight",e),...r}));oe.displayName="CardTitle";const se=j.forwardRef(({className:e,...r},t)=>a.jsx("div",{ref:t,className:k("text-sm text-muted-foreground",e),...r}));se.displayName="CardDescription";const q=j.forwardRef(({className:e,...r},t)=>a.jsx("div",{ref:t,className:k("p-6 pt-0",e),...r}));q.displayName="CardContent";const ft=j.forwardRef(({className:e,...r},t)=>a.jsx("div",{ref:t,className:k("flex items-center p-6 pt-0",e),...r}));ft.displayName="CardFooter";function me(e,r){if(typeof e=="function")return e(r);e!=null&&(e.current=r)}function bt(...e){return r=>{let t=!1;const n=e.map(o=>{const s=me(o,r);return!t&&typeof s=="function"&&(t=!0),s});if(t)return()=>{for(let o=0;o<n.length;o++){const s=n[o];typeof s=="function"?s():me(e[o],null)}}}}function gt(e){const r=ht(e),t=j.forwardRef((n,o)=>{const{children:s,...l}=n,i=j.Children.toArray(s),d=i.find(yt);if(d){const c=d.props.children,p=i.map(m=>m===d?j.Children.count(c)>1?j.Children.only(null):j.isValidElement(c)?c.props.children:null:m);return a.jsx(r,{...l,ref:o,children:j.isValidElement(c)?j.cloneElement(c,void 0,p):null})}return a.jsx(r,{...l,ref:o,children:s})});return t.displayName=`${e}.Slot`,t}var mt=gt("Slot");function ht(e){const r=j.forwardRef((t,n)=>{const{children:o,...s}=t;if(j.isValidElement(o)){const l=vt(o),i=wt(s,o.props);return o.type!==j.Fragment&&(i.ref=n?bt(n,l):l),j.cloneElement(o,i)}return j.Children.count(o)>1?j.Children.only(null):null});return r.displayName=`${e}.SlotClone`,r}var xt=Symbol("radix.slottable");function yt(e){return j.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===xt}function wt(e,r){const t={...r};for(const n in r){const o=e[n],s=r[n];/^on[A-Z]/.test(n)?o&&s?t[n]=(...i)=>{const d=s(...i);return o(...i),d}:o&&(t[n]=o):n==="style"?t[n]={...o,...s}:n==="className"&&(t[n]=[o,s].filter(Boolean).join(" "))}return{...e,...t}}function vt(e){var n,o;let r=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,t=r&&"isReactWarning"in r&&r.isReactWarning;return t?e.ref:(r=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,t=r&&"isReactWarning"in r&&r.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}const he=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,xe=we,Ae=(e,r)=>t=>{var n;if((r==null?void 0:r.variants)==null)return xe(e,t==null?void 0:t.class,t==null?void 0:t.className);const{variants:o,defaultVariants:s}=r,l=Object.keys(o).map(c=>{const p=t==null?void 0:t[c],m=s==null?void 0:s[c];if(p===null)return null;const u=he(p)||he(m);return o[c][u]}),i=t&&Object.entries(t).reduce((c,p)=>{let[m,u]=p;return u===void 0||(c[m]=u),c},{}),d=r==null||(n=r.compoundVariants)===null||n===void 0?void 0:n.reduce((c,p)=>{let{class:m,className:u,...f}=p;return Object.entries(f).every(v=>{let[h,g]=v;return Array.isArray(g)?g.includes({...s,...i}[h]):{...s,...i}[h]===g})?[...c,m,u]:c},[]);return xe(e,l,d,t==null?void 0:t.class,t==null?void 0:t.className)},jt=Ae("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),ae=j.forwardRef(({className:e,variant:r,size:t,asChild:n=!1,...o},s)=>{const l=n?mt:"button";return a.jsx(l,{className:k(jt({variant:r,size:t,className:e})),ref:s,...o})});ae.displayName="Button";const J=j.forwardRef(({className:e,size:r="md",variant:t="default",...n},o)=>{const s={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"},l={default:"border-gray-200 border-t-gray-900",solana:"border-gray-200 border-t-solana-primary"};return a.jsx("div",{ref:o,className:k("inline-block animate-spin rounded-full border-2",s[r],l[t],e),role:"status","aria-label":"Loading",...n,children:a.jsx("span",{className:"sr-only",children:"Loading..."})})});J.displayName="Spinner";const ie=j.forwardRef(({amount:e,description:r,onClick:t,disabled:n=!1,loading:o=!1,className:s,style:l,...i},d)=>{const c=p=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:2}).format(p);return a.jsx(ae,{ref:d,onClick:t,disabled:n||o,className:k("w-full bg-solana-gradient hover:opacity-90 text-white font-semibold shadow-lg hover:shadow-xl transition-all duration-200 transform hover:scale-[1.02] rounded-xl",n||o?"opacity-50 cursor-not-allowed":"",s),style:l,...i,children:o?a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(J,{size:"sm",variant:"default",className:"border-white/30 border-t-white"}),a.jsx("span",{children:"Processing Payment..."})]}):a.jsxs("div",{className:"flex items-center justify-center gap-3",children:[a.jsx("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm3.5 6L12 10.5 8.5 8 12 5.5 15.5 8zM8.5 16L12 13.5 15.5 16 12 18.5 8.5 16z"})}),a.jsxs("span",{children:["Pay ",c(e)," USDC"]})]})})});ie.displayName="PaymentButton";const Ct=Ae("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function le({className:e,variant:r,...t}){return a.jsx("div",{className:k(Ct({variant:r}),e),...t})}const ce=({status:e,message:r,progress:t,className:n,style:o})=>{const l=(()=>{switch(e){case"idle":return{label:"Ready",color:"bg-gray-100 text-gray-800",icon:null};case"connecting":return{label:"Connecting",color:"bg-blue-100 text-blue-800",icon:a.jsx(J,{size:"sm",variant:"default"})};case"pending":return{label:"Processing",color:"bg-yellow-100 text-yellow-800",icon:a.jsx(J,{size:"sm",variant:"solana"})};case"success":return{label:"Paid",color:"bg-green-100 text-green-800",icon:a.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})};case"error":return{label:"Failed",color:"bg-red-100 text-red-800",icon:a.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})};default:return{label:"Unknown",color:"bg-gray-100 text-gray-800",icon:null}}})();return a.jsxs("div",{className:k("flex flex-col gap-2",n),style:o,children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs(le,{className:k("flex items-center gap-1.5",l.color),children:[l.icon,a.jsx("span",{children:l.label})]}),r&&a.jsx("span",{className:"text-sm text-muted-foreground",children:r})]}),t!==void 0&&t>0&&a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-2 overflow-hidden",children:a.jsx("div",{className:"bg-solana-gradient h-full transition-all duration-300",style:{width:`${t}%`}})})]})};ce.displayName="PaymentStatus";const de=({wallet:e,balance:r,network:t,showBalance:n=!0,className:o,style:s})=>{var c;const l=((c=e==null?void 0:e.publicKey)==null?void 0:c.toString())||(e==null?void 0:e.address),i=p=>`${p.slice(0,4)}...${p.slice(-4)}`,d=()=>t==="solana"?"Mainnet":"Devnet";return!e||!l?a.jsx(Y,{className:k("border-dashed",o),style:s,children:a.jsx(q,{className:"p-4 text-center text-muted-foreground",children:a.jsx("p",{className:"text-sm",children:"No wallet connected"})})}):a.jsx("div",{className:k("bg-slate-50 rounded-lg p-4 border border-slate-200",o),style:s,children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-2 h-2 bg-green-500 rounded-full"}),a.jsx("span",{className:"text-sm font-medium text-slate-600",children:"Connected Wallet"})]}),a.jsx("code",{className:"text-sm font-mono bg-white px-3 py-1.5 rounded-md border border-slate-300 text-slate-800",children:i(l)})]}),n&&r&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-sm font-medium text-slate-600",children:"USDC Balance"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-lg font-bold text-slate-900",children:r}),a.jsx("span",{className:"text-xs font-semibold text-slate-500 bg-slate-200 px-2 py-1 rounded-md",children:"USDC"})]})]}),t&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{className:"text-sm font-medium text-slate-600",children:"Network"}),a.jsx(le,{variant:"outline",className:"text-xs border-slate-300 text-slate-700",children:d()})]})]})})};de.displayName="WalletSection";function kt(e,r,t){const n=Buffer.from(e.serialize()).toString("base64"),o={x402Version:t,scheme:r.scheme,network:r.network,payload:{transaction:n}};return Buffer.from(JSON.stringify(o)).toString("base64")}function Nt(e){if(e==="solana")return"https://api.mainnet-beta.solana.com";if(e==="solana-devnet")return"https://api.devnet.solana.com";throw new Error(`Unexpected network: ${e}`)}async function At(e,r,t,n){var U,R,T;const o=new N.Connection(n,"confirmed"),s=(U=t==null?void 0:t.extra)==null?void 0:U.feePayer;if(typeof s!="string"||!s)throw new Error("Missing facilitator feePayer in payment requirements (extra.feePayer).");const l=new N.PublicKey(s),i=((R=e==null?void 0:e.publicKey)==null?void 0:R.toString())||(e==null?void 0:e.address);if(!i)throw new Error("Missing connected Solana wallet address or publicKey");const d=new N.PublicKey(i);if(!(t!=null&&t.payTo))throw new Error("Missing payTo in payment requirements");const c=new N.PublicKey(t.payTo),p=[];if(p.push(N.ComputeBudgetProgram.setComputeUnitLimit({units:4e4})),p.push(N.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1})),!t.asset)throw new Error("Missing token mint for SPL transfer");const m=new N.PublicKey(t.asset),u=await o.getAccountInfo(m,"confirmed"),f=((T=u==null?void 0:u.owner)==null?void 0:T.toBase58())===L.TOKEN_2022_PROGRAM_ID.toBase58()?L.TOKEN_2022_PROGRAM_ID:L.TOKEN_PROGRAM_ID,v=await L.getMint(o,m,void 0,f),h=await L.getAssociatedTokenAddress(m,d,!1,f),g=await L.getAssociatedTokenAddress(m,c,!1,f);if(!await o.getAccountInfo(h,"confirmed"))throw new Error(`User does not have an Associated Token Account for ${t.asset}. Please create one first or ensure you have the required token.`);if(!await o.getAccountInfo(g,"confirmed")){const P=new N.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),x=new N.TransactionInstruction({keys:[{pubkey:l,isSigner:!0,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:N.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1}],programId:P,data:Buffer.from([0])});p.push(x)}const A=BigInt(t.maxAmountRequired);p.push(L.createTransferCheckedInstruction(h,m,g,d,A,v.decimals,[],f));const{blockhash:S}=await o.getLatestBlockhash("confirmed"),M=new N.TransactionMessage({payerKey:l,recentBlockhash:S,instructions:p}).compileToV0Message(),I=new N.VersionedTransaction(M);if(typeof(e==null?void 0:e.signTransaction)!="function")throw new Error("Connected wallet does not support signTransaction");const E=await e.signTransaction(I);return kt(E,t,r)}function Pt(e,r,t,n=BigInt(0)){return async(o,s)=>{const l=await e(o,s);if(l.status!==402)return l;const i=await l.json(),d=i.x402Version,c=i.accepts||[],p=c.find(f=>f.scheme==="exact"&&(f.network==="solana-devnet"||f.network==="solana"));if(!p)throw console.error("❌ No suitable Solana payment requirements found. Available networks:",c.map(f=>f.network)),new Error("No suitable Solana payment requirements found");if(n>BigInt(0)&&BigInt(p.maxAmountRequired)>n)throw new Error("Payment amount exceeds maximum allowed");const m=await At(r,d,p,t),u={...s,headers:{...(s==null?void 0:s.headers)||{},"X-PAYMENT":m,"Access-Control-Expose-Headers":"X-PAYMENT-RESPONSE"}};return await e(o,u)}}var St=class{constructor(e){fe(this,"paymentFetch");const r=e.rpcUrl||Nt(e.network);this.paymentFetch=Pt(fetch.bind(window),e.wallet,r,e.maxPaymentAmount||BigInt(0))}async fetch(e,r){return this.paymentFetch(e,r)}};function Et(e){return new St(e)}function Pe(e){const[r,t]=z.useState("idle"),[n,o]=z.useState(null),[s,l]=z.useState(null),[i,d]=z.useState(!1),c=z.useCallback(()=>{t("idle"),o(null),l(null),d(!1)},[]);return{pay:z.useCallback(async(m,u)=>{var f;try{if(d(!0),t("pending"),o(null),e.maxPaymentAmount&&m>e.maxPaymentAmount)throw new Error(`Payment amount ${m} exceeds maximum allowed ${e.maxPaymentAmount}`);const v=((f=e.wallet.publicKey)==null?void 0:f.toString())||e.wallet.address;if(!v)throw new Error("Wallet not connected");const h=Et({wallet:e.wallet,network:e.network,rpcUrl:e.rpcUrl,maxPaymentAmount:e.maxPaymentAmount?BigInt(Math.floor(e.maxPaymentAmount*1e6)):void 0}),g="https://x402.payai.network/api/solana/paid-content",y=e.apiEndpoint||g;console.log("Initiating x402 payment:",{endpoint:y,isDemo:y===g,amount:m,description:u,wallet:v,network:e.network});const A=await h.fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:u,amount:m})});if(!A.ok)throw new Error(`Payment request failed: ${A.statusText}`);const S=await A.json();console.log("Payment successful:",S);const M=A.headers.get("X-PAYMENT-RESPONSE");let I=`tx_${Date.now()}`;if(M)try{const E=JSON.parse(atob(M));I=E.transactionId||E.signature||I,console.log("Payment details:",E)}catch(E){console.warn("Could not decode payment response:",E)}return l(I),t("success"),d(!1),I}catch(v){const h=v instanceof Error?v:new Error("Payment failed");return o(h),t("error"),d(!1),null}},[e]),isLoading:i,status:r,error:n,transactionId:s,reset:c}}const Se=({amount:e,description:r,wallet:t,network:n="solana-devnet",rpcUrl:o,apiEndpoint:s,treasuryAddress:l,facilitatorUrl:i,theme:d="solana",showBalance:c=!0,showNetworkInfo:p=!0,showPaymentDetails:m=!0,classNames:u,customStyles:f,maxPaymentAmount:v,onPaymentStart:h,onPaymentSuccess:g,onPaymentError:y,onWalletConnect:C,children:A})=>{const[S,M]=z.useState(!1),[I,E]=z.useState("0.00"),{pay:U,isLoading:R,status:T,error:P,transactionId:x}=Pe({wallet:t,network:n,rpcUrl:o,apiEndpoint:s,treasuryAddress:l,facilitatorUrl:i,maxPaymentAmount:v});z.useEffect(()=>{var V;const D=((V=t.publicKey)==null?void 0:V.toString())||t.address;D&&(C==null||C(D),Re(D,n,o).then(E))},[t,n,C]),z.useEffect(()=>{T==="success"&&x&&(M(!0),g==null||g(x))},[T,x,g]),z.useEffect(()=>{P&&(y==null||y(P))},[P,y]);const Z=async()=>{h==null||h(),await U(e,r)};if(S)return a.jsx(a.Fragment,{children:A});const W=()=>{switch(d){case"solana":return"border-solana-primary/20";case"dark":return"bg-card";case"light":return"bg-background";default:return""}};return a.jsx("div",{className:k("flex items-center justify-center min-h-screen p-4","bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900",u==null?void 0:u.container),style:f==null?void 0:f.container,children:a.jsxs(Y,{className:k("w-full max-w-lg shadow-2xl border-0 bg-white/95 backdrop-blur-sm",W(),u==null?void 0:u.card),style:f==null?void 0:f.card,children:[a.jsxs(ne,{className:"text-center pb-6",children:[a.jsx("div",{className:"mx-auto w-16 h-16 bg-solana-gradient rounded-full flex items-center justify-center mb-4",children:a.jsx("svg",{className:"w-8 h-8 text-white",fill:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})})}),a.jsx(oe,{className:k("text-3xl font-bold bg-solana-gradient bg-clip-text text-transparent",u==null?void 0:u.text),style:f==null?void 0:f.text,children:"Unlock Premium Access"}),a.jsx(se,{className:"text-lg text-slate-600 mt-2",children:r})]}),a.jsxs(q,{className:"space-y-6",children:[a.jsx(de,{wallet:t,balance:c?I:void 0,network:p?n:void 0,showBalance:c}),m&&a.jsxs("div",{className:"bg-gradient-to-r from-slate-50 to-slate-100 rounded-xl p-6 border border-slate-200",children:[a.jsxs("div",{className:"flex justify-between items-center mb-2",children:[a.jsx("span",{className:"text-sm font-medium text-slate-600",children:"Payment Amount"}),a.jsxs("span",{className:"text-2xl font-bold text-slate-900",children:["$",e.toFixed(2)]})]}),a.jsxs("div",{className:"flex justify-between items-center",children:[a.jsx("span",{className:"text-xs text-slate-500",children:"Currency"}),a.jsx("span",{className:"text-sm font-semibold text-slate-700 bg-slate-200 px-2 py-1 rounded-md",children:"USDC"})]}),v&&a.jsxs("div",{className:"flex justify-between items-center mt-2",children:[a.jsx("span",{className:"text-xs text-slate-500",children:"Maximum Amount"}),a.jsxs("span",{className:"text-xs text-slate-600",children:["$",v.toFixed(2)]})]})]}),T!=="idle"&&a.jsx(ce,{status:T,message:P==null?void 0:P.message,className:u==null?void 0:u.status,style:f==null?void 0:f.status}),a.jsx(ie,{amount:e,description:r,onClick:Z,loading:R,disabled:R,className:k("w-full h-12 text-lg font-semibold",u==null?void 0:u.button),style:f==null?void 0:f.button}),P&&a.jsx("div",{className:"bg-red-50 border border-red-200 rounded-lg p-4",children:a.jsxs("p",{className:"text-sm text-red-800 text-center",children:[a.jsx("span",{className:"font-semibold",children:"Payment Error:"})," ",P.message]})}),a.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-lg p-4",children:a.jsxs("p",{className:"text-xs text-amber-800 text-center",children:[a.jsx("span",{className:"font-semibold",children:"Live Payments:"})," Uses PayAI facilitator on Solana Mainnet.",a.jsx("br",{}),"Requires real USDC balance. Test payments are refunded automatically."]})})]})]})})};Se.displayName="X402Paywall";exports.Badge=le;exports.Button=ae;exports.Card=Y;exports.CardContent=q;exports.CardDescription=se;exports.CardHeader=ne;exports.CardTitle=oe;exports.PaymentButton=ie;exports.PaymentStatus=ce;exports.Spinner=J;exports.WalletSection=de;exports.X402Paywall=Se;exports.cn=k;exports.useX402Payment=Pe;
|
|
31
2
|
//# sourceMappingURL=index.js.map
|