@mohasinac/appkit 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -65
- package/dist/cli/index.d.ts +6 -9
- package/dist/cli/index.js +167 -141
- package/dist/client.d.ts +15 -0
- package/dist/client.js +15 -0
- package/dist/constants/api-endpoint-resolver.d.ts +34 -0
- package/dist/constants/api-endpoint-resolver.js +38 -0
- package/dist/constants/api-endpoints.d.ts +388 -0
- package/dist/constants/api-endpoints.js +342 -0
- package/dist/constants/cache-invalidation.d.ts +18 -0
- package/dist/constants/cache-invalidation.js +33 -0
- package/dist/constants/index.d.ts +14 -0
- package/dist/constants/index.js +14 -0
- package/dist/contracts/auth.d.ts +58 -0
- package/dist/contracts/auth.js +2 -0
- package/dist/contracts/client-auth.d.ts +22 -0
- package/dist/contracts/client-auth.js +17 -0
- package/dist/contracts/client-payment-gateway.d.ts +65 -0
- package/dist/contracts/client-payment-gateway.js +25 -0
- package/dist/contracts/client-realtime.d.ts +24 -0
- package/dist/contracts/client-realtime.js +18 -0
- package/dist/contracts/client-session.d.ts +37 -0
- package/dist/contracts/client-session.js +22 -0
- package/dist/contracts/config.d.ts +53 -0
- package/dist/contracts/config.js +2 -0
- package/dist/contracts/email.d.ts +30 -0
- package/dist/contracts/email.js +2 -0
- package/dist/contracts/extend.d.ts +270 -0
- package/dist/contracts/extend.js +75 -0
- package/dist/contracts/feature.d.ts +53 -0
- package/dist/contracts/feature.js +2 -0
- package/dist/contracts/field-ops.d.ts +31 -0
- package/dist/contracts/field-ops.js +35 -0
- package/dist/contracts/form.d.ts +89 -0
- package/dist/contracts/form.js +80 -0
- package/dist/contracts/index.d.ts +32 -728
- package/dist/contracts/index.js +13 -4
- package/dist/contracts/infra.d.ts +43 -0
- package/dist/contracts/infra.js +2 -0
- package/dist/contracts/payment.d.ts +39 -0
- package/dist/contracts/payment.js +2 -0
- package/dist/contracts/registry.d.ts +26 -0
- package/dist/contracts/registry.js +14 -0
- package/dist/contracts/repository.d.ts +127 -0
- package/dist/contracts/repository.js +28 -0
- package/dist/contracts/search.d.ts +44 -0
- package/dist/contracts/search.js +2 -0
- package/dist/contracts/shipping.d.ts +64 -0
- package/dist/contracts/shipping.js +2 -0
- package/dist/contracts/storage.d.ts +27 -0
- package/dist/contracts/storage.js +2 -0
- package/dist/contracts/style.d.ts +23 -0
- package/dist/contracts/style.js +2 -0
- package/dist/contracts/table.d.ts +104 -0
- package/dist/contracts/table.js +68 -0
- package/dist/core/CacheManager.d.ts +31 -0
- package/dist/core/CacheManager.js +63 -0
- package/dist/core/EventBus.d.ts +27 -0
- package/dist/core/EventBus.js +75 -0
- package/dist/core/Logger.d.ts +60 -0
- package/dist/core/Logger.js +153 -0
- package/dist/core/Queue.d.ts +43 -0
- package/dist/core/Queue.js +92 -0
- package/dist/core/StorageManager.d.ts +36 -0
- package/dist/core/StorageManager.js +159 -0
- package/dist/core/baseline-resolver.d.ts +52 -0
- package/dist/core/baseline-resolver.js +74 -0
- package/dist/core/browser.d.ts +18 -0
- package/dist/core/browser.js +9 -0
- package/dist/core/copilot-log.repository.d.ts +44 -0
- package/dist/core/copilot-log.repository.js +61 -0
- package/dist/core/hooks/useSiteSettings.d.ts +1 -0
- package/dist/core/hooks/useSiteSettings.js +11 -0
- package/dist/core/index.d.ts +31 -326
- package/dist/core/index.js +21 -7
- package/dist/core/integration-keys.d.ts +30 -0
- package/dist/core/integration-keys.js +55 -0
- package/dist/core/mutation-events.d.ts +147 -0
- package/dist/core/mutation-events.js +193 -0
- package/dist/core/newsletter-actions.d.ts +20 -0
- package/dist/core/newsletter-actions.js +28 -0
- package/dist/core/newsletter.repository.d.ts +55 -0
- package/dist/core/newsletter.repository.js +109 -0
- package/dist/core/server-action.d.ts +114 -0
- package/dist/core/server-action.js +119 -0
- package/dist/core/site-config.d.ts +33 -0
- package/dist/core/site-config.js +74 -0
- package/dist/core/unit-of-work.d.ts +32 -0
- package/dist/core/unit-of-work.js +114 -0
- package/dist/errors/api-error.d.ts +4 -0
- package/dist/errors/api-error.js +6 -0
- package/dist/errors/authentication-error.d.ts +4 -0
- package/dist/errors/authentication-error.js +6 -0
- package/dist/errors/authorization-error.d.ts +4 -0
- package/dist/errors/authorization-error.js +6 -0
- package/dist/errors/base-error.d.ts +14 -0
- package/dist/errors/base-error.js +22 -0
- package/dist/errors/database-error.d.ts +4 -0
- package/dist/errors/database-error.js +6 -0
- package/dist/errors/error-codes.d.ts +43 -0
- package/dist/errors/error-codes.js +93 -0
- package/dist/errors/error-handler.d.ts +16 -0
- package/dist/errors/error-handler.js +57 -0
- package/dist/errors/index.d.ts +11 -96
- package/dist/errors/index.js +15 -4
- package/dist/errors/messages.d.ts +469 -0
- package/dist/errors/messages.js +503 -0
- package/dist/errors/not-found-error.d.ts +4 -0
- package/dist/errors/not-found-error.js +6 -0
- package/dist/errors/validation-error.d.ts +4 -0
- package/dist/errors/validation-error.js +6 -0
- package/dist/features/about/components/AboutView.d.ts +38 -0
- package/dist/features/about/components/AboutView.js +5 -0
- package/dist/features/about/index.d.ts +2 -42
- package/dist/features/about/index.js +1 -280
- package/dist/features/account/actions/address-actions.d.ts +7 -0
- package/dist/features/account/actions/address-actions.js +24 -0
- package/dist/features/account/actions/index.d.ts +1 -0
- package/dist/features/account/actions/index.js +1 -0
- package/dist/features/account/address-validation.d.ts +20 -0
- package/dist/features/account/address-validation.js +35 -0
- package/dist/features/account/api/[userId]/addresses/route.d.ts +21 -0
- package/dist/features/account/api/[userId]/addresses/route.js +91 -0
- package/dist/features/account/api/[userId]/route.d.ts +23 -0
- package/dist/features/account/api/[userId]/route.js +67 -0
- package/dist/features/account/columns/index.d.ts +17 -0
- package/dist/features/account/columns/index.js +39 -0
- package/dist/features/account/components/AddressBook.d.ts +39 -0
- package/dist/features/account/components/AddressBook.js +14 -0
- package/dist/features/account/components/AddressForm.d.ts +39 -0
- package/dist/features/account/components/AddressForm.js +55 -0
- package/dist/features/account/components/AddressSelectorCreate.d.ts +16 -0
- package/dist/features/account/components/AddressSelectorCreate.js +40 -0
- package/dist/features/account/components/BecomeSellerView.d.ts +17 -0
- package/dist/features/account/components/BecomeSellerView.js +5 -0
- package/dist/features/account/components/ChatList.d.ts +14 -0
- package/dist/features/account/components/ChatList.js +10 -0
- package/dist/features/account/components/ChatWindow.d.ts +17 -0
- package/dist/features/account/components/ChatWindow.js +6 -0
- package/dist/features/account/components/MessagesView.d.ts +16 -0
- package/dist/features/account/components/MessagesView.js +5 -0
- package/dist/features/account/components/NotificationBell.d.ts +32 -0
- package/dist/features/account/components/NotificationBell.js +80 -0
- package/dist/features/account/components/OrderDetailView.d.ts +18 -0
- package/dist/features/account/components/OrderDetailView.js +12 -0
- package/dist/features/account/components/ProfileView.d.ts +12 -0
- package/dist/features/account/components/ProfileView.js +5 -0
- package/dist/features/account/components/UserAccountHubView.d.ts +13 -0
- package/dist/features/account/components/UserAccountHubView.js +5 -0
- package/dist/features/account/components/UserAddressesView.d.ts +13 -0
- package/dist/features/account/components/UserAddressesView.js +5 -0
- package/dist/features/account/components/UserNotificationsView.d.ts +15 -0
- package/dist/features/account/components/UserNotificationsView.js +12 -0
- package/dist/features/account/components/UserOffersView.d.ts +10 -0
- package/dist/features/account/components/UserOffersView.js +5 -0
- package/dist/features/account/components/UserOrderTrackView.d.ts +16 -0
- package/dist/features/account/components/UserOrderTrackView.js +8 -0
- package/dist/features/account/components/UserOrdersView.d.ts +12 -0
- package/dist/features/account/components/UserOrdersView.js +5 -0
- package/dist/features/account/components/UserSettingsView.d.ts +15 -0
- package/dist/features/account/components/UserSettingsView.js +12 -0
- package/dist/features/account/components/index.d.ts +34 -0
- package/dist/features/account/components/index.js +17 -0
- package/dist/features/account/constants/addresses.d.ts +13 -0
- package/dist/features/account/constants/addresses.js +43 -0
- package/dist/features/account/hooks/useAccount.d.ts +13 -0
- package/dist/features/account/hooks/useAccount.js +19 -0
- package/dist/features/account/hooks/useAddressForm.d.ts +24 -0
- package/dist/features/account/hooks/useAddressForm.js +58 -0
- package/dist/features/account/hooks/useAddressSelector.d.ts +25 -0
- package/dist/features/account/hooks/useAddressSelector.js +30 -0
- package/dist/features/account/hooks/useAddresses.d.ts +59 -0
- package/dist/features/account/hooks/useAddresses.js +73 -0
- package/dist/features/account/hooks/useNotifications.d.ts +23 -0
- package/dist/features/account/hooks/useNotifications.js +31 -0
- package/dist/features/account/hooks/useProfile.d.ts +25 -0
- package/dist/features/account/hooks/useProfile.js +24 -0
- package/dist/features/account/hooks/useProfileStats.d.ts +6 -0
- package/dist/features/account/hooks/useProfileStats.js +21 -0
- package/dist/features/account/hooks/usePublicProfile.d.ts +78 -0
- package/dist/features/account/hooks/usePublicProfile.js +51 -0
- package/dist/features/account/index.d.ts +15 -555
- package/dist/features/account/index.js +15 -1003
- package/dist/features/account/manifest.d.ts +2 -0
- package/dist/features/account/manifest.js +27 -0
- package/dist/features/account/messages/en.json +12 -0
- package/dist/features/account/repository/account.repository.d.ts +11 -0
- package/dist/features/account/repository/account.repository.js +20 -0
- package/dist/features/account/repository/address.repository.d.ts +17 -0
- package/dist/features/account/repository/address.repository.js +185 -0
- package/dist/features/account/schemas/firestore.d.ts +48 -0
- package/dist/features/account/schemas/firestore.js +59 -0
- package/dist/features/account/schemas/index.d.ts +198 -0
- package/dist/features/account/schemas/index.js +51 -0
- package/dist/features/account/server.d.ts +9 -0
- package/dist/features/account/server.js +9 -0
- package/dist/features/account/types/index.d.ts +83 -0
- package/dist/features/account/types/index.js +2 -0
- package/dist/features/admin/actions/admin-actions.d.ts +35 -0
- package/dist/features/admin/actions/admin-actions.js +174 -0
- package/dist/features/admin/actions/admin-coupon-actions.d.ts +17 -0
- package/dist/features/admin/actions/admin-coupon-actions.js +87 -0
- package/dist/features/admin/actions/admin-read-actions.d.ts +105 -0
- package/dist/features/admin/actions/admin-read-actions.js +172 -0
- package/dist/features/admin/actions/chat-actions.d.ts +29 -0
- package/dist/features/admin/actions/chat-actions.js +97 -0
- package/dist/features/admin/actions/index.d.ts +6 -0
- package/dist/features/admin/actions/index.js +6 -0
- package/dist/features/admin/actions/notification-actions.d.ts +31 -0
- package/dist/features/admin/actions/notification-actions.js +42 -0
- package/dist/features/admin/actions/site-settings-actions.d.ts +8 -0
- package/dist/features/admin/actions/site-settings-actions.js +16 -0
- package/dist/features/admin/api/bids/route.d.ts +14 -0
- package/dist/features/admin/api/bids/route.js +53 -0
- package/dist/features/admin/api/coupons/route.d.ts +14 -0
- package/dist/features/admin/api/coupons/route.js +53 -0
- package/dist/features/admin/api/products/route.d.ts +14 -0
- package/dist/features/admin/api/products/route.js +54 -0
- package/dist/features/admin/api/reviews/route.d.ts +14 -0
- package/dist/features/admin/api/reviews/route.js +53 -0
- package/dist/features/admin/components/AdminAnalyticsView.d.ts +29 -0
- package/dist/features/admin/components/AdminAnalyticsView.js +15 -0
- package/dist/features/admin/components/AdminBidsView.d.ts +4 -0
- package/dist/features/admin/components/AdminBidsView.js +5 -0
- package/dist/features/admin/components/AdminBlogView.d.ts +4 -0
- package/dist/features/admin/components/AdminBlogView.js +5 -0
- package/dist/features/admin/components/AdminCarouselView.d.ts +9 -0
- package/dist/features/admin/components/AdminCarouselView.js +5 -0
- package/dist/features/admin/components/AdminCategoriesView.d.ts +9 -0
- package/dist/features/admin/components/AdminCategoriesView.js +5 -0
- package/dist/features/admin/components/AdminCouponsView.d.ts +4 -0
- package/dist/features/admin/components/AdminCouponsView.js +5 -0
- package/dist/features/admin/components/AdminDashboardView.d.ts +16 -0
- package/dist/features/admin/components/AdminDashboardView.js +11 -0
- package/dist/features/admin/components/AdminFaqsView.d.ts +4 -0
- package/dist/features/admin/components/AdminFaqsView.js +5 -0
- package/dist/features/admin/components/AdminFeatureFlagsView.d.ts +9 -0
- package/dist/features/admin/components/AdminFeatureFlagsView.js +5 -0
- package/dist/features/admin/components/AdminFilterBar.d.ts +65 -0
- package/dist/features/admin/components/AdminFilterBar.js +22 -0
- package/dist/features/admin/components/AdminMediaView.d.ts +9 -0
- package/dist/features/admin/components/AdminMediaView.js +5 -0
- package/dist/features/admin/components/AdminNavigationView.d.ts +9 -0
- package/dist/features/admin/components/AdminNavigationView.js +5 -0
- package/dist/features/admin/components/AdminOrdersView.d.ts +4 -0
- package/dist/features/admin/components/AdminOrdersView.js +5 -0
- package/dist/features/admin/components/AdminPageHeader.d.ts +53 -0
- package/dist/features/admin/components/AdminPageHeader.js +12 -0
- package/dist/features/admin/components/AdminPayoutsView.d.ts +4 -0
- package/dist/features/admin/components/AdminPayoutsView.js +5 -0
- package/dist/features/admin/components/AdminProductsView.d.ts +4 -0
- package/dist/features/admin/components/AdminProductsView.js +5 -0
- package/dist/features/admin/components/AdminReviewsView.d.ts +7 -0
- package/dist/features/admin/components/AdminReviewsView.js +5 -0
- package/dist/features/admin/components/AdminSectionsView.d.ts +9 -0
- package/dist/features/admin/components/AdminSectionsView.js +5 -0
- package/dist/features/admin/components/AdminSessionsManager.d.ts +9 -0
- package/dist/features/admin/components/AdminSessionsManager.js +5 -0
- package/dist/features/admin/components/AdminSidebar.d.ts +9 -0
- package/dist/features/admin/components/AdminSidebar.js +6 -0
- package/dist/features/admin/components/AdminSiteView.d.ts +10 -0
- package/dist/features/admin/components/AdminSiteView.js +5 -0
- package/dist/features/admin/components/AdminStoresView.d.ts +4 -0
- package/dist/features/admin/components/AdminStoresView.js +5 -0
- package/dist/features/admin/components/AdminTopBar.d.ts +8 -0
- package/dist/features/admin/components/AdminTopBar.js +8 -0
- package/dist/features/admin/components/AdminUsersView.d.ts +4 -0
- package/dist/features/admin/components/AdminUsersView.js +5 -0
- package/dist/features/admin/components/DashboardStats.d.ts +8 -0
- package/dist/features/admin/components/DashboardStats.js +21 -0
- package/dist/features/admin/components/DataTable.d.ts +19 -0
- package/dist/features/admin/components/DataTable.js +7 -0
- package/dist/features/admin/components/DemoSeedView.d.ts +11 -0
- package/dist/features/admin/components/DemoSeedView.js +5 -0
- package/dist/features/admin/components/DrawerFormFooter.d.ts +54 -0
- package/dist/features/admin/components/DrawerFormFooter.js +6 -0
- package/dist/features/admin/components/QuickActionsPanel.d.ts +15 -0
- package/dist/features/admin/components/QuickActionsPanel.js +6 -0
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.d.ts +17 -0
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +33 -0
- package/dist/features/admin/components/analytics/AdminStatCard.d.ts +8 -0
- package/dist/features/admin/components/analytics/AdminStatCard.js +6 -0
- package/dist/features/admin/components/analytics/AdminTopProductsTable.d.ts +16 -0
- package/dist/features/admin/components/analytics/AdminTopProductsTable.js +6 -0
- package/dist/features/admin/components/analytics/index.d.ts +3 -0
- package/dist/features/admin/components/analytics/index.js +3 -0
- package/dist/features/admin/components/index.d.ts +62 -0
- package/dist/features/admin/components/index.js +32 -0
- package/dist/features/admin/hooks/useAdmin.d.ts +9 -0
- package/dist/features/admin/hooks/useAdmin.js +14 -0
- package/dist/features/admin/hooks/useChat.d.ts +24 -0
- package/dist/features/admin/hooks/useChat.js +97 -0
- package/dist/features/admin/index.d.ts +8 -554
- package/dist/features/admin/index.js +7 -2703
- package/dist/features/admin/manifest.d.ts +2 -0
- package/dist/features/admin/manifest.js +13 -0
- package/dist/features/admin/messages/en.json +13 -0
- package/dist/features/admin/permission-map.d.ts +3 -0
- package/dist/features/admin/permission-map.js +24 -0
- package/dist/features/admin/repository/chat.repository.d.ts +70 -0
- package/dist/features/admin/repository/chat.repository.js +216 -0
- package/dist/features/admin/repository/notification.repository.d.ts +64 -0
- package/dist/features/admin/repository/notification.repository.js +225 -0
- package/dist/features/admin/repository/site-settings.repository.d.ts +118 -0
- package/dist/features/admin/repository/site-settings.repository.js +214 -0
- package/dist/features/admin/schemas/firestore.d.ts +311 -0
- package/dist/features/admin/schemas/firestore.js +246 -0
- package/dist/features/admin/schemas/index.d.ts +1 -0
- package/dist/features/admin/schemas/index.js +1 -0
- package/dist/features/admin/server.d.ts +15 -0
- package/dist/features/admin/server.js +14 -0
- package/dist/features/admin/types/index.d.ts +61 -0
- package/dist/features/admin/types/index.js +1 -0
- package/dist/features/admin/types/product.types.d.ts +78 -0
- package/dist/features/admin/types/product.types.js +13 -0
- package/dist/features/auctions/actions/bid-actions.d.ts +22 -0
- package/dist/features/auctions/actions/bid-actions.js +106 -0
- package/dist/features/auctions/actions/index.d.ts +1 -0
- package/dist/features/auctions/actions/index.js +1 -0
- package/dist/features/auctions/api/route.d.ts +14 -0
- package/dist/features/auctions/api/route.js +67 -0
- package/dist/features/auctions/columns/index.d.ts +14 -0
- package/dist/features/auctions/columns/index.js +63 -0
- package/dist/features/auctions/components/AuctionCard.d.ts +26 -0
- package/dist/features/auctions/components/AuctionCard.js +35 -0
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +56 -0
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +112 -0
- package/dist/features/auctions/components/MarketplaceAuctionGrid.d.ts +22 -0
- package/dist/features/auctions/components/MarketplaceAuctionGrid.js +37 -0
- package/dist/features/auctions/components/index.d.ts +3 -0
- package/dist/features/auctions/components/index.js +3 -0
- package/dist/features/auctions/hooks/useAuctions.d.ts +50 -0
- package/dist/features/auctions/hooks/useAuctions.js +93 -0
- package/dist/features/auctions/hooks/usePlaceBid.d.ts +24 -0
- package/dist/features/auctions/hooks/usePlaceBid.js +29 -0
- package/dist/features/auctions/hooks/useRealtimeBids.d.ts +38 -0
- package/dist/features/auctions/hooks/useRealtimeBids.js +66 -0
- package/dist/features/auctions/index.d.ts +8 -513
- package/dist/features/auctions/index.js +8 -1194
- package/dist/features/auctions/manifest.d.ts +2 -0
- package/dist/features/auctions/manifest.js +17 -0
- package/dist/features/auctions/messages/en.json +18 -0
- package/dist/features/auctions/repository/auctions.repository.d.ts +12 -0
- package/dist/features/auctions/repository/auctions.repository.js +42 -0
- package/dist/features/auctions/repository/bid.repository.d.ts +145 -0
- package/dist/features/auctions/repository/bid.repository.js +370 -0
- package/dist/features/auctions/schemas/firestore.d.ts +48 -0
- package/dist/features/auctions/schemas/firestore.js +50 -0
- package/dist/features/auctions/schemas/index.d.ts +155 -0
- package/dist/features/auctions/schemas/index.js +64 -0
- package/dist/features/auctions/server.d.ts +10 -0
- package/dist/features/auctions/server.js +10 -0
- package/dist/features/auctions/types/index.d.ts +73 -0
- package/dist/features/auctions/types/index.js +1 -0
- package/dist/features/auth/actions/index.d.ts +2 -0
- package/dist/features/auth/actions/index.js +2 -0
- package/dist/features/auth/actions/profile-actions.d.ts +27 -0
- package/dist/features/auth/actions/profile-actions.js +50 -0
- package/dist/features/auth/actions/realtime-token-actions.d.ts +11 -0
- package/dist/features/auth/actions/realtime-token-actions.js +31 -0
- package/dist/features/auth/api/route.d.ts +22 -0
- package/dist/features/auth/api/route.js +48 -0
- package/dist/features/auth/auth-helpers.d.ts +14 -0
- package/dist/features/auth/auth-helpers.js +68 -0
- package/dist/features/auth/components/AuthStatusPanel.d.ts +10 -0
- package/dist/features/auth/components/AuthStatusPanel.js +22 -0
- package/dist/features/auth/components/ForgotPasswordView.d.ts +18 -0
- package/dist/features/auth/components/ForgotPasswordView.js +15 -0
- package/dist/features/auth/components/Guards.d.ts +86 -0
- package/dist/features/auth/components/Guards.js +91 -0
- package/dist/features/auth/components/LoginForm.d.ts +36 -0
- package/dist/features/auth/components/LoginForm.js +18 -0
- package/dist/features/auth/components/RegisterForm.d.ts +36 -0
- package/dist/features/auth/components/RegisterForm.js +27 -0
- package/dist/features/auth/components/ResetPasswordView.d.ts +23 -0
- package/dist/features/auth/components/ResetPasswordView.js +22 -0
- package/dist/features/auth/components/SocialAuthButtons.d.ts +8 -0
- package/dist/features/auth/components/SocialAuthButtons.js +6 -0
- package/dist/features/auth/components/VerifyEmailView.d.ts +20 -0
- package/dist/features/auth/components/VerifyEmailView.js +8 -0
- package/dist/features/auth/components/index.d.ts +14 -0
- package/dist/features/auth/components/index.js +8 -0
- package/dist/features/auth/consent-otp.d.ts +52 -0
- package/dist/features/auth/consent-otp.js +120 -0
- package/dist/features/auth/hooks/useAuth.d.ts +81 -0
- package/dist/features/auth/hooks/useAuth.js +164 -0
- package/dist/features/auth/hooks/useAuthEvent.d.ts +22 -0
- package/dist/features/auth/hooks/useAuthEvent.js +31 -0
- package/dist/features/auth/hooks/useLogout.d.ts +16 -0
- package/dist/features/auth/hooks/useLogout.js +22 -0
- package/dist/features/auth/hooks/useRBAC.d.ts +38 -0
- package/dist/features/auth/hooks/useRBAC.js +80 -0
- package/dist/features/auth/index.d.ts +10 -315
- package/dist/features/auth/index.js +10 -1874
- package/dist/features/auth/manifest.d.ts +2 -0
- package/dist/features/auth/manifest.js +21 -0
- package/dist/features/auth/messages/en.json +13 -0
- package/dist/features/auth/repository/index.d.ts +4 -0
- package/dist/features/auth/repository/index.js +4 -0
- package/dist/features/auth/repository/session.repository.d.ts +44 -0
- package/dist/features/auth/repository/session.repository.js +246 -0
- package/dist/features/auth/repository/sms-counter.repository.d.ts +15 -0
- package/dist/features/auth/repository/sms-counter.repository.js +54 -0
- package/dist/features/auth/repository/token.repository.d.ts +38 -0
- package/dist/features/auth/repository/token.repository.js +186 -0
- package/dist/features/auth/repository/user.repository.d.ts +46 -0
- package/dist/features/auth/repository/user.repository.js +233 -0
- package/dist/features/auth/schemas/firestore.d.ts +351 -0
- package/dist/features/auth/schemas/firestore.js +272 -0
- package/dist/features/auth/schemas/index.d.ts +72 -0
- package/dist/features/auth/schemas/index.js +41 -0
- package/dist/features/auth/server.d.ts +15 -18
- package/dist/features/auth/server.js +21 -529
- package/dist/features/auth/token-helpers.d.ts +7 -0
- package/dist/features/auth/token-helpers.js +37 -0
- package/dist/features/auth/token-store.d.ts +39 -0
- package/dist/features/auth/token-store.js +120 -0
- package/dist/features/auth/types/index.d.ts +30 -0
- package/dist/features/auth/types/index.js +1 -0
- package/dist/features/before-after/api/[id]/route.d.ts +26 -0
- package/dist/features/before-after/api/[id]/route.js +88 -0
- package/dist/features/before-after/api/route.d.ts +13 -0
- package/dist/features/before-after/api/route.js +79 -0
- package/dist/features/before-after/columns/index.d.ts +17 -0
- package/dist/features/before-after/columns/index.js +50 -0
- package/dist/features/before-after/components/BeforeAfterGallery.d.ts +7 -0
- package/dist/features/before-after/components/BeforeAfterGallery.js +8 -0
- package/dist/features/before-after/components/BeforeAfterSlider.d.ts +7 -0
- package/dist/features/before-after/components/BeforeAfterSlider.js +27 -0
- package/dist/features/before-after/components/index.d.ts +2 -0
- package/dist/features/before-after/components/index.js +2 -0
- package/dist/features/before-after/hooks/useBeforeAfter.d.ts +15 -0
- package/dist/features/before-after/hooks/useBeforeAfter.js +25 -0
- package/dist/features/before-after/index.d.ts +6 -128
- package/dist/features/before-after/index.js +6 -546
- package/dist/features/before-after/manifest.d.ts +2 -0
- package/dist/features/before-after/manifest.js +10 -0
- package/dist/features/before-after/messages/en.json +8 -0
- package/dist/features/before-after/repository/before-after.repository.d.ts +13 -0
- package/dist/features/before-after/repository/before-after.repository.js +36 -0
- package/dist/features/before-after/schemas/index.d.ts +48 -0
- package/dist/features/before-after/schemas/index.js +24 -0
- package/dist/features/before-after/server.d.ts +7 -0
- package/dist/features/before-after/server.js +7 -0
- package/dist/features/before-after/types/index.d.ts +18 -0
- package/dist/features/before-after/types/index.js +1 -0
- package/dist/features/blog/actions/blog-actions.d.ts +302 -0
- package/dist/features/blog/actions/blog-actions.js +119 -0
- package/dist/features/blog/actions/index.d.ts +1 -0
- package/dist/features/blog/actions/index.js +1 -0
- package/dist/features/blog/api/[slug]/route.d.ts +23 -0
- package/dist/features/blog/api/[slug]/route.js +40 -0
- package/dist/features/blog/api/route.d.ts +12 -0
- package/dist/features/blog/api/route.js +64 -0
- package/dist/features/blog/columns/index.d.ts +27 -0
- package/dist/features/blog/columns/index.js +54 -0
- package/dist/features/blog/components/BlogFeaturedCard.d.ts +17 -0
- package/dist/features/blog/components/BlogFeaturedCard.js +24 -0
- package/dist/features/blog/components/BlogFilters.d.ts +106 -0
- package/dist/features/blog/components/BlogFilters.js +67 -0
- package/dist/features/blog/components/BlogListView.d.ts +29 -0
- package/dist/features/blog/components/BlogListView.js +38 -0
- package/dist/features/blog/components/BlogPostForm.d.ts +56 -0
- package/dist/features/blog/components/BlogPostForm.js +24 -0
- package/dist/features/blog/components/BlogPostView.d.ts +32 -0
- package/dist/features/blog/components/BlogPostView.js +39 -0
- package/dist/features/blog/components/index.d.ts +9 -0
- package/dist/features/blog/components/index.js +5 -0
- package/dist/features/blog/hooks/useBlog.d.ts +27 -0
- package/dist/features/blog/hooks/useBlog.js +51 -0
- package/dist/features/blog/index.d.ts +6 -492
- package/dist/features/blog/index.js +6 -4062
- package/dist/features/blog/manifest.d.ts +2 -0
- package/dist/features/blog/manifest.js +14 -0
- package/dist/features/blog/messages/en.json +14 -0
- package/dist/features/blog/repository/blog.repository.d.ts +79 -0
- package/dist/features/blog/repository/blog.repository.js +130 -0
- package/dist/features/blog/schemas/firestore.d.ts +87 -0
- package/dist/features/blog/schemas/firestore.js +99 -0
- package/dist/features/blog/schemas/index.d.ts +207 -0
- package/dist/features/blog/schemas/index.js +71 -0
- package/dist/features/blog/server.d.ts +8 -71
- package/dist/features/blog/server.js +10 -180
- package/dist/features/blog/types/index.d.ts +47 -0
- package/dist/features/blog/types/index.js +1 -0
- package/dist/features/cart/actions/cart-actions.d.ts +16 -0
- package/dist/features/cart/actions/cart-actions.js +52 -0
- package/dist/features/cart/actions/index.d.ts +1 -0
- package/dist/features/cart/actions/index.js +1 -0
- package/dist/features/cart/api/[id]/route.d.ts +21 -0
- package/dist/features/cart/api/[id]/route.js +62 -0
- package/dist/features/cart/api/route.d.ts +13 -0
- package/dist/features/cart/api/route.js +79 -0
- package/dist/features/cart/columns/index.d.ts +17 -0
- package/dist/features/cart/columns/index.js +53 -0
- package/dist/features/cart/components/CartDrawer.d.ts +27 -0
- package/dist/features/cart/components/CartDrawer.js +14 -0
- package/dist/features/cart/components/CartSummary.d.ts +19 -0
- package/dist/features/cart/components/CartSummary.js +5 -0
- package/dist/features/cart/components/CartView.d.ts +17 -0
- package/dist/features/cart/components/CartView.js +7 -0
- package/dist/features/cart/components/CheckoutAddressStep.d.ts +20 -0
- package/dist/features/cart/components/CheckoutAddressStep.js +12 -0
- package/dist/features/cart/components/CheckoutOtpModal.d.ts +15 -0
- package/dist/features/cart/components/CheckoutOtpModal.js +12 -0
- package/dist/features/cart/components/CheckoutSuccessView.d.ts +12 -0
- package/dist/features/cart/components/CheckoutSuccessView.js +9 -0
- package/dist/features/cart/components/CheckoutView.d.ts +15 -0
- package/dist/features/cart/components/CheckoutView.js +18 -0
- package/dist/features/cart/components/index.d.ts +13 -0
- package/dist/features/cart/components/index.js +7 -0
- package/dist/features/cart/hooks/useAddToCart.d.ts +27 -0
- package/dist/features/cart/hooks/useAddToCart.js +52 -0
- package/dist/features/cart/hooks/useCart.d.ts +17 -0
- package/dist/features/cart/hooks/useCart.js +24 -0
- package/dist/features/cart/hooks/useCartCount.d.ts +7 -0
- package/dist/features/cart/hooks/useCartCount.js +19 -0
- package/dist/features/cart/hooks/useCartQuery.d.ts +8 -0
- package/dist/features/cart/hooks/useCartQuery.js +11 -0
- package/dist/features/cart/hooks/useCheckoutReadQueries.d.ts +14 -0
- package/dist/features/cart/hooks/useCheckoutReadQueries.js +18 -0
- package/dist/features/cart/hooks/useGuestCart.d.ts +18 -0
- package/dist/features/cart/hooks/useGuestCart.js +32 -0
- package/dist/features/cart/hooks/useGuestCartMerge.d.ts +15 -0
- package/dist/features/cart/hooks/useGuestCartMerge.js +50 -0
- package/dist/features/cart/hooks/useOrder.d.ts +13 -0
- package/dist/features/cart/hooks/useOrder.js +24 -0
- package/dist/features/cart/index.d.ts +14 -451
- package/dist/features/cart/index.js +14 -1064
- package/dist/features/cart/manifest.d.ts +2 -0
- package/dist/features/cart/manifest.js +10 -0
- package/dist/features/cart/messages/en.json +10 -0
- package/dist/features/cart/repository/cart.repository.d.ts +23 -0
- package/dist/features/cart/repository/cart.repository.js +210 -0
- package/dist/features/cart/schemas/firestore.d.ts +83 -0
- package/dist/features/cart/schemas/firestore.js +36 -0
- package/dist/features/cart/schemas/index.d.ts +184 -0
- package/dist/features/cart/schemas/index.js +35 -0
- package/dist/features/cart/server.d.ts +8 -0
- package/dist/features/cart/server.js +8 -0
- package/dist/features/cart/types/index.d.ts +27 -0
- package/dist/features/cart/types/index.js +1 -0
- package/dist/features/cart/utils/guest-cart.d.ts +26 -0
- package/dist/features/cart/utils/guest-cart.js +83 -0
- package/dist/features/categories/actions/category-actions.d.ts +17 -0
- package/dist/features/categories/actions/category-actions.js +63 -0
- package/dist/features/categories/actions/index.d.ts +1 -0
- package/dist/features/categories/actions/index.js +1 -0
- package/dist/features/categories/api/[id]/route.d.ts +23 -0
- package/dist/features/categories/api/[id]/route.js +98 -0
- package/dist/features/categories/api/route.d.ts +19 -0
- package/dist/features/categories/api/route.js +200 -0
- package/dist/features/categories/columns/index.d.ts +15 -0
- package/dist/features/categories/columns/index.js +38 -0
- package/dist/features/categories/components/BreadcrumbTrail.d.ts +47 -0
- package/dist/features/categories/components/BreadcrumbTrail.js +36 -0
- package/dist/features/categories/components/CategoriesListView.d.ts +31 -0
- package/dist/features/categories/components/CategoriesListView.js +27 -0
- package/dist/features/categories/components/CategoryFilters.d.ts +68 -0
- package/dist/features/categories/components/CategoryFilters.js +75 -0
- package/dist/features/categories/components/CategoryForm.d.ts +24 -0
- package/dist/features/categories/components/CategoryForm.js +42 -0
- package/dist/features/categories/components/CategoryGrid.d.ts +14 -0
- package/dist/features/categories/components/CategoryGrid.js +14 -0
- package/dist/features/categories/components/CategoryProductsView.d.ts +49 -0
- package/dist/features/categories/components/CategoryProductsView.js +21 -0
- package/dist/features/categories/components/CategorySelectorCreate.d.ts +17 -0
- package/dist/features/categories/components/CategorySelectorCreate.js +57 -0
- package/dist/features/categories/components/CategorySortSelect.d.ts +9 -0
- package/dist/features/categories/components/CategorySortSelect.js +8 -0
- package/dist/features/categories/components/CategoryTableColumns.d.ts +30 -0
- package/dist/features/categories/components/CategoryTableColumns.js +54 -0
- package/dist/features/categories/components/CategoryTree.d.ts +15 -0
- package/dist/features/categories/components/CategoryTree.js +49 -0
- package/dist/features/categories/components/ConcernCard.d.ts +8 -0
- package/dist/features/categories/components/ConcernCard.js +5 -0
- package/dist/features/categories/components/ConcernGrid.d.ts +8 -0
- package/dist/features/categories/components/ConcernGrid.js +8 -0
- package/dist/features/categories/components/index.d.ts +22 -0
- package/dist/features/categories/components/index.js +12 -0
- package/dist/features/categories/hooks/useCategories.d.ts +26 -0
- package/dist/features/categories/hooks/useCategories.js +50 -0
- package/dist/features/categories/hooks/useCategorySelector.d.ts +26 -0
- package/dist/features/categories/hooks/useCategorySelector.js +42 -0
- package/dist/features/categories/index.d.ts +7 -461
- package/dist/features/categories/index.js +7 -2031
- package/dist/features/categories/manifest.d.ts +2 -0
- package/dist/features/categories/manifest.js +20 -0
- package/dist/features/categories/messages/en.json +14 -0
- package/dist/features/categories/repository/categories.repository.d.ts +31 -0
- package/dist/features/categories/repository/categories.repository.js +399 -0
- package/dist/features/categories/schemas/firestore.d.ts +140 -0
- package/dist/features/categories/schemas/firestore.js +189 -0
- package/dist/features/categories/schemas/index.d.ts +207 -0
- package/dist/features/categories/schemas/index.js +67 -0
- package/dist/features/categories/server.d.ts +7 -44
- package/dist/features/categories/server.js +10 -789
- package/dist/features/categories/types/index.d.ts +80 -0
- package/dist/features/categories/types/index.js +13 -0
- package/dist/features/checkout/actions/checkout-actions.d.ts +14 -0
- package/dist/features/checkout/actions/checkout-actions.js +91 -0
- package/dist/features/checkout/actions/index.d.ts +1 -0
- package/dist/features/checkout/actions/index.js +1 -0
- package/dist/features/checkout/components/CheckoutStepper.d.ts +10 -0
- package/dist/features/checkout/components/CheckoutStepper.js +15 -0
- package/dist/features/checkout/components/index.d.ts +1 -0
- package/dist/features/checkout/components/index.js +1 -0
- package/dist/features/checkout/hooks/useCheckout.d.ts +9 -0
- package/dist/features/checkout/hooks/useCheckout.js +24 -0
- package/dist/features/checkout/hooks/useCheckoutApi.d.ts +74 -0
- package/dist/features/checkout/hooks/useCheckoutApi.js +48 -0
- package/dist/features/checkout/hooks/usePaymentCheckout.d.ts +78 -0
- package/dist/features/checkout/hooks/usePaymentCheckout.js +178 -0
- package/dist/features/checkout/index.d.ts +8 -70
- package/dist/features/checkout/index.js +7 -192
- package/dist/features/checkout/manifest.d.ts +2 -0
- package/dist/features/checkout/manifest.js +17 -0
- package/dist/features/checkout/messages/en.json +10 -0
- package/dist/features/checkout/repository/failed-checkout.repository.d.ts +18 -0
- package/dist/features/checkout/repository/failed-checkout.repository.js +29 -0
- package/dist/features/checkout/schemas/firestore.d.ts +33 -0
- package/dist/features/checkout/schemas/firestore.js +6 -0
- package/dist/features/checkout/schemas/index.d.ts +1 -0
- package/dist/features/checkout/schemas/index.js +1 -0
- package/dist/features/checkout/server.d.ts +8 -0
- package/dist/features/checkout/server.js +8 -0
- package/dist/features/checkout/types/index.d.ts +46 -0
- package/dist/features/checkout/types/index.js +2 -0
- package/dist/features/cms/index.d.ts +1 -2
- package/dist/features/cms/index.js +5 -4
- package/dist/features/collections/api/[slug]/route.d.ts +26 -0
- package/dist/features/collections/api/[slug]/route.js +102 -0
- package/dist/features/collections/api/route.d.ts +13 -0
- package/dist/features/collections/api/route.js +79 -0
- package/dist/features/collections/columns/index.d.ts +17 -0
- package/dist/features/collections/columns/index.js +55 -0
- package/dist/features/collections/components/CollectionCard.d.ts +12 -0
- package/dist/features/collections/components/CollectionCard.js +9 -0
- package/dist/features/collections/components/index.d.ts +1 -0
- package/dist/features/collections/components/index.js +1 -0
- package/dist/features/collections/hooks/useCollections.d.ts +7 -0
- package/dist/features/collections/hooks/useCollections.js +34 -0
- package/dist/features/collections/index.d.ts +6 -148
- package/dist/features/collections/index.js +6 -378
- package/dist/features/collections/manifest.d.ts +2 -0
- package/dist/features/collections/manifest.js +16 -0
- package/dist/features/collections/messages/en.json +10 -0
- package/dist/features/collections/repository/collections.repository.d.ts +8 -0
- package/dist/features/collections/repository/collections.repository.js +16 -0
- package/dist/features/collections/schemas/index.d.ts +76 -0
- package/dist/features/collections/schemas/index.js +34 -0
- package/dist/features/collections/server.d.ts +7 -0
- package/dist/features/collections/server.js +7 -0
- package/dist/features/collections/types/index.d.ts +25 -0
- package/dist/features/collections/types/index.js +1 -0
- package/dist/features/consultation/api/[id]/route.d.ts +26 -0
- package/dist/features/consultation/api/[id]/route.js +88 -0
- package/dist/features/consultation/api/route.d.ts +13 -0
- package/dist/features/consultation/api/route.js +79 -0
- package/dist/features/consultation/columns/index.d.ts +17 -0
- package/dist/features/consultation/columns/index.js +54 -0
- package/dist/features/consultation/components/ConsultationForm.d.ts +8 -0
- package/dist/features/consultation/components/ConsultationForm.js +51 -0
- package/dist/features/consultation/components/index.d.ts +1 -0
- package/dist/features/consultation/components/index.js +1 -0
- package/dist/features/consultation/hooks/useBookConsultation.d.ts +8 -0
- package/dist/features/consultation/hooks/useBookConsultation.js +16 -0
- package/dist/features/consultation/index.d.ts +6 -172
- package/dist/features/consultation/index.js +6 -1084
- package/dist/features/consultation/manifest.d.ts +2 -0
- package/dist/features/consultation/manifest.js +12 -0
- package/dist/features/consultation/messages/en.json +25 -0
- package/dist/features/consultation/repository/consultations.repository.d.ts +12 -0
- package/dist/features/consultation/repository/consultations.repository.js +28 -0
- package/dist/features/consultation/schemas/index.d.ts +87 -0
- package/dist/features/consultation/schemas/index.js +47 -0
- package/dist/features/consultation/server.d.ts +7 -0
- package/dist/features/consultation/server.js +7 -0
- package/dist/features/consultation/types/index.d.ts +33 -0
- package/dist/features/consultation/types/index.js +1 -0
- package/dist/features/contact/components/ContactForm.d.ts +32 -0
- package/dist/features/contact/components/ContactForm.js +58 -0
- package/dist/features/contact/components/ContactInfoSidebar.d.ts +20 -0
- package/dist/features/contact/components/ContactInfoSidebar.js +6 -0
- package/dist/features/contact/components/index.d.ts +4 -0
- package/dist/features/contact/components/index.js +2 -0
- package/dist/features/contact/email.d.ts +61 -0
- package/dist/features/contact/email.js +345 -0
- package/dist/features/contact/hooks/useContactSubmit.d.ts +4 -0
- package/dist/features/contact/hooks/useContactSubmit.js +7 -0
- package/dist/features/contact/index.d.ts +2 -56
- package/dist/features/contact/index.js +2 -586
- package/dist/features/contact/server.d.ts +7 -0
- package/dist/features/contact/server.js +7 -0
- package/dist/features/copilot/components/AdminCopilotView.d.ts +21 -0
- package/dist/features/copilot/components/AdminCopilotView.js +29 -0
- package/dist/features/copilot/components/index.d.ts +2 -0
- package/dist/features/copilot/components/index.js +1 -0
- package/dist/features/copilot/hooks/useCopilotChat.d.ts +22 -0
- package/dist/features/copilot/hooks/useCopilotChat.js +57 -0
- package/dist/features/copilot/hooks/useCopilotFeedback.d.ts +15 -0
- package/dist/features/copilot/hooks/useCopilotFeedback.js +16 -0
- package/dist/features/copilot/index.d.ts +3 -47
- package/dist/features/copilot/index.js +3 -681
- package/dist/features/corporate/api/[id]/route.d.ts +26 -0
- package/dist/features/corporate/api/[id]/route.js +88 -0
- package/dist/features/corporate/api/route.d.ts +13 -0
- package/dist/features/corporate/api/route.js +79 -0
- package/dist/features/corporate/columns/index.d.ts +17 -0
- package/dist/features/corporate/columns/index.js +54 -0
- package/dist/features/corporate/components/CorporateInquiryForm.d.ts +7 -0
- package/dist/features/corporate/components/CorporateInquiryForm.js +36 -0
- package/dist/features/corporate/components/index.d.ts +1 -0
- package/dist/features/corporate/components/index.js +1 -0
- package/dist/features/corporate/hooks/useSubmitCorporateInquiry.d.ts +8 -0
- package/dist/features/corporate/hooks/useSubmitCorporateInquiry.js +16 -0
- package/dist/features/corporate/index.d.ts +6 -183
- package/dist/features/corporate/index.js +6 -782
- package/dist/features/corporate/manifest.d.ts +2 -0
- package/dist/features/corporate/manifest.js +12 -0
- package/dist/features/corporate/messages/en.json +26 -0
- package/dist/features/corporate/repository/corporate.repository.d.ts +12 -0
- package/dist/features/corporate/repository/corporate.repository.js +28 -0
- package/dist/features/corporate/schemas/index.d.ts +95 -0
- package/dist/features/corporate/schemas/index.js +50 -0
- package/dist/features/corporate/server.d.ts +7 -0
- package/dist/features/corporate/server.js +7 -0
- package/dist/features/corporate/types/index.d.ts +37 -0
- package/dist/features/corporate/types/index.js +1 -0
- package/dist/features/cron/firebase-adapters.d.ts +70 -0
- package/dist/features/cron/firebase-adapters.js +68 -0
- package/dist/features/cron/index.d.ts +5 -0
- package/dist/features/cron/index.js +7 -0
- package/dist/features/cron/jobs/auction-expiry.job.d.ts +27 -0
- package/dist/features/cron/jobs/auction-expiry.job.js +38 -0
- package/dist/features/cron/jobs/preorder-reminder.job.d.ts +14 -0
- package/dist/features/cron/jobs/preorder-reminder.job.js +40 -0
- package/dist/features/cron/registry.d.ts +45 -0
- package/dist/features/cron/registry.js +86 -0
- package/dist/features/cron/types.d.ts +66 -0
- package/dist/features/cron/types.js +9 -0
- package/dist/features/events/actions/event-actions.d.ts +92 -0
- package/dist/features/events/actions/event-actions.js +253 -0
- package/dist/features/events/actions/index.d.ts +1 -0
- package/dist/features/events/actions/index.js +1 -0
- package/dist/features/events/api/[id]/route.d.ts +24 -0
- package/dist/features/events/api/[id]/route.js +83 -0
- package/dist/features/events/api/route.d.ts +12 -0
- package/dist/features/events/api/route.js +88 -0
- package/dist/features/events/columns/index.d.ts +22 -0
- package/dist/features/events/columns/index.js +41 -0
- package/dist/features/events/components/AdminEventEntriesView.d.ts +17 -0
- package/dist/features/events/components/AdminEventEntriesView.js +10 -0
- package/dist/features/events/components/AdminEventsView.d.ts +11 -0
- package/dist/features/events/components/AdminEventsView.js +5 -0
- package/dist/features/events/components/EventBanner.d.ts +13 -0
- package/dist/features/events/components/EventBanner.js +48 -0
- package/dist/features/events/components/EventCard.d.ts +13 -0
- package/dist/features/events/components/EventCard.js +21 -0
- package/dist/features/events/components/EventDetailView.d.ts +15 -0
- package/dist/features/events/components/EventDetailView.js +11 -0
- package/dist/features/events/components/EventFilters.d.ts +105 -0
- package/dist/features/events/components/EventFilters.js +73 -0
- package/dist/features/events/components/EventFormDrawer.d.ts +22 -0
- package/dist/features/events/components/EventFormDrawer.js +6 -0
- package/dist/features/events/components/EventLeaderboard.d.ts +23 -0
- package/dist/features/events/components/EventLeaderboard.js +18 -0
- package/dist/features/events/components/EventParticipateView.d.ts +19 -0
- package/dist/features/events/components/EventParticipateView.js +13 -0
- package/dist/features/events/components/EventStatusBadge.d.ts +7 -0
- package/dist/features/events/components/EventStatusBadge.js +12 -0
- package/dist/features/events/components/EventsListView.d.ts +16 -0
- package/dist/features/events/components/EventsListView.js +21 -0
- package/dist/features/events/components/index.d.ts +19 -0
- package/dist/features/events/components/index.js +11 -0
- package/dist/features/events/hooks/useBulkEvent.d.ts +19 -0
- package/dist/features/events/hooks/useBulkEvent.js +36 -0
- package/dist/features/events/hooks/useEvent.d.ts +43 -0
- package/dist/features/events/hooks/useEvent.js +55 -0
- package/dist/features/events/hooks/useEvents.d.ts +27 -0
- package/dist/features/events/hooks/useEvents.js +38 -0
- package/dist/features/events/index.d.ts +8 -841
- package/dist/features/events/index.js +8 -1453
- package/dist/features/events/manifest.d.ts +2 -0
- package/dist/features/events/manifest.js +24 -0
- package/dist/features/events/messages/en.json +28 -0
- package/dist/features/events/repository/event-entry.repository.d.ts +17 -0
- package/dist/features/events/repository/event-entry.repository.js +115 -0
- package/dist/features/events/repository/events.repository.d.ts +18 -0
- package/dist/features/events/repository/events.repository.js +128 -0
- package/dist/features/events/schemas/firestore.d.ts +115 -0
- package/dist/features/events/schemas/firestore.js +77 -0
- package/dist/features/events/schemas/index.d.ts +383 -0
- package/dist/features/events/schemas/index.js +87 -0
- package/dist/features/events/server.d.ts +8 -37
- package/dist/features/events/server.js +11 -195
- package/dist/features/events/types/index.d.ts +133 -0
- package/dist/features/events/types/index.js +1 -0
- package/dist/features/faq/actions/faq-actions.d.ts +191 -0
- package/dist/features/faq/actions/faq-actions.js +103 -0
- package/dist/features/faq/actions/index.d.ts +1 -0
- package/dist/features/faq/actions/index.js +1 -0
- package/dist/features/faq/api/route.d.ts +11 -0
- package/dist/features/faq/api/route.js +50 -0
- package/dist/features/faq/columns/index.d.ts +15 -0
- package/dist/features/faq/columns/index.js +47 -0
- package/dist/features/faq/components/ContactCTA.d.ts +16 -0
- package/dist/features/faq/components/ContactCTA.js +6 -0
- package/dist/features/faq/components/FAQAccordion.d.ts +20 -0
- package/dist/features/faq/components/FAQAccordion.js +17 -0
- package/dist/features/faq/components/FAQCategorySidebar.d.ts +24 -0
- package/dist/features/faq/components/FAQCategorySidebar.js +15 -0
- package/dist/features/faq/components/FAQHelpfulButtons.d.ts +19 -0
- package/dist/features/faq/components/FAQHelpfulButtons.js +46 -0
- package/dist/features/faq/components/FAQPageContent.d.ts +54 -0
- package/dist/features/faq/components/FAQPageContent.js +67 -0
- package/dist/features/faq/components/FAQSortDropdown.d.ts +13 -0
- package/dist/features/faq/components/FAQSortDropdown.js +11 -0
- package/dist/features/faq/components/RelatedFAQs.d.ts +10 -0
- package/dist/features/faq/components/RelatedFAQs.js +9 -0
- package/dist/features/faq/components/index.d.ts +9 -0
- package/dist/features/faq/components/index.js +7 -0
- package/dist/features/faq/hooks/useFAQs.d.ts +22 -0
- package/dist/features/faq/hooks/useFAQs.js +42 -0
- package/dist/features/faq/hooks/useFaqList.d.ts +194 -0
- package/dist/features/faq/hooks/useFaqList.js +35 -0
- package/dist/features/faq/hooks/useFaqVote.d.ts +14 -0
- package/dist/features/faq/hooks/useFaqVote.js +10 -0
- package/dist/features/faq/index.d.ts +8 -619
- package/dist/features/faq/index.js +8 -1685
- package/dist/features/faq/manifest.d.ts +2 -0
- package/dist/features/faq/manifest.js +10 -0
- package/dist/features/faq/messages/en.json +14 -0
- package/dist/features/faq/repository/faqs.repository.d.ts +43 -0
- package/dist/features/faq/repository/faqs.repository.js +300 -0
- package/dist/features/faq/schemas/firestore.d.ts +63 -0
- package/dist/features/faq/schemas/firestore.js +115 -0
- package/dist/features/faq/schemas/index.d.ts +157 -0
- package/dist/features/faq/schemas/index.js +62 -0
- package/dist/features/faq/server.d.ts +9 -0
- package/dist/features/faq/server.js +9 -0
- package/dist/features/faq/types/index.d.ts +52 -0
- package/dist/features/faq/types/index.js +1 -0
- package/dist/features/filters/FilterFacetSection.d.ts +23 -0
- package/dist/features/filters/FilterFacetSection.js +39 -0
- package/dist/features/filters/FilterPanel.d.ts +61 -0
- package/dist/features/filters/FilterPanel.js +40 -0
- package/dist/features/filters/RangeFilter.d.ts +23 -0
- package/dist/features/filters/RangeFilter.js +28 -0
- package/dist/features/filters/SwitchFilter.d.ts +12 -0
- package/dist/features/filters/SwitchFilter.js +19 -0
- package/dist/features/filters/filterUtils.d.ts +11 -0
- package/dist/features/filters/filterUtils.js +13 -0
- package/dist/features/filters/index.d.ts +10 -136
- package/dist/features/filters/index.js +6 -1061
- package/dist/features/forms/Checkbox.d.ts +8 -0
- package/dist/features/forms/Checkbox.js +15 -0
- package/dist/features/forms/Form.d.ts +25 -0
- package/dist/features/forms/Form.js +38 -0
- package/dist/features/forms/Input.d.ts +10 -0
- package/dist/features/forms/Input.js +23 -0
- package/dist/features/forms/Radio.d.ts +17 -0
- package/dist/features/forms/Radio.js +19 -0
- package/dist/features/forms/Select.d.ts +13 -0
- package/dist/features/forms/Select.js +8 -0
- package/dist/features/forms/Slider.d.ts +20 -0
- package/dist/features/forms/Slider.js +22 -0
- package/dist/features/forms/Textarea.d.ts +8 -0
- package/dist/features/forms/Textarea.js +15 -0
- package/dist/features/forms/Toggle.d.ts +15 -0
- package/dist/features/forms/Toggle.js +48 -0
- package/dist/features/forms/index.d.ts +17 -129
- package/dist/features/forms/index.js +11 -915
- package/dist/features/forms/utils.d.ts +10 -0
- package/dist/features/forms/utils.js +13 -0
- package/dist/features/homepage/actions/carousel-actions.d.ts +37 -0
- package/dist/features/homepage/actions/carousel-actions.js +54 -0
- package/dist/features/homepage/actions/homepage-section-actions.d.ts +46 -0
- package/dist/features/homepage/actions/homepage-section-actions.js +55 -0
- package/dist/features/homepage/actions/index.d.ts +2 -0
- package/dist/features/homepage/actions/index.js +2 -0
- package/dist/features/homepage/api/[id]/route.d.ts +23 -0
- package/dist/features/homepage/api/[id]/route.js +100 -0
- package/dist/features/homepage/api/carousel/[id]/route.d.ts +23 -0
- package/dist/features/homepage/api/carousel/[id]/route.js +122 -0
- package/dist/features/homepage/api/carousel/route.d.ts +15 -0
- package/dist/features/homepage/api/carousel/route.js +154 -0
- package/dist/features/homepage/api/route.d.ts +14 -0
- package/dist/features/homepage/api/route.js +136 -0
- package/dist/features/homepage/api/sections/[id]/route.d.ts +26 -0
- package/dist/features/homepage/api/sections/[id]/route.js +88 -0
- package/dist/features/homepage/api/sections/route.d.ts +13 -0
- package/dist/features/homepage/api/sections/route.js +79 -0
- package/dist/features/homepage/components/AdvertisementBanner.d.ts +13 -0
- package/dist/features/homepage/components/AdvertisementBanner.js +23 -0
- package/dist/features/homepage/components/BeforeAfterCard.d.ts +10 -0
- package/dist/features/homepage/components/BeforeAfterCard.js +54 -0
- package/dist/features/homepage/components/CharacterHotspot.d.ts +24 -0
- package/dist/features/homepage/components/CharacterHotspot.js +373 -0
- package/dist/features/homepage/components/CharacterHotspotForm.d.ts +26 -0
- package/dist/features/homepage/components/CharacterHotspotForm.js +309 -0
- package/dist/features/homepage/components/CustomerReviewsSection.d.ts +13 -0
- package/dist/features/homepage/components/CustomerReviewsSection.js +14 -0
- package/dist/features/homepage/components/FAQSection.d.ts +26 -0
- package/dist/features/homepage/components/FAQSection.js +20 -0
- package/dist/features/homepage/components/FeaturedResultsSection.d.ts +17 -0
- package/dist/features/homepage/components/FeaturedResultsSection.js +18 -0
- package/dist/features/homepage/components/HeroBanner.d.ts +7 -0
- package/dist/features/homepage/components/HeroBanner.js +93 -0
- package/dist/features/homepage/components/HeroCarousel.d.ts +12 -0
- package/dist/features/homepage/components/HeroCarousel.js +157 -0
- package/dist/features/homepage/components/HeroSection.d.ts +7 -0
- package/dist/features/homepage/components/HeroSection.js +12 -0
- package/dist/features/homepage/components/HomepageSkeleton.d.ts +2 -0
- package/dist/features/homepage/components/HomepageSkeleton.js +14 -0
- package/dist/features/homepage/components/HomepageView.d.ts +25 -0
- package/dist/features/homepage/components/HomepageView.js +5 -0
- package/dist/features/homepage/components/HowItWorksInfoView.d.ts +36 -0
- package/dist/features/homepage/components/HowItWorksInfoView.js +8 -0
- package/dist/features/homepage/components/HowItWorksSection.d.ts +23 -0
- package/dist/features/homepage/components/HowItWorksSection.js +36 -0
- package/dist/features/homepage/components/NewsletterBanner.d.ts +22 -0
- package/dist/features/homepage/components/NewsletterBanner.js +34 -0
- package/dist/features/homepage/components/NewsletterSection.d.ts +10 -0
- package/dist/features/homepage/components/NewsletterSection.js +8 -0
- package/dist/features/homepage/components/PromoGrid.d.ts +9 -0
- package/dist/features/homepage/components/PromoGrid.js +35 -0
- package/dist/features/homepage/components/SectionCarousel.d.ts +75 -0
- package/dist/features/homepage/components/SectionCarousel.js +39 -0
- package/dist/features/homepage/components/SecurityHighlightsSection.d.ts +21 -0
- package/dist/features/homepage/components/SecurityHighlightsSection.js +36 -0
- package/dist/features/homepage/components/SiteFeaturesSection.d.ts +13 -0
- package/dist/features/homepage/components/SiteFeaturesSection.js +9 -0
- package/dist/features/homepage/components/StatsCounterSection.d.ts +14 -0
- package/dist/features/homepage/components/StatsCounterSection.js +32 -0
- package/dist/features/homepage/components/TestimonialsCarousel.d.ts +9 -0
- package/dist/features/homepage/components/TestimonialsCarousel.js +30 -0
- package/dist/features/homepage/components/TrustBadges.d.ts +5 -0
- package/dist/features/homepage/components/TrustBadges.js +54 -0
- package/dist/features/homepage/components/TrustFeaturesSection.d.ts +16 -0
- package/dist/features/homepage/components/TrustFeaturesSection.js +41 -0
- package/dist/features/homepage/components/TrustIndicatorsSection.d.ts +11 -0
- package/dist/features/homepage/components/TrustIndicatorsSection.js +9 -0
- package/dist/features/homepage/components/WelcomeSection.d.ts +20 -0
- package/dist/features/homepage/components/WelcomeSection.js +12 -0
- package/dist/features/homepage/components/WhatsAppCommunitySection.d.ts +15 -0
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +21 -0
- package/dist/features/homepage/components/index.d.ts +52 -0
- package/dist/features/homepage/components/index.js +27 -0
- package/dist/features/homepage/hooks/useBlogArticles.d.ts +12 -0
- package/dist/features/homepage/hooks/useBlogArticles.js +31 -0
- package/dist/features/homepage/hooks/useFeaturedAuctions.d.ts +2 -0
- package/dist/features/homepage/hooks/useFeaturedAuctions.js +26 -0
- package/dist/features/homepage/hooks/useFeaturedPreOrders.d.ts +2 -0
- package/dist/features/homepage/hooks/useFeaturedPreOrders.js +26 -0
- package/dist/features/homepage/hooks/useFeaturedProducts.d.ts +4 -0
- package/dist/features/homepage/hooks/useFeaturedProducts.js +32 -0
- package/dist/features/homepage/hooks/useHeroCarousel.d.ts +9 -0
- package/dist/features/homepage/hooks/useHeroCarousel.js +17 -0
- package/dist/features/homepage/hooks/useHomepage.d.ts +11 -0
- package/dist/features/homepage/hooks/useHomepage.js +18 -0
- package/dist/features/homepage/hooks/useHomepageReviews.d.ts +7 -0
- package/dist/features/homepage/hooks/useHomepageReviews.js +16 -0
- package/dist/features/homepage/hooks/useHomepageSections.d.ts +2 -0
- package/dist/features/homepage/hooks/useHomepageSections.js +11 -0
- package/dist/features/homepage/hooks/useNewsletter.d.ts +14 -0
- package/dist/features/homepage/hooks/useNewsletter.js +10 -0
- package/dist/features/homepage/hooks/useTopBrands.d.ts +2 -0
- package/dist/features/homepage/hooks/useTopBrands.js +12 -0
- package/dist/features/homepage/hooks/useTopCategories.d.ts +4 -0
- package/dist/features/homepage/hooks/useTopCategories.js +13 -0
- package/dist/features/homepage/index.d.ts +13 -846
- package/dist/features/homepage/index.js +13 -6279
- package/dist/features/homepage/manifest.d.ts +2 -0
- package/dist/features/homepage/manifest.js +14 -0
- package/dist/features/homepage/messages/en.json +6 -0
- package/dist/features/homepage/repository/carousel.repository.d.ts +101 -0
- package/dist/features/homepage/repository/carousel.repository.js +252 -0
- package/dist/features/homepage/repository/homepage-sections.repository.d.ts +27 -0
- package/dist/features/homepage/repository/homepage-sections.repository.js +174 -0
- package/dist/features/homepage/repository/homepage.repository.d.ts +11 -0
- package/dist/features/homepage/repository/homepage.repository.js +25 -0
- package/dist/features/homepage/schemas/firestore.d.ts +251 -0
- package/dist/features/homepage/schemas/firestore.js +83 -0
- package/dist/features/homepage/schemas/index.d.ts +1 -0
- package/dist/features/homepage/schemas/index.js +1 -0
- package/dist/features/homepage/server.d.ts +10 -121
- package/dist/features/homepage/server.js +10 -1024
- package/dist/features/homepage/types/index.d.ts +163 -0
- package/dist/features/homepage/types/index.js +1 -0
- package/dist/features/layout/AutoBreadcrumbs.d.ts +15 -0
- package/dist/features/layout/AutoBreadcrumbs.js +84 -0
- package/dist/features/layout/BackToTop.d.ts +16 -0
- package/dist/features/layout/BackToTop.js +26 -0
- package/dist/features/layout/BottomActions.d.ts +1 -0
- package/dist/features/layout/BottomActions.js +153 -0
- package/dist/features/layout/BottomActionsContext.d.ts +107 -0
- package/dist/features/layout/BottomActionsContext.js +114 -0
- package/dist/features/layout/BottomNavItem.d.ts +28 -0
- package/dist/features/layout/BottomNavItem.js +28 -0
- package/dist/features/layout/BottomNavLayout.d.ts +14 -0
- package/dist/features/layout/BottomNavLayout.js +12 -0
- package/dist/features/layout/BottomNavbar.d.ts +46 -0
- package/dist/features/layout/BottomNavbar.js +19 -0
- package/dist/features/layout/BottomSheet.d.ts +29 -0
- package/dist/features/layout/BottomSheet.js +40 -0
- package/dist/features/layout/Breadcrumbs.d.ts +26 -0
- package/dist/features/layout/Breadcrumbs.js +25 -0
- package/dist/features/layout/DashboardNavContext.d.ts +19 -0
- package/dist/features/layout/DashboardNavContext.js +36 -0
- package/dist/features/layout/FooterLayout.d.ts +39 -0
- package/dist/features/layout/FooterLayout.js +12 -0
- package/dist/features/layout/LayoutClient.d.ts +11 -0
- package/dist/features/layout/LayoutClient.js +7 -0
- package/dist/features/layout/ListingLayout.d.ts +35 -0
- package/dist/features/layout/ListingLayout.js +104 -0
- package/dist/features/layout/LocaleSwitcher.d.ts +22 -0
- package/dist/features/layout/LocaleSwitcher.js +12 -0
- package/dist/features/layout/MainNavbar.d.ts +32 -0
- package/dist/features/layout/MainNavbar.js +29 -0
- package/dist/features/layout/NavItem.d.ts +19 -0
- package/dist/features/layout/NavItem.js +35 -0
- package/dist/features/layout/NavbarLayout.d.ts +27 -0
- package/dist/features/layout/NavbarLayout.js +23 -0
- package/dist/features/layout/SidebarLayout.d.ts +24 -0
- package/dist/features/layout/SidebarLayout.js +29 -0
- package/dist/features/layout/TitleBar.d.ts +18 -0
- package/dist/features/layout/TitleBar.js +19 -0
- package/dist/features/layout/TitleBarLayout.d.ts +48 -0
- package/dist/features/layout/TitleBarLayout.js +17 -0
- package/dist/features/layout/hooks/useBottomActions.d.ts +7 -0
- package/dist/features/layout/hooks/useBottomActions.js +28 -0
- package/dist/features/layout/index.d.ts +41 -315
- package/dist/features/layout/index.js +23 -1745
- package/dist/features/loyalty/api/admin/loyalty/grant/route.d.ts +12 -0
- package/dist/features/loyalty/api/admin/loyalty/grant/route.js +36 -0
- package/dist/features/loyalty/api/balance/route.d.ts +12 -0
- package/dist/features/loyalty/api/balance/route.js +39 -0
- package/dist/features/loyalty/api/earn/route.d.ts +12 -0
- package/dist/features/loyalty/api/earn/route.js +36 -0
- package/dist/features/loyalty/api/history/route.d.ts +12 -0
- package/dist/features/loyalty/api/history/route.js +56 -0
- package/dist/features/loyalty/api/redeem/route.d.ts +12 -0
- package/dist/features/loyalty/api/redeem/route.js +36 -0
- package/dist/features/loyalty/columns/index.d.ts +17 -0
- package/dist/features/loyalty/columns/index.js +40 -0
- package/dist/features/loyalty/components/CoinsDisplay.d.ts +11 -0
- package/dist/features/loyalty/components/CoinsDisplay.js +9 -0
- package/dist/features/loyalty/components/index.d.ts +1 -0
- package/dist/features/loyalty/components/index.js +1 -0
- package/dist/features/loyalty/hooks/useLoyaltyBalance.d.ts +4 -0
- package/dist/features/loyalty/hooks/useLoyaltyBalance.js +18 -0
- package/dist/features/loyalty/index.d.ts +6 -174
- package/dist/features/loyalty/index.js +6 -332
- package/dist/features/loyalty/manifest.d.ts +2 -0
- package/dist/features/loyalty/manifest.js +16 -0
- package/dist/features/loyalty/messages/en.json +19 -0
- package/dist/features/loyalty/repository/loyalty.repository.d.ts +8 -0
- package/dist/features/loyalty/repository/loyalty.repository.js +22 -0
- package/dist/features/loyalty/schemas/index.d.ts +85 -0
- package/dist/features/loyalty/schemas/index.js +40 -0
- package/dist/features/loyalty/server.d.ts +7 -0
- package/dist/features/loyalty/server.js +7 -0
- package/dist/features/loyalty/types/index.d.ts +31 -0
- package/dist/features/loyalty/types/index.js +1 -0
- package/dist/features/loyalty/types/loyalty-config.d.ts +7 -0
- package/dist/features/loyalty/types/loyalty-config.js +1 -0
- package/dist/features/loyalty/types/loyalty-math.d.ts +9 -0
- package/dist/features/loyalty/types/loyalty-math.js +27 -0
- package/dist/features/media/AvatarUpload.d.ts +22 -0
- package/dist/features/media/AvatarUpload.js +133 -0
- package/dist/features/media/MediaAvatar.d.ts +12 -0
- package/dist/features/media/MediaAvatar.js +13 -0
- package/dist/features/media/MediaImage.d.ts +28 -0
- package/dist/features/media/MediaImage.js +35 -0
- package/dist/features/media/MediaLightbox.d.ts +32 -0
- package/dist/features/media/MediaLightbox.js +245 -0
- package/dist/features/media/MediaVideo.d.ts +22 -0
- package/dist/features/media/MediaVideo.js +38 -0
- package/dist/features/media/components/MediaSlider.d.ts +10 -0
- package/dist/features/media/components/MediaSlider.js +12 -0
- package/dist/features/media/finalize.d.ts +11 -0
- package/dist/features/media/finalize.js +70 -0
- package/dist/features/media/hooks/useMedia.d.ts +198 -0
- package/dist/features/media/hooks/useMedia.js +78 -0
- package/dist/features/media/index.d.ts +30 -425
- package/dist/features/media/index.js +21 -3593
- package/dist/features/media/messages/en.json +63 -0
- package/dist/features/media/modals/ImageCropModal.d.ts +16 -0
- package/dist/features/media/modals/ImageCropModal.js +99 -0
- package/dist/features/media/modals/VideoThumbnailSelector.d.ts +10 -0
- package/dist/features/media/modals/VideoThumbnailSelector.js +51 -0
- package/dist/features/media/modals/VideoTrimModal.d.ts +11 -0
- package/dist/features/media/modals/VideoTrimModal.js +73 -0
- package/dist/features/media/server.d.ts +2 -0
- package/dist/features/media/server.js +2 -0
- package/dist/features/media/types/index.d.ts +29 -0
- package/dist/features/media/types/index.js +43 -0
- package/dist/features/media/upload/CameraCapture.d.ts +8 -0
- package/dist/features/media/upload/CameraCapture.js +59 -0
- package/dist/features/media/upload/ImageUpload.d.ts +14 -0
- package/dist/features/media/upload/ImageUpload.js +132 -0
- package/dist/features/media/upload/MediaUploadField.d.ts +31 -0
- package/dist/features/media/upload/MediaUploadField.js +204 -0
- package/dist/features/media/upload/MediaUploadList.d.ts +26 -0
- package/dist/features/media/upload/MediaUploadList.js +104 -0
- package/dist/features/orders/actions/index.d.ts +2 -0
- package/dist/features/orders/actions/index.js +2 -0
- package/dist/features/orders/actions/order-actions.d.ts +16 -0
- package/dist/features/orders/actions/order-actions.js +46 -0
- package/dist/features/orders/actions/refund-actions.d.ts +16 -0
- package/dist/features/orders/actions/refund-actions.js +88 -0
- package/dist/features/orders/api/track/[trackingId]/route.d.ts +17 -0
- package/dist/features/orders/api/track/[trackingId]/route.js +30 -0
- package/dist/features/orders/columns/index.d.ts +15 -0
- package/dist/features/orders/columns/index.js +34 -0
- package/dist/features/orders/components/MarketplaceOrderCard.d.ts +37 -0
- package/dist/features/orders/components/MarketplaceOrderCard.js +52 -0
- package/dist/features/orders/components/OrderFilters.d.ts +82 -0
- package/dist/features/orders/components/OrderFilters.js +106 -0
- package/dist/features/orders/components/OrdersList.d.ts +18 -0
- package/dist/features/orders/components/OrdersList.js +37 -0
- package/dist/features/orders/components/index.d.ts +4 -0
- package/dist/features/orders/components/index.js +3 -0
- package/dist/features/orders/hooks/useOrders.d.ts +32 -0
- package/dist/features/orders/hooks/useOrders.js +57 -0
- package/dist/features/orders/index.d.ts +7 -370
- package/dist/features/orders/index.js +7 -863
- package/dist/features/orders/manifest.d.ts +2 -0
- package/dist/features/orders/manifest.js +18 -0
- package/dist/features/orders/messages/en.json +15 -0
- package/dist/features/orders/repository/orders.repository.d.ts +188 -0
- package/dist/features/orders/repository/orders.repository.js +300 -0
- package/dist/features/orders/schemas/firestore.d.ts +129 -0
- package/dist/features/orders/schemas/firestore.js +96 -0
- package/dist/features/orders/schemas/index.d.ts +217 -0
- package/dist/features/orders/schemas/index.js +76 -0
- package/dist/features/orders/server.d.ts +9 -0
- package/dist/features/orders/server.js +10 -0
- package/dist/features/orders/types/index.d.ts +69 -0
- package/dist/features/orders/types/index.js +2 -0
- package/dist/features/orders/utils/order-splitter.d.ts +14 -0
- package/dist/features/orders/utils/order-splitter.js +29 -0
- package/dist/features/payments/columns/index.d.ts +17 -0
- package/dist/features/payments/columns/index.js +45 -0
- package/dist/features/payments/hooks/usePaymentEvent.d.ts +17 -0
- package/dist/features/payments/hooks/usePaymentEvent.js +26 -0
- package/dist/features/payments/hooks/usePayments.d.ts +10 -0
- package/dist/features/payments/hooks/usePayments.js +19 -0
- package/dist/features/payments/index.d.ts +6 -141
- package/dist/features/payments/index.js +6 -331
- package/dist/features/payments/manifest.d.ts +2 -0
- package/dist/features/payments/manifest.js +12 -0
- package/dist/features/payments/messages/en.json +11 -0
- package/dist/features/payments/repository/payments.repository.d.ts +15 -0
- package/dist/features/payments/repository/payments.repository.js +36 -0
- package/dist/features/payments/repository/payout.repository.d.ts +111 -0
- package/dist/features/payments/repository/payout.repository.js +202 -0
- package/dist/features/payments/schemas/firestore.d.ts +74 -0
- package/dist/features/payments/schemas/firestore.js +65 -0
- package/dist/features/payments/schemas/index.d.ts +77 -0
- package/dist/features/payments/schemas/index.js +67 -0
- package/dist/features/payments/server.d.ts +8 -0
- package/dist/features/payments/server.js +8 -0
- package/dist/features/payments/types/index.d.ts +36 -0
- package/dist/features/payments/types/index.js +2 -0
- package/dist/features/pre-orders/api/[id]/route.d.ts +26 -0
- package/dist/features/pre-orders/api/[id]/route.js +88 -0
- package/dist/features/pre-orders/api/[slug]/route.d.ts +16 -0
- package/dist/features/pre-orders/api/[slug]/route.js +41 -0
- package/dist/features/pre-orders/api/admin/[id]/route.d.ts +21 -0
- package/dist/features/pre-orders/api/admin/[id]/route.js +65 -0
- package/dist/features/pre-orders/api/admin/route.d.ts +12 -0
- package/dist/features/pre-orders/api/admin/route.js +56 -0
- package/dist/features/pre-orders/api/route.d.ts +13 -0
- package/dist/features/pre-orders/api/route.js +77 -0
- package/dist/features/pre-orders/columns/index.d.ts +17 -0
- package/dist/features/pre-orders/columns/index.js +68 -0
- package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +24 -0
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +53 -0
- package/dist/features/pre-orders/components/PreOrderBadge.d.ts +14 -0
- package/dist/features/pre-orders/components/PreOrderBadge.js +17 -0
- package/dist/features/pre-orders/components/PreorderCard.d.ts +12 -0
- package/dist/features/pre-orders/components/PreorderCard.js +27 -0
- package/dist/features/pre-orders/components/index.d.ts +2 -0
- package/dist/features/pre-orders/components/index.js +2 -0
- package/dist/features/pre-orders/hooks/usePreOrders.d.ts +7 -0
- package/dist/features/pre-orders/hooks/usePreOrders.js +34 -0
- package/dist/features/pre-orders/index.d.ts +6 -170
- package/dist/features/pre-orders/index.js +6 -538
- package/dist/features/pre-orders/manifest.d.ts +2 -0
- package/dist/features/pre-orders/manifest.js +17 -0
- package/dist/features/pre-orders/messages/en.json +13 -0
- package/dist/features/pre-orders/repository/pre-orders.repository.d.ts +14 -0
- package/dist/features/pre-orders/repository/pre-orders.repository.js +44 -0
- package/dist/features/pre-orders/repository/preorders.repository.d.ts +8 -0
- package/dist/features/pre-orders/repository/preorders.repository.js +21 -0
- package/dist/features/pre-orders/schemas/index.d.ts +79 -0
- package/dist/features/pre-orders/schemas/index.js +27 -0
- package/dist/features/pre-orders/server.d.ts +5 -14
- package/dist/features/pre-orders/server.js +8 -106
- package/dist/features/pre-orders/types/index.d.ts +29 -0
- package/dist/features/pre-orders/types/index.js +12 -0
- package/dist/features/products/actions/index.d.ts +1 -0
- package/dist/features/products/actions/index.js +1 -0
- package/dist/features/products/actions/product-actions.d.ts +26 -0
- package/dist/features/products/actions/product-actions.js +111 -0
- package/dist/features/products/api/[id]/route.d.ts +29 -0
- package/dist/features/products/api/[id]/route.js +137 -0
- package/dist/features/products/api/route.d.ts +19 -0
- package/dist/features/products/api/route.js +214 -0
- package/dist/features/products/columns/index.d.ts +64 -0
- package/dist/features/products/columns/index.js +85 -0
- package/dist/features/products/columns/productTableColumns.d.ts +27 -0
- package/dist/features/products/columns/productTableColumns.js +88 -0
- package/dist/features/products/components/AuctionDetailView.d.ts +13 -0
- package/dist/features/products/components/AuctionDetailView.js +9 -0
- package/dist/features/products/components/AuctionsView.d.ts +6 -0
- package/dist/features/products/components/AuctionsView.js +5 -0
- package/dist/features/products/components/BidHistory.d.ts +28 -0
- package/dist/features/products/components/BidHistory.js +18 -0
- package/dist/features/products/components/BuyBar.d.ts +21 -0
- package/dist/features/products/components/BuyBar.js +20 -0
- package/dist/features/products/components/InteractiveProductCard.d.ts +19 -0
- package/dist/features/products/components/InteractiveProductCard.js +18 -0
- package/dist/features/products/components/MakeOfferForm.d.ts +20 -0
- package/dist/features/products/components/MakeOfferForm.js +8 -0
- package/dist/features/products/components/PlaceBidForm.d.ts +20 -0
- package/dist/features/products/components/PlaceBidForm.js +6 -0
- package/dist/features/products/components/PreOrderDetailView.d.ts +14 -0
- package/dist/features/products/components/PreOrderDetailView.js +9 -0
- package/dist/features/products/components/PreOrdersView.d.ts +6 -0
- package/dist/features/products/components/PreOrdersView.js +5 -0
- package/dist/features/products/components/ProductDetailView.d.ts +11 -0
- package/dist/features/products/components/ProductDetailView.js +9 -0
- package/dist/features/products/components/ProductFeatureBadges.d.ts +32 -0
- package/dist/features/products/components/ProductFeatureBadges.js +103 -0
- package/dist/features/products/components/ProductFilters.d.ts +90 -0
- package/dist/features/products/components/ProductFilters.js +105 -0
- package/dist/features/products/components/ProductForm.d.ts +47 -0
- package/dist/features/products/components/ProductForm.js +120 -0
- package/dist/features/products/components/ProductGrid.d.ts +69 -0
- package/dist/features/products/components/ProductGrid.js +92 -0
- package/dist/features/products/components/ProductInfo.d.ts +20 -0
- package/dist/features/products/components/ProductInfo.js +4 -0
- package/dist/features/products/components/ProductTabs.d.ts +21 -0
- package/dist/features/products/components/ProductTabs.js +22 -0
- package/dist/features/products/components/ProductsView.d.ts +6 -0
- package/dist/features/products/components/ProductsView.js +5 -0
- package/dist/features/products/components/RelatedProducts.d.ts +16 -0
- package/dist/features/products/components/RelatedProducts.js +12 -0
- package/dist/features/products/components/index.d.ts +34 -0
- package/dist/features/products/components/index.js +18 -0
- package/dist/features/products/hooks/useBrands.d.ts +9 -0
- package/dist/features/products/hooks/useBrands.js +15 -0
- package/dist/features/products/hooks/useProductDetail.d.ts +15 -0
- package/dist/features/products/hooks/useProductDetail.js +29 -0
- package/dist/features/products/hooks/useProducts.d.ts +43 -0
- package/dist/features/products/hooks/useProducts.js +67 -0
- package/dist/features/products/hooks/useRelatedProducts.d.ts +2 -0
- package/dist/features/products/hooks/useRelatedProducts.js +17 -0
- package/dist/features/products/index.d.ts +10 -1066
- package/dist/features/products/index.js +10 -2475
- package/dist/features/products/manifest.d.ts +2 -0
- package/dist/features/products/manifest.js +16 -0
- package/dist/features/products/messages/en.json +11 -0
- package/dist/features/products/repository/products.repository.d.ts +213 -0
- package/dist/features/products/repository/products.repository.js +300 -0
- package/dist/features/products/schemas/firestore.d.ts +125 -0
- package/dist/features/products/schemas/firestore.js +149 -0
- package/dist/features/products/schemas/index.d.ts +400 -0
- package/dist/features/products/schemas/index.js +173 -0
- package/dist/features/products/server.d.ts +7 -49
- package/dist/features/products/server.js +10 -803
- package/dist/features/products/types/index.d.ts +122 -0
- package/dist/features/products/types/index.js +1 -0
- package/dist/features/products/utils/listing-type.d.ts +2 -0
- package/dist/features/products/utils/listing-type.js +9 -0
- package/dist/features/promotions/actions/coupon-actions.d.ts +28 -0
- package/dist/features/promotions/actions/coupon-actions.js +23 -0
- package/dist/features/promotions/actions/index.d.ts +3 -0
- package/dist/features/promotions/actions/index.js +3 -0
- package/dist/features/promotions/actions/promotions-actions.d.ts +18 -0
- package/dist/features/promotions/actions/promotions-actions.js +37 -0
- package/dist/features/promotions/actions/seller-coupon-actions.d.ts +41 -0
- package/dist/features/promotions/actions/seller-coupon-actions.js +92 -0
- package/dist/features/promotions/api/route.d.ts +21 -0
- package/dist/features/promotions/api/route.js +85 -0
- package/dist/features/promotions/columns/index.d.ts +12 -0
- package/dist/features/promotions/columns/index.js +45 -0
- package/dist/features/promotions/components/CouponCard.d.ts +16 -0
- package/dist/features/promotions/components/CouponCard.js +20 -0
- package/dist/features/promotions/components/PromotionsView.d.ts +43 -0
- package/dist/features/promotions/components/PromotionsView.js +10 -0
- package/dist/features/promotions/components/index.d.ts +3 -0
- package/dist/features/promotions/components/index.js +2 -0
- package/dist/features/promotions/hooks/useCouponValidate.d.ts +22 -0
- package/dist/features/promotions/hooks/useCouponValidate.js +10 -0
- package/dist/features/promotions/hooks/usePromotions.d.ts +21 -0
- package/dist/features/promotions/hooks/usePromotions.js +49 -0
- package/dist/features/promotions/index.d.ts +7 -301
- package/dist/features/promotions/index.js +7 -957
- package/dist/features/promotions/manifest.d.ts +2 -0
- package/dist/features/promotions/manifest.js +14 -0
- package/dist/features/promotions/messages/en.json +20 -0
- package/dist/features/promotions/repository/coupons.repository.d.ts +224 -0
- package/dist/features/promotions/repository/coupons.repository.js +539 -0
- package/dist/features/promotions/repository/promotions.repository.d.ts +14 -0
- package/dist/features/promotions/repository/promotions.repository.js +43 -0
- package/dist/features/promotions/schemas/firestore.d.ts +105 -0
- package/dist/features/promotions/schemas/firestore.js +124 -0
- package/dist/features/promotions/schemas/index.d.ts +117 -0
- package/dist/features/promotions/schemas/index.js +58 -0
- package/dist/features/promotions/server.d.ts +10 -0
- package/dist/features/promotions/server.js +10 -0
- package/dist/features/promotions/types/index.d.ts +51 -0
- package/dist/features/promotions/types/index.js +2 -0
- package/dist/features/reviews/actions/index.d.ts +1 -0
- package/dist/features/reviews/actions/index.js +1 -0
- package/dist/features/reviews/actions/review-actions.d.ts +40 -0
- package/dist/features/reviews/actions/review-actions.js +182 -0
- package/dist/features/reviews/api/[id]/route.d.ts +23 -0
- package/dist/features/reviews/api/[id]/route.js +109 -0
- package/dist/features/reviews/api/route.d.ts +21 -0
- package/dist/features/reviews/api/route.js +171 -0
- package/dist/features/reviews/columns/index.d.ts +15 -0
- package/dist/features/reviews/columns/index.js +44 -0
- package/dist/features/reviews/components/ReviewFilters.d.ts +74 -0
- package/dist/features/reviews/components/ReviewFilters.js +60 -0
- package/dist/features/reviews/components/ReviewModal.d.ts +11 -0
- package/dist/features/reviews/components/ReviewModal.js +25 -0
- package/dist/features/reviews/components/ReviewSummary.d.ts +16 -0
- package/dist/features/reviews/components/ReviewSummary.js +20 -0
- package/dist/features/reviews/components/ReviewsList.d.ts +15 -0
- package/dist/features/reviews/components/ReviewsList.js +25 -0
- package/dist/features/reviews/components/ReviewsListView.d.ts +31 -0
- package/dist/features/reviews/components/ReviewsListView.js +16 -0
- package/dist/features/reviews/components/index.d.ts +10 -0
- package/dist/features/reviews/components/index.js +5 -0
- package/dist/features/reviews/hooks/useCreateReview.d.ts +12 -0
- package/dist/features/reviews/hooks/useCreateReview.js +20 -0
- package/dist/features/reviews/hooks/useReviews.d.ts +34 -0
- package/dist/features/reviews/hooks/useReviews.js +49 -0
- package/dist/features/reviews/index.d.ts +7 -434
- package/dist/features/reviews/index.js +7 -2297
- package/dist/features/reviews/manifest.d.ts +2 -0
- package/dist/features/reviews/manifest.js +10 -0
- package/dist/features/reviews/messages/en.json +10 -0
- package/dist/features/reviews/repository/reviews.repository.d.ts +103 -0
- package/dist/features/reviews/repository/reviews.repository.js +214 -0
- package/dist/features/reviews/schemas/firestore.d.ts +67 -0
- package/dist/features/reviews/schemas/firestore.js +59 -0
- package/dist/features/reviews/schemas/index.d.ts +183 -0
- package/dist/features/reviews/schemas/index.js +68 -0
- package/dist/features/reviews/server.d.ts +7 -46
- package/dist/features/reviews/server.js +10 -769
- package/dist/features/reviews/types/index.d.ts +62 -0
- package/dist/features/reviews/types/index.js +1 -0
- package/dist/features/search/actions/index.d.ts +1 -0
- package/dist/features/search/actions/index.js +1 -0
- package/dist/features/search/actions/search-actions.d.ts +18 -0
- package/dist/features/search/actions/search-actions.js +43 -0
- package/dist/features/search/api/route.d.ts +22 -0
- package/dist/features/search/api/route.js +79 -0
- package/dist/features/search/columns/index.d.ts +17 -0
- package/dist/features/search/columns/index.js +49 -0
- package/dist/features/search/components/Search.d.ts +41 -0
- package/dist/features/search/components/Search.js +263 -0
- package/dist/features/search/components/SearchFiltersRow.d.ts +22 -0
- package/dist/features/search/components/SearchFiltersRow.js +21 -0
- package/dist/features/search/components/SearchResultsSection.d.ts +53 -0
- package/dist/features/search/components/SearchResultsSection.js +36 -0
- package/dist/features/search/components/SearchView.d.ts +29 -0
- package/dist/features/search/components/SearchView.js +8 -0
- package/dist/features/search/components/index.d.ts +8 -0
- package/dist/features/search/components/index.js +4 -0
- package/dist/features/search/hooks/useNavSuggestions.d.ts +11 -0
- package/dist/features/search/hooks/useNavSuggestions.js +32 -0
- package/dist/features/search/hooks/useSearch.d.ts +21 -0
- package/dist/features/search/hooks/useSearch.js +34 -0
- package/dist/features/search/index.d.ts +7 -298
- package/dist/features/search/index.js +7 -1351
- package/dist/features/search/manifest.d.ts +2 -0
- package/dist/features/search/manifest.js +10 -0
- package/dist/features/search/messages/en.json +15 -0
- package/dist/features/search/repository/search.repository.d.ts +14 -0
- package/dist/features/search/repository/search.repository.js +59 -0
- package/dist/features/search/schemas/index.d.ts +70 -0
- package/dist/features/search/schemas/index.js +34 -0
- package/dist/features/search/server.d.ts +5 -83
- package/dist/features/search/server.js +5 -149
- package/dist/features/search/types/index.d.ts +46 -0
- package/dist/features/search/types/index.js +2 -0
- package/dist/features/seller/actions/index.d.ts +2 -0
- package/dist/features/seller/actions/index.js +2 -0
- package/dist/features/seller/actions/offer-actions.d.ts +32 -0
- package/dist/features/seller/actions/offer-actions.js +266 -0
- package/dist/features/seller/actions/seller-actions.d.ts +172 -0
- package/dist/features/seller/actions/seller-actions.js +480 -0
- package/dist/features/seller/api/coupons/route.d.ts +17 -0
- package/dist/features/seller/api/coupons/route.js +47 -0
- package/dist/features/seller/api/offers/route.d.ts +17 -0
- package/dist/features/seller/api/offers/route.js +63 -0
- package/dist/features/seller/api/products/route.d.ts +17 -0
- package/dist/features/seller/api/products/route.js +64 -0
- package/dist/features/seller/api/store/route.d.ts +17 -0
- package/dist/features/seller/api/store/route.js +34 -0
- package/dist/features/seller/columns/index.d.ts +22 -0
- package/dist/features/seller/columns/index.js +73 -0
- package/dist/features/seller/components/SellerAddressesView.d.ts +13 -0
- package/dist/features/seller/components/SellerAddressesView.js +5 -0
- package/dist/features/seller/components/SellerAnalyticsView.d.ts +13 -0
- package/dist/features/seller/components/SellerAnalyticsView.js +17 -0
- package/dist/features/seller/components/SellerAuctionsView.d.ts +6 -0
- package/dist/features/seller/components/SellerAuctionsView.js +5 -0
- package/dist/features/seller/components/SellerCouponsView.d.ts +6 -0
- package/dist/features/seller/components/SellerCouponsView.js +5 -0
- package/dist/features/seller/components/SellerCreateProductView.d.ts +11 -0
- package/dist/features/seller/components/SellerCreateProductView.js +5 -0
- package/dist/features/seller/components/SellerDashboardView.d.ts +14 -0
- package/dist/features/seller/components/SellerDashboardView.js +11 -0
- package/dist/features/seller/components/SellerEditProductView.d.ts +11 -0
- package/dist/features/seller/components/SellerEditProductView.js +5 -0
- package/dist/features/seller/components/SellerGuideView.d.ts +12 -0
- package/dist/features/seller/components/SellerGuideView.js +5 -0
- package/dist/features/seller/components/SellerOffersView.d.ts +4 -0
- package/dist/features/seller/components/SellerOffersView.js +5 -0
- package/dist/features/seller/components/SellerOrdersView.d.ts +4 -0
- package/dist/features/seller/components/SellerOrdersView.js +5 -0
- package/dist/features/seller/components/SellerPayoutHistoryTable.d.ts +14 -0
- package/dist/features/seller/components/SellerPayoutHistoryTable.js +10 -0
- package/dist/features/seller/components/SellerPayoutSettingsView.d.ts +11 -0
- package/dist/features/seller/components/SellerPayoutSettingsView.js +5 -0
- package/dist/features/seller/components/SellerPayoutStats.d.ts +8 -0
- package/dist/features/seller/components/SellerPayoutStats.js +9 -0
- package/dist/features/seller/components/SellerPayoutsView.d.ts +18 -0
- package/dist/features/seller/components/SellerPayoutsView.js +11 -0
- package/dist/features/seller/components/SellerProductsView.d.ts +6 -0
- package/dist/features/seller/components/SellerProductsView.js +5 -0
- package/dist/features/seller/components/SellerShippingView.d.ts +12 -0
- package/dist/features/seller/components/SellerShippingView.js +5 -0
- package/dist/features/seller/components/SellerSidebar.d.ts +16 -0
- package/dist/features/seller/components/SellerSidebar.js +11 -0
- package/dist/features/seller/components/SellerStatCard.d.ts +14 -0
- package/dist/features/seller/components/SellerStatCard.js +5 -0
- package/dist/features/seller/components/SellerStoreSetupView.d.ts +12 -0
- package/dist/features/seller/components/SellerStoreSetupView.js +8 -0
- package/dist/features/seller/components/SellerStoreView.d.ts +8 -0
- package/dist/features/seller/components/SellerStoreView.js +8 -0
- package/dist/features/seller/components/SellerStorefrontView.d.ts +13 -0
- package/dist/features/seller/components/SellerStorefrontView.js +10 -0
- package/dist/features/seller/components/SellersListView.d.ts +4 -0
- package/dist/features/seller/components/SellersListView.js +5 -0
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.d.ts +14 -0
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.js +9 -0
- package/dist/features/seller/components/analytics/SellerRevenueChart.d.ts +13 -0
- package/dist/features/seller/components/analytics/SellerRevenueChart.js +28 -0
- package/dist/features/seller/components/analytics/SellerTopProducts.d.ts +17 -0
- package/dist/features/seller/components/analytics/SellerTopProducts.js +6 -0
- package/dist/features/seller/components/analytics/index.d.ts +3 -0
- package/dist/features/seller/components/analytics/index.js +3 -0
- package/dist/features/seller/components/index.d.ts +44 -0
- package/dist/features/seller/components/index.js +23 -0
- package/dist/features/seller/hooks/useBecomeSeller.d.ts +12 -0
- package/dist/features/seller/hooks/useBecomeSeller.js +26 -0
- package/dist/features/seller/hooks/useSellerPayouts.d.ts +25 -0
- package/dist/features/seller/hooks/useSellerPayouts.js +42 -0
- package/dist/features/seller/hooks/useSellerStore.d.ts +28 -0
- package/dist/features/seller/hooks/useSellerStore.js +48 -0
- package/dist/features/seller/hooks/useSellerStorefront.d.ts +16 -0
- package/dist/features/seller/hooks/useSellerStorefront.js +57 -0
- package/dist/features/seller/index.d.ts +10 -926
- package/dist/features/seller/index.js +10 -2029
- package/dist/features/seller/manifest.d.ts +2 -0
- package/dist/features/seller/manifest.js +74 -0
- package/dist/features/seller/messages/en.json +32 -0
- package/dist/features/seller/permission-map.d.ts +3 -0
- package/dist/features/seller/permission-map.js +15 -0
- package/dist/features/seller/repository/offer.repository.d.ts +66 -0
- package/dist/features/seller/repository/offer.repository.js +210 -0
- package/dist/features/seller/repository/seller.repository.d.ts +22 -0
- package/dist/features/seller/repository/seller.repository.js +72 -0
- package/dist/features/seller/schemas/firestore.d.ts +76 -0
- package/dist/features/seller/schemas/firestore.js +57 -0
- package/dist/features/seller/schemas/index.d.ts +244 -0
- package/dist/features/seller/schemas/index.js +100 -0
- package/dist/features/seller/server.d.ts +13 -0
- package/dist/features/seller/server.js +13 -0
- package/dist/features/seller/types/index.d.ts +147 -0
- package/dist/features/seller/types/index.js +2 -0
- package/dist/features/stores/actions/index.d.ts +2 -0
- package/dist/features/stores/actions/index.js +2 -0
- package/dist/features/stores/actions/store-address-actions.d.ts +11 -0
- package/dist/features/stores/actions/store-address-actions.js +54 -0
- package/dist/features/stores/actions/store-query-actions.d.ts +34 -0
- package/dist/features/stores/actions/store-query-actions.js +113 -0
- package/dist/features/stores/api/[storeSlug]/auctions/route.d.ts +23 -0
- package/dist/features/stores/api/[storeSlug]/auctions/route.js +92 -0
- package/dist/features/stores/api/[storeSlug]/products/route.d.ts +23 -0
- package/dist/features/stores/api/[storeSlug]/products/route.js +97 -0
- package/dist/features/stores/api/[storeSlug]/reviews/route.d.ts +23 -0
- package/dist/features/stores/api/[storeSlug]/reviews/route.js +101 -0
- package/dist/features/stores/api/[storeSlug]/route.d.ts +21 -0
- package/dist/features/stores/api/[storeSlug]/route.js +66 -0
- package/dist/features/stores/api/route.d.ts +12 -0
- package/dist/features/stores/api/route.js +101 -0
- package/dist/features/stores/columns/index.d.ts +16 -0
- package/dist/features/stores/columns/index.js +45 -0
- package/dist/features/stores/components/InteractiveStoreCard.d.ts +20 -0
- package/dist/features/stores/components/InteractiveStoreCard.js +16 -0
- package/dist/features/stores/components/StoreAboutView.d.ts +21 -0
- package/dist/features/stores/components/StoreAboutView.js +12 -0
- package/dist/features/stores/components/StoreAddressSelectorCreate.d.ts +16 -0
- package/dist/features/stores/components/StoreAddressSelectorCreate.js +40 -0
- package/dist/features/stores/components/StoreAuctionsView.d.ts +17 -0
- package/dist/features/stores/components/StoreAuctionsView.js +5 -0
- package/dist/features/stores/components/StoreHeader.d.ts +15 -0
- package/dist/features/stores/components/StoreHeader.js +8 -0
- package/dist/features/stores/components/StoreNavTabs.d.ts +15 -0
- package/dist/features/stores/components/StoreNavTabs.js +14 -0
- package/dist/features/stores/components/StoreProductsView.d.ts +30 -0
- package/dist/features/stores/components/StoreProductsView.js +11 -0
- package/dist/features/stores/components/StoreReviewsView.d.ts +17 -0
- package/dist/features/stores/components/StoreReviewsView.js +9 -0
- package/dist/features/stores/components/StoresListView.d.ts +19 -0
- package/dist/features/stores/components/StoresListView.js +24 -0
- package/dist/features/stores/components/index.d.ts +16 -0
- package/dist/features/stores/components/index.js +9 -0
- package/dist/features/stores/hooks/useStoreAddressSelector.d.ts +23 -0
- package/dist/features/stores/hooks/useStoreAddressSelector.js +30 -0
- package/dist/features/stores/hooks/useStores.d.ts +58 -0
- package/dist/features/stores/hooks/useStores.js +96 -0
- package/dist/features/stores/index.d.ts +7 -536
- package/dist/features/stores/index.js +7 -1911
- package/dist/features/stores/manifest.d.ts +2 -0
- package/dist/features/stores/manifest.js +35 -0
- package/dist/features/stores/messages/en.json +21 -0
- package/dist/features/stores/repository/store-address.repository.d.ts +55 -0
- package/dist/features/stores/repository/store-address.repository.js +188 -0
- package/dist/features/stores/repository/store.repository.d.ts +67 -0
- package/dist/features/stores/repository/store.repository.js +181 -0
- package/dist/features/stores/repository/stores.repository.d.ts +11 -0
- package/dist/features/stores/repository/stores.repository.js +34 -0
- package/dist/features/stores/schemas/firestore.d.ts +117 -0
- package/dist/features/stores/schemas/firestore.js +109 -0
- package/dist/features/stores/schemas/index.d.ts +85 -0
- package/dist/features/stores/schemas/index.js +48 -0
- package/dist/features/stores/server.d.ts +12 -103
- package/dist/features/stores/server.js +15 -444
- package/dist/features/stores/types/index.d.ts +102 -0
- package/dist/features/stores/types/index.js +2 -0
- package/dist/features/whatsapp-bot/api/send-status/route.d.ts +12 -0
- package/dist/features/whatsapp-bot/api/send-status/route.js +36 -0
- package/dist/features/whatsapp-bot/api/webhook/route.d.ts +12 -0
- package/dist/features/whatsapp-bot/api/webhook/route.js +41 -0
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.d.ts +8 -0
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.js +7 -0
- package/dist/features/whatsapp-bot/components/index.d.ts +1 -0
- package/dist/features/whatsapp-bot/components/index.js +1 -0
- package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +21 -0
- package/dist/features/whatsapp-bot/helpers/whatsapp.js +125 -0
- package/dist/features/whatsapp-bot/index.d.ts +3 -85
- package/dist/features/whatsapp-bot/index.js +3 -154
- package/dist/features/whatsapp-bot/manifest.d.ts +2 -0
- package/dist/features/whatsapp-bot/manifest.js +13 -0
- package/dist/features/whatsapp-bot/messages/en.json +7 -0
- package/dist/features/whatsapp-bot/server.d.ts +7 -0
- package/dist/features/whatsapp-bot/server.js +7 -0
- package/dist/features/whatsapp-bot/types/index.d.ts +50 -0
- package/dist/features/whatsapp-bot/types/index.js +1 -0
- package/dist/features/wishlist/actions/index.d.ts +1 -0
- package/dist/features/wishlist/actions/index.js +1 -0
- package/dist/features/wishlist/actions/wishlist-actions.d.ts +20 -0
- package/dist/features/wishlist/actions/wishlist-actions.js +29 -0
- package/dist/features/wishlist/columns/index.d.ts +17 -0
- package/dist/features/wishlist/columns/index.js +42 -0
- package/dist/features/wishlist/components/WishlistPage.d.ts +16 -0
- package/dist/features/wishlist/components/WishlistPage.js +17 -0
- package/dist/features/wishlist/components/WishlistToggleButton.d.ts +12 -0
- package/dist/features/wishlist/components/WishlistToggleButton.js +21 -0
- package/dist/features/wishlist/components/WishlistView.d.ts +33 -0
- package/dist/features/wishlist/components/WishlistView.js +41 -0
- package/dist/features/wishlist/components/index.d.ts +4 -0
- package/dist/features/wishlist/components/index.js +3 -0
- package/dist/features/wishlist/hooks/useUserWishlist.d.ts +187 -0
- package/dist/features/wishlist/hooks/useUserWishlist.js +17 -0
- package/dist/features/wishlist/hooks/useWishlist.d.ts +16 -0
- package/dist/features/wishlist/hooks/useWishlist.js +23 -0
- package/dist/features/wishlist/hooks/useWishlistToggle.d.ts +10 -0
- package/dist/features/wishlist/hooks/useWishlistToggle.js +32 -0
- package/dist/features/wishlist/index.d.ts +9 -360
- package/dist/features/wishlist/index.js +8 -888
- package/dist/features/wishlist/manifest.d.ts +2 -0
- package/dist/features/wishlist/manifest.js +12 -0
- package/dist/features/wishlist/messages/en.json +7 -0
- package/dist/features/wishlist/repository/user-wishlist.repository.d.ts +14 -0
- package/dist/features/wishlist/repository/user-wishlist.repository.js +91 -0
- package/dist/features/wishlist/repository/wishlist.repository.d.ts +13 -0
- package/dist/features/wishlist/repository/wishlist.repository.js +31 -0
- package/dist/features/wishlist/schemas/index.d.ts +46 -0
- package/dist/features/wishlist/schemas/index.js +24 -0
- package/dist/features/wishlist/server.d.ts +9 -0
- package/dist/features/wishlist/server.js +9 -0
- package/dist/features/wishlist/types/index.d.ts +16 -0
- package/dist/features/wishlist/types/index.js +1 -0
- package/dist/http/ApiClient.d.ts +59 -0
- package/dist/http/ApiClient.js +149 -0
- package/dist/http/api-handler.d.ts +33 -0
- package/dist/http/api-handler.js +89 -0
- package/dist/http/index.d.ts +6 -58
- package/dist/http/index.js +8 -4
- package/dist/index.d.ts +1 -17
- package/dist/index.js +1 -13
- package/dist/instrumentation/index.d.ts +4 -6
- package/dist/instrumentation/index.js +54 -14
- package/dist/monitoring/analytics.d.ts +79 -0
- package/dist/monitoring/analytics.js +171 -0
- package/dist/monitoring/browser.d.ts +10 -0
- package/dist/monitoring/browser.js +6 -0
- package/dist/monitoring/cache-metrics.d.ts +24 -0
- package/dist/monitoring/cache-metrics.js +83 -0
- package/dist/monitoring/client-logger.d.ts +29 -0
- package/dist/monitoring/client-logger.js +127 -0
- package/dist/monitoring/error-tracking.d.ts +50 -0
- package/dist/monitoring/error-tracking.js +54 -0
- package/dist/monitoring/index.d.ts +12 -181
- package/dist/monitoring/index.js +7 -8
- package/dist/monitoring/performance.d.ts +31 -0
- package/dist/monitoring/performance.js +34 -0
- package/dist/monitoring/runtime.d.ts +17 -0
- package/dist/monitoring/runtime.js +28 -0
- package/dist/monitoring/server-logger.d.ts +37 -0
- package/dist/monitoring/server-logger.js +289 -0
- package/dist/next/ErrorBoundary.d.ts +19 -0
- package/dist/next/ErrorBoundary.js +35 -0
- package/dist/next/IAuthVerifier.d.ts +54 -0
- package/dist/next/IAuthVerifier.js +23 -0
- package/dist/next/api/api-response.d.ts +29 -0
- package/dist/next/api/api-response.js +31 -0
- package/dist/next/api/apiHandler.d.ts +48 -0
- package/dist/next/api/apiHandler.js +87 -0
- package/dist/next/api/errorHandler.d.ts +57 -0
- package/dist/next/api/errorHandler.js +72 -0
- package/dist/next/api/routeHandler.d.ts +60 -0
- package/dist/next/api/routeHandler.js +113 -0
- package/dist/next/cache-middleware.d.ts +35 -0
- package/dist/next/cache-middleware.js +77 -0
- package/dist/next/components/ErrorView.d.ts +13 -0
- package/dist/next/components/ErrorView.js +32 -0
- package/dist/next/components/GlobalError.d.ts +7 -0
- package/dist/next/components/GlobalError.js +43 -0
- package/dist/next/components/NotFoundView.d.ts +28 -0
- package/dist/next/components/NotFoundView.js +25 -0
- package/dist/next/components/UnauthorizedView.d.ts +28 -0
- package/dist/next/components/UnauthorizedView.js +22 -0
- package/dist/next/index.d.ts +34 -776
- package/dist/next/index.js +30 -646
- package/dist/next/middleware/chain.d.ts +47 -0
- package/dist/next/middleware/chain.js +80 -0
- package/dist/next/middleware/index.d.ts +6 -0
- package/dist/next/middleware/index.js +3 -0
- package/dist/next/middleware/pii-redactor.d.ts +32 -0
- package/dist/next/middleware/pii-redactor.js +82 -0
- package/dist/next/middleware/pii-scrubber.d.ts +11 -0
- package/dist/next/middleware/pii-scrubber.js +43 -0
- package/dist/next/middleware/types.d.ts +18 -0
- package/dist/next/middleware/types.js +1 -0
- package/dist/next/request-helpers.d.ts +25 -0
- package/dist/next/request-helpers.js +52 -0
- package/dist/next/routing/route-map.d.ts +272 -0
- package/dist/next/routing/route-map.js +202 -0
- package/dist/providers/auth-firebase/browser-stub.d.ts +24 -0
- package/dist/providers/auth-firebase/browser-stub.js +28 -0
- package/dist/providers/auth-firebase/helpers.d.ts +83 -0
- package/dist/providers/auth-firebase/helpers.js +205 -0
- package/dist/providers/auth-firebase/index.d.ts +7 -133
- package/dist/providers/auth-firebase/index.js +16 -370
- package/dist/providers/auth-firebase/provider.d.ts +8 -0
- package/dist/providers/auth-firebase/provider.js +118 -0
- package/dist/providers/auth-firebase/session.d.ts +19 -0
- package/dist/providers/auth-firebase/session.js +86 -0
- package/dist/providers/db-firebase/admin-app-lite.d.ts +6 -0
- package/dist/providers/db-firebase/admin-app-lite.js +50 -0
- package/dist/providers/db-firebase/admin-auth-lite.d.ts +5 -0
- package/dist/providers/db-firebase/admin-auth-lite.js +10 -0
- package/dist/providers/db-firebase/admin-storage-lite.d.ts +6 -0
- package/dist/providers/db-firebase/admin-storage-lite.js +11 -0
- package/dist/providers/db-firebase/admin.d.ts +29 -0
- package/dist/providers/db-firebase/admin.js +163 -0
- package/dist/providers/db-firebase/base.d.ts +44 -0
- package/dist/providers/db-firebase/base.js +180 -0
- package/dist/providers/db-firebase/base.repository.d.ts +34 -0
- package/dist/providers/db-firebase/base.repository.js +235 -0
- package/dist/providers/db-firebase/browser-stub.d.ts +37 -0
- package/dist/providers/db-firebase/browser-stub.js +56 -0
- package/dist/providers/db-firebase/client-config.d.ts +22 -0
- package/dist/providers/db-firebase/client-config.js +30 -0
- package/dist/providers/db-firebase/field-ops.d.ts +7 -0
- package/dist/providers/db-firebase/field-ops.js +13 -0
- package/dist/providers/db-firebase/helpers.d.ts +23 -0
- package/dist/providers/db-firebase/helpers.js +67 -0
- package/dist/providers/db-firebase/index.d.ts +16 -250
- package/dist/providers/db-firebase/index.js +42 -498
- package/dist/providers/db-firebase/realtime.d.ts +43 -0
- package/dist/providers/db-firebase/realtime.js +122 -0
- package/dist/providers/db-firebase/rtdb-paths.d.ts +12 -0
- package/dist/providers/db-firebase/rtdb-paths.js +12 -0
- package/dist/providers/db-firebase/sieve.d.ts +76 -0
- package/dist/providers/db-firebase/sieve.js +83 -0
- package/dist/providers/email-resend/index.d.ts +6 -64
- package/dist/providers/email-resend/index.js +14 -56
- package/dist/providers/email-resend/provider.d.ts +43 -0
- package/dist/providers/email-resend/provider.js +75 -0
- package/dist/providers/firebase-client/auth.d.ts +12 -0
- package/dist/providers/firebase-client/auth.js +30 -0
- package/dist/providers/firebase-client/index.d.ts +9 -0
- package/dist/providers/firebase-client/index.js +9 -0
- package/dist/providers/firebase-client/realtime.d.ts +18 -0
- package/dist/providers/firebase-client/realtime.js +39 -0
- package/dist/providers/payment-razorpay/index.d.ts +66 -69
- package/dist/providers/payment-razorpay/index.js +201 -97
- package/dist/providers/shipping-shiprocket/index.d.ts +69 -33
- package/dist/providers/shipping-shiprocket/index.js +135 -122
- package/dist/providers/shipping-shiprocket/shiprocket-provider.d.ts +46 -0
- package/dist/providers/shipping-shiprocket/shiprocket-provider.js +152 -0
- package/dist/providers/storage-firebase/client.d.ts +56 -0
- package/dist/providers/storage-firebase/client.js +141 -0
- package/dist/providers/storage-firebase/index.d.ts +6 -43
- package/dist/providers/storage-firebase/index.js +16 -153
- package/dist/providers/storage-firebase/provider.d.ts +23 -0
- package/dist/providers/storage-firebase/provider.js +103 -0
- package/dist/react/ErrorBoundary.d.ts +31 -0
- package/dist/react/ErrorBoundary.js +68 -0
- package/dist/react/contexts/SessionContext.d.ts +80 -0
- package/dist/react/contexts/SessionContext.js +350 -0
- package/dist/react/contexts/ThemeContext.d.ts +14 -0
- package/dist/react/contexts/ThemeContext.js +65 -0
- package/dist/react/contexts/index.d.ts +4 -0
- package/dist/react/contexts/index.js +2 -0
- package/dist/react/hooks/useBreakpoint.d.ts +29 -0
- package/dist/react/hooks/useBreakpoint.js +37 -0
- package/dist/react/hooks/useBulkAction.d.ts +65 -0
- package/dist/react/hooks/useBulkAction.js +69 -0
- package/dist/react/hooks/useBulkSelection.d.ts +40 -0
- package/dist/react/hooks/useBulkSelection.js +58 -0
- package/dist/react/hooks/useCamera.d.ts +34 -0
- package/dist/react/hooks/useCamera.js +147 -0
- package/dist/react/hooks/useClickOutside.d.ts +37 -0
- package/dist/react/hooks/useClickOutside.js +57 -0
- package/dist/react/hooks/useContainerGrid.d.ts +39 -0
- package/dist/react/hooks/useContainerGrid.js +47 -0
- package/dist/react/hooks/useCountdown.d.ts +26 -0
- package/dist/react/hooks/useCountdown.js +49 -0
- package/dist/react/hooks/useGesture.d.ts +51 -0
- package/dist/react/hooks/useGesture.js +181 -0
- package/dist/react/hooks/useKeyPress.d.ts +48 -0
- package/dist/react/hooks/useKeyPress.js +62 -0
- package/dist/react/hooks/useLongPress.d.ts +26 -0
- package/dist/react/hooks/useLongPress.js +55 -0
- package/dist/react/hooks/useMediaQuery.d.ts +17 -0
- package/dist/react/hooks/useMediaQuery.js +34 -0
- package/dist/react/hooks/useMessage.d.ts +11 -0
- package/dist/react/hooks/useMessage.js +45 -0
- package/dist/react/hooks/usePendingFilters.d.ts +58 -0
- package/dist/react/hooks/usePendingFilters.js +79 -0
- package/dist/react/hooks/usePendingTable.d.ts +49 -0
- package/dist/react/hooks/usePendingTable.js +45 -0
- package/dist/react/hooks/usePullToRefresh.d.ts +38 -0
- package/dist/react/hooks/usePullToRefresh.js +82 -0
- package/dist/react/hooks/useRealtimeEvent.d.ts +53 -0
- package/dist/react/hooks/useRealtimeEvent.js +124 -0
- package/dist/react/hooks/useSwipe.d.ts +55 -0
- package/dist/react/hooks/useSwipe.js +165 -0
- package/dist/react/hooks/useUnsavedChanges.d.ts +44 -0
- package/dist/react/hooks/useUnsavedChanges.js +55 -0
- package/dist/react/hooks/useUrlTable.d.ts +31 -0
- package/dist/react/hooks/useUrlTable.js +137 -0
- package/dist/react/hooks/useVisibleItems.d.ts +37 -0
- package/dist/react/hooks/useVisibleItems.js +59 -0
- package/dist/react/index.d.ts +49 -787
- package/dist/react/index.js +47 -1665
- package/dist/react/useModalStack.d.ts +33 -0
- package/dist/react/useModalStack.js +61 -0
- package/dist/repositories/index.d.ts +38 -0
- package/dist/repositories/index.js +40 -0
- package/dist/security/authorization.d.ts +24 -0
- package/dist/security/authorization.js +73 -0
- package/dist/security/browser.d.ts +7 -0
- package/dist/security/browser.js +5 -0
- package/dist/security/csp.d.ts +16 -0
- package/dist/security/csp.js +44 -0
- package/dist/security/index.d.ts +11 -309
- package/dist/security/index.js +8 -5
- package/dist/security/pii-encrypt.d.ts +121 -0
- package/dist/security/pii-encrypt.js +351 -0
- package/dist/security/pii-redact.d.ts +20 -0
- package/dist/security/pii-redact.js +129 -0
- package/dist/security/pii-schemas.d.ts +38 -0
- package/dist/security/pii-schemas.js +62 -0
- package/dist/security/rate-limit.d.ts +70 -0
- package/dist/security/rate-limit.js +107 -0
- package/dist/security/rbac/Can.d.ts +31 -0
- package/dist/security/rbac/Can.js +24 -0
- package/dist/security/rbac/default-roles.d.ts +2 -0
- package/dist/security/rbac/default-roles.js +83 -0
- package/dist/security/rbac/hook.d.ts +20 -0
- package/dist/security/rbac/hook.js +30 -0
- package/dist/security/rbac/index.d.ts +8 -0
- package/dist/security/rbac/index.js +6 -0
- package/dist/security/rbac/middleware.d.ts +51 -0
- package/dist/security/rbac/middleware.js +51 -0
- package/dist/security/rbac/resolver.d.ts +5 -0
- package/dist/security/rbac/resolver.js +38 -0
- package/dist/security/rbac/server.d.ts +24 -0
- package/dist/security/rbac/server.js +42 -0
- package/dist/security/rbac/types.d.ts +22 -0
- package/dist/security/rbac/types.js +2 -0
- package/dist/security/settings-encryption.d.ts +5 -0
- package/dist/security/settings-encryption.js +48 -0
- package/dist/seed/actions/demo-seed-actions.d.ts +31 -0
- package/dist/seed/actions/demo-seed-actions.js +36 -0
- package/dist/seed/actions/index.d.ts +1 -0
- package/dist/seed/actions/index.js +1 -0
- package/dist/seed/addresses-seed-data.d.ts +19 -0
- package/dist/seed/addresses-seed-data.js +418 -0
- package/dist/seed/bids-seed-data.d.ts +7 -0
- package/dist/seed/bids-seed-data.js +1168 -0
- package/dist/seed/blog-posts-seed-data.d.ts +7 -0
- package/dist/seed/blog-posts-seed-data.js +215 -0
- package/dist/seed/carousel-slides-seed-data.d.ts +7 -0
- package/dist/seed/carousel-slides-seed-data.js +283 -0
- package/dist/seed/cart-seed-data.d.ts +20 -0
- package/dist/seed/cart-seed-data.js +179 -0
- package/dist/seed/categories-seed-data.d.ts +7 -0
- package/dist/seed/categories-seed-data.js +1220 -0
- package/dist/seed/coupons-seed-data.d.ts +7 -0
- package/dist/seed/coupons-seed-data.js +508 -0
- package/dist/seed/defaults/categories.d.ts +2 -0
- package/dist/seed/defaults/categories.js +12 -0
- package/dist/seed/defaults/faqs.d.ts +2 -0
- package/dist/seed/defaults/faqs.js +40 -0
- package/dist/seed/defaults/homepage-sections.d.ts +2 -0
- package/dist/seed/defaults/homepage-sections.js +59 -0
- package/dist/seed/events-seed-data.d.ts +8 -0
- package/dist/seed/events-seed-data.js +662 -0
- package/dist/seed/factories/address.factory.d.ts +21 -0
- package/dist/seed/factories/address.factory.js +44 -0
- package/dist/seed/factories/bid.factory.d.ts +15 -0
- package/dist/seed/factories/bid.factory.js +33 -0
- package/dist/seed/factories/blog-post.factory.d.ts +15 -0
- package/dist/seed/factories/blog-post.factory.js +22 -0
- package/dist/seed/factories/carousel.factory.d.ts +11 -0
- package/dist/seed/factories/carousel.factory.js +16 -0
- package/dist/seed/factories/cart.factory.d.ts +26 -0
- package/dist/seed/factories/cart.factory.js +35 -0
- package/dist/seed/factories/category.factory.d.ts +11 -0
- package/dist/seed/factories/category.factory.js +16 -0
- package/dist/seed/factories/coupon.factory.d.ts +21 -0
- package/dist/seed/factories/coupon.factory.js +43 -0
- package/dist/seed/factories/faq.factory.d.ts +10 -0
- package/dist/seed/factories/faq.factory.js +15 -0
- package/dist/seed/factories/homepage-section.factory.d.ts +9 -0
- package/dist/seed/factories/homepage-section.factory.js +13 -0
- package/dist/seed/factories/notification.factory.d.ts +17 -0
- package/dist/seed/factories/notification.factory.js +39 -0
- package/dist/seed/factories/order.factory.d.ts +20 -0
- package/dist/seed/factories/order.factory.js +20 -0
- package/dist/seed/factories/payout.factory.d.ts +21 -0
- package/dist/seed/factories/payout.factory.js +38 -0
- package/dist/seed/factories/product.factory.d.ts +27 -0
- package/dist/seed/factories/product.factory.js +111 -0
- package/dist/seed/factories/review.factory.d.ts +14 -0
- package/dist/seed/factories/review.factory.js +52 -0
- package/dist/seed/factories/session.factory.d.ts +15 -0
- package/dist/seed/factories/session.factory.js +31 -0
- package/dist/seed/factories/store.factory.d.ts +23 -0
- package/dist/seed/factories/store.factory.js +46 -0
- package/dist/seed/factories/user.factory.d.ts +19 -0
- package/dist/seed/factories/user.factory.js +55 -0
- package/dist/seed/faq-seed-data.d.ts +47 -0
- package/dist/seed/faq-seed-data.js +2320 -0
- package/dist/seed/firestore-indexes.d.ts +13 -0
- package/dist/seed/firestore-indexes.js +32 -0
- package/dist/seed/homepage-sections-seed-data.d.ts +18 -0
- package/dist/seed/homepage-sections-seed-data.js +339 -0
- package/dist/seed/index.d.ts +68 -397
- package/dist/seed/index.js +49 -1040
- package/dist/seed/notifications-seed-data.d.ts +7 -0
- package/dist/seed/notifications-seed-data.js +494 -0
- package/dist/seed/orders-seed-data.d.ts +7 -0
- package/dist/seed/orders-seed-data.js +578 -0
- package/dist/seed/payouts-seed-data.d.ts +7 -0
- package/dist/seed/payouts-seed-data.js +202 -0
- package/dist/seed/products-seed-data.d.ts +7 -0
- package/dist/seed/products-seed-data.js +2477 -0
- package/dist/seed/reviews-seed-data.d.ts +7 -0
- package/dist/seed/reviews-seed-data.js +618 -0
- package/dist/seed/runner.d.ts +3 -0
- package/dist/seed/runner.js +38 -0
- package/dist/seed/seed-market-config.d.ts +49 -0
- package/dist/seed/seed-market-config.js +198 -0
- package/dist/seed/sessions-seed-data.d.ts +17 -0
- package/dist/seed/sessions-seed-data.js +355 -0
- package/dist/seed/site-settings-seed-data.d.ts +7 -0
- package/dist/seed/site-settings-seed-data.js +236 -0
- package/dist/seed/store-addresses-seed-data.d.ts +19 -0
- package/dist/seed/store-addresses-seed-data.js +106 -0
- package/dist/seed/stores-seed-data.d.ts +14 -0
- package/dist/seed/stores-seed-data.js +127 -0
- package/dist/seed/test-utils.d.ts +49 -0
- package/dist/seed/test-utils.js +107 -0
- package/dist/seed/types.d.ts +33 -0
- package/dist/seed/types.js +1 -0
- package/dist/seed/users-seed-data.d.ts +7 -0
- package/dist/seed/users-seed-data.js +727 -0
- package/dist/seo/index.d.ts +2 -150
- package/dist/seo/index.js +2 -4
- package/dist/seo/json-ld.d.ts +69 -0
- package/dist/seo/json-ld.js +166 -0
- package/dist/seo/metadata.d.ts +77 -0
- package/dist/seo/metadata.js +157 -0
- package/dist/server.d.ts +109 -0
- package/dist/server.js +110 -0
- package/dist/style/tailwind/index.d.ts +5 -7
- package/dist/style/tailwind/index.js +54 -33
- package/dist/style/vanilla/index.d.ts +5 -7
- package/dist/style/vanilla/index.js +45 -33
- package/dist/tokens/index.d.ts +23 -24
- package/dist/tokens/index.js +786 -4
- package/dist/tokens/tokens.css +221 -0
- package/dist/ui/DataTable.d.ts +78 -0
- package/dist/ui/DataTable.js +157 -0
- package/dist/ui/DataTable.style.css +190 -0
- package/dist/ui/animation.helper.d.ts +17 -0
- package/dist/ui/animation.helper.js +17 -0
- package/dist/ui/color.helper.d.ts +12 -0
- package/dist/ui/color.helper.js +31 -0
- package/dist/ui/columns/build-columns.d.ts +21 -0
- package/dist/ui/columns/build-columns.js +33 -0
- package/dist/ui/columns/column-renderers.d.ts +33 -0
- package/dist/ui/columns/column-renderers.js +64 -0
- package/dist/ui/columns/index.d.ts +6 -0
- package/dist/ui/columns/index.js +5 -0
- package/dist/ui/components/Accordion.d.ts +27 -0
- package/dist/ui/components/Accordion.js +57 -0
- package/dist/ui/components/Accordion.style.css +82 -0
- package/dist/ui/components/ActiveFilterChips.d.ts +13 -0
- package/dist/ui/components/ActiveFilterChips.js +9 -0
- package/dist/ui/components/ActiveFilterChips.style.css +66 -0
- package/dist/ui/components/Alert.d.ts +43 -0
- package/dist/ui/components/Alert.js +47 -0
- package/dist/ui/components/Alert.style.css +187 -0
- package/dist/ui/components/Avatar.d.ts +18 -0
- package/dist/ui/components/Avatar.js +42 -0
- package/dist/ui/components/Avatar.style.css +73 -0
- package/dist/ui/components/AvatarDisplay.d.ts +10 -0
- package/dist/ui/components/AvatarDisplay.js +56 -0
- package/dist/ui/components/AvatarDisplay.style.css +46 -0
- package/dist/ui/components/BackgroundRenderer.d.ts +15 -0
- package/dist/ui/components/BackgroundRenderer.js +42 -0
- package/dist/ui/components/BackgroundRenderer.style.css +31 -0
- package/dist/ui/components/Badge.d.ts +33 -0
- package/dist/ui/components/Badge.js +34 -0
- package/dist/ui/components/Badge.style.css +114 -0
- package/dist/ui/components/BaseListingCard.d.ts +39 -0
- package/dist/ui/components/BaseListingCard.js +56 -0
- package/dist/ui/components/BaseListingCard.style.css +84 -0
- package/dist/ui/components/Breadcrumb.d.ts +15 -0
- package/dist/ui/components/Breadcrumb.js +12 -0
- package/dist/ui/components/Breadcrumb.style.css +60 -0
- package/dist/ui/components/BulkActionBar.d.ts +34 -0
- package/dist/ui/components/BulkActionBar.js +86 -0
- package/dist/ui/components/BulkActionBar.style.css +196 -0
- package/dist/ui/components/Button.d.ts +31 -0
- package/dist/ui/components/Button.js +29 -0
- package/dist/ui/components/Button.style.css +160 -0
- package/dist/ui/components/Card.d.ts +21 -0
- package/dist/ui/components/Card.js +51 -0
- package/dist/ui/components/Card.style.css +192 -0
- package/dist/ui/components/Checkbox.d.ts +8 -0
- package/dist/ui/components/Checkbox.js +38 -0
- package/dist/ui/components/Checkbox.style.css +113 -0
- package/dist/ui/components/ConfirmDeleteModal.d.ts +33 -0
- package/dist/ui/components/ConfirmDeleteModal.js +74 -0
- package/dist/ui/components/ConfirmDeleteModal.style.css +89 -0
- package/dist/ui/components/CountdownDisplay.d.ts +14 -0
- package/dist/ui/components/CountdownDisplay.js +50 -0
- package/dist/ui/components/CountdownDisplay.style.css +4 -0
- package/dist/ui/components/DashboardStatsCard.d.ts +15 -0
- package/dist/ui/components/DashboardStatsCard.js +28 -0
- package/dist/ui/components/DashboardStatsCard.style.css +70 -0
- package/dist/ui/components/DescriptionField.d.ts +23 -0
- package/dist/ui/components/DescriptionField.js +28 -0
- package/dist/ui/components/DescriptionField.style.css +36 -0
- package/dist/ui/components/DetailViewShell.d.ts +51 -0
- package/dist/ui/components/DetailViewShell.js +50 -0
- package/dist/ui/components/Div.d.ts +20 -0
- package/dist/ui/components/Div.js +19 -0
- package/dist/ui/components/Div.style.css +6 -0
- package/dist/ui/components/Divider.d.ts +12 -0
- package/dist/ui/components/Divider.js +11 -0
- package/dist/ui/components/Divider.style.css +39 -0
- package/dist/ui/components/Drawer.d.ts +21 -0
- package/dist/ui/components/Drawer.js +72 -0
- package/dist/ui/components/Drawer.style.css +146 -0
- package/dist/ui/components/Dropdown.d.ts +36 -0
- package/dist/ui/components/Dropdown.js +142 -0
- package/dist/ui/components/Dropdown.style.css +112 -0
- package/dist/ui/components/DynamicSelect.d.ts +24 -0
- package/dist/ui/components/DynamicSelect.js +78 -0
- package/dist/ui/components/DynamicSelect.style.css +101 -0
- package/dist/ui/components/EmptyState.d.ts +12 -0
- package/dist/ui/components/EmptyState.js +17 -0
- package/dist/ui/components/EmptyState.style.css +30 -0
- package/dist/ui/components/FilterDrawer.d.ts +16 -0
- package/dist/ui/components/FilterDrawer.js +39 -0
- package/dist/ui/components/FilterDrawer.style.css +61 -0
- package/dist/ui/components/FlowDiagram.d.ts +33 -0
- package/dist/ui/components/FlowDiagram.js +15 -0
- package/dist/ui/components/FlowDiagram.style.css +77 -0
- package/dist/ui/components/Form.d.ts +27 -0
- package/dist/ui/components/Form.js +48 -0
- package/dist/ui/components/Form.style.css +27 -0
- package/dist/ui/components/FormField.d.ts +26 -0
- package/dist/ui/components/FormField.js +25 -0
- package/dist/ui/components/FormField.style.css +30 -0
- package/dist/ui/components/FormGrid.d.ts +46 -0
- package/dist/ui/components/FormGrid.js +42 -0
- package/dist/ui/components/FormGrid.style.css +32 -0
- package/dist/ui/components/HorizontalScroller.d.ts +33 -0
- package/dist/ui/components/HorizontalScroller.js +47 -0
- package/dist/ui/components/HorizontalScroller.style.css +109 -0
- package/dist/ui/components/IconButton.d.ts +32 -0
- package/dist/ui/components/IconButton.js +31 -0
- package/dist/ui/components/IconButton.style.css +103 -0
- package/dist/ui/components/ImageGallery.d.ts +17 -0
- package/dist/ui/components/ImageGallery.js +108 -0
- package/dist/ui/components/ImageGallery.style.css +163 -0
- package/dist/ui/components/ImageLightbox.d.ts +24 -0
- package/dist/ui/components/ImageLightbox.js +61 -0
- package/dist/ui/components/ImageLightbox.style.css +58 -0
- package/dist/ui/components/Input.d.ts +12 -0
- package/dist/ui/components/Input.js +29 -0
- package/dist/ui/components/Input.style.css +28 -0
- package/dist/ui/components/ItemRow.d.ts +10 -0
- package/dist/ui/components/ItemRow.js +7 -0
- package/dist/ui/components/ItemRow.style.css +33 -0
- package/dist/ui/components/Layout.d.ts +282 -0
- package/dist/ui/components/Layout.js +184 -0
- package/dist/ui/components/Layout.style.css +212 -0
- package/dist/ui/components/ListingLayout.d.ts +60 -0
- package/dist/ui/components/ListingLayout.js +121 -0
- package/dist/ui/components/ListingLayout.style.css +527 -0
- package/dist/ui/components/ListingViewShell.d.ts +38 -0
- package/dist/ui/components/ListingViewShell.js +11 -0
- package/dist/ui/components/Menu.d.ts +29 -0
- package/dist/ui/components/Menu.js +19 -0
- package/dist/ui/components/Menu.style.css +6 -0
- package/dist/ui/components/Modal.d.ts +18 -0
- package/dist/ui/components/Modal.js +79 -0
- package/dist/ui/components/Modal.style.css +102 -0
- package/dist/ui/components/Pagination.d.ts +25 -0
- package/dist/ui/components/Pagination.js +56 -0
- package/dist/ui/components/Pagination.style.css +76 -0
- package/dist/ui/components/PasswordStrengthIndicator.d.ts +12 -0
- package/dist/ui/components/PasswordStrengthIndicator.js +35 -0
- package/dist/ui/components/PasswordStrengthIndicator.style.css +56 -0
- package/dist/ui/components/PriceDisplay.d.ts +8 -0
- package/dist/ui/components/PriceDisplay.js +28 -0
- package/dist/ui/components/PriceDisplay.style.css +47 -0
- package/dist/ui/components/Progress.d.ts +23 -0
- package/dist/ui/components/Progress.js +32 -0
- package/dist/ui/components/Progress.style.css +81 -0
- package/dist/ui/components/Radio.d.ts +18 -0
- package/dist/ui/components/Radio.js +64 -0
- package/dist/ui/components/Radio.style.css +155 -0
- package/dist/ui/components/RatingDisplay.d.ts +8 -0
- package/dist/ui/components/RatingDisplay.js +15 -0
- package/dist/ui/components/RatingDisplay.style.css +50 -0
- package/dist/ui/components/ResponsiveView.d.ts +12 -0
- package/dist/ui/components/ResponsiveView.js +9 -0
- package/dist/ui/components/ResponsiveView.style.css +69 -0
- package/dist/ui/components/RoleBadge.d.ts +7 -0
- package/dist/ui/components/RoleBadge.js +21 -0
- package/dist/ui/components/RoleBadge.style.css +7 -0
- package/dist/ui/components/RowActionMenu.d.ts +13 -0
- package/dist/ui/components/RowActionMenu.js +17 -0
- package/dist/ui/components/RowActionMenu.style.css +91 -0
- package/dist/ui/components/SectionTabs.d.ts +19 -0
- package/dist/ui/components/SectionTabs.js +66 -0
- package/dist/ui/components/SectionTabs.style.css +163 -0
- package/dist/ui/components/Select.d.ts +19 -0
- package/dist/ui/components/Select.js +27 -0
- package/dist/ui/components/Select.style.css +177 -0
- package/dist/ui/components/Semantic.d.ts +154 -0
- package/dist/ui/components/Semantic.js +32 -0
- package/dist/ui/components/Semantic.style.css +14 -0
- package/dist/ui/components/SideDrawer.d.ts +28 -0
- package/dist/ui/components/SideDrawer.js +151 -0
- package/dist/ui/components/SideDrawer.style.css +214 -0
- package/dist/ui/components/SideModal.d.ts +25 -0
- package/dist/ui/components/SideModal.js +61 -0
- package/dist/ui/components/SideModal.style.css +77 -0
- package/dist/ui/components/Skeleton.d.ts +14 -0
- package/dist/ui/components/Skeleton.js +22 -0
- package/dist/ui/components/Skeleton.style.css +55 -0
- package/dist/ui/components/SkipToMain.d.ts +6 -0
- package/dist/ui/components/SkipToMain.js +6 -0
- package/dist/ui/components/SkipToMain.style.css +34 -0
- package/dist/ui/components/Slider.d.ts +17 -0
- package/dist/ui/components/Slider.js +38 -0
- package/dist/ui/components/Slider.style.css +17 -0
- package/dist/ui/components/SlottedListingView.d.ts +62 -0
- package/dist/ui/components/SlottedListingView.js +41 -0
- package/dist/ui/components/SortDropdown.d.ts +15 -0
- package/dist/ui/components/SortDropdown.js +8 -0
- package/dist/ui/components/SortDropdown.style.css +12 -0
- package/dist/ui/components/Spinner.d.ts +13 -0
- package/dist/ui/components/Spinner.js +15 -0
- package/dist/ui/components/Spinner.style.css +76 -0
- package/dist/ui/components/StackedViewShell.d.ts +50 -0
- package/dist/ui/components/StackedViewShell.js +39 -0
- package/dist/ui/components/StarRating.d.ts +17 -0
- package/dist/ui/components/StarRating.js +29 -0
- package/dist/ui/components/StarRating.style.css +44 -0
- package/dist/ui/components/StatsGrid.d.ts +18 -0
- package/dist/ui/components/StatsGrid.js +17 -0
- package/dist/ui/components/StatsGrid.style.css +96 -0
- package/dist/ui/components/StatusBadge.d.ts +18 -0
- package/dist/ui/components/StatusBadge.js +60 -0
- package/dist/ui/components/StatusBadge.style.css +5 -0
- package/dist/ui/components/StepperNav.d.ts +10 -0
- package/dist/ui/components/StepperNav.js +23 -0
- package/dist/ui/components/StepperNav.style.css +110 -0
- package/dist/ui/components/SummaryCard.d.ts +21 -0
- package/dist/ui/components/SummaryCard.js +15 -0
- package/dist/ui/components/SummaryCard.style.css +82 -0
- package/dist/ui/components/TabStrip.d.ts +34 -0
- package/dist/ui/components/TabStrip.js +57 -0
- package/dist/ui/components/TabStrip.style.css +97 -0
- package/dist/ui/components/TablePagination.d.ts +21 -0
- package/dist/ui/components/TablePagination.js +32 -0
- package/dist/ui/components/TablePagination.style.css +89 -0
- package/dist/ui/components/Tabs.d.ts +28 -0
- package/dist/ui/components/Tabs.js +41 -0
- package/dist/ui/components/Tabs.style.css +46 -0
- package/dist/ui/components/TagInput.d.ts +10 -0
- package/dist/ui/components/TagInput.js +60 -0
- package/dist/ui/components/TagInput.style.css +121 -0
- package/dist/ui/components/TextLink.d.ts +42 -0
- package/dist/ui/components/TextLink.js +48 -0
- package/dist/ui/components/TextLink.style.css +94 -0
- package/dist/ui/components/Textarea.d.ts +9 -0
- package/dist/ui/components/Textarea.js +21 -0
- package/dist/ui/components/Textarea.style.css +30 -0
- package/dist/ui/components/Toast.d.ts +15 -0
- package/dist/ui/components/Toast.js +61 -0
- package/dist/ui/components/Toast.style.css +114 -0
- package/dist/ui/components/Toggle.d.ts +12 -0
- package/dist/ui/components/Toggle.js +47 -0
- package/dist/ui/components/Toggle.style.css +107 -0
- package/dist/ui/components/Tooltip.d.ts +34 -0
- package/dist/ui/components/Tooltip.js +110 -0
- package/dist/ui/components/Tooltip.style.css +114 -0
- package/dist/ui/components/Typography.d.ts +50 -0
- package/dist/ui/components/Typography.js +103 -0
- package/dist/ui/components/Typography.style.css +178 -0
- package/dist/ui/components/UnsavedChangesModal.d.ts +17 -0
- package/dist/ui/components/UnsavedChangesModal.js +52 -0
- package/dist/ui/components/UnsavedChangesModal.style.css +33 -0
- package/dist/ui/components/ViewToggle.d.ts +15 -0
- package/dist/ui/components/ViewToggle.js +29 -0
- package/dist/ui/components/ViewToggle.style.css +50 -0
- package/dist/ui/components/index.style.css +76 -0
- package/dist/ui/index.d.ts +165 -1644
- package/dist/ui/index.js +87 -4784
- package/dist/ui/rich-text/RichText.d.ts +46 -0
- package/dist/ui/rich-text/RichText.js +172 -0
- package/dist/ui/rich-text/RichText.style.css +5 -0
- package/dist/ui/rich-text/index.d.ts +2 -0
- package/dist/ui/rich-text/index.js +1 -0
- package/dist/ui/style.helper.d.ts +7 -0
- package/dist/ui/style.helper.js +12 -0
- package/dist/utils/animation.helper.d.ts +19 -0
- package/dist/utils/animation.helper.js +19 -0
- package/dist/utils/array.helper.d.ts +17 -0
- package/dist/utils/array.helper.js +53 -0
- package/dist/utils/business-day.d.ts +47 -0
- package/dist/utils/business-day.js +68 -0
- package/dist/utils/client.d.ts +1 -0
- package/dist/utils/client.js +1 -0
- package/dist/utils/color.helper.d.ts +32 -0
- package/dist/utils/color.helper.js +51 -0
- package/dist/utils/cookie.converter.d.ts +7 -0
- package/dist/utils/cookie.converter.js +32 -0
- package/dist/utils/date.formatter.d.ts +22 -0
- package/dist/utils/date.formatter.js +194 -0
- package/dist/utils/event-manager.d.ts +45 -0
- package/dist/utils/event-manager.js +185 -0
- package/dist/utils/filter.helper.d.ts +18 -0
- package/dist/utils/filter.helper.js +21 -0
- package/dist/utils/id-generators.d.ts +243 -0
- package/dist/utils/id-generators.js +360 -0
- package/dist/utils/index.d.ts +17 -545
- package/dist/utils/index.js +18 -4
- package/dist/utils/media-field.d.ts +2 -0
- package/dist/utils/media-field.js +1 -0
- package/dist/utils/number.formatter.d.ts +13 -0
- package/dist/utils/number.formatter.js +100 -0
- package/dist/utils/object.helper.d.ts +16 -0
- package/dist/utils/object.helper.js +82 -0
- package/dist/utils/pagination.helper.d.ts +23 -0
- package/dist/utils/pagination.helper.js +24 -0
- package/dist/utils/schema-ui.d.ts +83 -0
- package/dist/utils/schema-ui.js +185 -0
- package/dist/utils/sorting.helper.d.ts +7 -0
- package/dist/utils/sorting.helper.js +16 -0
- package/dist/utils/string.formatter.d.ts +19 -0
- package/dist/utils/string.formatter.js +140 -0
- package/dist/utils/type.converter.d.ts +14 -0
- package/dist/utils/type.converter.js +61 -0
- package/dist/validation/ZodSetup.d.ts +5 -0
- package/dist/validation/ZodSetup.js +11 -0
- package/dist/validation/email.validator.d.ts +7 -0
- package/dist/validation/email.validator.js +33 -0
- package/dist/validation/index.d.ts +9 -126
- package/dist/validation/index.js +8 -4
- package/dist/validation/input.validator.d.ts +11 -0
- package/dist/validation/input.validator.js +33 -0
- package/dist/validation/password.validator.d.ts +21 -0
- package/dist/validation/password.validator.js +77 -0
- package/dist/validation/phone.validator.d.ts +9 -0
- package/dist/validation/phone.validator.js +41 -0
- package/dist/validation/schemas.d.ts +267 -0
- package/dist/validation/schemas.js +176 -0
- package/dist/validation/url.validator.d.ts +7 -0
- package/dist/validation/url.validator.js +44 -0
- package/dist/validation/zod-error-map.d.ts +17 -0
- package/dist/validation/zod-error-map.js +85 -0
- package/dist/values/index.d.ts +6 -0
- package/dist/values/index.js +6 -0
- package/dist/values/success-messages.d.ts +242 -0
- package/dist/values/success-messages.js +272 -0
- package/package.json +87 -445
- package/dist/chunk-2NMEKWO5.js +0 -35
- package/dist/chunk-2NMEKWO5.js.map +0 -1
- package/dist/chunk-6344OTT4.js +0 -329
- package/dist/chunk-6344OTT4.js.map +0 -1
- package/dist/chunk-7HUFI4MW.cjs +0 -941
- package/dist/chunk-7HUFI4MW.cjs.map +0 -1
- package/dist/chunk-AZ2XDBYA.cjs +0 -150
- package/dist/chunk-AZ2XDBYA.cjs.map +0 -1
- package/dist/chunk-CI4ZFLS7.js +0 -1162
- package/dist/chunk-CI4ZFLS7.js.map +0 -1
- package/dist/chunk-DSCHV5OD.js +0 -620
- package/dist/chunk-DSCHV5OD.js.map +0 -1
- package/dist/chunk-EEMSMWIZ.js +0 -566
- package/dist/chunk-EEMSMWIZ.js.map +0 -1
- package/dist/chunk-EPJNBIKL.js +0 -916
- package/dist/chunk-EPJNBIKL.js.map +0 -1
- package/dist/chunk-FJEY6LN2.cjs +0 -64
- package/dist/chunk-FJEY6LN2.cjs.map +0 -1
- package/dist/chunk-GZXXRVTM.cjs +0 -343
- package/dist/chunk-GZXXRVTM.cjs.map +0 -1
- package/dist/chunk-IE5L2QHV.js +0 -204
- package/dist/chunk-IE5L2QHV.js.map +0 -1
- package/dist/chunk-JPHORBTI.cjs +0 -366
- package/dist/chunk-JPHORBTI.cjs.map +0 -1
- package/dist/chunk-K4C5Z22R.js +0 -146
- package/dist/chunk-K4C5Z22R.js.map +0 -1
- package/dist/chunk-PAHR3D5L.js +0 -56
- package/dist/chunk-PAHR3D5L.js.map +0 -1
- package/dist/chunk-PE44UBFV.js +0 -324
- package/dist/chunk-PE44UBFV.js.map +0 -1
- package/dist/chunk-RNELVIKK.cjs +0 -1287
- package/dist/chunk-RNELVIKK.cjs.map +0 -1
- package/dist/chunk-S367Y35J.cjs +0 -39
- package/dist/chunk-S367Y35J.cjs.map +0 -1
- package/dist/chunk-ULLW73KN.cjs +0 -217
- package/dist/chunk-ULLW73KN.cjs.map +0 -1
- package/dist/chunk-UNYFAUWW.cjs +0 -630
- package/dist/chunk-UNYFAUWW.cjs.map +0 -1
- package/dist/chunk-V55QYTXF.js +0 -259
- package/dist/chunk-V55QYTXF.js.map +0 -1
- package/dist/chunk-WKVCFDEA.cjs +0 -599
- package/dist/chunk-WKVCFDEA.cjs.map +0 -1
- package/dist/chunk-YT4QVIBP.cjs +0 -292
- package/dist/chunk-YT4QVIBP.cjs.map +0 -1
- package/dist/cli/index.cjs +0 -155
- package/dist/cli/index.cjs.map +0 -1
- package/dist/cli/index.d.cts +0 -41
- package/dist/cli/index.js.map +0 -1
- package/dist/contracts/index.cjs +0 -37
- package/dist/contracts/index.cjs.map +0 -1
- package/dist/contracts/index.d.cts +0 -728
- package/dist/contracts/index.js.map +0 -1
- package/dist/core/index.cjs +0 -84
- package/dist/core/index.cjs.map +0 -1
- package/dist/core/index.d.cts +0 -329
- package/dist/core/index.js.map +0 -1
- package/dist/errors/index.cjs +0 -57
- package/dist/errors/index.cjs.map +0 -1
- package/dist/errors/index.d.cts +0 -96
- package/dist/errors/index.js.map +0 -1
- package/dist/extend-D57fwPSu.d.cts +0 -122
- package/dist/extend-D57fwPSu.d.ts +0 -122
- package/dist/extend-D_0wzsse.d.cts +0 -79
- package/dist/extend-D_0wzsse.d.ts +0 -79
- package/dist/extend-jcOQfU2G.d.cts +0 -162
- package/dist/extend-jcOQfU2G.d.ts +0 -162
- package/dist/feature-C8mVv66I.d.cts +0 -84
- package/dist/feature-C8mVv66I.d.ts +0 -84
- package/dist/feature-DENiK3vd.d.cts +0 -55
- package/dist/feature-DENiK3vd.d.ts +0 -55
- package/dist/feature-RWXQ_lnf.d.cts +0 -41
- package/dist/feature-RWXQ_lnf.d.ts +0 -41
- package/dist/features/about/index.cjs +0 -286
- package/dist/features/about/index.cjs.map +0 -1
- package/dist/features/about/index.d.cts +0 -42
- package/dist/features/about/index.js.map +0 -1
- package/dist/features/account/index.cjs +0 -1032
- package/dist/features/account/index.cjs.map +0 -1
- package/dist/features/account/index.d.cts +0 -555
- package/dist/features/account/index.js.map +0 -1
- package/dist/features/admin/index.cjs +0 -2747
- package/dist/features/admin/index.cjs.map +0 -1
- package/dist/features/admin/index.d.cts +0 -554
- package/dist/features/admin/index.js.map +0 -1
- package/dist/features/auctions/index.cjs +0 -1219
- package/dist/features/auctions/index.cjs.map +0 -1
- package/dist/features/auctions/index.d.cts +0 -513
- package/dist/features/auctions/index.js.map +0 -1
- package/dist/features/auth/index.cjs +0 -1897
- package/dist/features/auth/index.cjs.map +0 -1
- package/dist/features/auth/index.d.cts +0 -315
- package/dist/features/auth/index.js.map +0 -1
- package/dist/features/auth/server.cjs +0 -531
- package/dist/features/auth/server.cjs.map +0 -1
- package/dist/features/auth/server.d.cts +0 -24
- package/dist/features/auth/server.js.map +0 -1
- package/dist/features/before-after/index.cjs +0 -559
- package/dist/features/before-after/index.cjs.map +0 -1
- package/dist/features/before-after/index.d.cts +0 -128
- package/dist/features/before-after/index.js.map +0 -1
- package/dist/features/blog/index.cjs +0 -4088
- package/dist/features/blog/index.cjs.map +0 -1
- package/dist/features/blog/index.d.cts +0 -492
- package/dist/features/blog/index.js.map +0 -1
- package/dist/features/blog/server.cjs +0 -184
- package/dist/features/blog/server.cjs.map +0 -1
- package/dist/features/blog/server.d.cts +0 -74
- package/dist/features/blog/server.js.map +0 -1
- package/dist/features/cart/index.cjs +0 -1097
- package/dist/features/cart/index.cjs.map +0 -1
- package/dist/features/cart/index.d.cts +0 -451
- package/dist/features/cart/index.js.map +0 -1
- package/dist/features/categories/index.cjs +0 -2062
- package/dist/features/categories/index.cjs.map +0 -1
- package/dist/features/categories/index.d.cts +0 -461
- package/dist/features/categories/index.js.map +0 -1
- package/dist/features/categories/server.cjs +0 -796
- package/dist/features/categories/server.cjs.map +0 -1
- package/dist/features/categories/server.d.cts +0 -47
- package/dist/features/categories/server.js.map +0 -1
- package/dist/features/checkout/index.cjs +0 -200
- package/dist/features/checkout/index.cjs.map +0 -1
- package/dist/features/checkout/index.d.cts +0 -70
- package/dist/features/checkout/index.js.map +0 -1
- package/dist/features/cms/index.cjs +0 -5
- package/dist/features/cms/index.cjs.map +0 -1
- package/dist/features/cms/index.d.cts +0 -2
- package/dist/features/cms/index.js.map +0 -1
- package/dist/features/collections/index.cjs +0 -394
- package/dist/features/collections/index.cjs.map +0 -1
- package/dist/features/collections/index.d.cts +0 -148
- package/dist/features/collections/index.js.map +0 -1
- package/dist/features/consultation/index.cjs +0 -1099
- package/dist/features/consultation/index.cjs.map +0 -1
- package/dist/features/consultation/index.d.cts +0 -172
- package/dist/features/consultation/index.js.map +0 -1
- package/dist/features/contact/index.cjs +0 -593
- package/dist/features/contact/index.cjs.map +0 -1
- package/dist/features/contact/index.d.cts +0 -56
- package/dist/features/contact/index.js.map +0 -1
- package/dist/features/copilot/index.cjs +0 -688
- package/dist/features/copilot/index.cjs.map +0 -1
- package/dist/features/copilot/index.d.cts +0 -47
- package/dist/features/copilot/index.js.map +0 -1
- package/dist/features/corporate/index.cjs +0 -796
- package/dist/features/corporate/index.cjs.map +0 -1
- package/dist/features/corporate/index.d.cts +0 -183
- package/dist/features/corporate/index.js.map +0 -1
- package/dist/features/events/index.cjs +0 -1486
- package/dist/features/events/index.cjs.map +0 -1
- package/dist/features/events/index.d.cts +0 -841
- package/dist/features/events/index.js.map +0 -1
- package/dist/features/events/server.cjs +0 -199
- package/dist/features/events/server.cjs.map +0 -1
- package/dist/features/events/server.d.cts +0 -40
- package/dist/features/events/server.js.map +0 -1
- package/dist/features/faq/index.cjs +0 -1714
- package/dist/features/faq/index.cjs.map +0 -1
- package/dist/features/faq/index.d.cts +0 -619
- package/dist/features/faq/index.js.map +0 -1
- package/dist/features/filters/index.cjs +0 -1073
- package/dist/features/filters/index.cjs.map +0 -1
- package/dist/features/filters/index.d.cts +0 -136
- package/dist/features/filters/index.js.map +0 -1
- package/dist/features/forms/index.cjs +0 -936
- package/dist/features/forms/index.cjs.map +0 -1
- package/dist/features/forms/index.d.cts +0 -129
- package/dist/features/forms/index.js.map +0 -1
- package/dist/features/homepage/index.cjs +0 -6321
- package/dist/features/homepage/index.cjs.map +0 -1
- package/dist/features/homepage/index.d.cts +0 -846
- package/dist/features/homepage/index.js.map +0 -1
- package/dist/features/homepage/server.cjs +0 -1038
- package/dist/features/homepage/server.cjs.map +0 -1
- package/dist/features/homepage/server.d.cts +0 -121
- package/dist/features/homepage/server.js.map +0 -1
- package/dist/features/layout/index.cjs +0 -1766
- package/dist/features/layout/index.cjs.map +0 -1
- package/dist/features/layout/index.d.cts +0 -315
- package/dist/features/layout/index.js.map +0 -1
- package/dist/features/loyalty/index.cjs +0 -352
- package/dist/features/loyalty/index.cjs.map +0 -1
- package/dist/features/loyalty/index.d.cts +0 -174
- package/dist/features/loyalty/index.js.map +0 -1
- package/dist/features/media/index.cjs +0 -3620
- package/dist/features/media/index.cjs.map +0 -1
- package/dist/features/media/index.d.cts +0 -425
- package/dist/features/media/index.js.map +0 -1
- package/dist/features/orders/index.cjs +0 -882
- package/dist/features/orders/index.cjs.map +0 -1
- package/dist/features/orders/index.d.cts +0 -370
- package/dist/features/orders/index.js.map +0 -1
- package/dist/features/payments/index.cjs +0 -341
- package/dist/features/payments/index.cjs.map +0 -1
- package/dist/features/payments/index.d.cts +0 -141
- package/dist/features/payments/index.js.map +0 -1
- package/dist/features/pre-orders/index.cjs +0 -558
- package/dist/features/pre-orders/index.cjs.map +0 -1
- package/dist/features/pre-orders/index.d.cts +0 -170
- package/dist/features/pre-orders/index.js.map +0 -1
- package/dist/features/pre-orders/server.cjs +0 -111
- package/dist/features/pre-orders/server.cjs.map +0 -1
- package/dist/features/pre-orders/server.d.cts +0 -17
- package/dist/features/pre-orders/server.js.map +0 -1
- package/dist/features/products/index.cjs +0 -2513
- package/dist/features/products/index.cjs.map +0 -1
- package/dist/features/products/index.d.cts +0 -1066
- package/dist/features/products/index.js.map +0 -1
- package/dist/features/products/server.cjs +0 -809
- package/dist/features/products/server.cjs.map +0 -1
- package/dist/features/products/server.d.cts +0 -52
- package/dist/features/products/server.js.map +0 -1
- package/dist/features/promotions/index.cjs +0 -977
- package/dist/features/promotions/index.cjs.map +0 -1
- package/dist/features/promotions/index.d.cts +0 -301
- package/dist/features/promotions/index.js.map +0 -1
- package/dist/features/reviews/index.cjs +0 -2324
- package/dist/features/reviews/index.cjs.map +0 -1
- package/dist/features/reviews/index.d.cts +0 -434
- package/dist/features/reviews/index.js.map +0 -1
- package/dist/features/reviews/server.cjs +0 -776
- package/dist/features/reviews/server.cjs.map +0 -1
- package/dist/features/reviews/server.d.cts +0 -49
- package/dist/features/reviews/server.js.map +0 -1
- package/dist/features/search/index.cjs +0 -1368
- package/dist/features/search/index.cjs.map +0 -1
- package/dist/features/search/index.d.cts +0 -298
- package/dist/features/search/index.js.map +0 -1
- package/dist/features/search/server.cjs +0 -154
- package/dist/features/search/server.cjs.map +0 -1
- package/dist/features/search/server.d.cts +0 -83
- package/dist/features/search/server.js.map +0 -1
- package/dist/features/seller/index.cjs +0 -2086
- package/dist/features/seller/index.cjs.map +0 -1
- package/dist/features/seller/index.d.cts +0 -926
- package/dist/features/seller/index.js.map +0 -1
- package/dist/features/stores/index.cjs +0 -1942
- package/dist/features/stores/index.cjs.map +0 -1
- package/dist/features/stores/index.d.cts +0 -536
- package/dist/features/stores/index.js.map +0 -1
- package/dist/features/stores/server.cjs +0 -451
- package/dist/features/stores/server.cjs.map +0 -1
- package/dist/features/stores/server.d.cts +0 -106
- package/dist/features/stores/server.js.map +0 -1
- package/dist/features/whatsapp-bot/index.cjs +0 -168
- package/dist/features/whatsapp-bot/index.cjs.map +0 -1
- package/dist/features/whatsapp-bot/index.d.cts +0 -85
- package/dist/features/whatsapp-bot/index.js.map +0 -1
- package/dist/features/wishlist/index.cjs +0 -904
- package/dist/features/wishlist/index.cjs.map +0 -1
- package/dist/features/wishlist/index.d.cts +0 -360
- package/dist/features/wishlist/index.js.map +0 -1
- package/dist/http/index.cjs +0 -21
- package/dist/http/index.cjs.map +0 -1
- package/dist/http/index.d.cts +0 -61
- package/dist/http/index.js.map +0 -1
- package/dist/index-B6T9NNcG.d.cts +0 -9
- package/dist/index-B6T9NNcG.d.ts +0 -9
- package/dist/index-CakUKzrE.d.cts +0 -10
- package/dist/index-CakUKzrE.d.ts +0 -10
- package/dist/index-D0Fxv9Z8.d.cts +0 -32
- package/dist/index-D0Fxv9Z8.d.ts +0 -32
- package/dist/index-Dh42RtMY.d.cts +0 -54
- package/dist/index-Dh42RtMY.d.ts +0 -54
- package/dist/index.cjs +0 -1182
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -17
- package/dist/index.js.map +0 -1
- package/dist/instrumentation/index.cjs +0 -17
- package/dist/instrumentation/index.cjs.map +0 -1
- package/dist/instrumentation/index.d.cts +0 -66
- package/dist/instrumentation/index.js.map +0 -1
- package/dist/monitoring/index.cjs +0 -141
- package/dist/monitoring/index.cjs.map +0 -1
- package/dist/monitoring/index.d.cts +0 -181
- package/dist/monitoring/index.js.map +0 -1
- package/dist/next/index.cjs +0 -693
- package/dist/next/index.cjs.map +0 -1
- package/dist/next/index.d.cts +0 -777
- package/dist/next/index.js.map +0 -1
- package/dist/providers/auth-firebase/index.cjs +0 -400
- package/dist/providers/auth-firebase/index.cjs.map +0 -1
- package/dist/providers/auth-firebase/index.d.cts +0 -137
- package/dist/providers/auth-firebase/index.js.map +0 -1
- package/dist/providers/db-firebase/index.cjs +0 -533
- package/dist/providers/db-firebase/index.cjs.map +0 -1
- package/dist/providers/db-firebase/index.d.cts +0 -265
- package/dist/providers/db-firebase/index.js.map +0 -1
- package/dist/providers/email-resend/index.cjs +0 -58
- package/dist/providers/email-resend/index.cjs.map +0 -1
- package/dist/providers/email-resend/index.d.cts +0 -73
- package/dist/providers/email-resend/index.js.map +0 -1
- package/dist/providers/payment-razorpay/index.cjs +0 -111
- package/dist/providers/payment-razorpay/index.cjs.map +0 -1
- package/dist/providers/payment-razorpay/index.d.cts +0 -96
- package/dist/providers/payment-razorpay/index.js.map +0 -1
- package/dist/providers/search-algolia/index.cjs +0 -301
- package/dist/providers/search-algolia/index.cjs.map +0 -1
- package/dist/providers/search-algolia/index.d.cts +0 -251
- package/dist/providers/search-algolia/index.d.ts +0 -251
- package/dist/providers/search-algolia/index.js +0 -280
- package/dist/providers/search-algolia/index.js.map +0 -1
- package/dist/providers/shipping-shiprocket/index.cjs +0 -147
- package/dist/providers/shipping-shiprocket/index.cjs.map +0 -1
- package/dist/providers/shipping-shiprocket/index.d.cts +0 -236
- package/dist/providers/shipping-shiprocket/index.js.map +0 -1
- package/dist/providers/storage-firebase/index.cjs +0 -176
- package/dist/providers/storage-firebase/index.cjs.map +0 -1
- package/dist/providers/storage-firebase/index.d.cts +0 -53
- package/dist/providers/storage-firebase/index.js.map +0 -1
- package/dist/react/index.cjs +0 -1687
- package/dist/react/index.cjs.map +0 -1
- package/dist/react/index.d.cts +0 -788
- package/dist/react/index.js.map +0 -1
- package/dist/repository-BO60jtdT.d.cts +0 -61
- package/dist/repository-BO60jtdT.d.ts +0 -61
- package/dist/repository-jKU_Ji1P.d.cts +0 -44
- package/dist/repository-jKU_Ji1P.d.ts +0 -44
- package/dist/security/index.cjs +0 -138
- package/dist/security/index.cjs.map +0 -1
- package/dist/security/index.d.cts +0 -309
- package/dist/security/index.js.map +0 -1
- package/dist/seed/index.cjs +0 -1085
- package/dist/seed/index.cjs.map +0 -1
- package/dist/seed/index.d.cts +0 -397
- package/dist/seed/index.js.map +0 -1
- package/dist/seo/index.cjs +0 -81
- package/dist/seo/index.cjs.map +0 -1
- package/dist/seo/index.d.cts +0 -150
- package/dist/seo/index.js.map +0 -1
- package/dist/style/tailwind/index.cjs +0 -40
- package/dist/style/tailwind/index.cjs.map +0 -1
- package/dist/style/tailwind/index.d.cts +0 -34
- package/dist/style/tailwind/index.js.map +0 -1
- package/dist/style/vanilla/index.cjs +0 -40
- package/dist/style/vanilla/index.cjs.map +0 -1
- package/dist/style/vanilla/index.d.cts +0 -26
- package/dist/style/vanilla/index.js.map +0 -1
- package/dist/style-BSlM-eWG.d.cts +0 -25
- package/dist/style-BSlM-eWG.d.ts +0 -25
- package/dist/tokens/index.cjs +0 -45
- package/dist/tokens/index.cjs.map +0 -1
- package/dist/tokens/index.d.cts +0 -734
- package/dist/tokens/index.js.map +0 -1
- package/dist/ui/index.cjs +0 -4870
- package/dist/ui/index.cjs.map +0 -1
- package/dist/ui/index.d.cts +0 -1644
- package/dist/ui/index.js.map +0 -1
- package/dist/utils/index.cjs +0 -505
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.d.cts +0 -545
- package/dist/utils/index.js.map +0 -1
- package/dist/validation/index.cjs +0 -153
- package/dist/validation/index.cjs.map +0 -1
- package/dist/validation/index.d.cts +0 -126
- package/dist/validation/index.js.map +0 -1
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
import { App } from 'firebase-admin/app';
|
|
2
|
-
import { Auth } from 'firebase-admin/auth';
|
|
3
|
-
import { Firestore, DocumentData, CollectionReference, DocumentSnapshot, Query } from 'firebase-admin/firestore';
|
|
4
|
-
import { Storage } from 'firebase-admin/storage';
|
|
5
|
-
import * as firebase_admin_database from 'firebase-admin/database';
|
|
6
|
-
import { Database } from 'firebase-admin/database';
|
|
7
|
-
import * as _firebase_database_types from '@firebase/database-types';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Firebase Admin SDK singletons.
|
|
11
|
-
*
|
|
12
|
-
* Supports two init methods (checked in order):
|
|
13
|
-
* 1. `firebase-admin-key.json` in process.cwd() — development
|
|
14
|
-
* 2. FIREBASE_ADMIN_PROJECT_ID / CLIENT_EMAIL / PRIVATE_KEY env vars — production
|
|
15
|
-
*
|
|
16
|
-
* All getters are lazy — the SDK is not touched until first use.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
declare global {
|
|
20
|
-
var __mohasinac_firebase_admin_app__: App | null | undefined;
|
|
21
|
-
var __mohasinac_firebase_admin_auth__: Auth | null | undefined;
|
|
22
|
-
var __mohasinac_firebase_admin_db__: Firestore | null | undefined;
|
|
23
|
-
var __mohasinac_firebase_admin_storage__: Storage | null | undefined;
|
|
24
|
-
var __mohasinac_firebase_admin_rtdb__: Database | null | undefined;
|
|
25
|
-
}
|
|
26
|
-
declare function getAdminApp(): App;
|
|
27
|
-
declare function getAdminAuth(): Auth;
|
|
28
|
-
declare function getAdminDb(): Firestore;
|
|
29
|
-
declare function getAdminStorage(): Storage;
|
|
30
|
-
declare function getAdminRealtimeDb(): Database;
|
|
31
|
-
/** Reset all singletons — useful in tests. */
|
|
32
|
-
declare function _resetAdminSingletons(): void;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Firestore serialisation helpers.
|
|
36
|
-
*
|
|
37
|
-
* These utilities are the single adapter boundary between raw Firestore
|
|
38
|
-
* documents and application-level objects.
|
|
39
|
-
*/
|
|
40
|
-
/**
|
|
41
|
-
* Recursively remove `undefined` values from an object.
|
|
42
|
-
* Firestore rejects writes that contain `undefined` fields.
|
|
43
|
-
*/
|
|
44
|
-
declare function removeUndefined<T extends Record<string, unknown>>(obj: T): Partial<T>;
|
|
45
|
-
/**
|
|
46
|
-
* Strip `undefined` values before any Firestore write.
|
|
47
|
-
* Call this on every `create()` / `update()` payload.
|
|
48
|
-
*/
|
|
49
|
-
declare function prepareForFirestore<T extends Record<string, unknown>>(data: T): Partial<T>;
|
|
50
|
-
/**
|
|
51
|
-
* Recursively convert Firestore `Timestamp` instances to plain `Date` objects.
|
|
52
|
-
*
|
|
53
|
-
* React Server Components cannot serialise Firestore `Timestamp` class instances
|
|
54
|
-
* to Client Components. `Date` objects are serialised as ISO strings.
|
|
55
|
-
*/
|
|
56
|
-
declare function deserializeTimestamps<T>(obj: T): T;
|
|
57
|
-
|
|
58
|
-
/** Field comparison operators supported by Sieve-style query strings. */
|
|
59
|
-
type WhereOp = "==" | "!=" | "<" | "<=" | ">" | ">=" | "array-contains" | "in" | "not-in" | "array-contains-any";
|
|
60
|
-
/**
|
|
61
|
-
* Provider-agnostic query descriptor.
|
|
62
|
-
* `filters` uses Sieve syntax: "field==value,field2>value2"
|
|
63
|
-
* DB adapters translate this into native query predicates.
|
|
64
|
-
*/
|
|
65
|
-
interface SieveQuery {
|
|
66
|
-
/** Sieve filter string, e.g. "status==published,price>100" */
|
|
67
|
-
filters?: string;
|
|
68
|
-
/** Field name to sort by */
|
|
69
|
-
sort?: string;
|
|
70
|
-
/** Sort direction (default: "asc") */
|
|
71
|
-
order?: "asc" | "desc";
|
|
72
|
-
/** 1-based page number (default: 1) */
|
|
73
|
-
page?: number;
|
|
74
|
-
/** Items per page (default: 20) */
|
|
75
|
-
perPage?: number;
|
|
76
|
-
}
|
|
77
|
-
/** Paginated result envelope returned by IReadRepository.findAll() */
|
|
78
|
-
interface PagedResult<T> {
|
|
79
|
-
data: T[];
|
|
80
|
-
total: number;
|
|
81
|
-
page: number;
|
|
82
|
-
perPage: number;
|
|
83
|
-
totalPages: number;
|
|
84
|
-
}
|
|
85
|
-
interface IReadRepository<T> {
|
|
86
|
-
findById(id: string): Promise<T | null>;
|
|
87
|
-
findAll(query?: SieveQuery): Promise<PagedResult<T>>;
|
|
88
|
-
findWhere(field: keyof T, op: WhereOp, value: unknown): Promise<T[]>;
|
|
89
|
-
}
|
|
90
|
-
interface IWriteRepository<T> {
|
|
91
|
-
create(data: Omit<T, "id" | "createdAt" | "updatedAt">): Promise<T>;
|
|
92
|
-
update(id: string, data: Partial<T>): Promise<T>;
|
|
93
|
-
delete(id: string): Promise<void>;
|
|
94
|
-
batchCreate(items: Array<Omit<T, "id" | "createdAt" | "updatedAt">>): Promise<T[]>;
|
|
95
|
-
batchDelete(ids: string[]): Promise<void>;
|
|
96
|
-
}
|
|
97
|
-
/** Full CRUD repository — combines read + write. */
|
|
98
|
-
interface IRepository<T> extends IReadRepository<T>, IWriteRepository<T> {
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Repository with real-time subscription support (e.g. Firestore RTDB).
|
|
102
|
-
* Returns an unsubscribe function from both subscribe methods.
|
|
103
|
-
*/
|
|
104
|
-
interface IRealtimeRepository<T> extends IRepository<T> {
|
|
105
|
-
subscribe(id: string, cb: (data: T | null) => void): () => void;
|
|
106
|
-
subscribeWhere(field: keyof T, value: unknown, cb: (items: T[]) => void): () => void;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Database provider — creates IRepository<T> instances on demand.
|
|
110
|
-
* Registered once in providers.config.ts; feature packages call
|
|
111
|
-
* `getProviders().db.getRepository<T>(collection)` so they never
|
|
112
|
-
* import a concrete adapter (FirebaseRepository, PrismaRepository, …).
|
|
113
|
-
*/
|
|
114
|
-
interface IDbProvider {
|
|
115
|
-
getRepository<T>(collection: string): IRepository<T>;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* FirebaseRepository<T>
|
|
120
|
-
*
|
|
121
|
-
* Generic abstract base class implementing `IRepository<T>` from
|
|
122
|
-
* `@mohasinac/contracts` against Firebase Firestore (Admin SDK).
|
|
123
|
-
*
|
|
124
|
-
* Usage:
|
|
125
|
-
* ```ts
|
|
126
|
-
* import { FirebaseRepository } from "@mohasinac/db-firebase";
|
|
127
|
-
* import type { Product } from "@/types";
|
|
128
|
-
*
|
|
129
|
-
* export class ProductRepository extends FirebaseRepository<Product> {
|
|
130
|
-
* constructor() { super("products"); }
|
|
131
|
-
* }
|
|
132
|
-
* ```
|
|
133
|
-
*
|
|
134
|
-
* `findAll(query?)` maps the provider-agnostic `SieveQuery` from
|
|
135
|
-
* `@mohasinac/contracts` to Firestore native queries (no in-memory fan-out).
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
declare class FirebaseRepository<T extends DocumentData> implements IRepository<T> {
|
|
139
|
-
protected readonly collection: string;
|
|
140
|
-
constructor(collectionName: string);
|
|
141
|
-
protected get db(): Firestore;
|
|
142
|
-
protected getCollection(): CollectionReference;
|
|
143
|
-
/** Single adapter boundary: DocumentSnapshot → typed entity. */
|
|
144
|
-
protected mapDoc<D = T>(snap: DocumentSnapshot): D;
|
|
145
|
-
findById(id: string): Promise<T | null>;
|
|
146
|
-
findAll(query?: SieveQuery): Promise<PagedResult<T>>;
|
|
147
|
-
findWhere(field: keyof T, op: WhereOp, value: unknown): Promise<T[]>;
|
|
148
|
-
create(data: Omit<T, "id" | "createdAt" | "updatedAt">): Promise<T>;
|
|
149
|
-
update(id: string, data: Partial<T>): Promise<T>;
|
|
150
|
-
delete(id: string): Promise<void>;
|
|
151
|
-
batchCreate(items: Array<Omit<T, "id" | "createdAt" | "updatedAt">>): Promise<T[]>;
|
|
152
|
-
batchDelete(ids: string[]): Promise<void>;
|
|
153
|
-
/** Find by ID or throw `Error` with a descriptive message. */
|
|
154
|
-
findByIdOrFail(id: string): Promise<T>;
|
|
155
|
-
/** Find first document where `field == value`. */
|
|
156
|
-
findOneBy(field: string, value: unknown): Promise<T | null>;
|
|
157
|
-
/** Count all documents in the collection. */
|
|
158
|
-
count(): Promise<number>;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* FirebaseSieveRepository<T>
|
|
163
|
-
*
|
|
164
|
-
* Extends `FirebaseRepository<T>` with a full Sieve DSL query (filters, sorts,
|
|
165
|
-
* page, pageSize) pushed entirely to Firestore — no in-memory iteration.
|
|
166
|
-
*
|
|
167
|
-
* Uses `@mohasinac/sievejs` for parsing the Sieve filter / sort grammar.
|
|
168
|
-
*
|
|
169
|
-
* Usage in subclasses:
|
|
170
|
-
* ```ts
|
|
171
|
-
* async list(model: SieveModel, baseQuery?: CollectionReference | Query) {
|
|
172
|
-
* return this.sieveQuery<ProductDocument>(model, {
|
|
173
|
-
* title: { canFilter: true, canSort: true },
|
|
174
|
-
* price: { canFilter: true, canSort: true },
|
|
175
|
-
* createdAt: { canFilter: true, canSort: true },
|
|
176
|
-
* }, { baseQuery });
|
|
177
|
-
* }
|
|
178
|
-
* ```
|
|
179
|
-
*/
|
|
180
|
-
|
|
181
|
-
type SieveFieldConfig = {
|
|
182
|
-
/** Override the Firestore document field name. Defaults to the key name. */
|
|
183
|
-
path?: string;
|
|
184
|
-
canFilter?: boolean;
|
|
185
|
-
canSort?: boolean;
|
|
186
|
-
};
|
|
187
|
-
type SieveFields = Record<string, SieveFieldConfig>;
|
|
188
|
-
interface SieveModel {
|
|
189
|
-
/** Comma-delimited filter expressions, e.g. `status==published,price>=100` */
|
|
190
|
-
filters?: string;
|
|
191
|
-
/** Comma-delimited sort fields, `-` prefix = descending, e.g. `-createdAt,title` */
|
|
192
|
-
sorts?: string;
|
|
193
|
-
page?: number | string;
|
|
194
|
-
pageSize?: number | string;
|
|
195
|
-
}
|
|
196
|
-
interface SieveOptions {
|
|
197
|
-
caseSensitive?: boolean;
|
|
198
|
-
defaultPageSize?: number;
|
|
199
|
-
maxPageSize?: number;
|
|
200
|
-
throwExceptions?: boolean;
|
|
201
|
-
}
|
|
202
|
-
interface SieveResult<T> {
|
|
203
|
-
items: T[];
|
|
204
|
-
total: number;
|
|
205
|
-
page: number;
|
|
206
|
-
pageSize: number;
|
|
207
|
-
totalPages: number;
|
|
208
|
-
hasMore: boolean;
|
|
209
|
-
}
|
|
210
|
-
declare abstract class FirebaseSieveRepository<T extends DocumentData> extends FirebaseRepository<T> {
|
|
211
|
-
/**
|
|
212
|
-
* Run a Sieve DSL query against Firestore at the DB layer.
|
|
213
|
-
*
|
|
214
|
-
* @param model Parsed from HTTP query-string params.
|
|
215
|
-
* @param fields Per-field filter / sort allowlist.
|
|
216
|
-
* @param options Override defaults or supply a pre-filtered `baseQuery`.
|
|
217
|
-
*/
|
|
218
|
-
protected sieveQuery<TResult extends DocumentData = T>(model: SieveModel, fields: SieveFields, options?: SieveOptions & {
|
|
219
|
-
baseQuery?: CollectionReference | Query;
|
|
220
|
-
}): Promise<SieveResult<TResult>>;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
declare abstract class FirebaseRealtimeRepository<T extends DocumentData> implements IRealtimeRepository<T> {
|
|
224
|
-
protected readonly path: string;
|
|
225
|
-
constructor(rtdbPath: string);
|
|
226
|
-
protected get rtdb(): firebase_admin_database.Database;
|
|
227
|
-
protected nodeRef(id?: string): _firebase_database_types.Reference;
|
|
228
|
-
findById(id: string): Promise<T | null>;
|
|
229
|
-
findAll(query?: SieveQuery): Promise<PagedResult<T>>;
|
|
230
|
-
findWhere(field: keyof T, _op: WhereOp, value: unknown): Promise<T[]>;
|
|
231
|
-
create(data: Omit<T, "id" | "createdAt" | "updatedAt">): Promise<T>;
|
|
232
|
-
update(id: string, data: Partial<T>): Promise<T>;
|
|
233
|
-
delete(id: string): Promise<void>;
|
|
234
|
-
batchCreate(items: Array<Omit<T, "id" | "createdAt" | "updatedAt">>): Promise<T[]>;
|
|
235
|
-
batchDelete(ids: string[]): Promise<void>;
|
|
236
|
-
/**
|
|
237
|
-
* Subscribe to a single RTDB node.
|
|
238
|
-
* Returns an unsubscribe function.
|
|
239
|
-
*
|
|
240
|
-
* NOTE: The Admin SDK `onValue` callback runs in-process but is not browser-side.
|
|
241
|
-
* For browser real-time, use the client SDK directly.
|
|
242
|
-
*/
|
|
243
|
-
subscribe(id: string, cb: (data: T | null) => void): () => void;
|
|
244
|
-
subscribeWhere(field: keyof T, value: unknown, cb: (items: T[]) => void): () => void;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* @mohasinac/db-firebase
|
|
249
|
-
*
|
|
250
|
-
* Firebase Firestore + Realtime DB implementation of the repository contracts.
|
|
251
|
-
*
|
|
252
|
-
* @example
|
|
253
|
-
* ```ts
|
|
254
|
-
* import { FirebaseRepository } from "@mohasinac/db-firebase";
|
|
255
|
-
* import type { Product } from "@/types";
|
|
256
|
-
*
|
|
257
|
-
* export class ProductRepository extends FirebaseRepository<Product> {
|
|
258
|
-
* constructor() { super("products"); }
|
|
259
|
-
* }
|
|
260
|
-
* ```
|
|
261
|
-
*/
|
|
262
|
-
|
|
263
|
-
declare const firebaseDbProvider: IDbProvider;
|
|
264
|
-
|
|
265
|
-
export { FirebaseRealtimeRepository, FirebaseRepository, FirebaseSieveRepository, type SieveFieldConfig, type SieveFields, type SieveModel, type SieveOptions, type SieveResult, _resetAdminSingletons, deserializeTimestamps, firebaseDbProvider, getAdminApp, getAdminAuth, getAdminDb, getAdminRealtimeDb, getAdminStorage, prepareForFirestore, removeUndefined };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/db-firebase/admin.ts","../../../src/providers/db-firebase/helpers.ts","../../../src/providers/db-firebase/base.ts","../../../src/providers/db-firebase/sieve.ts","../../../src/providers/db-firebase/realtime.ts","../../../src/providers/db-firebase/index.ts"],"names":["getFirebaseStorage"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Firebase Admin SDK singletons.\n *\n * Supports two init methods (checked in order):\n * 1. `firebase-admin-key.json` in process.cwd() — development\n * 2. FIREBASE_ADMIN_PROJECT_ID / CLIENT_EMAIL / PRIVATE_KEY env vars — production\n *\n * All getters are lazy — the SDK is not touched until first use.\n */\n\nimport { initializeApp, getApps, cert, type App } from \"firebase-admin/app\";\nimport { getAuth, type Auth } from \"firebase-admin/auth\";\nimport { getFirestore, type Firestore } from \"firebase-admin/firestore\";\nimport {\n getStorage as getFirebaseStorage,\n type Storage,\n} from \"firebase-admin/storage\";\nimport { getDatabase, type Database } from \"firebase-admin/database\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\n// ─── Private key normalisation ────────────────────────────────────────────────\n//\n// Vercel (and other platforms) can store the private key in several formats:\n// 1. Literal \\n sequences (common — copied from JSON value)\n// 2. Real newlines (set via CLI / multiline input)\n// 3. Windows \\r\\n endings (copied on Windows)\n// 4. Wrapped in double-quotes (pasted with JSON quotes intact)\n//\n// OpenSSL 3 (Node 18+) rejects malformed PEM — ensure the key is normalised\n// before passing it to `cert()`.\n//\nfunction parsePrivateKey(raw: string): string {\n return raw\n .replace(/^[\"']|[\"']$/g, \"\") // strip optional surrounding quotes\n .replace(/\\\\n/g, \"\\n\") // literal \\n → real newline\n .replace(/\\r\\n/g, \"\\n\") // Windows CRLF → LF\n .trim();\n}\n\n// ─── Global singletons ────────────────────────────────────────────────────────\n// Stored on globalThis so all module instances (pnpm deduplication may create\n// multiple copies of this package in the same process) share one SDK instance.\n\ndeclare global {\n // eslint-disable-next-line no-var\n var __mohasinac_firebase_admin_app__: App | null | undefined;\n // eslint-disable-next-line no-var\n var __mohasinac_firebase_admin_auth__: Auth | null | undefined;\n // eslint-disable-next-line no-var\n var __mohasinac_firebase_admin_db__: Firestore | null | undefined;\n // eslint-disable-next-line no-var\n var __mohasinac_firebase_admin_storage__: Storage | null | undefined;\n // eslint-disable-next-line no-var\n var __mohasinac_firebase_admin_rtdb__: Database | null | undefined;\n}\n\nfunction get<T>(key: keyof typeof globalThis): T | null {\n return (globalThis[key] as T | null | undefined) ?? null;\n}\nfunction set<T>(key: keyof typeof globalThis, value: T): void {\n (globalThis as Record<string, unknown>)[key] = value;\n}\n\n// ─── App ──────────────────────────────────────────────────────────────────────\n\nexport function getAdminApp(): App {\n const cached = get<App>(\"__mohasinac_firebase_admin_app__\");\n if (cached) return cached;\n\n if (getApps().length) {\n const existing = getApps()[0];\n set(\"__mohasinac_firebase_admin_app__\", existing);\n return existing;\n }\n\n const keyPath = path.join(process.cwd(), \"firebase-admin-key.json\");\n let app: App;\n\n try {\n if (fs.existsSync(keyPath)) {\n const sa = JSON.parse(fs.readFileSync(keyPath, \"utf8\"));\n const dbUrl =\n process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL ??\n `https://${sa.project_id}-default-rtdb.firebaseio.com`;\n\n app = initializeApp({ credential: cert(keyPath), databaseURL: dbUrl });\n } else if (\n process.env.FIREBASE_ADMIN_PROJECT_ID &&\n process.env.FIREBASE_ADMIN_CLIENT_EMAIL &&\n process.env.FIREBASE_ADMIN_PRIVATE_KEY\n ) {\n const projectId = process.env.FIREBASE_ADMIN_PROJECT_ID.trim();\n const dbUrl =\n process.env.FIREBASE_ADMIN_DATABASE_URL?.trim() ??\n process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL?.trim() ??\n `https://${projectId}-default-rtdb.firebaseio.com`;\n\n app = initializeApp({\n credential: cert({\n projectId,\n clientEmail: process.env.FIREBASE_ADMIN_CLIENT_EMAIL.trim(),\n privateKey: parsePrivateKey(process.env.FIREBASE_ADMIN_PRIVATE_KEY),\n }),\n databaseURL: dbUrl,\n });\n } else {\n throw new Error(\n \"@mohasinac/db-firebase: Firebase Admin credentials not found.\\n\" +\n \"Add firebase-admin-key.json to project root, or set \" +\n \"FIREBASE_ADMIN_PROJECT_ID, FIREBASE_ADMIN_CLIENT_EMAIL, \" +\n \"FIREBASE_ADMIN_PRIVATE_KEY environment variables.\",\n );\n }\n } catch (err) {\n console.error(\n \"[@mohasinac/db-firebase] Failed to initialise Admin SDK:\",\n err,\n );\n throw err;\n }\n\n set(\"__mohasinac_firebase_admin_app__\", app);\n return app;\n}\n\n// ─── Auth ─────────────────────────────────────────────────────────────────────\n\nexport function getAdminAuth(): Auth {\n const cached = get<Auth>(\"__mohasinac_firebase_admin_auth__\");\n if (cached) return cached;\n const auth = getAuth(getAdminApp());\n set(\"__mohasinac_firebase_admin_auth__\", auth);\n return auth;\n}\n\n// ─── Firestore ────────────────────────────────────────────────────────────────\n\nexport function getAdminDb(): Firestore {\n const cached = get<Firestore>(\"__mohasinac_firebase_admin_db__\");\n if (cached) return cached;\n const db = getFirestore(getAdminApp());\n try {\n // settings() can only be called once per Firestore instance — guard for\n // HMR reloads and duplicate module instances.\n db.settings({ ignoreUndefinedProperties: true });\n } catch {\n // Already configured — safe to ignore.\n }\n set(\"__mohasinac_firebase_admin_db__\", db);\n return db;\n}\n\n// ─── Cloud Storage ────────────────────────────────────────────────────────────\n\nexport function getAdminStorage(): Storage {\n const cached = get<Storage>(\"__mohasinac_firebase_admin_storage__\");\n if (cached) return cached;\n const storage = getFirebaseStorage(getAdminApp());\n set(\"__mohasinac_firebase_admin_storage__\", storage);\n return storage;\n}\n\n// ─── Realtime DB ──────────────────────────────────────────────────────────────\n\nexport function getAdminRealtimeDb(): Database {\n const cached = get<Database>(\"__mohasinac_firebase_admin_rtdb__\");\n if (cached) return cached;\n const rtdb = getDatabase(getAdminApp());\n set(\"__mohasinac_firebase_admin_rtdb__\", rtdb);\n return rtdb;\n}\n\n/** Reset all singletons — useful in tests. */\nexport function _resetAdminSingletons(): void {\n set(\"__mohasinac_firebase_admin_app__\", null);\n set(\"__mohasinac_firebase_admin_auth__\", null);\n set(\"__mohasinac_firebase_admin_db__\", null);\n set(\"__mohasinac_firebase_admin_storage__\", null);\n set(\"__mohasinac_firebase_admin_rtdb__\", null);\n}\n","/**\n * Firestore serialisation helpers.\n *\n * These utilities are the single adapter boundary between raw Firestore\n * documents and application-level objects.\n */\n\n// ─── Undefined removal ────────────────────────────────────────────────────────\n\n/**\n * Recursively remove `undefined` values from an object.\n * Firestore rejects writes that contain `undefined` fields.\n */\nexport function removeUndefined<T extends Record<string, unknown>>(\n obj: T,\n): Partial<T> {\n const result: Record<string, unknown> = {};\n\n for (const key of Object.keys(obj)) {\n const value = obj[key];\n if (value === undefined) continue;\n\n if (\n value !== null &&\n typeof value === \"object\" &&\n !Array.isArray(value) &&\n !(value instanceof Date) &&\n !(\n value as { constructor?: { name?: string } }\n ).constructor?.name?.includes(\"Timestamp\")\n ) {\n const cleaned = removeUndefined(value as Record<string, unknown>);\n if (Object.keys(cleaned).length > 0) {\n result[key] = cleaned;\n }\n } else {\n result[key] = value;\n }\n }\n\n return result as Partial<T>;\n}\n\n/**\n * Strip `undefined` values before any Firestore write.\n * Call this on every `create()` / `update()` payload.\n */\nexport function prepareForFirestore<T extends Record<string, unknown>>(\n data: T,\n): Partial<T> {\n return removeUndefined(data);\n}\n\n// ─── Timestamp deserialisation ────────────────────────────────────────────────\n\n/**\n * Recursively convert Firestore `Timestamp` instances to plain `Date` objects.\n *\n * React Server Components cannot serialise Firestore `Timestamp` class instances\n * to Client Components. `Date` objects are serialised as ISO strings.\n */\nexport function deserializeTimestamps<T>(obj: T): T {\n if (obj === null || obj === undefined) return obj;\n\n // Firestore Timestamp — has .toDate() but is not a plain Date\n if (\n typeof obj === \"object\" &&\n !(obj instanceof Date) &&\n typeof (obj as { toDate?: unknown }).toDate === \"function\"\n ) {\n return (obj as unknown as { toDate(): Date }).toDate() as unknown as T;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(deserializeTimestamps) as unknown as T;\n }\n\n if (typeof obj === \"object\" && !(obj instanceof Date)) {\n return Object.fromEntries(\n Object.entries(obj as object).map(([k, v]) => [\n k,\n deserializeTimestamps(v),\n ]),\n ) as unknown as T;\n }\n\n return obj;\n}\n","/**\n * FirebaseRepository<T>\n *\n * Generic abstract base class implementing `IRepository<T>` from\n * `@mohasinac/contracts` against Firebase Firestore (Admin SDK).\n *\n * Usage:\n * ```ts\n * import { FirebaseRepository } from \"@mohasinac/db-firebase\";\n * import type { Product } from \"@/types\";\n *\n * export class ProductRepository extends FirebaseRepository<Product> {\n * constructor() { super(\"products\"); }\n * }\n * ```\n *\n * `findAll(query?)` maps the provider-agnostic `SieveQuery` from\n * `@mohasinac/contracts` to Firestore native queries (no in-memory fan-out).\n */\n\nimport type {\n CollectionReference,\n DocumentData,\n DocumentSnapshot,\n Firestore,\n Query,\n WriteBatch,\n} from \"firebase-admin/firestore\";\nimport type {\n IRepository,\n PagedResult,\n SieveQuery,\n WhereOp,\n} from \"@mohasinac/contracts\";\nimport { getAdminDb } from \"./admin.js\";\nimport { prepareForFirestore, deserializeTimestamps } from \"./helpers.js\";\n\nexport class FirebaseRepository<\n T extends DocumentData,\n> implements IRepository<T> {\n protected readonly collection: string;\n\n constructor(collectionName: string) {\n this.collection = collectionName;\n }\n\n // ── Internals ──────────────────────────────────────────────────────────────\n\n protected get db(): Firestore {\n return getAdminDb();\n }\n\n protected getCollection(): CollectionReference {\n return this.db.collection(this.collection);\n }\n\n /** Single adapter boundary: DocumentSnapshot → typed entity. */\n protected mapDoc<D = T>(snap: DocumentSnapshot): D {\n return deserializeTimestamps({\n id: snap.id,\n ...(snap.data() ?? {}),\n }) as unknown as D;\n }\n\n // ── IReadRepository ────────────────────────────────────────────────────────\n\n async findById(id: string): Promise<T | null> {\n const snap = await this.getCollection().doc(id).get();\n if (!snap.exists) return null;\n return this.mapDoc(snap);\n }\n\n async findAll(query?: SieveQuery): Promise<PagedResult<T>> {\n const page = Math.max(1, query?.page ?? 1);\n const perPage = Math.max(1, Math.min(query?.perPage ?? 20, 500));\n\n let q: Query = this.getCollection();\n\n // ── Sort ──────────────────────────────────────────────────────────────────\n // SieveQuery.sort supports a leading \"-\" prefix for descending order\n // (e.g. \"-createdAt\" means ORDER BY createdAt DESC).\n if (query?.sort) {\n const rawSort = query.sort;\n const descPrefix = rawSort.startsWith(\"-\");\n const sortField = descPrefix ? rawSort.slice(1) : rawSort;\n const sortDir = descPrefix\n ? \"desc\"\n : query.order === \"desc\"\n ? \"desc\"\n : \"asc\";\n q = q.orderBy(sortField, sortDir);\n }\n\n // ── Basic Sieve filter parsing ────────────────────────────────────────────\n // Supports: ==, !=, <, <=, >, >=, @= (array-contains)\n if (query?.filters) {\n const clauses = query.filters\n .split(\",\")\n .map((s) => s.trim())\n .filter(Boolean);\n for (const clause of clauses) {\n const match = clause.match(\n /^([^<>=!@]+)\\s*(==|!=|<=|>=|<|>|@=)\\s*(.+)$/,\n );\n if (!match) continue;\n const [, fieldRaw, opToken, valueRaw] = match;\n const field = fieldRaw.trim();\n const op = TOKEN_TO_OP[opToken.trim()] ?? \"==\";\n const value = coerceValue(valueRaw.trim());\n q = (q as Query).where(field, op, value);\n }\n }\n\n // ── Count ─────────────────────────────────────────────────────────────────\n const countSnap = await q.count().get();\n const total: number = countSnap.data().count;\n\n // ── Paginate ──────────────────────────────────────────────────────────────\n const offset = (page - 1) * perPage;\n const pagedSnap = await q.offset(offset).limit(perPage).get();\n\n const data = pagedSnap.docs.map((d) => this.mapDoc(d));\n const totalPages =\n total === 0 ? 0 : Math.max(1, Math.ceil(total / perPage));\n\n return { data, total, page, perPage, totalPages };\n }\n\n async findWhere(field: keyof T, op: WhereOp, value: unknown): Promise<T[]> {\n const snap = await (this.getCollection() as Query)\n .where(field as string, op, value)\n .get();\n return snap.docs.map((d) => this.mapDoc(d));\n }\n\n // ── IWriteRepository ───────────────────────────────────────────────────────\n\n async create(data: Omit<T, \"id\" | \"createdAt\" | \"updatedAt\">): Promise<T> {\n const now = new Date();\n const payload = prepareForFirestore({\n ...(data as Record<string, unknown>),\n createdAt: now,\n updatedAt: now,\n });\n const ref = await this.getCollection().add(payload);\n const snap = await ref.get();\n return this.mapDoc(snap);\n }\n\n async update(id: string, data: Partial<T>): Promise<T> {\n const payload = prepareForFirestore({\n ...(data as Record<string, unknown>),\n updatedAt: new Date(),\n });\n await this.getCollection()\n .doc(id)\n .update(payload as Record<string, unknown>);\n const snap = await this.getCollection().doc(id).get();\n if (!snap.exists) throw new Error(`Document not found after update: ${id}`);\n return this.mapDoc(snap);\n }\n\n async delete(id: string): Promise<void> {\n await this.getCollection().doc(id).delete();\n }\n\n async batchCreate(\n items: Array<Omit<T, \"id\" | \"createdAt\" | \"updatedAt\">>,\n ): Promise<T[]> {\n const now = new Date();\n const batch: WriteBatch = this.db.batch();\n const refs = items.map((item) => {\n const ref = this.getCollection().doc();\n const payload = prepareForFirestore({\n ...(item as Record<string, unknown>),\n createdAt: now,\n updatedAt: now,\n });\n batch.set(ref, payload);\n return ref;\n });\n await batch.commit();\n\n // Fetch created docs in one round-trip\n const snaps = await Promise.all(refs.map((r) => r.get()));\n return snaps.map((s) => this.mapDoc(s));\n }\n\n async batchDelete(ids: string[]): Promise<void> {\n const batch: WriteBatch = this.db.batch();\n for (const id of ids) {\n batch.delete(this.getCollection().doc(id));\n }\n await batch.commit();\n }\n\n // ── Extended helpers (not in IRepository contract) ────────────────────────\n\n /** Find by ID or throw `Error` with a descriptive message. */\n async findByIdOrFail(id: string): Promise<T> {\n const doc = await this.findById(id);\n if (!doc) throw new Error(`Document not found: ${this.collection}/${id}`);\n return doc;\n }\n\n /** Find first document where `field == value`. */\n async findOneBy(field: string, value: unknown): Promise<T | null> {\n const snap = await this.getCollection()\n .where(field, \"==\", value)\n .limit(1)\n .get();\n if (snap.empty) return null;\n return this.mapDoc(snap.docs[0]);\n }\n\n /** Count all documents in the collection. */\n async count(): Promise<number> {\n const snap = await this.getCollection().count().get();\n return snap.data().count;\n }\n}\n\n// ─── Internal helpers ─────────────────────────────────────────────────────────\n\nconst TOKEN_TO_OP: Record<string, FirebaseFirestore.WhereFilterOp> = {\n \"==\": \"==\",\n \"!=\": \"!=\",\n \"<\": \"<\",\n \"<=\": \"<=\",\n \">\": \">\",\n \">=\": \">=\",\n \"@=\": \"array-contains\",\n};\n\n/** Best-effort scalar coercion for sieve filter values. */\nfunction coerceValue(raw: string): unknown {\n if (raw === \"true\") return true;\n if (raw === \"false\") return false;\n if (raw === \"null\") return null;\n const n = Number(raw);\n if (!Number.isNaN(n) && raw !== \"\") return n;\n return raw;\n}\n","/**\n * FirebaseSieveRepository<T>\n *\n * Extends `FirebaseRepository<T>` with a full Sieve DSL query (filters, sorts,\n * page, pageSize) pushed entirely to Firestore — no in-memory iteration.\n *\n * Uses `@mohasinac/sievejs` for parsing the Sieve filter / sort grammar.\n *\n * Usage in subclasses:\n * ```ts\n * async list(model: SieveModel, baseQuery?: CollectionReference | Query) {\n * return this.sieveQuery<ProductDocument>(model, {\n * title: { canFilter: true, canSort: true },\n * price: { canFilter: true, canSort: true },\n * createdAt: { canFilter: true, canSort: true },\n * }, { baseQuery });\n * }\n * ```\n */\n\nimport type {\n CollectionReference,\n DocumentData,\n Query,\n} from \"firebase-admin/firestore\";\n\nimport { SieveProcessorBase } from \"@mohasinac/sievejs/services\";\nimport { createFirebaseAdapter } from \"@mohasinac/sievejs/adapters/firebase\";\n\nimport { FirebaseRepository } from \"./base.js\";\nimport { deserializeTimestamps } from \"./helpers.js\";\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport type SieveFieldConfig = {\n /** Override the Firestore document field name. Defaults to the key name. */\n path?: string;\n canFilter?: boolean;\n canSort?: boolean;\n};\n\nexport type SieveFields = Record<string, SieveFieldConfig>;\n\nexport interface SieveModel {\n /** Comma-delimited filter expressions, e.g. `status==published,price>=100` */\n filters?: string;\n /** Comma-delimited sort fields, `-` prefix = descending, e.g. `-createdAt,title` */\n sorts?: string;\n page?: number | string;\n pageSize?: number | string;\n}\n\nexport interface SieveOptions {\n caseSensitive?: boolean;\n defaultPageSize?: number;\n maxPageSize?: number;\n throwExceptions?: boolean;\n}\n\nexport interface SieveResult<T> {\n items: T[];\n total: number;\n page: number;\n pageSize: number;\n totalPages: number;\n hasMore: boolean;\n}\n\nconst SIEVE_DEFAULTS: Required<SieveOptions> = {\n caseSensitive: false,\n defaultPageSize: 20,\n maxPageSize: 100,\n throwExceptions: false,\n};\n\n// ─── Class ────────────────────────────────────────────────────────────────────\n\nexport abstract class FirebaseSieveRepository<\n T extends DocumentData,\n> extends FirebaseRepository<T> {\n /**\n * Run a Sieve DSL query against Firestore at the DB layer.\n *\n * @param model Parsed from HTTP query-string params.\n * @param fields Per-field filter / sort allowlist.\n * @param options Override defaults or supply a pre-filtered `baseQuery`.\n */\n protected async sieveQuery<TResult extends DocumentData = T>(\n model: SieveModel,\n fields: SieveFields,\n options?: SieveOptions & { baseQuery?: CollectionReference | Query },\n ): Promise<SieveResult<TResult>> {\n const { baseQuery, ...sieveOptions } = options ?? {};\n const merged = { ...SIEVE_DEFAULTS, ...sieveOptions };\n const base = baseQuery ?? this.getCollection();\n\n const processor = new SieveProcessorBase({\n adapter: createFirebaseAdapter() as never,\n autoLoadConfig: false,\n options: merged,\n fields,\n } as never);\n\n // Count (no docs fetched)\n const filteredQ = processor.apply(model, base, {\n applyPagination: false,\n } as never) as unknown as Query;\n const total: number = (await filteredQ.count().get()).data().count;\n\n // Paginated result\n const pagedQ = processor.apply(model, base) as unknown as Query;\n const snap = await pagedQ.get();\n\n const items = snap.docs.map(\n (d) =>\n deserializeTimestamps({ id: d.id, ...d.data() }) as unknown as TResult,\n );\n\n const page = Math.max(1, Number(model.page ?? 1));\n const pageSize = Math.min(\n merged.maxPageSize,\n Math.max(1, Number(model.pageSize ?? merged.defaultPageSize)),\n );\n const totalPages =\n total === 0 ? 0 : Math.max(1, Math.ceil(total / pageSize));\n\n return {\n items,\n total,\n page,\n pageSize,\n totalPages,\n hasMore: page < totalPages,\n };\n }\n}\n","/**\n * FirebaseRealtimeRepository<T>\n *\n * Abstract base implementing `IRealtimeRepository<T>` from `@mohasinac/contracts`\n * against Firebase Realtime Database (Admin SDK).\n *\n * Realtime DB does not support Firestore-style queries; `findAll()` loads the\n * entire collection node. Use this only for small, high-churn datasets (e.g.\n * presence, chat, live-bid prices).\n *\n * Usage:\n * ```ts\n * class PresenceRepository extends FirebaseRealtimeRepository<PresenceEntry> {\n * constructor() { super(\"presence\"); }\n * }\n * ```\n */\n\nimport type {\n IRealtimeRepository,\n PagedResult,\n SieveQuery,\n WhereOp,\n} from \"@mohasinac/contracts\";\nimport type { DocumentData } from \"firebase-admin/firestore\";\nimport { getAdminRealtimeDb } from \"./admin.js\";\n\nexport abstract class FirebaseRealtimeRepository<\n T extends DocumentData,\n> implements IRealtimeRepository<T> {\n protected readonly path: string;\n\n constructor(rtdbPath: string) {\n this.path = rtdbPath;\n }\n\n protected get rtdb() {\n return getAdminRealtimeDb();\n }\n\n protected nodeRef(id?: string) {\n return id ? this.rtdb.ref(`${this.path}/${id}`) : this.rtdb.ref(this.path);\n }\n\n // ── IReadRepository ────────────────────────────────────────────────────────\n\n async findById(id: string): Promise<T | null> {\n const snap = await this.nodeRef(id).get();\n if (!snap.exists()) return null;\n return { id, ...snap.val() } as unknown as T;\n }\n\n async findAll(query?: SieveQuery): Promise<PagedResult<T>> {\n const snap = await this.nodeRef().get();\n if (!snap.exists()) {\n return {\n data: [],\n total: 0,\n page: 1,\n perPage: query?.perPage ?? 20,\n totalPages: 0,\n };\n }\n\n const raw = snap.val() as Record<string, Omit<T, \"id\">>;\n let data: T[] = Object.entries(raw).map(\n ([id, val]) => ({ id, ...val }) as unknown as T,\n );\n\n // Basic server-side sort (RTDB has no native multi-field sort)\n if (query?.sort) {\n const key = query.sort as keyof T;\n const dir = query.order === \"desc\" ? -1 : 1;\n data = data.slice().sort((a, b) => {\n const av = a[key];\n const bv = b[key];\n if (av === bv) return 0;\n return (av < bv ? -1 : 1) * dir;\n });\n }\n\n const total = data.length;\n const perPage = Math.max(1, query?.perPage ?? 20);\n const page = Math.max(1, query?.page ?? 1);\n const offset = (page - 1) * perPage;\n const totalPages =\n total === 0 ? 0 : Math.max(1, Math.ceil(total / perPage));\n\n return {\n data: data.slice(offset, offset + perPage),\n total,\n page,\n perPage,\n totalPages,\n };\n }\n\n async findWhere(field: keyof T, _op: WhereOp, value: unknown): Promise<T[]> {\n // RTDB Admin SDK supports orderByChild + equalTo for == only\n const snap = await this.nodeRef()\n .orderByChild(field as string)\n .equalTo(value as string | number | boolean | null)\n .get();\n if (!snap.exists()) return [];\n const raw = snap.val() as Record<string, Omit<T, \"id\">>;\n return Object.entries(raw).map(\n ([id, val]) => ({ id, ...val }) as unknown as T,\n );\n }\n\n // ── IWriteRepository ───────────────────────────────────────────────────────\n\n async create(data: Omit<T, \"id\" | \"createdAt\" | \"updatedAt\">): Promise<T> {\n const now = Date.now();\n const payload = { ...data, createdAt: now, updatedAt: now };\n const ref = await this.nodeRef().push(payload);\n return { id: ref.key as string, ...payload } as unknown as T;\n }\n\n async update(id: string, data: Partial<T>): Promise<T> {\n const payload = { ...data, updatedAt: Date.now() };\n await this.nodeRef(id).update(payload as object);\n const snap = await this.nodeRef(id).get();\n return { id, ...snap.val() } as unknown as T;\n }\n\n async delete(id: string): Promise<void> {\n await this.nodeRef(id).remove();\n }\n\n async batchCreate(\n items: Array<Omit<T, \"id\" | \"createdAt\" | \"updatedAt\">>,\n ): Promise<T[]> {\n return Promise.all(items.map((item) => this.create(item)));\n }\n\n async batchDelete(ids: string[]): Promise<void> {\n await Promise.all(ids.map((id) => this.delete(id)));\n }\n\n // ── IRealtimeRepository ───────────────────────────────────────────────────\n\n /**\n * Subscribe to a single RTDB node.\n * Returns an unsubscribe function.\n *\n * NOTE: The Admin SDK `onValue` callback runs in-process but is not browser-side.\n * For browser real-time, use the client SDK directly.\n */\n subscribe(id: string, cb: (data: T | null) => void): () => void {\n const ref = this.nodeRef(id);\n const handler = (snap: {\n exists(): boolean;\n val(): Record<string, unknown> | null;\n }) => {\n cb(snap.exists() ? ({ id, ...snap.val() } as unknown as T) : null);\n };\n ref.on(\"value\", handler as never);\n return () => ref.off(\"value\", handler as never);\n }\n\n subscribeWhere(\n field: keyof T,\n value: unknown,\n cb: (items: T[]) => void,\n ): () => void {\n const ref = this.nodeRef()\n .orderByChild(field as string)\n .equalTo(value as string | number | boolean | null);\n\n const handler = (snap: {\n exists(): boolean;\n val(): Record<string, Record<string, unknown>> | null;\n }) => {\n if (!snap.exists()) {\n cb([]);\n return;\n }\n const raw = snap.val()!;\n cb(Object.entries(raw).map(([id, v]) => ({ id, ...v }) as unknown as T));\n };\n ref.on(\"value\", handler as never);\n return () => ref.off(\"value\", handler as never);\n }\n}\n","/**\n * @mohasinac/db-firebase\n *\n * Firebase Firestore + Realtime DB implementation of the repository contracts.\n *\n * @example\n * ```ts\n * import { FirebaseRepository } from \"@mohasinac/db-firebase\";\n * import type { Product } from \"@/types\";\n *\n * export class ProductRepository extends FirebaseRepository<Product> {\n * constructor() { super(\"products\"); }\n * }\n * ```\n */\n\n// Admin SDK singletons\nexport {\n getAdminApp,\n getAdminAuth,\n getAdminDb,\n getAdminStorage,\n getAdminRealtimeDb,\n _resetAdminSingletons,\n} from \"./admin.js\";\n\n// Serialisation helpers\nexport {\n removeUndefined,\n prepareForFirestore,\n deserializeTimestamps,\n} from \"./helpers.js\";\n\n// Repository base classes\nexport { FirebaseRepository } from \"./base.js\";\nexport { FirebaseSieveRepository } from \"./sieve.js\";\nexport { FirebaseRealtimeRepository } from \"./realtime.js\";\n\n// IDbProvider implementation — registers Firebase as the database backend.\n// Wire once in providers.config.ts: db: firebaseDbProvider\nimport { FirebaseRepository } from \"./base.js\";\nimport type { IDbProvider, IRepository } from \"@mohasinac/contracts\";\nimport type { DocumentData } from \"firebase-admin/firestore\";\n\nexport const firebaseDbProvider: IDbProvider = {\n getRepository<T>(collection: string): IRepository<T> {\n return new FirebaseRepository<T & DocumentData>(\n collection,\n ) as unknown as IRepository<T>;\n },\n};\n\n// Types re-exported for consumers\nexport type {\n SieveModel,\n SieveFields,\n SieveFieldConfig,\n SieveOptions,\n SieveResult,\n} from \"./sieve.js\";\n"]}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var resend = require('resend');
|
|
4
|
-
|
|
5
|
-
// src/providers/email-resend/provider.ts
|
|
6
|
-
function createResendProvider(options = {}) {
|
|
7
|
-
const resolveKey = () => {
|
|
8
|
-
var _a, _b, _c;
|
|
9
|
-
return (_c = (_b = options.apiKey) != null ? _b : (_a = process.env.RESEND_API_KEY) == null ? void 0 : _a.trim()) != null ? _c : "";
|
|
10
|
-
};
|
|
11
|
-
const resolveFrom = () => {
|
|
12
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
13
|
-
const name = (_c = (_b = options.fromName) != null ? _b : (_a = process.env.EMAIL_FROM_NAME) == null ? void 0 : _a.trim()) != null ? _c : "App";
|
|
14
|
-
const email = (_h = (_e = options.fromEmail) != null ? _e : (_d = process.env.EMAIL_FROM) == null ? void 0 : _d.trim()) != null ? _h : `noreply@${(_g = (_f = process.env.NEXT_PUBLIC_SITE_URL) == null ? void 0 : _f.trim().replace(/^https?:\/\//, "")) != null ? _g : "example.com"}`;
|
|
15
|
-
return `${name} <${email}>`;
|
|
16
|
-
};
|
|
17
|
-
return {
|
|
18
|
-
async send(opts) {
|
|
19
|
-
var _a, _b, _c, _d;
|
|
20
|
-
const resend$1 = new resend.Resend(resolveKey());
|
|
21
|
-
const { data, error } = await resend$1.emails.send({
|
|
22
|
-
from: (_a = opts.from) != null ? _a : resolveFrom(),
|
|
23
|
-
to: opts.to,
|
|
24
|
-
subject: opts.subject,
|
|
25
|
-
html: opts.html,
|
|
26
|
-
text: opts.text,
|
|
27
|
-
reply_to: opts.replyTo,
|
|
28
|
-
attachments: (_b = opts.attachments) == null ? void 0 : _b.map((a) => ({
|
|
29
|
-
filename: a.filename,
|
|
30
|
-
content: a.content,
|
|
31
|
-
content_type: a.contentType
|
|
32
|
-
})),
|
|
33
|
-
headers: opts.headers
|
|
34
|
-
});
|
|
35
|
-
if (error) {
|
|
36
|
-
throw Object.assign(
|
|
37
|
-
new Error(
|
|
38
|
-
`Resend send failed: ${(_c = error.message) != null ? _c : String(error)}`
|
|
39
|
-
),
|
|
40
|
-
{ cause: error }
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
const accepted = Array.isArray(opts.to) ? opts.to : [opts.to];
|
|
44
|
-
return {
|
|
45
|
-
id: (_d = data == null ? void 0 : data.id) != null ? _d : "",
|
|
46
|
-
accepted,
|
|
47
|
-
rejected: []
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
async sendBatch(optsList) {
|
|
51
|
-
return Promise.all(optsList.map((o) => this.send(o)));
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
exports.createResendProvider = createResendProvider;
|
|
57
|
-
//# sourceMappingURL=index.cjs.map
|
|
58
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/email-resend/provider.ts"],"names":["resend","Resend"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * createResendProvider — IEmailProvider\n *\n * Factory that returns an `IEmailProvider` backed by the Resend API.\n *\n * @example\n * ```ts\n * import { createResendProvider } from \"@mohasinac/email-resend\";\n *\n * const email = createResendProvider({\n * apiKey: process.env.RESEND_API_KEY!,\n * fromEmail: \"noreply@example.com\",\n * fromName: \"My App\",\n * });\n *\n * await email.send({ to: \"user@example.com\", subject: \"Hello\", html: \"<p>Hi</p>\" });\n * ```\n */\n\nimport { Resend } from \"resend\";\nimport type {\n IEmailProvider,\n EmailOptions,\n EmailResult,\n} from \"@mohasinac/contracts\";\n\nexport interface ResendProviderOptions {\n /** Resend API key. Defaults to `process.env.RESEND_API_KEY`. */\n apiKey?: string;\n /** Default \"From\" email address. */\n fromEmail?: string;\n /** Default \"From\" display name. */\n fromName?: string;\n}\n\n/**\n * Create an `IEmailProvider` backed by Resend.\n *\n * The API key and from-address are resolved lazily so that runtime\n * key rotations (e.g. DB-stored credentials) are picked up without\n * a server restart. Pass a factory function to `apiKey` if you need\n * dynamic resolution:\n *\n * ```ts\n * createResendProvider({ apiKey: () => getKeyFromDb() })\n * ```\n */\nexport function createResendProvider(\n options: ResendProviderOptions = {},\n): IEmailProvider {\n const resolveKey = (): string =>\n options.apiKey ?? process.env.RESEND_API_KEY?.trim() ?? \"\";\n\n const resolveFrom = (): string => {\n const name =\n options.fromName ?? process.env.EMAIL_FROM_NAME?.trim() ?? \"App\";\n const email =\n options.fromEmail ??\n process.env.EMAIL_FROM?.trim() ??\n `noreply@${process.env.NEXT_PUBLIC_SITE_URL?.trim().replace(/^https?:\\/\\//, \"\") ?? \"example.com\"}`;\n return `${name} <${email}>`;\n };\n\n return {\n async send(opts: EmailOptions): Promise<EmailResult> {\n const resend = new Resend(resolveKey());\n const { data, error } = await resend.emails.send({\n from: opts.from ?? resolveFrom(),\n to: opts.to,\n subject: opts.subject,\n html: opts.html,\n text: opts.text,\n reply_to: opts.replyTo,\n attachments: opts.attachments?.map((a) => ({\n filename: a.filename,\n content: a.content,\n content_type: a.contentType,\n })),\n headers: opts.headers,\n } as Parameters<Resend[\"emails\"][\"send\"]>[0]);\n\n if (error) {\n throw Object.assign(\n new Error(\n `Resend send failed: ${(error as { message?: string }).message ?? String(error)}`,\n ),\n { cause: error },\n );\n }\n\n const accepted = Array.isArray(opts.to) ? opts.to : [opts.to];\n return {\n id: (data as { id?: string } | null)?.id ?? \"\",\n accepted,\n rejected: [],\n };\n },\n\n async sendBatch(optsList: EmailOptions[]): Promise<EmailResult[]> {\n return Promise.all(optsList.map((o) => this.send(o)));\n },\n };\n}\n"]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
interface EmailAttachment {
|
|
2
|
-
filename: string;
|
|
3
|
-
content: Buffer | string;
|
|
4
|
-
contentType?: string;
|
|
5
|
-
}
|
|
6
|
-
interface EmailOptions {
|
|
7
|
-
to: string | string[];
|
|
8
|
-
subject: string;
|
|
9
|
-
html: string;
|
|
10
|
-
text?: string;
|
|
11
|
-
/** Defaults to SiteConfig.email.fromAddress if omitted. */
|
|
12
|
-
from?: string;
|
|
13
|
-
replyTo?: string;
|
|
14
|
-
attachments?: EmailAttachment[];
|
|
15
|
-
headers?: Record<string, string>;
|
|
16
|
-
}
|
|
17
|
-
interface EmailResult {
|
|
18
|
-
id: string;
|
|
19
|
-
accepted: string[];
|
|
20
|
-
rejected: string[];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Transactional email sending contract.
|
|
24
|
-
* Implemented by @mohasinac/email-resend, @mohasinac/email-nodemailer,
|
|
25
|
-
* @mohasinac/email-sendgrid, @mohasinac/email-postmark.
|
|
26
|
-
*/
|
|
27
|
-
interface IEmailProvider {
|
|
28
|
-
send(options: EmailOptions): Promise<EmailResult>;
|
|
29
|
-
sendBatch(options: EmailOptions[]): Promise<EmailResult[]>;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* createResendProvider — IEmailProvider
|
|
34
|
-
*
|
|
35
|
-
* Factory that returns an `IEmailProvider` backed by the Resend API.
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```ts
|
|
39
|
-
* import { createResendProvider } from "@mohasinac/email-resend";
|
|
40
|
-
*
|
|
41
|
-
* const email = createResendProvider({
|
|
42
|
-
* apiKey: process.env.RESEND_API_KEY!,
|
|
43
|
-
* fromEmail: "noreply@example.com",
|
|
44
|
-
* fromName: "My App",
|
|
45
|
-
* });
|
|
46
|
-
*
|
|
47
|
-
* await email.send({ to: "user@example.com", subject: "Hello", html: "<p>Hi</p>" });
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
interface ResendProviderOptions {
|
|
52
|
-
/** Resend API key. Defaults to `process.env.RESEND_API_KEY`. */
|
|
53
|
-
apiKey?: string;
|
|
54
|
-
/** Default "From" email address. */
|
|
55
|
-
fromEmail?: string;
|
|
56
|
-
/** Default "From" display name. */
|
|
57
|
-
fromName?: string;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Create an `IEmailProvider` backed by Resend.
|
|
61
|
-
*
|
|
62
|
-
* The API key and from-address are resolved lazily so that runtime
|
|
63
|
-
* key rotations (e.g. DB-stored credentials) are picked up without
|
|
64
|
-
* a server restart. Pass a factory function to `apiKey` if you need
|
|
65
|
-
* dynamic resolution:
|
|
66
|
-
*
|
|
67
|
-
* ```ts
|
|
68
|
-
* createResendProvider({ apiKey: () => getKeyFromDb() })
|
|
69
|
-
* ```
|
|
70
|
-
*/
|
|
71
|
-
declare function createResendProvider(options?: ResendProviderOptions): IEmailProvider;
|
|
72
|
-
|
|
73
|
-
export { type ResendProviderOptions, createResendProvider };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/email-resend/provider.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * createResendProvider — IEmailProvider\n *\n * Factory that returns an `IEmailProvider` backed by the Resend API.\n *\n * @example\n * ```ts\n * import { createResendProvider } from \"@mohasinac/email-resend\";\n *\n * const email = createResendProvider({\n * apiKey: process.env.RESEND_API_KEY!,\n * fromEmail: \"noreply@example.com\",\n * fromName: \"My App\",\n * });\n *\n * await email.send({ to: \"user@example.com\", subject: \"Hello\", html: \"<p>Hi</p>\" });\n * ```\n */\n\nimport { Resend } from \"resend\";\nimport type {\n IEmailProvider,\n EmailOptions,\n EmailResult,\n} from \"@mohasinac/contracts\";\n\nexport interface ResendProviderOptions {\n /** Resend API key. Defaults to `process.env.RESEND_API_KEY`. */\n apiKey?: string;\n /** Default \"From\" email address. */\n fromEmail?: string;\n /** Default \"From\" display name. */\n fromName?: string;\n}\n\n/**\n * Create an `IEmailProvider` backed by Resend.\n *\n * The API key and from-address are resolved lazily so that runtime\n * key rotations (e.g. DB-stored credentials) are picked up without\n * a server restart. Pass a factory function to `apiKey` if you need\n * dynamic resolution:\n *\n * ```ts\n * createResendProvider({ apiKey: () => getKeyFromDb() })\n * ```\n */\nexport function createResendProvider(\n options: ResendProviderOptions = {},\n): IEmailProvider {\n const resolveKey = (): string =>\n options.apiKey ?? process.env.RESEND_API_KEY?.trim() ?? \"\";\n\n const resolveFrom = (): string => {\n const name =\n options.fromName ?? process.env.EMAIL_FROM_NAME?.trim() ?? \"App\";\n const email =\n options.fromEmail ??\n process.env.EMAIL_FROM?.trim() ??\n `noreply@${process.env.NEXT_PUBLIC_SITE_URL?.trim().replace(/^https?:\\/\\//, \"\") ?? \"example.com\"}`;\n return `${name} <${email}>`;\n };\n\n return {\n async send(opts: EmailOptions): Promise<EmailResult> {\n const resend = new Resend(resolveKey());\n const { data, error } = await resend.emails.send({\n from: opts.from ?? resolveFrom(),\n to: opts.to,\n subject: opts.subject,\n html: opts.html,\n text: opts.text,\n reply_to: opts.replyTo,\n attachments: opts.attachments?.map((a) => ({\n filename: a.filename,\n content: a.content,\n content_type: a.contentType,\n })),\n headers: opts.headers,\n } as Parameters<Resend[\"emails\"][\"send\"]>[0]);\n\n if (error) {\n throw Object.assign(\n new Error(\n `Resend send failed: ${(error as { message?: string }).message ?? String(error)}`,\n ),\n { cause: error },\n );\n }\n\n const accepted = Array.isArray(opts.to) ? opts.to : [opts.to];\n return {\n id: (data as { id?: string } | null)?.id ?? \"\",\n accepted,\n rejected: [],\n };\n },\n\n async sendBatch(optsList: EmailOptions[]): Promise<EmailResult[]> {\n return Promise.all(optsList.map((o) => this.send(o)));\n },\n };\n}\n"]}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Razorpay = require('razorpay');
|
|
4
|
-
var crypto = require('crypto');
|
|
5
|
-
|
|
6
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
-
|
|
8
|
-
var Razorpay__default = /*#__PURE__*/_interopDefault(Razorpay);
|
|
9
|
-
|
|
10
|
-
// src/providers/payment-razorpay/index.ts
|
|
11
|
-
var RazorpayProvider = class {
|
|
12
|
-
constructor(config) {
|
|
13
|
-
this.razorpay = new Razorpay__default.default({
|
|
14
|
-
key_id: config.keyId,
|
|
15
|
-
key_secret: config.keySecret
|
|
16
|
-
});
|
|
17
|
-
this.webhookSecret = config.webhookSecret;
|
|
18
|
-
}
|
|
19
|
-
async createOrder(amount, currency = "INR", metadata) {
|
|
20
|
-
var _a;
|
|
21
|
-
const order = await this.razorpay.orders.create({
|
|
22
|
-
amount,
|
|
23
|
-
currency,
|
|
24
|
-
notes: metadata
|
|
25
|
-
});
|
|
26
|
-
return {
|
|
27
|
-
id: String(order.id),
|
|
28
|
-
amount: Number(order.amount),
|
|
29
|
-
currency: String(order.currency),
|
|
30
|
-
status: "created",
|
|
31
|
-
receipt: (_a = order.receipt) != null ? _a : void 0,
|
|
32
|
-
metadata,
|
|
33
|
-
createdAt: new Date(Number(order.created_at) * 1e3).toISOString()
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Verify Razorpay webhook signature (HMAC-SHA256 over raw body).
|
|
38
|
-
* Requires webhookSecret to be set in the constructor.
|
|
39
|
-
*/
|
|
40
|
-
verifyWebhook(payload, signature) {
|
|
41
|
-
if (!this.webhookSecret) return false;
|
|
42
|
-
const expected = crypto.createHmac("sha256", this.webhookSecret).update(payload).digest("hex");
|
|
43
|
-
if (signature.length !== 64 || expected.length !== 64) return false;
|
|
44
|
-
return crypto.timingSafeEqual(
|
|
45
|
-
Buffer.from(expected, "hex"),
|
|
46
|
-
Buffer.from(signature, "hex")
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
async capturePayment(paymentId) {
|
|
50
|
-
var _a;
|
|
51
|
-
const payment = await this.razorpay.payments.fetch(paymentId);
|
|
52
|
-
return {
|
|
53
|
-
id: String(payment.id),
|
|
54
|
-
orderId: String((_a = payment.order_id) != null ? _a : ""),
|
|
55
|
-
amount: Number(payment.amount),
|
|
56
|
-
currency: String(payment.currency),
|
|
57
|
-
status: payment.status === "captured" ? "captured" : "failed",
|
|
58
|
-
capturedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
async refund(paymentId, amount) {
|
|
62
|
-
const refundData = {};
|
|
63
|
-
if (amount !== void 0) refundData.amount = amount;
|
|
64
|
-
const result = await this.razorpay.payments.refund(
|
|
65
|
-
paymentId,
|
|
66
|
-
refundData
|
|
67
|
-
);
|
|
68
|
-
return {
|
|
69
|
-
id: String(result.id),
|
|
70
|
-
paymentId,
|
|
71
|
-
amount: Number(result.amount),
|
|
72
|
-
currency: String(result.currency),
|
|
73
|
-
status: result.status === "processed" ? "processed" : "pending",
|
|
74
|
-
createdAt: new Date(Number(result.created_at) * 1e3).toISOString()
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
async getOrder(orderId) {
|
|
78
|
-
var _a;
|
|
79
|
-
const order = await this.razorpay.orders.fetch(orderId);
|
|
80
|
-
return {
|
|
81
|
-
id: String(order.id),
|
|
82
|
-
amount: Number(order.amount),
|
|
83
|
-
currency: String(order.currency),
|
|
84
|
-
status: "created",
|
|
85
|
-
receipt: (_a = order.receipt) != null ? _a : void 0,
|
|
86
|
-
createdAt: new Date(Number(order.created_at) * 1e3).toISOString()
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
function rupeesToPaise(rupees) {
|
|
91
|
-
return Math.round(rupees * 100);
|
|
92
|
-
}
|
|
93
|
-
function paiseToRupees(paise) {
|
|
94
|
-
return paise / 100;
|
|
95
|
-
}
|
|
96
|
-
function verifyPaymentSignature(params, keySecret) {
|
|
97
|
-
if (!keySecret) return false;
|
|
98
|
-
const expected = crypto.createHmac("sha256", keySecret).update(`${params.razorpay_order_id}|${params.razorpay_payment_id}`).digest("hex");
|
|
99
|
-
if (params.razorpay_signature.length !== 64) return false;
|
|
100
|
-
return crypto.timingSafeEqual(
|
|
101
|
-
Buffer.from(expected, "hex"),
|
|
102
|
-
Buffer.from(params.razorpay_signature, "hex")
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
exports.RazorpayProvider = RazorpayProvider;
|
|
107
|
-
exports.paiseToRupees = paiseToRupees;
|
|
108
|
-
exports.rupeesToPaise = rupeesToPaise;
|
|
109
|
-
exports.verifyPaymentSignature = verifyPaymentSignature;
|
|
110
|
-
//# sourceMappingURL=index.cjs.map
|
|
111
|
-
//# sourceMappingURL=index.cjs.map
|