@mohasinac/appkit 3.0.3 → 3.0.6
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/dist/_internal/client/features/filters/filter-load-options.js +11 -1
- package/dist/_internal/client/features/layout/filterNavItems.js +0 -1
- package/dist/_internal/client/features/layout/index.js +0 -1
- package/dist/_internal/client/features/maintenance/views/MaintenanceDashboardView.js +0 -1
- package/dist/_internal/client/features/maintenance/views/ServerErrorDetailView.js +0 -1
- package/dist/_internal/server/features/auctions/data.d.ts +2 -4
- package/dist/_internal/server/features/auctions/data.js +3 -9
- package/dist/_internal/server/features/checkout/actions.js +9 -9
- package/dist/_internal/server/features/classified/adapters.d.ts +2 -15
- package/dist/_internal/server/features/classified/adapters.js +2 -17
- package/dist/_internal/server/features/classified/data.d.ts +1 -6
- package/dist/_internal/server/features/classified/data.js +2 -10
- package/dist/_internal/server/features/digital-code/adapters.d.ts +2 -15
- package/dist/_internal/server/features/digital-code/adapters.js +2 -17
- package/dist/_internal/server/features/digital-code/data.d.ts +1 -6
- package/dist/_internal/server/features/digital-code/data.js +2 -10
- package/dist/_internal/server/features/live/adapters.d.ts +2 -15
- package/dist/_internal/server/features/live/adapters.js +2 -17
- package/dist/_internal/server/features/live/data.d.ts +1 -6
- package/dist/_internal/server/features/live/data.js +2 -10
- package/dist/_internal/server/features/pre-orders/data.d.ts +2 -4
- package/dist/_internal/server/features/pre-orders/data.js +3 -9
- package/dist/_internal/server/features/prize-draws/actions.d.ts +2 -0
- package/dist/_internal/server/features/prize-draws/actions.js +22 -0
- package/dist/_internal/server/features/prize-draws/data.d.ts +1 -17
- package/dist/_internal/server/features/prize-draws/data.js +2 -20
- package/dist/_internal/server/features/prize-draws/index.d.ts +3 -1
- package/dist/_internal/server/features/prize-draws/index.js +2 -0
- package/dist/_internal/server/features/prize-draws/service.d.ts +3 -0
- package/dist/_internal/server/features/prize-draws/service.js +19 -0
- package/dist/_internal/server/features/shared/listing-adapters.d.ts +19 -0
- package/dist/_internal/server/features/shared/listing-adapters.js +20 -0
- package/dist/_internal/server/features/shared/listing-data-factory.d.ts +9 -0
- package/dist/_internal/server/features/shared/listing-data-factory.js +33 -0
- package/dist/_internal/server/features/stores/data.d.ts +3 -14
- package/dist/_internal/server/features/stores/data.js +6 -44
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +1 -1
- package/dist/_internal/shared/features/cart/schema.d.ts +8 -8
- package/dist/_internal/shared/features/cart/schema.js +3 -0
- package/dist/_internal/shared/listing-types/_registry.js +2 -0
- package/dist/_internal/shared/listing-types/action-tracker.js +1 -1
- package/dist/_internal/shared/listing-types/auction/schema.d.ts +3 -1
- package/dist/_internal/shared/listing-types/auction/schema.js +7 -1
- package/dist/_internal/shared/listing-types/classified/schema.d.ts +2 -1
- package/dist/_internal/shared/listing-types/classified/schema.js +3 -1
- package/dist/_internal/shared/listing-types/digital-code/schema.d.ts +3 -1
- package/dist/_internal/shared/listing-types/digital-code/schema.js +7 -1
- package/dist/_internal/shared/listing-types/live/schema.d.ts +2 -1
- package/dist/_internal/shared/listing-types/live/schema.js +3 -1
- package/dist/_internal/shared/listing-types/pre-order/schema.d.ts +3 -1
- package/dist/_internal/shared/listing-types/pre-order/schema.js +7 -1
- package/dist/_internal/shared/listing-types/prize-draw/schema.d.ts +3 -1
- package/dist/_internal/shared/listing-types/prize-draw/schema.js +13 -1
- package/dist/_internal/shared/listing-types/standard/schema.d.ts +2 -1
- package/dist/_internal/shared/listing-types/standard/schema.js +4 -1
- package/dist/_internal/shared/types/base-document.d.ts +15 -0
- package/dist/_internal/shared/types/base-document.js +1 -0
- package/dist/_internal/shared/types/index.d.ts +2 -0
- package/dist/_internal/shared/types/index.js +1 -0
- package/dist/client/api/ApiError.d.ts +10 -4
- package/dist/client/api/surface-error.js +0 -1
- package/dist/client.d.ts +8 -4
- package/dist/client.js +4 -2
- package/dist/constants/api-endpoints.d.ts +12 -0
- package/dist/constants/api-endpoints.js +4 -0
- package/dist/core/hooks/useSyncManager.js +4 -4
- package/dist/features/_guide-cls.d.ts +1 -1
- package/dist/features/_guide-cls.js +1 -1
- package/dist/features/about/components/AboutView.js +1 -4
- package/dist/features/about/components/FAQPageView.js +1 -1
- package/dist/features/about/components/FeesView.js +1 -1
- package/dist/features/about/components/HelpPageView.js +1 -1
- package/dist/features/about/components/HowOrdersWorkView.js +1 -1
- package/dist/features/about/components/PublicProfileView.js +6 -6
- package/dist/features/about/components/TrackOrderView.js +1 -1
- package/dist/features/account/components/AddressBook.js +1 -1
- package/dist/features/account/components/AddressForm.js +10 -2
- package/dist/features/account/components/AddressesIndexListing.js +1 -1
- package/dist/features/account/components/BuyerAccountGuideView.js +1 -1
- package/dist/features/account/components/BuyerAuctionsGuideView.js +1 -1
- package/dist/features/account/components/BuyerOrdersGuideView.js +1 -1
- package/dist/features/account/components/BuyerShoppingGuideView.js +1 -1
- package/dist/features/account/components/ChatWindow.js +1 -1
- package/dist/features/account/components/MessagesView.js +1 -1
- package/dist/features/account/components/NotificationBell.js +25 -10
- package/dist/features/account/components/NotificationPreferencesPanel.js +2 -2
- package/dist/features/account/components/UserOffersPanel.js +1 -0
- package/dist/features/account/components/UserSidebar.js +1 -6
- package/dist/features/account/components/UserSupportView.js +1 -1
- package/dist/features/addresses/schemas/firestore.d.ts +2 -4
- package/dist/features/admin/components/AdminAnalyticsGuideView.js +2 -2
- package/dist/features/admin/components/AdminBlogEditorView.js +1 -1
- package/dist/features/admin/components/AdminBundlesView.js +1 -1
- package/dist/features/admin/components/AdminCarouselEditorView.js +1 -1
- package/dist/features/admin/components/AdminCatalogGuideView.js +2 -2
- package/dist/features/admin/components/AdminContentGuideView.js +2 -2
- package/dist/features/admin/components/AdminEmployeeEditorView.js +2 -2
- package/dist/features/admin/components/AdminFulfillmentView.d.ts +6 -0
- package/dist/features/admin/components/AdminFulfillmentView.js +107 -0
- package/dist/features/admin/components/AdminGuideHubView.js +1 -5
- package/dist/features/admin/components/AdminMediaView.js +1 -1
- package/dist/features/admin/components/AdminNavigationView.js +1 -1
- package/dist/features/admin/components/AdminOrdersGuideView.js +3 -3
- package/dist/features/admin/components/AdminPayoutsView.js +1 -4
- package/dist/features/admin/components/AdminProductEditorView.js +21 -9
- package/dist/features/admin/components/AdminProductsView.js +3 -0
- package/dist/features/admin/components/AdminSidebar.js +1 -6
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +9 -1
- package/dist/features/admin/components/AdminStoreEditorView.js +1 -1
- package/dist/features/admin/components/AdminStoresGuideView.js +2 -2
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +7 -7
- package/dist/features/admin/components/AdminTeamGuideView.js +2 -2
- package/dist/features/admin/components/AdminTrustGuideView.js +3 -3
- package/dist/features/admin/components/AdminUsersGuideView.js +3 -3
- package/dist/features/admin/components/DashboardStats.js +6 -5
- package/dist/features/admin/components/DataListingView.d.ts +1 -0
- package/dist/features/admin/components/DataTable.js +2 -2
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +4 -6
- package/dist/features/admin/components/analytics/AdminStatCard.js +4 -3
- package/dist/features/admin/components/analytics/AdminTopProductsTable.js +1 -1
- package/dist/features/admin/components/index.d.ts +2 -0
- package/dist/features/admin/components/index.js +1 -0
- package/dist/features/admin/schemas/firestore.d.ts +3 -8
- package/dist/features/auctions/components/AuctionBidsTable.js +1 -1
- package/dist/features/auctions/components/AuctionDetailPageView.js +1 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +3 -3
- package/dist/features/auctions/schemas/firestore.d.ts +2 -4
- package/dist/features/auctions/schemas/index.d.ts +2 -2
- package/dist/features/auth/components/ForgotPasswordView.js +19 -8
- package/dist/features/auth/components/LoginForm.js +10 -2
- package/dist/features/auth/components/RegisterForm.js +10 -2
- package/dist/features/auth/components/ResetPasswordView.js +19 -8
- package/dist/features/auth/components/SocialAuthButtons.js +1 -1
- package/dist/features/before-after/components/BeforeAfterSlider.js +1 -1
- package/dist/features/before-after/schemas/index.d.ts +2 -2
- package/dist/features/blog/api/[slug]/route.js +1 -1
- package/dist/features/blog/components/BlogFeaturedCard.js +1 -1
- package/dist/features/blog/components/BlogListView.js +1 -1
- package/dist/features/blog/components/BlogPostView.js +1 -1
- package/dist/features/blog/schemas/firestore.d.ts +2 -4
- package/dist/features/blog/schemas/index.d.ts +6 -6
- package/dist/features/cart/components/CartDrawer.js +2 -2
- package/dist/features/cart/components/CartView.js +1 -1
- package/dist/features/cart/components/CheckoutView.js +1 -1
- package/dist/features/cart/schemas/firestore.d.ts +2 -4
- package/dist/features/categories/components/BrandDetailPageView.js +2 -1
- package/dist/features/categories/components/BundleDetailView.js +1 -1
- package/dist/features/categories/components/BundleItemsPicker.js +1 -1
- package/dist/features/categories/components/CategoryBundlesListing.js +3 -1
- package/dist/features/categories/components/CategoryDetailPageView.js +1 -1
- package/dist/features/categories/components/CategoryGrid.js +2 -1
- package/dist/features/categories/components/CategoryTableColumns.js +5 -2
- package/dist/features/categories/components/CategoryTree.js +3 -2
- package/dist/features/categories/components/ConcernCard.js +1 -1
- package/dist/features/categories/schemas/firestore.d.ts +2 -4
- package/dist/features/categories/schemas/index.d.ts +6 -6
- package/dist/features/checkout/components/CheckoutStepper.js +1 -1
- package/dist/features/collections/components/CollectionCard.js +1 -1
- package/dist/features/contact/components/ContactPageView.js +27 -27
- package/dist/features/contact/email.js +4 -4
- package/dist/features/copilot/components/AdminCopilotView.js +3 -3
- package/dist/features/email/primitives.d.ts +4 -0
- package/dist/features/email/primitives.js +4 -0
- package/dist/features/events/components/EventCard.js +2 -2
- package/dist/features/events/components/EventOfferCard.js +1 -1
- package/dist/features/events/components/EventRaffleEntryForm.js +1 -1
- package/dist/features/events/components/EventRaffleWinnerView.js +2 -2
- package/dist/features/events/components/EventSaleBanner.js +0 -1
- package/dist/features/events/schemas/firestore.d.ts +2 -4
- package/dist/features/events/schemas/index.d.ts +4 -4
- package/dist/features/faq/components/ContactCTA.js +1 -1
- package/dist/features/faq/components/FAQAccordion.js +2 -2
- package/dist/features/faq/components/FAQCategorySidebar.js +2 -2
- package/dist/features/faq/components/FAQHelpfulButtons.js +2 -2
- package/dist/features/faq/components/RelatedFAQs.js +1 -1
- package/dist/features/faq/schemas/firestore.d.ts +2 -4
- package/dist/features/faq/schemas/index.d.ts +4 -4
- package/dist/features/filters/AsyncFacetSection.js +3 -3
- package/dist/features/filters/FilterFacetSection.js +6 -6
- package/dist/features/filters/RangeFilter.js +2 -2
- package/dist/features/filters/SwitchFilter.js +1 -1
- package/dist/features/forms/Checkbox.js +1 -1
- package/dist/features/forms/Slider.js +7 -2
- package/dist/features/forms/utils.d.ts +2 -2
- package/dist/features/forms/utils.js +2 -2
- package/dist/features/grouped/schemas/index.d.ts +2 -2
- package/dist/features/history/hooks/useHistory.js +1 -1
- package/dist/features/homepage/components/AdSlot.js +3 -3
- package/dist/features/homepage/components/AdvertisementBanner.js +5 -4
- package/dist/features/homepage/components/BeforeAfterCard.js +9 -1
- package/dist/features/homepage/components/CharacterHotspot.js +42 -49
- package/dist/features/homepage/components/CharacterHotspotForm.js +18 -20
- package/dist/features/homepage/components/CollectionCardsSection.js +2 -2
- package/dist/features/homepage/components/CustomCardsSection.js +3 -6
- package/dist/features/homepage/components/CustomerReviewsSection.js +1 -1
- package/dist/features/homepage/components/FAQSection.js +2 -2
- package/dist/features/homepage/components/FeaturedResultsSection.js +1 -1
- package/dist/features/homepage/components/GoogleReviewsSection.js +4 -4
- package/dist/features/homepage/components/HeroBanner.js +12 -63
- package/dist/features/homepage/components/HeroCarousel.js +6 -6
- package/dist/features/homepage/components/HeroSection.js +1 -1
- package/dist/features/homepage/components/HowItWorksInfoView.js +1 -1
- package/dist/features/homepage/components/HowItWorksSection.js +5 -3
- package/dist/features/homepage/components/NewsletterBanner.js +3 -7
- package/dist/features/homepage/components/PromoGrid.js +2 -26
- package/dist/features/homepage/components/SectionCarousel.js +1 -1
- package/dist/features/homepage/components/SecurityHighlightsSection.js +6 -3
- package/dist/features/homepage/components/ShopByCategorySection.js +3 -3
- package/dist/features/homepage/components/SiteFeaturesSection.js +1 -1
- package/dist/features/homepage/components/SocialPostCard.js +2 -3
- package/dist/features/homepage/components/StatsCounterSection.js +6 -3
- package/dist/features/homepage/components/TestimonialsCarousel.js +2 -25
- package/dist/features/homepage/components/TrustBadges.js +1 -9
- package/dist/features/homepage/components/TrustFeaturesSection.js +6 -3
- package/dist/features/homepage/components/TrustIndicatorsSection.js +1 -1
- package/dist/features/homepage/components/WelcomeSection.js +2 -2
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +1 -1
- package/dist/features/homepage/lib/franchise-colors.d.ts +7 -0
- package/dist/features/homepage/lib/franchise-colors.js +7 -0
- package/dist/features/homepage/lib/live-stats.js +5 -5
- package/dist/features/homepage/schemas/firestore.d.ts +4 -12
- package/dist/features/homepage/schemas/index.d.ts +2 -2
- package/dist/features/layout/AppLayoutShell.js +7 -9
- package/dist/features/layout/BottomNavbar.js +1 -2
- package/dist/features/messages/hooks/useConversation.js +2 -1
- package/dist/features/messages/hooks/useConversations.js +1 -0
- package/dist/features/messages/schemas/firestore.d.ts +2 -4
- package/dist/features/messages/schemas/index.d.ts +2 -2
- package/dist/features/orders/components/OrdersList.js +1 -1
- package/dist/features/orders/components/RefundHistoryTable.d.ts +6 -0
- package/dist/features/orders/components/RefundHistoryTable.js +3 -2
- package/dist/features/orders/repository/orders.repository.d.ts +5 -0
- package/dist/features/orders/repository/orders.repository.js +26 -0
- package/dist/features/orders/schemas/firestore.d.ts +9 -5
- package/dist/features/orders/schemas/firestore.js +3 -0
- package/dist/features/payments/schemas/firestore.d.ts +2 -4
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +2 -2
- package/dist/features/pre-orders/components/PreOrderBadge.js +1 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +2 -1
- package/dist/features/pre-orders/schemas/index.d.ts +2 -2
- package/dist/features/products/components/CompareOverlay.js +11 -8
- package/dist/features/products/components/CustomSectionTabContent.js +1 -1
- package/dist/features/products/components/FeatureBadge.js +11 -1
- package/dist/features/products/components/GroupSettingsPanel.js +2 -2
- package/dist/features/products/components/MarketplaceBundleCard.js +1 -1
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +2 -2
- package/dist/features/products/components/PrizeDrawItemsEditor.js +1 -1
- package/dist/features/products/components/PrizeDrawsIndexListing.js +1 -1
- package/dist/features/products/components/ProductCardMetadataSection.js +0 -1
- package/dist/features/products/components/ProductDetailPageView.js +1 -1
- package/dist/features/products/components/ProductFeatureBadges.js +1 -1
- package/dist/features/products/components/ProductGalleryClient.js +1 -1
- package/dist/features/products/components/ProductGrid.js +7 -7
- package/dist/features/products/components/ShareButton.js +1 -1
- package/dist/features/products/components/ShowGroupSection.js +7 -5
- package/dist/features/products/components/SublistingCarouselSection.js +2 -2
- package/dist/features/products/constants/action-defs.d.ts +16 -0
- package/dist/features/products/constants/action-defs.js +16 -0
- package/dist/features/products/constants/listing-tabs.d.ts +48 -0
- package/dist/features/products/constants/listing-tabs.js +12 -0
- package/dist/features/products/repository/products.repository.d.ts +37 -0
- package/dist/features/products/repository/products.repository.js +28 -1
- package/dist/features/products/schemas/firestore.d.ts +8 -6
- package/dist/features/products/schemas/firestore.js +2 -0
- package/dist/features/products/schemas/index.d.ts +8 -8
- package/dist/features/products/types/index.d.ts +2 -0
- package/dist/features/promotions/components/CouponCard.js +2 -2
- package/dist/features/promotions/schemas/firestore.d.ts +2 -4
- package/dist/features/promotions/schemas/index.d.ts +6 -6
- package/dist/features/reviews/components/ReviewDetailShell.js +3 -3
- package/dist/features/reviews/components/ReviewModal.js +2 -4
- package/dist/features/reviews/components/ReviewSummary.js +3 -2
- package/dist/features/reviews/components/ReviewsList.js +1 -1
- package/dist/features/reviews/schemas/firestore.d.ts +2 -4
- package/dist/features/reviews/schemas/index.d.ts +2 -2
- package/dist/features/scams/actions/scam-actions.js +1 -1
- package/dist/features/scams/components/ScamProfileView.js +1 -1
- package/dist/features/scams/schemas/firestore.d.ts +2 -4
- package/dist/features/scams/schemas/index.d.ts +4 -4
- package/dist/features/search/components/Search.js +2 -2
- package/dist/features/search/components/SearchFiltersRow.js +1 -1
- package/dist/features/search/schemas/index.d.ts +3 -3
- package/dist/features/seller/components/BarcodeField.d.ts +17 -0
- package/dist/features/seller/components/BarcodeField.js +30 -0
- package/dist/features/seller/components/FulfillmentView.d.ts +5 -0
- package/dist/features/seller/components/FulfillmentView.js +120 -0
- package/dist/features/seller/components/PhysicalLocationModal.js +2 -3
- package/dist/features/seller/components/PrintCenterView.d.ts +3 -1
- package/dist/features/seller/components/PrintCenterView.js +52 -4
- package/dist/features/seller/components/SellerAddressesView.js +2 -1
- package/dist/features/seller/components/SellerAnalyticsAlertsView.js +1 -1
- package/dist/features/seller/components/SellerBidsView.js +1 -1
- package/dist/features/seller/components/SellerCouponEditorView.js +1 -1
- package/dist/features/seller/components/SellerGoogleReviewsView.js +1 -1
- package/dist/features/seller/components/SellerLiveView.js +1 -1
- package/dist/features/seller/components/SellerOffersPanel.js +1 -0
- package/dist/features/seller/components/SellerOrdersView.js +1 -1
- package/dist/features/seller/components/SellerPayoutMethodsView.js +8 -2
- package/dist/features/seller/components/SellerPayoutRequestView.js +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.js +1 -1
- package/dist/features/seller/components/SellerProductShell.d.ts +2 -0
- package/dist/features/seller/components/SellerProductShell.js +4 -3
- package/dist/features/seller/components/SellerProductsCards.js +1 -1
- package/dist/features/seller/components/SellerProductsView.js +1 -1
- package/dist/features/seller/components/SellerReviewsView.js +2 -1
- package/dist/features/seller/components/SellerShippingConfigsView.js +9 -3
- package/dist/features/seller/components/SellerShippingView.js +1 -1
- package/dist/features/seller/components/SellerSidebar.js +3 -8
- package/dist/features/seller/components/SellerStoreCategoriesView.js +11 -3
- package/dist/features/seller/components/SellerTemplatesView.js +8 -2
- package/dist/features/seller/components/analytics/SellerRevenueChart.js +1 -1
- package/dist/features/seller/components/analytics/SellerTopProducts.js +1 -1
- package/dist/features/seller/components/index.d.ts +4 -0
- package/dist/features/seller/components/index.js +2 -0
- package/dist/features/seller/schemas/index.d.ts +4 -4
- package/dist/features/shell/FormShell.js +2 -2
- package/dist/features/shell/QuickFormDrawer.js +1 -1
- package/dist/features/site-settings/components/NavPermissionsManager.js +1 -1
- package/dist/features/store-extensions/schemas/firestore.d.ts +12 -44
- package/dist/features/stores/components/StoreCapabilitiesGuideView.js +1 -1
- package/dist/features/stores/components/StoreClassifiedsListing.d.ts +5 -0
- package/dist/features/stores/components/StoreClassifiedsListing.js +48 -0
- package/dist/features/stores/components/StoreClassifiedsPageView.d.ts +4 -0
- package/dist/features/stores/components/StoreClassifiedsPageView.js +20 -0
- package/dist/features/stores/components/StoreDetailLayoutView.js +23 -2
- package/dist/features/stores/components/StoreDigitalCodesListing.d.ts +5 -0
- package/dist/features/stores/components/StoreDigitalCodesListing.js +48 -0
- package/dist/features/stores/components/StoreDigitalCodesPageView.d.ts +4 -0
- package/dist/features/stores/components/StoreDigitalCodesPageView.js +20 -0
- package/dist/features/stores/components/StoreGuideHubView.js +2 -9
- package/dist/features/stores/components/StoreHeader.js +1 -1
- package/dist/features/stores/components/StoreListingsGuideView.js +4 -4
- package/dist/features/stores/components/StoreLiveItemsListing.d.ts +5 -0
- package/dist/features/stores/components/StoreLiveItemsListing.js +48 -0
- package/dist/features/stores/components/StoreLiveItemsPageView.d.ts +4 -0
- package/dist/features/stores/components/StoreLiveItemsPageView.js +20 -0
- package/dist/features/stores/components/StoreOrdersGuideView.js +2 -2
- package/dist/features/stores/components/StoresIndexListing.js +1 -1
- package/dist/features/stores/components/index.d.ts +9 -0
- package/dist/features/stores/components/index.js +3 -0
- package/dist/features/stores/schemas/firestore.d.ts +2 -4
- package/dist/features/stores/schemas/index.d.ts +4 -4
- package/dist/features/support/schemas/firestore.d.ts +2 -4
- package/dist/features/support/schemas/index.d.ts +2 -2
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +2 -2
- package/dist/features/wishlist/components/WishlistPage.js +1 -1
- package/dist/features/wishlist/components/WishlistToggleButton.js +3 -3
- package/dist/features/wishlist/hooks/useWishlistCount.js +1 -1
- package/dist/http/ApiClient.d.ts +1 -0
- package/dist/http/ApiClient.js +20 -0
- package/dist/monitoring/error-tracking.d.ts +0 -3
- package/dist/monitoring/error-tracking.js +1 -1
- package/dist/monitoring/server-logger.js +3 -3
- package/dist/next/components/GlobalError.js +1 -1
- package/dist/next/routing/route-map.d.ts +11 -0
- package/dist/next/routing/route-map.js +5 -0
- package/dist/react/ErrorBoundary.js +1 -1
- package/dist/schemas/registry.d.ts +24 -24
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -1
- package/dist/seed/products-preorders-seed-data.d.ts +2 -1
- package/dist/seed/products-standard-seed-data.js +8 -0
- package/dist/server-entry.d.ts +3 -0
- package/dist/server-entry.js +3 -0
- package/dist/server.d.ts +4 -4
- package/dist/styles.css +45 -7
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/themes/default-light.js +3 -0
- package/dist/tokens/tokens.css +43 -6
- package/dist/ui/components/Anchor.d.ts +8 -1
- package/dist/ui/components/Anchor.js +16 -2
- package/dist/ui/components/Button.d.ts +5 -2
- package/dist/ui/components/Button.js +5 -2
- package/dist/ui/components/Details.d.ts +33 -2
- package/dist/ui/components/Details.js +73 -4
- package/dist/ui/components/Div.d.ts +3 -0
- package/dist/ui/components/Div.js +12 -1
- package/dist/ui/components/DynamicBgDiv.d.ts +13 -0
- package/dist/ui/components/DynamicBgDiv.js +18 -0
- package/dist/ui/components/Form.d.ts +3 -19
- package/dist/ui/components/Form.js +8 -1
- package/dist/ui/components/Layout.d.ts +12 -1
- package/dist/ui/components/Layout.js +9 -1
- package/dist/ui/components/Progress.d.ts +1 -1
- package/dist/ui/components/Progress.js +1 -0
- package/dist/ui/components/Progress.style.css +1 -0
- package/dist/ui/components/ProgressBarFill.d.ts +6 -0
- package/dist/ui/components/ProgressBarFill.js +11 -0
- package/dist/ui/components/Semantic.d.ts +26 -7
- package/dist/ui/components/Semantic.js +33 -8
- package/dist/ui/components/TextLink.d.ts +36 -1
- package/dist/ui/components/TextLink.js +30 -2
- package/dist/ui/components/Typography.d.ts +26 -6
- package/dist/ui/components/Typography.js +37 -13
- package/dist/ui/components/VacationBanner.js +0 -1
- package/dist/ui/components/surface-tokens.d.ts +12 -2
- package/dist/ui/components/surface-tokens.js +19 -1
- package/dist/ui/rich-text/RichText.js +1 -1
- package/dist/utils/id-generators.d.ts +8 -0
- package/dist/utils/id-generators.js +14 -0
- package/dist/validation/schemas.d.ts +1 -1
- package/package.json +2 -1
|
@@ -1,27 +1,16 @@
|
|
|
1
1
|
import type { StoreDocument } from "../../../../features/stores/schemas/firestore";
|
|
2
|
-
import type { ProductDocument } from "../../../../features/products/schemas/firestore";
|
|
3
2
|
/** Full store document by slug — deduped per request via React.cache(). */
|
|
4
3
|
export declare const getStoreForDetail: (slug: string) => Promise<StoreDocument | null>;
|
|
5
|
-
/**
|
|
6
|
-
* Published products for a store detail page.
|
|
7
|
-
* Returns the first page used for SSR initial data.
|
|
8
|
-
*/
|
|
9
4
|
export declare const listStoreProductsInitial: (storeId: string, page?: number) => Promise<{
|
|
10
|
-
items: ProductDocument[];
|
|
5
|
+
items: import("../../../..").ProductDocument[];
|
|
11
6
|
total: number;
|
|
12
7
|
}>;
|
|
13
|
-
/**
|
|
14
|
-
* Published auctions for a store detail page.
|
|
15
|
-
*/
|
|
16
8
|
export declare const listStoreAuctionsInitial: (storeId: string, page?: number) => Promise<{
|
|
17
|
-
items: ProductDocument[];
|
|
9
|
+
items: import("../../../..").ProductDocument[];
|
|
18
10
|
total: number;
|
|
19
11
|
}>;
|
|
20
|
-
/**
|
|
21
|
-
* Published pre-orders for a store detail page.
|
|
22
|
-
*/
|
|
23
12
|
export declare const listStorePreOrdersInitial: (storeId: string, page?: number) => Promise<{
|
|
24
|
-
items: ProductDocument[];
|
|
13
|
+
items: import("../../../..").ProductDocument[];
|
|
25
14
|
total: number;
|
|
26
15
|
}>;
|
|
27
16
|
/** Stores for sitemap generation. */
|
|
@@ -1,54 +1,16 @@
|
|
|
1
1
|
"use server";
|
|
2
2
|
import { cache } from "react";
|
|
3
|
-
import { storeRepository
|
|
3
|
+
import { storeRepository } from "../../../../repositories";
|
|
4
4
|
import { STORES_PRODUCTS_PAGE_SIZE, STORES_SITEMAP_LIMIT, } from "../../../shared/features/stores/config";
|
|
5
|
+
import { makeGetStoreListingsInitial } from "../shared/listing-data-factory";
|
|
5
6
|
/** Full store document by slug — deduped per request via React.cache(). */
|
|
6
7
|
export const getStoreForDetail = cache(async (slug) => {
|
|
7
8
|
return (await storeRepository.findBySlug(slug).catch(() => undefined)) ?? null;
|
|
8
9
|
});
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export const listStoreProductsInitial = cache(async (storeId, page = 1) => {
|
|
14
|
-
const result = await productRepository
|
|
15
|
-
.list({
|
|
16
|
-
filters: `storeId==${storeId},status==published,listingType==standard`,
|
|
17
|
-
sorts: "-createdAt",
|
|
18
|
-
page,
|
|
19
|
-
pageSize: STORES_PRODUCTS_PAGE_SIZE,
|
|
20
|
-
})
|
|
21
|
-
.catch(() => null);
|
|
22
|
-
return { items: result?.items ?? [], total: result?.total ?? 0 };
|
|
23
|
-
});
|
|
24
|
-
/**
|
|
25
|
-
* Published auctions for a store detail page.
|
|
26
|
-
*/
|
|
27
|
-
export const listStoreAuctionsInitial = cache(async (storeId, page = 1) => {
|
|
28
|
-
const result = await productRepository
|
|
29
|
-
.list({
|
|
30
|
-
filters: `storeId==${storeId},status==published,listingType==auction`,
|
|
31
|
-
sorts: "-createdAt",
|
|
32
|
-
page,
|
|
33
|
-
pageSize: STORES_PRODUCTS_PAGE_SIZE,
|
|
34
|
-
})
|
|
35
|
-
.catch(() => null);
|
|
36
|
-
return { items: result?.items ?? [], total: result?.total ?? 0 };
|
|
37
|
-
});
|
|
38
|
-
/**
|
|
39
|
-
* Published pre-orders for a store detail page.
|
|
40
|
-
*/
|
|
41
|
-
export const listStorePreOrdersInitial = cache(async (storeId, page = 1) => {
|
|
42
|
-
const result = await productRepository
|
|
43
|
-
.list({
|
|
44
|
-
filters: `storeId==${storeId},status==published,listingType==pre-order`,
|
|
45
|
-
sorts: "-createdAt",
|
|
46
|
-
page,
|
|
47
|
-
pageSize: STORES_PRODUCTS_PAGE_SIZE,
|
|
48
|
-
})
|
|
49
|
-
.catch(() => null);
|
|
50
|
-
return { items: result?.items ?? [], total: result?.total ?? 0 };
|
|
51
|
-
});
|
|
10
|
+
// Collapse of three near-identical 14-line functions via factory — export names unchanged.
|
|
11
|
+
export const listStoreProductsInitial = makeGetStoreListingsInitial("standard", STORES_PRODUCTS_PAGE_SIZE);
|
|
12
|
+
export const listStoreAuctionsInitial = makeGetStoreListingsInitial("auction", STORES_PRODUCTS_PAGE_SIZE);
|
|
13
|
+
export const listStorePreOrdersInitial = makeGetStoreListingsInitial("pre-order", STORES_PRODUCTS_PAGE_SIZE);
|
|
52
14
|
/** Stores for sitemap generation. */
|
|
53
15
|
export const listSitemapStores = cache(async () => {
|
|
54
16
|
const result = await storeRepository
|
|
@@ -17,7 +17,7 @@ export async function runCleanupRtdbEvents(ctx) {
|
|
|
17
17
|
if (staleAuthIds.length > 0) {
|
|
18
18
|
await Promise.all(staleAuthIds.flatMap((id) => [
|
|
19
19
|
rtdb.ref(`auth_events/${id}`).remove(),
|
|
20
|
-
auth.deleteUser(`auth_event_${id}`).catch(
|
|
20
|
+
auth.deleteUser(`auth_event_${id}`).catch(console.error),
|
|
21
21
|
]));
|
|
22
22
|
ctx.logger.info("Auth events removed", { count: staleAuthIds.length });
|
|
23
23
|
}
|
|
@@ -8,14 +8,14 @@ export declare const addToCartSchema: z.ZodObject<{
|
|
|
8
8
|
storeId: z.ZodString;
|
|
9
9
|
storeName: z.ZodDefault<z.ZodString>;
|
|
10
10
|
quantity: z.ZodDefault<z.ZodNumber>;
|
|
11
|
-
listingType: z.ZodEnum<["standard", "auction", "pre-order", "prize-draw"]>;
|
|
11
|
+
listingType: z.ZodEnum<["standard", "auction", "pre-order", "prize-draw", "classified", "digital-code", "live"]>;
|
|
12
12
|
isOffer: z.ZodOptional<z.ZodBoolean>;
|
|
13
13
|
offerId: z.ZodOptional<z.ZodString>;
|
|
14
14
|
lockedPrice: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
}, "strip", z.ZodTypeAny, {
|
|
16
16
|
currency: string;
|
|
17
17
|
storeId: string;
|
|
18
|
-
listingType: "standard" | "auction" | "pre-order" | "prize-draw";
|
|
18
|
+
listingType: "standard" | "auction" | "pre-order" | "prize-draw" | "classified" | "digital-code" | "live";
|
|
19
19
|
price: number;
|
|
20
20
|
storeName: string;
|
|
21
21
|
productId: string;
|
|
@@ -27,7 +27,7 @@ export declare const addToCartSchema: z.ZodObject<{
|
|
|
27
27
|
isOffer?: boolean | undefined;
|
|
28
28
|
}, {
|
|
29
29
|
storeId: string;
|
|
30
|
-
listingType: "standard" | "auction" | "pre-order" | "prize-draw";
|
|
30
|
+
listingType: "standard" | "auction" | "pre-order" | "prize-draw" | "classified" | "digital-code" | "live";
|
|
31
31
|
price: number;
|
|
32
32
|
productId: string;
|
|
33
33
|
productTitle: string;
|
|
@@ -66,14 +66,14 @@ export declare const mergeGuestCartSchema: z.ZodObject<{
|
|
|
66
66
|
storeId: z.ZodString;
|
|
67
67
|
storeName: z.ZodDefault<z.ZodString>;
|
|
68
68
|
quantity: z.ZodDefault<z.ZodNumber>;
|
|
69
|
-
listingType: z.ZodEnum<["standard", "auction", "pre-order", "prize-draw"]>;
|
|
69
|
+
listingType: z.ZodEnum<["standard", "auction", "pre-order", "prize-draw", "classified", "digital-code", "live"]>;
|
|
70
70
|
isOffer: z.ZodOptional<z.ZodBoolean>;
|
|
71
71
|
offerId: z.ZodOptional<z.ZodString>;
|
|
72
72
|
lockedPrice: z.ZodOptional<z.ZodNumber>;
|
|
73
73
|
}, "strip", z.ZodTypeAny, {
|
|
74
74
|
currency: string;
|
|
75
75
|
storeId: string;
|
|
76
|
-
listingType: "standard" | "auction" | "pre-order" | "prize-draw";
|
|
76
|
+
listingType: "standard" | "auction" | "pre-order" | "prize-draw" | "classified" | "digital-code" | "live";
|
|
77
77
|
price: number;
|
|
78
78
|
storeName: string;
|
|
79
79
|
productId: string;
|
|
@@ -85,7 +85,7 @@ export declare const mergeGuestCartSchema: z.ZodObject<{
|
|
|
85
85
|
isOffer?: boolean | undefined;
|
|
86
86
|
}, {
|
|
87
87
|
storeId: string;
|
|
88
|
-
listingType: "standard" | "auction" | "pre-order" | "prize-draw";
|
|
88
|
+
listingType: "standard" | "auction" | "pre-order" | "prize-draw" | "classified" | "digital-code" | "live";
|
|
89
89
|
price: number;
|
|
90
90
|
productId: string;
|
|
91
91
|
productTitle: string;
|
|
@@ -101,7 +101,7 @@ export declare const mergeGuestCartSchema: z.ZodObject<{
|
|
|
101
101
|
guestItems: {
|
|
102
102
|
currency: string;
|
|
103
103
|
storeId: string;
|
|
104
|
-
listingType: "standard" | "auction" | "pre-order" | "prize-draw";
|
|
104
|
+
listingType: "standard" | "auction" | "pre-order" | "prize-draw" | "classified" | "digital-code" | "live";
|
|
105
105
|
price: number;
|
|
106
106
|
storeName: string;
|
|
107
107
|
productId: string;
|
|
@@ -115,7 +115,7 @@ export declare const mergeGuestCartSchema: z.ZodObject<{
|
|
|
115
115
|
}, {
|
|
116
116
|
guestItems: {
|
|
117
117
|
storeId: string;
|
|
118
|
-
listingType: "standard" | "auction" | "pre-order" | "prize-draw";
|
|
118
|
+
listingType: "standard" | "auction" | "pre-order" | "prize-draw" | "classified" | "digital-code" | "live";
|
|
119
119
|
price: number;
|
|
120
120
|
productId: string;
|
|
121
121
|
productTitle: string;
|
|
@@ -28,6 +28,8 @@ export const LISTING_TYPE_REGISTRY = {
|
|
|
28
28
|
"digital-code": digitalCode.config,
|
|
29
29
|
live: live.config,
|
|
30
30
|
};
|
|
31
|
+
// Returns undefined for "bundle" — bundles are CategoryDocument, not in this registry.
|
|
32
|
+
// Callers must null-check: `pluginFor(lt) ?? fallbackBehavior`.
|
|
31
33
|
export function pluginFor(type) {
|
|
32
34
|
return LISTING_TYPE_REGISTRY[type];
|
|
33
35
|
}
|
|
@@ -32,7 +32,7 @@ export const actionTracker = {
|
|
|
32
32
|
const result = currentSink(event);
|
|
33
33
|
// Swallow promise rejections so the caller path is never affected.
|
|
34
34
|
if (result && typeof result.catch === "function") {
|
|
35
|
-
result.catch(
|
|
35
|
+
result.catch(console.error);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
catch {
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export function isAuctionProduct(doc) {
|
|
2
|
+
return doc.listingType === "auction" && doc.auctionEndDate != null;
|
|
3
|
+
}
|
|
4
|
+
// True when the auction end date is in the future — gates the Bid button.
|
|
5
|
+
export function isActiveAuction(doc) {
|
|
6
|
+
return isAuctionProduct(doc) && doc.auctionEndDate > new Date();
|
|
7
|
+
}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ProductDocument } from "../../../../features/products/schemas/firestore";
|
|
2
|
+
export declare function isClassifiedProduct(doc: ProductDocument): boolean;
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export function isDigitalCodeProduct(doc) {
|
|
2
|
+
return doc.listingType === "digital-code";
|
|
3
|
+
}
|
|
4
|
+
// True when there are codes remaining — gates the Buy Now CTA.
|
|
5
|
+
export function hasCodesAvailable(doc) {
|
|
6
|
+
return isDigitalCodeProduct(doc) && (doc.digitalCode?.codesAvailable ?? 0) > 0;
|
|
7
|
+
}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ProductDocument } from "../../../../features/products/schemas/firestore";
|
|
2
|
+
export declare function isLiveItemProduct(doc: ProductDocument): boolean;
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export function isPreOrderProduct(doc) {
|
|
2
|
+
return doc.listingType === "pre-order";
|
|
3
|
+
}
|
|
4
|
+
// True when the pre-order window is still open (not closed, delivery date in future).
|
|
5
|
+
export function isOpenPreOrder(doc) {
|
|
6
|
+
return isPreOrderProduct(doc) && !doc.preOrderClosed && doc.preOrderDeliveryDate > new Date();
|
|
7
|
+
}
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export function isPrizeDrawProduct(doc) {
|
|
2
|
+
return doc.listingType === "prize-draw";
|
|
3
|
+
}
|
|
4
|
+
// True when entries are still accepted (reveal window has not started, slots not exhausted).
|
|
5
|
+
export function isOpenPrizeDraw(doc) {
|
|
6
|
+
if (!isPrizeDrawProduct(doc))
|
|
7
|
+
return false;
|
|
8
|
+
const max = doc.prizeMaxEntries ?? null;
|
|
9
|
+
const current = doc.prizeCurrentEntries ?? 0;
|
|
10
|
+
if (typeof max === "number" && current >= max)
|
|
11
|
+
return false;
|
|
12
|
+
return !doc.prizeRevealWindowStart || doc.prizeRevealWindowStart > new Date();
|
|
13
|
+
}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ProductDocument } from "../../../../features/products/schemas/firestore";
|
|
2
|
+
export declare function isStandardProduct(doc: ProductDocument): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface BaseDocument {
|
|
2
|
+
id: string;
|
|
3
|
+
createdAt: Date;
|
|
4
|
+
updatedAt: Date;
|
|
5
|
+
}
|
|
6
|
+
export interface WithSlug {
|
|
7
|
+
slug?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface WithStoreOwnership {
|
|
10
|
+
storeId: string;
|
|
11
|
+
ownerId?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface WithStatus<S extends string> {
|
|
14
|
+
status: S;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -3,16 +3,22 @@
|
|
|
3
3
|
* server's stable `code`, the HTTP status, and any Zod issues so wrappers
|
|
4
4
|
* can route the failure (toast vs inline field error vs error boundary).
|
|
5
5
|
*/
|
|
6
|
+
/** Serialised Zod-issue shape as it arrives over the wire from the server. */
|
|
7
|
+
export interface ApiIssue {
|
|
8
|
+
message: string;
|
|
9
|
+
path?: (string | number)[];
|
|
10
|
+
code?: string;
|
|
11
|
+
}
|
|
6
12
|
export declare class ApiError extends Error {
|
|
7
13
|
readonly code: string;
|
|
8
14
|
readonly status: number;
|
|
9
|
-
readonly issues?:
|
|
15
|
+
readonly issues?: ApiIssue[];
|
|
10
16
|
readonly requestId?: string;
|
|
11
|
-
readonly cause?:
|
|
17
|
+
readonly cause?: Error;
|
|
12
18
|
constructor(code: string, message: string, status: number, options?: {
|
|
13
|
-
issues?:
|
|
19
|
+
issues?: ApiIssue[];
|
|
14
20
|
requestId?: string;
|
|
15
|
-
cause?:
|
|
21
|
+
cause?: Error;
|
|
16
22
|
});
|
|
17
23
|
}
|
|
18
24
|
export declare function isApiError(err: unknown): err is ApiError;
|
package/dist/client.d.ts
CHANGED
|
@@ -90,6 +90,10 @@ export { SORT_DIR, sortBy } from "./constants/sort";
|
|
|
90
90
|
export { SIEVE_OP, sieveFilter, sieveAnd, sieveMultiEq } from "./utils/sieve-builder";
|
|
91
91
|
export { Container, Grid, Row, Stack } from "./ui/components/Layout";
|
|
92
92
|
export { Div } from "./ui/components/Div";
|
|
93
|
+
export { DynamicBgDiv } from "./ui/components/DynamicBgDiv";
|
|
94
|
+
export type { DynamicBgDivProps } from "./ui/components/DynamicBgDiv";
|
|
95
|
+
export { ProgressBarFill } from "./ui/components/ProgressBarFill";
|
|
96
|
+
export type { ProgressBarFillProps } from "./ui/components/ProgressBarFill";
|
|
93
97
|
export { Main, Section, Nav, Ul, Ol, Li, Table, Thead, Tbody, Tr, Th, Td, Code, Pre, Blockquote } from "./ui/components/Semantic";
|
|
94
98
|
export { Badge } from "./ui/components/Badge";
|
|
95
99
|
export { Button } from "./ui/components/Button";
|
|
@@ -131,8 +135,8 @@ export { ZodSetup } from "./validation/ZodSetup";
|
|
|
131
135
|
export type { ZodSetupProps } from "./validation/ZodSetup";
|
|
132
136
|
export { AdminSidebar } from "./features/admin/components/AdminSidebar";
|
|
133
137
|
export type { AdminSidebarProps, AdminNavItem, AdminNavGroup } from "./features/admin/components/AdminSidebar";
|
|
134
|
-
export { AdminDashboardView, AdminAnalyticsView, AdminPrizeDrawsView, AdminCarouselView, AdminSublistingCategoriesView, DataTable, DataListingView, useAdminListingData, toRecordArray, toStringValue, toRelativeDate, toRupees } from "./features/admin/index";
|
|
135
|
-
export type { AdminDashboardViewProps, AdminAnalyticsViewProps, AdminAnalyticsViewLabels, AdminPrizeDrawsViewProps, AdminCarouselViewProps, AdminListingScaffoldRow, ListingViewConfig } from "./features/admin/index";
|
|
138
|
+
export { AdminDashboardView, AdminAnalyticsView, AdminPrizeDrawsView, AdminCarouselView, AdminSublistingCategoriesView, AdminFulfillmentView, DataTable, DataListingView, useAdminListingData, toRecordArray, toStringValue, toRelativeDate, toRupees } from "./features/admin/index";
|
|
139
|
+
export type { AdminDashboardViewProps, AdminAnalyticsViewProps, AdminAnalyticsViewLabels, AdminPrizeDrawsViewProps, AdminCarouselViewProps, AdminFulfillmentViewProps, AdminListingScaffoldRow, ListingViewConfig } from "./features/admin/index";
|
|
136
140
|
export type { BulkActionItem } from "./ui/components/BulkActionBar";
|
|
137
141
|
export { ADMIN_ENDPOINTS } from "./constants/index";
|
|
138
142
|
export { apiClient, ApiClientError } from "./http/index";
|
|
@@ -228,8 +232,8 @@ export { UserOffersPanel } from "./features/account/components/UserOffersPanel";
|
|
|
228
232
|
export type { UserOffersPanelProps } from "./features/account/components/UserOffersPanel";
|
|
229
233
|
export { SellerDashboardView as StoreDashboardView, SellerDashboardView, useSellerDashboard as useStoreDashboard, useSellerDashboard } from "./features/seller/index";
|
|
230
234
|
export type { SellerDashboardViewProps as StoreDashboardViewProps, SellerDashboardViewProps } from "./features/seller/index";
|
|
231
|
-
export { SellerPayoutSettingsView, SellerShippingView, SellerReviewsView, SellerPayoutRequestView, SellerAnalyticsStats, SellerTopProducts, SellerAnalyticsView, SellerPayoutsView, SellerCouponEditorView, SellerBidsView, SellerAddressesView, SellerPreOrdersView, SellerPrizeDrawsView, PrintCenterView, SellerOffersView, SellerGroupedListingsView, StoreGroupedListingsView, SellerAnalyticsAlertsView, StoreAnalyticsAlertsView } from "./features/seller/components/index";
|
|
232
|
-
export type { SellerPayoutSettingsViewProps, SellerShippingViewProps, SellerReviewsViewProps, SellerPayoutRequestViewProps, SellerAnalyticsViewProps, SellerPayoutsViewProps, SellerCouponEditorViewProps, CouponEditorDraft, SellerBidsViewProps, SellerAddressesViewProps, SellerPreOrdersViewProps, SellerPrizeDrawsViewProps, SellerOffersViewProps, SellerGroupedListingsViewProps, SellerAnalyticsAlertsViewProps } from "./features/seller/components/index";
|
|
235
|
+
export { SellerPayoutSettingsView, SellerShippingView, SellerReviewsView, SellerPayoutRequestView, SellerAnalyticsStats, SellerTopProducts, SellerAnalyticsView, SellerPayoutsView, SellerCouponEditorView, SellerBidsView, SellerAddressesView, SellerPreOrdersView, SellerPrizeDrawsView, PrintCenterView, SellerOffersView, SellerGroupedListingsView, StoreGroupedListingsView, SellerAnalyticsAlertsView, StoreAnalyticsAlertsView, BarcodeField, FulfillmentView } from "./features/seller/components/index";
|
|
236
|
+
export type { SellerPayoutSettingsViewProps, SellerShippingViewProps, SellerReviewsViewProps, SellerPayoutRequestViewProps, SellerAnalyticsViewProps, SellerPayoutsViewProps, SellerCouponEditorViewProps, CouponEditorDraft, SellerBidsViewProps, SellerAddressesViewProps, SellerPreOrdersViewProps, SellerPrizeDrawsViewProps, SellerOffersViewProps, SellerGroupedListingsViewProps, SellerAnalyticsAlertsViewProps, BarcodeFieldProps, FulfillmentViewProps } from "./features/seller/components/index";
|
|
233
237
|
export type { SellerAnalyticsSummary, SellerAnalyticsTopProduct } from "./features/seller/types/index";
|
|
234
238
|
export { UserAccountHubView, UserOrdersView, OrderDetailView, UserNotificationsView, UserReturnsView, UserSupportView, useNotifications } from "./features/account/index";
|
|
235
239
|
export type { UserAccountHubViewProps, UserAccountHubViewLabels, UserOrdersViewProps, UserOrdersViewLabels, OrderDetailViewProps, OrderDetailViewLabels, UserNotificationsViewProps, UserNotificationsViewLabels, UserReturnsViewProps, UserReturnsViewLabels, UserSupportViewProps } from "./features/account/index";
|
package/dist/client.js
CHANGED
|
@@ -155,6 +155,8 @@ export { SORT_DIR, sortBy } from "./constants/sort";
|
|
|
155
155
|
export { SIEVE_OP, sieveFilter, sieveAnd, sieveMultiEq } from "./utils/sieve-builder";
|
|
156
156
|
export { Container, Grid, Row, Stack } from "./ui/components/Layout";
|
|
157
157
|
export { Div } from "./ui/components/Div";
|
|
158
|
+
export { DynamicBgDiv } from "./ui/components/DynamicBgDiv";
|
|
159
|
+
export { ProgressBarFill } from "./ui/components/ProgressBarFill";
|
|
158
160
|
export { Main, Section, Nav, Ul, Ol, Li, Table, Thead, Tbody, Tr, Th, Td, Code, Pre, Blockquote } from "./ui/components/Semantic";
|
|
159
161
|
export { Badge } from "./ui/components/Badge";
|
|
160
162
|
export { Button } from "./ui/components/Button";
|
|
@@ -180,7 +182,7 @@ export { Search } from "./features/search/components";
|
|
|
180
182
|
export { ToastProvider, SkipToMain, NavigationLoader } from "./ui/index";
|
|
181
183
|
export { ZodSetup } from "./validation/ZodSetup";
|
|
182
184
|
export { AdminSidebar } from "./features/admin/components/AdminSidebar";
|
|
183
|
-
export { AdminDashboardView, AdminAnalyticsView, AdminPrizeDrawsView, AdminCarouselView, AdminSublistingCategoriesView, DataTable, DataListingView, useAdminListingData, toRecordArray, toStringValue, toRelativeDate, toRupees } from "./features/admin/index";
|
|
185
|
+
export { AdminDashboardView, AdminAnalyticsView, AdminPrizeDrawsView, AdminCarouselView, AdminSublistingCategoriesView, AdminFulfillmentView, DataTable, DataListingView, useAdminListingData, toRecordArray, toStringValue, toRelativeDate, toRupees } from "./features/admin/index";
|
|
184
186
|
export { ADMIN_ENDPOINTS } from "./constants/index";
|
|
185
187
|
export { apiClient, ApiClientError } from "./http/index";
|
|
186
188
|
export { UserSidebar } from "./features/account/components/UserSidebar";
|
|
@@ -244,7 +246,7 @@ export { FeatureBadge, FeatureBadgeList } from "./features/products/components/F
|
|
|
244
246
|
export { SellerOffersPanel } from "./features/seller/components/SellerOffersPanel";
|
|
245
247
|
export { UserOffersPanel } from "./features/account/components/UserOffersPanel";
|
|
246
248
|
export { SellerDashboardView as StoreDashboardView, SellerDashboardView, useSellerDashboard as useStoreDashboard, useSellerDashboard } from "./features/seller/index";
|
|
247
|
-
export { SellerPayoutSettingsView, SellerShippingView, SellerReviewsView, SellerPayoutRequestView, SellerAnalyticsStats, SellerTopProducts, SellerAnalyticsView, SellerPayoutsView, SellerCouponEditorView, SellerBidsView, SellerAddressesView, SellerPreOrdersView, SellerPrizeDrawsView, PrintCenterView, SellerOffersView, SellerGroupedListingsView, StoreGroupedListingsView, SellerAnalyticsAlertsView, StoreAnalyticsAlertsView } from "./features/seller/components/index";
|
|
249
|
+
export { SellerPayoutSettingsView, SellerShippingView, SellerReviewsView, SellerPayoutRequestView, SellerAnalyticsStats, SellerTopProducts, SellerAnalyticsView, SellerPayoutsView, SellerCouponEditorView, SellerBidsView, SellerAddressesView, SellerPreOrdersView, SellerPrizeDrawsView, PrintCenterView, SellerOffersView, SellerGroupedListingsView, StoreGroupedListingsView, SellerAnalyticsAlertsView, StoreAnalyticsAlertsView, BarcodeField, FulfillmentView } from "./features/seller/components/index";
|
|
248
250
|
export { UserAccountHubView, UserOrdersView, OrderDetailView, UserNotificationsView, UserReturnsView, UserSupportView, useNotifications } from "./features/account/index";
|
|
249
251
|
export { useOrders, useOrder, OrdersList } from "./features/orders/index";
|
|
250
252
|
export { useCouponValidate } from "./features/promotions/hooks/useCouponValidate";
|
|
@@ -139,6 +139,7 @@ export declare const ADMIN_ENDPOINTS: {
|
|
|
139
139
|
readonly ADDRESS_BY_ID: (id: string) => string;
|
|
140
140
|
readonly GROUPED_LISTINGS: "/api/admin/grouped-listings";
|
|
141
141
|
readonly GROUPED_LISTING_BY_ID: (id: string) => string;
|
|
142
|
+
readonly ADMIN_FULFILLMENT: (storeId: string) => string;
|
|
142
143
|
};
|
|
143
144
|
export declare const CHAT_ENDPOINTS: {
|
|
144
145
|
readonly LIST: "/api/chat";
|
|
@@ -282,6 +283,9 @@ export declare const SELLER_ENDPOINTS: {
|
|
|
282
283
|
readonly SHIPPING_CONFIG_BY_ID: (id: string) => string;
|
|
283
284
|
readonly GOOGLE_REVIEWS: "/api/store/google-reviews";
|
|
284
285
|
readonly GOOGLE_REVIEWS_SYNC: "/api/store/google-reviews/sync";
|
|
286
|
+
readonly PRODUCTS_SCAN: (barcode: string) => string;
|
|
287
|
+
readonly ORDERS_FULFILLMENT: "/api/store/fulfillment";
|
|
288
|
+
readonly ORDERS_ASSIGN: (orderId: string) => string;
|
|
285
289
|
};
|
|
286
290
|
export declare const BLOG_ENDPOINTS: {
|
|
287
291
|
readonly LIST: "/api/blog";
|
|
@@ -462,6 +466,7 @@ export declare const API_ENDPOINTS: {
|
|
|
462
466
|
readonly ADDRESS_BY_ID: (id: string) => string;
|
|
463
467
|
readonly GROUPED_LISTINGS: "/api/admin/grouped-listings";
|
|
464
468
|
readonly GROUPED_LISTING_BY_ID: (id: string) => string;
|
|
469
|
+
readonly ADMIN_FULFILLMENT: (storeId: string) => string;
|
|
465
470
|
};
|
|
466
471
|
readonly CHAT: {
|
|
467
472
|
readonly LIST: "/api/chat";
|
|
@@ -608,6 +613,9 @@ export declare const API_ENDPOINTS: {
|
|
|
608
613
|
readonly SHIPPING_CONFIG_BY_ID: (id: string) => string;
|
|
609
614
|
readonly GOOGLE_REVIEWS: "/api/store/google-reviews";
|
|
610
615
|
readonly GOOGLE_REVIEWS_SYNC: "/api/store/google-reviews/sync";
|
|
616
|
+
readonly PRODUCTS_SCAN: (barcode: string) => string;
|
|
617
|
+
readonly ORDERS_FULFILLMENT: "/api/store/fulfillment";
|
|
618
|
+
readonly ORDERS_ASSIGN: (orderId: string) => string;
|
|
611
619
|
};
|
|
612
620
|
readonly BLOG: {
|
|
613
621
|
readonly LIST: "/api/blog";
|
|
@@ -787,6 +795,7 @@ export declare const API_ROUTES: {
|
|
|
787
795
|
readonly ADDRESS_BY_ID: (id: string) => string;
|
|
788
796
|
readonly GROUPED_LISTINGS: "/api/admin/grouped-listings";
|
|
789
797
|
readonly GROUPED_LISTING_BY_ID: (id: string) => string;
|
|
798
|
+
readonly ADMIN_FULFILLMENT: (storeId: string) => string;
|
|
790
799
|
};
|
|
791
800
|
readonly CHAT: {
|
|
792
801
|
readonly LIST: "/api/chat";
|
|
@@ -933,6 +942,9 @@ export declare const API_ROUTES: {
|
|
|
933
942
|
readonly SHIPPING_CONFIG_BY_ID: (id: string) => string;
|
|
934
943
|
readonly GOOGLE_REVIEWS: "/api/store/google-reviews";
|
|
935
944
|
readonly GOOGLE_REVIEWS_SYNC: "/api/store/google-reviews/sync";
|
|
945
|
+
readonly PRODUCTS_SCAN: (barcode: string) => string;
|
|
946
|
+
readonly ORDERS_FULFILLMENT: "/api/store/fulfillment";
|
|
947
|
+
readonly ORDERS_ASSIGN: (orderId: string) => string;
|
|
936
948
|
};
|
|
937
949
|
readonly BLOG: {
|
|
938
950
|
readonly LIST: "/api/blog";
|
|
@@ -158,6 +158,7 @@ export const ADMIN_ENDPOINTS = {
|
|
|
158
158
|
ADDRESS_BY_ID: (id) => `/api/admin/addresses/${id}`,
|
|
159
159
|
GROUPED_LISTINGS: "/api/admin/grouped-listings",
|
|
160
160
|
GROUPED_LISTING_BY_ID: (id) => `/api/admin/grouped-listings/${id}`,
|
|
161
|
+
ADMIN_FULFILLMENT: (storeId) => `/api/store/fulfillment?storeId=${encodeURIComponent(storeId)}`,
|
|
161
162
|
};
|
|
162
163
|
// ---------------------------------------------------------------------------
|
|
163
164
|
// Chat
|
|
@@ -371,6 +372,9 @@ export const SELLER_ENDPOINTS = {
|
|
|
371
372
|
SHIPPING_CONFIG_BY_ID: (id) => `/api/store/shipping-configs/${id}`,
|
|
372
373
|
GOOGLE_REVIEWS: "/api/store/google-reviews",
|
|
373
374
|
GOOGLE_REVIEWS_SYNC: "/api/store/google-reviews/sync",
|
|
375
|
+
PRODUCTS_SCAN: (barcode) => `/api/store/products/scan?barcode=${encodeURIComponent(barcode)}`,
|
|
376
|
+
ORDERS_FULFILLMENT: "/api/store/fulfillment",
|
|
377
|
+
ORDERS_ASSIGN: (orderId) => `/api/store/orders/${orderId}/assign`,
|
|
374
378
|
};
|
|
375
379
|
// ---------------------------------------------------------------------------
|
|
376
380
|
// Blog
|
|
@@ -30,12 +30,12 @@ async function replayCartOps() {
|
|
|
30
30
|
productId: op.productId,
|
|
31
31
|
quantity: op.quantity ?? 1,
|
|
32
32
|
})
|
|
33
|
-
.catch(
|
|
33
|
+
.catch(console.error);
|
|
34
34
|
}
|
|
35
35
|
else if (op.op === "remove") {
|
|
36
36
|
await apiClient
|
|
37
37
|
.delete(`/api/cart/${op.productId}`)
|
|
38
|
-
.catch(
|
|
38
|
+
.catch(console.error);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
clearCartOps();
|
|
@@ -50,12 +50,12 @@ async function replayWishlistOps() {
|
|
|
50
50
|
if (op.op === "add") {
|
|
51
51
|
await apiClient
|
|
52
52
|
.post("/api/user/wishlist", { productId: op.itemId })
|
|
53
|
-
.catch(
|
|
53
|
+
.catch(console.error);
|
|
54
54
|
}
|
|
55
55
|
else if (op.op === "remove") {
|
|
56
56
|
await apiClient
|
|
57
57
|
.delete(`/api/user/wishlist/${op.itemId}`)
|
|
58
|
-
.catch(
|
|
58
|
+
.catch(console.error);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
clearWishlistOps();
|
|
@@ -10,5 +10,5 @@ export const GC = {
|
|
|
10
10
|
textMuted: "text-sm text-[var(--appkit-color-text-muted)]",
|
|
11
11
|
textStrong: "text-[var(--appkit-color-text)]",
|
|
12
12
|
code: "text-xs bg-[var(--appkit-color-border)] px-1 py-0.5 rounded",
|
|
13
|
-
|
|
13
|
+
iconBg: "[background:linear-gradient(135deg,var(--appkit-color-primary-700)_0%,var(--appkit-color-cobalt)_100%)]",
|
|
14
14
|
};
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Card, Div, Heading, Row, Section, Span, Stack, Text } from "../../../ui";
|
|
3
|
-
const __P = {
|
|
4
|
-
p8: "p-8",
|
|
5
|
-
};
|
|
6
3
|
export function AboutView({ labels = {}, howItems = [], valueItems = [], milestones = [], ctaBannerClass = "", renderCtaButtons, }) {
|
|
7
|
-
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { color: "inverse", tone: "accent-banner",
|
|
4
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { color: "inverse", tone: "accent-banner", padding: "y-4xl", children: _jsxs(Div, { paddingX: "x-page", className: "max-w-4xl mx-auto text-center", children: [_jsx(Heading, { color: "inverse", level: 1, variant: "none", className: "mb-6", mdSize: "5xl", size: "4xl", weight: "bold", children: labels.title }), _jsx(Text, { color: "inverse", variant: "none", className: "/80 max-w-2xl mx-auto", size: "xl", children: labels.subtitle })] }) }), _jsxs(Div, { paddingX: "x-page", className: "max-w-5xl mx-auto", padding: "y-4xl", children: [_jsxs(Section, { className: "text-center max-w-3xl mx-auto", children: [_jsx(Heading, { level: 2, className: "mb-4", children: labels.missionTitle }), _jsx(Text, { size: "lg", variant: "secondary", className: "leading-relaxed", children: labels.missionText })] }), _jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-12", align: "center", children: labels.howItWorksTitle }), _jsx(Div, { className: "grid md:grid-cols-3", gap: "6", children: howItems.map(({ title, text, icon, tone }) => (_jsxs(Card, { variant: `gradient-${tone ?? "indigo"}`, padding: "md", spacing: "sm", children: [_jsx(Div, { children: _jsx(Span, { size: "4xl", children: icon }) }), _jsx(Heading, { level: 3, children: title }), _jsx(Text, { size: "sm", variant: "secondary", className: "leading-relaxed", children: text })] }, title))) })] }), _jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-12", align: "center", children: labels.valuesTitle }), _jsx(Div, { className: "grid md:grid-cols-3", gap: "5", children: valueItems.map(({ title, text, icon }) => (_jsxs("div", { className: "bg-white dark:bg-slate-800 rounded-xl p-6 space-y-3 border border-neutral-200 dark:border-slate-700", children: [_jsx(Div, { children: _jsx(Span, { size: "3xl", children: icon }) }), _jsx(Heading, { level: 3, children: title }), _jsx(Text, { size: "sm", variant: "secondary", className: "leading-relaxed", children: text })] }, title))) })] }), _jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-10", align: "center", children: labels.milestonesTitle }), _jsx(Stack, { className: "relative border-l-2 border-primary/30 max-w-2xl mx-auto pl-[2rem]", gap: "xl", children: milestones.map(({ year, text }) => (_jsxs(Div, { className: "relative", children: [_jsx(Div, { className: "absolute -left-10 top-1 w-4 h-4 bg-primary border-2 border-white", rounded: "full" }), _jsx(Span, { size: "xs", weight: "bold", className: "text-primary tracking-wide", transform: "uppercase", children: year }), _jsx(Text, { className: "mt-1", children: text })] }, year))) })] }), _jsxs(Section, { color: "inverse", tone: "accent-banner", className: `text-center ${ctaBannerClass}`, padding: "xl", rounded: "2xl", children: [_jsx(Heading, { color: "inverse", level: 2, variant: "none", className: "mb-8", size: "3xl", weight: "bold", children: labels.ctaTitle }), renderCtaButtons ? (renderCtaButtons()) : (_jsx(Row, { justify: "center", gap: "3", wrap: true, children: _jsxs(Span, { color: "inverse", size: "sm", className: "/70", children: [labels.ctaSell, " \u00B7 ", labels.ctaShop] }) }))] })] })] }));
|
|
8
5
|
}
|
|
@@ -20,5 +20,5 @@ export async function FAQPageView({ category, } = {}) {
|
|
|
20
20
|
? allItems.filter((item) => item.category === category)
|
|
21
21
|
: allItems;
|
|
22
22
|
const activeCategory = categories.find((c) => c.slug === category);
|
|
23
|
-
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { color: "inverse", tone: "accent-banner", padding: "banner", children: _jsxs(Container, { size: "md", className: "text-center", children: [_jsx(Heading, { color: "inverse", level: 1, variant: "none", className: "mb-3", children: activeCategory ? activeCategory.label : t("title") }), _jsx(Text, { color: "inverse", variant: "none", className: "/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsx(Container, { size: "md", padding: "content-banner", children: _jsxs(Stack, { direction: "md-row", gap: "xl", children: [categories.length > 0 && (_jsxs(Aside, { className: "md:w-56 flex-shrink-0", children: [_jsx(Heading, { level: 3, className: "uppercase tracking-wide mb-3", color: "muted", size: "sm", weight: "semibold", children: t("categoriesLabel") }), _jsxs(Nav, { "aria-label": "FAQ categories", spacing: "xs", children: [_jsxs(TextLink, { rounded: "lg", href: String(ROUTES.PUBLIC.FAQS),
|
|
23
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { color: "inverse", tone: "accent-banner", padding: "banner", children: _jsxs(Container, { size: "md", className: "text-center", children: [_jsx(Heading, { color: "inverse", level: 1, variant: "none", className: "mb-3", children: activeCategory ? activeCategory.label : t("title") }), _jsx(Text, { color: "inverse", variant: "none", className: "/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsx(Container, { size: "md", padding: "content-banner", children: _jsxs(Stack, { direction: "md-row", gap: "xl", children: [categories.length > 0 && (_jsxs(Aside, { className: "md:w-56 flex-shrink-0", children: [_jsx(Heading, { level: 3, className: "uppercase tracking-wide mb-3", color: "muted", size: "sm", weight: "semibold", children: t("categoriesLabel") }), _jsxs(Nav, { "aria-label": "FAQ categories", spacing: "xs", children: [_jsxs(TextLink, { rounded: "lg", href: String(ROUTES.PUBLIC.FAQS), paddingX: "sm", paddingY: "xs", layout: "flex", align: "center", justify: "between", weight: !category ? "semibold" : undefined, className: `transition-colors ${!category ? "bg-primary/10 text-primary" : "hover:bg-neutral-100 dark:bg-neutral-800 dark:hover:bg-neutral-800"}`, size: "sm", children: [_jsxs(Span, { className: `${flex.row}`, gap: "md", children: [_jsx(HelpCircle, { className: "w-4 h-4" }), t("allCategories")] }), _jsx(ChevronRight, { className: "w-3.5 h-3.5 opacity-50" })] }), categories.map((cat) => (_jsxs(TextLink, { rounded: "lg", href: String(ROUTES.PUBLIC.FAQ_CATEGORY(cat.slug)), paddingX: "sm", paddingY: "xs", layout: "flex", align: "center", justify: "between", weight: category === cat.slug ? "semibold" : undefined, className: `transition-colors ${category === cat.slug ? "bg-primary/10 text-primary" : "hover:bg-neutral-100 dark:bg-neutral-800 dark:hover:bg-neutral-800"}`, size: "sm", children: [_jsxs(Span, { className: `${flex.row}`, gap: "md", children: [_jsx(Span, { children: cat.icon }), cat.label] }), _jsx(ChevronRight, { className: "w-3.5 h-3.5 opacity-50" })] }, cat.slug)))] })] })), _jsxs(Div, { className: "flex-1 min-w-0", children: [visibleItems.length === 0 ? (_jsxs(Section, { className: `text-center`, border: "default", surface: "subtle", rounded: "2xl", padding: "y-4xl", children: [_jsx(HelpCircle, { className: "w-10 h-10 mx-auto mb-3 text-zinc-300 dark:text-zinc-600 dark:text-zinc-400" }), _jsx(Heading, { level: 3, className: "mb-2", size: "base", children: t("emptyTitle") }), _jsx(Text, { variant: "secondary", size: "sm", children: t("emptyText") })] })) : (_jsx(Stack, { gap: "sm", children: visibleItems.map((item, i) => (_jsxs(Details, { tone: "card", className: "group overflow-hidden", children: [_jsxs(Summary, { paddingX: "x-5", paddingY: "y-md", size: "sm", weight: "medium", layout: "flex", align: "center", justify: "between", className: "hover:bg-neutral-50 dark:hover:bg-neutral-800/50 transition-colors", children: [_jsx(Span, { children: item.question }), _jsx(ChevronRight, { className: "w-4 h-4 flex-shrink-0 ml-3 transition-transform group-open:rotate-90" })] }), _jsx(Div, { padding: "x-md", paddingY: "b-md-lg", className: "pt-[0.25rem]", children: _jsx(RichTextRenderer, { html: item.answer, proseClass: "prose prose-sm max-w-none dark:prose-invert" }) })] }, i))) })), _jsxs(Section, { className: `mt-10 text-center`, border: "default", surface: "subtle", rounded: "2xl", padding: "lg", children: [_jsx(Heading, { level: 3, className: "mb-2", size: "base", children: t("stillNeedHelpTitle") }), _jsx(Text, { variant: "secondary", className: "mb-4", size: "sm", children: t("stillNeedHelpText") }), _jsxs(Row, { align: "center", justify: "center", gap: "md", wrap: true, children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.HELP), children: t("helpCenter") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.CONTACT), variant: "muted", children: t("contactUs") })] })] })] })] }) })] }));
|
|
24
24
|
}
|