@neosianexus/super-tebex 1.1.5 → 2.0.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/README.md CHANGED
@@ -1 +1,471 @@
1
1
  # @neosia-core/super-tebex
2
+
3
+ SDK Tebex permettant une intégration facile dans un environnement React/Next.js. Cette bibliothèque fournit des hooks React et des stores Zustand pour gérer facilement les catégories, paniers et la création de commandes Tebex.
4
+
5
+ ## 📦 Installation
6
+
7
+ ```bash
8
+ npm install @neosia-core/super-tebex
9
+ # ou
10
+ yarn add @neosia-core/super-tebex
11
+ # ou
12
+ pnpm add @neosia-core/super-tebex
13
+ ```
14
+
15
+ ### Peer Dependencies
16
+
17
+ Cette bibliothèque nécessite les dépendances suivantes :
18
+
19
+ - `react` ^18.3.1
20
+ - `react-dom` ^18.3.1
21
+ - `zustand` ^5.0.6
22
+ - `sonner` ^2.0.6
23
+ - `tebex_headless` ^1.15.1
24
+
25
+ ```bash
26
+ npm install zustand sonner tebex_headless
27
+ ```
28
+
29
+ ## 🚀 Initialisation dans Next.js
30
+
31
+ ### 1. Configuration initiale
32
+
33
+ Créez un fichier de configuration (ex: `lib/tebex.ts`) :
34
+
35
+ ```typescript
36
+ import { initTebex, initShopUrls } from '@neosia-core/super-tebex';
37
+
38
+ // Initialiser Tebex avec votre clé publique
39
+ export function initializeTebex() {
40
+ const publicKey = process.env.NEXT_PUBLIC_TEBEX_PUBLIC_KEY;
41
+
42
+ if (!publicKey) {
43
+ throw new Error('NEXT_PUBLIC_TEBEX_PUBLIC_KEY is not defined');
44
+ }
45
+
46
+ // Initialiser l'instance Tebex
47
+ initTebex(publicKey);
48
+
49
+ // Initialiser les URLs du shop (utilisées pour la création de panier)
50
+ const baseUrl = process.env.NEXT_PUBLIC_BASE_URL || 'https://votre-domaine.com';
51
+
52
+ initShopUrls(baseUrl, {
53
+ complete: '/shop/complete-purchase', // Optionnel, défaut: /shop/complete-purchase
54
+ cancel: '/shop/cancel-purchase', // Optionnel, défaut: /shop/cancel-purchase
55
+ });
56
+ }
57
+ ```
58
+
59
+ ### 2. Initialisation dans `app/layout.tsx` (App Router)
60
+
61
+ ```typescript
62
+ import { useEffect } from 'react';
63
+ import { Toaster } from 'sonner';
64
+ import { initializeTebex } from '@/lib/tebex';
65
+
66
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
67
+ useEffect(() => {
68
+ initializeTebex();
69
+ }, []);
70
+
71
+ return (
72
+ <html lang="fr">
73
+ <body>
74
+ {children}
75
+ <Toaster position="top-right" />
76
+ </body>
77
+ </html>
78
+ );
79
+ }
80
+ ```
81
+
82
+ ### 3. Initialisation dans `pages/_app.tsx` (Pages Router)
83
+
84
+ ```typescript
85
+ import type { AppProps } from 'next/app';
86
+ import { useEffect } from 'react';
87
+ import { Toaster } from 'sonner';
88
+ import { initializeTebex } from '@/lib/tebex';
89
+
90
+ export default function App({ Component, pageProps }: AppProps) {
91
+ useEffect(() => {
92
+ initializeTebex();
93
+ }, []);
94
+
95
+ return (
96
+ <>
97
+ <Component {...pageProps} />
98
+ <Toaster position="top-right" />
99
+ </>
100
+ );
101
+ }
102
+ ```
103
+
104
+ ## 📚 Hooks disponibles
105
+
106
+ ### `useBasket`
107
+
108
+ Hook principal pour gérer le panier d'achat.
109
+
110
+ ```typescript
111
+ import { useBasket } from '@neosia-core/super-tebex';
112
+
113
+ function BasketComponent() {
114
+ // Le username peut venir du store global ou être passé directement
115
+ const username = useShopUserStore(s => s.username);
116
+ const { basket, loading, error, addPackageToBasket, removePackageFromBasket, refetch } = useBasket(username);
117
+
118
+ if (loading) {
119
+ return <div>Chargement du panier...</div>;
120
+ }
121
+
122
+ if (error) {
123
+ return <div>Erreur: {error.message}</div>;
124
+ }
125
+
126
+ if (!basket) {
127
+ return <div>Votre panier est vide</div>;
128
+ }
129
+
130
+ return (
131
+ <div>
132
+ <h2>Votre panier</h2>
133
+ <ul>
134
+ {basket.packages.map(pkg => (
135
+ <li key={pkg.id}>
136
+ {pkg.name} - Quantité: {pkg.in_basket.quantity}
137
+ <button onClick={() => removePackageFromBasket(pkg.id)}>
138
+ Supprimer
139
+ </button>
140
+ </li>
141
+ ))}
142
+ </ul>
143
+ <button onClick={() => addPackageToBasket(123, 1)}>
144
+ Ajouter un article
145
+ </button>
146
+ </div>
147
+ );
148
+ }
149
+ ```
150
+
151
+ #### API
152
+
153
+ ```typescript
154
+ interface UseBasketResult {
155
+ basket: Basket | null; // Panier actuel
156
+ loading: boolean; // État de chargement
157
+ error: Error | null; // Erreur éventuelle
158
+ addPackageToBasket: (
159
+ packageId: number,
160
+ quantity?: number,
161
+ type?: PackageType,
162
+ variableData?: Record<string, string>
163
+ ) => Promise<void>;
164
+ removePackageFromBasket: (packageId: number) => Promise<void>;
165
+ updateManualBasket: (basket: Basket | null) => void;
166
+ refetch: () => Promise<void>;
167
+ }
168
+ ```
169
+
170
+ ### `useCategories`
171
+
172
+ Hook pour récupérer et gérer les catégories de produits.
173
+
174
+ ```typescript
175
+ import { useCategories } from '@neosia-core/super-tebex';
176
+
177
+ function CategoriesComponent() {
178
+ const { categories, loading, error, getByName, refetch } = useCategories({
179
+ includePackages: true,
180
+ });
181
+
182
+ if (loading) {
183
+ return <div>Chargement des catégories...</div>;
184
+ }
185
+
186
+ if (error) {
187
+ return <div>Erreur: {error.message}</div>;
188
+ }
189
+
190
+ return (
191
+ <div>
192
+ <h2>Catégories</h2>
193
+ <button onClick={() => refetch()}>Actualiser</button>
194
+ <ul>
195
+ {categories?.map(category => (
196
+ <li key={category.id}>
197
+ <h3>{category.name}</h3>
198
+ <p>{category.description}</p>
199
+ </li>
200
+ ))}
201
+ </ul>
202
+ </div>
203
+ );
204
+ }
205
+ ```
206
+
207
+ #### API
208
+
209
+ ```typescript
210
+ interface UseCategoriesResult {
211
+ categories: Category[] | null;
212
+ loading: boolean;
213
+ error: Error | null;
214
+ getByName: (name: string) => Category | undefined;
215
+ refetch: () => Promise<void>;
216
+ }
217
+ ```
218
+
219
+ ### `useCreateBasket`
220
+
221
+ Hook pour créer un nouveau panier (utilisé en interne par `useBasket`).
222
+
223
+ ```typescript
224
+ import { useCreateBasket } from '@neosia-core/super-tebex';
225
+
226
+ function CreateBasketButton() {
227
+ const username = useShopUserStore(s => s.username);
228
+ const createBasket = useCreateBasket(username);
229
+
230
+ const handleCreate = async () => {
231
+ const basket = await createBasket();
232
+ if (basket) {
233
+ console.log('Panier créé:', basket.ident);
234
+ }
235
+ };
236
+
237
+ return <button onClick={handleCreate}>Créer un panier</button>;
238
+ }
239
+ ```
240
+
241
+ ## 🗄️ Stores Zustand
242
+
243
+ ### `useShopUserStore`
244
+
245
+ Store pour gérer le nom d'utilisateur (persisté dans localStorage).
246
+
247
+ ```typescript
248
+ import { useShopUserStore } from '@neosia-core/super-tebex';
249
+
250
+ function UserProfile() {
251
+ const username = useShopUserStore(s => s.username);
252
+ const setUsername = useShopUserStore(s => s.setUsername);
253
+ const clearUsername = useShopUserStore(s => s.clearUsername);
254
+
255
+ return (
256
+ <div>
257
+ {username ? (
258
+ <>
259
+ <p>Connecté en tant que: {username}</p>
260
+ <button onClick={clearUsername}>Déconnexion</button>
261
+ </>
262
+ ) : (
263
+ <button onClick={() => setUsername('Player123')}>Se connecter</button>
264
+ )}
265
+ </div>
266
+ );
267
+ }
268
+ ```
269
+
270
+ ### `useShopBasketStore`
271
+
272
+ Store pour gérer l'identifiant du panier (persisté dans localStorage).
273
+
274
+ ```typescript
275
+ import { useShopBasketStore } from '@neosia-core/super-tebex';
276
+
277
+ function BasketStatus() {
278
+ const basketIdent = useShopBasketStore(s => s.basketIdent);
279
+ const clearBasketIdent = useShopBasketStore(s => s.clearBasketIdent);
280
+
281
+ return (
282
+ <div>
283
+ {basketIdent ? (
284
+ <>
285
+ <p>Panier actif: {basketIdent}</p>
286
+ <button onClick={clearBasketIdent}>Vider le panier</button>
287
+ </>
288
+ ) : (
289
+ <p>Aucun panier actif</p>
290
+ )}
291
+ </div>
292
+ );
293
+ }
294
+ ```
295
+
296
+ ### `useShopUiStore`
297
+
298
+ Store pour gérer les états d'interface utilisateur (loading, etc.).
299
+
300
+ ```typescript
301
+ import { useShopUiStore } from '@neosia-core/super-tebex';
302
+
303
+ function LoadingIndicator() {
304
+ const isGlobalLoading = useShopUiStore(s => s.isGlobalLoading);
305
+ const isCreatingBasket = useShopUiStore(s => s.isCreatingBasket);
306
+
307
+ if (isGlobalLoading || isCreatingBasket) {
308
+ return <div className="spinner">Chargement...</div>;
309
+ }
310
+
311
+ return null;
312
+ }
313
+ ```
314
+
315
+ ## 💡 Exemples complets
316
+
317
+ ### Exemple : Page de boutique complète
318
+
319
+ ```typescript
320
+ 'use client';
321
+
322
+ import { useCategories, useBasket, useShopUserStore } from '@neosia-core/super-tebex';
323
+
324
+ export default function ShopPage() {
325
+ const username = useShopUserStore(s => s.username);
326
+ const { categories, loading: categoriesLoading } = useCategories({ includePackages: true });
327
+ const { basket, loading: basketLoading, addPackageToBasket, removePackageFromBasket } = useBasket(username);
328
+
329
+ if (categoriesLoading || basketLoading) {
330
+ return <div>Chargement...</div>;
331
+ }
332
+
333
+ return (
334
+ <div className="shop-container">
335
+ <aside>
336
+ <h2>Panier</h2>
337
+ {basket ? (
338
+ <ul>
339
+ {basket.packages.map(pkg => (
340
+ <li key={pkg.id}>
341
+ {pkg.name} x{pkg.in_basket.quantity}
342
+ <button onClick={() => removePackageFromBasket(pkg.id)}>Retirer</button>
343
+ </li>
344
+ ))}
345
+ </ul>
346
+ ) : (
347
+ <p>Panier vide</p>
348
+ )}
349
+ </aside>
350
+
351
+ <main>
352
+ <h1>Boutique</h1>
353
+ {categories?.map(category => (
354
+ <section key={category.id}>
355
+ <h2>{category.name}</h2>
356
+ {category.packages?.map(pkg => (
357
+ <div key={pkg.id} className="product-card">
358
+ <h3>{pkg.name}</h3>
359
+ <p>{pkg.description}</p>
360
+ <p className="price">{pkg.price.display}</p>
361
+ <button
362
+ onClick={() => addPackageToBasket(pkg.id, 1)}
363
+ disabled={!username}
364
+ >
365
+ Ajouter au panier
366
+ </button>
367
+ </div>
368
+ ))}
369
+ </section>
370
+ ))}
371
+ </main>
372
+ </div>
373
+ );
374
+ }
375
+ ```
376
+
377
+ ### Exemple : Composant de connexion avec gestion d'utilisateur
378
+
379
+ ```typescript
380
+ 'use client';
381
+
382
+ import { useState } from 'react';
383
+ import { useShopUserStore, useBasket } from '@neosia-core/super-tebex';
384
+
385
+ export default function LoginForm() {
386
+ const [input, setInput] = useState('');
387
+ const username = useShopUserStore(s => s.username);
388
+ const setUsername = useShopUserStore(s => s.setUsername);
389
+ const clearUsername = useShopUserStore(s => s.clearUsername);
390
+ const { basket, refetch } = useBasket(username);
391
+
392
+ const handleLogin = () => {
393
+ if (input.trim()) {
394
+ setUsername(input.trim());
395
+ // Recharger le panier après connexion
396
+ setTimeout(() => refetch(), 100);
397
+ }
398
+ };
399
+
400
+ const handleLogout = () => {
401
+ clearUsername();
402
+ setInput('');
403
+ };
404
+
405
+ if (username) {
406
+ return (
407
+ <div>
408
+ <p>Connecté: {username}</p>
409
+ {basket && <p>Articles dans le panier: {basket.packages.length}</p>}
410
+ <button onClick={handleLogout}>Déconnexion</button>
411
+ </div>
412
+ );
413
+ }
414
+
415
+ return (
416
+ <div>
417
+ <input
418
+ type="text"
419
+ value={input}
420
+ onChange={(e) => setInput(e.target.value)}
421
+ placeholder="Nom d'utilisateur"
422
+ />
423
+ <button onClick={handleLogin}>Se connecter</button>
424
+ </div>
425
+ );
426
+ }
427
+ ```
428
+
429
+ ## 🔔 Notifications (Toasts)
430
+
431
+ La bibliothèque utilise `sonner` pour afficher des notifications. Assurez-vous d'avoir le composant `<Toaster />` dans votre application (voir section Initialisation).
432
+
433
+ Les notifications sont automatiquement affichées pour :
434
+ - Ajout/suppression d'articles au panier
435
+ - Erreurs lors de la création du panier
436
+ - Erreurs de connexion
437
+
438
+ ## 📝 Types TypeScript
439
+
440
+ Tous les types sont exportés depuis la bibliothèque :
441
+
442
+ ```typescript
443
+ import type { Basket, Category, Package, PackageType } from '@neosia-core/super-tebex';
444
+ ```
445
+
446
+ ## 🐛 Gestion des erreurs
447
+
448
+ Tous les hooks retournent un objet `error` que vous pouvez vérifier :
449
+
450
+ ```typescript
451
+ const { basket, error, loading } = useBasket(username);
452
+
453
+ useEffect(() => {
454
+ if (error) {
455
+ console.error('Erreur panier:', error);
456
+ // Gérer l'erreur (afficher un message, logger, etc.)
457
+ }
458
+ }, [error]);
459
+ ```
460
+
461
+ ## 🔄 Persistance
462
+
463
+ Les stores `useShopUserStore` et `useShopBasketStore` sont automatiquement persistés dans le `localStorage`, permettant de conserver l'état entre les sessions.
464
+
465
+ ## 📚 API Reference
466
+
467
+ Pour plus de détails sur les types et interfaces, consultez les définitions TypeScript dans `dist/index.d.ts`.
468
+
469
+ ## 🤝 Contribution
470
+
471
+ Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.
package/dist/index.cjs CHANGED
@@ -1,6 +1 @@
1
- var J4=Object.create;var{getPrototypeOf:z4,defineProperty:e,getOwnPropertyNames:P1,getOwnPropertyDescriptor:W4}=Object,M1=Object.prototype.hasOwnProperty;var y0=(B,G,$)=>{$=B!=null?J4(z4(B)):{};let Y=G||!B||!B.__esModule?e($,"default",{value:B,enumerable:!0}):$;for(let X of P1(B))if(!M1.call(Y,X))e(Y,X,{get:()=>B[X],enumerable:!0});return Y},K1=new WeakMap,K4=(B)=>{var G=K1.get(B),$;if(G)return G;if(G=e({},"__esModule",{value:!0}),B&&typeof B==="object"||typeof B==="function")P1(B).map((Y)=>!M1.call(G,Y)&&e(G,Y,{get:()=>B[Y],enumerable:!($=W4(B,Y))||$.enumerable}));return K1.set(B,G),G};var U1=(B,G)=>{for(var $ in G)e(B,$,{get:G[$],enumerable:!0,configurable:!0,set:(Y)=>G[$]=()=>Y})};var BB={};U1(BB,{useShopUserStore:()=>t,useShopUiStore:()=>U0,useShopBasketStore:()=>p,useCreateBasket:()=>R0,useCategories:()=>Q4,useBasket:()=>Z4,getTebex:()=>f,categoriesService:()=>k0,basketService:()=>g});module.exports=K4(BB);function B0(B,G){return function $(){return B.apply(G,arguments)}}var{toString:P4}=Object.prototype,{getPrototypeOf:v0}=Object,{iterator:H0,toStringTag:H1}=Symbol,N0=((B)=>(G)=>{let $=P4.call(G);return B[$]||(B[$]=$.slice(8,-1).toLowerCase())})(Object.create(null)),_=(B)=>{return B=B.toLowerCase(),(G)=>N0(G)===B},L0=(B)=>(G)=>typeof G===B,{isArray:n}=Array,G0=L0("undefined");function M4(B){return B!==null&&!G0(B)&&B.constructor!==null&&!G0(B.constructor)&&T(B.constructor.isBuffer)&&B.constructor.isBuffer(B)}var N1=_("ArrayBuffer");function U4(B){let G;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView)G=ArrayBuffer.isView(B);else G=B&&B.buffer&&N1(B.buffer);return G}var V4=L0("string"),T=L0("function"),L1=L0("number"),E0=(B)=>B!==null&&typeof B==="object",H4=(B)=>B===!0||B===!1,V0=(B)=>{if(N0(B)!=="object")return!1;let G=v0(B);return(G===null||G===Object.prototype||Object.getPrototypeOf(G)===null)&&!(H1 in B)&&!(H0 in B)},N4=_("Date"),L4=_("File"),E4=_("Blob"),F4=_("FileList"),I4=(B)=>E0(B)&&T(B.pipe),q4=(B)=>{let G;return B&&(typeof FormData==="function"&&B instanceof FormData||T(B.append)&&((G=N0(B))==="formdata"||G==="object"&&T(B.toString)&&B.toString()==="[object FormData]"))},w4=_("URLSearchParams"),[C4,S4,D4,A4]=["ReadableStream","Request","Response","Headers"].map(_),O4=(B)=>B.trim?B.trim():B.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function $0(B,G,{allOwnKeys:$=!1}={}){if(B===null||typeof B==="undefined")return;let Y,X;if(typeof B!=="object")B=[B];if(n(B))for(Y=0,X=B.length;Y<X;Y++)G.call(null,B[Y],Y,B);else{let Q=$?Object.getOwnPropertyNames(B):Object.keys(B),Z=Q.length,W;for(Y=0;Y<Z;Y++)W=Q[Y],G.call(null,B[W],W,B)}}function E1(B,G){G=G.toLowerCase();let $=Object.keys(B),Y=$.length,X;while(Y-- >0)if(X=$[Y],G===X.toLowerCase())return X;return null}var l=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})(),F1=(B)=>!G0(B)&&B!==l;function b0(){let{caseless:B}=F1(this)&&this||{},G={},$=(Y,X)=>{let Q=B&&E1(G,X)||X;if(V0(G[Q])&&V0(Y))G[Q]=b0(G[Q],Y);else if(V0(Y))G[Q]=b0({},Y);else if(n(Y))G[Q]=Y.slice();else G[Q]=Y};for(let Y=0,X=arguments.length;Y<X;Y++)arguments[Y]&&$0(arguments[Y],$);return G}var x4=(B,G,$,{allOwnKeys:Y}={})=>{return $0(G,(X,Q)=>{if($&&T(X))B[Q]=B0(X,$);else B[Q]=X},{allOwnKeys:Y}),B},T4=(B)=>{if(B.charCodeAt(0)===65279)B=B.slice(1);return B},j4=(B,G,$,Y)=>{B.prototype=Object.create(G.prototype,Y),B.prototype.constructor=B,Object.defineProperty(B,"super",{value:G.prototype}),$&&Object.assign(B.prototype,$)},_4=(B,G,$,Y)=>{let X,Q,Z,W={};if(G=G||{},B==null)return G;do{X=Object.getOwnPropertyNames(B),Q=X.length;while(Q-- >0)if(Z=X[Q],(!Y||Y(Z,B,G))&&!W[Z])G[Z]=B[Z],W[Z]=!0;B=$!==!1&&v0(B)}while(B&&(!$||$(B,G))&&B!==Object.prototype);return G},k4=(B,G,$)=>{if(B=String(B),$===void 0||$>B.length)$=B.length;$-=G.length;let Y=B.indexOf(G,$);return Y!==-1&&Y===$},R4=(B)=>{if(!B)return null;if(n(B))return B;let G=B.length;if(!L1(G))return null;let $=new Array(G);while(G-- >0)$[G]=B[G];return $},y4=((B)=>{return(G)=>{return B&&G instanceof B}})(typeof Uint8Array!=="undefined"&&v0(Uint8Array)),b4=(B,G)=>{let Y=(B&&B[H0]).call(B),X;while((X=Y.next())&&!X.done){let Q=X.value;G.call(B,Q[0],Q[1])}},v4=(B,G)=>{let $,Y=[];while(($=B.exec(G))!==null)Y.push($);return Y},h4=_("HTMLFormElement"),f4=(B)=>{return B.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function G($,Y,X){return Y.toUpperCase()+X})},V1=(({hasOwnProperty:B})=>(G,$)=>B.call(G,$))(Object.prototype),m4=_("RegExp"),I1=(B,G)=>{let $=Object.getOwnPropertyDescriptors(B),Y={};$0($,(X,Q)=>{let Z;if((Z=G(X,Q,B))!==!1)Y[Q]=Z||X}),Object.defineProperties(B,Y)},g4=(B)=>{I1(B,(G,$)=>{if(T(B)&&["arguments","caller","callee"].indexOf($)!==-1)return!1;let Y=B[$];if(!T(Y))return;if(G.enumerable=!1,"writable"in G){G.writable=!1;return}if(!G.set)G.set=()=>{throw Error("Can not rewrite read-only method '"+$+"'")}})},u4=(B,G)=>{let $={},Y=(X)=>{X.forEach((Q)=>{$[Q]=!0})};return n(B)?Y(B):Y(String(B).split(G)),$},l4=()=>{},p4=(B,G)=>{return B!=null&&Number.isFinite(B=+B)?B:G};function c4(B){return!!(B&&T(B.append)&&B[H1]==="FormData"&&B[H0])}var d4=(B)=>{let G=new Array(10),$=(Y,X)=>{if(E0(Y)){if(G.indexOf(Y)>=0)return;if(!("toJSON"in Y)){G[X]=Y;let Q=n(Y)?[]:{};return $0(Y,(Z,W)=>{let P=$(Z,X+1);!G0(P)&&(Q[W]=P)}),G[X]=void 0,Q}}return Y};return $(B,0)},n4=_("AsyncFunction"),r4=(B)=>B&&(E0(B)||T(B))&&T(B.then)&&T(B.catch),q1=((B,G)=>{if(B)return setImmediate;return G?(($,Y)=>{return l.addEventListener("message",({source:X,data:Q})=>{if(X===l&&Q===$)Y.length&&Y.shift()()},!1),(X)=>{Y.push(X),l.postMessage($,"*")}})(`axios@${Math.random()}`,[]):($)=>setTimeout($)})(typeof setImmediate==="function",T(l.postMessage)),i4=typeof queueMicrotask!=="undefined"?queueMicrotask.bind(l):typeof process!=="undefined"&&process.nextTick||q1,o4=(B)=>B!=null&&T(B[H0]),J={isArray:n,isArrayBuffer:N1,isBuffer:M4,isFormData:q4,isArrayBufferView:U4,isString:V4,isNumber:L1,isBoolean:H4,isObject:E0,isPlainObject:V0,isReadableStream:C4,isRequest:S4,isResponse:D4,isHeaders:A4,isUndefined:G0,isDate:N4,isFile:L4,isBlob:E4,isRegExp:m4,isFunction:T,isStream:I4,isURLSearchParams:w4,isTypedArray:y4,isFileList:F4,forEach:$0,merge:b0,extend:x4,trim:O4,stripBOM:T4,inherits:j4,toFlatObject:_4,kindOf:N0,kindOfTest:_,endsWith:k4,toArray:R4,forEachEntry:b4,matchAll:v4,isHTMLForm:h4,hasOwnProperty:V1,hasOwnProp:V1,reduceDescriptors:I1,freezeMethods:g4,toObjectSet:u4,toCamelCase:f4,noop:l4,toFiniteNumber:p4,findKey:E1,global:l,isContextDefined:F1,isSpecCompliantForm:c4,toJSONObject:d4,isAsyncFn:n4,isThenable:r4,setImmediate:q1,asap:i4,isIterable:o4};function r(B,G,$,Y,X){if(Error.call(this),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=new Error().stack;if(this.message=B,this.name="AxiosError",G&&(this.code=G),$&&(this.config=$),Y&&(this.request=Y),X)this.response=X,this.status=X.status?X.status:null}J.inherits(r,Error,{toJSON:function B(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:J.toJSONObject(this.config),code:this.code,status:this.status}}});var w1=r.prototype,C1={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((B)=>{C1[B]={value:B}});Object.defineProperties(r,C1);Object.defineProperty(w1,"isAxiosError",{value:!0});r.from=(B,G,$,Y,X,Q)=>{let Z=Object.create(w1);return J.toFlatObject(B,Z,function W(P){return P!==Error.prototype},(W)=>{return W!=="isAxiosError"}),r.call(Z,B.message,G,$,Y,X),Z.cause=B,Z.name=B.name,Q&&Object.assign(Z,Q),Z};var E=r;var F0=null;function h0(B){return J.isPlainObject(B)||J.isArray(B)}function D1(B){return J.endsWith(B,"[]")?B.slice(0,-2):B}function S1(B,G,$){if(!B)return G;return B.concat(G).map(function Y(X,Q){return X=D1(X),!$&&Q?"["+X+"]":X}).join($?".":"")}function s4(B){return J.isArray(B)&&!B.some(h0)}var a4=J.toFlatObject(J,{},null,function B(G){return/^is[A-Z]/.test(G)});function t4(B,G,$){if(!J.isObject(B))throw new TypeError("target must be an object");G=G||new(F0||FormData),$=J.toFlatObject($,{metaTokens:!0,dots:!1,indexes:!1},!1,function H(V,U){return!J.isUndefined(U[V])});let Y=$.metaTokens,X=$.visitor||K,Q=$.dots,Z=$.indexes,P=($.Blob||typeof Blob!=="undefined"&&Blob)&&J.isSpecCompliantForm(G);if(!J.isFunction(X))throw new TypeError("visitor must be a function");function z(H){if(H===null)return"";if(J.isDate(H))return H.toISOString();if(J.isBoolean(H))return H.toString();if(!P&&J.isBlob(H))throw new E("Blob is not supported. Use a Buffer instead.");if(J.isArrayBuffer(H)||J.isTypedArray(H))return P&&typeof Blob==="function"?new Blob([H]):Buffer.from(H);return H}function K(H,V,U){let q=H;if(H&&!U&&typeof H==="object"){if(J.endsWith(V,"{}"))V=Y?V:V.slice(0,-2),H=JSON.stringify(H);else if(J.isArray(H)&&s4(H)||(J.isFileList(H)||J.endsWith(V,"[]"))&&(q=J.toArray(H)))return V=D1(V),q.forEach(function L(I,S){!(J.isUndefined(I)||I===null)&&G.append(Z===!0?S1([V],S,Q):Z===null?V:V+"[]",z(I))}),!1}if(h0(H))return!0;return G.append(S1(U,V,Q),z(H)),!1}let M=[],F=Object.assign(a4,{defaultVisitor:K,convertValue:z,isVisitable:h0});function N(H,V){if(J.isUndefined(H))return;if(M.indexOf(H)!==-1)throw Error("Circular reference detected in "+V.join("."));M.push(H),J.forEach(H,function U(q,L){if((!(J.isUndefined(q)||q===null)&&X.call(G,q,J.isString(L)?L.trim():L,V,F))===!0)N(q,V?V.concat(L):[L])}),M.pop()}if(!J.isObject(B))throw new TypeError("data must be an object");return N(B),G}var m=t4;function A1(B){let G={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\x00"};return encodeURIComponent(B).replace(/[!'()~]|%20|%00/g,function $(Y){return G[Y]})}function O1(B,G){this._pairs=[],B&&m(B,this,G)}var x1=O1.prototype;x1.append=function B(G,$){this._pairs.push([G,$])};x1.toString=function B(G){let $=G?function(Y){return G.call(this,Y,A1)}:A1;return this._pairs.map(function Y(X){return $(X[0])+"="+$(X[1])},"").join("&")};var I0=O1;function e4(B){return encodeURIComponent(B).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Y0(B,G,$){if(!G)return B;let Y=$&&$.encode||e4;if(J.isFunction($))$={serialize:$};let X=$&&$.serialize,Q;if(X)Q=X(G,$);else Q=J.isURLSearchParams(G)?G.toString():new I0(G,$).toString(Y);if(Q){let Z=B.indexOf("#");if(Z!==-1)B=B.slice(0,Z);B+=(B.indexOf("?")===-1?"?":"&")+Q}return B}class T1{constructor(){this.handlers=[]}use(B,G,$){return this.handlers.push({fulfilled:B,rejected:G,synchronous:$?$.synchronous:!1,runWhen:$?$.runWhen:null}),this.handlers.length-1}eject(B){if(this.handlers[B])this.handlers[B]=null}clear(){if(this.handlers)this.handlers=[]}forEach(B){J.forEach(this.handlers,function G($){if($!==null)B($)})}}var f0=T1;var q0={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var j1=typeof URLSearchParams!=="undefined"?URLSearchParams:I0;var _1=typeof FormData!=="undefined"?FormData:null;var k1=typeof Blob!=="undefined"?Blob:null;var R1={isBrowser:!0,classes:{URLSearchParams:j1,FormData:_1,Blob:k1},protocols:["http","https","file","blob","url","data"]};var u0={};U1(u0,{origin:()=>$5,navigator:()=>m0,hasStandardBrowserWebWorkerEnv:()=>G5,hasStandardBrowserEnv:()=>B5,hasBrowserEnv:()=>g0});var g0=typeof window!=="undefined"&&typeof document!=="undefined",m0=typeof navigator==="object"&&navigator||void 0,B5=g0&&(!m0||["ReactNative","NativeScript","NS"].indexOf(m0.product)<0),G5=(()=>{return typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function"})(),$5=g0&&window.location.href||"http://localhost";var w={...u0,...R1};function l0(B,G){return m(B,new w.classes.URLSearchParams,Object.assign({visitor:function($,Y,X,Q){if(w.isNode&&J.isBuffer($))return this.append(Y,$.toString("base64")),!1;return Q.defaultVisitor.apply(this,arguments)}},G))}function Y5(B){return J.matchAll(/\w+|\[(\w*)]/g,B).map((G)=>{return G[0]==="[]"?"":G[1]||G[0]})}function X5(B){let G={},$=Object.keys(B),Y,X=$.length,Q;for(Y=0;Y<X;Y++)Q=$[Y],G[Q]=B[Q];return G}function Z5(B){function G($,Y,X,Q){let Z=$[Q++];if(Z==="__proto__")return!0;let W=Number.isFinite(+Z),P=Q>=$.length;if(Z=!Z&&J.isArray(X)?X.length:Z,P){if(J.hasOwnProp(X,Z))X[Z]=[X[Z],Y];else X[Z]=Y;return!W}if(!X[Z]||!J.isObject(X[Z]))X[Z]=[];if(G($,Y,X[Z],Q)&&J.isArray(X[Z]))X[Z]=X5(X[Z]);return!W}if(J.isFormData(B)&&J.isFunction(B.entries)){let $={};return J.forEachEntry(B,(Y,X)=>{G(Y5(Y),X,$,0)}),$}return null}var w0=Z5;function Q5(B,G,$){if(J.isString(B))try{return(G||JSON.parse)(B),J.trim(B)}catch(Y){if(Y.name!=="SyntaxError")throw Y}return($||JSON.stringify)(B)}var p0={transitional:q0,adapter:["xhr","http","fetch"],transformRequest:[function B(G,$){let Y=$.getContentType()||"",X=Y.indexOf("application/json")>-1,Q=J.isObject(G);if(Q&&J.isHTMLForm(G))G=new FormData(G);if(J.isFormData(G))return X?JSON.stringify(w0(G)):G;if(J.isArrayBuffer(G)||J.isBuffer(G)||J.isStream(G)||J.isFile(G)||J.isBlob(G)||J.isReadableStream(G))return G;if(J.isArrayBufferView(G))return G.buffer;if(J.isURLSearchParams(G))return $.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),G.toString();let W;if(Q){if(Y.indexOf("application/x-www-form-urlencoded")>-1)return l0(G,this.formSerializer).toString();if((W=J.isFileList(G))||Y.indexOf("multipart/form-data")>-1){let P=this.env&&this.env.FormData;return m(W?{"files[]":G}:G,P&&new P,this.formSerializer)}}if(Q||X)return $.setContentType("application/json",!1),Q5(G);return G}],transformResponse:[function B(G){let $=this.transitional||p0.transitional,Y=$&&$.forcedJSONParsing,X=this.responseType==="json";if(J.isResponse(G)||J.isReadableStream(G))return G;if(G&&J.isString(G)&&(Y&&!this.responseType||X)){let Z=!($&&$.silentJSONParsing)&&X;try{return JSON.parse(G)}catch(W){if(Z){if(W.name==="SyntaxError")throw E.from(W,E.ERR_BAD_RESPONSE,this,null,this.response);throw W}}}return G}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:w.classes.FormData,Blob:w.classes.Blob},validateStatus:function B(G){return G>=200&&G<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};J.forEach(["delete","get","head","post","put","patch"],(B)=>{p0.headers[B]={}});var i=p0;var J5=J.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),y1=(B)=>{let G={},$,Y,X;return B&&B.split(`
2
- `).forEach(function Q(Z){if(X=Z.indexOf(":"),$=Z.substring(0,X).trim().toLowerCase(),Y=Z.substring(X+1).trim(),!$||G[$]&&J5[$])return;if($==="set-cookie")if(G[$])G[$].push(Y);else G[$]=[Y];else G[$]=G[$]?G[$]+", "+Y:Y}),G};var b1=Symbol("internals");function X0(B){return B&&String(B).trim().toLowerCase()}function C0(B){if(B===!1||B==null)return B;return J.isArray(B)?B.map(C0):String(B)}function z5(B){let G=Object.create(null),$=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,Y;while(Y=$.exec(B))G[Y[1]]=Y[2];return G}var W5=(B)=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(B.trim());function c0(B,G,$,Y,X){if(J.isFunction(Y))return Y.call(this,G,$);if(X)G=$;if(!J.isString(G))return;if(J.isString(Y))return G.indexOf(Y)!==-1;if(J.isRegExp(Y))return Y.test(G)}function K5(B){return B.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(G,$,Y)=>{return $.toUpperCase()+Y})}function P5(B,G){let $=J.toCamelCase(" "+G);["get","set","has"].forEach((Y)=>{Object.defineProperty(B,Y+$,{value:function(X,Q,Z){return this[Y].call(this,G,X,Q,Z)},configurable:!0})})}class Z0{constructor(B){B&&this.set(B)}set(B,G,$){let Y=this;function X(Z,W,P){let z=X0(W);if(!z)throw new Error("header name must be a non-empty string");let K=J.findKey(Y,z);if(!K||Y[K]===void 0||P===!0||P===void 0&&Y[K]!==!1)Y[K||W]=C0(Z)}let Q=(Z,W)=>J.forEach(Z,(P,z)=>X(P,z,W));if(J.isPlainObject(B)||B instanceof this.constructor)Q(B,G);else if(J.isString(B)&&(B=B.trim())&&!W5(B))Q(y1(B),G);else if(J.isObject(B)&&J.isIterable(B)){let Z={},W,P;for(let z of B){if(!J.isArray(z))throw TypeError("Object iterator must return a key-value pair");Z[P=z[0]]=(W=Z[P])?J.isArray(W)?[...W,z[1]]:[W,z[1]]:z[1]}Q(Z,G)}else B!=null&&X(G,B,$);return this}get(B,G){if(B=X0(B),B){let $=J.findKey(this,B);if($){let Y=this[$];if(!G)return Y;if(G===!0)return z5(Y);if(J.isFunction(G))return G.call(this,Y,$);if(J.isRegExp(G))return G.exec(Y);throw new TypeError("parser must be boolean|regexp|function")}}}has(B,G){if(B=X0(B),B){let $=J.findKey(this,B);return!!($&&this[$]!==void 0&&(!G||c0(this,this[$],$,G)))}return!1}delete(B,G){let $=this,Y=!1;function X(Q){if(Q=X0(Q),Q){let Z=J.findKey($,Q);if(Z&&(!G||c0($,$[Z],Z,G)))delete $[Z],Y=!0}}if(J.isArray(B))B.forEach(X);else X(B);return Y}clear(B){let G=Object.keys(this),$=G.length,Y=!1;while($--){let X=G[$];if(!B||c0(this,this[X],X,B,!0))delete this[X],Y=!0}return Y}normalize(B){let G=this,$={};return J.forEach(this,(Y,X)=>{let Q=J.findKey($,X);if(Q){G[Q]=C0(Y),delete G[X];return}let Z=B?K5(X):String(X).trim();if(Z!==X)delete G[X];G[Z]=C0(Y),$[Z]=!0}),this}concat(...B){return this.constructor.concat(this,...B)}toJSON(B){let G=Object.create(null);return J.forEach(this,($,Y)=>{$!=null&&$!==!1&&(G[Y]=B&&J.isArray($)?$.join(", "):$)}),G}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([B,G])=>B+": "+G).join(`
3
- `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(B){return B instanceof this?B:new this(B)}static concat(B,...G){let $=new this(B);return G.forEach((Y)=>$.set(Y)),$}static accessor(B){let $=(this[b1]=this[b1]={accessors:{}}).accessors,Y=this.prototype;function X(Q){let Z=X0(Q);if(!$[Z])P5(Y,Q),$[Z]=!0}return J.isArray(B)?B.forEach(X):X(B),this}}Z0.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);J.reduceDescriptors(Z0.prototype,({value:B},G)=>{let $=G[0].toUpperCase()+G.slice(1);return{get:()=>B,set(Y){this[$]=Y}}});J.freezeMethods(Z0);var D=Z0;function Q0(B,G){let $=this||i,Y=G||$,X=D.from(Y.headers),Q=Y.data;return J.forEach(B,function Z(W){Q=W.call($,Q,X.normalize(),G?G.status:void 0)}),X.normalize(),Q}function J0(B){return!!(B&&B.__CANCEL__)}function v1(B,G,$){E.call(this,B==null?"canceled":B,E.ERR_CANCELED,G,$),this.name="CanceledError"}J.inherits(v1,E,{__CANCEL__:!0});var R=v1;function z0(B,G,$){let Y=$.config.validateStatus;if(!$.status||!Y||Y($.status))B($);else G(new E("Request failed with status code "+$.status,[E.ERR_BAD_REQUEST,E.ERR_BAD_RESPONSE][Math.floor($.status/100)-4],$.config,$.request,$))}function d0(B){let G=/^([-+\w]{1,25})(:?\/\/|:)/.exec(B);return G&&G[1]||""}function M5(B,G){B=B||10;let $=new Array(B),Y=new Array(B),X=0,Q=0,Z;return G=G!==void 0?G:1000,function W(P){let z=Date.now(),K=Y[Q];if(!Z)Z=z;$[X]=P,Y[X]=z;let M=Q,F=0;while(M!==X)F+=$[M++],M=M%B;if(X=(X+1)%B,X===Q)Q=(Q+1)%B;if(z-Z<G)return;let N=K&&z-K;return N?Math.round(F*1000/N):void 0}}var h1=M5;function U5(B,G){let $=0,Y=1000/G,X,Q,Z=(z,K=Date.now())=>{if($=K,X=null,Q)clearTimeout(Q),Q=null;B.apply(null,z)};return[(...z)=>{let K=Date.now(),M=K-$;if(M>=Y)Z(z,K);else if(X=z,!Q)Q=setTimeout(()=>{Q=null,Z(X)},Y-M)},()=>X&&Z(X)]}var f1=U5;var o=(B,G,$=3)=>{let Y=0,X=h1(50,250);return f1((Q)=>{let Z=Q.loaded,W=Q.lengthComputable?Q.total:void 0,P=Z-Y,z=X(P),K=Z<=W;Y=Z;let M={loaded:Z,total:W,progress:W?Z/W:void 0,bytes:P,rate:z?z:void 0,estimated:z&&W&&K?(W-Z)/z:void 0,event:Q,lengthComputable:W!=null,[G?"download":"upload"]:!0};B(M)},$)},n0=(B,G)=>{let $=B!=null;return[(Y)=>G[0]({lengthComputable:$,total:B,loaded:Y}),G[1]]},r0=(B)=>(...G)=>J.asap(()=>B(...G));var m1=w.hasStandardBrowserEnv?((B,G)=>($)=>{return $=new URL($,w.origin),B.protocol===$.protocol&&B.host===$.host&&(G||B.port===$.port)})(new URL(w.origin),w.navigator&&/(msie|trident)/i.test(w.navigator.userAgent)):()=>!0;var g1=w.hasStandardBrowserEnv?{write(B,G,$,Y,X,Q){let Z=[B+"="+encodeURIComponent(G)];J.isNumber($)&&Z.push("expires="+new Date($).toGMTString()),J.isString(Y)&&Z.push("path="+Y),J.isString(X)&&Z.push("domain="+X),Q===!0&&Z.push("secure"),document.cookie=Z.join("; ")},read(B){let G=document.cookie.match(new RegExp("(^|;\\s*)("+B+")=([^;]*)"));return G?decodeURIComponent(G[3]):null},remove(B){this.write(B,"",Date.now()-86400000)}}:{write(){},read(){return null},remove(){}};function i0(B){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(B)}function o0(B,G){return G?B.replace(/\/?\/$/,"")+"/"+G.replace(/^\/+/,""):B}function W0(B,G,$){let Y=!i0(G);if(B&&(Y||$==!1))return o0(B,G);return G}var u1=(B)=>B instanceof D?{...B}:B;function k(B,G){G=G||{};let $={};function Y(z,K,M,F){if(J.isPlainObject(z)&&J.isPlainObject(K))return J.merge.call({caseless:F},z,K);else if(J.isPlainObject(K))return J.merge({},K);else if(J.isArray(K))return K.slice();return K}function X(z,K,M,F){if(!J.isUndefined(K))return Y(z,K,M,F);else if(!J.isUndefined(z))return Y(void 0,z,M,F)}function Q(z,K){if(!J.isUndefined(K))return Y(void 0,K)}function Z(z,K){if(!J.isUndefined(K))return Y(void 0,K);else if(!J.isUndefined(z))return Y(void 0,z)}function W(z,K,M){if(M in G)return Y(z,K);else if(M in B)return Y(void 0,z)}let P={url:Q,method:Q,data:Q,baseURL:Z,transformRequest:Z,transformResponse:Z,paramsSerializer:Z,timeout:Z,timeoutMessage:Z,withCredentials:Z,withXSRFToken:Z,adapter:Z,responseType:Z,xsrfCookieName:Z,xsrfHeaderName:Z,onUploadProgress:Z,onDownloadProgress:Z,decompress:Z,maxContentLength:Z,maxBodyLength:Z,beforeRedirect:Z,transport:Z,httpAgent:Z,httpsAgent:Z,cancelToken:Z,socketPath:Z,responseEncoding:Z,validateStatus:W,headers:(z,K,M)=>X(u1(z),u1(K),M,!0)};return J.forEach(Object.keys(Object.assign({},B,G)),function z(K){let M=P[K]||X,F=M(B[K],G[K],K);J.isUndefined(F)&&M!==W||($[K]=F)}),$}var S0=(B)=>{let G=k({},B),{data:$,withXSRFToken:Y,xsrfHeaderName:X,xsrfCookieName:Q,headers:Z,auth:W}=G;if(G.headers=Z=D.from(Z),G.url=Y0(W0(G.baseURL,G.url,G.allowAbsoluteUrls),B.params,B.paramsSerializer),W)Z.set("Authorization","Basic "+btoa((W.username||"")+":"+(W.password?unescape(encodeURIComponent(W.password)):"")));let P;if(J.isFormData($)){if(w.hasStandardBrowserEnv||w.hasStandardBrowserWebWorkerEnv)Z.setContentType(void 0);else if((P=Z.getContentType())!==!1){let[z,...K]=P?P.split(";").map((M)=>M.trim()).filter(Boolean):[];Z.setContentType([z||"multipart/form-data",...K].join("; "))}}if(w.hasStandardBrowserEnv){if(Y&&J.isFunction(Y)&&(Y=Y(G)),Y||Y!==!1&&m1(G.url)){let z=X&&Q&&g1.read(Q);if(z)Z.set(X,z)}}return G};var V5=typeof XMLHttpRequest!=="undefined",l1=V5&&function(B){return new Promise(function G($,Y){let X=S0(B),Q=X.data,Z=D.from(X.headers).normalize(),{responseType:W,onUploadProgress:P,onDownloadProgress:z}=X,K,M,F,N,H;function V(){N&&N(),H&&H(),X.cancelToken&&X.cancelToken.unsubscribe(K),X.signal&&X.signal.removeEventListener("abort",K)}let U=new XMLHttpRequest;U.open(X.method.toUpperCase(),X.url,!0),U.timeout=X.timeout;function q(){if(!U)return;let I=D.from("getAllResponseHeaders"in U&&U.getAllResponseHeaders()),A={data:!W||W==="text"||W==="json"?U.responseText:U.response,status:U.status,statusText:U.statusText,headers:I,config:B,request:U};z0(function x(h){$(h),V()},function x(h){Y(h),V()},A),U=null}if("onloadend"in U)U.onloadend=q;else U.onreadystatechange=function I(){if(!U||U.readyState!==4)return;if(U.status===0&&!(U.responseURL&&U.responseURL.indexOf("file:")===0))return;setTimeout(q)};if(U.onabort=function I(){if(!U)return;Y(new E("Request aborted",E.ECONNABORTED,B,U)),U=null},U.onerror=function I(){Y(new E("Network Error",E.ERR_NETWORK,B,U)),U=null},U.ontimeout=function I(){let S=X.timeout?"timeout of "+X.timeout+"ms exceeded":"timeout exceeded",A=X.transitional||q0;if(X.timeoutErrorMessage)S=X.timeoutErrorMessage;Y(new E(S,A.clarifyTimeoutError?E.ETIMEDOUT:E.ECONNABORTED,B,U)),U=null},Q===void 0&&Z.setContentType(null),"setRequestHeader"in U)J.forEach(Z.toJSON(),function I(S,A){U.setRequestHeader(A,S)});if(!J.isUndefined(X.withCredentials))U.withCredentials=!!X.withCredentials;if(W&&W!=="json")U.responseType=X.responseType;if(z)[F,H]=o(z,!0),U.addEventListener("progress",F);if(P&&U.upload)[M,N]=o(P),U.upload.addEventListener("progress",M),U.upload.addEventListener("loadend",N);if(X.cancelToken||X.signal){if(K=(I)=>{if(!U)return;Y(!I||I.type?new R(null,B,U):I),U.abort(),U=null},X.cancelToken&&X.cancelToken.subscribe(K),X.signal)X.signal.aborted?K():X.signal.addEventListener("abort",K)}let L=d0(X.url);if(L&&w.protocols.indexOf(L)===-1){Y(new E("Unsupported protocol "+L+":",E.ERR_BAD_REQUEST,B));return}U.send(Q||null)})};var H5=(B,G)=>{let{length:$}=B=B?B.filter(Boolean):[];if(G||$){let Y=new AbortController,X,Q=function(z){if(!X){X=!0,W();let K=z instanceof Error?z:this.reason;Y.abort(K instanceof E?K:new R(K instanceof Error?K.message:K))}},Z=G&&setTimeout(()=>{Z=null,Q(new E(`timeout ${G} of ms exceeded`,E.ETIMEDOUT))},G),W=()=>{if(B)Z&&clearTimeout(Z),Z=null,B.forEach((z)=>{z.unsubscribe?z.unsubscribe(Q):z.removeEventListener("abort",Q)}),B=null};B.forEach((z)=>z.addEventListener("abort",Q));let{signal:P}=Y;return P.unsubscribe=()=>J.asap(W),P}},p1=H5;var N5=function*(B,G){let $=B.byteLength;if(!G||$<G){yield B;return}let Y=0,X;while(Y<$)X=Y+G,yield B.slice(Y,X),Y=X},L5=async function*(B,G){for await(let $ of E5(B))yield*N5($,G)},E5=async function*(B){if(B[Symbol.asyncIterator]){yield*B;return}let G=B.getReader();try{for(;;){let{done:$,value:Y}=await G.read();if($)break;yield Y}}finally{await G.cancel()}},s0=(B,G,$,Y)=>{let X=L5(B,G),Q=0,Z,W=(P)=>{if(!Z)Z=!0,Y&&Y(P)};return new ReadableStream({async pull(P){try{let{done:z,value:K}=await X.next();if(z){W(),P.close();return}let M=K.byteLength;if($){let F=Q+=M;$(F)}P.enqueue(new Uint8Array(K))}catch(z){throw W(z),z}},cancel(P){return W(P),X.return()}},{highWaterMark:2})};var A0=typeof fetch==="function"&&typeof Request==="function"&&typeof Response==="function",d1=A0&&typeof ReadableStream==="function",F5=A0&&(typeof TextEncoder==="function"?((B)=>(G)=>B.encode(G))(new TextEncoder):async(B)=>new Uint8Array(await new Response(B).arrayBuffer())),n1=(B,...G)=>{try{return!!B(...G)}catch($){return!1}},I5=d1&&n1(()=>{let B=!1,G=new Request(w.origin,{body:new ReadableStream,method:"POST",get duplex(){return B=!0,"half"}}).headers.has("Content-Type");return B&&!G}),c1=65536,a0=d1&&n1(()=>J.isReadableStream(new Response("").body)),D0={stream:a0&&((B)=>B.body)};A0&&((B)=>{["text","arrayBuffer","blob","formData","stream"].forEach((G)=>{!D0[G]&&(D0[G]=J.isFunction(B[G])?($)=>$[G]():($,Y)=>{throw new E(`Response type '${G}' is not supported`,E.ERR_NOT_SUPPORT,Y)})})})(new Response);var q5=async(B)=>{if(B==null)return 0;if(J.isBlob(B))return B.size;if(J.isSpecCompliantForm(B))return(await new Request(w.origin,{method:"POST",body:B}).arrayBuffer()).byteLength;if(J.isArrayBufferView(B)||J.isArrayBuffer(B))return B.byteLength;if(J.isURLSearchParams(B))B=B+"";if(J.isString(B))return(await F5(B)).byteLength},w5=async(B,G)=>{let $=J.toFiniteNumber(B.getContentLength());return $==null?q5(G):$},r1=A0&&(async(B)=>{let{url:G,method:$,data:Y,signal:X,cancelToken:Q,timeout:Z,onDownloadProgress:W,onUploadProgress:P,responseType:z,headers:K,withCredentials:M="same-origin",fetchOptions:F}=S0(B);z=z?(z+"").toLowerCase():"text";let N=p1([X,Q&&Q.toAbortSignal()],Z),H,V=N&&N.unsubscribe&&(()=>{N.unsubscribe()}),U;try{if(P&&I5&&$!=="get"&&$!=="head"&&(U=await w5(K,Y))!==0){let A=new Request(G,{method:"POST",body:Y,duplex:"half"}),x;if(J.isFormData(Y)&&(x=A.headers.get("content-type")))K.setContentType(x);if(A.body){let[h,d]=n0(U,o(r0(P)));Y=s0(A.body,c1,h,d)}}if(!J.isString(M))M=M?"include":"omit";let q="credentials"in Request.prototype;H=new Request(G,{...F,signal:N,method:$.toUpperCase(),headers:K.normalize().toJSON(),body:Y,duplex:"half",credentials:q?M:void 0});let L=await fetch(H,F),I=a0&&(z==="stream"||z==="response");if(a0&&(W||I&&V)){let A={};["status","statusText","headers"].forEach((W1)=>{A[W1]=L[W1]});let x=J.toFiniteNumber(L.headers.get("content-length")),[h,d]=W&&n0(x,o(r0(W),!0))||[];L=new Response(s0(L.body,c1,h,()=>{d&&d(),V&&V()}),A)}z=z||"text";let S=await D0[J.findKey(D0,z)||"text"](L,B);return!I&&V&&V(),await new Promise((A,x)=>{z0(A,x,{data:S,headers:D.from(L.headers),status:L.status,statusText:L.statusText,config:B,request:H})})}catch(q){if(V&&V(),q&&q.name==="TypeError"&&/Load failed|fetch/i.test(q.message))throw Object.assign(new E("Network Error",E.ERR_NETWORK,B,H),{cause:q.cause||q});throw E.from(q,q&&q.code,B,H)}});var t0={http:F0,xhr:l1,fetch:r1};J.forEach(t0,(B,G)=>{if(B){try{Object.defineProperty(B,"name",{value:G})}catch($){}Object.defineProperty(B,"adapterName",{value:G})}});var i1=(B)=>`- ${B}`,C5=(B)=>J.isFunction(B)||B===null||B===!1,O0={getAdapter:(B)=>{B=J.isArray(B)?B:[B];let{length:G}=B,$,Y,X={};for(let Q=0;Q<G;Q++){$=B[Q];let Z;if(Y=$,!C5($)){if(Y=t0[(Z=String($)).toLowerCase()],Y===void 0)throw new E(`Unknown adapter '${Z}'`)}if(Y)break;X[Z||"#"+Q]=Y}if(!Y){let Q=Object.entries(X).map(([W,P])=>`adapter ${W} `+(P===!1?"is not supported by the environment":"is not available in the build")),Z=G?Q.length>1?`since :
4
- `+Q.map(i1).join(`
5
- `):" "+i1(Q[0]):"as no adapter specified";throw new E("There is no suitable adapter to dispatch the request "+Z,"ERR_NOT_SUPPORT")}return Y},adapters:t0};function e0(B){if(B.cancelToken)B.cancelToken.throwIfRequested();if(B.signal&&B.signal.aborted)throw new R(null,B)}function x0(B){if(e0(B),B.headers=D.from(B.headers),B.data=Q0.call(B,B.transformRequest),["post","put","patch"].indexOf(B.method)!==-1)B.headers.setContentType("application/x-www-form-urlencoded",!1);return O0.getAdapter(B.adapter||i.adapter)(B).then(function $(Y){return e0(B),Y.data=Q0.call(B,B.transformResponse,Y),Y.headers=D.from(Y.headers),Y},function $(Y){if(!J0(Y)){if(e0(B),Y&&Y.response)Y.response.data=Q0.call(B,B.transformResponse,Y.response),Y.response.headers=D.from(Y.response.headers)}return Promise.reject(Y)})}var T0="1.10.0";var j0={};["object","boolean","number","function","string","symbol"].forEach((B,G)=>{j0[B]=function $(Y){return typeof Y===B||"a"+(G<1?"n ":" ")+B}});var o1={};j0.transitional=function B(G,$,Y){function X(Q,Z){return"[Axios v"+T0+"] Transitional option '"+Q+"'"+Z+(Y?". "+Y:"")}return(Q,Z,W)=>{if(G===!1)throw new E(X(Z," has been removed"+($?" in "+$:"")),E.ERR_DEPRECATED);if($&&!o1[Z])o1[Z]=!0,console.warn(X(Z," has been deprecated since v"+$+" and will be removed in the near future"));return G?G(Q,Z,W):!0}};j0.spelling=function B(G){return($,Y)=>{return console.warn(`${Y} is likely a misspelling of ${G}`),!0}};function S5(B,G,$){if(typeof B!=="object")throw new E("options must be an object",E.ERR_BAD_OPTION_VALUE);let Y=Object.keys(B),X=Y.length;while(X-- >0){let Q=Y[X],Z=G[Q];if(Z){let W=B[Q],P=W===void 0||Z(W,Q,B);if(P!==!0)throw new E("option "+Q+" must be "+P,E.ERR_BAD_OPTION_VALUE);continue}if($!==!0)throw new E("Unknown option "+Q,E.ERR_BAD_OPTION)}}var K0={assertOptions:S5,validators:j0};var y=K0.validators;class P0{constructor(B){this.defaults=B||{},this.interceptors={request:new f0,response:new f0}}async request(B,G){try{return await this._request(B,G)}catch($){if($ instanceof Error){let Y={};Error.captureStackTrace?Error.captureStackTrace(Y):Y=new Error;let X=Y.stack?Y.stack.replace(/^.+\n/,""):"";try{if(!$.stack)$.stack=X;else if(X&&!String($.stack).endsWith(X.replace(/^.+\n.+\n/,"")))$.stack+=`
6
- `+X}catch(Q){}}throw $}}_request(B,G){if(typeof B==="string")G=G||{},G.url=B;else G=B||{};G=k(this.defaults,G);let{transitional:$,paramsSerializer:Y,headers:X}=G;if($!==void 0)K0.assertOptions($,{silentJSONParsing:y.transitional(y.boolean),forcedJSONParsing:y.transitional(y.boolean),clarifyTimeoutError:y.transitional(y.boolean)},!1);if(Y!=null)if(J.isFunction(Y))G.paramsSerializer={serialize:Y};else K0.assertOptions(Y,{encode:y.function,serialize:y.function},!0);if(G.allowAbsoluteUrls!==void 0);else if(this.defaults.allowAbsoluteUrls!==void 0)G.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls;else G.allowAbsoluteUrls=!0;K0.assertOptions(G,{baseUrl:y.spelling("baseURL"),withXsrfToken:y.spelling("withXSRFToken")},!0),G.method=(G.method||this.defaults.method||"get").toLowerCase();let Q=X&&J.merge(X.common,X[G.method]);X&&J.forEach(["delete","get","head","post","put","patch","common"],(N)=>{delete X[N]}),G.headers=D.concat(Q,X);let Z=[],W=!0;this.interceptors.request.forEach(function N(H){if(typeof H.runWhen==="function"&&H.runWhen(G)===!1)return;W=W&&H.synchronous,Z.unshift(H.fulfilled,H.rejected)});let P=[];this.interceptors.response.forEach(function N(H){P.push(H.fulfilled,H.rejected)});let z,K=0,M;if(!W){let N=[x0.bind(this),void 0];N.unshift.apply(N,Z),N.push.apply(N,P),M=N.length,z=Promise.resolve(G);while(K<M)z=z.then(N[K++],N[K++]);return z}M=Z.length;let F=G;K=0;while(K<M){let N=Z[K++],H=Z[K++];try{F=N(F)}catch(V){H.call(this,V);break}}try{z=x0.call(this,F)}catch(N){return Promise.reject(N)}K=0,M=P.length;while(K<M)z=z.then(P[K++],P[K++]);return z}getUri(B){B=k(this.defaults,B);let G=W0(B.baseURL,B.url,B.allowAbsoluteUrls);return Y0(G,B.params,B.paramsSerializer)}}J.forEach(["delete","get","head","options"],function B(G){P0.prototype[G]=function($,Y){return this.request(k(Y||{},{method:G,url:$,data:(Y||{}).data}))}});J.forEach(["post","put","patch"],function B(G){function $(Y){return function X(Q,Z,W){return this.request(k(W||{},{method:G,headers:Y?{"Content-Type":"multipart/form-data"}:{},url:Q,data:Z}))}}P0.prototype[G]=$(),P0.prototype[G+"Form"]=$(!0)});var M0=P0;class B1{constructor(B){if(typeof B!=="function")throw new TypeError("executor must be a function.");let G;this.promise=new Promise(function Y(X){G=X});let $=this;this.promise.then((Y)=>{if(!$._listeners)return;let X=$._listeners.length;while(X-- >0)$._listeners[X](Y);$._listeners=null}),this.promise.then=(Y)=>{let X,Q=new Promise((Z)=>{$.subscribe(Z),X=Z}).then(Y);return Q.cancel=function Z(){$.unsubscribe(X)},Q},B(function Y(X,Q,Z){if($.reason)return;$.reason=new R(X,Q,Z),G($.reason)})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(B){if(this.reason){B(this.reason);return}if(this._listeners)this._listeners.push(B);else this._listeners=[B]}unsubscribe(B){if(!this._listeners)return;let G=this._listeners.indexOf(B);if(G!==-1)this._listeners.splice(G,1)}toAbortSignal(){let B=new AbortController,G=($)=>{B.abort($)};return this.subscribe(G),B.signal.unsubscribe=()=>this.unsubscribe(G),B.signal}static source(){let B;return{token:new B1(function $(Y){B=Y}),cancel:B}}}var s1=B1;function G1(B){return function G($){return B.apply(null,$)}}function $1(B){return J.isObject(B)&&B.isAxiosError===!0}var Y1={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Y1).forEach(([B,G])=>{Y1[G]=B});var a1=Y1;function t1(B){let G=new M0(B),$=B0(M0.prototype.request,G);return J.extend($,M0.prototype,G,{allOwnKeys:!0}),J.extend($,G,null,{allOwnKeys:!0}),$.create=function Y(X){return t1(k(B,X))},$}var C=t1(i);C.Axios=M0;C.CanceledError=R;C.CancelToken=s1;C.isCancel=J0;C.VERSION=T0;C.toFormData=m;C.AxiosError=E;C.Cancel=C.CanceledError;C.all=function B(G){return Promise.all(G)};C.spread=G1;C.isAxiosError=$1;C.mergeConfig=k;C.AxiosHeaders=D;C.formToJSON=(B)=>w0(J.isHTMLForm(B)?new FormData(B):B);C.getAdapter=O0.getAdapter;C.HttpStatusCode=a1;C.default=C;var X1=C;var D5="https://headless.tebex.io";async function O(B,G,$,Y,X,Q,Z,W){if(Z){for(let[K,M]of Object.entries(Z))if(typeof M==="boolean")Z[K]=M?1:0}let P={url:`${D5}/api/${X}/${Y}${Q??""}`,params:Z,method:$,data:W,headers:{"Content-Type":"application/json"}};if(B&&G)P.auth={username:B,password:G};return(await X1.request(P)).data}var e1=class{constructor(B,G){this.webstoreIdentifier=B,this.privateKey=G}async getCategories(B,G,$){let{data:Y}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts","/categories",{includePackages:B,basketIdent:G,ipAddress:$});return Y}async getCategory(B,G,$,Y){let{data:X}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts",`/categories/${B}`,{includePackages:G,basketIdent:$,ipAddress:Y});return X}async apply(B,G,$){return await O(this.webstoreIdentifier,this.privateKey,"post",this.webstoreIdentifier,"accounts",`/baskets/${B}/${G}`,{},$)}async remove(B,G,$){return await O(this.webstoreIdentifier,this.privateKey,"post",this.webstoreIdentifier,"accounts",`/baskets/${B}/${G}/remove`,{},$)}async getPackage(B,G,$){let{data:Y}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts",`/packages/${B}`,{basketIdent:G,ipAddress:$});return Y}async getPackages(B,G){let{data:$}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts","/packages",{basketIdent:B,ipAddress:G});return $}async getBasket(B){let{data:G}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts",`/baskets/${B}`);return G}async createBasket(B,G,$,Y,X){let{data:Q}=await O(this.webstoreIdentifier,this.privateKey,"post",this.webstoreIdentifier,"accounts","/baskets",{ip_address:X},{complete_url:B,cancel_url:G,custom:$,complete_auto_redirect:Y});return Q}async createMinecraftBasket(B,G,$,Y,X,Q){let{data:Z}=await O(this.webstoreIdentifier,this.privateKey,"post",this.webstoreIdentifier,"accounts","/baskets",{ip_address:Q},{username:B,complete_url:G,cancel_url:$,custom:Y,complete_auto_redirect:X});return Z}async getBasketAuthUrl(B,G){return await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts",`/baskets/${B}/auth`,{returnUrl:G})}async addPackageToBasket(B,G,$,Y,X){let{data:Q}=await O(this.webstoreIdentifier,this.privateKey,"post",B,"baskets","/packages",{},{package_id:G,quantity:$,type:Y,variable_data:X});return Q}async giftPackage(B,G,$){let{data:Y}=await O(this.webstoreIdentifier,this.privateKey,"post",B,"baskets","/packages",{},{package_id:G,target_username_id:$});return Y}async removePackage(B,G){let{data:$}=await O(this.webstoreIdentifier,this.privateKey,"post",B,"baskets","/packages/remove",{},{package_id:G});return $}async updateQuantity(B,G,$){let{data:Y}=await O(this.webstoreIdentifier,this.privateKey,"put",B,"baskets",`/packages/${G}`,{},{quantity:$});return Y}async getWebstore(){let{data:B}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts");return B}async getPages(){let{data:B}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts","/pages");return B}async updateTier(B,G){return await O(this.webstoreIdentifier,this.privateKey,"patch",this.webstoreIdentifier,"accounts",`/tiers/${B}`,{},{package_id:G})}};var Z1=null,A5=async()=>{if(!Z1){let B=process.env.NEXT_PUBLIC_TEBEX_PUBLIC_KEY;if(!B)throw new Error("Missing NEXT_PUBLIC_TEBEX_PUBLIC_KEY env variable");Z1=new e1(B)}return Z1},f=A5;var c=require("react");var b=y0(require("react")),x5=y0(require("react-dom"));function O5(B){if(!B||typeof document=="undefined")return;let G=document.head||document.getElementsByTagName("head")[0],$=document.createElement("style");$.type="text/css",G.appendChild($),$.styleSheet?$.styleSheet.cssText=B:$.appendChild(document.createTextNode(B))}var P$=Array(12).fill(0);var Q1=1;class B4{constructor(){this.subscribe=(B)=>{return this.subscribers.push(B),()=>{let G=this.subscribers.indexOf(B);this.subscribers.splice(G,1)}},this.publish=(B)=>{this.subscribers.forEach((G)=>G(B))},this.addToast=(B)=>{this.publish(B),this.toasts=[...this.toasts,B]},this.create=(B)=>{var G;let{message:$,...Y}=B,X=typeof(B==null?void 0:B.id)==="number"||((G=B.id)==null?void 0:G.length)>0?B.id:Q1++,Q=this.toasts.find((W)=>{return W.id===X}),Z=B.dismissible===void 0?!0:B.dismissible;if(this.dismissedToasts.has(X))this.dismissedToasts.delete(X);if(Q)this.toasts=this.toasts.map((W)=>{if(W.id===X)return this.publish({...W,...B,id:X,title:$}),{...W,...B,id:X,dismissible:Z,title:$};return W});else this.addToast({title:$,...Y,dismissible:Z,id:X});return X},this.dismiss=(B)=>{if(B)this.dismissedToasts.add(B),requestAnimationFrame(()=>this.subscribers.forEach((G)=>G({id:B,dismiss:!0})));else this.toasts.forEach((G)=>{this.subscribers.forEach(($)=>$({id:G.id,dismiss:!0}))});return B},this.message=(B,G)=>{return this.create({...G,message:B})},this.error=(B,G)=>{return this.create({...G,message:B,type:"error"})},this.success=(B,G)=>{return this.create({...G,type:"success",message:B})},this.info=(B,G)=>{return this.create({...G,type:"info",message:B})},this.warning=(B,G)=>{return this.create({...G,type:"warning",message:B})},this.loading=(B,G)=>{return this.create({...G,type:"loading",message:B})},this.promise=(B,G)=>{if(!G)return;let $=void 0;if(G.loading!==void 0)$=this.create({...G,promise:B,type:"loading",message:G.loading,description:typeof G.description!=="function"?G.description:void 0});let Y=Promise.resolve(B instanceof Function?B():B),X=$!==void 0,Q,Z=Y.then(async(P)=>{if(Q=["resolve",P],b.default.isValidElement(P))X=!1,this.create({id:$,type:"default",message:P});else if(j5(P)&&!P.ok){X=!1;let K=typeof G.error==="function"?await G.error(`HTTP error! status: ${P.status}`):G.error,M=typeof G.description==="function"?await G.description(`HTTP error! status: ${P.status}`):G.description,N=typeof K==="object"&&!b.default.isValidElement(K)?K:{message:K};this.create({id:$,type:"error",description:M,...N})}else if(P instanceof Error){X=!1;let K=typeof G.error==="function"?await G.error(P):G.error,M=typeof G.description==="function"?await G.description(P):G.description,N=typeof K==="object"&&!b.default.isValidElement(K)?K:{message:K};this.create({id:$,type:"error",description:M,...N})}else if(G.success!==void 0){X=!1;let K=typeof G.success==="function"?await G.success(P):G.success,M=typeof G.description==="function"?await G.description(P):G.description,N=typeof K==="object"&&!b.default.isValidElement(K)?K:{message:K};this.create({id:$,type:"success",description:M,...N})}}).catch(async(P)=>{if(Q=["reject",P],G.error!==void 0){X=!1;let z=typeof G.error==="function"?await G.error(P):G.error,K=typeof G.description==="function"?await G.description(P):G.description,F=typeof z==="object"&&!b.default.isValidElement(z)?z:{message:z};this.create({id:$,type:"error",description:K,...F})}}).finally(()=>{if(X)this.dismiss($),$=void 0;G.finally==null||G.finally.call(G)}),W=()=>new Promise((P,z)=>Z.then(()=>Q[0]==="reject"?z(Q[1]):P(Q[1])).catch(z));if(typeof $!=="string"&&typeof $!=="number")return{unwrap:W};else return Object.assign($,{unwrap:W})},this.custom=(B,G)=>{let $=(G==null?void 0:G.id)||Q1++;return this.create({jsx:B($),id:$,...G}),$},this.getActiveToasts=()=>{return this.toasts.filter((B)=>!this.dismissedToasts.has(B.id))},this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}var j=new B4,T5=(B,G)=>{let $=(G==null?void 0:G.id)||Q1++;return j.addToast({title:B,...G,id:$}),$},j5=(B)=>{return B&&typeof B==="object"&&"ok"in B&&typeof B.ok==="boolean"&&"status"in B&&typeof B.status==="number"},_5=T5,k5=()=>j.toasts,R5=()=>j.getActiveToasts(),v=Object.assign(_5,{success:j.success,info:j.info,warning:j.warning,error:j.error,custom:j.custom,message:j.message,promise:j.promise,dismiss:j.dismiss,loading:j.loading},{getHistory:k5,getToasts:R5});O5("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");var y5=async({username:B,completeUrl:G,cancelUrl:$,custom:Y,completeAutoRedirect:X,ipAddress:Q})=>{return(await f()).createMinecraftBasket(B,G,$,Y,X,Q)},b5=async(B)=>{return(await f()).getBasket(B)},v5=async(B,G,$,Y,X)=>{return(await f()).addPackageToBasket(B,G,$??1,Y,X)},h5=async(B,G,$)=>{return(await f()).updateQuantity(B,G,$-1>=0?$-1:0)},f5={createBasket:y5,getBasket:b5,addPackageToBasket:v5,removePackageFromBasket:h5},g=f5;var G4=(B)=>{let G,$=new Set,Y=(z,K)=>{let M=typeof z==="function"?z(G):z;if(!Object.is(M,G)){let F=G;G=(K!=null?K:typeof M!=="object"||M===null)?M:Object.assign({},G,M),$.forEach((N)=>N(G,F))}},X=()=>G,W={setState:Y,getState:X,getInitialState:()=>P,subscribe:(z)=>{return $.add(z),()=>$.delete(z)}},P=G=B(Y,X,W);return W},$4=(B)=>B?G4(B):G4;var J1=y0(require("react"));var m5=(B)=>B;function g5(B,G=m5){let $=J1.default.useSyncExternalStore(B.subscribe,()=>G(B.getState()),()=>G(B.getInitialState()));return J1.default.useDebugValue($),$}var Y4=(B)=>{let G=$4(B),$=(Y)=>g5(G,Y);return Object.assign($,G),$},s=(B)=>B?Y4(B):Y4;var u5=(B)=>(G,$,Y)=>{let X=Y.subscribe;return Y.subscribe=(Z,W,P)=>{let z=Z;if(W){let K=(P==null?void 0:P.equalityFn)||Object.is,M=Z(Y.getState());if(z=(F)=>{let N=Z(F);if(!K(M,N)){let H=M;W(M=N,H)}},P==null?void 0:P.fireImmediately)W(M,M)}return X(z)},B(G,$,Y)},a=u5;function l5(B,G){let $;try{$=B()}catch(X){return}return{getItem:(X)=>{var Q;let Z=(P)=>{if(P===null)return null;return JSON.parse(P,G==null?void 0:G.reviver)},W=(Q=$.getItem(X))!=null?Q:null;if(W instanceof Promise)return W.then(Z);return Z(W)},setItem:(X,Q)=>$.setItem(X,JSON.stringify(Q,G==null?void 0:G.replacer)),removeItem:(X)=>$.removeItem(X)}}var z1=(B)=>(G)=>{try{let $=B(G);if($ instanceof Promise)return $;return{then(Y){return z1(Y)($)},catch(Y){return this}}}catch($){return{then(Y){return this},catch(Y){return z1(Y)($)}}}},p5=(B,G)=>($,Y,X)=>{let Q={storage:l5(()=>localStorage),partialize:(V)=>V,version:0,merge:(V,U)=>({...U,...V}),...G},Z=!1,W=new Set,P=new Set,z=Q.storage;if(!z)return B((...V)=>{console.warn(`[zustand persist middleware] Unable to update item '${Q.name}', the given storage is currently unavailable.`),$(...V)},Y,X);let K=()=>{let V=Q.partialize({...Y()});return z.setItem(Q.name,{state:V,version:Q.version})},M=X.setState;X.setState=(V,U)=>{M(V,U),K()};let F=B((...V)=>{$(...V),K()},Y,X);X.getInitialState=()=>F;let N,H=()=>{var V,U;if(!z)return;Z=!1,W.forEach((L)=>{var I;return L((I=Y())!=null?I:F)});let q=((U=Q.onRehydrateStorage)==null?void 0:U.call(Q,(V=Y())!=null?V:F))||void 0;return z1(z.getItem.bind(z))(Q.name).then((L)=>{if(L)if(typeof L.version==="number"&&L.version!==Q.version){if(Q.migrate){let I=Q.migrate(L.state,L.version);if(I instanceof Promise)return I.then((S)=>[!0,S]);return[!0,I]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,L.state];return[!1,void 0]}).then((L)=>{var I;let[S,A]=L;if(N=Q.merge(A,(I=Y())!=null?I:F),$(N,!0),S)return K()}).then(()=>{q==null||q(N,void 0),N=Y(),Z=!0,P.forEach((L)=>L(N))}).catch((L)=>{q==null||q(void 0,L)})};if(X.persist={setOptions:(V)=>{if(Q={...Q,...V},V.storage)z=V.storage},clearStorage:()=>{z==null||z.removeItem(Q.name)},getOptions:()=>Q,rehydrate:()=>H(),hasHydrated:()=>Z,onHydrate:(V)=>{return W.add(V),()=>{W.delete(V)}},onFinishHydration:(V)=>{return P.add(V),()=>{P.delete(V)}}},!Q.skipHydration)H();return N||F},_0=p5;var c5=s()(a(_0((B)=>({basketIdent:null,setBasketIdent:(G)=>B({basketIdent:G}),clearBasketIdent:()=>B({basketIdent:null})}),{name:"shop-basket-store"}))),p=c5;var d5=s()(a((B)=>({isGlobalLoading:!1,setIsGlobalLoading:(G)=>B({isGlobalLoading:G}),isCreatingBasket:!1,setIsCreatingBasket:(G)=>B({isCreatingBasket:G})}))),U0=d5;var n5=s()(a(_0((B)=>({username:"",setUsername:(G)=>B({username:G}),clearUsername:()=>B({username:""})}),{name:"shop-user-store"}))),t=n5;var X4=require("react");var r5=async({includePackages:B,basketIdent:G,ipAddress:$})=>{return(await f()).getCategories(B,G,$)},i5={getCategories:r5},k0=i5;var o5=async(B)=>{let{isCreatingBasket:G,setIsCreatingBasket:$,setBasketIdent:Y,createBasket:X,username:Q}=B;if(G)return null;let{completeUrl:Z,cancelUrl:W}=a5();try{$(!0);let P=await X({username:Q,completeUrl:Z,cancelUrl:W,completeAutoRedirect:!1,ipAddress:""});if(!P?.ident)return v.error("Une erreur est survenue lors de la création du panier"),null;return Y(P.ident),P}catch{return v.error("Erreur lors de la création du panier. Contactez le support si le problème persiste."),null}finally{$(!1)}},s5=(B)=>{let G=U0((Z)=>Z.isCreatingBasket),$=U0((Z)=>Z.setIsCreatingBasket),Y=p((Z)=>Z.setBasketIdent),X=t((Z)=>Z.username);return X4.useCallback(()=>o5({isCreatingBasket:G,setIsCreatingBasket:$,setBasketIdent:Y,createBasket:g.createBasket,username:B??X}),[G,$,Y,B,X])},a5=()=>{if(!process.env.NEXT_PUBLIC_APP_URL)throw new Error("NEXT_PUBLIC_APP_URL is not set");return{completeUrl:`${process.env.NEXT_PUBLIC_APP_URL}/shop/complete-purchase`,cancelUrl:`${process.env.NEXT_PUBLIC_APP_URL}/shop/cancel-purchase`}},R0=s5;var t5=(B)=>{let G=p((L)=>L.basketIdent),$=p((L)=>L.setBasketIdent),Y=t((L)=>L.username),[X,Q]=c.useState(null),[Z,W]=c.useState(!1),[P,z]=c.useState(null),[K,M]=c.useState(!1),F=R0(B??Y),N=async(L)=>{W(!0);try{let I=await g.getBasket(L);if(I.complete){Q(null),$("");return}Q(I),$(I.ident),z(null)}catch(I){z(I),Q(null),$("")}finally{W(!1)}},H=async(L,I,S,A)=>{if(K)return;try{if(M(!0),!B&&!Y){v.error("Vous devez vous connecter pour ajouter des articles à votre panier");return}let x=null;if(!G){if(x=(await F())?.ident??null,!x){v.error("Une erreur est survenue lors de la création du panier");return}$(x),await N(x)}else await N(G),x=G;if(!x){v.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let h=g.addPackageToBasket(x,L,I,S,A)?.then((d)=>{Q(d),U()});v.promise(h,{loading:"Ajout de l'article dans votre panier...",success:"Article ajouté avec succès !",error:"Une erreur est survenue lors de l'ajout de l'article dans votre panier"})}finally{M(!1)}},V=async(L)=>{if(K)return;try{if(M(!0),!G){v.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let I=g.removePackageFromBasket(G,L,X?.packages.find((S)=>S.id===L)?.in_basket.quantity??0)?.then((S)=>{Q(S),U()});v.promise(I,{loading:"Suppression de l'article de votre panier...",success:"Article supprimé avec succès !",error:"Une erreur est survenue lors de la suppression de l'article de votre panier"})}finally{M(!1)}},U=()=>{if(G)N(G)},q=(L)=>{Q(L)};return c.useEffect(()=>{if(!G)return;N(G)},[G]),{basket:X,loading:Z,error:P,updateManualBasket:q,addPackageToBasket:H,removePackageFromBasket:V,refetch:U}},Z4=t5;var u=require("react");var e5=(B)=>{let[G,$]=u.useState(null),[Y,X]=u.useState(!0),[Q,Z]=u.useState(null),W=async()=>{X(!0),Z(null);try{let z=await k0.getCategories(B);$(z)}catch(z){Z(z),$(null)}finally{X(!1)}};u.useEffect(()=>{W()},[]);let P=u.useCallback((z)=>G?.find((K)=>K.name.toLowerCase()===z.toLowerCase()),[G]);return{categories:G,loading:Y,error:Q,getByName:P,refetch:W}},Q4=e5;
1
+ var{defineProperty:T,getOwnPropertyNames:E,getOwnPropertyDescriptor:I}=Object,Q=Object.prototype.hasOwnProperty;var W=new WeakMap,ee=(r)=>{var e=W.get(r),t;if(e)return e;if(e=T({},"__esModule",{value:!0}),r&&typeof r==="object"||typeof r==="function")E(r).map((s)=>!Q.call(e,s)&&T(e,s,{get:()=>r[s],enumerable:!(t=I(r,s))||t.enumerable}));return W.set(r,e),e};var re=(r,e)=>{for(var t in e)T(r,t,{get:e[t],enumerable:!0,configurable:!0,set:(s)=>e[t]=()=>s})};var Ue={};re(Ue,{useShopUserStore:()=>U,useShopUiStore:()=>S,useShopBasketStore:()=>C,useCreateBasket:()=>G,useCategories:()=>M,useBasket:()=>J,getTebex:()=>p,categoriesService:()=>P,basketService:()=>x});module.exports=ee(Ue);var te=require("tebex_headless"),R=null;var oe=()=>{if(!R)throw Error("Tebex client not initialized. Call initTebex(publicKey) first.");return R},p=oe;var b=require("react"),B=require("sonner");var se=async({username:r,completeUrl:e,cancelUrl:t,custom:s,completeAutoRedirect:i,ipAddress:m})=>{return(await p()).createMinecraftBasket(r,e,t,s,i,m)},ae=async(r)=>{return(await p()).getBasket(r)},ne=async(r,e,t,s,i)=>{return(await p()).addPackageToBasket(r,e,t??1,s,i)},ie=async(r,e,t)=>{return(await p()).updateQuantity(r,e,t-1>=0?t-1:0)},le={createBasket:se,getBasket:ae,addPackageToBasket:ne,removePackageFromBasket:ie},x=le;var F=require("zustand"),d=require("zustand/middleware"),ce=F.create()(d.subscribeWithSelector(d.persist((r)=>({basketIdent:null,setBasketIdent:(e)=>r({basketIdent:e}),clearBasketIdent:()=>r({basketIdent:null})}),{name:"shop-basket-store"}))),C=ce;var K=require("zustand"),j=require("zustand/middleware"),me=K.create()(j.subscribeWithSelector((r)=>({isGlobalLoading:!1,setIsGlobalLoading:(e)=>r({isGlobalLoading:e}),isCreatingBasket:!1,setIsCreatingBasket:(e)=>r({isCreatingBasket:e})}))),S=me;var q=require("zustand"),w=require("zustand/middleware"),pe=q.create()(w.subscribeWithSelector(w.persist((r)=>({username:"",setUsername:(e)=>r({username:e}),clearUsername:()=>r({username:""})}),{name:"shop-user-store"}))),U=pe;var D=require("react"),L=require("sonner");var y=null;var fe=async({includePackages:r,basketIdent:e,ipAddress:t})=>{return(await p()).getCategories(r,e,t)},ge={getCategories:fe},P=ge;var ue=async(r)=>{let{isCreatingBasket:e,setIsCreatingBasket:t,setBasketIdent:s,createBasket:i,username:m}=r;if(e)return null;let{completeUrl:o,cancelUrl:g}=Ce();try{t(!0);let c=await i({username:m,completeUrl:o,cancelUrl:g,completeAutoRedirect:!1,ipAddress:""});if(!c?.ident)return L.toast.error("Une erreur est survenue lors de la création du panier"),null;return s(c.ident),c}catch{return L.toast.error("Erreur lors de la création du panier. Contactez le support si le problème persiste."),null}finally{t(!1)}},xe=(r)=>{let e=S((o)=>o.isCreatingBasket),t=S((o)=>o.setIsCreatingBasket),s=C((o)=>o.setBasketIdent),i=U((o)=>o.username);return D.useCallback(()=>ue({isCreatingBasket:e,setIsCreatingBasket:t,setBasketIdent:s,createBasket:x.createBasket,username:r??i}),[e,t,s,r,i])},Ce=()=>{if(!y)throw Error("Shop URLs not initialized. Call initShopUrls(baseUrl, paths?: { complete?: string; cancel?: string }) first.");return{completeUrl:y.completeUrl,cancelUrl:y.cancelUrl}},G=xe;var Be=(r)=>{let[e,t]=b.useState(null),[s,i]=b.useState(!1),[m,o]=b.useState(null),[g,c]=b.useState(!1),n=C((a)=>a.basketIdent),k=C((a)=>a.setBasketIdent),N=U((a)=>a.username),v=r??N,O=G(v),A=C((a)=>a.clearBasketIdent),H=async(a)=>{i(!0),o(null);try{let l=await x.getBasket(a);if(l.complete){t(null),A(),o(null);return}t(l),k(l.ident),o(null)}catch(l){o(l),t(null),A()}finally{i(!1)}},V=async(a,l,h,_)=>{if(g)return;try{if(c(!0),!v){B.toast.error("Vous devez vous connecter pour ajouter des articles à votre panier");return}let u=null;if(!n){if(u=(await O())?.ident??null,!u){B.toast.error("Une erreur est survenue lors de la création du panier");return}k(u)}else u=n;if(!u){B.toast.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let z=x.addPackageToBasket(u,a,l,h,_);B.toast.promise(z,{loading:"Ajout de l'article dans votre panier...",success:"Article ajouté avec succès !",error:"Une erreur est survenue lors de l'ajout de l'article dans votre panier"});let $=await z;t($),o(null)}catch(u){o(u)}finally{c(!1)}},X=async(a)=>{if(g)return;try{if(c(!0),!n){B.toast.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let l=x.removePackageFromBasket(n,a,e?.packages.find((h)=>h.id===a)?.in_basket.quantity??0);l.then((h)=>{t(h),o(null)}),B.toast.promise(l,{loading:"Suppression de l'article de votre panier...",success:"Article supprimé avec succès !",error:"Une erreur est survenue lors de la suppression de l'article de votre panier"})}catch(l){o(l)}finally{c(!1)}},Y=async()=>{if(n)await H(n)},Z=(a)=>{t(a)};return b.useEffect(()=>{if(!n)return;H(n)},[n]),{basket:e,loading:s,error:m,updateManualBasket:Z,addPackageToBasket:V,removePackageFromBasket:X,refetch:Y}},J=Be;var f=require("react");var be=(r)=>{let[e,t]=f.useState(null),[s,i]=f.useState(!0),[m,o]=f.useState(null),g=f.useCallback(async()=>{i(!0),o(null);try{let n=await P.getCategories(r);t(n)}catch(n){o(n),t(null)}finally{i(!1)}},[r]);f.useEffect(()=>{g()},[g]);let c=f.useCallback((n)=>e?.find((k)=>k.name.toLowerCase()===n.toLowerCase()),[e]);return{categories:e,loading:s,error:m,getByName:c,refetch:g}},M=be;
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { Basket, Category, InBasket, Package, PackageType, TebexHeadless } from 'tebex_headless';
4
4
 
5
- export declare const getTebex: () => Promise<TebexHeadless>;
5
+ export declare const getTebex: () => TebexHeadless;
6
6
  export interface UseBasketResult {
7
7
  basket: Basket | null;
8
8
  loading: boolean;
@@ -10,7 +10,7 @@ export interface UseBasketResult {
10
10
  addPackageToBasket: (packageId: Package["id"], quantity?: InBasket["quantity"], type?: PackageType, variableData?: Record<string, string>) => Promise<void>;
11
11
  removePackageFromBasket: (packageId: Package["id"]) => Promise<void>;
12
12
  updateManualBasket: (basket: Basket | null) => void;
13
- refetch: () => void;
13
+ refetch: () => Promise<void>;
14
14
  }
15
15
  export declare const useBasket: (username: string | null) => UseBasketResult;
16
16
  export interface CreateBasketProps {
package/dist/index.js CHANGED
@@ -1,6 +1 @@
1
- var t1=Object.defineProperty;var e1=(B,G)=>{for(var $ in G)t1(B,$,{get:G[$],enumerable:!0,configurable:!0,set:(Y)=>G[$]=()=>Y})};function s(B,G){return function $(){return B.apply(G,arguments)}}var{toString:B4}=Object.prototype,{getPrototypeOf:_0}=Object,{iterator:P0,toStringTag:z1}=Symbol,M0=((B)=>(G)=>{let $=B4.call(G);return B[$]||(B[$]=$.slice(8,-1).toLowerCase())})(Object.create(null)),_=(B)=>{return B=B.toLowerCase(),(G)=>M0(G)===B},U0=(B)=>(G)=>typeof G===B,{isArray:p}=Array,a=U0("undefined");function G4(B){return B!==null&&!a(B)&&B.constructor!==null&&!a(B.constructor)&&T(B.constructor.isBuffer)&&B.constructor.isBuffer(B)}var W1=_("ArrayBuffer");function $4(B){let G;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView)G=ArrayBuffer.isView(B);else G=B&&B.buffer&&W1(B.buffer);return G}var Y4=U0("string"),T=U0("function"),K1=U0("number"),V0=(B)=>B!==null&&typeof B==="object",X4=(B)=>B===!0||B===!1,K0=(B)=>{if(M0(B)!=="object")return!1;let G=_0(B);return(G===null||G===Object.prototype||Object.getPrototypeOf(G)===null)&&!(z1 in B)&&!(P0 in B)},Z4=_("Date"),Q4=_("File"),J4=_("Blob"),z4=_("FileList"),W4=(B)=>V0(B)&&T(B.pipe),K4=(B)=>{let G;return B&&(typeof FormData==="function"&&B instanceof FormData||T(B.append)&&((G=M0(B))==="formdata"||G==="object"&&T(B.toString)&&B.toString()==="[object FormData]"))},P4=_("URLSearchParams"),[M4,U4,V4,H4]=["ReadableStream","Request","Response","Headers"].map(_),N4=(B)=>B.trim?B.trim():B.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function t(B,G,{allOwnKeys:$=!1}={}){if(B===null||typeof B==="undefined")return;let Y,X;if(typeof B!=="object")B=[B];if(p(B))for(Y=0,X=B.length;Y<X;Y++)G.call(null,B[Y],Y,B);else{let Q=$?Object.getOwnPropertyNames(B):Object.keys(B),Z=Q.length,W;for(Y=0;Y<Z;Y++)W=Q[Y],G.call(null,B[W],W,B)}}function P1(B,G){G=G.toLowerCase();let $=Object.keys(B),Y=$.length,X;while(Y-- >0)if(X=$[Y],G===X.toLowerCase())return X;return null}var g=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})(),M1=(B)=>!a(B)&&B!==g;function j0(){let{caseless:B}=M1(this)&&this||{},G={},$=(Y,X)=>{let Q=B&&P1(G,X)||X;if(K0(G[Q])&&K0(Y))G[Q]=j0(G[Q],Y);else if(K0(Y))G[Q]=j0({},Y);else if(p(Y))G[Q]=Y.slice();else G[Q]=Y};for(let Y=0,X=arguments.length;Y<X;Y++)arguments[Y]&&t(arguments[Y],$);return G}var L4=(B,G,$,{allOwnKeys:Y}={})=>{return t(G,(X,Q)=>{if($&&T(X))B[Q]=s(X,$);else B[Q]=X},{allOwnKeys:Y}),B},E4=(B)=>{if(B.charCodeAt(0)===65279)B=B.slice(1);return B},F4=(B,G,$,Y)=>{B.prototype=Object.create(G.prototype,Y),B.prototype.constructor=B,Object.defineProperty(B,"super",{value:G.prototype}),$&&Object.assign(B.prototype,$)},I4=(B,G,$,Y)=>{let X,Q,Z,W={};if(G=G||{},B==null)return G;do{X=Object.getOwnPropertyNames(B),Q=X.length;while(Q-- >0)if(Z=X[Q],(!Y||Y(Z,B,G))&&!W[Z])G[Z]=B[Z],W[Z]=!0;B=$!==!1&&_0(B)}while(B&&(!$||$(B,G))&&B!==Object.prototype);return G},q4=(B,G,$)=>{if(B=String(B),$===void 0||$>B.length)$=B.length;$-=G.length;let Y=B.indexOf(G,$);return Y!==-1&&Y===$},w4=(B)=>{if(!B)return null;if(p(B))return B;let G=B.length;if(!K1(G))return null;let $=new Array(G);while(G-- >0)$[G]=B[G];return $},C4=((B)=>{return(G)=>{return B&&G instanceof B}})(typeof Uint8Array!=="undefined"&&_0(Uint8Array)),S4=(B,G)=>{let Y=(B&&B[P0]).call(B),X;while((X=Y.next())&&!X.done){let Q=X.value;G.call(B,Q[0],Q[1])}},D4=(B,G)=>{let $,Y=[];while(($=B.exec(G))!==null)Y.push($);return Y},A4=_("HTMLFormElement"),O4=(B)=>{return B.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function G($,Y,X){return Y.toUpperCase()+X})},J1=(({hasOwnProperty:B})=>(G,$)=>B.call(G,$))(Object.prototype),x4=_("RegExp"),U1=(B,G)=>{let $=Object.getOwnPropertyDescriptors(B),Y={};t($,(X,Q)=>{let Z;if((Z=G(X,Q,B))!==!1)Y[Q]=Z||X}),Object.defineProperties(B,Y)},T4=(B)=>{U1(B,(G,$)=>{if(T(B)&&["arguments","caller","callee"].indexOf($)!==-1)return!1;let Y=B[$];if(!T(Y))return;if(G.enumerable=!1,"writable"in G){G.writable=!1;return}if(!G.set)G.set=()=>{throw Error("Can not rewrite read-only method '"+$+"'")}})},j4=(B,G)=>{let $={},Y=(X)=>{X.forEach((Q)=>{$[Q]=!0})};return p(B)?Y(B):Y(String(B).split(G)),$},_4=()=>{},k4=(B,G)=>{return B!=null&&Number.isFinite(B=+B)?B:G};function R4(B){return!!(B&&T(B.append)&&B[z1]==="FormData"&&B[P0])}var y4=(B)=>{let G=new Array(10),$=(Y,X)=>{if(V0(Y)){if(G.indexOf(Y)>=0)return;if(!("toJSON"in Y)){G[X]=Y;let Q=p(Y)?[]:{};return t(Y,(Z,W)=>{let P=$(Z,X+1);!a(P)&&(Q[W]=P)}),G[X]=void 0,Q}}return Y};return $(B,0)},b4=_("AsyncFunction"),v4=(B)=>B&&(V0(B)||T(B))&&T(B.then)&&T(B.catch),V1=((B,G)=>{if(B)return setImmediate;return G?(($,Y)=>{return g.addEventListener("message",({source:X,data:Q})=>{if(X===g&&Q===$)Y.length&&Y.shift()()},!1),(X)=>{Y.push(X),g.postMessage($,"*")}})(`axios@${Math.random()}`,[]):($)=>setTimeout($)})(typeof setImmediate==="function",T(g.postMessage)),h4=typeof queueMicrotask!=="undefined"?queueMicrotask.bind(g):typeof process!=="undefined"&&process.nextTick||V1,f4=(B)=>B!=null&&T(B[P0]),J={isArray:p,isArrayBuffer:W1,isBuffer:G4,isFormData:K4,isArrayBufferView:$4,isString:Y4,isNumber:K1,isBoolean:X4,isObject:V0,isPlainObject:K0,isReadableStream:M4,isRequest:U4,isResponse:V4,isHeaders:H4,isUndefined:a,isDate:Z4,isFile:Q4,isBlob:J4,isRegExp:x4,isFunction:T,isStream:W4,isURLSearchParams:P4,isTypedArray:C4,isFileList:z4,forEach:t,merge:j0,extend:L4,trim:N4,stripBOM:E4,inherits:F4,toFlatObject:I4,kindOf:M0,kindOfTest:_,endsWith:q4,toArray:w4,forEachEntry:S4,matchAll:D4,isHTMLForm:A4,hasOwnProperty:J1,hasOwnProp:J1,reduceDescriptors:U1,freezeMethods:T4,toObjectSet:j4,toCamelCase:O4,noop:_4,toFiniteNumber:k4,findKey:P1,global:g,isContextDefined:M1,isSpecCompliantForm:R4,toJSONObject:y4,isAsyncFn:b4,isThenable:v4,setImmediate:V1,asap:h4,isIterable:f4};function c(B,G,$,Y,X){if(Error.call(this),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=new Error().stack;if(this.message=B,this.name="AxiosError",G&&(this.code=G),$&&(this.config=$),Y&&(this.request=Y),X)this.response=X,this.status=X.status?X.status:null}J.inherits(c,Error,{toJSON:function B(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:J.toJSONObject(this.config),code:this.code,status:this.status}}});var H1=c.prototype,N1={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((B)=>{N1[B]={value:B}});Object.defineProperties(c,N1);Object.defineProperty(H1,"isAxiosError",{value:!0});c.from=(B,G,$,Y,X,Q)=>{let Z=Object.create(H1);return J.toFlatObject(B,Z,function W(P){return P!==Error.prototype},(W)=>{return W!=="isAxiosError"}),c.call(Z,B.message,G,$,Y,X),Z.cause=B,Z.name=B.name,Q&&Object.assign(Z,Q),Z};var E=c;var H0=null;function k0(B){return J.isPlainObject(B)||J.isArray(B)}function E1(B){return J.endsWith(B,"[]")?B.slice(0,-2):B}function L1(B,G,$){if(!B)return G;return B.concat(G).map(function Y(X,Q){return X=E1(X),!$&&Q?"["+X+"]":X}).join($?".":"")}function m4(B){return J.isArray(B)&&!B.some(k0)}var g4=J.toFlatObject(J,{},null,function B(G){return/^is[A-Z]/.test(G)});function u4(B,G,$){if(!J.isObject(B))throw new TypeError("target must be an object");G=G||new(H0||FormData),$=J.toFlatObject($,{metaTokens:!0,dots:!1,indexes:!1},!1,function H(V,U){return!J.isUndefined(U[V])});let Y=$.metaTokens,X=$.visitor||K,Q=$.dots,Z=$.indexes,P=($.Blob||typeof Blob!=="undefined"&&Blob)&&J.isSpecCompliantForm(G);if(!J.isFunction(X))throw new TypeError("visitor must be a function");function z(H){if(H===null)return"";if(J.isDate(H))return H.toISOString();if(J.isBoolean(H))return H.toString();if(!P&&J.isBlob(H))throw new E("Blob is not supported. Use a Buffer instead.");if(J.isArrayBuffer(H)||J.isTypedArray(H))return P&&typeof Blob==="function"?new Blob([H]):Buffer.from(H);return H}function K(H,V,U){let q=H;if(H&&!U&&typeof H==="object"){if(J.endsWith(V,"{}"))V=Y?V:V.slice(0,-2),H=JSON.stringify(H);else if(J.isArray(H)&&m4(H)||(J.isFileList(H)||J.endsWith(V,"[]"))&&(q=J.toArray(H)))return V=E1(V),q.forEach(function L(I,S){!(J.isUndefined(I)||I===null)&&G.append(Z===!0?L1([V],S,Q):Z===null?V:V+"[]",z(I))}),!1}if(k0(H))return!0;return G.append(L1(U,V,Q),z(H)),!1}let M=[],F=Object.assign(g4,{defaultVisitor:K,convertValue:z,isVisitable:k0});function N(H,V){if(J.isUndefined(H))return;if(M.indexOf(H)!==-1)throw Error("Circular reference detected in "+V.join("."));M.push(H),J.forEach(H,function U(q,L){if((!(J.isUndefined(q)||q===null)&&X.call(G,q,J.isString(L)?L.trim():L,V,F))===!0)N(q,V?V.concat(L):[L])}),M.pop()}if(!J.isObject(B))throw new TypeError("data must be an object");return N(B),G}var f=u4;function F1(B){let G={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\x00"};return encodeURIComponent(B).replace(/[!'()~]|%20|%00/g,function $(Y){return G[Y]})}function I1(B,G){this._pairs=[],B&&f(B,this,G)}var q1=I1.prototype;q1.append=function B(G,$){this._pairs.push([G,$])};q1.toString=function B(G){let $=G?function(Y){return G.call(this,Y,F1)}:F1;return this._pairs.map(function Y(X){return $(X[0])+"="+$(X[1])},"").join("&")};var N0=I1;function l4(B){return encodeURIComponent(B).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function e(B,G,$){if(!G)return B;let Y=$&&$.encode||l4;if(J.isFunction($))$={serialize:$};let X=$&&$.serialize,Q;if(X)Q=X(G,$);else Q=J.isURLSearchParams(G)?G.toString():new N0(G,$).toString(Y);if(Q){let Z=B.indexOf("#");if(Z!==-1)B=B.slice(0,Z);B+=(B.indexOf("?")===-1?"?":"&")+Q}return B}class w1{constructor(){this.handlers=[]}use(B,G,$){return this.handlers.push({fulfilled:B,rejected:G,synchronous:$?$.synchronous:!1,runWhen:$?$.runWhen:null}),this.handlers.length-1}eject(B){if(this.handlers[B])this.handlers[B]=null}clear(){if(this.handlers)this.handlers=[]}forEach(B){J.forEach(this.handlers,function G($){if($!==null)B($)})}}var R0=w1;var L0={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var C1=typeof URLSearchParams!=="undefined"?URLSearchParams:N0;var S1=typeof FormData!=="undefined"?FormData:null;var D1=typeof Blob!=="undefined"?Blob:null;var A1={isBrowser:!0,classes:{URLSearchParams:C1,FormData:S1,Blob:D1},protocols:["http","https","file","blob","url","data"]};var v0={};e1(v0,{origin:()=>d4,navigator:()=>y0,hasStandardBrowserWebWorkerEnv:()=>c4,hasStandardBrowserEnv:()=>p4,hasBrowserEnv:()=>b0});var b0=typeof window!=="undefined"&&typeof document!=="undefined",y0=typeof navigator==="object"&&navigator||void 0,p4=b0&&(!y0||["ReactNative","NativeScript","NS"].indexOf(y0.product)<0),c4=(()=>{return typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function"})(),d4=b0&&window.location.href||"http://localhost";var w={...v0,...A1};function h0(B,G){return f(B,new w.classes.URLSearchParams,Object.assign({visitor:function($,Y,X,Q){if(w.isNode&&J.isBuffer($))return this.append(Y,$.toString("base64")),!1;return Q.defaultVisitor.apply(this,arguments)}},G))}function n4(B){return J.matchAll(/\w+|\[(\w*)]/g,B).map((G)=>{return G[0]==="[]"?"":G[1]||G[0]})}function r4(B){let G={},$=Object.keys(B),Y,X=$.length,Q;for(Y=0;Y<X;Y++)Q=$[Y],G[Q]=B[Q];return G}function i4(B){function G($,Y,X,Q){let Z=$[Q++];if(Z==="__proto__")return!0;let W=Number.isFinite(+Z),P=Q>=$.length;if(Z=!Z&&J.isArray(X)?X.length:Z,P){if(J.hasOwnProp(X,Z))X[Z]=[X[Z],Y];else X[Z]=Y;return!W}if(!X[Z]||!J.isObject(X[Z]))X[Z]=[];if(G($,Y,X[Z],Q)&&J.isArray(X[Z]))X[Z]=r4(X[Z]);return!W}if(J.isFormData(B)&&J.isFunction(B.entries)){let $={};return J.forEachEntry(B,(Y,X)=>{G(n4(Y),X,$,0)}),$}return null}var E0=i4;function o4(B,G,$){if(J.isString(B))try{return(G||JSON.parse)(B),J.trim(B)}catch(Y){if(Y.name!=="SyntaxError")throw Y}return($||JSON.stringify)(B)}var f0={transitional:L0,adapter:["xhr","http","fetch"],transformRequest:[function B(G,$){let Y=$.getContentType()||"",X=Y.indexOf("application/json")>-1,Q=J.isObject(G);if(Q&&J.isHTMLForm(G))G=new FormData(G);if(J.isFormData(G))return X?JSON.stringify(E0(G)):G;if(J.isArrayBuffer(G)||J.isBuffer(G)||J.isStream(G)||J.isFile(G)||J.isBlob(G)||J.isReadableStream(G))return G;if(J.isArrayBufferView(G))return G.buffer;if(J.isURLSearchParams(G))return $.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),G.toString();let W;if(Q){if(Y.indexOf("application/x-www-form-urlencoded")>-1)return h0(G,this.formSerializer).toString();if((W=J.isFileList(G))||Y.indexOf("multipart/form-data")>-1){let P=this.env&&this.env.FormData;return f(W?{"files[]":G}:G,P&&new P,this.formSerializer)}}if(Q||X)return $.setContentType("application/json",!1),o4(G);return G}],transformResponse:[function B(G){let $=this.transitional||f0.transitional,Y=$&&$.forcedJSONParsing,X=this.responseType==="json";if(J.isResponse(G)||J.isReadableStream(G))return G;if(G&&J.isString(G)&&(Y&&!this.responseType||X)){let Z=!($&&$.silentJSONParsing)&&X;try{return JSON.parse(G)}catch(W){if(Z){if(W.name==="SyntaxError")throw E.from(W,E.ERR_BAD_RESPONSE,this,null,this.response);throw W}}}return G}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:w.classes.FormData,Blob:w.classes.Blob},validateStatus:function B(G){return G>=200&&G<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};J.forEach(["delete","get","head","post","put","patch"],(B)=>{f0.headers[B]={}});var d=f0;var s4=J.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),O1=(B)=>{let G={},$,Y,X;return B&&B.split(`
2
- `).forEach(function Q(Z){if(X=Z.indexOf(":"),$=Z.substring(0,X).trim().toLowerCase(),Y=Z.substring(X+1).trim(),!$||G[$]&&s4[$])return;if($==="set-cookie")if(G[$])G[$].push(Y);else G[$]=[Y];else G[$]=G[$]?G[$]+", "+Y:Y}),G};var x1=Symbol("internals");function B0(B){return B&&String(B).trim().toLowerCase()}function F0(B){if(B===!1||B==null)return B;return J.isArray(B)?B.map(F0):String(B)}function a4(B){let G=Object.create(null),$=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,Y;while(Y=$.exec(B))G[Y[1]]=Y[2];return G}var t4=(B)=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(B.trim());function m0(B,G,$,Y,X){if(J.isFunction(Y))return Y.call(this,G,$);if(X)G=$;if(!J.isString(G))return;if(J.isString(Y))return G.indexOf(Y)!==-1;if(J.isRegExp(Y))return Y.test(G)}function e4(B){return B.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(G,$,Y)=>{return $.toUpperCase()+Y})}function B5(B,G){let $=J.toCamelCase(" "+G);["get","set","has"].forEach((Y)=>{Object.defineProperty(B,Y+$,{value:function(X,Q,Z){return this[Y].call(this,G,X,Q,Z)},configurable:!0})})}class G0{constructor(B){B&&this.set(B)}set(B,G,$){let Y=this;function X(Z,W,P){let z=B0(W);if(!z)throw new Error("header name must be a non-empty string");let K=J.findKey(Y,z);if(!K||Y[K]===void 0||P===!0||P===void 0&&Y[K]!==!1)Y[K||W]=F0(Z)}let Q=(Z,W)=>J.forEach(Z,(P,z)=>X(P,z,W));if(J.isPlainObject(B)||B instanceof this.constructor)Q(B,G);else if(J.isString(B)&&(B=B.trim())&&!t4(B))Q(O1(B),G);else if(J.isObject(B)&&J.isIterable(B)){let Z={},W,P;for(let z of B){if(!J.isArray(z))throw TypeError("Object iterator must return a key-value pair");Z[P=z[0]]=(W=Z[P])?J.isArray(W)?[...W,z[1]]:[W,z[1]]:z[1]}Q(Z,G)}else B!=null&&X(G,B,$);return this}get(B,G){if(B=B0(B),B){let $=J.findKey(this,B);if($){let Y=this[$];if(!G)return Y;if(G===!0)return a4(Y);if(J.isFunction(G))return G.call(this,Y,$);if(J.isRegExp(G))return G.exec(Y);throw new TypeError("parser must be boolean|regexp|function")}}}has(B,G){if(B=B0(B),B){let $=J.findKey(this,B);return!!($&&this[$]!==void 0&&(!G||m0(this,this[$],$,G)))}return!1}delete(B,G){let $=this,Y=!1;function X(Q){if(Q=B0(Q),Q){let Z=J.findKey($,Q);if(Z&&(!G||m0($,$[Z],Z,G)))delete $[Z],Y=!0}}if(J.isArray(B))B.forEach(X);else X(B);return Y}clear(B){let G=Object.keys(this),$=G.length,Y=!1;while($--){let X=G[$];if(!B||m0(this,this[X],X,B,!0))delete this[X],Y=!0}return Y}normalize(B){let G=this,$={};return J.forEach(this,(Y,X)=>{let Q=J.findKey($,X);if(Q){G[Q]=F0(Y),delete G[X];return}let Z=B?e4(X):String(X).trim();if(Z!==X)delete G[X];G[Z]=F0(Y),$[Z]=!0}),this}concat(...B){return this.constructor.concat(this,...B)}toJSON(B){let G=Object.create(null);return J.forEach(this,($,Y)=>{$!=null&&$!==!1&&(G[Y]=B&&J.isArray($)?$.join(", "):$)}),G}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([B,G])=>B+": "+G).join(`
3
- `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(B){return B instanceof this?B:new this(B)}static concat(B,...G){let $=new this(B);return G.forEach((Y)=>$.set(Y)),$}static accessor(B){let $=(this[x1]=this[x1]={accessors:{}}).accessors,Y=this.prototype;function X(Q){let Z=B0(Q);if(!$[Z])B5(Y,Q),$[Z]=!0}return J.isArray(B)?B.forEach(X):X(B),this}}G0.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);J.reduceDescriptors(G0.prototype,({value:B},G)=>{let $=G[0].toUpperCase()+G.slice(1);return{get:()=>B,set(Y){this[$]=Y}}});J.freezeMethods(G0);var D=G0;function $0(B,G){let $=this||d,Y=G||$,X=D.from(Y.headers),Q=Y.data;return J.forEach(B,function Z(W){Q=W.call($,Q,X.normalize(),G?G.status:void 0)}),X.normalize(),Q}function Y0(B){return!!(B&&B.__CANCEL__)}function T1(B,G,$){E.call(this,B==null?"canceled":B,E.ERR_CANCELED,G,$),this.name="CanceledError"}J.inherits(T1,E,{__CANCEL__:!0});var R=T1;function X0(B,G,$){let Y=$.config.validateStatus;if(!$.status||!Y||Y($.status))B($);else G(new E("Request failed with status code "+$.status,[E.ERR_BAD_REQUEST,E.ERR_BAD_RESPONSE][Math.floor($.status/100)-4],$.config,$.request,$))}function g0(B){let G=/^([-+\w]{1,25})(:?\/\/|:)/.exec(B);return G&&G[1]||""}function G5(B,G){B=B||10;let $=new Array(B),Y=new Array(B),X=0,Q=0,Z;return G=G!==void 0?G:1000,function W(P){let z=Date.now(),K=Y[Q];if(!Z)Z=z;$[X]=P,Y[X]=z;let M=Q,F=0;while(M!==X)F+=$[M++],M=M%B;if(X=(X+1)%B,X===Q)Q=(Q+1)%B;if(z-Z<G)return;let N=K&&z-K;return N?Math.round(F*1000/N):void 0}}var j1=G5;function $5(B,G){let $=0,Y=1000/G,X,Q,Z=(z,K=Date.now())=>{if($=K,X=null,Q)clearTimeout(Q),Q=null;B.apply(null,z)};return[(...z)=>{let K=Date.now(),M=K-$;if(M>=Y)Z(z,K);else if(X=z,!Q)Q=setTimeout(()=>{Q=null,Z(X)},Y-M)},()=>X&&Z(X)]}var _1=$5;var n=(B,G,$=3)=>{let Y=0,X=j1(50,250);return _1((Q)=>{let Z=Q.loaded,W=Q.lengthComputable?Q.total:void 0,P=Z-Y,z=X(P),K=Z<=W;Y=Z;let M={loaded:Z,total:W,progress:W?Z/W:void 0,bytes:P,rate:z?z:void 0,estimated:z&&W&&K?(W-Z)/z:void 0,event:Q,lengthComputable:W!=null,[G?"download":"upload"]:!0};B(M)},$)},u0=(B,G)=>{let $=B!=null;return[(Y)=>G[0]({lengthComputable:$,total:B,loaded:Y}),G[1]]},l0=(B)=>(...G)=>J.asap(()=>B(...G));var k1=w.hasStandardBrowserEnv?((B,G)=>($)=>{return $=new URL($,w.origin),B.protocol===$.protocol&&B.host===$.host&&(G||B.port===$.port)})(new URL(w.origin),w.navigator&&/(msie|trident)/i.test(w.navigator.userAgent)):()=>!0;var R1=w.hasStandardBrowserEnv?{write(B,G,$,Y,X,Q){let Z=[B+"="+encodeURIComponent(G)];J.isNumber($)&&Z.push("expires="+new Date($).toGMTString()),J.isString(Y)&&Z.push("path="+Y),J.isString(X)&&Z.push("domain="+X),Q===!0&&Z.push("secure"),document.cookie=Z.join("; ")},read(B){let G=document.cookie.match(new RegExp("(^|;\\s*)("+B+")=([^;]*)"));return G?decodeURIComponent(G[3]):null},remove(B){this.write(B,"",Date.now()-86400000)}}:{write(){},read(){return null},remove(){}};function p0(B){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(B)}function c0(B,G){return G?B.replace(/\/?\/$/,"")+"/"+G.replace(/^\/+/,""):B}function Z0(B,G,$){let Y=!p0(G);if(B&&(Y||$==!1))return c0(B,G);return G}var y1=(B)=>B instanceof D?{...B}:B;function k(B,G){G=G||{};let $={};function Y(z,K,M,F){if(J.isPlainObject(z)&&J.isPlainObject(K))return J.merge.call({caseless:F},z,K);else if(J.isPlainObject(K))return J.merge({},K);else if(J.isArray(K))return K.slice();return K}function X(z,K,M,F){if(!J.isUndefined(K))return Y(z,K,M,F);else if(!J.isUndefined(z))return Y(void 0,z,M,F)}function Q(z,K){if(!J.isUndefined(K))return Y(void 0,K)}function Z(z,K){if(!J.isUndefined(K))return Y(void 0,K);else if(!J.isUndefined(z))return Y(void 0,z)}function W(z,K,M){if(M in G)return Y(z,K);else if(M in B)return Y(void 0,z)}let P={url:Q,method:Q,data:Q,baseURL:Z,transformRequest:Z,transformResponse:Z,paramsSerializer:Z,timeout:Z,timeoutMessage:Z,withCredentials:Z,withXSRFToken:Z,adapter:Z,responseType:Z,xsrfCookieName:Z,xsrfHeaderName:Z,onUploadProgress:Z,onDownloadProgress:Z,decompress:Z,maxContentLength:Z,maxBodyLength:Z,beforeRedirect:Z,transport:Z,httpAgent:Z,httpsAgent:Z,cancelToken:Z,socketPath:Z,responseEncoding:Z,validateStatus:W,headers:(z,K,M)=>X(y1(z),y1(K),M,!0)};return J.forEach(Object.keys(Object.assign({},B,G)),function z(K){let M=P[K]||X,F=M(B[K],G[K],K);J.isUndefined(F)&&M!==W||($[K]=F)}),$}var I0=(B)=>{let G=k({},B),{data:$,withXSRFToken:Y,xsrfHeaderName:X,xsrfCookieName:Q,headers:Z,auth:W}=G;if(G.headers=Z=D.from(Z),G.url=e(Z0(G.baseURL,G.url,G.allowAbsoluteUrls),B.params,B.paramsSerializer),W)Z.set("Authorization","Basic "+btoa((W.username||"")+":"+(W.password?unescape(encodeURIComponent(W.password)):"")));let P;if(J.isFormData($)){if(w.hasStandardBrowserEnv||w.hasStandardBrowserWebWorkerEnv)Z.setContentType(void 0);else if((P=Z.getContentType())!==!1){let[z,...K]=P?P.split(";").map((M)=>M.trim()).filter(Boolean):[];Z.setContentType([z||"multipart/form-data",...K].join("; "))}}if(w.hasStandardBrowserEnv){if(Y&&J.isFunction(Y)&&(Y=Y(G)),Y||Y!==!1&&k1(G.url)){let z=X&&Q&&R1.read(Q);if(z)Z.set(X,z)}}return G};var Y5=typeof XMLHttpRequest!=="undefined",b1=Y5&&function(B){return new Promise(function G($,Y){let X=I0(B),Q=X.data,Z=D.from(X.headers).normalize(),{responseType:W,onUploadProgress:P,onDownloadProgress:z}=X,K,M,F,N,H;function V(){N&&N(),H&&H(),X.cancelToken&&X.cancelToken.unsubscribe(K),X.signal&&X.signal.removeEventListener("abort",K)}let U=new XMLHttpRequest;U.open(X.method.toUpperCase(),X.url,!0),U.timeout=X.timeout;function q(){if(!U)return;let I=D.from("getAllResponseHeaders"in U&&U.getAllResponseHeaders()),A={data:!W||W==="text"||W==="json"?U.responseText:U.response,status:U.status,statusText:U.statusText,headers:I,config:B,request:U};X0(function x(v){$(v),V()},function x(v){Y(v),V()},A),U=null}if("onloadend"in U)U.onloadend=q;else U.onreadystatechange=function I(){if(!U||U.readyState!==4)return;if(U.status===0&&!(U.responseURL&&U.responseURL.indexOf("file:")===0))return;setTimeout(q)};if(U.onabort=function I(){if(!U)return;Y(new E("Request aborted",E.ECONNABORTED,B,U)),U=null},U.onerror=function I(){Y(new E("Network Error",E.ERR_NETWORK,B,U)),U=null},U.ontimeout=function I(){let S=X.timeout?"timeout of "+X.timeout+"ms exceeded":"timeout exceeded",A=X.transitional||L0;if(X.timeoutErrorMessage)S=X.timeoutErrorMessage;Y(new E(S,A.clarifyTimeoutError?E.ETIMEDOUT:E.ECONNABORTED,B,U)),U=null},Q===void 0&&Z.setContentType(null),"setRequestHeader"in U)J.forEach(Z.toJSON(),function I(S,A){U.setRequestHeader(A,S)});if(!J.isUndefined(X.withCredentials))U.withCredentials=!!X.withCredentials;if(W&&W!=="json")U.responseType=X.responseType;if(z)[F,H]=n(z,!0),U.addEventListener("progress",F);if(P&&U.upload)[M,N]=n(P),U.upload.addEventListener("progress",M),U.upload.addEventListener("loadend",N);if(X.cancelToken||X.signal){if(K=(I)=>{if(!U)return;Y(!I||I.type?new R(null,B,U):I),U.abort(),U=null},X.cancelToken&&X.cancelToken.subscribe(K),X.signal)X.signal.aborted?K():X.signal.addEventListener("abort",K)}let L=g0(X.url);if(L&&w.protocols.indexOf(L)===-1){Y(new E("Unsupported protocol "+L+":",E.ERR_BAD_REQUEST,B));return}U.send(Q||null)})};var X5=(B,G)=>{let{length:$}=B=B?B.filter(Boolean):[];if(G||$){let Y=new AbortController,X,Q=function(z){if(!X){X=!0,W();let K=z instanceof Error?z:this.reason;Y.abort(K instanceof E?K:new R(K instanceof Error?K.message:K))}},Z=G&&setTimeout(()=>{Z=null,Q(new E(`timeout ${G} of ms exceeded`,E.ETIMEDOUT))},G),W=()=>{if(B)Z&&clearTimeout(Z),Z=null,B.forEach((z)=>{z.unsubscribe?z.unsubscribe(Q):z.removeEventListener("abort",Q)}),B=null};B.forEach((z)=>z.addEventListener("abort",Q));let{signal:P}=Y;return P.unsubscribe=()=>J.asap(W),P}},v1=X5;var Z5=function*(B,G){let $=B.byteLength;if(!G||$<G){yield B;return}let Y=0,X;while(Y<$)X=Y+G,yield B.slice(Y,X),Y=X},Q5=async function*(B,G){for await(let $ of J5(B))yield*Z5($,G)},J5=async function*(B){if(B[Symbol.asyncIterator]){yield*B;return}let G=B.getReader();try{for(;;){let{done:$,value:Y}=await G.read();if($)break;yield Y}}finally{await G.cancel()}},d0=(B,G,$,Y)=>{let X=Q5(B,G),Q=0,Z,W=(P)=>{if(!Z)Z=!0,Y&&Y(P)};return new ReadableStream({async pull(P){try{let{done:z,value:K}=await X.next();if(z){W(),P.close();return}let M=K.byteLength;if($){let F=Q+=M;$(F)}P.enqueue(new Uint8Array(K))}catch(z){throw W(z),z}},cancel(P){return W(P),X.return()}},{highWaterMark:2})};var w0=typeof fetch==="function"&&typeof Request==="function"&&typeof Response==="function",f1=w0&&typeof ReadableStream==="function",z5=w0&&(typeof TextEncoder==="function"?((B)=>(G)=>B.encode(G))(new TextEncoder):async(B)=>new Uint8Array(await new Response(B).arrayBuffer())),m1=(B,...G)=>{try{return!!B(...G)}catch($){return!1}},W5=f1&&m1(()=>{let B=!1,G=new Request(w.origin,{body:new ReadableStream,method:"POST",get duplex(){return B=!0,"half"}}).headers.has("Content-Type");return B&&!G}),h1=65536,n0=f1&&m1(()=>J.isReadableStream(new Response("").body)),q0={stream:n0&&((B)=>B.body)};w0&&((B)=>{["text","arrayBuffer","blob","formData","stream"].forEach((G)=>{!q0[G]&&(q0[G]=J.isFunction(B[G])?($)=>$[G]():($,Y)=>{throw new E(`Response type '${G}' is not supported`,E.ERR_NOT_SUPPORT,Y)})})})(new Response);var K5=async(B)=>{if(B==null)return 0;if(J.isBlob(B))return B.size;if(J.isSpecCompliantForm(B))return(await new Request(w.origin,{method:"POST",body:B}).arrayBuffer()).byteLength;if(J.isArrayBufferView(B)||J.isArrayBuffer(B))return B.byteLength;if(J.isURLSearchParams(B))B=B+"";if(J.isString(B))return(await z5(B)).byteLength},P5=async(B,G)=>{let $=J.toFiniteNumber(B.getContentLength());return $==null?K5(G):$},g1=w0&&(async(B)=>{let{url:G,method:$,data:Y,signal:X,cancelToken:Q,timeout:Z,onDownloadProgress:W,onUploadProgress:P,responseType:z,headers:K,withCredentials:M="same-origin",fetchOptions:F}=I0(B);z=z?(z+"").toLowerCase():"text";let N=v1([X,Q&&Q.toAbortSignal()],Z),H,V=N&&N.unsubscribe&&(()=>{N.unsubscribe()}),U;try{if(P&&W5&&$!=="get"&&$!=="head"&&(U=await P5(K,Y))!==0){let A=new Request(G,{method:"POST",body:Y,duplex:"half"}),x;if(J.isFormData(Y)&&(x=A.headers.get("content-type")))K.setContentType(x);if(A.body){let[v,l]=u0(U,n(l0(P)));Y=d0(A.body,h1,v,l)}}if(!J.isString(M))M=M?"include":"omit";let q="credentials"in Request.prototype;H=new Request(G,{...F,signal:N,method:$.toUpperCase(),headers:K.normalize().toJSON(),body:Y,duplex:"half",credentials:q?M:void 0});let L=await fetch(H,F),I=n0&&(z==="stream"||z==="response");if(n0&&(W||I&&V)){let A={};["status","statusText","headers"].forEach((Q1)=>{A[Q1]=L[Q1]});let x=J.toFiniteNumber(L.headers.get("content-length")),[v,l]=W&&u0(x,n(l0(W),!0))||[];L=new Response(d0(L.body,h1,v,()=>{l&&l(),V&&V()}),A)}z=z||"text";let S=await q0[J.findKey(q0,z)||"text"](L,B);return!I&&V&&V(),await new Promise((A,x)=>{X0(A,x,{data:S,headers:D.from(L.headers),status:L.status,statusText:L.statusText,config:B,request:H})})}catch(q){if(V&&V(),q&&q.name==="TypeError"&&/Load failed|fetch/i.test(q.message))throw Object.assign(new E("Network Error",E.ERR_NETWORK,B,H),{cause:q.cause||q});throw E.from(q,q&&q.code,B,H)}});var r0={http:H0,xhr:b1,fetch:g1};J.forEach(r0,(B,G)=>{if(B){try{Object.defineProperty(B,"name",{value:G})}catch($){}Object.defineProperty(B,"adapterName",{value:G})}});var u1=(B)=>`- ${B}`,M5=(B)=>J.isFunction(B)||B===null||B===!1,C0={getAdapter:(B)=>{B=J.isArray(B)?B:[B];let{length:G}=B,$,Y,X={};for(let Q=0;Q<G;Q++){$=B[Q];let Z;if(Y=$,!M5($)){if(Y=r0[(Z=String($)).toLowerCase()],Y===void 0)throw new E(`Unknown adapter '${Z}'`)}if(Y)break;X[Z||"#"+Q]=Y}if(!Y){let Q=Object.entries(X).map(([W,P])=>`adapter ${W} `+(P===!1?"is not supported by the environment":"is not available in the build")),Z=G?Q.length>1?`since :
4
- `+Q.map(u1).join(`
5
- `):" "+u1(Q[0]):"as no adapter specified";throw new E("There is no suitable adapter to dispatch the request "+Z,"ERR_NOT_SUPPORT")}return Y},adapters:r0};function i0(B){if(B.cancelToken)B.cancelToken.throwIfRequested();if(B.signal&&B.signal.aborted)throw new R(null,B)}function S0(B){if(i0(B),B.headers=D.from(B.headers),B.data=$0.call(B,B.transformRequest),["post","put","patch"].indexOf(B.method)!==-1)B.headers.setContentType("application/x-www-form-urlencoded",!1);return C0.getAdapter(B.adapter||d.adapter)(B).then(function $(Y){return i0(B),Y.data=$0.call(B,B.transformResponse,Y),Y.headers=D.from(Y.headers),Y},function $(Y){if(!Y0(Y)){if(i0(B),Y&&Y.response)Y.response.data=$0.call(B,B.transformResponse,Y.response),Y.response.headers=D.from(Y.response.headers)}return Promise.reject(Y)})}var D0="1.10.0";var A0={};["object","boolean","number","function","string","symbol"].forEach((B,G)=>{A0[B]=function $(Y){return typeof Y===B||"a"+(G<1?"n ":" ")+B}});var l1={};A0.transitional=function B(G,$,Y){function X(Q,Z){return"[Axios v"+D0+"] Transitional option '"+Q+"'"+Z+(Y?". "+Y:"")}return(Q,Z,W)=>{if(G===!1)throw new E(X(Z," has been removed"+($?" in "+$:"")),E.ERR_DEPRECATED);if($&&!l1[Z])l1[Z]=!0,console.warn(X(Z," has been deprecated since v"+$+" and will be removed in the near future"));return G?G(Q,Z,W):!0}};A0.spelling=function B(G){return($,Y)=>{return console.warn(`${Y} is likely a misspelling of ${G}`),!0}};function U5(B,G,$){if(typeof B!=="object")throw new E("options must be an object",E.ERR_BAD_OPTION_VALUE);let Y=Object.keys(B),X=Y.length;while(X-- >0){let Q=Y[X],Z=G[Q];if(Z){let W=B[Q],P=W===void 0||Z(W,Q,B);if(P!==!0)throw new E("option "+Q+" must be "+P,E.ERR_BAD_OPTION_VALUE);continue}if($!==!0)throw new E("Unknown option "+Q,E.ERR_BAD_OPTION)}}var Q0={assertOptions:U5,validators:A0};var y=Q0.validators;class J0{constructor(B){this.defaults=B||{},this.interceptors={request:new R0,response:new R0}}async request(B,G){try{return await this._request(B,G)}catch($){if($ instanceof Error){let Y={};Error.captureStackTrace?Error.captureStackTrace(Y):Y=new Error;let X=Y.stack?Y.stack.replace(/^.+\n/,""):"";try{if(!$.stack)$.stack=X;else if(X&&!String($.stack).endsWith(X.replace(/^.+\n.+\n/,"")))$.stack+=`
6
- `+X}catch(Q){}}throw $}}_request(B,G){if(typeof B==="string")G=G||{},G.url=B;else G=B||{};G=k(this.defaults,G);let{transitional:$,paramsSerializer:Y,headers:X}=G;if($!==void 0)Q0.assertOptions($,{silentJSONParsing:y.transitional(y.boolean),forcedJSONParsing:y.transitional(y.boolean),clarifyTimeoutError:y.transitional(y.boolean)},!1);if(Y!=null)if(J.isFunction(Y))G.paramsSerializer={serialize:Y};else Q0.assertOptions(Y,{encode:y.function,serialize:y.function},!0);if(G.allowAbsoluteUrls!==void 0);else if(this.defaults.allowAbsoluteUrls!==void 0)G.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls;else G.allowAbsoluteUrls=!0;Q0.assertOptions(G,{baseUrl:y.spelling("baseURL"),withXsrfToken:y.spelling("withXSRFToken")},!0),G.method=(G.method||this.defaults.method||"get").toLowerCase();let Q=X&&J.merge(X.common,X[G.method]);X&&J.forEach(["delete","get","head","post","put","patch","common"],(N)=>{delete X[N]}),G.headers=D.concat(Q,X);let Z=[],W=!0;this.interceptors.request.forEach(function N(H){if(typeof H.runWhen==="function"&&H.runWhen(G)===!1)return;W=W&&H.synchronous,Z.unshift(H.fulfilled,H.rejected)});let P=[];this.interceptors.response.forEach(function N(H){P.push(H.fulfilled,H.rejected)});let z,K=0,M;if(!W){let N=[S0.bind(this),void 0];N.unshift.apply(N,Z),N.push.apply(N,P),M=N.length,z=Promise.resolve(G);while(K<M)z=z.then(N[K++],N[K++]);return z}M=Z.length;let F=G;K=0;while(K<M){let N=Z[K++],H=Z[K++];try{F=N(F)}catch(V){H.call(this,V);break}}try{z=S0.call(this,F)}catch(N){return Promise.reject(N)}K=0,M=P.length;while(K<M)z=z.then(P[K++],P[K++]);return z}getUri(B){B=k(this.defaults,B);let G=Z0(B.baseURL,B.url,B.allowAbsoluteUrls);return e(G,B.params,B.paramsSerializer)}}J.forEach(["delete","get","head","options"],function B(G){J0.prototype[G]=function($,Y){return this.request(k(Y||{},{method:G,url:$,data:(Y||{}).data}))}});J.forEach(["post","put","patch"],function B(G){function $(Y){return function X(Q,Z,W){return this.request(k(W||{},{method:G,headers:Y?{"Content-Type":"multipart/form-data"}:{},url:Q,data:Z}))}}J0.prototype[G]=$(),J0.prototype[G+"Form"]=$(!0)});var z0=J0;class o0{constructor(B){if(typeof B!=="function")throw new TypeError("executor must be a function.");let G;this.promise=new Promise(function Y(X){G=X});let $=this;this.promise.then((Y)=>{if(!$._listeners)return;let X=$._listeners.length;while(X-- >0)$._listeners[X](Y);$._listeners=null}),this.promise.then=(Y)=>{let X,Q=new Promise((Z)=>{$.subscribe(Z),X=Z}).then(Y);return Q.cancel=function Z(){$.unsubscribe(X)},Q},B(function Y(X,Q,Z){if($.reason)return;$.reason=new R(X,Q,Z),G($.reason)})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(B){if(this.reason){B(this.reason);return}if(this._listeners)this._listeners.push(B);else this._listeners=[B]}unsubscribe(B){if(!this._listeners)return;let G=this._listeners.indexOf(B);if(G!==-1)this._listeners.splice(G,1)}toAbortSignal(){let B=new AbortController,G=($)=>{B.abort($)};return this.subscribe(G),B.signal.unsubscribe=()=>this.unsubscribe(G),B.signal}static source(){let B;return{token:new o0(function $(Y){B=Y}),cancel:B}}}var p1=o0;function s0(B){return function G($){return B.apply(null,$)}}function a0(B){return J.isObject(B)&&B.isAxiosError===!0}var t0={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(t0).forEach(([B,G])=>{t0[G]=B});var c1=t0;function d1(B){let G=new z0(B),$=s(z0.prototype.request,G);return J.extend($,z0.prototype,G,{allOwnKeys:!0}),J.extend($,G,null,{allOwnKeys:!0}),$.create=function Y(X){return d1(k(B,X))},$}var C=d1(d);C.Axios=z0;C.CanceledError=R;C.CancelToken=p1;C.isCancel=Y0;C.VERSION=D0;C.toFormData=f;C.AxiosError=E;C.Cancel=C.CanceledError;C.all=function B(G){return Promise.all(G)};C.spread=s0;C.isAxiosError=a0;C.mergeConfig=k;C.AxiosHeaders=D;C.formToJSON=(B)=>E0(J.isHTMLForm(B)?new FormData(B):B);C.getAdapter=C0.getAdapter;C.HttpStatusCode=c1;C.default=C;var e0=C;var V5="https://headless.tebex.io";async function O(B,G,$,Y,X,Q,Z,W){if(Z){for(let[K,M]of Object.entries(Z))if(typeof M==="boolean")Z[K]=M?1:0}let P={url:`${V5}/api/${X}/${Y}${Q??""}`,params:Z,method:$,data:W,headers:{"Content-Type":"application/json"}};if(B&&G)P.auth={username:B,password:G};return(await e0.request(P)).data}var n1=class{constructor(B,G){this.webstoreIdentifier=B,this.privateKey=G}async getCategories(B,G,$){let{data:Y}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts","/categories",{includePackages:B,basketIdent:G,ipAddress:$});return Y}async getCategory(B,G,$,Y){let{data:X}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts",`/categories/${B}`,{includePackages:G,basketIdent:$,ipAddress:Y});return X}async apply(B,G,$){return await O(this.webstoreIdentifier,this.privateKey,"post",this.webstoreIdentifier,"accounts",`/baskets/${B}/${G}`,{},$)}async remove(B,G,$){return await O(this.webstoreIdentifier,this.privateKey,"post",this.webstoreIdentifier,"accounts",`/baskets/${B}/${G}/remove`,{},$)}async getPackage(B,G,$){let{data:Y}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts",`/packages/${B}`,{basketIdent:G,ipAddress:$});return Y}async getPackages(B,G){let{data:$}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts","/packages",{basketIdent:B,ipAddress:G});return $}async getBasket(B){let{data:G}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts",`/baskets/${B}`);return G}async createBasket(B,G,$,Y,X){let{data:Q}=await O(this.webstoreIdentifier,this.privateKey,"post",this.webstoreIdentifier,"accounts","/baskets",{ip_address:X},{complete_url:B,cancel_url:G,custom:$,complete_auto_redirect:Y});return Q}async createMinecraftBasket(B,G,$,Y,X,Q){let{data:Z}=await O(this.webstoreIdentifier,this.privateKey,"post",this.webstoreIdentifier,"accounts","/baskets",{ip_address:Q},{username:B,complete_url:G,cancel_url:$,custom:Y,complete_auto_redirect:X});return Z}async getBasketAuthUrl(B,G){return await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts",`/baskets/${B}/auth`,{returnUrl:G})}async addPackageToBasket(B,G,$,Y,X){let{data:Q}=await O(this.webstoreIdentifier,this.privateKey,"post",B,"baskets","/packages",{},{package_id:G,quantity:$,type:Y,variable_data:X});return Q}async giftPackage(B,G,$){let{data:Y}=await O(this.webstoreIdentifier,this.privateKey,"post",B,"baskets","/packages",{},{package_id:G,target_username_id:$});return Y}async removePackage(B,G){let{data:$}=await O(this.webstoreIdentifier,this.privateKey,"post",B,"baskets","/packages/remove",{},{package_id:G});return $}async updateQuantity(B,G,$){let{data:Y}=await O(this.webstoreIdentifier,this.privateKey,"put",B,"baskets",`/packages/${G}`,{},{quantity:$});return Y}async getWebstore(){let{data:B}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts");return B}async getPages(){let{data:B}=await O(this.webstoreIdentifier,this.privateKey,"get",this.webstoreIdentifier,"accounts","/pages");return B}async updateTier(B,G){return await O(this.webstoreIdentifier,this.privateKey,"patch",this.webstoreIdentifier,"accounts",`/tiers/${B}`,{},{package_id:G})}};var B1=null,H5=async()=>{if(!B1){let B=process.env.NEXT_PUBLIC_TEBEX_PUBLIC_KEY;if(!B)throw new Error("Missing NEXT_PUBLIC_TEBEX_PUBLIC_KEY env variable");B1=new n1(B)}return B1},m=H5;import{useEffect as u5,useState as T0}from"react";import h from"react";import Q$ from"react-dom";function N5(B){if(!B||typeof document=="undefined")return;let G=document.head||document.getElementsByTagName("head")[0],$=document.createElement("style");$.type="text/css",G.appendChild($),$.styleSheet?$.styleSheet.cssText=B:$.appendChild(document.createTextNode(B))}var J$=Array(12).fill(0);var G1=1;class r1{constructor(){this.subscribe=(B)=>{return this.subscribers.push(B),()=>{let G=this.subscribers.indexOf(B);this.subscribers.splice(G,1)}},this.publish=(B)=>{this.subscribers.forEach((G)=>G(B))},this.addToast=(B)=>{this.publish(B),this.toasts=[...this.toasts,B]},this.create=(B)=>{var G;let{message:$,...Y}=B,X=typeof(B==null?void 0:B.id)==="number"||((G=B.id)==null?void 0:G.length)>0?B.id:G1++,Q=this.toasts.find((W)=>{return W.id===X}),Z=B.dismissible===void 0?!0:B.dismissible;if(this.dismissedToasts.has(X))this.dismissedToasts.delete(X);if(Q)this.toasts=this.toasts.map((W)=>{if(W.id===X)return this.publish({...W,...B,id:X,title:$}),{...W,...B,id:X,dismissible:Z,title:$};return W});else this.addToast({title:$,...Y,dismissible:Z,id:X});return X},this.dismiss=(B)=>{if(B)this.dismissedToasts.add(B),requestAnimationFrame(()=>this.subscribers.forEach((G)=>G({id:B,dismiss:!0})));else this.toasts.forEach((G)=>{this.subscribers.forEach(($)=>$({id:G.id,dismiss:!0}))});return B},this.message=(B,G)=>{return this.create({...G,message:B})},this.error=(B,G)=>{return this.create({...G,message:B,type:"error"})},this.success=(B,G)=>{return this.create({...G,type:"success",message:B})},this.info=(B,G)=>{return this.create({...G,type:"info",message:B})},this.warning=(B,G)=>{return this.create({...G,type:"warning",message:B})},this.loading=(B,G)=>{return this.create({...G,type:"loading",message:B})},this.promise=(B,G)=>{if(!G)return;let $=void 0;if(G.loading!==void 0)$=this.create({...G,promise:B,type:"loading",message:G.loading,description:typeof G.description!=="function"?G.description:void 0});let Y=Promise.resolve(B instanceof Function?B():B),X=$!==void 0,Q,Z=Y.then(async(P)=>{if(Q=["resolve",P],h.isValidElement(P))X=!1,this.create({id:$,type:"default",message:P});else if(E5(P)&&!P.ok){X=!1;let K=typeof G.error==="function"?await G.error(`HTTP error! status: ${P.status}`):G.error,M=typeof G.description==="function"?await G.description(`HTTP error! status: ${P.status}`):G.description,N=typeof K==="object"&&!h.isValidElement(K)?K:{message:K};this.create({id:$,type:"error",description:M,...N})}else if(P instanceof Error){X=!1;let K=typeof G.error==="function"?await G.error(P):G.error,M=typeof G.description==="function"?await G.description(P):G.description,N=typeof K==="object"&&!h.isValidElement(K)?K:{message:K};this.create({id:$,type:"error",description:M,...N})}else if(G.success!==void 0){X=!1;let K=typeof G.success==="function"?await G.success(P):G.success,M=typeof G.description==="function"?await G.description(P):G.description,N=typeof K==="object"&&!h.isValidElement(K)?K:{message:K};this.create({id:$,type:"success",description:M,...N})}}).catch(async(P)=>{if(Q=["reject",P],G.error!==void 0){X=!1;let z=typeof G.error==="function"?await G.error(P):G.error,K=typeof G.description==="function"?await G.description(P):G.description,F=typeof z==="object"&&!h.isValidElement(z)?z:{message:z};this.create({id:$,type:"error",description:K,...F})}}).finally(()=>{if(X)this.dismiss($),$=void 0;G.finally==null||G.finally.call(G)}),W=()=>new Promise((P,z)=>Z.then(()=>Q[0]==="reject"?z(Q[1]):P(Q[1])).catch(z));if(typeof $!=="string"&&typeof $!=="number")return{unwrap:W};else return Object.assign($,{unwrap:W})},this.custom=(B,G)=>{let $=(G==null?void 0:G.id)||G1++;return this.create({jsx:B($),id:$,...G}),$},this.getActiveToasts=()=>{return this.toasts.filter((B)=>!this.dismissedToasts.has(B.id))},this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}var j=new r1,L5=(B,G)=>{let $=(G==null?void 0:G.id)||G1++;return j.addToast({title:B,...G,id:$}),$},E5=(B)=>{return B&&typeof B==="object"&&"ok"in B&&typeof B.ok==="boolean"&&"status"in B&&typeof B.status==="number"},F5=L5,I5=()=>j.toasts,q5=()=>j.getActiveToasts(),b=Object.assign(F5,{success:j.success,info:j.info,warning:j.warning,error:j.error,custom:j.custom,message:j.message,promise:j.promise,dismiss:j.dismiss,loading:j.loading},{getHistory:I5,getToasts:q5});N5("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");var w5=async({username:B,completeUrl:G,cancelUrl:$,custom:Y,completeAutoRedirect:X,ipAddress:Q})=>{return(await m()).createMinecraftBasket(B,G,$,Y,X,Q)},C5=async(B)=>{return(await m()).getBasket(B)},S5=async(B,G,$,Y,X)=>{return(await m()).addPackageToBasket(B,G,$??1,Y,X)},D5=async(B,G,$)=>{return(await m()).updateQuantity(B,G,$-1>=0?$-1:0)},A5={createBasket:w5,getBasket:C5,addPackageToBasket:S5,removePackageFromBasket:D5},u=A5;var i1=(B)=>{let G,$=new Set,Y=(z,K)=>{let M=typeof z==="function"?z(G):z;if(!Object.is(M,G)){let F=G;G=(K!=null?K:typeof M!=="object"||M===null)?M:Object.assign({},G,M),$.forEach((N)=>N(G,F))}},X=()=>G,W={setState:Y,getState:X,getInitialState:()=>P,subscribe:(z)=>{return $.add(z),()=>$.delete(z)}},P=G=B(Y,X,W);return W},o1=(B)=>B?i1(B):i1;import s1 from"react";var O5=(B)=>B;function x5(B,G=O5){let $=s1.useSyncExternalStore(B.subscribe,()=>G(B.getState()),()=>G(B.getInitialState()));return s1.useDebugValue($),$}var a1=(B)=>{let G=o1(B),$=(Y)=>x5(G,Y);return Object.assign($,G),$},r=(B)=>B?a1(B):a1;var T5=(B)=>(G,$,Y)=>{let X=Y.subscribe;return Y.subscribe=(Z,W,P)=>{let z=Z;if(W){let K=(P==null?void 0:P.equalityFn)||Object.is,M=Z(Y.getState());if(z=(F)=>{let N=Z(F);if(!K(M,N)){let H=M;W(M=N,H)}},P==null?void 0:P.fireImmediately)W(M,M)}return X(z)},B(G,$,Y)},i=T5;function j5(B,G){let $;try{$=B()}catch(X){return}return{getItem:(X)=>{var Q;let Z=(P)=>{if(P===null)return null;return JSON.parse(P,G==null?void 0:G.reviver)},W=(Q=$.getItem(X))!=null?Q:null;if(W instanceof Promise)return W.then(Z);return Z(W)},setItem:(X,Q)=>$.setItem(X,JSON.stringify(Q,G==null?void 0:G.replacer)),removeItem:(X)=>$.removeItem(X)}}var $1=(B)=>(G)=>{try{let $=B(G);if($ instanceof Promise)return $;return{then(Y){return $1(Y)($)},catch(Y){return this}}}catch($){return{then(Y){return this},catch(Y){return $1(Y)($)}}}},_5=(B,G)=>($,Y,X)=>{let Q={storage:j5(()=>localStorage),partialize:(V)=>V,version:0,merge:(V,U)=>({...U,...V}),...G},Z=!1,W=new Set,P=new Set,z=Q.storage;if(!z)return B((...V)=>{console.warn(`[zustand persist middleware] Unable to update item '${Q.name}', the given storage is currently unavailable.`),$(...V)},Y,X);let K=()=>{let V=Q.partialize({...Y()});return z.setItem(Q.name,{state:V,version:Q.version})},M=X.setState;X.setState=(V,U)=>{M(V,U),K()};let F=B((...V)=>{$(...V),K()},Y,X);X.getInitialState=()=>F;let N,H=()=>{var V,U;if(!z)return;Z=!1,W.forEach((L)=>{var I;return L((I=Y())!=null?I:F)});let q=((U=Q.onRehydrateStorage)==null?void 0:U.call(Q,(V=Y())!=null?V:F))||void 0;return $1(z.getItem.bind(z))(Q.name).then((L)=>{if(L)if(typeof L.version==="number"&&L.version!==Q.version){if(Q.migrate){let I=Q.migrate(L.state,L.version);if(I instanceof Promise)return I.then((S)=>[!0,S]);return[!0,I]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,L.state];return[!1,void 0]}).then((L)=>{var I;let[S,A]=L;if(N=Q.merge(A,(I=Y())!=null?I:F),$(N,!0),S)return K()}).then(()=>{q==null||q(N,void 0),N=Y(),Z=!0,P.forEach((L)=>L(N))}).catch((L)=>{q==null||q(void 0,L)})};if(X.persist={setOptions:(V)=>{if(Q={...Q,...V},V.storage)z=V.storage},clearStorage:()=>{z==null||z.removeItem(Q.name)},getOptions:()=>Q,rehydrate:()=>H(),hasHydrated:()=>Z,onHydrate:(V)=>{return W.add(V),()=>{W.delete(V)}},onFinishHydration:(V)=>{return P.add(V),()=>{P.delete(V)}}},!Q.skipHydration)H();return N||F},O0=_5;var k5=r()(i(O0((B)=>({basketIdent:null,setBasketIdent:(G)=>B({basketIdent:G}),clearBasketIdent:()=>B({basketIdent:null})}),{name:"shop-basket-store"}))),o=k5;var R5=r()(i((B)=>({isGlobalLoading:!1,setIsGlobalLoading:(G)=>B({isGlobalLoading:G}),isCreatingBasket:!1,setIsCreatingBasket:(G)=>B({isCreatingBasket:G})}))),x0=R5;var y5=r()(i(O0((B)=>({username:"",setUsername:(G)=>B({username:G}),clearUsername:()=>B({username:""})}),{name:"shop-user-store"}))),W0=y5;import{useCallback as h5}from"react";var b5=async({includePackages:B,basketIdent:G,ipAddress:$})=>{return(await m()).getCategories(B,G,$)},v5={getCategories:b5},Y1=v5;var f5=async(B)=>{let{isCreatingBasket:G,setIsCreatingBasket:$,setBasketIdent:Y,createBasket:X,username:Q}=B;if(G)return null;let{completeUrl:Z,cancelUrl:W}=g5();try{$(!0);let P=await X({username:Q,completeUrl:Z,cancelUrl:W,completeAutoRedirect:!1,ipAddress:""});if(!P?.ident)return b.error("Une erreur est survenue lors de la création du panier"),null;return Y(P.ident),P}catch{return b.error("Erreur lors de la création du panier. Contactez le support si le problème persiste."),null}finally{$(!1)}},m5=(B)=>{let G=x0((Z)=>Z.isCreatingBasket),$=x0((Z)=>Z.setIsCreatingBasket),Y=o((Z)=>Z.setBasketIdent),X=W0((Z)=>Z.username);return h5(()=>f5({isCreatingBasket:G,setIsCreatingBasket:$,setBasketIdent:Y,createBasket:u.createBasket,username:B??X}),[G,$,Y,B,X])},g5=()=>{if(!process.env.NEXT_PUBLIC_APP_URL)throw new Error("NEXT_PUBLIC_APP_URL is not set");return{completeUrl:`${process.env.NEXT_PUBLIC_APP_URL}/shop/complete-purchase`,cancelUrl:`${process.env.NEXT_PUBLIC_APP_URL}/shop/cancel-purchase`}},X1=m5;var l5=(B)=>{let G=o((L)=>L.basketIdent),$=o((L)=>L.setBasketIdent),Y=W0((L)=>L.username),[X,Q]=T0(null),[Z,W]=T0(!1),[P,z]=T0(null),[K,M]=T0(!1),F=X1(B??Y),N=async(L)=>{W(!0);try{let I=await u.getBasket(L);if(I.complete){Q(null),$("");return}Q(I),$(I.ident),z(null)}catch(I){z(I),Q(null),$("")}finally{W(!1)}},H=async(L,I,S,A)=>{if(K)return;try{if(M(!0),!B&&!Y){b.error("Vous devez vous connecter pour ajouter des articles à votre panier");return}let x=null;if(!G){if(x=(await F())?.ident??null,!x){b.error("Une erreur est survenue lors de la création du panier");return}$(x),await N(x)}else await N(G),x=G;if(!x){b.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let v=u.addPackageToBasket(x,L,I,S,A)?.then((l)=>{Q(l),U()});b.promise(v,{loading:"Ajout de l'article dans votre panier...",success:"Article ajouté avec succès !",error:"Une erreur est survenue lors de l'ajout de l'article dans votre panier"})}finally{M(!1)}},V=async(L)=>{if(K)return;try{if(M(!0),!G){b.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let I=u.removePackageFromBasket(G,L,X?.packages.find((S)=>S.id===L)?.in_basket.quantity??0)?.then((S)=>{Q(S),U()});b.promise(I,{loading:"Suppression de l'article de votre panier...",success:"Article supprimé avec succès !",error:"Une erreur est survenue lors de la suppression de l'article de votre panier"})}finally{M(!1)}},U=()=>{if(G)N(G)},q=(L)=>{Q(L)};return u5(()=>{if(!G)return;N(G)},[G]),{basket:X,loading:Z,error:P,updateManualBasket:q,addPackageToBasket:H,removePackageFromBasket:V,refetch:U}},p5=l5;import{useCallback as c5,useEffect as d5,useState as Z1}from"react";var n5=(B)=>{let[G,$]=Z1(null),[Y,X]=Z1(!0),[Q,Z]=Z1(null),W=async()=>{X(!0),Z(null);try{let z=await Y1.getCategories(B);$(z)}catch(z){Z(z),$(null)}finally{X(!1)}};d5(()=>{W()},[]);let P=c5((z)=>G?.find((K)=>K.name.toLowerCase()===z.toLowerCase()),[G]);return{categories:G,loading:Y,error:Q,getByName:P,refetch:W}},r5=n5;export{W0 as useShopUserStore,x0 as useShopUiStore,o as useShopBasketStore,X1 as useCreateBasket,r5 as useCategories,p5 as useBasket,m as getTebex,Y1 as categoriesService,u as basketService};
1
+ import{TebexHeadless as Be}from"tebex_headless";var d=null;var J=()=>{if(!d)throw Error("Tebex client not initialized. Call initTebex(publicKey) first.");return d},g=J;import{useEffect as me,useState as k}from"react";import{toast as C}from"sonner";var M=async({username:e,completeUrl:r,cancelUrl:t,custom:n,completeAutoRedirect:i,ipAddress:m})=>{return(await g()).createMinecraftBasket(e,r,t,n,i,m)},N=async(e)=>{return(await g()).getBasket(e)},O=async(e,r,t,n,i)=>{return(await g()).addPackageToBasket(e,r,t??1,n,i)},V=async(e,r,t)=>{return(await g()).updateQuantity(e,r,t-1>=0?t-1:0)},X={createBasket:M,getBasket:N,addPackageToBasket:O,removePackageFromBasket:V},u=X;import{create as Y}from"zustand";import{persist as Z,subscribeWithSelector as _}from"zustand/middleware";var $=Y()(_(Z((e)=>({basketIdent:null,setBasketIdent:(r)=>e({basketIdent:r}),clearBasketIdent:()=>e({basketIdent:null})}),{name:"shop-basket-store"}))),x=$;import{create as E}from"zustand";import{subscribeWithSelector as I}from"zustand/middleware";var Q=E()(I((e)=>({isGlobalLoading:!1,setIsGlobalLoading:(r)=>e({isGlobalLoading:r}),isCreatingBasket:!1,setIsCreatingBasket:(r)=>e({isCreatingBasket:r})}))),h=Q;import{create as ee}from"zustand";import{persist as re,subscribeWithSelector as te}from"zustand/middleware";var oe=ee()(te(re((e)=>({username:"",setUsername:(r)=>e({username:r}),clearUsername:()=>e({username:""})}),{name:"shop-user-store"}))),b=oe;import{useCallback as ne}from"react";import{toast as v}from"sonner";var S=null;var se=async({includePackages:e,basketIdent:r,ipAddress:t})=>{return(await g()).getCategories(e,r,t)},ae={getCategories:se},w=ae;var ie=async(e)=>{let{isCreatingBasket:r,setIsCreatingBasket:t,setBasketIdent:n,createBasket:i,username:m}=e;if(r)return null;let{completeUrl:o,cancelUrl:p}=ce();try{t(!0);let c=await i({username:m,completeUrl:o,cancelUrl:p,completeAutoRedirect:!1,ipAddress:""});if(!c?.ident)return v.error("Une erreur est survenue lors de la création du panier"),null;return n(c.ident),c}catch{return v.error("Erreur lors de la création du panier. Contactez le support si le problème persiste."),null}finally{t(!1)}},le=(e)=>{let r=h((o)=>o.isCreatingBasket),t=h((o)=>o.setIsCreatingBasket),n=x((o)=>o.setBasketIdent),i=b((o)=>o.username);return ne(()=>ie({isCreatingBasket:r,setIsCreatingBasket:t,setBasketIdent:n,createBasket:u.createBasket,username:e??i}),[r,t,n,e,i])},ce=()=>{if(!S)throw Error("Shop URLs not initialized. Call initShopUrls(baseUrl, paths?: { complete?: string; cancel?: string }) first.");return{completeUrl:S.completeUrl,cancelUrl:S.cancelUrl}},y=le;var pe=(e)=>{let[r,t]=k(null),[n,i]=k(!1),[m,o]=k(null),[p,c]=k(!1),a=x((s)=>s.basketIdent),U=x((s)=>s.setBasketIdent),H=b((s)=>s.username),G=e??H,z=y(G),T=x((s)=>s.clearBasketIdent),R=async(s)=>{i(!0),o(null);try{let l=await u.getBasket(s);if(l.complete){t(null),T(),o(null);return}t(l),U(l.ident),o(null)}catch(l){o(l),t(null),T()}finally{i(!1)}},W=async(s,l,B,q)=>{if(p)return;try{if(c(!0),!G){C.error("Vous devez vous connecter pour ajouter des articles à votre panier");return}let f=null;if(!a){if(f=(await z())?.ident??null,!f){C.error("Une erreur est survenue lors de la création du panier");return}U(f)}else f=a;if(!f){C.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let L=u.addPackageToBasket(f,s,l,B,q);C.promise(L,{loading:"Ajout de l'article dans votre panier...",success:"Article ajouté avec succès !",error:"Une erreur est survenue lors de l'ajout de l'article dans votre panier"});let D=await L;t(D),o(null)}catch(f){o(f)}finally{c(!1)}},F=async(s)=>{if(p)return;try{if(c(!0),!a){C.error("Vous n'avez pas de panier. Si le problème persiste, veuillez vous rapprocher du support.");return}let l=u.removePackageFromBasket(a,s,r?.packages.find((B)=>B.id===s)?.in_basket.quantity??0);l.then((B)=>{t(B),o(null)}),C.promise(l,{loading:"Suppression de l'article de votre panier...",success:"Article supprimé avec succès !",error:"Une erreur est survenue lors de la suppression de l'article de votre panier"})}catch(l){o(l)}finally{c(!1)}},K=async()=>{if(a)await R(a)},j=(s)=>{t(s)};return me(()=>{if(!a)return;R(a)},[a]),{basket:r,loading:n,error:m,updateManualBasket:j,addPackageToBasket:W,removePackageFromBasket:F,refetch:K}},fe=pe;import{useCallback as A,useEffect as ge,useState as P}from"react";var ue=(e)=>{let[r,t]=P(null),[n,i]=P(!0),[m,o]=P(null),p=A(async()=>{i(!0),o(null);try{let a=await w.getCategories(e);t(a)}catch(a){o(a),t(null)}finally{i(!1)}},[e]);ge(()=>{p()},[p]);let c=A((a)=>r?.find((U)=>U.name.toLowerCase()===a.toLowerCase()),[r]);return{categories:r,loading:n,error:m,getByName:c,refetch:p}},xe=ue;export{b as useShopUserStore,h as useShopUiStore,x as useShopBasketStore,y as useCreateBasket,xe as useCategories,fe as useBasket,g as getTebex,w as categoriesService,u as basketService};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@neosianexus/super-tebex",
3
3
  "type": "module",
4
- "version": "1.1.5",
4
+ "version": "2.0.0",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -46,8 +46,8 @@
46
46
  "@testing-library/react": "^16.3.0",
47
47
  "@types/bun": "^1.2.18",
48
48
  "@types/jest": "^30.0.0",
49
- "@typescript-eslint/eslint-plugin": "^8.35.1",
50
- "@typescript-eslint/parser": "^8.35.1",
49
+ "@typescript-eslint/eslint-plugin": "^8.36.0",
50
+ "@typescript-eslint/parser": "^8.36.0",
51
51
  "@vitejs/plugin-react": "^4.6.0",
52
52
  "@vitest/coverage-v8": "^3.2.4",
53
53
  "@vitest/ui": "^3.2.4",
@@ -70,13 +70,12 @@
70
70
  "react": "^18.3.1",
71
71
  "react-dom": "^18.3.1"
72
72
  },
73
- "dependencies": {
74
- "sonner": "^2.0.6",
75
- "tebex_headless": "^1.15.1",
76
- "zustand": "^5.0.6"
77
- },
73
+ "dependencies": {},
78
74
  "peerDependencies": {
79
75
  "react": "^18.3.1",
80
- "react-dom": "^18.3.1"
76
+ "react-dom": "^18.3.1",
77
+ "zustand": "^5.0.6",
78
+ "sonner": "^2.0.6",
79
+ "tebex_headless": "^1.15.1"
81
80
  }
82
81
  }