@burdenoff/microfe-store 2026.714.7 → 2026.715.1

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.
Files changed (47) hide show
  1. package/dist/StoreAdminRoot.d.ts +22 -0
  2. package/dist/StoreAdminRoutes.d.ts +9 -0
  3. package/dist/StoreRoot.d.ts +31 -0
  4. package/dist/StoreRoutes.d.ts +12 -0
  5. package/dist/components/AccessDenied.d.ts +6 -0
  6. package/dist/components/InstallAppModal.d.ts +28 -0
  7. package/dist/components/PermissionGuard.d.ts +9 -0
  8. package/dist/components/RouteGuards.d.ts +8 -0
  9. package/dist/components/cart/CartDrawer.d.ts +35 -0
  10. package/dist/components/index.d.ts +8 -0
  11. package/dist/dev/main.d.ts +1 -0
  12. package/dist/generated/global-operations.d.ts +2027 -0
  13. package/dist/generated/global-types.d.ts +24704 -0
  14. package/dist/generated/wspace-operations.d.ts +1 -0
  15. package/dist/generated/wspace-types.d.ts +80484 -0
  16. package/dist/hooks/useBackendCart.d.ts +73 -0
  17. package/dist/hooks/useCart.d.ts +62 -0
  18. package/dist/hooks/useInstallations.d.ts +47 -0
  19. package/dist/hooks/useOrders.d.ts +47 -0
  20. package/dist/hooks/useProductSearch.d.ts +22 -0
  21. package/dist/hooks/useStoreGraphQL.d.ts +481 -0
  22. package/dist/hooks/useStoreGraphQLWithContext.d.ts +32 -0
  23. package/dist/hooks/useStorePermissions.d.ts +63 -0
  24. package/dist/index.d.ts +44 -0
  25. package/dist/pages/AdminDashboardPage.d.ts +3 -0
  26. package/dist/pages/AdminReviewModerationPage.d.ts +3 -0
  27. package/dist/pages/AdminStoresPage.d.ts +3 -0
  28. package/dist/pages/AdminSubmissionsQueuePage.d.ts +3 -0
  29. package/dist/pages/AppDetailPage.d.ts +3 -0
  30. package/dist/pages/AppSettingsPage.d.ts +3 -0
  31. package/dist/pages/CartPage.d.ts +8 -0
  32. package/dist/pages/InstalledAppsPage.d.ts +3 -0
  33. package/dist/pages/MarketplaceHomePage.d.ts +3 -0
  34. package/dist/pages/MyLicensesPage.d.ts +3 -0
  35. package/dist/pages/OrderConfirmationPage.d.ts +3 -0
  36. package/dist/pages/OrdersPage.d.ts +9 -0
  37. package/dist/pages/ProductCategoryPage.d.ts +3 -0
  38. package/dist/pages/ProductDetailPage.d.ts +8 -0
  39. package/dist/pages/SearchResultsPage.d.ts +3 -0
  40. package/dist/pages/StoresPage.d.ts +3 -0
  41. package/dist/providers/StoreProvider.d.ts +38 -0
  42. package/dist/store/storeStore.d.ts +69 -0
  43. package/dist/translations/en.d.ts +518 -0
  44. package/dist/types/index.d.ts +575 -0
  45. package/dist/utils/index.d.ts +71 -0
  46. package/dist/utils/nativeBridge.d.ts +2 -0
  47. package/package.json +2 -2
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+
3
+ /**
4
+ * Product Detail Page Component
5
+ *
6
+ * Displays comprehensive product details using real GraphQL data
7
+ */
8
+ export declare const ProductDetailPage: FC;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+
3
+ export declare const SearchResultsPage: FC;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+
3
+ export declare const StoresPage: FC;
@@ -0,0 +1,38 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { StoreRootProps, User } from '../types';
3
+
4
+ /**
5
+ * Store context value
6
+ */
7
+ interface StoreContextValue extends Omit<StoreRootProps, 'children'> {
8
+ basePath: string;
9
+ apiGatewayUrl: string;
10
+ authToken?: string;
11
+ user?: User;
12
+ productId?: string;
13
+ productName?: string;
14
+ defaultCompatibleWith?: string;
15
+ features: {
16
+ enablePhysicalProducts: boolean;
17
+ enablePublisherPortal: boolean;
18
+ enableReviews: boolean;
19
+ enableSubscriptions: boolean;
20
+ };
21
+ }
22
+ /**
23
+ * Props for StoreProvider
24
+ */
25
+ interface StoreProviderProps extends StoreRootProps {
26
+ children: ReactNode;
27
+ }
28
+ /**
29
+ * StoreProvider component
30
+ *
31
+ * Provides store context to all child components.
32
+ */
33
+ export declare const StoreProvider: FC<StoreProviderProps>;
34
+ /**
35
+ * Hook to use store context
36
+ */
37
+ export declare function useStore(): StoreContextValue;
38
+ export {};
@@ -0,0 +1,69 @@
1
+ import { ProductFilter, ViewMode, SortBy, InstallationStatus } from '../types';
2
+
3
+ /**
4
+ * Active installation state
5
+ */
6
+ interface ActiveInstallation {
7
+ productId: string;
8
+ productName: string;
9
+ status: InstallationStatus;
10
+ progress: number;
11
+ message?: string;
12
+ }
13
+ /**
14
+ * Store state
15
+ *
16
+ * NOTE: Cart and Order data are now managed by backend via GraphQL.
17
+ * Only UI state is kept in Zustand.
18
+ */
19
+ interface StoreState {
20
+ cartOpen: boolean;
21
+ searchQuery: string;
22
+ activeFilters: ProductFilter;
23
+ viewMode: ViewMode;
24
+ sortBy: SortBy;
25
+ activeInstallation: ActiveInstallation | null;
26
+ selectedCategoryId: string | null;
27
+ selectedPublisherId: string | null;
28
+ showFiltersPanel: boolean;
29
+ showCartDrawer: boolean;
30
+ showInstallationModal: boolean;
31
+ showLicenseActivationModal: boolean;
32
+ showSubmissionDrawer: boolean;
33
+ toggleCart: () => void;
34
+ setCartOpen: (open: boolean) => void;
35
+ setSearchQuery: (query: string) => void;
36
+ updateFilters: (filters: Partial<ProductFilter>) => void;
37
+ clearFilters: () => void;
38
+ resetFilters: () => void;
39
+ setViewMode: (mode: ViewMode) => void;
40
+ setSortBy: (sort: SortBy) => void;
41
+ setActiveInstallation: (installation: ActiveInstallation | null) => void;
42
+ updateInstallationProgress: (progress: number, message?: string) => void;
43
+ setSelectedCategoryId: (categoryId: string | null) => void;
44
+ setSelectedPublisherId: (publisherId: string | null) => void;
45
+ toggleFiltersPanel: () => void;
46
+ setShowFiltersPanel: (show: boolean) => void;
47
+ setShowCartDrawer: (show: boolean) => void;
48
+ setShowInstallationModal: (show: boolean) => void;
49
+ setShowLicenseActivationModal: (show: boolean) => void;
50
+ setShowSubmissionDrawer: (show: boolean) => void;
51
+ resetState: () => void;
52
+ }
53
+ /**
54
+ * Store using Zustand with persistence
55
+ */
56
+ export declare const useStoreStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<StoreState>, "setState" | "persist"> & {
57
+ setState(partial: StoreState | Partial<StoreState> | ((state: StoreState) => StoreState | Partial<StoreState>), replace?: false | undefined): unknown;
58
+ setState(state: StoreState | ((state: StoreState) => StoreState), replace: true): unknown;
59
+ persist: {
60
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<StoreState, unknown, unknown>>) => void;
61
+ clearStorage: () => void;
62
+ rehydrate: () => Promise<void> | void;
63
+ hasHydrated: () => boolean;
64
+ onHydrate: (fn: (state: StoreState) => void) => () => void;
65
+ onFinishHydration: (fn: (state: StoreState) => void) => () => void;
66
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<StoreState, unknown, unknown>>;
67
+ };
68
+ }>;
69
+ export {};
@@ -0,0 +1,518 @@
1
+ /**
2
+ * Bundled English translations for microfe-store
3
+ *
4
+ * These serve as fallback translations when the i18n API is unavailable.
5
+ * The i18n service should be the source of truth, but these ensure
6
+ * the app remains usable even when translations can't be fetched.
7
+ */
8
+ export declare const enTranslations: {
9
+ store: {
10
+ errors: {
11
+ notFound: string;
12
+ notFoundWithId: string;
13
+ productNotFound: string;
14
+ productNotFoundWithId: string;
15
+ slugAlreadyExists: string;
16
+ publisherNotFound: string;
17
+ publisherNotFoundWithId: string;
18
+ categoryNotFound: string;
19
+ categoryNotFoundWithId: string;
20
+ categoryAlreadyExists: string;
21
+ versionNotFound: string;
22
+ versionNotFoundWithId: string;
23
+ versionAlreadyExists: string;
24
+ reviewNotFound: string;
25
+ reviewNotFoundWithId: string;
26
+ reviewAlreadyExists: string;
27
+ entitlementNotFound: string;
28
+ entitlementNotFoundWithId: string;
29
+ entitlementAlreadyExists: string;
30
+ submissionNotFound: string;
31
+ submissionNotFoundWithId: string;
32
+ submissionAlreadyPending: string;
33
+ orderNotFound: string;
34
+ orderNotFoundWithId: string;
35
+ tagNotFound: string;
36
+ tagNotFoundWithId: string;
37
+ tagAlreadyExists: string;
38
+ unauthorized: string;
39
+ invalidInput: string;
40
+ invalidStatus: string;
41
+ cannotDeletePublished: string;
42
+ cannotDeleteWithOrders: string;
43
+ cannotDeleteWithEntitlements: string;
44
+ productNotPublished: string;
45
+ productAlreadyPublished: string;
46
+ insufficientFunds: string;
47
+ alreadyPurchased: string;
48
+ downloadFailed: string;
49
+ };
50
+ success: {
51
+ productCreated: string;
52
+ productUpdated: string;
53
+ productDeleted: string;
54
+ productPublished: string;
55
+ productUnlisted: string;
56
+ productDeprecated: string;
57
+ versionCreated: string;
58
+ versionDeleted: string;
59
+ reviewCreated: string;
60
+ reviewUpdated: string;
61
+ reviewDeleted: string;
62
+ reviewApproved: string;
63
+ reviewRejected: string;
64
+ entitlementCreated: string;
65
+ entitlementSuspended: string;
66
+ entitlementReactivated: string;
67
+ entitlementDeleted: string;
68
+ categoryCreated: string;
69
+ categoryUpdated: string;
70
+ categoryDeleted: string;
71
+ submissionCreated: string;
72
+ submissionApproved: string;
73
+ submissionRejected: string;
74
+ purchaseCompleted: string;
75
+ downloadStarted: string;
76
+ };
77
+ validation: {
78
+ nameRequired: string;
79
+ nameTooShort: string;
80
+ nameTooLong: string;
81
+ slugRequired: string;
82
+ slugInvalid: string;
83
+ descriptionTooLong: string;
84
+ priceRequired: string;
85
+ priceInvalid: string;
86
+ currencyRequired: string;
87
+ currencyInvalid: string;
88
+ typeRequired: string;
89
+ typeInvalid: string;
90
+ ratingRequired: string;
91
+ ratingInvalid: string;
92
+ versionRequired: string;
93
+ versionInvalid: string;
94
+ };
95
+ labels: {
96
+ product: string;
97
+ products: string;
98
+ storeItem: string;
99
+ storeItems: string;
100
+ publisher: string;
101
+ publishers: string;
102
+ category: string;
103
+ categories: string;
104
+ version: string;
105
+ versions: string;
106
+ review: string;
107
+ reviews: string;
108
+ entitlement: string;
109
+ entitlements: string;
110
+ submission: string;
111
+ submissions: string;
112
+ order: string;
113
+ orders: string;
114
+ tag: string;
115
+ tags: string;
116
+ download: string;
117
+ downloads: string;
118
+ };
119
+ status: {
120
+ draft: string;
121
+ pendingReview: string;
122
+ published: string;
123
+ unlisted: string;
124
+ deprecated: string;
125
+ rejected: string;
126
+ archived: string;
127
+ active: string;
128
+ suspended: string;
129
+ expired: string;
130
+ pending: string;
131
+ approved: string;
132
+ processed: string;
133
+ failed: string;
134
+ refunded: string;
135
+ };
136
+ productTypes: {
137
+ app: string;
138
+ template: string;
139
+ integration: string;
140
+ extension: string;
141
+ theme: string;
142
+ workflow: string;
143
+ node: string;
144
+ plugin: string;
145
+ component: string;
146
+ };
147
+ pricingModels: {
148
+ free: string;
149
+ paidOnetime: string;
150
+ subscription: string;
151
+ };
152
+ items: {
153
+ zero: string;
154
+ one: string;
155
+ other: string;
156
+ };
157
+ operations: {
158
+ creating: string;
159
+ updating: string;
160
+ deleting: string;
161
+ publishing: string;
162
+ purchasing: string;
163
+ downloading: string;
164
+ loading: string;
165
+ };
166
+ footer: {
167
+ ready: string;
168
+ };
169
+ };
170
+ publisher: {
171
+ errors: {
172
+ notFound: string;
173
+ notFoundWithId: string;
174
+ alreadyExists: string;
175
+ notVerified: string;
176
+ unauthorized: string;
177
+ };
178
+ success: {
179
+ created: string;
180
+ updated: string;
181
+ verified: string;
182
+ };
183
+ validation: {
184
+ nameRequired: string;
185
+ emailRequired: string;
186
+ emailInvalid: string;
187
+ };
188
+ };
189
+ review: {
190
+ errors: {
191
+ notFound: string;
192
+ alreadyReviewed: string;
193
+ cannotReviewOwn: string;
194
+ mustPurchase: string;
195
+ };
196
+ validation: {
197
+ ratingRequired: string;
198
+ ratingRange: string;
199
+ };
200
+ };
201
+ order: {
202
+ errors: {
203
+ notFound: string;
204
+ alreadyProcessed: string;
205
+ paymentFailed: string;
206
+ refundFailed: string;
207
+ };
208
+ success: {
209
+ created: string;
210
+ processed: string;
211
+ refunded: string;
212
+ };
213
+ };
214
+ cart: {
215
+ title: string;
216
+ empty: string;
217
+ checkout: string;
218
+ continueShopping: string;
219
+ removeItem: string;
220
+ clearCart: string;
221
+ subtotal: string;
222
+ total: string;
223
+ itemAdded: string;
224
+ itemRemoved: string;
225
+ cartCleared: string;
226
+ mergeSuccess: string;
227
+ };
228
+ nav: {
229
+ marketplace: string;
230
+ cart: string;
231
+ orders: string;
232
+ installed: string;
233
+ licenses: string;
234
+ publisher: string;
235
+ publisherDashboard: string;
236
+ submitProduct: string;
237
+ submissions: string;
238
+ revenue: string;
239
+ admin: string;
240
+ reviewModeration: string;
241
+ };
242
+ common: {
243
+ accessDenied: string;
244
+ accessDeniedDescription: string;
245
+ moduleLoadError: string;
246
+ loading: string;
247
+ error: string;
248
+ retry: string;
249
+ save: string;
250
+ cancel: string;
251
+ delete: string;
252
+ edit: string;
253
+ create: string;
254
+ search: string;
255
+ filter: string;
256
+ sort: string;
257
+ noResults: string;
258
+ viewAll: string;
259
+ back: string;
260
+ next: string;
261
+ previous: string;
262
+ tryAgain: string;
263
+ unknownPublisher: string;
264
+ unknown: string;
265
+ goBack: string;
266
+ refresh: string;
267
+ close: string;
268
+ submit: string;
269
+ confirm: string;
270
+ browse: string;
271
+ };
272
+ pages: {
273
+ marketplace: {
274
+ title: string;
275
+ subtitle: string;
276
+ searchPlaceholder: string;
277
+ filterByCategory: string;
278
+ allCategories: string;
279
+ featuredApps: string;
280
+ popularApps: string;
281
+ recentlyUpdated: string;
282
+ freeApps: string;
283
+ noResults: string;
284
+ noResultsDescription: string;
285
+ clearSearch: string;
286
+ installNow: string;
287
+ viewDetails: string;
288
+ free: string;
289
+ installed: string;
290
+ };
291
+ productDetail: {
292
+ overview: string;
293
+ reviews: string;
294
+ versions: string;
295
+ installApp: string;
296
+ installing: string;
297
+ installed: string;
298
+ addToCart: string;
299
+ alreadyInCart: string;
300
+ buyNow: string;
301
+ viewInstallation: string;
302
+ publisher: string;
303
+ category: string;
304
+ version: string;
305
+ updated: string;
306
+ rating: string;
307
+ reviews_count: string;
308
+ noReviews: string;
309
+ beFirstToReview: string;
310
+ writeReview: string;
311
+ submitReview: string;
312
+ yourRating: string;
313
+ yourReview: string;
314
+ reviewPlaceholder: string;
315
+ notFound: string;
316
+ notFoundDescription: string;
317
+ backToMarketplace: string;
318
+ };
319
+ cart: {
320
+ title: string;
321
+ items: string;
322
+ item: string;
323
+ emptyTitle: string;
324
+ emptyDescription: string;
325
+ browseMarketplace: string;
326
+ cartItems: string;
327
+ clearCart: string;
328
+ singleLicense: string;
329
+ qty: string;
330
+ digital: string;
331
+ physical: string;
332
+ subscription: string;
333
+ orderSummary: string;
334
+ subtotal: string;
335
+ estimatedTaxes: string;
336
+ calculatedAtCheckout: string;
337
+ totalPlusTaxes: string;
338
+ proceedToCheckout: string;
339
+ processing: string;
340
+ secureCheckout: string;
341
+ weAccept: string;
342
+ continueShopping: string;
343
+ failedToCreate: string;
344
+ checkoutError: string;
345
+ };
346
+ orders: {
347
+ title: string;
348
+ subtitle: string;
349
+ emptyTitle: string;
350
+ emptyDescription: string;
351
+ shopNow: string;
352
+ orderNumber: string;
353
+ orderDate: string;
354
+ items_count: string;
355
+ viewDetails: string;
356
+ installApp: string;
357
+ installed: string;
358
+ failedToLoad: string;
359
+ filterAll: string;
360
+ reorder: string;
361
+ };
362
+ orderConfirmation: {
363
+ title: string;
364
+ subtitle: string;
365
+ orderNumber: string;
366
+ orderDate: string;
367
+ paymentStatus: string;
368
+ orderStatus: string;
369
+ orderItems: string;
370
+ orderSummary: string;
371
+ subtotal: string;
372
+ tax: string;
373
+ total: string;
374
+ whatHappensNext: string;
375
+ nextStep1: string;
376
+ nextStep2: string;
377
+ nextStep3: string;
378
+ viewOrders: string;
379
+ continueShopping: string;
380
+ installNow: string;
381
+ };
382
+ installed: {
383
+ title: string;
384
+ subtitle: string;
385
+ emptyTitle: string;
386
+ emptyDescription: string;
387
+ browseMarketplace: string;
388
+ failedToLoad: string;
389
+ filterAll: string;
390
+ viewDetails: string;
391
+ uninstall: string;
392
+ settings: string;
393
+ statusAll: string;
394
+ installNew: string;
395
+ };
396
+ appDetail: {
397
+ title: string;
398
+ version: string;
399
+ status: string;
400
+ installedAt: string;
401
+ uninstall: string;
402
+ uninstalling: string;
403
+ settings: string;
404
+ openSettings: string;
405
+ failedToLoad: string;
406
+ notFound: string;
407
+ notFoundDescription: string;
408
+ };
409
+ appSettings: {
410
+ title: string;
411
+ saveSettings: string;
412
+ saving: string;
413
+ settingsSaved: string;
414
+ failedToSave: string;
415
+ noSettings: string;
416
+ noSettingsDescription: string;
417
+ };
418
+ licenses: {
419
+ title: string;
420
+ subtitle: string;
421
+ emptyTitle: string;
422
+ emptyDescription: string;
423
+ browseMarketplace: string;
424
+ failedToLoad: string;
425
+ productId: string;
426
+ entitlementId: string;
427
+ licenseKey: string;
428
+ expiresOn: string;
429
+ };
430
+ publisherDashboard: {
431
+ title: string;
432
+ subtitle: string;
433
+ totalProducts: string;
434
+ totalRevenue: string;
435
+ totalInstalls: string;
436
+ pendingReviews: string;
437
+ recentSubmissions: string;
438
+ quickActions: string;
439
+ submitNewProduct: string;
440
+ viewSubmissions: string;
441
+ viewRevenue: string;
442
+ noProducts: string;
443
+ notRegistered: string;
444
+ registerNow: string;
445
+ failedToLoad: string;
446
+ };
447
+ publisherSubmit: {
448
+ title: string;
449
+ productIdLabel: string;
450
+ productIdPlaceholder: string;
451
+ notesLabel: string;
452
+ notesPlaceholder: string;
453
+ submitButton: string;
454
+ submitting: string;
455
+ successTitle: string;
456
+ successDescription: string;
457
+ viewSubmissions: string;
458
+ submitAnother: string;
459
+ };
460
+ publisherSubmissions: {
461
+ title: string;
462
+ subtitle: string;
463
+ emptyTitle: string;
464
+ emptyDescription: string;
465
+ submitProduct: string;
466
+ failedToLoad: string;
467
+ submittedOn: string;
468
+ reviewedOn: string;
469
+ reviewNotes: string;
470
+ };
471
+ publisherRevenue: {
472
+ title: string;
473
+ subtitle: string;
474
+ totalEarnings: string;
475
+ pendingPayout: string;
476
+ lastPayout: string;
477
+ revenueHistory: string;
478
+ noRevenue: string;
479
+ noRevenueDescription: string;
480
+ period: string;
481
+ amount: string;
482
+ status: string;
483
+ };
484
+ productReviews: {
485
+ title: string;
486
+ subtitle: string;
487
+ failedToLoad: string;
488
+ noReviews: string;
489
+ noReviewsDescription: string;
490
+ rating: string;
491
+ reviewer: string;
492
+ date: string;
493
+ approve: string;
494
+ reject: string;
495
+ };
496
+ search: {
497
+ title: string;
498
+ resultsFor: string;
499
+ noResults: string;
500
+ noResultsDescription: string;
501
+ browseMarketplace: string;
502
+ resultCount: string;
503
+ };
504
+ stores: {
505
+ title: string;
506
+ subtitle: string;
507
+ emptyTitle: string;
508
+ emptyDescription: string;
509
+ failedToLoad: string;
510
+ };
511
+ category: {
512
+ title: string;
513
+ noProducts: string;
514
+ noProductsDescription: string;
515
+ browseAll: string;
516
+ };
517
+ };
518
+ };