@omnikit-js/ui 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +185 -0
- package/dist/client.esm.js +28 -0
- package/dist/client.esm.js.map +1 -0
- package/dist/client.js +28 -0
- package/dist/client.js.map +1 -0
- package/dist/index.esm.js +28 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +3005 -0
- package/package.json +83 -0
- package/src/components/BillingClient.tsx +549 -0
- package/src/components/BillingServer.tsx +127 -0
- package/src/components/PaymentMethodForm.tsx +125 -0
- package/src/components/SubscriptionConfirmModal.tsx +185 -0
- package/src/components/theme-provider.tsx +11 -0
- package/src/components/ui/alert.tsx +59 -0
- package/src/components/ui/avatar.tsx +53 -0
- package/src/components/ui/badge.tsx +46 -0
- package/src/components/ui/button.tsx +59 -0
- package/src/components/ui/card-brand-icon.tsx +88 -0
- package/src/components/ui/card.tsx +92 -0
- package/src/components/ui/chart.tsx +353 -0
- package/src/components/ui/dialog.tsx +122 -0
- package/src/components/ui/dropdown-menu.tsx +257 -0
- package/src/components/ui/input.tsx +21 -0
- package/src/components/ui/label.tsx +24 -0
- package/src/components/ui/navigation-menu.tsx +168 -0
- package/src/components/ui/progress.tsx +31 -0
- package/src/components/ui/radio-group.tsx +44 -0
- package/src/components/ui/select.tsx +185 -0
- package/src/components/ui/separator.tsx +28 -0
- package/src/components/ui/switch.tsx +31 -0
- package/src/components/ui/tabs.tsx +66 -0
- package/src/components/ui/textarea.tsx +18 -0
- package/src/index.ts +13 -0
- package/src/lib/utils.ts +6 -0
- package/src/styles/globals.css +3 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";var e=require("react"),t=require("next/navigation"),r=require("react/jsx-runtime"),n=require("react-dom");function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var a,s=o(e),i=o(n),c="basil",l="https://js.stripe.com",u="".concat(l,"/").concat(c,"/stripe.js"),d=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,m=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/,f=function(e){return d.test(e)||m.test(e)},p=function(e){var t=document.createElement("script");t.src="".concat(u).concat("");var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return r.appendChild(t),t},h=null,g=null,v=null,b=function(e){return null!==h?h:(h=new Promise(function(t,r){if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe)t(window.Stripe);else try{var n=function(){for(var e=document.querySelectorAll('script[src^="'.concat(l,'"]')),t=0;t<e.length;t++){var r=e[t];if(f(r.src))return r}return null}();if(n&&e);else if(n){if(n&&null!==v&&null!==g){var o;n.removeEventListener("load",v),n.removeEventListener("error",g),null===(o=n.parentNode)||void 0===o||o.removeChild(n),n=p()}}else n=p();v=function(e,t){return function(){window.Stripe?e(window.Stripe):t(new Error("Stripe.js not available"))}}(t,r),g=function(e){return function(t){e(new Error("Failed to load Stripe.js",{cause:t}))}}(r),n.addEventListener("load",v),n.addEventListener("error",g)}catch(e){return void r(e)}else t(null)})).catch(function(e){return h=null,Promise.reject(e)})},y=!1,w=function(){return a||(a=b(null).catch(function(e){return a=null,Promise.reject(e)}))};Promise.resolve().then(function(){return w()}).catch(function(e){y||console.warn(e)});function x(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var E={exports:{}};function k(){}function R(){}R.resetWarningCache=k;E.exports=function(){function e(e,t,r,n,o,a){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==a){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:R,resetWarningCache:k};return r.PropTypes=r,r}();var N=x(E.exports);function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach(function(t){j(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function P(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==r)return;var n,o,a=[],s=!0,i=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==r.return||r.return()}finally{if(i)throw o}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return M(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return M(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var A=function(t,r,n){var o=!!n,a=e.useRef(n);e.useEffect(function(){a.current=n},[n]),e.useEffect(function(){if(!o||!t)return function(){};var e=function(){a.current&&a.current.apply(a,arguments)};return t.on(r,e),function(){t.off(r,e)}},[o,r,t,a])},I=function(t){var r=e.useRef(t);return e.useEffect(function(){r.current=t},[t]),r.current},L=function(e){return null!==e&&"object"===_(e)},D="[object Object]",T=function e(t,r){if(!L(t)||!L(r))return t===r;var n=Array.isArray(t);if(n!==Array.isArray(r))return!1;var o=Object.prototype.toString.call(t)===D;if(o!==(Object.prototype.toString.call(r)===D))return!1;if(!o&&!n)return t===r;var a=Object.keys(t),s=Object.keys(r);if(a.length!==s.length)return!1;for(var i={},c=0;c<a.length;c+=1)i[a[c]]=!0;for(var l=0;l<s.length;l+=1)i[s[l]]=!0;var u=Object.keys(i);if(u.length!==a.length)return!1;var d=t,m=r;return u.every(function(t){return e(d[t],m[t])})},F=function(e,t,r){return L(e)?Object.keys(e).reduce(function(n,o){var a=!L(t)||!T(e[o],t[o]);return r.includes(o)?(a&&console.warn("Unsupported prop change: options.".concat(o," is not a mutable property.")),n):a?S(S({},n||{}),{},j({},o,e[o])):n},null):null},z="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",$=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z;if(null===e||L(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;throw new Error(r)},B=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z;if(function(e){return L(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(function(e){return $(e,t)})};var r=$(e,t);return null===r?{tag:"empty"}:{tag:"sync",stripe:r}},W=e.createContext(null);W.displayName="ElementsContext";var H=function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e},U=function(t){var r=t.stripe,n=t.options,o=t.children,a=e.useMemo(function(){return B(r)},[r]),s=O(e.useState(function(){return{stripe:"sync"===a.tag?a.stripe:null,elements:"sync"===a.tag?a.stripe.elements(n):null}}),2),i=s[0],c=s[1];e.useEffect(function(){var e=!0,t=function(e){c(function(t){return t.stripe?t:{stripe:e,elements:e.elements(n)}})};return"async"!==a.tag||i.stripe?"sync"!==a.tag||i.stripe||t(a.stripe):a.stripePromise.then(function(r){r&&e&&t(r)}),function(){e=!1}},[a,i,n]);var l=I(r);e.useEffect(function(){null!==l&&l!==r&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[l,r]);var u=I(n);return e.useEffect(function(){if(i.elements){var e=F(n,u,["clientSecret","fonts"]);e&&i.elements.update(e)}},[n,u,i.elements]),e.useEffect(function(){var e;(e=i.stripe)&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"3.7.0"}),e.registerAppInfo({name:"react-stripe-js",version:"3.7.0",url:"https://stripe.com/docs/stripe-js/react"}))},[i.stripe]),e.createElement(W.Provider,{value:i},o)};U.propTypes={stripe:N.any,options:N.object};var V=function(){var t,r;return(t="calls useElements()",r=e.useContext(W),H(r,t)).elements};N.func.isRequired;var q=e.createContext(null);q.displayName="CheckoutSdkContext";e.createContext(null).displayName="CheckoutContext",N.any,N.shape({fetchClientSecret:N.func.isRequired,elementsOptions:N.object}).isRequired;var G=function(t){var r=e.useContext(q),n=e.useContext(W);if(r&&n)throw new Error("You cannot wrap the part of your app that ".concat(t," in both <CheckoutProvider> and <Elements> providers."));return r?function(e,t){if(!e)throw new Error("Could not find CheckoutProvider context; You need to wrap the part of your app that ".concat(t," in an <CheckoutProvider> provider."));return e}(r,t):H(n,t)},K=["mode"],Y=function(t,r){var n,o="".concat((n=t).charAt(0).toUpperCase()+n.slice(1),"Element"),a=r?function(t){G("mounts <".concat(o,">"));var r=t.id,n=t.className;return e.createElement("div",{id:r,className:n})}:function(r){var n,a=r.id,s=r.className,i=r.options,c=void 0===i?{}:i,l=r.onBlur,u=r.onFocus,d=r.onReady,m=r.onChange,f=r.onEscape,p=r.onClick,h=r.onLoadError,g=r.onLoaderStart,v=r.onNetworksChange,b=r.onConfirm,y=r.onCancel,w=r.onShippingAddressChange,x=r.onShippingRateChange,E=G("mounts <".concat(o,">")),k="elements"in E?E.elements:null,R="checkoutSdk"in E?E.checkoutSdk:null,N=O(e.useState(null),2),C=N[0],S=N[1],_=e.useRef(null),j=e.useRef(null);A(C,"blur",l),A(C,"focus",u),A(C,"escape",f),A(C,"click",p),A(C,"loaderror",h),A(C,"loaderstart",g),A(C,"networkschange",v),A(C,"confirm",b),A(C,"cancel",y),A(C,"shippingaddresschange",w),A(C,"shippingratechange",x),A(C,"change",m),d&&(n="expressCheckout"===t?d:function(){d(C)}),A(C,"ready",n),e.useLayoutEffect(function(){if(null===_.current&&null!==j.current&&(k||R)){var e=null;if(R)switch(t){case"payment":e=R.createPaymentElement(c);break;case"address":if(!("mode"in c))throw new Error("You must supply options.mode. mode must be 'billing' or 'shipping'.");var r=c.mode,n=P(c,K);if("shipping"===r)e=R.createShippingAddressElement(n);else{if("billing"!==r)throw new Error("Invalid options.mode. mode must be 'billing' or 'shipping'.");e=R.createBillingAddressElement(n)}break;case"expressCheckout":e=R.createExpressCheckoutElement(c);break;case"currencySelector":e=R.createCurrencySelectorElement();break;default:throw new Error("Invalid Element type ".concat(o,". You must use either the <PaymentElement />, <AddressElement options={{mode: 'shipping'}} />, <AddressElement options={{mode: 'billing'}} />, or <ExpressCheckoutElement />."))}else k&&(e=k.create(t,c));_.current=e,S(e),e&&e.mount(j.current)}},[k,R,c]);var M=I(c);return e.useEffect(function(){if(_.current){var e=F(c,M,["paymentRequest"]);e&&"update"in _.current&&_.current.update(e)}},[c,M]),e.useLayoutEffect(function(){return function(){if(_.current&&"function"==typeof _.current.destroy)try{_.current.destroy(),_.current=null}catch(e){}}},[]),e.createElement("div",{id:a,className:s,ref:j})};return a.propTypes={id:N.string,className:N.string,onChange:N.func,onBlur:N.func,onFocus:N.func,onReady:N.func,onEscape:N.func,onClick:N.func,onLoadError:N.func,onLoaderStart:N.func,onNetworksChange:N.func,onConfirm:N.func,onCancel:N.func,onShippingAddressChange:N.func,onShippingRateChange:N.func,options:N.object},a.displayName=o,a.__elementType=t,a},Z="undefined"==typeof window;e.createContext(null).displayName="EmbeddedCheckoutProviderContext";Y("auBankAccount",Z);var X=Y("card",Z);function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},J.apply(null,arguments)}function Q(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function ee(...e){return t=>{let r=!1;const n=e.map(e=>{const n=Q(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){const r=n[t];"function"==typeof r?r():Q(e[t],null)}}}}function te(...e){return s.useCallback(ee(...e),e)}function re(e){const t=oe(e),n=s.forwardRef((e,n)=>{const{children:o,...a}=e,i=s.Children.toArray(o),c=i.find(se);if(c){const e=c.props.children,o=i.map(t=>t===c?s.Children.count(e)>1?s.Children.only(null):s.isValidElement(e)?e.props.children:null:t);return r.jsx(t,{...a,ref:n,children:s.isValidElement(e)?s.cloneElement(e,void 0,o):null})}return r.jsx(t,{...a,ref:n,children:o})});return n.displayName=`${e}.Slot`,n}Y("cardNumber",Z),Y("cardExpiry",Z),Y("cardCvc",Z),Y("fpxBank",Z),Y("iban",Z),Y("idealBank",Z),Y("p24Bank",Z),Y("epsBank",Z),Y("payment",Z),Y("expressCheckout",Z),Y("currencySelector",Z),Y("paymentRequestButton",Z),Y("linkAuthentication",Z),Y("address",Z),Y("shippingAddress",Z),Y("paymentMethodMessaging",Z),Y("affirmMessage",Z),Y("afterpayClearpayMessage",Z);var ne=re("Slot");function oe(e){const t=s.forwardRef((e,t)=>{const{children:r,...n}=e;if(s.isValidElement(r)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;if(r)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r)return e.props.ref;return e.props.ref||e.ref}(r),o=function(e,t){const r={...t};for(const n in t){const o=e[n],a=t[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...e)=>{const t=a(...e);return o(...e),t}:o&&(r[n]=o):"style"===n?r[n]={...o,...a}:"className"===n&&(r[n]=[o,a].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==s.Fragment&&(o.ref=t?ee(t,e):e),s.cloneElement(r,o)}return s.Children.count(r)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ae=Symbol("radix.slottable");function se(e){return s.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===ae}function ie(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=ie(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function ce(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=ie(e))&&(n&&(n+=" "),n+=t);return n}const le=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,ue=ce,de=(e,t)=>r=>{var n;if(null==(null==t?void 0:t.variants))return ue(e,null==r?void 0:r.class,null==r?void 0:r.className);const{variants:o,defaultVariants:a}=t,s=Object.keys(o).map(e=>{const t=null==r?void 0:r[e],n=null==a?void 0:a[e];if(null===t)return null;const s=le(t)||le(n);return o[e][s]}),i=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{}),c=null==t||null===(n=t.compoundVariants)||void 0===n?void 0:n.reduce((e,t)=>{let{class:r,className:n,...o}=t;return Object.entries(o).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...a,...i}[t]):{...a,...i}[t]===r})?[...e,r,n]:e},[]);return ue(e,s,c,null==r?void 0:r.class,null==r?void 0:r.className)},me=e=>{const t=ge(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{const r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),fe(r,t)||he(e)},getConflictingClassGroupIds:(e,t)=>{const o=r[e]||[];return t&&n[e]?[...o,...n[e]]:o}}},fe=(e,t)=>{if(0===e.length)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),o=n?fe(e.slice(1),n):void 0;if(o)return o;if(0===t.validators.length)return;const a=e.join("-");return t.validators.find(({validator:e})=>e(a))?.classGroupId},pe=/^\[(.+)\]$/,he=e=>{if(pe.test(e)){const t=pe.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},ge=e=>{const{theme:t,classGroups:r}=e,n={nextPart:new Map,validators:[]};for(const e in r)ve(r[e],n,e,t);return n},ve=(e,t,r,n)=>{e.forEach(e=>{if("string"==typeof e){return void((""===e?t:be(t,e)).classGroupId=r)}if("function"==typeof e)return ye(e)?void ve(e(n),t,r,n):void t.validators.push({validator:e,classGroupId:r});Object.entries(e).forEach(([e,o])=>{ve(o,be(t,e),r,n)})})},be=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},ye=e=>e.isThemeGetter,we=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const o=(o,a)=>{r.set(o,a),t++,t>e&&(t=0,n=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(o(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):o(e,t)}}},xe=e=>{const{prefix:t,experimentalParseClassName:r}=e;let n=e=>{const t=[];let r,n=0,o=0,a=0;for(let s=0;s<e.length;s++){let i=e[s];if(0===n&&0===o){if(":"===i){t.push(e.slice(a,s)),a=s+1;continue}if("/"===i){r=s;continue}}"["===i?n++:"]"===i?n--:"("===i?o++:")"===i&&o--}const s=0===t.length?e:e.substring(a),i=Ee(s);return{modifiers:t,hasImportantModifier:i!==s,baseClassName:i,maybePostfixModifierPosition:r&&r>a?r-a:void 0}};if(t){const e=t+":",r=n;n=t=>t.startsWith(e)?r(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(r){const e=n;n=t=>r({className:t,parseClassName:e})}return n},Ee=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,ke=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;const r=[];let n=[];return e.forEach(e=>{"["===e[0]||t[e]?(r.push(...n.sort(),e),n=[]):n.push(e)}),r.push(...n.sort()),r}},Re=/\s+/;function Ne(){let e,t,r=0,n="";for(;r<arguments.length;)(e=arguments[r++])&&(t=Ce(e))&&(n&&(n+=" "),n+=t);return n}const Ce=e=>{if("string"==typeof e)return e;let t,r="";for(let n=0;n<e.length;n++)e[n]&&(t=Ce(e[n]))&&(r&&(r+=" "),r+=t);return r};function Se(e,...t){let r,n,o,a=function(i){const c=t.reduce((e,t)=>t(e),e());return r=(e=>({cache:we(e.cacheSize),parseClassName:xe(e),sortModifiers:ke(e),...me(e)}))(c),n=r.cache.get,o=r.cache.set,a=s,s(i)};function s(e){const t=n(e);if(t)return t;const a=((e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o,sortModifiers:a}=t,s=[],i=e.trim().split(Re);let c="";for(let e=i.length-1;e>=0;e-=1){const t=i[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:m,maybePostfixModifierPosition:f}=r(t);if(l){c=t+(c.length>0?" "+c:c);continue}let p=!!f,h=n(p?m.substring(0,f):m);if(!h){if(!p){c=t+(c.length>0?" "+c:c);continue}if(h=n(m),!h){c=t+(c.length>0?" "+c:c);continue}p=!1}const g=a(u).join(":"),v=d?g+"!":g,b=v+h;if(s.includes(b))continue;s.push(b);const y=o(h,p);for(let e=0;e<y.length;++e){const t=y[e];s.push(v+t)}c=t+(c.length>0?" "+c:c)}return c})(e,r);return o(e,a),a}return function(){return a(Ne.apply(null,arguments))}}const _e=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},je=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Pe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Oe=/^\d+\/\d+$/,Me=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ae=/\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$/,Ie=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Le=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,De=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Te=e=>Oe.test(e),Fe=e=>!!e&&!Number.isNaN(Number(e)),ze=e=>!!e&&Number.isInteger(Number(e)),$e=e=>e.endsWith("%")&&Fe(e.slice(0,-1)),Be=e=>Me.test(e),We=()=>!0,He=e=>Ae.test(e)&&!Ie.test(e),Ue=()=>!1,Ve=e=>Le.test(e),qe=e=>De.test(e),Ge=e=>!Ye(e)&&!tt(e),Ke=e=>ct(e,mt,Ue),Ye=e=>je.test(e),Ze=e=>ct(e,ft,He),Xe=e=>ct(e,pt,Fe),Je=e=>ct(e,ut,Ue),Qe=e=>ct(e,dt,qe),et=e=>ct(e,gt,Ve),tt=e=>Pe.test(e),rt=e=>lt(e,ft),nt=e=>lt(e,ht),ot=e=>lt(e,ut),at=e=>lt(e,mt),st=e=>lt(e,dt),it=e=>lt(e,gt,!0),ct=(e,t,r)=>{const n=je.exec(e);return!!n&&(n[1]?t(n[1]):r(n[2]))},lt=(e,t,r=!1)=>{const n=Pe.exec(e);return!!n&&(n[1]?t(n[1]):r)},ut=e=>"position"===e||"percentage"===e,dt=e=>"image"===e||"url"===e,mt=e=>"length"===e||"size"===e||"bg-size"===e,ft=e=>"length"===e,pt=e=>"number"===e,ht=e=>"family-name"===e,gt=e=>"shadow"===e,vt=Se(()=>{const e=_e("color"),t=_e("font"),r=_e("text"),n=_e("font-weight"),o=_e("tracking"),a=_e("leading"),s=_e("breakpoint"),i=_e("container"),c=_e("spacing"),l=_e("radius"),u=_e("shadow"),d=_e("inset-shadow"),m=_e("text-shadow"),f=_e("drop-shadow"),p=_e("blur"),h=_e("perspective"),g=_e("aspect"),v=_e("ease"),b=_e("animate"),y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",tt,Ye],w=()=>[tt,Ye,c],x=()=>[Te,"full","auto",...w()],E=()=>[ze,"none","subgrid",tt,Ye],k=()=>["auto",{span:["full",ze,tt,Ye]},ze,tt,Ye],R=()=>[ze,"auto",tt,Ye],N=()=>["auto","min","max","fr",tt,Ye],C=()=>["auto",...w()],S=()=>[Te,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...w()],_=()=>[e,tt,Ye],j=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",ot,Je,{position:[tt,Ye]}],P=()=>["auto","cover","contain",at,Ke,{size:[tt,Ye]}],O=()=>[$e,rt,Ze],M=()=>["","none","full",l,tt,Ye],A=()=>["",Fe,rt,Ze],I=()=>[Fe,$e,ot,Je],L=()=>["","none",p,tt,Ye],D=()=>["none",Fe,tt,Ye],T=()=>["none",Fe,tt,Ye],F=()=>[Fe,tt,Ye],z=()=>[Te,"full",...w()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Be],breakpoint:[Be],color:[We],container:[Be],"drop-shadow":[Be],ease:["in","out","in-out"],font:[Ge],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Be],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Be],shadow:[Be],spacing:["px",Fe],text:[Be],"text-shadow":[Be],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Te,Ye,tt,g]}],container:["container"],columns:[{columns:[Fe,Ye,tt,i]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"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"],sr:["sr-only","not-sr-only"],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:y()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:x()}],"inset-x":[{"inset-x":x()}],"inset-y":[{"inset-y":x()}],start:[{start:x()}],end:[{end:x()}],top:[{top:x()}],right:[{right:x()}],bottom:[{bottom:x()}],left:[{left:x()}],visibility:["visible","invisible","collapse"],z:[{z:[ze,"auto",tt,Ye]}],basis:[{basis:[Te,"full","auto",i,...w()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Fe,Te,"auto","initial","none",Ye]}],grow:[{grow:["",Fe,tt,Ye]}],shrink:[{shrink:["",Fe,tt,Ye]}],order:[{order:[ze,"first","last","none",tt,Ye]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:k()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:k()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":N()}],"auto-rows":[{"auto-rows":N()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":w()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":w()}],"space-y-reverse":["space-y-reverse"],size:[{size:S()}],w:[{w:[i,"screen",...S()]}],"min-w":[{"min-w":[i,"screen","none",...S()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...S()]}],h:[{h:["screen","lh",...S()]}],"min-h":[{"min-h":["screen","lh","none",...S()]}],"max-h":[{"max-h":["screen","lh",...S()]}],"font-size":[{text:["base",r,rt,Ze]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,tt,Xe]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",$e,Ye]}],"font-family":[{font:[nt,Ye,t]}],"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:[o,tt,Ye]}],"line-clamp":[{"line-clamp":[Fe,"none",tt,Xe]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":["none",tt,Ye]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",tt,Ye]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:_()}],"text-color":[{text:_()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"]}],"text-decoration-thickness":[{decoration:[Fe,"from-font","auto",tt,Ze]}],"text-decoration-color":[{decoration:_()}],"underline-offset":[{"underline-offset":[Fe,"auto",tt,Ye]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",tt,Ye]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",tt,Ye]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:j()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:P()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ze,tt,Ye],radial:["",tt,Ye],conic:[ze,tt,Ye]},st,Qe]}],"bg-color":[{bg:_()}],"gradient-from-pos":[{from:O()}],"gradient-via-pos":[{via:O()}],"gradient-to-pos":[{to:O()}],"gradient-from":[{from:_()}],"gradient-via":[{via:_()}],"gradient-to":[{to:_()}],rounded:[{rounded:M()}],"rounded-s":[{"rounded-s":M()}],"rounded-e":[{"rounded-e":M()}],"rounded-t":[{"rounded-t":M()}],"rounded-r":[{"rounded-r":M()}],"rounded-b":[{"rounded-b":M()}],"rounded-l":[{"rounded-l":M()}],"rounded-ss":[{"rounded-ss":M()}],"rounded-se":[{"rounded-se":M()}],"rounded-ee":[{"rounded-ee":M()}],"rounded-es":[{"rounded-es":M()}],"rounded-tl":[{"rounded-tl":M()}],"rounded-tr":[{"rounded-tr":M()}],"rounded-br":[{"rounded-br":M()}],"rounded-bl":[{"rounded-bl":M()}],"border-w":[{border:A()}],"border-w-x":[{"border-x":A()}],"border-w-y":[{"border-y":A()}],"border-w-s":[{"border-s":A()}],"border-w-e":[{"border-e":A()}],"border-w-t":[{"border-t":A()}],"border-w-r":[{"border-r":A()}],"border-w-b":[{"border-b":A()}],"border-w-l":[{"border-l":A()}],"divide-x":[{"divide-x":A()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":A()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:_()}],"border-color-x":[{"border-x":_()}],"border-color-y":[{"border-y":_()}],"border-color-s":[{"border-s":_()}],"border-color-e":[{"border-e":_()}],"border-color-t":[{"border-t":_()}],"border-color-r":[{"border-r":_()}],"border-color-b":[{"border-b":_()}],"border-color-l":[{"border-l":_()}],"divide-color":[{divide:_()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[Fe,tt,Ye]}],"outline-w":[{outline:["",Fe,rt,Ze]}],"outline-color":[{outline:_()}],shadow:[{shadow:["","none",u,it,et]}],"shadow-color":[{shadow:_()}],"inset-shadow":[{"inset-shadow":["none",d,it,et]}],"inset-shadow-color":[{"inset-shadow":_()}],"ring-w":[{ring:A()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:_()}],"ring-offset-w":[{"ring-offset":[Fe,Ze]}],"ring-offset-color":[{"ring-offset":_()}],"inset-ring-w":[{"inset-ring":A()}],"inset-ring-color":[{"inset-ring":_()}],"text-shadow":[{"text-shadow":["none",m,it,et]}],"text-shadow-color":[{"text-shadow":_()}],opacity:[{opacity:[Fe,tt,Ye]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Fe]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":_()}],"mask-image-linear-to-color":[{"mask-linear-to":_()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":_()}],"mask-image-t-to-color":[{"mask-t-to":_()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":_()}],"mask-image-r-to-color":[{"mask-r-to":_()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":_()}],"mask-image-b-to-color":[{"mask-b-to":_()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":_()}],"mask-image-l-to-color":[{"mask-l-to":_()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":_()}],"mask-image-x-to-color":[{"mask-x-to":_()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":_()}],"mask-image-y-to-color":[{"mask-y-to":_()}],"mask-image-radial":[{"mask-radial":[tt,Ye]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":_()}],"mask-image-radial-to-color":[{"mask-radial-to":_()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[Fe]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":_()}],"mask-image-conic-to-color":[{"mask-conic-to":_()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:j()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:P()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",tt,Ye]}],filter:[{filter:["","none",tt,Ye]}],blur:[{blur:L()}],brightness:[{brightness:[Fe,tt,Ye]}],contrast:[{contrast:[Fe,tt,Ye]}],"drop-shadow":[{"drop-shadow":["","none",f,it,et]}],"drop-shadow-color":[{"drop-shadow":_()}],grayscale:[{grayscale:["",Fe,tt,Ye]}],"hue-rotate":[{"hue-rotate":[Fe,tt,Ye]}],invert:[{invert:["",Fe,tt,Ye]}],saturate:[{saturate:[Fe,tt,Ye]}],sepia:[{sepia:["",Fe,tt,Ye]}],"backdrop-filter":[{"backdrop-filter":["","none",tt,Ye]}],"backdrop-blur":[{"backdrop-blur":L()}],"backdrop-brightness":[{"backdrop-brightness":[Fe,tt,Ye]}],"backdrop-contrast":[{"backdrop-contrast":[Fe,tt,Ye]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Fe,tt,Ye]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Fe,tt,Ye]}],"backdrop-invert":[{"backdrop-invert":["",Fe,tt,Ye]}],"backdrop-opacity":[{"backdrop-opacity":[Fe,tt,Ye]}],"backdrop-saturate":[{"backdrop-saturate":[Fe,tt,Ye]}],"backdrop-sepia":[{"backdrop-sepia":["",Fe,tt,Ye]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",tt,Ye]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Fe,"initial",tt,Ye]}],ease:[{ease:["linear","initial",v,tt,Ye]}],delay:[{delay:[Fe,tt,Ye]}],animate:[{animate:["none",b,tt,Ye]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[h,tt,Ye]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:D()}],"rotate-x":[{"rotate-x":D()}],"rotate-y":[{"rotate-y":D()}],"rotate-z":[{"rotate-z":D()}],scale:[{scale:T()}],"scale-x":[{"scale-x":T()}],"scale-y":[{"scale-y":T()}],"scale-z":[{"scale-z":T()}],"scale-3d":["scale-3d"],skew:[{skew:F()}],"skew-x":[{"skew-x":F()}],"skew-y":[{"skew-y":F()}],transform:[{transform:[tt,Ye,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:z()}],"translate-x":[{"translate-x":z()}],"translate-y":[{"translate-y":z()}],"translate-z":[{"translate-z":z()}],"translate-none":["translate-none"],accent:[{accent:_()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:_()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],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",tt,Ye]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"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",tt,Ye]}],fill:[{fill:["none",..._()]}],"stroke-w":[{stroke:[Fe,rt,Ze,Xe]}],stroke:[{stroke:["none",..._()]}],"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-x","border-w-y","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-x","border-color-y","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"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"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"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function bt(...e){return vt(ce(e))}const yt=de("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function wt({className:e,variant:t,size:r,asChild:n=!1,...o}){const a=n?ne:"button";return s.createElement(a,J({"data-slot":"button",className:bt(yt({variant:t,size:r,className:e}))},o))}function xt({className:e,...t}){return s.createElement("div",J({"data-slot":"card",className:bt("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e)},t))}function Et({className:e,...t}){return s.createElement("div",J({"data-slot":"card-header",className:bt("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e)},t))}function kt({className:e,...t}){return s.createElement("div",J({"data-slot":"card-title",className:bt("leading-none font-semibold",e)},t))}function Rt({className:e,...t}){return s.createElement("div",J({"data-slot":"card-description",className:bt("text-muted-foreground text-sm",e)},t))}function Nt({className:e,...t}){return s.createElement("div",J({"data-slot":"card-content",className:bt("px-6",e)},t))}function Ct({className:e,...t}){return s.createElement("div",J({"data-slot":"card-footer",className:bt("flex items-center px-6 [.border-t]:pt-6",e)},t))}const St=de("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function _t({className:e,variant:t,asChild:r=!1,...n}){const o=r?ne:"span";return s.createElement(o,J({"data-slot":"badge",className:bt(St({variant:t}),e)},n))}function jt(e,t=[]){let n=[];const o=()=>{const t=n.map(e=>s.createContext(e));return function(r){const n=r?.[e]||t;return s.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return o.scopeName=e,[function(t,o){const a=s.createContext(o),i=n.length;n=[...n,o];const c=t=>{const{scope:n,children:o,...c}=t,l=n?.[e]?.[i]||a,u=s.useMemo(()=>c,Object.values(c));return r.jsx(l.Provider,{value:u,children:o})};return c.displayName=t+"Provider",[c,function(r,n){const c=n?.[e]?.[i]||a,l=s.useContext(c);if(l)return l;if(void 0!==o)return o;throw new Error(`\`${r}\` must be used within \`${t}\``)}]},Pt(o,...t)]}function Pt(...e){const t=e[0];if(1===e.length)return t;const r=()=>{const r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){const n=r.reduce((t,{useScope:r,scopeName:n})=>({...t,...r(e)[`__scope${n}`]}),{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}var Ot=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{const n=re(`Primitive.${t}`),o=s.forwardRef((e,o)=>{const{asChild:a,...s}=e,i=a?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),r.jsx(i,{...s,ref:o})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});var Mt="Progress",At=100,[It,Lt]=jt(Mt),[Dt,Tt]=It(Mt),Ft=s.forwardRef((e,t)=>{const{__scopeProgress:n,value:o=null,max:a,getValueLabel:s=Bt,...i}=e;!a&&0!==a||Ut(a)||console.error(`Invalid prop \`max\` of value \`${`${a}`}\` supplied to \`${"Progress"}\`. Only numbers greater than 0 are valid max values. Defaulting to \`100\`.`);const c=Ut(a)?a:At;null===o||Vt(o,c)||console.error(function(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:\n - a positive number\n - less than the value passed to \`max\` (or 100 if no \`max\` prop is set)\n - \`null\` or \`undefined\` if the progress is indeterminate.\n\nDefaulting to \`null\`.`}(`${o}`,"Progress"));const l=Vt(o,c)?o:null,u=Ht(l)?s(l,c):void 0;return r.jsx(Dt,{scope:n,value:l,max:c,children:r.jsx(Ot.div,{"aria-valuemax":c,"aria-valuemin":0,"aria-valuenow":Ht(l)?l:void 0,"aria-valuetext":u,role:"progressbar","data-state":Wt(l,c),"data-value":l??void 0,"data-max":c,...i,ref:t})})});Ft.displayName=Mt;var zt="ProgressIndicator",$t=s.forwardRef((e,t)=>{const{__scopeProgress:n,...o}=e,a=Tt(zt,n);return r.jsx(Ot.div,{"data-state":Wt(a.value,a.max),"data-value":a.value??void 0,"data-max":a.max,...o,ref:t})});function Bt(e,t){return`${Math.round(e/t*100)}%`}function Wt(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function Ht(e){return"number"==typeof e}function Ut(e){return Ht(e)&&!isNaN(e)&&e>0}function Vt(e,t){return Ht(e)&&!isNaN(e)&&e<=t&&e>=0}$t.displayName=zt;var qt=Ft,Gt=$t;function Kt({className:e,value:t,...r}){return s.createElement(qt,J({"data-slot":"progress",className:bt("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",e)},r),s.createElement(Gt,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}}))}function Yt(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}var Zt=globalThis?.document?s.useLayoutEffect:()=>{},Xt=s[" useId ".trim().toString()]||(()=>{}),Jt=0;function Qt(e){const[t,r]=s.useState(Xt());return Zt(()=>{r(e=>e??String(Jt++))},[e]),t?`radix-${t}`:""}function er(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>(...e)=>t.current?.(...e),[])}var tr=s[" useInsertionEffect ".trim().toString()]||Zt;function rr({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[o,a,i]=function({defaultProp:e,onChange:t}){const[r,n]=s.useState(e),o=s.useRef(r),a=s.useRef(t);return tr(()=>{a.current=t},[t]),s.useEffect(()=>{o.current!==r&&(a.current?.(r),o.current=r)},[r,o]),[r,n,a]}({defaultProp:t,onChange:r}),c=void 0!==e,l=c?e:o;{const t=s.useRef(void 0!==e);s.useEffect(()=>{const e=t.current;if(e!==c){const t=e?"controlled":"uncontrolled",r=c?"controlled":"uncontrolled";console.warn(`${n} is changing from ${t} to ${r}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=c},[c,n])}const u=s.useCallback(t=>{if(c){const r=function(e){return"function"==typeof e}(t)?t(e):t;r!==e&&i.current?.(r)}else a(t)},[c,e,a,i]);return[l,u]}var nr=s.createContext(void 0);function or(e){const t=s.useContext(nr);return e||t||"ltr"}var ar="rovingFocusGroup.onEntryFocus",sr={bubbles:!1,cancelable:!0},ir="RovingFocusGroup",[cr,lr,ur]=function(t){const n=t+"CollectionProvider",[o,a]=jt(n),[s,i]=o(n,{collectionRef:{current:null},itemMap:new Map}),c=t=>{const{scope:n,children:o}=t,a=e.useRef(null),i=e.useRef(new Map).current;return r.jsx(s,{scope:n,itemMap:i,collectionRef:a,children:o})};c.displayName=n;const l=t+"CollectionSlot",u=re(l),d=e.forwardRef((e,t)=>{const{scope:n,children:o}=e,a=te(t,i(l,n).collectionRef);return r.jsx(u,{ref:a,children:o})});d.displayName=l;const m=t+"CollectionItemSlot",f="data-radix-collection-item",p=re(m),h=e.forwardRef((t,n)=>{const{scope:o,children:a,...s}=t,c=e.useRef(null),l=te(n,c),u=i(m,o);return e.useEffect(()=>(u.itemMap.set(c,{ref:c,...s}),()=>{u.itemMap.delete(c)})),r.jsx(p,{[f]:"",ref:l,children:a})});return h.displayName=m,[{Provider:c,Slot:d,ItemSlot:h},function(r){const n=i(t+"CollectionConsumer",r);return e.useCallback(()=>{const e=n.collectionRef.current;if(!e)return[];const t=Array.from(e.querySelectorAll(`[${f}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},a]}(ir),[dr,mr]=jt(ir,[ur]),[fr,pr]=dr(ir),hr=s.forwardRef((e,t)=>r.jsx(cr.Provider,{scope:e.__scopeRovingFocusGroup,children:r.jsx(cr.Slot,{scope:e.__scopeRovingFocusGroup,children:r.jsx(gr,{...e,ref:t})})}));hr.displayName=ir;var gr=s.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:a=!1,dir:i,currentTabStopId:c,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:m=!1,...f}=e,p=s.useRef(null),h=te(t,p),g=or(i),[v,b]=rr({prop:c,defaultProp:l??null,onChange:u,caller:ir}),[y,w]=s.useState(!1),x=er(d),E=lr(n),k=s.useRef(!1),[R,N]=s.useState(0);return s.useEffect(()=>{const e=p.current;if(e)return e.addEventListener(ar,x),()=>e.removeEventListener(ar,x)},[x]),r.jsx(fr,{scope:n,orientation:o,dir:g,loop:a,currentTabStopId:v,onItemFocus:s.useCallback(e=>b(e),[b]),onItemShiftTab:s.useCallback(()=>w(!0),[]),onFocusableItemAdd:s.useCallback(()=>N(e=>e+1),[]),onFocusableItemRemove:s.useCallback(()=>N(e=>e-1),[]),children:r.jsx(Ot.div,{tabIndex:y||0===R?-1:0,"data-orientation":o,...f,ref:h,style:{outline:"none",...e.style},onMouseDown:Yt(e.onMouseDown,()=>{k.current=!0}),onFocus:Yt(e.onFocus,e=>{const t=!k.current;if(e.target===e.currentTarget&&t&&!y){const t=new CustomEvent(ar,sr);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){const e=E().filter(e=>e.focusable);wr([e.find(e=>e.active),e.find(e=>e.id===v),...e].filter(Boolean).map(e=>e.ref.current),m)}}k.current=!1}),onBlur:Yt(e.onBlur,()=>w(!1))})})}),vr="RovingFocusGroupItem",br=s.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:a=!1,tabStopId:i,children:c,...l}=e,u=Qt(),d=i||u,m=pr(vr,n),f=m.currentTabStopId===d,p=lr(n),{onFocusableItemAdd:h,onFocusableItemRemove:g,currentTabStopId:v}=m;return s.useEffect(()=>{if(o)return h(),()=>g()},[o,h,g]),r.jsx(cr.ItemSlot,{scope:n,id:d,focusable:o,active:a,children:r.jsx(Ot.span,{tabIndex:f?0:-1,"data-orientation":m.orientation,...l,ref:t,onMouseDown:Yt(e.onMouseDown,e=>{o?m.onItemFocus(d):e.preventDefault()}),onFocus:Yt(e.onFocus,()=>m.onItemFocus(d)),onKeyDown:Yt(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void m.onItemShiftTab();if(e.target!==e.currentTarget)return;const t=function(e,t,r){const n=function(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}(e.key,r);return"vertical"===t&&["ArrowLeft","ArrowRight"].includes(n)||"horizontal"===t&&["ArrowUp","ArrowDown"].includes(n)?void 0:yr[n]}(e,m.orientation,m.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=p().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){"prev"===t&&o.reverse();const a=o.indexOf(e.currentTarget);o=m.loop?(n=a+1,(r=o).map((e,t)=>r[(n+t)%r.length])):o.slice(a+1)}setTimeout(()=>wr(o))}var r,n}),children:"function"==typeof c?c({isCurrentTabStop:f,hasTabStop:null!=v}):c})})});br.displayName=vr;var yr={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function wr(e,t=!1){const r=document.activeElement;for(const n of e){if(n===r)return;if(n.focus({preventScroll:t}),document.activeElement!==r)return}}var xr=hr,Er=br;var kr=e=>{const{present:t,children:r}=e,n=function(e){const[t,r]=s.useState(),n=s.useRef(null),o=s.useRef(e),a=s.useRef("none"),i=e?"mounted":"unmounted",[c,l]=function(e,t){return s.useReducer((e,r)=>t[e][r]??e,e)}(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const e=Rr(n.current);a.current="mounted"===c?e:"none"},[c]),Zt(()=>{const t=n.current,r=o.current;if(r!==e){const n=a.current,s=Rr(t);if(e)l("MOUNT");else if("none"===s||"none"===t?.display)l("UNMOUNT");else{l(r&&n!==s?"ANIMATION_OUT":"UNMOUNT")}o.current=e}},[e,l]),Zt(()=>{if(t){let e;const r=t.ownerDocument.defaultView??window,s=a=>{const s=Rr(n.current).includes(a.animationName);if(a.target===t&&s&&(l("ANIMATION_END"),!o.current)){const n=t.style.animationFillMode;t.style.animationFillMode="forwards",e=r.setTimeout(()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=n)})}},i=e=>{e.target===t&&(a.current=Rr(n.current))};return t.addEventListener("animationstart",i),t.addEventListener("animationcancel",s),t.addEventListener("animationend",s),()=>{r.clearTimeout(e),t.removeEventListener("animationstart",i),t.removeEventListener("animationcancel",s),t.removeEventListener("animationend",s)}}l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:s.useCallback(e=>{n.current=e?getComputedStyle(e):null,r(e)},[])}}(t),o="function"==typeof r?r({present:n.isPresent}):s.Children.only(r),a=te(n.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;if(r)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r)return e.props.ref;return e.props.ref||e.ref}(o));return"function"==typeof r||n.isPresent?s.cloneElement(o,{ref:a}):null};function Rr(e){return e?.animationName||"none"}kr.displayName="Presence";var Nr="Tabs",[Cr,Sr]=jt(Nr,[mr]),_r=mr(),[jr,Pr]=Cr(Nr),Or=s.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,onValueChange:a,defaultValue:s,orientation:i="horizontal",dir:c,activationMode:l="automatic",...u}=e,d=or(c),[m,f]=rr({prop:o,onChange:a,defaultProp:s??"",caller:Nr});return r.jsx(jr,{scope:n,baseId:Qt(),value:m,onValueChange:f,orientation:i,dir:d,activationMode:l,children:r.jsx(Ot.div,{dir:d,"data-orientation":i,...u,ref:t})})});Or.displayName=Nr;var Mr="TabsList",Ar=s.forwardRef((e,t)=>{const{__scopeTabs:n,loop:o=!0,...a}=e,s=Pr(Mr,n),i=_r(n);return r.jsx(xr,{asChild:!0,...i,orientation:s.orientation,dir:s.dir,loop:o,children:r.jsx(Ot.div,{role:"tablist","aria-orientation":s.orientation,...a,ref:t})})});Ar.displayName=Mr;var Ir="TabsTrigger",Lr=s.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,disabled:a=!1,...s}=e,i=Pr(Ir,n),c=_r(n),l=Fr(i.baseId,o),u=zr(i.baseId,o),d=o===i.value;return r.jsx(Er,{asChild:!0,...c,focusable:!a,active:d,children:r.jsx(Ot.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":u,"data-state":d?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:l,...s,ref:t,onMouseDown:Yt(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():i.onValueChange(o)}),onKeyDown:Yt(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&i.onValueChange(o)}),onFocus:Yt(e.onFocus,()=>{const e="manual"!==i.activationMode;d||a||!e||i.onValueChange(o)})})})});Lr.displayName=Ir;var Dr="TabsContent",Tr=s.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,forceMount:a,children:i,...c}=e,l=Pr(Dr,n),u=Fr(l.baseId,o),d=zr(l.baseId,o),m=o===l.value,f=s.useRef(m);return s.useEffect(()=>{const e=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(e)},[]),r.jsx(kr,{present:a||m,children:({present:n})=>r.jsx(Ot.div,{"data-state":m?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":u,hidden:!n,id:d,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:n&&i})})});function Fr(e,t){return`${e}-trigger-${t}`}function zr(e,t){return`${e}-content-${t}`}Tr.displayName=Dr;var $r=Or,Br=Ar,Wr=Lr,Hr=Tr;function Ur({className:e,...t}){return s.createElement($r,J({"data-slot":"tabs",className:bt("flex flex-col gap-2",e)},t))}function Vr({className:e,...t}){return s.createElement(Br,J({"data-slot":"tabs-list",className:bt("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e)},t))}function qr({className:e,...t}){return s.createElement(Wr,J({"data-slot":"tabs-trigger",className:bt("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e)},t))}function Gr({className:e,...t}){return s.createElement(Hr,J({"data-slot":"tabs-content",className:bt("flex-1 outline-none",e)},t))}var Kr,Yr="dismissableLayer.update",Zr="dismissableLayer.pointerDownOutside",Xr="dismissableLayer.focusOutside",Jr=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Qr=s.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:c,onDismiss:l,...u}=e,d=s.useContext(Jr),[m,f]=s.useState(null),p=m?.ownerDocument??globalThis?.document,[,h]=s.useState({}),g=te(t,e=>f(e)),v=Array.from(d.layers),[b]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),y=v.indexOf(b),w=m?v.indexOf(m):-1,x=d.layersWithOutsidePointerEventsDisabled.size>0,E=w>=y,k=function(e,t=globalThis?.document){const r=er(e),n=s.useRef(!1),o=s.useRef(()=>{});return s.useEffect(()=>{const e=e=>{if(e.target&&!n.current){let n=function(){tn(Zr,r,a,{discrete:!0})};const a={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",o.current),o.current=n,t.addEventListener("click",o.current,{once:!0})):n()}else t.removeEventListener("click",o.current);n.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",e),t.removeEventListener("click",o.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{const t=e.target,r=[...d.branches].some(e=>e.contains(t));E&&!r&&(a?.(e),c?.(e),e.defaultPrevented||l?.())},p),R=function(e,t=globalThis?.document){const r=er(e),n=s.useRef(!1);return s.useEffect(()=>{const e=e=>{if(e.target&&!n.current){tn(Xr,r,{originalEvent:e},{discrete:!1})}};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{const t=e.target;[...d.branches].some(e=>e.contains(t))||(i?.(e),c?.(e),e.defaultPrevented||l?.())},p);return function(e,t=globalThis?.document){const r=er(e);s.useEffect(()=>{const e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{w===d.layers.size-1&&(o?.(e),!e.defaultPrevented&&l&&(e.preventDefault(),l()))},p),s.useEffect(()=>{if(m)return n&&(0===d.layersWithOutsidePointerEventsDisabled.size&&(Kr=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(m)),d.layers.add(m),en(),()=>{n&&1===d.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=Kr)}},[m,p,n,d]),s.useEffect(()=>()=>{m&&(d.layers.delete(m),d.layersWithOutsidePointerEventsDisabled.delete(m),en())},[m,d]),s.useEffect(()=>{const e=()=>h({});return document.addEventListener(Yr,e),()=>document.removeEventListener(Yr,e)},[]),r.jsx(Ot.div,{...u,ref:g,style:{pointerEvents:x?E?"auto":"none":void 0,...e.style},onFocusCapture:Yt(e.onFocusCapture,R.onFocusCapture),onBlurCapture:Yt(e.onBlurCapture,R.onBlurCapture),onPointerDownCapture:Yt(e.onPointerDownCapture,k.onPointerDownCapture)})});Qr.displayName="DismissableLayer";function en(){const e=new CustomEvent(Yr);document.dispatchEvent(e)}function tn(e,t,r,{discrete:n}){const o=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&o.addEventListener(e,t,{once:!0}),n?function(e,t){e&&i.flushSync(()=>e.dispatchEvent(t))}(o,a):o.dispatchEvent(a)}s.forwardRef((e,t)=>{const n=s.useContext(Jr),o=s.useRef(null),a=te(t,o);return s.useEffect(()=>{const e=o.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),r.jsx(Ot.div,{...e,ref:a})}).displayName="DismissableLayerBranch";var rn="focusScope.autoFocusOnMount",nn="focusScope.autoFocusOnUnmount",on={bubbles:!1,cancelable:!0},an=s.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:a,onUnmountAutoFocus:i,...c}=e,[l,u]=s.useState(null),d=er(a),m=er(i),f=s.useRef(null),p=te(t,e=>u(e)),h=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(o){let e=function(e){if(h.paused||!l)return;const t=e.target;l.contains(t)?f.current=t:un(f.current,{select:!0})},t=function(e){if(h.paused||!l)return;const t=e.relatedTarget;null!==t&&(l.contains(t)||un(f.current,{select:!0}))},r=function(e){if(document.activeElement===document.body)for(const t of e)t.removedNodes.length>0&&un(l)};document.addEventListener("focusin",e),document.addEventListener("focusout",t);const n=new MutationObserver(r);return l&&n.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[o,l,h.paused]),s.useEffect(()=>{if(l){dn.add(h);const t=document.activeElement;if(!l.contains(t)){const r=new CustomEvent(rn,on);l.addEventListener(rn,d),l.dispatchEvent(r),r.defaultPrevented||(!function(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(un(n,{select:t}),document.activeElement!==r)return}((e=sn(l),e.filter(e=>"A"!==e.tagName)),{select:!0}),document.activeElement===t&&un(l))}return()=>{l.removeEventListener(rn,d),setTimeout(()=>{const e=new CustomEvent(nn,on);l.addEventListener(nn,m),l.dispatchEvent(e),e.defaultPrevented||un(t??document.body,{select:!0}),l.removeEventListener(nn,m),dn.remove(h)},0)}}var e},[l,d,m,h]);const g=s.useCallback(e=>{if(!n&&!o)return;if(h.paused)return;const t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=document.activeElement;if(t&&r){const t=e.currentTarget,[o,a]=function(e){const t=sn(e),r=cn(t,e),n=cn(t.reverse(),e);return[r,n]}(t);o&&a?e.shiftKey||r!==a?e.shiftKey&&r===o&&(e.preventDefault(),n&&un(a,{select:!0})):(e.preventDefault(),n&&un(o,{select:!0})):r===t&&e.preventDefault()}},[n,o,h.paused]);return r.jsx(Ot.div,{tabIndex:-1,...c,ref:p,onKeyDown:g})});function sn(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function cn(e,t){for(const r of e)if(!ln(r,{upTo:t}))return r}function ln(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function un(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&function(e){return e instanceof HTMLInputElement&&"select"in e}(e)&&t&&e.select()}}an.displayName="FocusScope";var dn=function(){let e=[];return{add(t){const r=e[0];t!==r&&r?.pause(),e=mn(e,t),e.unshift(t)},remove(t){e=mn(e,t),e[0]?.resume()}}}();function mn(e,t){const r=[...e],n=r.indexOf(t);return-1!==n&&r.splice(n,1),r}var fn=s.forwardRef((e,t)=>{const{container:o,...a}=e,[i,c]=s.useState(!1);Zt(()=>c(!0),[]);const l=o||i&&globalThis?.document?.body;return l?n.createPortal(r.jsx(Ot.div,{...a,ref:t}),l):null});fn.displayName="Portal";var pn=0;function hn(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var gn=function(){return gn=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},gn.apply(this,arguments)};function vn(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}"function"==typeof SuppressedError&&SuppressedError;var bn="right-scroll-bar-position",yn="width-before-scroll-bar";function wn(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var xn="undefined"!=typeof window?s.useLayoutEffect:s.useEffect,En=new WeakMap;function kn(t,r){var n,o,a,s=(n=null,o=function(e){return t.forEach(function(t){return wn(t,e)})},(a=e.useState(function(){return{value:n,callback:o,facade:{get current(){return a.value},set current(e){var t=a.value;t!==e&&(a.value=e,a.callback(e,t))}}}})[0]).callback=o,a.facade);return xn(function(){var e=En.get(s);if(e){var r=new Set(e),n=new Set(t),o=s.current;r.forEach(function(e){n.has(e)||wn(e,null)}),n.forEach(function(e){r.has(e)||wn(e,o)})}En.set(s,t)},[t]),s}function Rn(e){return e}var Nn=function(e){var t=e.sideCar,r=vn(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return s.createElement(n,gn({},r))};Nn.isSideCarExport=!0;var Cn=function(e){void 0===e&&(e={});var t=function(e,t){void 0===t&&(t=Rn);var r=[],n=!1;return{read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(e){var o=t(e,n);return r.push(o),function(){r=r.filter(function(e){return e!==o})}},assignSyncMedium:function(e){for(n=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){n=!0;var t=[];if(r.length){var o=r;r=[],o.forEach(e),t=r}var a=function(){var r=t;t=[],r.forEach(e)},s=function(){return Promise.resolve().then(a)};s(),r={push:function(e){t.push(e),s()},filter:function(e){return t=t.filter(e),r}}}}}(null);return t.options=gn({async:!0,ssr:!1},e),t}(),Sn=function(){},_n=s.forwardRef(function(e,t){var r=s.useRef(null),n=s.useState({onScrollCapture:Sn,onWheelCapture:Sn,onTouchMoveCapture:Sn}),o=n[0],a=n[1],i=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,m=e.shards,f=e.sideCar,p=e.noRelative,h=e.noIsolation,g=e.inert,v=e.allowPinchZoom,b=e.as,y=void 0===b?"div":b,w=e.gapMode,x=vn(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),E=f,k=kn([r,t]),R=gn(gn({},x),o);return s.createElement(s.Fragment,null,d&&s.createElement(E,{sideCar:Cn,removeScrollBar:u,shards:m,noRelative:p,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!v,lockRef:r,gapMode:w}),i?s.cloneElement(s.Children.only(c),gn(gn({},R),{ref:k})):s.createElement(y,gn({},R,{className:l,ref:k}),c))});_n.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},_n.classNames={fullWidth:yn,zeroRight:bn};function jn(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=function(){if("undefined"!=typeof __webpack_nonce__)return __webpack_nonce__}();return t&&e.setAttribute("nonce",t),e}var Pn=function(){var e=0,t=null;return{add:function(r){var n,o;0==e&&(t=jn())&&(o=r,(n=t).styleSheet?n.styleSheet.cssText=o:n.appendChild(document.createTextNode(o)),function(e){(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}(t)),e++},remove:function(){! --e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},On=function(){var e,t=(e=Pn(),function(t,r){s.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])});return function(e){var r=e.styles,n=e.dynamic;return t(r,n),null}},Mn={left:0,top:0,right:0,gap:0},An=function(e){return parseInt(e||"",10)||0},In=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return Mn;var t=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[An(r),An(n),An(o)]}(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},Ln=On(),Dn="data-scroll-locked",Tn=function(e,t,r,n){var o=e.left,a=e.top,s=e.right,i=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(i,"px ").concat(n,";\n }\n body[").concat(Dn,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(s,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(i,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(i,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(bn," {\n right: ").concat(i,"px ").concat(n,";\n }\n \n .").concat(yn," {\n margin-right: ").concat(i,"px ").concat(n,";\n }\n \n .").concat(bn," .").concat(bn," {\n right: 0 ").concat(n,";\n }\n \n .").concat(yn," .").concat(yn," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(Dn,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(i,"px;\n }\n")},Fn=function(){var e=parseInt(document.body.getAttribute(Dn)||"0",10);return isFinite(e)?e:0},zn=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,o=void 0===n?"margin":n;s.useEffect(function(){return document.body.setAttribute(Dn,(Fn()+1).toString()),function(){var e=Fn()-1;e<=0?document.body.removeAttribute(Dn):document.body.setAttribute(Dn,e.toString())}},[]);var a=s.useMemo(function(){return In(o)},[o]);return s.createElement(Ln,{styles:Tn(a,!t,o,r?"":"!important")})},$n=!1;if("undefined"!=typeof window)try{var Bn=Object.defineProperty({},"passive",{get:function(){return $n=!0,!0}});window.addEventListener("test",Bn,Bn),window.removeEventListener("test",Bn,Bn)}catch(e){$n=!1}var Wn=!!$n&&{passive:!1},Hn=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&!function(e){return"TEXTAREA"===e.tagName}(e)&&"visible"===r[t])},Un=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),Vn(e,n)){var o=qn(e,n);if(o[1]>o[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},Vn=function(e,t){return"v"===e?function(e){return Hn(e,"overflowY")}(t):function(e){return Hn(e,"overflowX")}(t)},qn=function(e,t){return"v"===e?[(r=t).scrollTop,r.scrollHeight,r.clientHeight]:function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]}(t);var r},Gn=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Kn=function(e){return[e.deltaX,e.deltaY]},Yn=function(e){return e&&"current"in e?e.current:e},Zn=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},Xn=0,Jn=[];function Qn(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var eo,to=(eo=function(e){var t=s.useRef([]),r=s.useRef([0,0]),n=s.useRef(),o=s.useState(Xn++)[0],a=s.useState(On)[0],i=s.useRef(e);s.useEffect(function(){i.current=e},[e]),s.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))}([e.lockRef.current],(e.shards||[]).map(Yn),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=s.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var o,a=Gn(e),s=r.current,c="deltaX"in e?e.deltaX:s[0]-a[0],l="deltaY"in e?e.deltaY:s[1]-a[1],u=e.target,d=Math.abs(c)>Math.abs(l)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var m=Un(d,u);if(!m)return!0;if(m?o=d:(o="v"===d?"h":"v",m=Un(d,u)),!m)return!1;if(!n.current&&"changedTouches"in e&&(c||l)&&(n.current=o),!o)return!0;var f=n.current||o;return function(e,t,r,n){var o=function(e,t){return"h"===e&&"rtl"===t?-1:1}(e,window.getComputedStyle(t).direction),a=o*n,s=r.target,i=t.contains(s),c=!1,l=a>0,u=0,d=0;do{if(!s)break;var m=qn(e,s),f=m[0],p=m[1]-m[2]-o*f;(f||p)&&Vn(e,s)&&(u+=p,d+=f);var h=s.parentNode;s=h&&h.nodeType===Node.DOCUMENT_FRAGMENT_NODE?h.host:h}while(!i&&s!==document.body||i&&(t.contains(s)||t===s));return(l&&Math.abs(u)<1||!l&&Math.abs(d)<1)&&(c=!0),c}(f,t,e,"h"===f?c:l)},[]),l=s.useCallback(function(e){var r=e;if(Jn.length&&Jn[Jn.length-1]===a){var n="deltaY"in r?Kn(r):Gn(r),o=t.current.filter(function(e){return e.name===r.type&&(e.target===r.target||r.target===e.shadowParent)&&(t=e.delta,o=n,t[0]===o[0]&&t[1]===o[1]);var t,o})[0];if(o&&o.should)r.cancelable&&r.preventDefault();else if(!o){var s=(i.current.shards||[]).map(Yn).filter(Boolean).filter(function(e){return e.contains(r.target)});(s.length>0?c(r,s[0]):!i.current.noIsolation)&&r.cancelable&&r.preventDefault()}}},[]),u=s.useCallback(function(e,r,n,o){var a={name:e,delta:r,target:n,should:o,shadowParent:Qn(n)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=s.useCallback(function(e){r.current=Gn(e),n.current=void 0},[]),m=s.useCallback(function(t){u(t.type,Kn(t),t.target,c(t,e.lockRef.current))},[]),f=s.useCallback(function(t){u(t.type,Gn(t),t.target,c(t,e.lockRef.current))},[]);s.useEffect(function(){return Jn.push(a),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:f}),document.addEventListener("wheel",l,Wn),document.addEventListener("touchmove",l,Wn),document.addEventListener("touchstart",d,Wn),function(){Jn=Jn.filter(function(e){return e!==a}),document.removeEventListener("wheel",l,Wn),document.removeEventListener("touchmove",l,Wn),document.removeEventListener("touchstart",d,Wn)}},[]);var p=e.removeScrollBar,h=e.inert;return s.createElement(s.Fragment,null,h?s.createElement(a,{styles:Zn(o)}):null,p?s.createElement(zn,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},Cn.useMedium(eo),Nn),ro=s.forwardRef(function(e,t){return s.createElement(_n,gn({},e,{ref:t,sideCar:to}))});ro.classNames=_n.classNames;var no=new WeakMap,oo=new WeakMap,ao={},so=0,io=function(e){return e&&(e.host||io(e.parentNode))},co=function(e,t,r,n){var o=function(e,t){return t.map(function(t){if(e.contains(t))return t;var r=io(t);return r&&e.contains(r)?r:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)}).filter(function(e){return Boolean(e)})}(t,Array.isArray(e)?e:[e]);ao[r]||(ao[r]=new WeakMap);var a=ao[r],s=[],i=new Set,c=new Set(o),l=function(e){e&&!i.has(e)&&(i.add(e),l(e.parentNode))};o.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(i.has(e))u(e);else try{var t=e.getAttribute(n),o=null!==t&&"false"!==t,c=(no.get(e)||0)+1,l=(a.get(e)||0)+1;no.set(e,c),a.set(e,l),s.push(e),1===c&&o&&oo.set(e,!0),1===l&&e.setAttribute(r,"true"),o||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return u(t),i.clear(),so++,function(){s.forEach(function(e){var t=no.get(e)-1,o=a.get(e)-1;no.set(e,t),a.set(e,o),t||(oo.has(e)||e.removeAttribute(n),oo.delete(e)),o||e.removeAttribute(r)}),--so||(no=new WeakMap,no=new WeakMap,oo=new WeakMap,ao={})}},lo=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=function(e){return"undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body}(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),co(n,o,r,"aria-hidden")):function(){return null}},uo="Dialog",[mo,fo]=jt(uo),[po,ho]=mo(uo),go=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:a,onOpenChange:i,modal:c=!0}=e,l=s.useRef(null),u=s.useRef(null),[d,m]=rr({prop:o,defaultProp:a??!1,onChange:i,caller:uo});return r.jsx(po,{scope:t,triggerRef:l,contentRef:u,contentId:Qt(),titleId:Qt(),descriptionId:Qt(),open:d,onOpenChange:m,onOpenToggle:s.useCallback(()=>m(e=>!e),[m]),modal:c,children:n})};go.displayName=uo;var vo="DialogTrigger";s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,a=ho(vo,n),s=te(t,a.triggerRef);return r.jsx(Ot.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":To(a.open),...o,ref:s,onClick:Yt(e.onClick,a.onOpenToggle)})}).displayName=vo;var bo="DialogPortal",[yo,wo]=mo(bo,{forceMount:void 0}),xo=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:a}=e,i=ho(bo,t);return r.jsx(yo,{scope:t,forceMount:n,children:s.Children.map(o,e=>r.jsx(kr,{present:n||i.open,children:r.jsx(fn,{asChild:!0,container:a,children:e})}))})};xo.displayName=bo;var Eo="DialogOverlay",ko=s.forwardRef((e,t)=>{const n=wo(Eo,e.__scopeDialog),{forceMount:o=n.forceMount,...a}=e,s=ho(Eo,e.__scopeDialog);return s.modal?r.jsx(kr,{present:o||s.open,children:r.jsx(No,{...a,ref:t})}):null});ko.displayName=Eo;var Ro=re("DialogOverlay.RemoveScroll"),No=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,a=ho(Eo,n);return r.jsx(ro,{as:Ro,allowPinchZoom:!0,shards:[a.contentRef],children:r.jsx(Ot.div,{"data-state":To(a.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),Co="DialogContent",So=s.forwardRef((e,t)=>{const n=wo(Co,e.__scopeDialog),{forceMount:o=n.forceMount,...a}=e,s=ho(Co,e.__scopeDialog);return r.jsx(kr,{present:o||s.open,children:s.modal?r.jsx(_o,{...a,ref:t}):r.jsx(jo,{...a,ref:t})})});So.displayName=Co;var _o=s.forwardRef((e,t)=>{const n=ho(Co,e.__scopeDialog),o=s.useRef(null),a=te(t,n.contentRef,o);return s.useEffect(()=>{const e=o.current;if(e)return lo(e)},[]),r.jsx(Po,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Yt(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Yt(e.onPointerDownOutside,e=>{const t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:Yt(e.onFocusOutside,e=>e.preventDefault())})}),jo=s.forwardRef((e,t)=>{const n=ho(Co,e.__scopeDialog),o=s.useRef(!1),a=s.useRef(!1);return r.jsx(Po,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));const r=t.target,s=n.triggerRef.current?.contains(r);s&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),Po=s.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:i,...c}=e,l=ho(Co,n),u=s.useRef(null),d=te(t,u);return s.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??hn()),document.body.insertAdjacentElement("beforeend",e[1]??hn()),pn++,()=>{1===pn&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),pn--}},[]),r.jsxs(r.Fragment,{children:[r.jsx(an,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:a,onUnmountAutoFocus:i,children:r.jsx(Qr,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":To(l.open),...c,ref:d,onDismiss:()=>l.onOpenChange(!1)})}),r.jsxs(r.Fragment,{children:[r.jsx(Bo,{titleId:l.titleId}),r.jsx(Wo,{contentRef:u,descriptionId:l.descriptionId})]})]})}),Oo="DialogTitle",Mo=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,a=ho(Oo,n);return r.jsx(Ot.h2,{id:a.titleId,...o,ref:t})});Mo.displayName=Oo;var Ao="DialogDescription",Io=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,a=ho(Ao,n);return r.jsx(Ot.p,{id:a.descriptionId,...o,ref:t})});Io.displayName=Ao;var Lo="DialogClose",Do=s.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,a=ho(Lo,n);return r.jsx(Ot.button,{type:"button",...o,ref:t,onClick:Yt(e.onClick,()=>a.onOpenChange(!1))})});function To(e){return e?"open":"closed"}Do.displayName=Lo;var Fo="DialogTitleWarning",[zo,$o]=function(e,t){const n=s.createContext(t),o=e=>{const{children:t,...o}=e,a=s.useMemo(()=>o,Object.values(o));return r.jsx(n.Provider,{value:a,children:t})};return o.displayName=e+"Provider",[o,function(r){const o=s.useContext(n);if(o)return o;if(void 0!==t)return t;throw new Error(`\`${r}\` must be used within \`${e}\``)}]}(Fo,{contentName:Co,titleName:Oo,docsSlug:"dialog"}),Bo=({titleId:e})=>{const t=$o(Fo),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return s.useEffect(()=>{if(e){document.getElementById(e)||console.error(r)}},[r,e]),null},Wo=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${$o("DialogDescriptionWarning").contentName}}.`;return s.useEffect(()=>{const n=e.current?.getAttribute("aria-describedby");if(t&&n){document.getElementById(t)||console.warn(r)}},[r,e,t]),null},Ho=go,Uo=xo,Vo=ko,qo=So,Go=Mo,Ko=Io,Yo=Do;
|
|
2
|
+
/**
|
|
3
|
+
* @license lucide-react v0.525.0 - ISC
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the ISC license.
|
|
6
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
const Zo=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},Xo=(...e)=>e.filter((e,t,r)=>Boolean(e)&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),Jo=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};
|
|
9
|
+
/**
|
|
10
|
+
* @license lucide-react v0.525.0 - ISC
|
|
11
|
+
*
|
|
12
|
+
* This source code is licensed under the ISC license.
|
|
13
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
14
|
+
*/
|
|
15
|
+
var Qo={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};
|
|
16
|
+
/**
|
|
17
|
+
* @license lucide-react v0.525.0 - ISC
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the ISC license.
|
|
20
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/const ea=e.forwardRef(({color:t="currentColor",size:r=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:a="",children:s,iconNode:i,...c},l)=>e.createElement("svg",{ref:l,...Qo,width:r,height:r,stroke:t,strokeWidth:o?24*Number(n)/Number(r):n,className:Xo("lucide",a),...!s&&!Jo(c)&&{"aria-hidden":"true"},...c},[...i.map(([t,r])=>e.createElement(t,r)),...Array.isArray(s)?s:[s]])),ta=(t,r)=>{const n=e.forwardRef(({className:n,...o},a)=>{return e.createElement(ea,{ref:a,iconNode:r,className:Xo(`lucide-${s=Zo(t),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${t}`,n),...o});var s});return n.displayName=Zo(t),n},ra=ta("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),na=ta("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),oa=ta("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),aa=ta("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),sa=ta("credit-card",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]),ia=ta("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),ca=ta("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),la=ta("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),ua=Ho,da=Uo,ma=s.forwardRef(({className:e,...t},r)=>s.createElement(Vo,J({ref:r,className:bt("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e)},t)));
|
|
22
|
+
/**
|
|
23
|
+
* @license lucide-react v0.525.0 - ISC
|
|
24
|
+
*
|
|
25
|
+
* This source code is licensed under the ISC license.
|
|
26
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
+
*/ma.displayName=Vo.displayName;const fa=s.forwardRef(({className:e,children:t,...r},n)=>s.createElement(da,null,s.createElement(ma,null),s.createElement(qo,J({ref:n,className:bt("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg",e)},r),t,s.createElement(Yo,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"},s.createElement(la,{className:"h-4 w-4"}),s.createElement("span",{className:"sr-only"},"Close")))));fa.displayName=qo.displayName;const pa=({className:e,...t})=>s.createElement("div",J({className:bt("flex flex-col space-y-1.5 text-center sm:text-left",e)},t));pa.displayName="DialogHeader";const ha=({className:e,...t})=>s.createElement("div",J({className:bt("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e)},t));ha.displayName="DialogFooter";const ga=s.forwardRef(({className:e,...t},r)=>s.createElement(Go,J({ref:r,className:bt("text-lg font-semibold leading-none tracking-tight",e)},t)));ga.displayName=Go.displayName;const va=s.forwardRef(({className:e,...t},r)=>s.createElement(Ko,J({ref:r,className:bt("text-sm text-muted-foreground",e)},t)));va.displayName=Ko.displayName;const ba=de("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),ya=s.forwardRef(({className:e,variant:t,...r},n)=>s.createElement("div",J({ref:n,role:"alert",className:bt(ba({variant:t}),e)},r)));ya.displayName="Alert";s.forwardRef(({className:e,...t},r)=>s.createElement("h5",J({ref:r,className:bt("mb-1 font-medium leading-none tracking-tight",e)},t))).displayName="AlertTitle";const wa=s.forwardRef(({className:e,...t},r)=>s.createElement("div",J({ref:r,className:bt("text-sm [&_p]:leading-relaxed",e)},t)));function xa({userId:t,onSuccess:r,onCancel:n,createSetupIntent:o}){const a=G("calls useStripe()").stripe,s=V(),[i,c]=e.useState(!1),[l,u]=e.useState(null),[d,m]=e.useState(!1);return d?React.createElement("div",{className:"text-center py-8"},React.createElement(oa,{className:"h-12 w-12 text-green-500 mx-auto mb-4"}),React.createElement("p",{className:"text-lg font-medium"},"Payment method added successfully!"),React.createElement("p",{className:"text-sm text-muted-foreground mt-2"},"Redirecting...")):React.createElement("form",{onSubmit:async e=>{if(e.preventDefault(),a&&s){c(!0),u(null);try{const{client_secret:e}=await o(t);if(!e)throw new Error("Failed to create setup intent");const n=await a.confirmCardSetup(e,{payment_method:{card:s.getElement(X)}});n.error?u(n.error.message||"An error occurred"):(m(!0),setTimeout(()=>{r&&r()},2e3))}catch(e){u(e instanceof Error?e.message:"An error occurred")}finally{c(!1)}}},className:"space-y-6"},React.createElement("div",null,React.createElement("label",{className:"block text-sm font-medium mb-2"},"Card Details"),React.createElement("div",{className:"border rounded-md p-3 bg-background"},React.createElement(X,{options:{style:{base:{fontSize:"16px",color:"#fff","::placeholder":{color:"#999"}}}}}))),l&&React.createElement(ya,{variant:"destructive"},React.createElement(wa,null,l)),React.createElement("div",{className:"flex gap-2"},React.createElement(wt,{type:"button",variant:"outline",onClick:n,disabled:i,className:"flex-1"},"Cancel"),React.createElement(wt,{type:"submit",disabled:!a||i,className:"flex-1"},i&&React.createElement(ca,{className:"mr-2 h-4 w-4 animate-spin"}),i?"Processing...":"Add Payment Method")))}wa.displayName="AlertDescription";var Ea="Radio",[ka,Ra]=jt(Ea),[Na,Ca]=ka(Ea),Sa=s.forwardRef((e,t)=>{const{__scopeRadio:n,name:o,checked:a=!1,required:i,disabled:c,value:l="on",onCheck:u,form:d,...m}=e,[f,p]=s.useState(null),h=te(t,e=>p(e)),g=s.useRef(!1),v=!f||(d||!!f.closest("form"));return r.jsxs(Na,{scope:n,checked:a,disabled:c,children:[r.jsx(Ot.button,{type:"button",role:"radio","aria-checked":a,"data-state":Oa(a),"data-disabled":c?"":void 0,disabled:c,value:l,...m,ref:h,onClick:Yt(e.onClick,e=>{a||u?.(),v&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})}),v&&r.jsx(Pa,{control:f,bubbles:!g.current,name:o,value:l,checked:a,required:i,disabled:c,form:d,style:{transform:"translateX(-100%)"}})]})});Sa.displayName=Ea;var _a="RadioIndicator",ja=s.forwardRef((e,t)=>{const{__scopeRadio:n,forceMount:o,...a}=e,s=Ca(_a,n);return r.jsx(kr,{present:o||s.checked,children:r.jsx(Ot.span,{"data-state":Oa(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:t})})});ja.displayName=_a;var Pa=s.forwardRef(({__scopeRadio:e,control:t,checked:n,bubbles:o=!0,...a},i)=>{const c=s.useRef(null),l=te(c,i),u=function(e){const t=s.useRef({value:e,previous:e});return s.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}(n),d=function(e){const[t,r]=s.useState(void 0);return Zt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver(t=>{if(!Array.isArray(t))return;if(!t.length)return;const n=t[0];let o,a;if("borderBoxSize"in n){const e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;o=t.inlineSize,a=t.blockSize}else o=e.offsetWidth,a=e.offsetHeight;r({width:o,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}(t);return s.useEffect(()=>{const e=c.current;if(!e)return;const t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,"checked").set;if(u!==n&&r){const t=new Event("click",{bubbles:o});r.call(e,n),e.dispatchEvent(t)}},[u,n,o]),r.jsx(Ot.input,{type:"radio","aria-hidden":!0,defaultChecked:n,...a,tabIndex:-1,ref:l,style:{...a.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function Oa(e){return e?"checked":"unchecked"}Pa.displayName="RadioBubbleInput";var Ma=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Aa="RadioGroup",[Ia,La]=jt(Aa,[mr,Ra]),Da=mr(),Ta=Ra(),[Fa,za]=Ia(Aa),$a=s.forwardRef((e,t)=>{const{__scopeRadioGroup:n,name:o,defaultValue:a,value:s,required:i=!1,disabled:c=!1,orientation:l,dir:u,loop:d=!0,onValueChange:m,...f}=e,p=Da(n),h=or(u),[g,v]=rr({prop:s,defaultProp:a??null,onChange:m,caller:Aa});return r.jsx(Fa,{scope:n,name:o,required:i,disabled:c,value:g,onValueChange:v,children:r.jsx(xr,{asChild:!0,...p,orientation:l,dir:h,loop:d,children:r.jsx(Ot.div,{role:"radiogroup","aria-required":i,"aria-orientation":l,"data-disabled":c?"":void 0,dir:h,...f,ref:t})})})});$a.displayName=Aa;var Ba="RadioGroupItem",Wa=s.forwardRef((e,t)=>{const{__scopeRadioGroup:n,disabled:o,...a}=e,i=za(Ba,n),c=i.disabled||o,l=Da(n),u=Ta(n),d=s.useRef(null),m=te(t,d),f=i.value===a.value,p=s.useRef(!1);return s.useEffect(()=>{const e=e=>{Ma.includes(e.key)&&(p.current=!0)},t=()=>p.current=!1;return document.addEventListener("keydown",e),document.addEventListener("keyup",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}},[]),r.jsx(Er,{asChild:!0,...l,focusable:!c,active:f,children:r.jsx(Sa,{disabled:c,required:i.required,checked:f,...u,...a,name:i.name,ref:m,onCheck:()=>i.onValueChange(a.value),onKeyDown:Yt(e=>{"Enter"===e.key&&e.preventDefault()}),onFocus:Yt(a.onFocus,()=>{p.current&&d.current?.click()})})})});Wa.displayName=Ba;var Ha=s.forwardRef((e,t)=>{const{__scopeRadioGroup:n,...o}=e,a=Ta(n);return r.jsx(ja,{...a,...o,ref:t})});Ha.displayName="RadioGroupIndicator";var Ua=$a,Va=Wa,qa=Ha;const Ga=s.forwardRef(({className:e,...t},r)=>s.createElement(Ua,J({className:bt("grid gap-2",e)},t,{ref:r})));Ga.displayName=Ua.displayName;const Ka=s.forwardRef(({className:e,...t},r)=>s.createElement(Va,J({ref:r,className:bt("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e)},t),s.createElement(qa,{className:"flex items-center justify-center"},s.createElement(aa,{className:"h-2.5 w-2.5 fill-current text-current"}))));Ka.displayName=Va.displayName;var Ya=s.forwardRef((e,t)=>r.jsx(Ot.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Ya.displayName="Label";var Za=Ya;function Xa({className:e,...t}){return s.createElement(Za,J({"data-slot":"label",className:bt("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e)},t))}function Ja({brand:t,className:r="w-8 h-5"}){const n=t?.toLowerCase();switch(n){case"visa":return e.createElement("svg",{className:r,viewBox:"0 0 48 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("rect",{width:"48",height:"32",rx:"4",fill:"#1A1F71"}),e.createElement("path",{d:"M20.5 22H17.5L19.5 10H22.5L20.5 22Z",fill:"white"}),e.createElement("path",{d:"M31.5 10.5L29 17.5L28.5 15.5L27.5 11C27.5 11 27.5 10 26.5 10H22L22 10.5C22 10.5 23.5 11 25 12L28 22H31L36 10H33L31.5 10.5Z",fill:"white"}),e.createElement("path",{d:"M37 10C36 10 35.5 10.5 35.5 10.5L31.5 19.5L32 22H35L35.5 20.5H39L39.5 22H42L40 10H37ZM36 18L37.5 13.5L38.5 18H36Z",fill:"white"}),e.createElement("path",{d:"M16 11L16.5 10H11.5C10.5 10 10 10.5 10 11L8 20C8 20 8.5 21.5 9.5 22C10.5 22.5 12 22.5 13 22C14 21.5 15 21 15.5 20C16 19 16 18.5 16 18C16 17.5 15.5 17 15 17C14.5 16.5 13.5 16.5 12.5 16.5H11.5L12 14H15L14.5 12H11.5L12 11H16Z",fill:"white"}));case"mastercard":return e.createElement("svg",{className:r,viewBox:"0 0 48 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("rect",{width:"48",height:"32",rx:"4",fill:"#1E293B"}),e.createElement("circle",{cx:"19",cy:"16",r:"7",fill:"#EB001B"}),e.createElement("circle",{cx:"29",cy:"16",r:"7",fill:"#F79E1B"}),e.createElement("path",{d:"M24 10.5C25.5 12 26.5 14 26.5 16C26.5 18 25.5 20 24 21.5C22.5 20 21.5 18 21.5 16C21.5 14 22.5 12 24 10.5Z",fill:"#FF5F00"}));case"amex":case"american express":return e.createElement("svg",{className:r,viewBox:"0 0 48 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("rect",{width:"48",height:"32",rx:"4",fill:"#2E7BC4"}),e.createElement("path",{d:"M12 12H15L16 14L17 12H20V18H18V14L16 18H16L14 14V18H12V12Z",fill:"white"}),e.createElement("path",{d:"M21 12H27V14H23V15H27V16H23V17H27V18H21V12Z",fill:"white"}),e.createElement("path",{d:"M28 12H31L33 14L35 12H38L35 15L38 18H35L33 16L31 18H28L31 15L28 12Z",fill:"white"}));case"discover":return e.createElement("svg",{className:r,viewBox:"0 0 48 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("rect",{width:"48",height:"32",rx:"4",fill:"#F47216"}),e.createElement("circle",{cx:"29",cy:"16",r:"7",fill:"#FCFCFC"}));case"diners":case"diners club":return e.createElement("svg",{className:r,viewBox:"0 0 48 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("rect",{width:"48",height:"32",rx:"4",fill:"#0079BE"}),e.createElement("circle",{cx:"24",cy:"16",r:"8",fill:"white"}),e.createElement("circle",{cx:"20",cy:"16",r:"5",fill:"#0079BE"}),e.createElement("circle",{cx:"28",cy:"16",r:"5",fill:"#0079BE"}));case"jcb":return e.createElement("svg",{className:r,viewBox:"0 0 48 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("rect",{width:"48",height:"32",rx:"4",fill:"white"}),e.createElement("rect",{x:"8",y:"8",width:"8",height:"16",rx:"2",fill:"#0E4C96"}),e.createElement("rect",{x:"20",y:"8",width:"8",height:"16",rx:"2",fill:"#EE0005"}),e.createElement("rect",{x:"32",y:"8",width:"8",height:"16",rx:"2",fill:"#00A650"}));case"unionpay":return e.createElement("svg",{className:r,viewBox:"0 0 48 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("rect",{width:"48",height:"32",rx:"4",fill:"#005BAC"}),e.createElement("rect",{x:"16",y:"8",width:"16",height:"16",fill:"#E60012"}));default:return e.createElement("div",{className:`${r} bg-slate-200 dark:bg-slate-800 rounded flex items-center justify-center`},e.createElement("span",{className:"text-xs font-bold uppercase"},n||"card"))}}function Qa({isOpen:t,onClose:r,plan:n,currentPlan:o,paymentMethods:a,userId:s,onSuccess:i,createSubscription:c}){const[l,u]=e.useState(a?.find(e=>e.is_default)?.stripe_payment_method_id||a?.[0]?.stripe_payment_method_id||""),[d,m]=e.useState(!1),[f,p]=e.useState(null),[h,g]=e.useState(!1),v=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"usd"}).format(e/100);if(!n)return null;const b=n?.prices?.[0],y=b&&0===parseFloat(b.unit_amount),w=o&&b&&parseFloat(b.unit_amount)<parseFloat(o.prices[0].unit_amount);return h?React.createElement(ua,{open:t,onOpenChange:r},React.createElement(fa,null,React.createElement("div",{className:"text-center py-8"},React.createElement(oa,{className:"h-12 w-12 text-green-500 mx-auto mb-4"}),React.createElement("h3",{className:"text-lg font-medium"},"Subscription Successful!"),React.createElement("p",{className:"text-sm text-muted-foreground mt-2"},"You have been successfully subscribed to ",n.name)))):React.createElement(ua,{open:t,onOpenChange:r},React.createElement(fa,{className:"sm:max-w-md"},React.createElement(pa,null,React.createElement(ga,null,"Confirm Subscription"),React.createElement(va,null,o?"You are about to change your subscription plan":"You are about to subscribe to a new plan")),React.createElement("div",{className:"space-y-4"},React.createElement(xt,{className:"p-4"},React.createElement("h4",{className:"font-medium mb-2"},n.name),React.createElement("p",{className:"text-2xl font-bold mb-2"},y?"Free":v(100*parseFloat(b.unit_amount)),!y&&React.createElement("span",{className:"text-sm font-normal text-muted-foreground"},"/month")),React.createElement("ul",{className:"space-y-1"},n.features?.map(e=>React.createElement("li",{key:e.id,className:"flex items-start text-sm"},React.createElement(ra,{className:"h-4 w-4 mr-2 text-primary mt-0.5 flex-shrink-0"}),React.createElement("span",null,e.value," ",e.units," - ",e.description))))),!y&&a?.length>0&&React.createElement("div",{className:"space-y-3"},React.createElement(Xa,null,"Payment Method"),React.createElement(Ga,{value:l,onValueChange:u},a.map(e=>React.createElement("div",{key:e.id,className:"flex items-center space-x-3"},React.createElement(Ka,{value:e.stripe_payment_method_id,id:e.id.toString()}),React.createElement(Xa,{htmlFor:e.id.toString(),className:"flex items-center gap-3 cursor-pointer flex-1"},React.createElement(Ja,{brand:e.brand,className:"w-12 h-8"}),React.createElement("span",{className:"font-medium"},"•••• ",e.last4),e.is_default&&React.createElement("span",{className:"text-xs text-muted-foreground"},"(Default)")))))),!y&&React.createElement(ya,null,React.createElement(na,{className:"h-4 w-4"}),React.createElement(wa,null,"You will be charged ",v(100*parseFloat(b.unit_amount))," immediately upon confirmation.",w&&" Refunds for downgrades will be prorated and applied to your next invoice.")),f&&React.createElement(ya,{variant:"destructive"},React.createElement(wa,null,f))),React.createElement(ha,{className:"gap-2"},React.createElement(wt,{variant:"outline",onClick:r,disabled:d},"Cancel"),React.createElement(wt,{onClick:async()=>{m(!0),p(null);try{const e=n.prices[0].stripe_price_id,t=0===parseFloat(n.prices[0].unit_amount),o=await c(s,e,t?"":l);o.success?(g(!0),setTimeout(()=>{i(),r()},2e3)):p(o.error||"Failed to create subscription")}catch(e){p(e instanceof Error?e.message:"An error occurred")}finally{m(!1)}},disabled:d||!y&&!l},d&&React.createElement(ca,{className:"mr-2 h-4 w-4 animate-spin"}),d?"Processing...":"Confirm Subscription"))))}const es=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];y=!0;var n=Date.now();return w().then(function(e){return function(e,t,r){if(null===e)return null;var n=t[0].match(/^pk_test/),o=function(e){return 3===e?"v3":e}(e.version),a=c;n&&o!==a&&console.warn("Stripe.js@".concat(o," was loaded on the page, but @stripe/stripe-js@").concat("7.4.0"," expected Stripe.js@").concat(a,". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));var s=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"7.4.0",startTime:t})}(s,r),s}(e,t,n)})}(process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY||"");function ts({customerData:r,pricingData:n,paymentMethods:o,apiUrl:a,apiKey:s}){const[i,c]=e.useState(!1),[l,u]=e.useState(!1),[d,m]=e.useState(!1),[f,p]=e.useState(null),[h,g]=e.useState("overview"),v=t.useRouter(),b=r?.subscriptions?.[0],y=b?.items?.[0],w=r?.usage,x=r?.invoices||[],E=n?.products?.find(e=>e.prices?.some(e=>e.id===y?.price_id)),k=E?.prices?.find(e=>e.id===y?.price_id),R=e=>("string"==typeof e?new Date(e):new Date(1e3*e)).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),N=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"usd"}).format(e/100),C=async e=>{c(!0);try{await async function(e,t,r){const n=await fetch(`${t}/billing/payment-methods/${e}/default`,{method:"POST",headers:{"x-api-key":r,"Content-Type":"application/json"}});if(!n.ok)throw new Error("Failed to set default payment method");return await n.json()}(e,a,s),v.refresh()}catch(e){console.error("Failed to set default payment method:",e)}finally{c(!1)}},S=async e=>{if(confirm("Are you sure you want to delete this payment method?")){c(!0);try{await async function(e,t,r){const n=await fetch(`${t}/billing/payment-methods/${e}`,{method:"DELETE",headers:{"x-api-key":r,"Content-Type":"application/json"}});if(!n.ok)throw new Error("Failed to delete payment method");return await n.json()}(e,a,s),v.refresh()}catch(e){console.error("Failed to delete payment method:",e)}finally{c(!1)}}};return React.createElement(React.Fragment,null,React.createElement("div",{className:"space-y-6"},React.createElement("div",null,React.createElement("h3",{className:"text-lg font-medium"},"Billing"),React.createElement("p",{className:"text-sm text-muted-foreground"},"Manage your subscription and billing information.")),React.createElement(Ur,{value:h,onValueChange:g,className:"space-y-4"},React.createElement(Vr,null,React.createElement(qr,{value:"overview"},"Overview"),React.createElement(qr,{value:"usage"},"Usage"),React.createElement(qr,{value:"plans"},"Plans"),React.createElement(qr,{value:"billing-history"},"Billing History")),React.createElement(Gr,{value:"overview",className:"space-y-4"},React.createElement(xt,null,React.createElement(Et,null,React.createElement(kt,null,"Current Plan"),React.createElement(Rt,null,E?`You are currently on the ${E.name}`:"No active subscription")),React.createElement(Nt,null,b?React.createElement("div",{className:"flex items-center justify-between"},React.createElement("div",null,React.createElement("p",{className:"text-2xl font-bold"},k?N(100*parseFloat(k.unit_amount)):"Active","/month"),React.createElement("p",{className:"text-sm text-muted-foreground"},"Next billing date: ",R(b.current_period_end)),b.cancel_at_period_end&&React.createElement("p",{className:"text-sm text-destructive mt-2"},React.createElement(na,{className:"inline h-4 w-4 mr-1"}),"Subscription will cancel at the end of the billing period")),React.createElement("div",{className:"space-x-2"},React.createElement(wt,{variant:"outline",onClick:()=>g("plans")},"Change Plan"),!b.cancel_at_period_end&&React.createElement(wt,{variant:"outline",onClick:async()=>{if(b?.id&&confirm("Are you sure you want to cancel your subscription? You will continue to have access until the end of your billing period.")){c(!0);try{await async function(e,t,r){const n=await fetch(`${t}/billing/subscriptions/${e}`,{method:"DELETE",headers:{"x-api-key":r,"Content-Type":"application/json"}});if(!n.ok)throw new Error("Failed to cancel subscription");return await n.json()}(b.id,a,s),v.refresh()}catch(e){console.error("Failed to cancel subscription:",e)}finally{c(!1)}}},disabled:i},i&&React.createElement(ca,{className:"mr-2 h-4 w-4 animate-spin"}),"Cancel Subscription"))):React.createElement("div",{className:"text-center py-6"},React.createElement("p",{className:"text-muted-foreground mb-4"},"You don't have an active subscription"),React.createElement(wt,{onClick:()=>g("plans")},"Choose a Plan")))),React.createElement(xt,null,React.createElement(Et,null,React.createElement(kt,null,"Payment Methods"),React.createElement(Rt,null,"Manage your payment information")),React.createElement(Nt,{className:"space-y-4"},o?.paymentMethods?.length>0?React.createElement("div",{className:"space-y-3"},o.paymentMethods.map(e=>React.createElement("div",{key:e.id,className:"flex items-center justify-between p-4 border rounded-lg"},React.createElement("div",{className:"flex items-center gap-4"},React.createElement(Ja,{brand:e.brand,className:"w-16 h-10"}),React.createElement("div",{className:"flex-1"},React.createElement("p",{className:"font-medium"},"•••• •••• •••• ",e.last4),React.createElement("p",{className:"text-sm text-muted-foreground"},"Expires ",e.exp_month,"/",e.exp_year)),e.is_default&&React.createElement(_t,{variant:"secondary"},"Default")),React.createElement("div",{className:"flex items-center gap-2 ml-4"},!e.is_default&&React.createElement(wt,{variant:"outline",size:"sm",onClick:()=>C(e.stripe_payment_method_id),disabled:i},"Set as Default"),React.createElement(wt,{variant:"outline",size:"sm",onClick:()=>S(e.stripe_payment_method_id),disabled:i},"Remove"))))):React.createElement("div",{className:"text-center py-6"},React.createElement("p",{className:"text-muted-foreground mb-4"},"No payment methods on file"))),React.createElement(Ct,null,React.createElement(wt,{className:"w-full",onClick:()=>u(!0)},React.createElement(sa,{className:"mr-2 h-4 w-4"}),"Add Payment Method")))),React.createElement(Gr,{value:"usage",className:"space-y-4"},React.createElement(xt,null,React.createElement(Et,null,React.createElement(kt,null,"Current Usage"),React.createElement(Rt,null,"Your resource usage for the current billing period")),React.createElement(Nt,{className:"space-y-6"},w?.data?.map(e=>{const t="number"==typeof e.limit?Math.min(e.current_usage/e.limit*100,100):0;return React.createElement("div",{key:e.feature_key,className:"space-y-3"},React.createElement("div",{className:"flex items-center justify-between text-sm"},React.createElement("span",null,e.feature_details.description),React.createElement("span",{className:"font-medium"},"number"==typeof e.limit?`${e.current_usage.toLocaleString()} / ${e.limit.toLocaleString()}`:e.current_usage,e.feature_details.units&&` ${e.feature_details.units}`)),"number"==typeof e.limit&&React.createElement(React.Fragment,null,React.createElement(Kt,{value:t,className:"h-2 "+(e.within_limit?"":"bg-destructive")}),React.createElement("p",{className:"text-xs text-muted-foreground"},e.within_limit?`${Math.max(0,e.limit-e.current_usage).toLocaleString()} ${e.feature_details.units||""} remaining`:`${(e.current_usage-e.limit).toLocaleString()} ${e.feature_details.units||""} over limit`)))})),React.createElement(Ct,null,React.createElement("p",{className:"text-sm text-muted-foreground"},"Usage resets on ",b?R(b.current_period_end):"N/A",". Need more resources? Consider upgrading your plan.")))),React.createElement(Gr,{value:"plans",className:"space-y-4"},React.createElement("div",{className:"grid gap-4 md:grid-cols-3"},n?.products?.map(e=>{const t=e.prices?.[0],r=e.features||[],n=y?.price_id===t?.id;return React.createElement(xt,{key:e.id,className:n?"border-primary":""},React.createElement(Et,null,React.createElement("div",{className:"flex items-center justify-between"},React.createElement(kt,null,e.name),n&&React.createElement(_t,null,"Current"),"true"===e.metadata?.popular&&!n&&React.createElement(_t,{variant:"secondary"},"Popular")),React.createElement(Rt,null,e.description)),React.createElement(Nt,null,React.createElement("div",{className:"text-3xl font-bold mb-4"},0===parseFloat(t?.unit_amount)?"Free":N(100*parseFloat(t?.unit_amount)),parseFloat(t?.unit_amount)>0&&React.createElement("span",{className:"text-sm font-normal"},"/month")),React.createElement("ul",{className:"space-y-2"},r.map(e=>React.createElement("li",{key:e.id,className:"flex items-center"},React.createElement(ra,{className:"h-4 w-4 mr-2 text-primary"}),React.createElement("span",{className:"text-sm"},e.value," ",e.units," - ",e.description))))),React.createElement(Ct,null,React.createElement(wt,{className:"w-full",variant:n?"outline":"default",disabled:n,onClick:()=>!n&&(e=>{const t=e.prices?.[0];if(!(t&&0===parseFloat(t.unit_amount)||o?.paymentMethods&&0!==o.paymentMethods.length))return g("overview"),void u(!0);p(e),m(!0)})(e)},n?"Current Plan":0===parseFloat(t?.unit_amount)?"Get Started":"Upgrade")))}))),React.createElement(Gr,{value:"billing-history",className:"space-y-4"},React.createElement(xt,null,React.createElement(Et,null,React.createElement(kt,null,"Billing History"),React.createElement(Rt,null,"Download your past invoices")),React.createElement(Nt,null,React.createElement("div",{className:"space-y-4"},x.length>0?x.map(e=>React.createElement("div",{key:e.id,className:"flex items-center justify-between p-4 border rounded-lg"},React.createElement("div",{className:"flex items-center space-x-4"},React.createElement(ia,{className:"h-8 w-8 text-muted-foreground"}),React.createElement("div",null,React.createElement("p",{className:"font-medium"},"Invoice #",e.id.slice(-8).toUpperCase()),React.createElement("p",{className:"text-sm text-muted-foreground"},R(e.created)))),React.createElement("div",{className:"flex items-center space-x-4"},React.createElement("div",{className:"text-right"},React.createElement("p",{className:"font-medium"},N(e.amount_paid)),React.createElement("p",{className:"text-sm text-muted-foreground capitalize"},e.status)),React.createElement(wt,{variant:"outline",size:"sm",onClick:()=>window.open(e.invoice_pdf||e.hosted_invoice_url,"_blank")},React.createElement(ia,{className:"h-4 w-4 mr-2"}),"Download")))):React.createElement("div",{className:"text-center py-12"},React.createElement(ia,{className:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),React.createElement("p",{className:"text-muted-foreground"},"No invoices yet")))))))),React.createElement(ua,{open:l,onOpenChange:u},React.createElement(fa,null,React.createElement(pa,null,React.createElement(ga,null,"Add Payment Method"),React.createElement(va,null,"Add a new payment method to your account. Your card information is securely processed by Stripe.")),React.createElement(U,{stripe:es},React.createElement(xa,{userId:String(r?.id||""),onSuccess:()=>{u(!1),v.refresh()},onCancel:()=>u(!1),createSetupIntent:async e=>await async function(e,t,r){const n=await fetch(`${t}/billing/setup-intent`,{method:"POST",headers:{"x-api-key":r,"Content-Type":"application/json"},body:JSON.stringify({user_id:e})});if(!n.ok)throw new Error("Failed to create setup intent");return await n.json()}(e,a,s)})))),React.createElement(Qa,{isOpen:d,onClose:()=>m(!1),plan:f,currentPlan:E,paymentMethods:o?.paymentMethods||[],userId:String(r?.id||""),onSuccess:()=>{m(!1),p(null),v.refresh(),g("overview")},createSubscription:async(e,t,r)=>await async function(e,t,r,n,o){try{const a=await fetch(`${n}/billing/subscriptions`,{method:"POST",headers:{"x-api-key":o,"Content-Type":"application/json"},body:JSON.stringify({user_id:e,price_id:t,payment_method_id:r})});if(!a.ok){const e=await a.json();throw new Error(e.error||"Failed to create subscription")}return{success:!0}}catch(e){return{success:!1,error:e instanceof Error?e.message:"An error occurred"}}}(e,t,r,a,s)}))}async function rs(e,t,r){try{const n=await fetch(`${t}/billing/customers/${e}`,{headers:{"x-api-key":r,"Content-Type":"application/json"},cache:"no-store"});if(!n.ok)throw new Error("Failed to fetch customer data");return(await n.json()).customer}catch(e){return console.error("Error fetching customer data:",e),null}}async function ns(e,t,r){try{const n=await fetch(`${t}/billing/prices?project_id=${e}`,{headers:{"x-api-key":r,"Content-Type":"application/json"},cache:"no-store"});if(!n.ok)throw new Error("Failed to fetch pricing data");return await n.json()}catch(e){return console.error("Error fetching pricing data:",e),null}}async function os(e,t,r){try{const n=await fetch(`${t}/billing/payment-methods?user_id=${e}`,{headers:{"x-api-key":r,"Content-Type":"application/json"},cache:"no-store"});if(!n.ok)throw new Error("Failed to fetch payment methods");return await n.json()}catch(e){return console.error("Error fetching payment methods:",e),null}}exports.Billing=async function({userId:e,apiUrl:t=process.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",apiKey:r=process.env.API_KEY||"",projectId:n=process.env.NEXT_PUBLIC_API_PROJECT||""}){if(!e)return console.error("Billing component: userId is required"),React.createElement("div",null,"Error: User ID is required");let o=null,a=null,s=null;try{const[i,c,l]=await Promise.all([rs(e,t,r),ns(n,t,r),os(e,t,r)]);o=i,a=c,s=i?.payment_methods?{paymentMethods:i.payment_methods}:l}catch(e){return console.error("Error fetching billing data:",e),React.createElement("div",{className:"p-6 text-center"},React.createElement("p",{className:"text-red-600"},"Failed to load billing information. Please try again later."))}return React.createElement(ts,{customerData:o,pricingData:a,paymentMethods:s,apiUrl:t,apiKey:r})},exports.BillingClient=ts;
|
|
28
|
+
//# sourceMappingURL=index.js.map
|