@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/date.formatter.ts","../src/utils/number.formatter.ts","../src/utils/string.formatter.ts","../src/utils/type.converter.ts","../src/utils/cookie.converter.ts","../src/utils/id-generators.ts","../src/features/media/types/index.ts","../src/utils/array.helper.ts","../src/utils/object.helper.ts","../src/utils/pagination.helper.ts","../src/utils/sorting.helper.ts","../src/utils/filter.helper.ts","../src/utils/animation.helper.ts","../src/utils/color.helper.ts","../src/utils/event-manager.ts"],"names":["_a","z","__spreadValues"],"mappings":"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","file":"chunk-RNELVIKK.cjs","sourcesContent":["/**\n * Date Formatting Utilities\n */\n\n/**\n * Resolve any date-like value (Date, ISO string, number, or Firestore Timestamp JSON)\n * into a native Date object. Returns null for falsy or unparseable input.\n */\nexport function resolveDate(value: unknown): Date | null {\n if (!value) return null;\n if (value instanceof Date) return value;\n if (\n typeof value === \"object\" &&\n value !== null &&\n \"_seconds\" in value &&\n typeof (value as Record<string, unknown>)._seconds === \"number\"\n ) {\n return new Date((value as { _seconds: number })._seconds * 1000);\n }\n const d = new Date(value as string | number);\n return Number.isNaN(d.getTime()) ? null : d;\n}\n\nexport function formatDate(\n date: Date | string | number | unknown,\n format: \"short\" | \"medium\" | \"long\" | \"full\" = \"medium\",\n locale: string = \"en-IN\",\n): string {\n const dateObj = resolveDate(date);\n if (!dateObj) return \"\";\n\n const options: Intl.DateTimeFormatOptions = {};\n\n switch (format) {\n case \"short\":\n options.year = \"2-digit\";\n options.month = \"numeric\";\n options.day = \"numeric\";\n break;\n case \"medium\":\n options.year = \"numeric\";\n options.month = \"short\";\n options.day = \"numeric\";\n break;\n case \"long\":\n options.year = \"numeric\";\n options.month = \"long\";\n options.day = \"numeric\";\n break;\n case \"full\":\n options.year = \"numeric\";\n options.month = \"long\";\n options.day = \"numeric\";\n options.weekday = \"long\";\n break;\n }\n\n return dateObj.toLocaleDateString(locale, options);\n}\n\nexport function formatDateTime(\n date: Date | string | number | unknown,\n format: \"short\" | \"medium\" | \"long\" | \"full\" = \"medium\",\n locale: string = \"en-IN\",\n): string {\n const dateObj = resolveDate(date);\n if (!dateObj) return \"\";\n\n const dateOptions: Intl.DateTimeFormatOptions = {};\n const timeOptions: Intl.DateTimeFormatOptions = {};\n\n switch (format) {\n case \"short\":\n dateOptions.year = \"2-digit\";\n dateOptions.month = \"2-digit\";\n dateOptions.day = \"2-digit\";\n timeOptions.hour = \"2-digit\";\n timeOptions.minute = \"2-digit\";\n break;\n case \"medium\":\n dateOptions.year = \"numeric\";\n dateOptions.month = \"short\";\n dateOptions.day = \"numeric\";\n timeOptions.hour = \"2-digit\";\n timeOptions.minute = \"2-digit\";\n break;\n case \"long\":\n dateOptions.year = \"numeric\";\n dateOptions.month = \"long\";\n dateOptions.day = \"numeric\";\n timeOptions.hour = \"2-digit\";\n timeOptions.minute = \"2-digit\";\n timeOptions.second = \"2-digit\";\n break;\n case \"full\":\n dateOptions.year = \"numeric\";\n dateOptions.month = \"long\";\n dateOptions.day = \"numeric\";\n dateOptions.weekday = \"long\";\n timeOptions.hour = \"2-digit\";\n timeOptions.minute = \"2-digit\";\n timeOptions.second = \"2-digit\";\n break;\n }\n\n const datePart = dateObj.toLocaleDateString(locale, dateOptions);\n const timePart = dateObj.toLocaleTimeString(locale, timeOptions);\n return `${datePart}, ${timePart}`;\n}\n\nexport function formatTime(\n date: Date | string,\n format: \"short\" | \"long\" = \"long\",\n locale: string = \"en-IN\",\n): string {\n const dateObj = typeof date === \"string\" ? new Date(date) : date;\n const options: Intl.DateTimeFormatOptions =\n format === \"short\"\n ? { hour: \"2-digit\", minute: \"2-digit\" }\n : { hour: \"2-digit\", minute: \"2-digit\", second: \"2-digit\" };\n return dateObj.toLocaleTimeString(locale, options);\n}\n\nexport function formatRelativeTime(date: Date | string): string {\n const dateObj = typeof date === \"string\" ? new Date(date) : date;\n const now = new Date();\n const diffMs = now.getTime() - dateObj.getTime();\n const diffSec = Math.floor(diffMs / 1000);\n const diffMin = Math.floor(diffSec / 60);\n const diffHour = Math.floor(diffMin / 60);\n const diffDay = Math.floor(diffHour / 24);\n const diffWeek = Math.floor(diffDay / 7);\n const diffMonth = Math.floor(diffDay / 30);\n const diffYear = Math.floor(diffDay / 365);\n\n if (diffSec < 60) return \"just now\";\n if (diffMin < 60) return `${diffMin} minute${diffMin > 1 ? \"s\" : \"\"} ago`;\n if (diffHour < 24) return `${diffHour} hour${diffHour > 1 ? \"s\" : \"\"} ago`;\n if (diffDay < 7) return `${diffDay} day${diffDay > 1 ? \"s\" : \"\"} ago`;\n if (diffWeek < 4) return `${diffWeek} week${diffWeek > 1 ? \"s\" : \"\"} ago`;\n if (diffMonth < 12)\n return `${diffMonth} month${diffMonth > 1 ? \"s\" : \"\"} ago`;\n return `${diffYear} year${diffYear > 1 ? \"s\" : \"\"} ago`;\n}\n\nexport function formatMonthYear(\n date: Date | string,\n locale: string = \"en-IN\",\n): string {\n const dateObj = typeof date === \"string\" ? new Date(date) : date;\n return dateObj.toLocaleDateString(locale, { month: \"long\", year: \"numeric\" });\n}\n\nexport function formatDateRange(\n startDate: Date | string,\n endDate: Date | string,\n locale: string = \"en-IN\",\n): string {\n const start = typeof startDate === \"string\" ? new Date(startDate) : startDate;\n const end = typeof endDate === \"string\" ? new Date(endDate) : endDate;\n\n const startFormatted = start.toLocaleDateString(locale, {\n month: \"short\",\n day: \"numeric\",\n year: start.getFullYear() !== end.getFullYear() ? \"numeric\" : undefined,\n });\n const endFormatted = end.toLocaleDateString(locale, {\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\",\n });\n return `${startFormatted} - ${endFormatted}`;\n}\n\nexport function isToday(date: Date | string): boolean {\n const dateObj = typeof date === \"string\" ? new Date(date) : date;\n const today = new Date();\n return (\n dateObj.getDate() === today.getDate() &&\n dateObj.getMonth() === today.getMonth() &&\n dateObj.getFullYear() === today.getFullYear()\n );\n}\n\nexport function isPast(date: Date | string): boolean {\n const dateObj = typeof date === \"string\" ? new Date(date) : date;\n return dateObj.getTime() < Date.now();\n}\n\nexport function isFuture(date: Date | string): boolean {\n const dateObj = typeof date === \"string\" ? new Date(date) : date;\n return dateObj.getTime() > Date.now();\n}\n\nexport function nowMs(): number {\n return Date.now();\n}\n\nexport function isSameMonth(a: Date | number, b: Date | number): boolean {\n const da = new Date(a);\n const db = new Date(b);\n return (\n da.getFullYear() === db.getFullYear() && da.getMonth() === db.getMonth()\n );\n}\n\nexport function currentYear(): string {\n return new Date(nowMs()).getFullYear().toString();\n}\n\nexport function nowISO(): string {\n return new Date(nowMs()).toISOString();\n}\n\nexport function formatCustomDate(\n date: Date | string,\n format: \"short\" | \"medium\" | \"long\" | \"full\" = \"medium\",\n): string {\n const dateObj = typeof date === \"string\" ? new Date(date) : date;\n const formatOptions: Record<string, Intl.DateTimeFormatOptions> = {\n short: { month: \"numeric\", day: \"numeric\", year: \"2-digit\" },\n medium: { month: \"short\", day: \"numeric\", year: \"numeric\" },\n long: { month: \"long\", day: \"numeric\", year: \"numeric\" },\n full: { weekday: \"long\", month: \"long\", day: \"numeric\", year: \"numeric\" },\n };\n const options = formatOptions[format] || formatOptions.medium;\n return dateObj.toLocaleDateString(\"en-US\", options);\n}\n","/**\n * Number Formatting Utilities\n */\n\nexport function formatCurrency(\n amount: number,\n currency: string = \"INR\",\n locale: string = \"en-IN\",\n): string {\n return new Intl.NumberFormat(locale, { style: \"currency\", currency }).format(\n amount,\n );\n}\n\nexport function formatNumber(\n num: number,\n locale: string = \"en-IN\",\n options?: { decimals?: number },\n): string {\n return new Intl.NumberFormat(locale, {\n minimumFractionDigits: options?.decimals,\n maximumFractionDigits: options?.decimals,\n }).format(num);\n}\n\nexport function formatPercentage(num: number, decimals: number = 0): string {\n return `${(num * 100).toFixed(decimals)}%`;\n}\n\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${sizes[i]}`;\n}\n\nexport function formatCompactNumber(num: number): string {\n if (num < 1000) return num.toString();\n if (num < 1_000_000) return `${(num / 1000).toFixed(1)}K`;\n if (num < 1_000_000_000) return `${(num / 1_000_000).toFixed(1)}M`;\n return `${(num / 1_000_000_000).toFixed(1)}B`;\n}\n\nexport function formatDecimal(num: number, decimals: number = 2): string {\n return num.toFixed(decimals);\n}\n\nexport function formatOrdinal(num: number): string {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const value = num % 100;\n return num + (suffixes[(value - 20) % 10] || suffixes[value] || suffixes[0]);\n}\n\nexport function parseFormattedNumber(str: string): number {\n const isNegative = /^-/.test(str) || str.includes(\"-\");\n\n let cleaned = str.replace(/[^\\d,.]/g, \"\");\n if (cleaned === \"\" || cleaned === \"0\") return 0;\n\n const lastCommaIndex = cleaned.lastIndexOf(\",\");\n const lastDotIndex = cleaned.lastIndexOf(\".\");\n const commaCount = (cleaned.match(/,/g) || []).length;\n const dotCount = (cleaned.match(/\\./g) || []).length;\n\n let decimalSeparator = \".\";\n let thousandsSeparator = \",\";\n\n if (lastCommaIndex > -1 && lastDotIndex > -1) {\n if (lastCommaIndex > lastDotIndex) {\n decimalSeparator = \",\";\n thousandsSeparator = \".\";\n }\n } else if (lastDotIndex > -1 && lastCommaIndex === -1) {\n const afterDot = cleaned.substring(lastDotIndex + 1);\n if (dotCount > 1) {\n cleaned = cleaned.replace(/\\./g, \"\");\n } else if (afterDot.length > 3) {\n cleaned = cleaned.replace(/\\./g, \"\");\n }\n decimalSeparator = \".\";\n thousandsSeparator = \"\";\n } else if (lastCommaIndex > -1 && lastDotIndex === -1) {\n const afterComma = cleaned.substring(lastCommaIndex + 1);\n if (commaCount > 1) {\n cleaned = cleaned.replace(/,/g, \"\");\n decimalSeparator = \".\";\n thousandsSeparator = \"\";\n } else if (afterComma.length > 3) {\n cleaned = cleaned.replace(/,/g, \"\");\n decimalSeparator = \".\";\n thousandsSeparator = \"\";\n } else {\n decimalSeparator = \",\";\n thousandsSeparator = \"\";\n }\n }\n\n let result = cleaned;\n if (thousandsSeparator) {\n result = result.replace(new RegExp(\"\\\\\" + thousandsSeparator, \"g\"), \"\");\n }\n result = result.replace(decimalSeparator, \".\");\n\n const num = parseFloat(result);\n return isNegative ? -Math.abs(num) : num;\n}\n","/**\n * String Formatting and Manipulation Utilities\n */\n\nexport function capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n}\n\nexport function capitalizeWords(str: string): string {\n return str\n .split(\" \")\n .map((word) => capitalize(word))\n .join(\" \");\n}\n\nexport function truncate(\n str: string,\n maxLength: number,\n suffix: string = \"...\",\n): string {\n if (str.length <= maxLength) return str;\n return str.slice(0, maxLength - suffix.length) + suffix;\n}\n\nexport function truncateWords(\n str: string,\n wordCount: number,\n suffix: string = \"...\",\n): string {\n const words = str.split(\" \");\n if (words.length <= wordCount) return str;\n return words.slice(0, wordCount).join(\" \") + suffix;\n}\n\nexport function stripHtml(html: string): string {\n return html.replace(/<[^>]*>/g, \"\");\n}\n\n/** Escapes HTML special characters to prevent XSS attacks. */\nexport function escapeHtml(str: string): string {\n const map: Record<string, string> = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n \"/\": \"/\",\n };\n return str.replace(/[&<>\"'/]/g, (char) => map[char]);\n}\n\nexport function slugify(str: string): string {\n return str\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\s-]/g, \"\")\n .replace(/[\\s_-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\n\nexport function maskString(\n str: string,\n visibleStart: number = 4,\n visibleEnd: number = 4,\n maskChar: string = \"*\",\n): string {\n if (str.length <= visibleStart + visibleEnd) return str;\n const start = str.slice(0, visibleStart);\n const end = str.slice(-visibleEnd);\n const masked = maskChar.repeat(str.length - visibleStart - visibleEnd);\n return start + masked + end;\n}\n\nexport function randomString(length: number = 10): string {\n const chars =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n const indices = new Uint8Array(length);\n globalThis.crypto.getRandomValues(indices);\n return Array.from(indices, (i) => chars[i % chars.length]).join(\"\");\n}\n\nexport function isEmptyString(str: string | null | undefined): boolean {\n return !str || str.trim().length === 0;\n}\n\n// ─── ProseMirror / TipTap JSON → HTML ────────────────────────────────────────\n\ninterface ProseMirrorMark {\n type: string;\n attrs?: Record<string, string | number | boolean | null>;\n}\n\ninterface ProseMirrorNode {\n type: string;\n text?: string;\n attrs?: Record<string, string | number | boolean | null>;\n marks?: ProseMirrorMark[];\n content?: ProseMirrorNode[];\n}\n\nfunction renderProseMirrorNodes(nodes: ProseMirrorNode[]): string {\n return nodes.map(renderProseMirrorNode).join(\"\");\n}\n\nfunction renderProseMirrorNode(node: ProseMirrorNode): string {\n switch (node.type) {\n case \"doc\":\n return renderProseMirrorNodes(node.content ?? []);\n case \"paragraph\": {\n const inner = renderProseMirrorNodes(node.content ?? []);\n return inner ? `<p>${inner}</p>` : \"<p></p>\";\n }\n case \"text\": {\n let text = escapeHtml(node.text ?? \"\");\n if (node.marks) {\n for (const mark of node.marks) {\n if (mark.type === \"bold\") text = `<strong>${text}</strong>`;\n else if (mark.type === \"italic\") text = `<em>${text}</em>`;\n else if (mark.type === \"underline\") text = `<u>${text}</u>`;\n else if (mark.type === \"strike\") text = `<s>${text}</s>`;\n else if (mark.type === \"code\") text = `<code>${text}</code>`;\n else if (mark.type === \"link\") {\n const rawHref = String(mark.attrs?.href ?? \"#\").trim();\n const safe = /^(https?:\\/\\/|mailto:|\\/|#)/i.test(rawHref)\n ? rawHref\n : \"#\";\n const href = safe.replace(\n /[&\"<>]/g,\n (c) =>\n ({ \"&\": \"&\", '\"': \""\", \"<\": \"<\", \">\": \">\" })[\n c\n ] ?? c,\n );\n text = `<a href=\"${href}\" rel=\"noopener noreferrer\">${text}</a>`;\n }\n }\n }\n return text;\n }\n case \"heading\": {\n const level = (node.attrs?.level as number) ?? 2;\n return `<h${level}>${renderProseMirrorNodes(node.content ?? [])}</h${level}>`;\n }\n case \"bulletList\":\n return `<ul>${renderProseMirrorNodes(node.content ?? [])}</ul>`;\n case \"orderedList\":\n return `<ol>${renderProseMirrorNodes(node.content ?? [])}</ol>`;\n case \"listItem\":\n return `<li>${renderProseMirrorNodes(node.content ?? [])}</li>`;\n case \"blockquote\":\n return `<blockquote>${renderProseMirrorNodes(node.content ?? [])}</blockquote>`;\n case \"codeBlock\":\n return `<pre><code>${renderProseMirrorNodes(node.content ?? [])}</code></pre>`;\n case \"hardBreak\":\n return \"<br>\";\n case \"horizontalRule\":\n return \"<hr>\";\n default:\n return renderProseMirrorNodes(node.content ?? []);\n }\n}\n\n/**\n * Converts a ProseMirror/TipTap JSON document string to HTML.\n * Falls back to returning the value unchanged if it is not a ProseMirror doc.\n */\nexport function proseMirrorToHtml(value: string): string {\n if (!value) return value;\n try {\n const parsed = JSON.parse(value) as ProseMirrorNode;\n if (parsed?.type === \"doc\") {\n return renderProseMirrorNodes(parsed.content ?? []);\n }\n return value;\n } catch {\n return value;\n }\n}\n","/**\n * Data Type Converters\n */\n\nexport function stringToBoolean(value: string): boolean {\n return [\"true\", \"yes\", \"1\", \"on\"].includes(value.toLowerCase());\n}\n\nexport function booleanToString(\n value: boolean,\n format: \"yesno\" | \"truefalse\" | \"onoff\" = \"truefalse\",\n): string {\n const formats = {\n yesno: { true: \"Yes\", false: \"No\" },\n truefalse: { true: \"True\", false: \"False\" },\n onoff: { true: \"On\", false: \"Off\" },\n };\n return formats[format][value.toString() as \"true\" | \"false\"];\n}\n\nexport function arrayToObject<T>(\n arr: T[],\n keyField: keyof T,\n): Record<string, T> {\n return arr.reduce(\n (acc, item) => {\n const key = String(item[keyField]);\n acc[key] = item;\n return acc;\n },\n {} as Record<string, T>,\n );\n}\n\nexport function objectToArray<T>(obj: Record<string, T>): T[] {\n return Object.values(obj);\n}\n\nexport function queryStringToObject(\n queryString: string,\n): Record<string, string> {\n const params = new URLSearchParams(queryString);\n const result: Record<string, string> = {};\n params.forEach((value, key) => {\n result[key] = value;\n });\n return result;\n}\n\nexport function objectToQueryString(obj: Record<string, unknown>): string {\n const params = new URLSearchParams();\n Object.entries(obj).forEach(([key, value]) => {\n if (value !== null && value !== undefined) {\n params.append(key, String(value));\n }\n });\n return params.toString();\n}\n\nexport function firestoreTimestampToDate(\n timestamp: { toDate?: () => Date; seconds?: number } | unknown,\n): Date {\n if (\n timestamp &&\n typeof timestamp === \"object\" &&\n \"toDate\" in timestamp &&\n typeof (timestamp as { toDate: () => Date }).toDate === \"function\"\n ) {\n return (timestamp as { toDate: () => Date }).toDate();\n }\n if (\n timestamp &&\n typeof timestamp === \"object\" &&\n \"seconds\" in timestamp &&\n typeof (timestamp as { seconds: number }).seconds === \"number\"\n ) {\n return new Date((timestamp as { seconds: number }).seconds * 1000);\n }\n return new Date(timestamp as string | number);\n}\n\nexport function dateToISOString(date: Date | string): string {\n return typeof date === \"string\"\n ? new Date(date).toISOString()\n : date.toISOString();\n}\n","/**\n * Cookie Utilities — client-side only (browser environment)\n */\n\nexport function parseCookies(): Record<string, string> {\n if (typeof document === \"undefined\") return {};\n const result: Record<string, string> = {};\n for (const cookie of document.cookie.split(\";\")) {\n const [name, ...valueParts] = cookie.trim().split(\"=\");\n if (name) result[name.trim()] = decodeURIComponent(valueParts.join(\"=\"));\n }\n return result;\n}\n\nexport function getCookie(name: string): string | null {\n if (typeof document === \"undefined\") return null;\n for (const cookie of document.cookie.split(\";\")) {\n const [cookieName, ...valueParts] = cookie.trim().split(\"=\");\n if (cookieName?.trim() === name)\n return decodeURIComponent(valueParts.join(\"=\"));\n }\n return null;\n}\n\nexport function hasCookie(name: string): boolean {\n return getCookie(name) !== null;\n}\n\nexport function deleteCookie(name: string, path: string = \"/\"): void {\n if (typeof document === \"undefined\") return;\n document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=${path};`;\n}\n","/**\r\n * SEO-Friendly ID Generators\r\n *\r\n * Every generator accepts an optional `customId` override. When supplied and\r\n * non-empty it is returned as-is, letting callers bring their own IDs without\r\n * duplicating generator logic.\r\n */\r\n\r\nimport { slugify } from \"./string.formatter\";\r\n\r\nfunction generateRandomString(length: number = 6): string {\r\n const chars = \"abcdefghijklmnopqrstuvwxyz0123456789\";\r\n const indices = new Uint8Array(length);\r\n globalThis.crypto.getRandomValues(indices);\r\n return Array.from(indices, (i) => chars[i % chars.length]).join(\"\");\r\n}\r\n\r\nfunction getTimestamp(): string {\r\n return Date.now().toString();\r\n}\r\n\r\n// ─── Category ────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateCategoryIdInput {\r\n name: string;\r\n parentName?: string;\r\n rootName?: string;\r\n customId?: string;\r\n}\r\nexport function generateCategoryId(input: GenerateCategoryIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const nameSlug = slugify(input.name);\r\n if (input.parentName)\r\n return `category-${nameSlug}-${slugify(input.parentName)}`;\r\n if (input.rootName) return `category-${nameSlug}-${slugify(input.rootName)}`;\r\n return `category-${nameSlug}`;\r\n}\r\n\r\n// ─── User ─────────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateUserIdInput {\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n customId?: string;\r\n}\r\nexport function generateUserId(input: GenerateUserIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const firstSlug = slugify(input.firstName);\r\n const lastSlug = slugify(input.lastName);\r\n const emailPrefix = input.email.split(\"@\")[0].toLowerCase().substring(0, 8);\r\n const emailSlug = slugify(emailPrefix);\r\n return `user-${firstSlug}-${lastSlug}-${emailSlug}`;\r\n}\r\n\r\n// ─── Product ─────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateProductIdInput {\r\n name: string;\r\n category: string;\r\n condition: \"new\" | \"used\" | \"refurbished\";\r\n sellerName: string;\r\n count?: number;\r\n customId?: string;\r\n}\r\nexport function generateProductId(input: GenerateProductIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const count = input.count || 1;\r\n return `product-${slugify(input.name)}-${slugify(input.category)}-${input.condition}-${slugify(input.sellerName)}-${count}`;\r\n}\r\n\r\n// ─── Auction ─────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateAuctionIdInput {\r\n name: string;\r\n category: string;\r\n condition: \"new\" | \"used\" | \"refurbished\";\r\n sellerName: string;\r\n count?: number;\r\n customId?: string;\r\n}\r\nexport function generateAuctionId(input: GenerateAuctionIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const count = input.count || 1;\r\n return `auction-${slugify(input.name)}-${slugify(input.category)}-${input.condition}-${slugify(input.sellerName)}-${count}`;\r\n}\r\n\r\n// ─── Pre-order ────────────────────────────────────────────────────────────────\r\n\r\nexport interface GeneratePreOrderIdInput {\r\n name: string;\r\n category: string;\r\n condition: \"new\" | \"used\" | \"refurbished\";\r\n sellerName: string;\r\n count?: number;\r\n customId?: string;\r\n}\r\nexport function generatePreOrderId(input: GeneratePreOrderIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const count = input.count || 1;\r\n return `preorder-${slugify(input.name)}-${slugify(input.category)}-${input.condition}-${slugify(input.sellerName)}-${count}`;\r\n}\r\n\r\n// ─── Review ───────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateReviewIdInput {\r\n productName: string;\r\n userFirstName: string;\r\n date?: Date;\r\n customId?: string;\r\n}\r\nexport function generateReviewId(input: GenerateReviewIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const date = input.date || new Date();\r\n const y = date.getFullYear();\r\n const m = String(date.getMonth() + 1).padStart(2, \"0\");\r\n const d = String(date.getDate()).padStart(2, \"0\");\r\n return `review-${slugify(input.productName)}-${slugify(input.userFirstName)}-${y}${m}${d}`;\r\n}\r\n\r\n// ─── Order ────────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateOrderIdInput {\r\n productCount: number;\r\n date?: Date;\r\n customId?: string;\r\n}\r\nexport function generateOrderId(input: GenerateOrderIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const date = input.date || new Date();\r\n const y = date.getFullYear();\r\n const m = String(date.getMonth() + 1).padStart(2, \"0\");\r\n const d = String(date.getDate()).padStart(2, \"0\");\r\n return `order-${input.productCount}-${y}${m}${d}-${generateRandomString(6)}`;\r\n}\r\n\r\n// ─── FAQ ──────────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateFAQIdInput {\r\n category: string;\r\n question: string;\r\n customId?: string;\r\n}\r\nexport function generateFAQId(input: GenerateFAQIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n return `faq-${slugify(input.category)}-${slugify(input.question).substring(0, 50)}`;\r\n}\r\n\r\n// ─── Coupon ───────────────────────────────────────────────────────────────────\r\n\r\nexport function generateCouponId(code: string, customId?: string): string {\r\n if (customId?.trim()) return customId.trim();\r\n return `coupon-${code.toUpperCase().replace(/[^A-Z0-9]/g, \"\")}`;\r\n}\r\n\r\n// ─── Carousel ─────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateCarouselIdInput {\r\n title: string;\r\n customId?: string;\r\n}\r\nexport function generateCarouselId(input: GenerateCarouselIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n return `carousel-${slugify(input.title).substring(0, 30)}-${getTimestamp()}`;\r\n}\r\n\r\n// ─── Homepage section ─────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateHomepageSectionIdInput {\r\n type: string;\r\n customId?: string;\r\n}\r\nexport function generateHomepageSectionId(\r\n input: GenerateHomepageSectionIdInput,\r\n): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n return `section-${slugify(input.type)}-${getTimestamp()}`;\r\n}\r\n\r\n// ─── Bid ──────────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateBidIdInput {\r\n productName: string;\r\n userFirstName: string;\r\n date?: Date;\r\n random?: string;\r\n customId?: string;\r\n}\r\nexport function generateBidId(input: GenerateBidIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const date = input.date || new Date();\r\n const y = date.getFullYear();\r\n const m = String(date.getMonth() + 1).padStart(2, \"0\");\r\n const d = String(date.getDate()).padStart(2, \"0\");\r\n const random = input.random || generateRandomString(6);\r\n return `bid-${slugify(input.productName).substring(0, 30)}-${slugify(input.userFirstName)}-${y}${m}${d}-${random}`;\r\n}\r\n\r\n// ─── Blog post ────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateBlogPostIdInput {\r\n title: string;\r\n category: string;\r\n status?: \"draft\" | \"published\" | \"archived\";\r\n customId?: string;\r\n}\r\nexport function generateBlogPostId(input: GenerateBlogPostIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const titleSlug = slugify(input.title).substring(0, 40).replace(/-+$/, \"\");\r\n const categorySlug = slugify(input.category);\r\n const base = `blog-${titleSlug}-${categorySlug}`;\r\n if (input.status && input.status !== \"published\")\r\n return `${base}-${input.status}`;\r\n return base;\r\n}\r\n\r\n// ─── Payout ───────────────────────────────────────────────────────────────────\r\n\r\nexport interface GeneratePayoutIdInput {\r\n sellerName: string;\r\n date?: Date;\r\n customId?: string;\r\n}\r\nexport function generatePayoutId(input: GeneratePayoutIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const sellerSlug = slugify(input.sellerName)\r\n .substring(0, 25)\r\n .replace(/-+$/, \"\");\r\n const date = input.date || new Date();\r\n const y = date.getFullYear();\r\n const m = String(date.getMonth() + 1).padStart(2, \"0\");\r\n const d = String(date.getDate()).padStart(2, \"0\");\r\n return `payout-${sellerSlug}-${y}${m}${d}-${generateRandomString(6)}`;\r\n}\r\n\r\n// ─── Offer ────────────────────────────────────────────────────────────────────\r\n\r\nexport interface GenerateOfferIdInput {\r\n productId: string;\r\n buyerUid: string;\r\n date?: Date;\r\n customId?: string;\r\n}\r\n\r\nexport function generateOfferId(input: GenerateOfferIdInput): string {\r\n if (input.customId?.trim()) return input.customId.trim();\r\n const productPrefix = slugify(input.productId)\r\n .substring(0, 20)\r\n .replace(/-+$/, \"\");\r\n const buyerPrefix = slugify(input.buyerUid)\r\n .substring(0, 12)\r\n .replace(/-+$/, \"\");\r\n const date = input.date || new Date();\r\n const y = date.getFullYear();\r\n const m = String(date.getMonth() + 1).padStart(2, \"0\");\r\n const d = String(date.getDate()).padStart(2, \"0\");\r\n return `offer-${productPrefix}-${buyerPrefix}-${y}${m}${d}-${generateRandomString(6)}`;\r\n}\r\n\r\n// ─── ID existence helpers ─────────────────────────────────────────────────────\r\n\r\nexport async function idExists(\r\n getExistingId: () => Promise<unknown>,\r\n): Promise<boolean> {\r\n try {\r\n const doc = await getExistingId();\r\n return !!doc;\r\n } catch {\r\n return false;\r\n }\r\n}\r\n\r\nexport async function generateUniqueId(\r\n generateId: (count: number) => string,\r\n checkExists: (id: string) => Promise<boolean>,\r\n maxAttempts: number = 100,\r\n): Promise<string> {\r\n for (let count = 1; count <= maxAttempts; count++) {\r\n const id = generateId(count);\r\n if (!(await checkExists(id))) return id;\r\n }\r\n return `${generateId(maxAttempts)}-${generateRandomString(4)}`;\r\n}\r\n\r\n// ─── Barcode / QR helpers ─────────────────────────────────────────────────────\r\n\r\nexport function generateBarcodeFromId(id: string): string {\r\n const digits = id.replace(/\\D/g, \"\");\r\n if (digits.length >= 12) return digits.slice(0, 12);\r\n return digits.padEnd(12, \"0\");\r\n}\r\n\r\nexport function generateQRCodeData(id: string, baseUrl: string): string {\r\n if (id.startsWith(\"product-\")) return `${baseUrl}/products/${id}`;\r\n if (id.startsWith(\"auction-\")) return `${baseUrl}/auctions/${id}`;\r\n if (id.startsWith(\"category-\")) return `${baseUrl}/categories/${id}`;\r\n if (id.startsWith(\"store-\")) return `${baseUrl}/stores/${id}`;\r\n if (id.startsWith(\"event-\")) return `${baseUrl}/events/${id}`;\r\n return `${baseUrl}/${id}`;\r\n}\r\n\r\n// ─── Media filename generators ───────────────────────────────────────────────\r\n//\r\n// Naming patterns (all lowercase, hyphen-separated):\r\n// product image → product-{name}-{category}-{store}-image-{n}.{ext}\r\n// product video → product-{name}-{category}-{store}-video-{n}.{ext}\r\n// auction image → auction-{name}-{category}-{store}-image-{n}.{ext}\r\n// preorder image → preorder-{name}-{category}-{store}-image-{n}.{ext}\r\n// store logo → store-{name}-logo.{ext}\r\n// store banner → store-{name}-banner.{ext}\r\n// blog image → blog-{title}-{category}-image-{n}.{ext}\r\n// event image → event-{title}-image-{n}.{ext}\r\n// category image → category-{name}-image.{ext}\r\n// user avatar → user-{firstName}-{lastName}-avatar.{ext}\r\n// carousel image → carousel-{title}-image.{ext}\r\n// cropped image → {original-basename}-cropped.{ext}\r\n// trimmed video → {original-basename}-trimmed.{ext}\r\n// invoice → invoice-{orderId}-{YYYYMMDD}.pdf\r\n// payout doc → payout-doc-{sellerName}-{YYYYMMDD}.pdf\r\n\r\nfunction basenameStem(filenameOrPath: string): string {\r\n const filename = filenameOrPath.split(\"/\").pop() ?? filenameOrPath;\r\n const dotIndex = filename.lastIndexOf(\".\");\r\n return dotIndex > 0 ? filename.slice(0, dotIndex) : filename;\r\n}\r\n\r\nexport interface GenerateProductImageFilenameInput {\r\n name: string;\r\n category: string;\r\n store: string;\r\n index?: number;\r\n ext?: string;\r\n}\r\nexport function generateProductImageFilename(\r\n input: GenerateProductImageFilenameInput,\r\n): string {\r\n const name = slugify(input.name).substring(0, 40).replace(/-+$/, \"\");\r\n const category = slugify(input.category).substring(0, 20).replace(/-+$/, \"\");\r\n const store = slugify(input.store).substring(0, 20).replace(/-+$/, \"\");\r\n const n = input.index ?? 1;\r\n const ext = (input.ext ?? \"webp\").replace(/^\\./, \"\");\r\n return `product-${name}-${category}-${store}-image-${n}.${ext}`;\r\n}\r\n\r\nexport interface GenerateProductVideoFilenameInput {\r\n name: string;\r\n category: string;\r\n store: string;\r\n index?: number;\r\n ext?: string;\r\n}\r\nexport function generateProductVideoFilename(\r\n input: GenerateProductVideoFilenameInput,\r\n): string {\r\n const name = slugify(input.name).substring(0, 40).replace(/-+$/, \"\");\r\n const category = slugify(input.category).substring(0, 20).replace(/-+$/, \"\");\r\n const store = slugify(input.store).substring(0, 20).replace(/-+$/, \"\");\r\n const n = input.index ?? 1;\r\n const ext = (input.ext ?? \"mp4\").replace(/^\\./, \"\");\r\n return `product-${name}-${category}-${store}-video-${n}.${ext}`;\r\n}\r\n\r\nexport interface GenerateAuctionImageFilenameInput {\r\n name: string;\r\n category: string;\r\n store: string;\r\n index?: number;\r\n ext?: string;\r\n}\r\nexport function generateAuctionImageFilename(\r\n input: GenerateAuctionImageFilenameInput,\r\n): string {\r\n const name = slugify(input.name).substring(0, 40).replace(/-+$/, \"\");\r\n const category = slugify(input.category).substring(0, 20).replace(/-+$/, \"\");\r\n const store = slugify(input.store).substring(0, 20).replace(/-+$/, \"\");\r\n const n = input.index ?? 1;\r\n const ext = (input.ext ?? \"webp\").replace(/^\\./, \"\");\r\n return `auction-${name}-${category}-${store}-image-${n}.${ext}`;\r\n}\r\n\r\nexport interface GeneratePreOrderImageFilenameInput {\r\n name: string;\r\n category: string;\r\n store: string;\r\n index?: number;\r\n ext?: string;\r\n}\r\nexport function generatePreOrderImageFilename(\r\n input: GeneratePreOrderImageFilenameInput,\r\n): string {\r\n const name = slugify(input.name).substring(0, 40).replace(/-+$/, \"\");\r\n const category = slugify(input.category).substring(0, 20).replace(/-+$/, \"\");\r\n const store = slugify(input.store).substring(0, 20).replace(/-+$/, \"\");\r\n const n = input.index ?? 1;\r\n const ext = (input.ext ?? \"webp\").replace(/^\\./, \"\");\r\n return `preorder-${name}-${category}-${store}-image-${n}.${ext}`;\r\n}\r\n\r\nexport interface GenerateReviewImageFilenameInput {\r\n productId: string;\r\n index?: number;\r\n ext?: string;\r\n}\r\nexport function generateReviewImageFilename(\r\n input: GenerateReviewImageFilenameInput,\r\n): string {\r\n const product = slugify(input.productId).substring(0, 40).replace(/-+$/, \"\");\r\n const n = input.index ?? 1;\r\n const ext = (input.ext ?? \"webp\").replace(/^\\./, \"\");\r\n return `review-${product}-image-${n}.${ext}`;\r\n}\r\n\r\nexport interface GenerateReviewVideoFilenameInput {\r\n productId: string;\r\n ext?: string;\r\n}\r\nexport function generateReviewVideoFilename(\r\n input: GenerateReviewVideoFilenameInput,\r\n): string {\r\n const product = slugify(input.productId).substring(0, 40).replace(/-+$/, \"\");\r\n const ext = (input.ext ?? \"mp4\").replace(/^\\./, \"\");\r\n return `review-${product}-video-1.${ext}`;\r\n}\r\n\r\nexport function generateStoreLogoFilename(\r\n storeName: string,\r\n ext: string = \"webp\",\r\n): string {\r\n const store = slugify(storeName).substring(0, 40).replace(/-+$/, \"\");\r\n return `store-${store}-logo.${ext.replace(/^\\./, \"\")}`;\r\n}\r\n\r\nexport function generateStoreBannerFilename(\r\n storeName: string,\r\n ext: string = \"webp\",\r\n): string {\r\n const store = slugify(storeName).substring(0, 40).replace(/-+$/, \"\");\r\n return `store-${store}-banner.${ext.replace(/^\\./, \"\")}`;\r\n}\r\n\r\nexport interface GenerateBlogImageFilenameInput {\r\n title: string;\r\n category: string;\r\n index?: number;\r\n ext?: string;\r\n}\r\nexport function generateBlogImageFilename(\r\n input: GenerateBlogImageFilenameInput,\r\n): string {\r\n const title = slugify(input.title).substring(0, 40).replace(/-+$/, \"\");\r\n const category = slugify(input.category).substring(0, 20).replace(/-+$/, \"\");\r\n const n = input.index ?? 1;\r\n const ext = (input.ext ?? \"webp\").replace(/^\\./, \"\");\r\n return `blog-${title}-${category}-image-${n}.${ext}`;\r\n}\r\n\r\nexport interface GenerateEventImageFilenameInput {\r\n title: string;\r\n index?: number;\r\n ext?: string;\r\n}\r\nexport function generateEventImageFilename(\r\n input: GenerateEventImageFilenameInput,\r\n): string {\r\n const title = slugify(input.title).substring(0, 50).replace(/-+$/, \"\");\r\n const n = input.index ?? 1;\r\n const ext = (input.ext ?? \"webp\").replace(/^\\./, \"\");\r\n return `event-${title}-image-${n}.${ext}`;\r\n}\r\n\r\nexport interface GenerateRichTextImageFilenameInput {\r\n entity: string;\r\n name: string;\r\n index?: number;\r\n ext?: string;\r\n}\r\nexport function generateRichTextImageFilename(\r\n input: GenerateRichTextImageFilenameInput,\r\n): string {\r\n const entity = slugify(input.entity).substring(0, 24).replace(/-+$/, \"\");\r\n const name = slugify(input.name).substring(0, 40).replace(/-+$/, \"\");\r\n const n = input.index ?? 1;\r\n const ext = (input.ext ?? \"webp\").replace(/^\\./, \"\");\r\n return `rich-text-${entity}-${name}-image-${n}.${ext}`;\r\n}\r\n\r\nexport function generateCategoryImageFilename(\r\n categoryName: string,\r\n ext: string = \"webp\",\r\n): string {\r\n const name = slugify(categoryName).substring(0, 40).replace(/-+$/, \"\");\r\n return `category-${name}-image.${ext.replace(/^\\./, \"\")}`;\r\n}\r\n\r\nexport function generateUserAvatarFilename(\r\n firstName: string,\r\n lastName: string,\r\n ext: string = \"webp\",\r\n): string {\r\n const first = slugify(firstName).substring(0, 20).replace(/-+$/, \"\");\r\n const last = slugify(lastName).substring(0, 20).replace(/-+$/, \"\");\r\n return `user-${first}-${last}-avatar.${ext.replace(/^\\./, \"\")}`;\r\n}\r\n\r\nexport function generateCarouselImageFilename(\r\n title: string,\r\n ext: string = \"webp\",\r\n): string {\r\n const slug = slugify(title).substring(0, 40).replace(/-+$/, \"\");\r\n return `carousel-${slug}-image.${ext.replace(/^\\./, \"\")}`;\r\n}\r\n\r\nexport function generateCroppedImageFilename(\r\n originalFilenameOrPath: string,\r\n ext?: string,\r\n): string {\r\n const stem = basenameStem(originalFilenameOrPath);\r\n const originalExt = originalFilenameOrPath.includes(\".\")\r\n ? originalFilenameOrPath.split(\".\").pop()!\r\n : \"webp\";\r\n return `${stem}-cropped.${(ext ?? originalExt).replace(/^\\./, \"\")}`;\r\n}\r\n\r\nexport function generateTrimmedVideoFilename(\r\n originalFilenameOrPath: string,\r\n ext?: string,\r\n): string {\r\n const stem = basenameStem(originalFilenameOrPath);\r\n const originalExt = originalFilenameOrPath.includes(\".\")\r\n ? originalFilenameOrPath.split(\".\").pop()!\r\n : \"mp4\";\r\n return `${stem}-trimmed.${(ext ?? originalExt).replace(/^\\./, \"\")}`;\r\n}\r\n\r\nexport function generateInvoiceFilename(\r\n orderId: string,\r\n date: Date = new Date(),\r\n): string {\r\n const y = date.getFullYear();\r\n const m = String(date.getMonth() + 1).padStart(2, \"0\");\r\n const d = String(date.getDate()).padStart(2, \"0\");\r\n return `invoice-${orderId}-${y}${m}${d}.pdf`;\r\n}\r\n\r\nexport function generatePayoutDocFilename(\r\n sellerName: string,\r\n date: Date = new Date(),\r\n): string {\r\n const seller = slugify(sellerName).substring(0, 30).replace(/-+$/, \"\");\r\n const y = date.getFullYear();\r\n const m = String(date.getMonth() + 1).padStart(2, \"0\");\r\n const d = String(date.getDate()).padStart(2, \"0\");\r\n return `payout-doc-${seller}-${y}${m}${d}.pdf`;\r\n}\r\n\r\n// ─── Unified media filename dispatcher ───────────────────────────────────────\r\n\r\nexport type MediaFilenameContext =\r\n | ({ type: \"product-image\" } & GenerateProductImageFilenameInput)\r\n | ({ type: \"product-video\" } & GenerateProductVideoFilenameInput)\r\n | ({ type: \"review-image\" } & GenerateReviewImageFilenameInput)\r\n | ({ type: \"review-video\" } & GenerateReviewVideoFilenameInput)\r\n | ({ type: \"auction-image\" } & GenerateAuctionImageFilenameInput)\r\n | ({ type: \"preorder-image\" } & GeneratePreOrderImageFilenameInput)\r\n | { type: \"store-logo\"; store: string; ext?: string }\r\n | { type: \"store-banner\"; store: string; ext?: string }\r\n | ({ type: \"blog-image\" } & GenerateBlogImageFilenameInput)\r\n | ({ type: \"blog-cover\" } & GenerateBlogImageFilenameInput)\r\n | ({ type: \"blog-content-image\" } & GenerateBlogImageFilenameInput)\r\n | ({ type: \"blog-additional-image\" } & GenerateBlogImageFilenameInput)\r\n | ({ type: \"event-image\" } & GenerateEventImageFilenameInput)\r\n | ({ type: \"event-cover\" } & GenerateEventImageFilenameInput)\r\n | ({ type: \"event-winner-image\" } & GenerateEventImageFilenameInput)\r\n | ({ type: \"event-additional-image\" } & GenerateEventImageFilenameInput)\r\n | ({ type: \"rich-text-image\" } & GenerateRichTextImageFilenameInput)\r\n | { type: \"category-image\"; name: string; ext?: string }\r\n | { type: \"user-avatar\"; firstName: string; lastName: string; ext?: string }\r\n | { type: \"carousel-image\"; title: string; ext?: string }\r\n | { type: \"invoice\"; orderId: string; date?: Date }\r\n | { type: \"payout-doc\"; sellerName: string; date?: Date };\r\n\r\nexport function generateMediaFilename(ctx: MediaFilenameContext): string {\r\n switch (ctx.type) {\r\n case \"product-image\":\r\n return generateProductImageFilename(ctx);\r\n case \"product-video\":\r\n return generateProductVideoFilename(ctx);\r\n case \"review-image\":\r\n return generateReviewImageFilename(ctx);\r\n case \"review-video\":\r\n return generateReviewVideoFilename(ctx);\r\n case \"auction-image\":\r\n return generateAuctionImageFilename(ctx);\r\n case \"preorder-image\":\r\n return generatePreOrderImageFilename(ctx);\r\n case \"store-logo\":\r\n return generateStoreLogoFilename(ctx.store, ctx.ext);\r\n case \"store-banner\":\r\n return generateStoreBannerFilename(ctx.store, ctx.ext);\r\n case \"blog-image\":\r\n return generateBlogImageFilename(ctx);\r\n case \"blog-cover\":\r\n return generateBlogImageFilename(ctx);\r\n case \"blog-content-image\":\r\n return generateBlogImageFilename(ctx);\r\n case \"blog-additional-image\":\r\n return generateBlogImageFilename(ctx);\r\n case \"event-image\":\r\n return generateEventImageFilename(ctx);\r\n case \"event-cover\":\r\n return generateEventImageFilename(ctx);\r\n case \"event-winner-image\":\r\n return generateEventImageFilename(ctx);\r\n case \"event-additional-image\":\r\n return generateEventImageFilename(ctx);\r\n case \"rich-text-image\":\r\n return generateRichTextImageFilename(ctx);\r\n case \"category-image\":\r\n return generateCategoryImageFilename(ctx.name, ctx.ext);\r\n case \"user-avatar\":\r\n return generateUserAvatarFilename(ctx.firstName, ctx.lastName, ctx.ext);\r\n case \"carousel-image\":\r\n return generateCarouselImageFilename(ctx.title, ctx.ext);\r\n case \"invoice\":\r\n return generateInvoiceFilename(ctx.orderId, ctx.date);\r\n case \"payout-doc\":\r\n return generatePayoutDocFilename(ctx.sellerName, ctx.date);\r\n }\r\n}\r\n","import { z } from \"zod\";\r\n\r\nexport type MediaFieldType = \"image\" | \"video\" | \"file\";\r\n\r\nexport type MediaFieldInput = MediaField | string | null | undefined;\r\n\r\nexport interface MediaField {\r\n url: string;\r\n type: MediaFieldType;\r\n alt?: string;\r\n thumbnailUrl?: string;\r\n}\r\n\r\nexport const mediaFieldSchema = z.object({\r\n url: z.string().url(),\r\n type: z.enum([\"image\", \"video\", \"file\"]),\r\n alt: z.string().optional(),\r\n thumbnailUrl: z.string().url().optional(),\r\n});\r\n\r\nexport function coerceMediaField(\r\n value: MediaFieldInput,\r\n fallbackType: MediaFieldType = \"image\",\r\n): MediaField | null {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n if (typeof value === \"string\") {\r\n return {\r\n url: value,\r\n type: fallbackType,\r\n };\r\n }\r\n\r\n return value;\r\n}\r\n\r\nexport function coerceMediaFieldArray(\r\n values: Array<MediaField | string> | null | undefined,\r\n fallbackType: MediaFieldType = \"image\",\r\n): MediaField[] {\r\n if (!values || values.length === 0) {\r\n return [];\r\n }\r\n\r\n return values\r\n .map((value) => coerceMediaField(value, fallbackType))\r\n .filter((value): value is MediaField => value !== null);\r\n}\r\n\r\nexport function getMediaUrl(value: MediaFieldInput): string | undefined {\r\n return coerceMediaField(value)?.url;\r\n}\r\n\r\nexport function inferMediaTypeFromMime(\r\n mimeType?: string,\r\n url?: string,\r\n): MediaFieldType {\r\n if (mimeType?.startsWith(\"image/\")) return \"image\";\r\n if (mimeType?.startsWith(\"video/\")) return \"video\";\r\n\r\n if (url) {\r\n if (/\\.(jpe?g|png|gif|webp|svg)(\\?|$)/i.test(url)) return \"image\";\r\n if (/\\.(mp4|webm|ogg|mov|avi)(\\?|$)/i.test(url)) return \"video\";\r\n }\r\n\r\n return \"file\";\r\n}\r\n","/**\r\n * Array Data Helpers\r\n *\r\n * Generic helpers for array data operations — no external dependencies.\r\n */\r\n\r\nexport function groupBy<T>(array: T[], key: keyof T): Record<string, T[]> {\r\n return array.reduce(\r\n (result, item) => {\r\n const groupKey = String(item[key]);\r\n if (!result[groupKey]) {\r\n result[groupKey] = [];\r\n }\r\n result[groupKey].push(item);\r\n return result;\r\n },\r\n {} as Record<string, T[]>,\r\n );\r\n}\r\n\r\nexport function unique<T>(array: T[]): T[] {\r\n return Array.from(new Set(array));\r\n}\r\n\r\nexport function uniqueBy<T>(array: T[], key: keyof T): T[] {\r\n const seen = new Set();\r\n return array.filter((item) => {\r\n const value = item[key];\r\n if (seen.has(value)) return false;\r\n seen.add(value);\r\n return true;\r\n });\r\n}\r\n\r\nexport function sortBy<T>(\r\n array: T[],\r\n key: keyof T,\r\n order: \"asc\" | \"desc\" = \"asc\",\r\n): T[] {\r\n return [...array].sort((a, b) => {\r\n const aVal = a[key];\r\n const bVal = b[key];\r\n if (aVal < bVal) return order === \"asc\" ? -1 : 1;\r\n if (aVal > bVal) return order === \"asc\" ? 1 : -1;\r\n return 0;\r\n });\r\n}\r\n\r\nexport function chunk<T>(array: T[], size: number): T[][] {\r\n const chunks: T[][] = [];\r\n for (let i = 0; i < array.length; i += size) {\r\n chunks.push(array.slice(i, i + size));\r\n }\r\n return chunks;\r\n}\r\n\r\nexport function paginate<T>(\r\n array: T[],\r\n page: number,\r\n perPage: number,\r\n): {\r\n data: T[];\r\n total: number;\r\n page: number;\r\n perPage: number;\r\n totalPages: number;\r\n} {\r\n const total = array.length;\r\n const totalPages = Math.ceil(total / perPage);\r\n const start = (page - 1) * perPage;\r\n const end = start + perPage;\r\n return { data: array.slice(start, end), total, page, perPage, totalPages };\r\n}\r\n","/**\r\n * Object Data Helpers\r\n *\r\n * Generic helpers for object data operations — no external dependencies.\r\n */\r\n\r\nexport function deepMerge<T extends Record<string, unknown>>(\r\n target: T,\r\n source: Partial<T>,\r\n): T {\r\n const output = { ...target };\r\n Object.keys(source).forEach((key) => {\r\n const sourceValue = source[key as keyof T];\r\n const targetValue = target[key as keyof T];\r\n if (\r\n sourceValue &&\r\n typeof sourceValue === \"object\" &&\r\n !Array.isArray(sourceValue) &&\r\n targetValue &&\r\n typeof targetValue === \"object\" &&\r\n !Array.isArray(targetValue)\r\n ) {\r\n output[key as keyof T] = deepMerge(\r\n targetValue as Record<string, unknown>,\r\n sourceValue as Partial<Record<string, unknown>>,\r\n ) as T[keyof T];\r\n } else {\r\n output[key as keyof T] = sourceValue as T[keyof T];\r\n }\r\n });\r\n return output;\r\n}\r\n\r\nexport function pick<T extends Record<string, unknown>, K extends keyof T>(\r\n obj: T,\r\n keys: K[],\r\n): Pick<T, K> {\r\n const result = {} as Pick<T, K>;\r\n keys.forEach((key) => {\r\n if (key in obj) result[key] = obj[key];\r\n });\r\n return result;\r\n}\r\n\r\nexport function omit<T extends Record<string, unknown>, K extends keyof T>(\r\n obj: T,\r\n keys: K[],\r\n): Omit<T, K> {\r\n const result = { ...obj };\r\n keys.forEach((key) => {\r\n delete result[key];\r\n });\r\n return result as Omit<T, K>;\r\n}\r\n\r\nexport function isEmptyObject(obj: Record<string, unknown>): boolean {\r\n return Object.keys(obj).length === 0;\r\n}\r\n\r\nexport function deepClone<T>(obj: T): T {\r\n if (obj === null || typeof obj !== \"object\") return obj;\r\n if (Array.isArray(obj))\r\n return obj.map((item) => deepClone(item)) as unknown as T;\r\n const cloned = {} as T;\r\n const objectRecord = obj as Record<string, unknown>;\r\n Object.keys(objectRecord).forEach((key) => {\r\n cloned[key as keyof T] = deepClone(objectRecord[key]) as T[keyof T];\r\n });\r\n return cloned;\r\n}\r\n\r\nexport function isEqual(obj1: unknown, obj2: unknown): boolean {\r\n if (obj1 === obj2) return true;\r\n if (\r\n typeof obj1 !== \"object\" ||\r\n typeof obj2 !== \"object\" ||\r\n obj1 === null ||\r\n obj2 === null\r\n ) {\r\n return false;\r\n }\r\n const first = obj1 as Record<string, unknown>;\r\n const second = obj2 as Record<string, unknown>;\r\n const keys1 = Object.keys(first);\r\n const keys2 = Object.keys(second);\r\n if (keys1.length !== keys2.length) return false;\r\n return keys1.every((key) => isEqual(first[key], second[key]));\r\n}\r\n\r\nexport function cleanObject<T extends Record<string, unknown>>(\r\n obj: T,\r\n options: {\r\n removeEmpty?: boolean;\r\n removeNull?: boolean;\r\n removeUndefined?: boolean;\r\n } = {},\r\n): Partial<T> {\r\n const {\r\n removeEmpty = true,\r\n removeNull = true,\r\n removeUndefined = true,\r\n } = options;\r\n return Object.entries(obj).reduce((acc, [key, value]) => {\r\n const shouldRemove =\r\n (removeUndefined && value === undefined) ||\r\n (removeNull && value === null) ||\r\n (removeEmpty && value === \"\");\r\n if (!shouldRemove) acc[key as keyof T] = value as T[keyof T];\r\n return acc;\r\n }, {} as Partial<T>);\r\n}\r\n","/**\r\n * Pagination Helper\r\n *\r\n * Generic helpers for pagination metadata calculations.\r\n */\r\n\r\nexport interface PaginationOptions {\r\n page: number;\r\n perPage: number;\r\n total: number;\r\n}\r\n\r\nexport interface PaginationResult {\r\n currentPage: number;\r\n perPage: number;\r\n total: number;\r\n totalPages: number;\r\n hasNextPage: boolean;\r\n hasPrevPage: boolean;\r\n nextPage: number | null;\r\n prevPage: number | null;\r\n startIndex: number;\r\n endIndex: number;\r\n}\r\n\r\nexport function calculatePagination(\r\n options: PaginationOptions,\r\n): PaginationResult {\r\n const { page, perPage, total } = options;\r\n const totalPages = Math.ceil(total / perPage);\r\n const currentPage = Math.max(1, Math.min(page, totalPages));\r\n const startIndex = (currentPage - 1) * perPage;\r\n const endIndex = Math.min(startIndex + perPage, total);\r\n return {\r\n currentPage,\r\n perPage,\r\n total,\r\n totalPages,\r\n hasNextPage: currentPage < totalPages,\r\n hasPrevPage: currentPage > 1,\r\n nextPage: currentPage < totalPages ? currentPage + 1 : null,\r\n prevPage: currentPage > 1 ? currentPage - 1 : null,\r\n startIndex,\r\n endIndex,\r\n };\r\n}\r\n","/**\r\n * Sorting Helper\r\n *\r\n * Generic helpers for sorting operations.\r\n */\r\n\r\nexport type SortOrder = \"asc\" | \"desc\";\r\n\r\nexport function sort<T>(\r\n array: T[],\r\n key: keyof T,\r\n order: SortOrder = \"asc\",\r\n): T[] {\r\n return [...array].sort((a, b) => {\r\n const aVal = a[key];\r\n const bVal = b[key];\r\n if (aVal < bVal) return order === \"asc\" ? -1 : 1;\r\n if (aVal > bVal) return order === \"asc\" ? 1 : -1;\r\n return 0;\r\n });\r\n}\r\n","/**\r\n * Filter Helper\r\n *\r\n * Builds Sieve-compatible filter strings from conditional entries.\r\n *\r\n * @example\r\n * ```ts\r\n * buildSieveFilters(\r\n * [\"status==\", statusFilter],\r\n * [\"totalPrice>=\", minAmount],\r\n * [\"title@=*\", searchTerm],\r\n * );\r\n * // → \"status==pending,totalPrice>=100,title@=*shoes\"\r\n * ```\r\n */\r\n\r\ntype FilterEntry = [expression: string, value: string | undefined | null];\r\n\r\nexport function buildSieveFilters(...entries: FilterEntry[]): string {\r\n return entries\r\n .filter((entry): entry is [string, string] => !!entry[1])\r\n .map(([expr, value]) => `${expr}${value}`)\r\n .join(\",\");\r\n}\r\n","/**\r\n * Animation Helpers\r\n *\r\n * Pure easing functions for JavaScript animations and transitions.\r\n * All functions accept a normalized time value `t` in [0, 1]\r\n * and return a value in [0, 1].\r\n */\r\n\r\nexport const easings = {\r\n linear: (t: number) => t,\r\n easeInQuad: (t: number) => t * t,\r\n easeOutQuad: (t: number) => t * (2 - t),\r\n easeInOutQuad: (t: number) => (t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t),\r\n easeInCubic: (t: number) => t * t * t,\r\n easeOutCubic: (t: number) => --t * t * t + 1,\r\n easeInOutCubic: (t: number) =>\r\n t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,\r\n easeInQuart: (t: number) => t * t * t * t,\r\n easeOutQuart: (t: number) => 1 - --t * t * t * t,\r\n easeInOutQuart: (t: number) =>\r\n t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t,\r\n};\r\n","/**\r\n * Color Helpers\r\n *\r\n * Pure utility functions for color manipulation and conversion.\r\n */\r\n\r\n/**\r\n * Converts a hexadecimal color to RGB values.\r\n *\r\n * @param hex - The hex color string (with or without '#')\r\n * @returns An object with r, g, b values, or null if invalid\r\n */\r\nexport function hexToRgb(\r\n hex: string,\r\n): { r: number; g: number; b: number } | null {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return result\r\n ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16),\r\n }\r\n : null;\r\n}\r\n\r\n/**\r\n * Converts RGB values to a hexadecimal color string.\r\n *\r\n * @param r - Red value (0-255)\r\n * @param g - Green value (0-255)\r\n * @param b - Blue value (0-255)\r\n * @returns The hex color string with '#' prefix\r\n */\r\nexport function rgbToHex(r: number, g: number, b: number): string {\r\n return (\r\n \"#\" +\r\n [r, g, b]\r\n .map((x) => {\r\n const hex = x.toString(16);\r\n return hex.length === 1 ? \"0\" + hex : hex;\r\n })\r\n .join(\"\")\r\n );\r\n}\r\n\r\n/**\r\n * Determines the best contrasting text color (black or white) for a given background.\r\n *\r\n * @param hex - The background hex color\r\n * @returns '#000000' for light backgrounds, '#ffffff' for dark backgrounds\r\n */\r\nexport function getContrastColor(hex: string): \"#000000\" | \"#ffffff\" {\r\n const rgb = hexToRgb(hex);\r\n if (!rgb) return \"#000000\";\r\n const luminance = (0.299 * rgb.r + 0.587 * rgb.g + 0.114 * rgb.b) / 255;\r\n return luminance > 0.5 ? \"#000000\" : \"#ffffff\";\r\n}\r\n","/**\n * Event Manager Utilities\n *\n * Centralized DOM event handler management, throttle/debounce,\n * and viewport / scroll / body-scroll utilities.\n */\n\ninterface EventHandlerRecord {\n type: string;\n target: EventTarget;\n callback: EventListener;\n options?: AddEventListenerOptions;\n}\n\nexport class GlobalEventManager {\n private handlers: Map<string, EventHandlerRecord[]> = new Map();\n private handlerIds: Map<string, number> = new Map();\n\n private generateId(type: string, target: EventTarget): string {\n const targetId = this.getTargetId(target);\n const key = `${type}-${targetId}`;\n const count = (this.handlerIds.get(key) ?? 0) + 1;\n this.handlerIds.set(key, count);\n return `${key}-${count}`;\n }\n\n private getTargetId(target: EventTarget): string {\n if (target === window) return \"window\";\n if (target === document) return \"document\";\n if (target instanceof HTMLElement && target.id) return target.id;\n return `element-${crypto.randomUUID()}`;\n }\n\n add(target: EventTarget, type: string, callback: EventListener, options?: AddEventListenerOptions): string {\n const id = this.generateId(type, target);\n if (!this.handlers.has(id)) this.handlers.set(id, []);\n this.handlers.get(id)!.push({ type, target, callback, options });\n target.addEventListener(type, callback, options);\n return id;\n }\n\n remove(id: string): void {\n const handlers = this.handlers.get(id);\n if (!handlers) return;\n handlers.forEach(({ type, target, callback, options }) => target.removeEventListener(type, callback, options));\n this.handlers.delete(id);\n }\n\n removeAllForTarget(target: EventTarget, type?: string): void {\n const toRemove: string[] = [];\n this.handlers.forEach((handlers, id) => {\n const matchesTarget = handlers.some((h) => h.target === target);\n const matchesType = !type || handlers.some((h) => h.type === type);\n if (matchesTarget && matchesType) toRemove.push(id);\n });\n toRemove.forEach((id) => this.remove(id));\n }\n\n clear(): void {\n this.handlers.forEach((handlers) =>\n handlers.forEach(({ type, target, callback, options }) => target.removeEventListener(type, callback, options))\n );\n this.handlers.clear();\n this.handlerIds.clear();\n }\n\n getHandlerCount(): number { return this.handlers.size; }\n has(id: string): boolean { return this.handlers.has(id); }\n}\n\nexport const globalEventManager = new GlobalEventManager();\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function throttle<T extends (...args: any[]) => any>(func: T, delay: number): (...args: Parameters<T>) => void {\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n let lastRun = 0;\n return (...args: Parameters<T>): void => {\n const now = Date.now();\n if (now - lastRun >= delay) {\n func(...args);\n lastRun = now;\n } else {\n if (timeoutId) clearTimeout(timeoutId);\n timeoutId = setTimeout(() => { func(...args); lastRun = Date.now(); }, delay - (now - lastRun));\n }\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce<T extends (...args: any[]) => any>(func: T, delay: number): (...args: Parameters<T>) => void {\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n return (...args: Parameters<T>): void => {\n if (timeoutId) clearTimeout(timeoutId);\n timeoutId = setTimeout(() => func(...args), delay);\n };\n}\n\nexport function addGlobalScrollHandler(callback: (event: Event) => void, options?: { throttle?: number; target?: EventTarget }): string {\n const { throttle: throttleDelay = 100, target = window } = options ?? {};\n const handler = throttleDelay > 0 ? throttle(callback, throttleDelay) : callback;\n return globalEventManager.add(target, \"scroll\", handler as EventListener, { passive: true });\n}\n\nexport function addGlobalResizeHandler(callback: (event: Event) => void, options?: { throttle?: number }): string {\n const { throttle: throttleDelay = 200 } = options ?? {};\n const handler = throttleDelay > 0 ? throttle(callback, throttleDelay) : callback;\n return globalEventManager.add(window, \"resize\", handler as EventListener);\n}\n\nexport function addGlobalClickHandler(selector: string, callback: (event: MouseEvent, element: Element) => void, options?: { preventDefault?: boolean }): string {\n const handler = (event: Event) => {\n const element = (event.target as Element).closest(selector);\n if (element) {\n if (options?.preventDefault) event.preventDefault();\n callback(event as MouseEvent, element);\n }\n };\n return globalEventManager.add(document, \"click\", handler as EventListener);\n}\n\nexport function addGlobalKeyHandler(key: string | string[], callback: (event: KeyboardEvent) => void, options?: { preventDefault?: boolean; ctrl?: boolean; shift?: boolean; alt?: boolean; meta?: boolean }): string {\n const keys = Array.isArray(key) ? key : [key];\n const { preventDefault = false, ctrl = false, shift = false, alt = false, meta = false } = options ?? {};\n const handler = (event: Event) => {\n const e = event as KeyboardEvent;\n if (!keys.some((k) => e.key === k || e.code === k)) return;\n if (e.ctrlKey !== ctrl || e.shiftKey !== shift || e.altKey !== alt || e.metaKey !== meta) return;\n if (preventDefault) event.preventDefault();\n callback(e);\n };\n return globalEventManager.add(document, \"keydown\", handler as EventListener);\n}\n\nexport function removeGlobalHandler(id: string): void { globalEventManager.remove(id); }\nexport function isMobileDevice(): boolean {\n if (typeof window === \"undefined\") return false;\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n}\nexport function hasTouchSupport(): boolean {\n if (typeof window === \"undefined\") return false;\n return \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n}\nexport function getViewportDimensions(): { width: number; height: number } {\n if (typeof window === \"undefined\") return { width: 0, height: 0 };\n return { width: window.innerWidth || document.documentElement.clientWidth, height: window.innerHeight || document.documentElement.clientHeight };\n}\nexport function isInViewport(element: HTMLElement, offset = 0): boolean {\n if (typeof window === \"undefined\") return false;\n const rect = element.getBoundingClientRect();\n const { width, height } = getViewportDimensions();\n return rect.top >= -offset && rect.left >= -offset && rect.bottom <= height + offset && rect.right <= width + offset;\n}\nexport function smoothScrollTo(element: HTMLElement | string, options?: { offset?: number }): void {\n const target = typeof element === \"string\" ? document.querySelector(element) : element;\n if (!target) return;\n const { offset = 0 } = options ?? {};\n window.scrollTo({ top: (target as HTMLElement).getBoundingClientRect().top + window.pageYOffset - offset, behavior: \"smooth\" });\n}\nexport function preventBodyScroll(prevent: boolean): void {\n if (typeof document === \"undefined\") return;\n if (prevent) {\n document.body.style.overflow = \"hidden\";\n document.body.style.paddingRight = `${window.innerWidth - document.documentElement.clientWidth}px`;\n } else {\n document.body.style.overflow = \"\";\n document.body.style.paddingRight = \"\";\n }\n}\n"]}
|
package/dist/chunk-S367Y35J.cjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __defProps = Object.defineProperties;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
-
var __spreadValues = (a, b) => {
|
|
11
|
-
for (var prop in b || (b = {}))
|
|
12
|
-
if (__hasOwnProp.call(b, prop))
|
|
13
|
-
__defNormalProp(a, prop, b[prop]);
|
|
14
|
-
if (__getOwnPropSymbols)
|
|
15
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
-
if (__propIsEnum.call(b, prop))
|
|
17
|
-
__defNormalProp(a, prop, b[prop]);
|
|
18
|
-
}
|
|
19
|
-
return a;
|
|
20
|
-
};
|
|
21
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
-
var __objRest = (source, exclude) => {
|
|
23
|
-
var target = {};
|
|
24
|
-
for (var prop in source)
|
|
25
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
26
|
-
target[prop] = source[prop];
|
|
27
|
-
if (source != null && __getOwnPropSymbols)
|
|
28
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
29
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
30
|
-
target[prop] = source[prop];
|
|
31
|
-
}
|
|
32
|
-
return target;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
exports.__objRest = __objRest;
|
|
36
|
-
exports.__spreadProps = __spreadProps;
|
|
37
|
-
exports.__spreadValues = __spreadValues;
|
|
38
|
-
//# sourceMappingURL=chunk-S367Y35J.cjs.map
|
|
39
|
-
//# sourceMappingURL=chunk-S367Y35J.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-S367Y35J.cjs"}
|
package/dist/chunk-ULLW73KN.cjs
DELETED
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkS367Y35J_cjs = require('./chunk-S367Y35J.cjs');
|
|
4
|
-
var server_js = require('next/server.js');
|
|
5
|
-
|
|
6
|
-
// src/errors/base-error.ts
|
|
7
|
-
var AppError = class extends Error {
|
|
8
|
-
constructor(statusCode, message, code, data) {
|
|
9
|
-
super(message);
|
|
10
|
-
this.statusCode = statusCode;
|
|
11
|
-
this.message = message;
|
|
12
|
-
this.code = code;
|
|
13
|
-
this.data = data;
|
|
14
|
-
this.name = this.constructor.name;
|
|
15
|
-
if (Error.captureStackTrace) {
|
|
16
|
-
Error.captureStackTrace(this, this.constructor);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
toJSON() {
|
|
20
|
-
return chunkS367Y35J_cjs.__spreadValues({
|
|
21
|
-
success: false,
|
|
22
|
-
error: this.message,
|
|
23
|
-
code: this.code,
|
|
24
|
-
statusCode: this.statusCode
|
|
25
|
-
}, this.data !== void 0 && { data: this.data });
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
// src/errors/error-codes.ts
|
|
30
|
-
var ERROR_CODES = {
|
|
31
|
-
// Authentication
|
|
32
|
-
AUTH_INVALID_CREDENTIALS: "AUTH_001",
|
|
33
|
-
AUTH_TOKEN_EXPIRED: "AUTH_002",
|
|
34
|
-
AUTH_TOKEN_INVALID: "AUTH_003",
|
|
35
|
-
AUTH_SESSION_EXPIRED: "AUTH_004",
|
|
36
|
-
AUTH_EMAIL_NOT_VERIFIED: "AUTH_005",
|
|
37
|
-
// Validation
|
|
38
|
-
VALIDATION_REQUIRED_FIELD: "VAL_001",
|
|
39
|
-
VALIDATION_INVALID_INPUT: "VAL_002",
|
|
40
|
-
VALIDATION_INVALID_EMAIL: "VAL_003",
|
|
41
|
-
VALIDATION_INVALID_PASSWORD: "VAL_004",
|
|
42
|
-
VALIDATION_INVALID_PHONE: "VAL_005",
|
|
43
|
-
// User
|
|
44
|
-
USER_NOT_FOUND: "USER_001",
|
|
45
|
-
USER_ALREADY_EXISTS: "USER_002",
|
|
46
|
-
USER_NOT_AUTHENTICATED: "USER_003",
|
|
47
|
-
USER_ACCOUNT_DISABLED: "USER_004",
|
|
48
|
-
// Database
|
|
49
|
-
DB_OPERATION_FAILED: "DB_001",
|
|
50
|
-
DB_NOT_FOUND: "DB_002",
|
|
51
|
-
DB_DUPLICATE_ENTRY: "DB_003",
|
|
52
|
-
// Email
|
|
53
|
-
EMAIL_SEND_FAILED: "EMAIL_001",
|
|
54
|
-
EMAIL_INVALID_TEMPLATE: "EMAIL_002",
|
|
55
|
-
EMAIL_RATE_LIMITED: "EMAIL_003",
|
|
56
|
-
EMAIL_DELIVERY_FAILED: "EMAIL_004",
|
|
57
|
-
// Password
|
|
58
|
-
PWD_RESET_TOKEN_EXPIRED: "PWD_001",
|
|
59
|
-
PWD_RESET_TOKEN_INVALID: "PWD_002",
|
|
60
|
-
PWD_TOO_WEAK: "PWD_003",
|
|
61
|
-
PWD_HISTORY_REUSE: "PWD_004",
|
|
62
|
-
PWD_SAME_AS_CURRENT: "PWD_005",
|
|
63
|
-
// Authorization
|
|
64
|
-
AUTHZ_FORBIDDEN: "AUTHZ_001",
|
|
65
|
-
AUTHZ_INSUFFICIENT_ROLE: "AUTHZ_002",
|
|
66
|
-
// General
|
|
67
|
-
GEN_BAD_REQUEST: "GEN_001",
|
|
68
|
-
GEN_NOT_FOUND: "GEN_002",
|
|
69
|
-
GEN_INTERNAL_ERROR: "GEN_003",
|
|
70
|
-
GEN_SERVICE_UNAVAILABLE: "GEN_004",
|
|
71
|
-
GEN_RATE_LIMITED: "GEN_005",
|
|
72
|
-
GEN_UNKNOWN: "GEN_999"
|
|
73
|
-
};
|
|
74
|
-
var ERROR_MESSAGES = {
|
|
75
|
-
// Authentication
|
|
76
|
-
AUTH_001: "Invalid email or password",
|
|
77
|
-
AUTH_002: "Your session has expired. Please log in again",
|
|
78
|
-
AUTH_003: "Invalid authentication token",
|
|
79
|
-
AUTH_004: "Your session has expired. Please log in again",
|
|
80
|
-
AUTH_005: "Please verify your email address before logging in",
|
|
81
|
-
// Validation
|
|
82
|
-
VAL_001: "This field is required",
|
|
83
|
-
VAL_002: "Invalid input provided",
|
|
84
|
-
VAL_003: "Please enter a valid email address",
|
|
85
|
-
VAL_004: "Password must be at least 12 characters with uppercase, lowercase, number and special character",
|
|
86
|
-
VAL_005: "Please enter a valid phone number",
|
|
87
|
-
// User
|
|
88
|
-
USER_001: "User not found",
|
|
89
|
-
USER_002: "An account with this email already exists",
|
|
90
|
-
USER_003: "Please log in to continue",
|
|
91
|
-
USER_004: "Your account has been disabled. Please contact support",
|
|
92
|
-
// Database
|
|
93
|
-
DB_001: "A database error occurred. Please try again",
|
|
94
|
-
DB_002: "The requested resource was not found",
|
|
95
|
-
DB_003: "This record already exists",
|
|
96
|
-
// Email
|
|
97
|
-
EMAIL_001: "Failed to send email. Please try again",
|
|
98
|
-
EMAIL_002: "Invalid email template",
|
|
99
|
-
EMAIL_003: "Too many emails sent. Please wait before trying again",
|
|
100
|
-
EMAIL_004: "Email delivery failed. Please check the address and try again",
|
|
101
|
-
// Password
|
|
102
|
-
PWD_001: "Password reset link has expired. Please request a new one",
|
|
103
|
-
PWD_002: "Invalid password reset link",
|
|
104
|
-
PWD_003: "Password does not meet security requirements",
|
|
105
|
-
PWD_004: "Cannot reuse a recent password",
|
|
106
|
-
PWD_005: "New password must be different from your current password",
|
|
107
|
-
// Authorization
|
|
108
|
-
AUTHZ_001: "You do not have permission to perform this action",
|
|
109
|
-
AUTHZ_002: "Insufficient role to perform this action",
|
|
110
|
-
// General
|
|
111
|
-
GEN_001: "Bad request",
|
|
112
|
-
GEN_002: "The requested resource was not found",
|
|
113
|
-
GEN_003: "An internal server error occurred",
|
|
114
|
-
GEN_004: "Service temporarily unavailable",
|
|
115
|
-
GEN_005: "Too many requests. Please slow down",
|
|
116
|
-
GEN_999: "An unknown error occurred"
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
// src/errors/api-error.ts
|
|
120
|
-
var ApiError = class extends AppError {
|
|
121
|
-
constructor(statusCode, message, data) {
|
|
122
|
-
super(statusCode, message, "API_ERROR", data);
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
// src/errors/validation-error.ts
|
|
127
|
-
var ValidationError = class extends AppError {
|
|
128
|
-
constructor(message, fields) {
|
|
129
|
-
super(400, message, "VALIDATION_ERROR", fields);
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// src/errors/authentication-error.ts
|
|
134
|
-
var AuthenticationError = class extends AppError {
|
|
135
|
-
constructor(message, data) {
|
|
136
|
-
super(401, message, "AUTHENTICATION_ERROR", data);
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
// src/errors/authorization-error.ts
|
|
141
|
-
var AuthorizationError = class extends AppError {
|
|
142
|
-
constructor(message, data) {
|
|
143
|
-
super(403, message, "AUTHORIZATION_ERROR", data);
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
// src/errors/not-found-error.ts
|
|
148
|
-
var NotFoundError = class extends AppError {
|
|
149
|
-
constructor(message, data) {
|
|
150
|
-
super(404, message, "NOT_FOUND", data);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
// src/errors/database-error.ts
|
|
155
|
-
var DatabaseError = class extends AppError {
|
|
156
|
-
constructor(message, data) {
|
|
157
|
-
super(500, message, "DATABASE_ERROR", data);
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
function handleApiError(error) {
|
|
161
|
-
if (error instanceof AppError) {
|
|
162
|
-
if (error.statusCode >= 500) {
|
|
163
|
-
console.error("[API Error]", {
|
|
164
|
-
code: error.code,
|
|
165
|
-
message: error.message,
|
|
166
|
-
statusCode: error.statusCode,
|
|
167
|
-
data: error.data
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
return server_js.NextResponse.json(error.toJSON(), { status: error.statusCode });
|
|
171
|
-
}
|
|
172
|
-
if (error && typeof error === "object" && "issues" in error) {
|
|
173
|
-
return server_js.NextResponse.json(
|
|
174
|
-
{
|
|
175
|
-
success: false,
|
|
176
|
-
error: "Validation failed",
|
|
177
|
-
code: ERROR_CODES.VALIDATION_INVALID_INPUT,
|
|
178
|
-
data: error
|
|
179
|
-
},
|
|
180
|
-
{ status: 400 }
|
|
181
|
-
);
|
|
182
|
-
}
|
|
183
|
-
console.error("[Unexpected API Error]", {
|
|
184
|
-
error: error instanceof Error ? { name: error.name, message: error.message, stack: error.stack } : error
|
|
185
|
-
});
|
|
186
|
-
return server_js.NextResponse.json(
|
|
187
|
-
{
|
|
188
|
-
success: false,
|
|
189
|
-
error: ERROR_MESSAGES[ERROR_CODES.GEN_INTERNAL_ERROR],
|
|
190
|
-
code: ERROR_CODES.GEN_INTERNAL_ERROR
|
|
191
|
-
},
|
|
192
|
-
{ status: 500 }
|
|
193
|
-
);
|
|
194
|
-
}
|
|
195
|
-
function logError(error, context) {
|
|
196
|
-
console.error("[Application Error]", chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({}, context && { context }), {
|
|
197
|
-
error: error instanceof Error ? { name: error.name, message: error.message, stack: error.stack } : error
|
|
198
|
-
}));
|
|
199
|
-
}
|
|
200
|
-
function isAppError(error) {
|
|
201
|
-
return error instanceof AppError;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
exports.ApiError = ApiError;
|
|
205
|
-
exports.AppError = AppError;
|
|
206
|
-
exports.AuthenticationError = AuthenticationError;
|
|
207
|
-
exports.AuthorizationError = AuthorizationError;
|
|
208
|
-
exports.DatabaseError = DatabaseError;
|
|
209
|
-
exports.ERROR_CODES = ERROR_CODES;
|
|
210
|
-
exports.ERROR_MESSAGES = ERROR_MESSAGES;
|
|
211
|
-
exports.NotFoundError = NotFoundError;
|
|
212
|
-
exports.ValidationError = ValidationError;
|
|
213
|
-
exports.handleApiError = handleApiError;
|
|
214
|
-
exports.isAppError = isAppError;
|
|
215
|
-
exports.logError = logError;
|
|
216
|
-
//# sourceMappingURL=chunk-ULLW73KN.cjs.map
|
|
217
|
-
//# sourceMappingURL=chunk-ULLW73KN.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/base-error.ts","../src/errors/error-codes.ts","../src/errors/api-error.ts","../src/errors/validation-error.ts","../src/errors/authentication-error.ts","../src/errors/authorization-error.ts","../src/errors/not-found-error.ts","../src/errors/database-error.ts","../src/errors/error-handler.ts"],"names":["__spreadValues","NextResponse","__spreadProps"],"mappings":"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","file":"chunk-ULLW73KN.cjs","sourcesContent":["export class AppError extends Error {\n constructor(\n public statusCode: number,\n public message: string,\n public code: string,\n public data?: unknown,\n ) {\n super(message);\n this.name = this.constructor.name;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n toJSON(): {\n success: false;\n error: string;\n code: string;\n statusCode: number;\n data?: unknown;\n } {\n return {\n success: false,\n error: this.message,\n code: this.code,\n statusCode: this.statusCode,\n ...(this.data !== undefined && { data: this.data }),\n };\n }\n}\n","export const ERROR_CODES = {\n // Authentication\n AUTH_INVALID_CREDENTIALS: \"AUTH_001\",\n AUTH_TOKEN_EXPIRED: \"AUTH_002\",\n AUTH_TOKEN_INVALID: \"AUTH_003\",\n AUTH_SESSION_EXPIRED: \"AUTH_004\",\n AUTH_EMAIL_NOT_VERIFIED: \"AUTH_005\",\n\n // Validation\n VALIDATION_REQUIRED_FIELD: \"VAL_001\",\n VALIDATION_INVALID_INPUT: \"VAL_002\",\n VALIDATION_INVALID_EMAIL: \"VAL_003\",\n VALIDATION_INVALID_PASSWORD: \"VAL_004\",\n VALIDATION_INVALID_PHONE: \"VAL_005\",\n\n // User\n USER_NOT_FOUND: \"USER_001\",\n USER_ALREADY_EXISTS: \"USER_002\",\n USER_NOT_AUTHENTICATED: \"USER_003\",\n USER_ACCOUNT_DISABLED: \"USER_004\",\n\n // Database\n DB_OPERATION_FAILED: \"DB_001\",\n DB_NOT_FOUND: \"DB_002\",\n DB_DUPLICATE_ENTRY: \"DB_003\",\n\n // Email\n EMAIL_SEND_FAILED: \"EMAIL_001\",\n EMAIL_INVALID_TEMPLATE: \"EMAIL_002\",\n EMAIL_RATE_LIMITED: \"EMAIL_003\",\n EMAIL_DELIVERY_FAILED: \"EMAIL_004\",\n\n // Password\n PWD_RESET_TOKEN_EXPIRED: \"PWD_001\",\n PWD_RESET_TOKEN_INVALID: \"PWD_002\",\n PWD_TOO_WEAK: \"PWD_003\",\n PWD_HISTORY_REUSE: \"PWD_004\",\n PWD_SAME_AS_CURRENT: \"PWD_005\",\n\n // Authorization\n AUTHZ_FORBIDDEN: \"AUTHZ_001\",\n AUTHZ_INSUFFICIENT_ROLE: \"AUTHZ_002\",\n\n // General\n GEN_BAD_REQUEST: \"GEN_001\",\n GEN_NOT_FOUND: \"GEN_002\",\n GEN_INTERNAL_ERROR: \"GEN_003\",\n GEN_SERVICE_UNAVAILABLE: \"GEN_004\",\n GEN_RATE_LIMITED: \"GEN_005\",\n GEN_UNKNOWN: \"GEN_999\",\n} as const;\n\nexport type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\n\nexport const ERROR_MESSAGES: Record<ErrorCode, string> = {\n // Authentication\n AUTH_001: \"Invalid email or password\",\n AUTH_002: \"Your session has expired. Please log in again\",\n AUTH_003: \"Invalid authentication token\",\n AUTH_004: \"Your session has expired. Please log in again\",\n AUTH_005: \"Please verify your email address before logging in\",\n\n // Validation\n VAL_001: \"This field is required\",\n VAL_002: \"Invalid input provided\",\n VAL_003: \"Please enter a valid email address\",\n VAL_004:\n \"Password must be at least 12 characters with uppercase, lowercase, number and special character\",\n VAL_005: \"Please enter a valid phone number\",\n\n // User\n USER_001: \"User not found\",\n USER_002: \"An account with this email already exists\",\n USER_003: \"Please log in to continue\",\n USER_004: \"Your account has been disabled. Please contact support\",\n\n // Database\n DB_001: \"A database error occurred. Please try again\",\n DB_002: \"The requested resource was not found\",\n DB_003: \"This record already exists\",\n\n // Email\n EMAIL_001: \"Failed to send email. Please try again\",\n EMAIL_002: \"Invalid email template\",\n EMAIL_003: \"Too many emails sent. Please wait before trying again\",\n EMAIL_004: \"Email delivery failed. Please check the address and try again\",\n\n // Password\n PWD_001: \"Password reset link has expired. Please request a new one\",\n PWD_002: \"Invalid password reset link\",\n PWD_003: \"Password does not meet security requirements\",\n PWD_004: \"Cannot reuse a recent password\",\n PWD_005: \"New password must be different from your current password\",\n\n // Authorization\n AUTHZ_001: \"You do not have permission to perform this action\",\n AUTHZ_002: \"Insufficient role to perform this action\",\n\n // General\n GEN_001: \"Bad request\",\n GEN_002: \"The requested resource was not found\",\n GEN_003: \"An internal server error occurred\",\n GEN_004: \"Service temporarily unavailable\",\n GEN_005: \"Too many requests. Please slow down\",\n GEN_999: \"An unknown error occurred\",\n};\n","import { AppError } from \"./base-error\";\n\nexport class ApiError extends AppError {\n constructor(statusCode: number, message: string, data?: unknown) {\n super(statusCode, message, \"API_ERROR\", data);\n }\n}\n","import { AppError } from \"./base-error\";\n\nexport class ValidationError extends AppError {\n constructor(message: string, fields?: unknown) {\n super(400, message, \"VALIDATION_ERROR\", fields);\n }\n}\n","import { AppError } from \"./base-error\";\n\nexport class AuthenticationError extends AppError {\n constructor(message: string, data?: unknown) {\n super(401, message, \"AUTHENTICATION_ERROR\", data);\n }\n}\n","import { AppError } from \"./base-error\";\n\nexport class AuthorizationError extends AppError {\n constructor(message: string, data?: unknown) {\n super(403, message, \"AUTHORIZATION_ERROR\", data);\n }\n}\n","import { AppError } from \"./base-error\";\n\nexport class NotFoundError extends AppError {\n constructor(message: string, data?: unknown) {\n super(404, message, \"NOT_FOUND\", data);\n }\n}\n","import { AppError } from \"./base-error\";\n\nexport class DatabaseError extends AppError {\n constructor(message: string, data?: unknown) {\n super(500, message, \"DATABASE_ERROR\", data);\n }\n}\n","import { NextResponse } from \"next/server.js\";\nimport { AppError } from \"./base-error\";\nimport { ERROR_CODES, ERROR_MESSAGES } from \"./error-codes\";\n\n/**\n * Handle API errors with consistent response format.\n * Use in Next.js API route catch blocks.\n */\nexport function handleApiError(error: unknown): NextResponse {\n if (error instanceof AppError) {\n if (error.statusCode >= 500) {\n console.error(\"[API Error]\", {\n code: error.code,\n message: error.message,\n statusCode: error.statusCode,\n data: error.data,\n });\n }\n return NextResponse.json(error.toJSON(), { status: error.statusCode });\n }\n\n // Zod / schema validation errors\n if (error && typeof error === \"object\" && \"issues\" in error) {\n return NextResponse.json(\n {\n success: false,\n error: \"Validation failed\",\n code: ERROR_CODES.VALIDATION_INVALID_INPUT,\n data: error,\n },\n { status: 400 },\n );\n }\n\n console.error(\"[Unexpected API Error]\", {\n error:\n error instanceof Error\n ? { name: error.name, message: error.message, stack: error.stack }\n : error,\n });\n\n return NextResponse.json(\n {\n success: false,\n error: ERROR_MESSAGES[ERROR_CODES.GEN_INTERNAL_ERROR],\n code: ERROR_CODES.GEN_INTERNAL_ERROR,\n },\n { status: 500 },\n );\n}\n\n/**\n * Log an error with optional context. Wraps console.error for package portability;\n * replace with your structured logger if needed.\n */\nexport function logError(\n error: unknown,\n context?: Record<string, unknown>,\n): void {\n console.error(\"[Application Error]\", {\n ...(context && { context }),\n error:\n error instanceof Error\n ? { name: error.name, message: error.message, stack: error.stack }\n : error,\n });\n}\n\n/**\n * Type guard — check if a value is an AppError instance.\n */\nexport function isAppError(error: unknown): error is AppError {\n return error instanceof AppError;\n}\n"]}
|