@mohasinac/appkit 3.2.20 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/client/features/classified/ClassifiedDetailView.d.ts +2 -1
- package/dist/_internal/client/features/digital-code/CodeRevealPanel.d.ts +2 -1
- package/dist/_internal/client/features/digital-code/DigitalCodeDetailView.d.ts +2 -1
- package/dist/_internal/client/features/layout/DashboardLayoutClient.d.ts +1 -1
- package/dist/_internal/client/features/layout/RoleGuard.d.ts +1 -1
- package/dist/_internal/client/features/live/LiveItemDetailView.d.ts +1 -1
- package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryAdminSlotView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryDetailView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryEntriesView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryListView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryPullForm.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotterySlotGrid.d.ts +2 -1
- package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.d.ts +2 -1
- package/dist/_internal/client/features/tour/TourProvider.d.ts +1 -1
- package/dist/_internal/client/i18n/LabelsProvider.d.ts +1 -1
- package/dist/_internal/client/scaffolds/AppShell.d.ts +1 -1
- package/dist/_internal/client/scaffolds/DashboardScaffold.d.ts +1 -1
- package/dist/_internal/client/theme/ThemeProvider.d.ts +1 -1
- package/dist/_internal/server/features/checkout/actions.d.ts +2 -0
- package/dist/_internal/server/features/checkout/actions.js +239 -190
- package/dist/_internal/server/functions/scheduled.d.ts +2 -1
- package/dist/_internal/server/functions/scheduled.js +9 -1
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +8 -11
- package/dist/_internal/server/jobs/core/emiInstallmentReminder.d.ts +8 -0
- package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +78 -0
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +2 -2
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +15 -10
- package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.js +2 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
- package/dist/_internal/server/jobs/handlers/index.js +2 -0
- package/dist/_internal/server/providers/index.d.ts +4 -4
- package/dist/_internal/server/providers/index.js +4 -4
- package/dist/_internal/server/providers/payment/razorpay-mock.d.ts +3 -2
- package/dist/_internal/server/providers/payment/razorpay-mock.js +3 -1
- package/dist/_internal/server/providers/resolve.d.ts +10 -13
- package/dist/_internal/server/providers/resolve.js +9 -15
- package/dist/_internal/shared/actions/action-registry.js +28 -0
- package/dist/_internal/shared/checkout/rules/_defaults.js +1 -0
- package/dist/_internal/shared/checkout/rules/_registry.js +4 -0
- package/dist/_internal/shared/checkout/rules/art.rule.d.ts +9 -0
- package/dist/_internal/shared/checkout/rules/art.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/auction.rule.js +1 -0
- package/dist/_internal/shared/checkout/rules/classified.rule.js +1 -0
- package/dist/_internal/shared/checkout/rules/index.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/index.js +2 -0
- package/dist/_internal/shared/checkout/rules/stickers.rule.d.ts +9 -0
- package/dist/_internal/shared/checkout/rules/stickers.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/types.d.ts +6 -0
- package/dist/_internal/shared/features/checkout/config.d.ts +16 -1
- package/dist/_internal/shared/features/checkout/config.js +16 -1
- package/dist/_internal/shared/features/emi/schedule.d.ts +63 -0
- package/dist/_internal/shared/features/emi/schedule.js +62 -0
- package/dist/_internal/shared/fees/calculator.d.ts +53 -0
- package/dist/_internal/shared/fees/calculator.js +40 -0
- package/dist/_internal/shared/listing-types/_registry.d.ts +22 -66
- package/dist/_internal/shared/listing-types/_registry.js +19 -2
- package/dist/_internal/shared/listing-types/art/config.d.ts +15 -0
- package/dist/_internal/shared/listing-types/art/config.js +14 -0
- package/dist/_internal/shared/listing-types/art/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/art/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/og.js +1 -0
- package/dist/_internal/shared/listing-types/art/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/art/schema.js +3 -0
- package/dist/_internal/shared/listing-types/art/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/auction/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/auction/config.js +6 -0
- package/dist/_internal/shared/listing-types/capabilities.js +17 -0
- package/dist/_internal/shared/listing-types/classified/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/classified/config.js +6 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +6 -0
- package/dist/_internal/shared/listing-types/live/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/live/config.js +6 -0
- package/dist/_internal/shared/listing-types/pre-order/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/pre-order/config.js +6 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.js +6 -0
- package/dist/_internal/shared/listing-types/standard/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/standard/config.js +6 -0
- package/dist/_internal/shared/listing-types/stickers/config.d.ts +15 -0
- package/dist/_internal/shared/listing-types/stickers/config.js +14 -0
- package/dist/_internal/shared/listing-types/stickers/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/stickers/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/og.js +1 -0
- package/dist/_internal/shared/listing-types/stickers/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/stickers/schema.js +3 -0
- package/dist/_internal/shared/listing-types/stickers/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/seed-factory.js +1 -0
- package/dist/client.d.ts +7 -2
- package/dist/client.js +4 -2
- package/dist/constants/field-names.d.ts +2 -6
- package/dist/constants/field-names.js +2 -6
- package/dist/contracts/index.d.ts +4 -2
- package/dist/contracts/index.js +6 -0
- package/dist/contracts/payment.d.ts +14 -9
- package/dist/contracts/payment.js +11 -1
- package/dist/contracts/shipping.d.ts +14 -9
- package/dist/contracts/shipping.js +11 -1
- package/dist/features/about/components/AboutView.d.ts +1 -1
- package/dist/features/about/components/FAQPageView.d.ts +1 -1
- package/dist/features/about/components/FeesView.d.ts +1 -1
- package/dist/features/about/components/HelpPageView.d.ts +1 -1
- package/dist/features/about/components/HowAuctionsWorkView.d.ts +1 -1
- package/dist/features/about/components/HowCheckoutWorksView.d.ts +1 -1
- package/dist/features/about/components/HowOffersWorkView.d.ts +1 -1
- package/dist/features/about/components/HowOrdersWorkView.d.ts +1 -1
- package/dist/features/about/components/HowPayoutsWorkView.d.ts +1 -1
- package/dist/features/about/components/HowPreOrdersWorkView.d.ts +1 -1
- package/dist/features/about/components/HowReviewsWorkView.d.ts +1 -1
- package/dist/features/about/components/PolicyPageView.d.ts +1 -1
- package/dist/features/about/components/PublicProfileView.d.ts +1 -1
- package/dist/features/about/components/PublicProfileView.js +3 -6
- package/dist/features/about/components/SecurityPrivacyView.d.ts +1 -1
- package/dist/features/about/components/ShippingPolicyView.d.ts +1 -1
- package/dist/features/about/components/TrackOrderView.d.ts +1 -1
- package/dist/features/about/components/UnauthorizedView.d.ts +1 -1
- package/dist/features/account/components/AddressBook.d.ts +2 -2
- package/dist/features/account/components/AddressFilters.d.ts +1 -1
- package/dist/features/account/components/AddressForm.d.ts +1 -1
- package/dist/features/account/components/AddressInlineSelect.d.ts +2 -1
- package/dist/features/account/components/AddressSelectorCreate.d.ts +1 -1
- package/dist/features/account/components/AddressesIndexListing.d.ts +2 -1
- package/dist/features/account/components/BecomeSellerView.d.ts +1 -1
- package/dist/features/account/components/BuyerAccountGuideView.d.ts +2 -1
- package/dist/features/account/components/BuyerAuctionsGuideView.d.ts +2 -1
- package/dist/features/account/components/BuyerOrdersGuideView.d.ts +2 -1
- package/dist/features/account/components/BuyerShoppingGuideView.d.ts +2 -1
- package/dist/features/account/components/ChatList.d.ts +1 -1
- package/dist/features/account/components/ChatWindow.d.ts +1 -1
- package/dist/features/account/components/MessagesView.d.ts +1 -1
- package/dist/features/account/components/NotificationBell.d.ts +1 -1
- package/dist/features/account/components/NotificationPreferencesPanel.d.ts +1 -1
- package/dist/features/account/components/OrderDetailView.d.ts +1 -1
- package/dist/features/account/components/ProfileView.d.ts +1 -1
- package/dist/features/account/components/UserAccountHubView.d.ts +1 -1
- package/dist/features/account/components/UserAddressesView.d.ts +1 -1
- package/dist/features/account/components/UserNotificationsView.d.ts +1 -1
- package/dist/features/account/components/UserOffersPanel.d.ts +1 -1
- package/dist/features/account/components/UserOffersView.d.ts +1 -1
- package/dist/features/account/components/UserOrderTrackView.d.ts +1 -1
- package/dist/features/account/components/UserOrdersView.d.ts +1 -1
- package/dist/features/account/components/UserReturnsView.d.ts +1 -1
- package/dist/features/account/components/UserSettingsView.d.ts +1 -1
- package/dist/features/account/components/UserSidebar.d.ts +1 -1
- package/dist/features/account/components/UserSupportView.d.ts +2 -1
- package/dist/features/admin/components/AdminAdEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminAddressBookView.d.ts +11 -0
- package/dist/features/admin/components/AdminAddressBookView.js +30 -0
- package/dist/features/admin/components/AdminAddressClustersView.d.ts +1 -1
- package/dist/features/admin/components/AdminAddressEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminAddressesView.d.ts +1 -1
- package/dist/features/admin/components/AdminAdsView.d.ts +1 -1
- package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +2 -1
- package/dist/features/admin/components/AdminAnalyticsGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminAnalyticsView.d.ts +1 -1
- package/dist/features/admin/components/AdminArtView.d.ts +4 -0
- package/dist/features/admin/components/AdminArtView.js +45 -0
- package/dist/features/admin/components/AdminBidsView.d.ts +2 -1
- package/dist/features/admin/components/AdminBlogEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminBlogView.d.ts +2 -1
- package/dist/features/admin/components/AdminBrandEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminBrandsView.d.ts +2 -1
- package/dist/features/admin/components/AdminBundleEditorView.d.ts +14 -1
- package/dist/features/admin/components/AdminBundlesView.d.ts +2 -1
- package/dist/features/admin/components/AdminCarouselEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminCarouselView.d.ts +2 -1
- package/dist/features/admin/components/AdminCartsView.d.ts +2 -1
- package/dist/features/admin/components/AdminCatalogGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminCategoriesView.d.ts +2 -1
- package/dist/features/admin/components/AdminCategoryEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminClassifiedView.d.ts +2 -1
- package/dist/features/admin/components/AdminContactEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminContactView.d.ts +2 -1
- package/dist/features/admin/components/AdminContentGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminCouponEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminCouponsView.d.ts +2 -1
- package/dist/features/admin/components/AdminDashboardView.d.ts +1 -1
- package/dist/features/admin/components/AdminDigitalCodesView.d.ts +2 -1
- package/dist/features/admin/components/AdminEmployeeEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminFaqEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminFaqsView.d.ts +2 -1
- package/dist/features/admin/components/AdminFeatureEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminFeatureFlagsView.d.ts +1 -1
- package/dist/features/admin/components/AdminFeaturesView.d.ts +2 -1
- package/dist/features/admin/components/AdminFilterBar.d.ts +1 -1
- package/dist/features/admin/components/AdminFulfillmentView.d.ts +2 -1
- package/dist/features/admin/components/AdminGroupedListingsView.d.ts +2 -1
- package/dist/features/admin/components/AdminGuideHubView.d.ts +2 -1
- package/dist/features/admin/components/AdminHistoryView.d.ts +2 -1
- package/dist/features/admin/components/AdminLiveView.d.ts +2 -1
- package/dist/features/admin/components/AdminMediaView.d.ts +1 -1
- package/dist/features/admin/components/AdminNavEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminNavigationView.d.ts +2 -1
- package/dist/features/admin/components/AdminNewsletterView.d.ts +2 -1
- package/dist/features/admin/components/AdminNotificationsView.d.ts +2 -1
- package/dist/features/admin/components/AdminOrderEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminOrdersGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminOrdersView.d.ts +2 -1
- package/dist/features/admin/components/AdminPageHeader.d.ts +1 -1
- package/dist/features/admin/components/AdminPaymentClustersView.d.ts +1 -1
- package/dist/features/admin/components/AdminPaymentMethodsView.d.ts +1 -1
- package/dist/features/admin/components/AdminPayoutsView.d.ts +2 -1
- package/dist/features/admin/components/AdminPrizeDrawsView.d.ts +2 -1
- package/dist/features/admin/components/AdminProductEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminProductsView.d.ts +2 -1
- package/dist/features/admin/components/AdminReturnRequestsView.d.ts +1 -1
- package/dist/features/admin/components/AdminReviewsView.d.ts +2 -1
- package/dist/features/admin/components/AdminScammerEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminScammersView.d.ts +2 -1
- package/dist/features/admin/components/AdminSectionsView.d.ts +1 -1
- package/dist/features/admin/components/AdminSessionsManager.d.ts +1 -1
- package/dist/features/admin/components/AdminSessionsView.d.ts +2 -1
- package/dist/features/admin/components/AdminSidebar.d.ts +1 -1
- package/dist/features/admin/components/AdminSiteConfigGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
- package/dist/features/admin/components/AdminSiteSettingsView.d.ts +2 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +14 -9
- package/dist/features/admin/components/AdminSiteView.d.ts +1 -1
- package/dist/features/admin/components/AdminStickersView.d.ts +4 -0
- package/dist/features/admin/components/AdminStickersView.js +45 -0
- package/dist/features/admin/components/AdminStoreAddressesView.d.ts +1 -1
- package/dist/features/admin/components/AdminStoreEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminStoresGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminStoresView.d.ts +2 -1
- package/dist/features/admin/components/AdminSublistingCategoriesView.d.ts +2 -1
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminSupportTicketDetailView.d.ts +2 -1
- package/dist/features/admin/components/AdminSupportTicketsView.d.ts +2 -1
- package/dist/features/admin/components/AdminTeamGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminTeamView.d.ts +2 -1
- package/dist/features/admin/components/AdminTopBar.d.ts +1 -1
- package/dist/features/admin/components/AdminTrustGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminUserEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminUsersGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminUsersView.d.ts +2 -1
- package/dist/features/admin/components/AdminViewCards.d.ts +2 -1
- package/dist/features/admin/components/AdminWishlistsView.d.ts +2 -1
- package/dist/features/admin/components/BrandQuickCreateForm.d.ts +2 -1
- package/dist/features/admin/components/CategoryQuickCreateForm.d.ts +2 -1
- package/dist/features/admin/components/DashboardStats.d.ts +1 -1
- package/dist/features/admin/components/DataListingView.d.ts +1 -1
- package/dist/features/admin/components/DataTable.d.ts +1 -1
- package/dist/features/admin/components/DemoSeedView.d.ts +1 -1
- package/dist/features/admin/components/DrawerFormFooter.d.ts +1 -1
- package/dist/features/admin/components/QuickActionsPanel.d.ts +1 -1
- package/dist/features/admin/components/QuickEditMenu.d.ts +1 -1
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.d.ts +3 -2
- package/dist/features/admin/components/analytics/AdminStatCard.d.ts +1 -1
- package/dist/features/admin/components/analytics/AdminTopProductsTable.d.ts +1 -1
- package/dist/features/admin/components/index.d.ts +6 -0
- package/dist/features/admin/components/index.js +4 -0
- package/dist/features/admin/schemas/firestore.d.ts +19 -11
- package/dist/features/admin/schemas/firestore.js +12 -2
- package/dist/features/auctions/components/AuctionBidsTable.d.ts +1 -1
- package/dist/features/auctions/components/AuctionDetailPageView.d.ts +1 -1
- package/dist/features/auctions/components/AuctionFilters.d.ts +1 -1
- package/dist/features/auctions/components/AuctionsListView.d.ts +1 -1
- package/dist/features/auctions/components/CollapsibleBidHistory.d.ts +2 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +4 -3
- package/dist/features/auctions/components/MarketplaceAuctionGrid.d.ts +1 -1
- package/dist/features/auctions/components/PlaceBidFormClient.d.ts +3 -2
- package/dist/features/auth/components/AuthStatusPanel.d.ts +1 -1
- package/dist/features/auth/components/ForgotPasswordView.d.ts +1 -1
- package/dist/features/auth/components/Guards.d.ts +2 -2
- package/dist/features/auth/components/LoginForm.d.ts +1 -1
- package/dist/features/auth/components/OAuthLoadingView.d.ts +1 -1
- package/dist/features/auth/components/RegisterForm.d.ts +1 -1
- package/dist/features/auth/components/ResetPasswordView.d.ts +1 -1
- package/dist/features/auth/components/SocialAuthButtons.d.ts +1 -1
- package/dist/features/auth/components/VerifyEmailView.d.ts +1 -1
- package/dist/features/auth/hooks/useAuth.js +35 -9
- package/dist/features/auth/schemas/firestore.d.ts +2 -6
- package/dist/features/before-after/components/BeforeAfterGallery.d.ts +1 -1
- package/dist/features/before-after/components/BeforeAfterSlider.d.ts +2 -1
- package/dist/features/blog/components/BlogFeaturedCard.d.ts +2 -1
- package/dist/features/blog/components/BlogFilters.d.ts +1 -1
- package/dist/features/blog/components/BlogIndexListing.d.ts +2 -1
- package/dist/features/blog/components/BlogIndexPageView.d.ts +2 -1
- package/dist/features/blog/components/BlogListView.d.ts +4 -3
- package/dist/features/blog/components/BlogPostForm.d.ts +1 -1
- package/dist/features/blog/components/BlogPostView.d.ts +1 -1
- package/dist/features/cart/components/CartDrawer.d.ts +2 -2
- package/dist/features/cart/components/CartSummary.d.ts +1 -1
- package/dist/features/cart/components/CartView.d.ts +1 -1
- package/dist/features/cart/components/CheckoutAddressStep.d.ts +1 -1
- package/dist/features/cart/components/CheckoutOtpModal.d.ts +1 -1
- package/dist/features/cart/components/CheckoutSuccessView.d.ts +1 -1
- package/dist/features/cart/components/CheckoutView.d.ts +1 -1
- package/dist/features/cart/components/ShippingPicker.d.ts +9 -1
- package/dist/features/cart/schemas/firestore.d.ts +3 -2
- package/dist/features/categories/components/BrandDetailPageView.d.ts +2 -1
- package/dist/features/categories/components/BrandDetailTabs.d.ts +2 -1
- package/dist/features/categories/components/BreadcrumbTrail.d.ts +2 -1
- package/dist/features/categories/components/BundleBuyNowCta.d.ts +9 -1
- package/dist/features/categories/components/BundleCollage.d.ts +10 -1
- package/dist/features/categories/components/BundleDetailView.d.ts +2 -1
- package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +15 -1
- package/dist/features/categories/components/BundleItemsPicker.d.ts +15 -1
- package/dist/features/categories/components/BundlesListView.d.ts +2 -1
- package/dist/features/categories/components/CategoriesIndexListing.d.ts +2 -1
- package/dist/features/categories/components/CategoriesIndexPageView.d.ts +2 -1
- package/dist/features/categories/components/CategoryBundlesListing.d.ts +2 -1
- package/dist/features/categories/components/CategoryDetailPageView.d.ts +2 -1
- package/dist/features/categories/components/CategoryDetailTabs.d.ts +2 -1
- package/dist/features/categories/components/CategoryFilters.d.ts +1 -1
- package/dist/features/categories/components/CategoryForm.d.ts +1 -1
- package/dist/features/categories/components/CategoryGrid.d.ts +3 -2
- package/dist/features/categories/components/CategoryProductsListing.d.ts +2 -1
- package/dist/features/categories/components/CategoryProductsView.d.ts +1 -1
- package/dist/features/categories/components/CategorySelectorCreate.d.ts +1 -1
- package/dist/features/categories/components/CategorySortSelect.d.ts +1 -1
- package/dist/features/categories/components/CategoryStoresListing.d.ts +2 -1
- package/dist/features/categories/components/CategoryTableColumns.d.ts +3 -3
- package/dist/features/categories/components/CategoryTree.d.ts +1 -1
- package/dist/features/categories/components/ConcernCard.d.ts +1 -1
- package/dist/features/categories/components/ConcernGrid.d.ts +1 -1
- package/dist/features/checkout/components/CheckoutStepper.d.ts +2 -1
- package/dist/features/classified/components/ClassifiedFilters.d.ts +1 -1
- package/dist/features/classified/components/ClassifiedIndexListing.d.ts +2 -1
- package/dist/features/classified/components/ClassifiedListView.d.ts +1 -1
- package/dist/features/collections/components/CollectionCard.d.ts +3 -2
- package/dist/features/consultation/components/ConsultationForm.d.ts +2 -1
- package/dist/features/consultation/schemas/index.d.ts +2 -2
- package/dist/features/contact/components/ContactForm.d.ts +2 -1
- package/dist/features/contact/components/ContactInfoSidebar.d.ts +1 -1
- package/dist/features/contact/components/ContactPageView.d.ts +2 -1
- package/dist/features/copilot/components/AdminCopilotView.d.ts +1 -1
- package/dist/features/corporate/components/CorporateInquiryForm.d.ts +2 -1
- package/dist/features/digital-codes/components/DigitalCodeFilters.d.ts +1 -1
- package/dist/features/digital-codes/components/DigitalCodesIndexListing.d.ts +2 -1
- package/dist/features/digital-codes/components/DigitalCodesListView.d.ts +1 -1
- package/dist/features/email/primitives.d.ts +11 -11
- package/dist/features/events/components/AdminEventEditorView.d.ts +2 -1
- package/dist/features/events/components/AdminEventEntriesView.d.ts +1 -1
- package/dist/features/events/components/AdminEventsView.d.ts +2 -1
- package/dist/features/events/components/EventBanner.d.ts +2 -1
- package/dist/features/events/components/EventCard.d.ts +1 -1
- package/dist/features/events/components/EventDetailView.d.ts +1 -1
- package/dist/features/events/components/EventFilters.d.ts +1 -1
- package/dist/features/events/components/EventFormDrawer.d.ts +1 -1
- package/dist/features/events/components/EventLeaderboard.d.ts +1 -1
- package/dist/features/events/components/EventOfferCard.d.ts +2 -1
- package/dist/features/events/components/EventParticipateView.d.ts +1 -1
- package/dist/features/events/components/EventPollWidget.d.ts +1 -1
- package/dist/features/events/components/EventRaffleEntryForm.d.ts +2 -1
- package/dist/features/events/components/EventRaffleWinnerView.d.ts +1 -1
- package/dist/features/events/components/EventRafflesSection.d.ts +1 -1
- package/dist/features/events/components/EventSaleBanner.d.ts +2 -1
- package/dist/features/events/components/EventStatusBadge.d.ts +1 -1
- package/dist/features/events/components/EventsIndexListing.d.ts +2 -1
- package/dist/features/events/components/EventsListPageView.d.ts +2 -1
- package/dist/features/events/components/EventsListView.d.ts +2 -1
- package/dist/features/events/components/SpinWheelView.d.ts +1 -1
- package/dist/features/faq/components/ContactCTA.d.ts +1 -1
- package/dist/features/faq/components/FAQAccordion.d.ts +2 -2
- package/dist/features/faq/components/FAQCategorySidebar.d.ts +1 -1
- package/dist/features/faq/components/FAQHelpfulButtons.d.ts +1 -1
- package/dist/features/faq/components/FAQPageContent.d.ts +1 -1
- package/dist/features/faq/components/FAQSortDropdown.d.ts +1 -1
- package/dist/features/faq/components/RelatedFAQs.d.ts +1 -1
- package/dist/features/filters/AsyncFacetSection.d.ts +2 -1
- package/dist/features/filters/FilterFacetSection.d.ts +1 -1
- package/dist/features/filters/FilterPanel.d.ts +1 -1
- package/dist/features/filters/RangeFilter.d.ts +1 -1
- package/dist/features/filters/SwitchFilter.d.ts +1 -1
- package/dist/features/forms/Checkbox.d.ts +1 -1
- package/dist/features/forms/Radio.d.ts +2 -1
- package/dist/features/forms/Select.d.ts +1 -1
- package/dist/features/forms/Slider.d.ts +2 -1
- package/dist/features/forms/Toggle.d.ts +2 -1
- package/dist/features/homepage/components/AdSlot.d.ts +1 -1
- package/dist/features/homepage/components/AdvertisementBanner.d.ts +2 -1
- package/dist/features/homepage/components/AnnouncementBar.d.ts +2 -1
- package/dist/features/homepage/components/BeforeAfterCard.d.ts +1 -1
- package/dist/features/homepage/components/BlogArticlesSection.d.ts +2 -1
- package/dist/features/homepage/components/BrandsSection.d.ts +1 -1
- package/dist/features/homepage/components/CTABannerSection.d.ts +2 -1
- package/dist/features/homepage/components/CharacterHotspot.d.ts +1 -1
- package/dist/features/homepage/components/CharacterHotspotForm.d.ts +2 -1
- package/dist/features/homepage/components/CollectionCardsSection.d.ts +1 -1
- package/dist/features/homepage/components/CustomCardsSection.d.ts +2 -1
- package/dist/features/homepage/components/CustomerReviewsSection.d.ts +1 -1
- package/dist/features/homepage/components/EventsSection.d.ts +2 -1
- package/dist/features/homepage/components/FAQSection.d.ts +2 -1
- package/dist/features/homepage/components/FeaturedAuctionsSection.d.ts +2 -1
- package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +2 -1
- package/dist/features/homepage/components/FeaturedPreOrdersSection.d.ts +2 -1
- package/dist/features/homepage/components/FeaturedProductsSection.d.ts +1 -1
- package/dist/features/homepage/components/FeaturedResultsSection.d.ts +1 -1
- package/dist/features/homepage/components/FeaturedStoresSection.d.ts +2 -1
- package/dist/features/homepage/components/GoogleReviewsSection.d.ts +2 -1
- package/dist/features/homepage/components/HeroBanner.d.ts +1 -1
- package/dist/features/homepage/components/HeroCarousel.d.ts +2 -1
- package/dist/features/homepage/components/HeroSection.d.ts +1 -1
- package/dist/features/homepage/components/HomepageCustomerReviewsSection.d.ts +2 -1
- package/dist/features/homepage/components/HomepageSkeleton.d.ts +1 -1
- package/dist/features/homepage/components/HomepageView.d.ts +1 -1
- package/dist/features/homepage/components/HowItWorksInfoView.d.ts +1 -1
- package/dist/features/homepage/components/HowItWorksSection.d.ts +1 -1
- package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +1 -1
- package/dist/features/homepage/components/NewsletterBanner.d.ts +2 -1
- package/dist/features/homepage/components/NewsletterSection.d.ts +1 -1
- package/dist/features/homepage/components/PromoGrid.d.ts +1 -1
- package/dist/features/homepage/components/SectionCarousel.d.ts +1 -1
- package/dist/features/homepage/components/SecurityHighlightsSection.d.ts +1 -1
- package/dist/features/homepage/components/ShopByCategorySection.d.ts +1 -1
- package/dist/features/homepage/components/SiteFeaturesSection.d.ts +2 -1
- package/dist/features/homepage/components/SocialFeedSection.d.ts +1 -1
- package/dist/features/homepage/components/SocialPostCard.d.ts +1 -1
- package/dist/features/homepage/components/StatsCounterSection.d.ts +1 -1
- package/dist/features/homepage/components/TestimonialsCarousel.d.ts +1 -1
- package/dist/features/homepage/components/TrustBadges.d.ts +2 -1
- package/dist/features/homepage/components/TrustFeaturesSection.d.ts +1 -1
- package/dist/features/homepage/components/TrustIndicatorsSection.d.ts +2 -1
- package/dist/features/homepage/components/WelcomeSection.d.ts +2 -1
- package/dist/features/homepage/components/WhatsAppCommunitySection.d.ts +2 -1
- package/dist/features/layout/AppLayoutShell.d.ts +1 -1
- package/dist/features/layout/AutoBreadcrumbs.d.ts +1 -1
- package/dist/features/layout/BackToTop.d.ts +2 -2
- package/dist/features/layout/BottomActions.d.ts +1 -1
- package/dist/features/layout/BottomActionsContext.d.ts +1 -1
- package/dist/features/layout/BottomNavItem.d.ts +1 -1
- package/dist/features/layout/BottomNavLayout.d.ts +1 -1
- package/dist/features/layout/BottomNavbar.d.ts +1 -1
- package/dist/features/layout/BottomSheet.d.ts +1 -1
- package/dist/features/layout/Breadcrumbs.d.ts +2 -2
- package/dist/features/layout/DashboardNavContext.d.ts +1 -1
- package/dist/features/layout/FooterLayout.d.ts +1 -1
- package/dist/features/layout/LayoutClient.d.ts +1 -1
- package/dist/features/layout/LocaleSwitcher.d.ts +1 -1
- package/dist/features/layout/MainNavbar.d.ts +1 -1
- package/dist/features/layout/NavItem.d.ts +1 -1
- package/dist/features/layout/NavbarLayout.d.ts +1 -1
- package/dist/features/layout/NavbarWithSettings.d.ts +1 -1
- package/dist/features/layout/TitleBar.d.ts +1 -1
- package/dist/features/layout/TitleBarLayout.d.ts +1 -1
- package/dist/features/live/components/LiveItemFilters.d.ts +1 -1
- package/dist/features/live/components/LiveItemsIndexListing.d.ts +2 -1
- package/dist/features/live/components/LiveItemsListView.d.ts +1 -1
- package/dist/features/loyalty/components/CoinsDisplay.d.ts +3 -2
- package/dist/features/loyalty/schemas/index.d.ts +6 -6
- package/dist/features/media/AvatarUpload.d.ts +2 -1
- package/dist/features/media/MediaAudio.d.ts +1 -1
- package/dist/features/media/MediaAvatar.d.ts +1 -1
- package/dist/features/media/MediaImage.d.ts +1 -1
- package/dist/features/media/MediaLightbox.d.ts +2 -1
- package/dist/features/media/MediaPickerModal.d.ts +2 -1
- package/dist/features/media/MediaVideo.d.ts +1 -1
- package/dist/features/media/components/MediaSlider.d.ts +2 -1
- package/dist/features/media/modals/ImageCropModal.d.ts +8 -1
- package/dist/features/media/modals/ImageEditor.d.ts +8 -1
- package/dist/features/media/modals/VideoThumbnailSelector.d.ts +1 -1
- package/dist/features/media/modals/VideoTrimModal.d.ts +1 -1
- package/dist/features/media/upload/CameraCapture.d.ts +1 -1
- package/dist/features/media/upload/ImageUpload.d.ts +1 -1
- package/dist/features/media/upload/MediaUploadField.d.ts +1 -1
- package/dist/features/media/upload/MediaUploadList.d.ts +1 -1
- package/dist/features/orders/components/MarketplaceOrderCard.d.ts +1 -1
- package/dist/features/orders/components/OrderFilters.d.ts +1 -1
- package/dist/features/orders/components/OrderSiblingPayments.d.ts +10 -1
- package/dist/features/orders/components/OrdersList.d.ts +2 -2
- package/dist/features/orders/components/RefundHistoryTable.d.ts +2 -1
- package/dist/features/orders/components/RefundRequestView.d.ts +13 -1
- package/dist/features/orders/repository/orders.repository.d.ts +20 -2
- package/dist/features/orders/repository/orders.repository.js +34 -5
- package/dist/features/orders/schemas/firestore.d.ts +33 -7
- package/dist/features/orders/schemas/firestore.js +1 -1
- package/dist/features/orders/schemas/index.d.ts +176 -31
- package/dist/features/orders/schemas/index.js +20 -6
- package/dist/features/orders/types/index.d.ts +3 -3
- package/dist/features/payments/repository/payout.repository.js +2 -2
- package/dist/features/payments/schemas/firestore.d.ts +3 -3
- package/dist/features/payments/schemas/firestore.js +2 -2
- package/dist/features/payments/schemas/index.d.ts +5 -5
- package/dist/features/payments/schemas/index.js +2 -2
- package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +1 -1
- package/dist/features/pre-orders/components/PreOrderActionsClient.d.ts +2 -1
- package/dist/features/pre-orders/components/PreOrderBadge.d.ts +2 -2
- package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +1 -1
- package/dist/features/pre-orders/components/PreOrderFilters.d.ts +1 -1
- package/dist/features/pre-orders/components/PreOrdersIndexListing.d.ts +2 -1
- package/dist/features/pre-orders/components/PreOrdersListView.d.ts +1 -1
- package/dist/features/pre-orders/components/PreorderCard.d.ts +2 -1
- package/dist/features/products/api/[id]/route.js +4 -1
- package/dist/features/products/api/route.js +4 -1
- package/dist/features/products/columns/productTableColumns.d.ts +2 -1
- package/dist/features/products/components/AuctionDetailView.d.ts +1 -1
- package/dist/features/products/components/AuctionsIndexListing.d.ts +2 -1
- package/dist/features/products/components/BidHistory.d.ts +1 -1
- package/dist/features/products/components/CompareOverlay.d.ts +1 -1
- package/dist/features/products/components/CompareOverlay.js +7 -9
- package/dist/features/products/components/CustomFieldsEditor.d.ts +2 -1
- package/dist/features/products/components/CustomSectionTabContent.d.ts +2 -1
- package/dist/features/products/components/CustomSectionsEditor.d.ts +2 -1
- package/dist/features/products/components/FeatureBadge.d.ts +2 -2
- package/dist/features/products/components/GroupSettingsPanel.d.ts +2 -1
- package/dist/features/products/components/InteractiveProductCard.d.ts +2 -1
- package/dist/features/products/components/MakeOfferButton.d.ts +2 -1
- package/dist/features/products/components/MakeOfferForm.d.ts +1 -1
- package/dist/features/products/components/MarketplaceBundleCard.d.ts +1 -1
- package/dist/features/products/components/MarketplacePrizeDrawCard.d.ts +1 -1
- package/dist/features/products/components/NonRefundableConsentModal.d.ts +14 -1
- package/dist/features/products/components/PlaceBidForm.d.ts +1 -1
- package/dist/features/products/components/PreOrderDetailView.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawCollage.d.ts +2 -1
- package/dist/features/products/components/PrizeDrawDetailPageView.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawEntryActions.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawItemsEditor.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawsIndexListing.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawsListingView.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawsSection.d.ts +1 -1
- package/dist/features/products/components/PrizeRevealModal.d.ts +1 -1
- package/dist/features/products/components/ProductCardMetadataSection.d.ts +2 -1
- package/dist/features/products/components/ProductDetailActions.d.ts +1 -1
- package/dist/features/products/components/ProductDetailPageView.d.ts +3 -1
- package/dist/features/products/components/ProductDetailPageView.js +2 -2
- package/dist/features/products/components/ProductDetailView.d.ts +1 -1
- package/dist/features/products/components/ProductFeatureBadges.d.ts +1 -1
- package/dist/features/products/components/ProductFeaturesContext.d.ts +1 -1
- package/dist/features/products/components/ProductFeaturesSelector.d.ts +2 -1
- package/dist/features/products/components/ProductFilters.d.ts +1 -1
- package/dist/features/products/components/ProductForm.d.ts +1 -1
- package/dist/features/products/components/ProductForm.js +18 -7
- package/dist/features/products/components/ProductGalleryClient.d.ts +2 -1
- package/dist/features/products/components/ProductGradingTab.d.ts +2 -1
- package/dist/features/products/components/ProductGrid.d.ts +2 -2
- package/dist/features/products/components/ProductGrid.js +7 -12
- package/dist/features/products/components/ProductInfo.d.ts +1 -1
- package/dist/features/products/components/ProductTabs.d.ts +1 -1
- package/dist/features/products/components/ProductTabsShell.d.ts +1 -1
- package/dist/features/products/components/ProductsIndexListing.d.ts +2 -1
- package/dist/features/products/components/ProductsIndexPageView.d.ts +2 -1
- package/dist/features/products/components/ProductsView.d.ts +1 -1
- package/dist/features/products/components/RelatedProducts.d.ts +1 -1
- package/dist/features/products/components/RelatedProductsCarousel.d.ts +2 -1
- package/dist/features/products/components/ShareButton.d.ts +1 -1
- package/dist/features/products/components/ShowGroupSection.d.ts +2 -1
- package/dist/features/products/components/ShowGroupSection.js +3 -5
- package/dist/features/products/components/SublistingCarouselSection.d.ts +2 -1
- package/dist/features/products/components/SublistingCarouselSection.js +3 -6
- package/dist/features/products/components/SublistingCategorySelect.d.ts +2 -1
- package/dist/features/products/constants/listing-tabs.d.ts +32 -0
- package/dist/features/products/constants/listing-tabs.js +8 -0
- package/dist/features/products/index.d.ts +1 -1
- package/dist/features/products/index.js +3 -1
- package/dist/features/products/schemas/firestore.d.ts +20 -1
- package/dist/features/products/schemas/firestore.js +2 -0
- package/dist/features/products/schemas/index.d.ts +48 -0
- package/dist/features/products/schemas/index.js +9 -0
- package/dist/features/products/schemas/product-features.d.ts +1 -1
- package/dist/features/products/types/index.d.ts +5 -3
- package/dist/features/products/utils/listing-type.d.ts +6 -0
- package/dist/features/products/utils/listing-type.js +3 -0
- package/dist/features/promotions/components/CouponCard.d.ts +1 -1
- package/dist/features/promotions/components/CouponsIndexListing.d.ts +2 -1
- package/dist/features/promotions/components/PromotionsView.d.ts +3 -3
- package/dist/features/reviews/api/[id]/route.js +5 -4
- package/dist/features/reviews/components/ReviewDetailPageView.d.ts +2 -1
- package/dist/features/reviews/components/ReviewDetailShell.d.ts +2 -1
- package/dist/features/reviews/components/ReviewFilters.d.ts +1 -1
- package/dist/features/reviews/components/ReviewModal.d.ts +1 -1
- package/dist/features/reviews/components/ReviewSummary.d.ts +2 -1
- package/dist/features/reviews/components/ReviewsIndexListing.d.ts +2 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.d.ts +2 -1
- package/dist/features/reviews/components/ReviewsList.d.ts +3 -2
- package/dist/features/scams/components/ScamAwarenessModal.d.ts +2 -1
- package/dist/features/scams/components/ScamProfileView.d.ts +2 -1
- package/dist/features/scams/components/ScamRegistryView.d.ts +2 -1
- package/dist/features/search/components/Search.d.ts +2 -1
- package/dist/features/search/components/SearchFiltersRow.d.ts +1 -1
- package/dist/features/search/components/SearchResultsSection.d.ts +1 -1
- package/dist/features/search/components/SearchView.d.ts +1 -1
- package/dist/features/seller/actions/seller-actions.d.ts +29 -14
- package/dist/features/seller/actions/seller-actions.js +101 -27
- package/dist/features/seller/components/BarcodeField.d.ts +2 -1
- package/dist/features/seller/components/BrandInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/CategoryInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/CouponInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/FulfillmentView.d.ts +2 -1
- package/dist/features/seller/components/GroupInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/PhysicalLocationModal.d.ts +2 -1
- package/dist/features/seller/components/PrintCenterView.d.ts +2 -1
- package/dist/features/seller/components/ProductInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/QuickProductForm.d.ts +2 -1
- package/dist/features/seller/components/SellerAddressesView.d.ts +2 -1
- package/dist/features/seller/components/SellerAnalyticsAlertsView.d.ts +2 -1
- package/dist/features/seller/components/SellerAnalyticsView.d.ts +1 -1
- package/dist/features/seller/components/SellerArtView.d.ts +8 -0
- package/dist/features/seller/components/SellerArtView.js +114 -0
- package/dist/features/seller/components/SellerAuctionsView.d.ts +1 -1
- package/dist/features/seller/components/SellerBidsView.d.ts +2 -1
- package/dist/features/seller/components/SellerBundlesView.d.ts +2 -1
- package/dist/features/seller/components/SellerClassifiedView.d.ts +2 -1
- package/dist/features/seller/components/SellerCouponEditorView.d.ts +1 -1
- package/dist/features/seller/components/SellerCouponsView.d.ts +2 -1
- package/dist/features/seller/components/SellerCreateProductView.d.ts +1 -1
- package/dist/features/seller/components/SellerDashboardView.d.ts +1 -1
- package/dist/features/seller/components/SellerDigitalCodesView.d.ts +2 -1
- package/dist/features/seller/components/SellerEditProductView.d.ts +1 -1
- package/dist/features/seller/components/SellerFeaturesView.d.ts +2 -1
- package/dist/features/seller/components/SellerGoogleReviewsView.d.ts +2 -1
- package/dist/features/seller/components/SellerGroupedListingsView.d.ts +2 -1
- package/dist/features/seller/components/SellerGuideView.d.ts +1 -1
- package/dist/features/seller/components/SellerLiveView.d.ts +2 -1
- package/dist/features/seller/components/SellerOffersPanel.d.ts +2 -1
- package/dist/features/seller/components/SellerOffersView.d.ts +2 -1
- package/dist/features/seller/components/SellerOrdersView.d.ts +2 -1
- package/dist/features/seller/components/SellerOrdersView.js +38 -1
- package/dist/features/seller/components/SellerPayoutHistoryTable.d.ts +1 -1
- package/dist/features/seller/components/SellerPayoutMethodsView.d.ts +2 -1
- package/dist/features/seller/components/SellerPayoutRequestView.d.ts +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.d.ts +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.js +4 -1
- package/dist/features/seller/components/SellerPayoutStats.d.ts +1 -1
- package/dist/features/seller/components/SellerPayoutsView.d.ts +2 -1
- package/dist/features/seller/components/SellerPreOrdersView.d.ts +2 -1
- package/dist/features/seller/components/SellerPrizeDrawsView.d.ts +2 -1
- package/dist/features/seller/components/SellerProductShell.d.ts +6 -2
- package/dist/features/seller/components/SellerProductShell.js +69 -59
- package/dist/features/seller/components/SellerProductsCards.d.ts +2 -1
- package/dist/features/seller/components/SellerProductsFilterDrawer.d.ts +2 -1
- package/dist/features/seller/components/SellerProductsView.d.ts +2 -1
- package/dist/features/seller/components/SellerReviewsView.d.ts +1 -1
- package/dist/features/seller/components/SellerShippingConfigsView.d.ts +2 -1
- package/dist/features/seller/components/SellerShippingView.d.ts +1 -1
- package/dist/features/seller/components/SellerShippingView.js +6 -25
- package/dist/features/seller/components/SellerSidebar.d.ts +1 -1
- package/dist/features/seller/components/SellerStickersView.d.ts +8 -0
- package/dist/features/seller/components/SellerStickersView.js +114 -0
- package/dist/features/seller/components/SellerStoreCategoriesView.d.ts +2 -1
- package/dist/features/seller/components/SellerStoreSetupView.d.ts +1 -1
- package/dist/features/seller/components/SellerStoreView.d.ts +1 -1
- package/dist/features/seller/components/SellerStorefrontView.d.ts +1 -1
- package/dist/features/seller/components/SellerTemplatesView.d.ts +2 -1
- package/dist/features/seller/components/SellersListView.d.ts +2 -1
- package/dist/features/seller/components/SublistingInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.d.ts +2 -1
- package/dist/features/seller/components/analytics/SellerRevenueChart.d.ts +2 -1
- package/dist/features/seller/components/analytics/SellerTopProducts.d.ts +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/messages/en.json +1 -1
- package/dist/features/seller/schemas/index.d.ts +7 -7
- package/dist/features/seller/schemas/index.js +1 -1
- package/dist/features/seller/types/index.d.ts +1 -1
- package/dist/features/shell/FormShell.d.ts +1 -1
- package/dist/features/shell/QuickFormDrawer.d.ts +1 -1
- package/dist/features/shell/StepForm.d.ts +3 -3
- package/dist/features/shell/field-groups/ImageFieldGroup.d.ts +2 -2
- package/dist/features/shell/field-groups/SeoFieldGroup.d.ts +2 -2
- package/dist/features/shell/field-groups/StatusFieldGroup.d.ts +2 -2
- package/dist/features/shell/field-groups/TitleDescriptionGroup.d.ts +2 -2
- package/dist/features/site-settings/components/ActionPermissionsManager.d.ts +2 -1
- package/dist/features/site-settings/components/NavPermissionsManager.d.ts +2 -1
- package/dist/features/site-settings/components/ThemeManagerView.d.ts +15 -1
- package/dist/features/stores/components/InteractiveStoreCard.d.ts +1 -1
- package/dist/features/stores/components/StoreAboutView.d.ts +1 -1
- package/dist/features/stores/components/StoreAddressSelectorCreate.d.ts +1 -1
- package/dist/features/stores/components/StoreAuctionsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreAuctionsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreAuctionsView.d.ts +1 -1
- package/dist/features/stores/components/StoreBundlesPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreCapabilitiesGuideView.d.ts +2 -1
- package/dist/features/stores/components/StoreClassifiedsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreClassifiedsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreDetailLayoutView.d.ts +2 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +18 -2
- package/dist/features/stores/components/StoreDigitalCodesListing.d.ts +2 -1
- package/dist/features/stores/components/StoreDigitalCodesPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreFilters.d.ts +1 -1
- package/dist/features/stores/components/StoreFinanceGuideView.d.ts +2 -1
- package/dist/features/stores/components/StoreGuideHubView.d.ts +2 -1
- package/dist/features/stores/components/StoreHeader.d.ts +1 -1
- package/dist/features/stores/components/StoreListingsGuideView.d.ts +2 -1
- package/dist/features/stores/components/StoreLiveItemsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreLiveItemsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreNavTabs.d.ts +1 -1
- package/dist/features/stores/components/StoreOrdersGuideView.d.ts +2 -1
- package/dist/features/stores/components/StorePreOrdersListing.d.ts +2 -1
- package/dist/features/stores/components/StorePreOrdersPageView.d.ts +2 -1
- package/dist/features/stores/components/StorePrizeDrawsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreProductsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreProductsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreProductsView.d.ts +1 -1
- package/dist/features/stores/components/StoreReviewsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreReviewsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreReviewsView.d.ts +1 -1
- package/dist/features/stores/components/StoreScopedSearch.d.ts +2 -1
- package/dist/features/stores/components/StoreSettingsGuideView.d.ts +2 -1
- package/dist/features/stores/components/StoresIndexListing.d.ts +2 -1
- package/dist/features/stores/components/StoresIndexPageView.d.ts +2 -1
- package/dist/features/stores/schemas/firestore.d.ts +7 -1
- package/dist/features/stores/schemas/index.d.ts +19 -16
- package/dist/features/stores/schemas/index.js +1 -1
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.d.ts +2 -1
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.d.ts +2 -1
- package/dist/features/wishlist/components/WishlistPage.d.ts +2 -2
- package/dist/features/wishlist/components/WishlistToggleButton.d.ts +1 -1
- package/dist/features/wishlist/components/WishlistView.d.ts +1 -1
- package/dist/index.d.ts +21 -36
- package/dist/index.js +27 -39
- package/dist/next/ErrorBoundary.d.ts +1 -1
- package/dist/next/components/ErrorView.d.ts +1 -1
- package/dist/next/components/GlobalError.d.ts +1 -1
- package/dist/next/components/NotFoundView.d.ts +1 -1
- package/dist/next/components/UnauthorizedView.d.ts +1 -1
- package/dist/next/routing/route-map.d.ts +22 -0
- package/dist/next/routing/route-map.js +10 -0
- package/dist/providers/payment-manual/index.d.ts +40 -0
- package/dist/providers/payment-manual/index.js +91 -0
- package/dist/providers/payment-razorpay/index.d.ts +4 -2
- package/dist/providers/payment-razorpay/index.js +4 -1
- package/dist/providers/shipping-manual/index.d.ts +22 -0
- package/dist/providers/shipping-manual/index.js +47 -0
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +5 -3
- package/dist/react/ErrorBoundary.d.ts +1 -1
- package/dist/react/contexts/SessionContext.d.ts +1 -1
- package/dist/schemas/registry.d.ts +129 -70
- package/dist/schemas/registry.js +0 -4
- package/dist/security/pii-encrypt.js +0 -7
- package/dist/security/pii-redact.js +0 -1
- package/dist/seed/conversations-seed-data.js +2 -2
- package/dist/seed/faq-seed-data.js +7 -7
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
- package/dist/seed/index.d.ts +2 -0
- package/dist/seed/index.js +2 -0
- package/dist/seed/manifest.js +20 -16
- package/dist/seed/payouts-seed-data.js +5 -5
- package/dist/seed/products-art-seed-data.d.ts +11 -0
- package/dist/seed/products-art-seed-data.js +125 -0
- package/dist/seed/products-preorders-seed-data.d.ts +2 -0
- package/dist/seed/products-stickers-seed-data.d.ts +11 -0
- package/dist/seed/products-stickers-seed-data.js +125 -0
- package/dist/seed/site-settings-seed-data.js +13 -4
- package/dist/seed/stores-seed-data.js +11 -11
- package/dist/server.d.ts +7 -15
- package/dist/server.js +17 -42
- package/dist/ui/DataTable.d.ts +1 -1
- package/dist/ui/components/Accordion.d.ts +2 -2
- package/dist/ui/components/ActiveFilterChips.d.ts +2 -1
- package/dist/ui/components/Alert.d.ts +1 -1
- package/dist/ui/components/Anchor.d.ts +1 -1
- package/dist/ui/components/Avatar.d.ts +2 -2
- package/dist/ui/components/AvatarDisplay.d.ts +2 -1
- package/dist/ui/components/BackgroundRenderer.d.ts +1 -1
- package/dist/ui/components/Badge.d.ts +1 -1
- package/dist/ui/components/BaseListingCard.d.ts +5 -5
- package/dist/ui/components/Breadcrumb.d.ts +1 -1
- package/dist/ui/components/BulkActionBar.d.ts +1 -1
- package/dist/ui/components/Button.d.ts +1 -1
- package/dist/ui/components/Card.d.ts +4 -4
- package/dist/ui/components/Checkbox.d.ts +1 -1
- package/dist/ui/components/ConfirmDeleteModal.d.ts +1 -1
- package/dist/ui/components/CountdownDisplay.d.ts +1 -1
- package/dist/ui/components/DateInput.d.ts +1 -1
- package/dist/ui/components/DescriptionField.d.ts +1 -1
- package/dist/ui/components/DetailPageGallery.d.ts +2 -2
- package/dist/ui/components/DetailPageHero.d.ts +2 -2
- package/dist/ui/components/DetailPageTabs.d.ts +2 -2
- package/dist/ui/components/DetailViewShell.d.ts +2 -2
- package/dist/ui/components/Details.d.ts +2 -2
- package/dist/ui/components/Dialog.d.ts +1 -1
- package/dist/ui/components/Divider.d.ts +1 -1
- package/dist/ui/components/Dropdown.d.ts +5 -5
- package/dist/ui/components/DynamicBgDiv.d.ts +1 -1
- package/dist/ui/components/EmptyState.d.ts +1 -1
- package/dist/ui/components/FallbackShell.d.ts +1 -1
- package/dist/ui/components/Fieldset.d.ts +2 -2
- package/dist/ui/components/FilterChipGroup.d.ts +2 -1
- package/dist/ui/components/FilterDrawer.d.ts +1 -1
- package/dist/ui/components/FlowDiagram.d.ts +1 -1
- package/dist/ui/components/Form.d.ts +4 -4
- package/dist/ui/components/FormActionBar.d.ts +2 -1
- package/dist/ui/components/FormField.d.ts +2 -1
- package/dist/ui/components/FormGrid.d.ts +3 -2
- package/dist/ui/components/HorizontalRule.d.ts +1 -1
- package/dist/ui/components/HorizontalScroller.d.ts +1 -1
- package/dist/ui/components/HotspotMarker.d.ts +1 -1
- package/dist/ui/components/IconBox.d.ts +1 -1
- package/dist/ui/components/IconButton.d.ts +1 -1
- package/dist/ui/components/Iframe.d.ts +1 -1
- package/dist/ui/components/ImageGallery.d.ts +2 -1
- package/dist/ui/components/ItemRow.d.ts +1 -1
- package/dist/ui/components/Kbd.d.ts +1 -1
- package/dist/ui/components/Layout.d.ts +4 -4
- package/dist/ui/components/ListingFilterDrawer.d.ts +1 -1
- package/dist/ui/components/ListingLayout.d.ts +1 -1
- package/dist/ui/components/ListingToolbar.d.ts +1 -1
- package/dist/ui/components/LoginRequiredModal.d.ts +2 -1
- package/dist/ui/components/Menu.d.ts +5 -5
- package/dist/ui/components/Modal.d.ts +1 -1
- package/dist/ui/components/Motion.d.ts +14 -14
- package/dist/ui/components/NavbarChevron.d.ts +1 -1
- package/dist/ui/components/NavigationLoader.d.ts +1 -1
- package/dist/ui/components/OtpInput.d.ts +1 -1
- package/dist/ui/components/PageLoader.d.ts +1 -1
- package/dist/ui/components/PaginatedSelect.d.ts +2 -2
- package/dist/ui/components/Pagination.d.ts +2 -1
- package/dist/ui/components/PasswordStrengthIndicator.d.ts +2 -1
- package/dist/ui/components/PriceDisplay.d.ts +1 -1
- package/dist/ui/components/Progress.d.ts +3 -2
- package/dist/ui/components/ProgressBarFill.d.ts +1 -1
- package/dist/ui/components/Quote.d.ts +1 -1
- package/dist/ui/components/Radio.d.ts +2 -2
- package/dist/ui/components/RatingDisplay.d.ts +1 -1
- package/dist/ui/components/Responsive.d.ts +2 -2
- package/dist/ui/components/ResponsiveView.d.ts +1 -1
- package/dist/ui/components/RichTextEditor.d.ts +2 -1
- package/dist/ui/components/RoleBadge.d.ts +2 -1
- package/dist/ui/components/RowActionMenu.d.ts +1 -1
- package/dist/ui/components/Scrim.d.ts +1 -1
- package/dist/ui/components/Select.d.ts +1 -1
- package/dist/ui/components/Semantic.d.ts +21 -21
- package/dist/ui/components/SettingsSection.d.ts +3 -2
- package/dist/ui/components/SideDrawer.d.ts +1 -1
- package/dist/ui/components/SideModal.d.ts +1 -1
- package/dist/ui/components/SiteLogo.d.ts +1 -1
- package/dist/ui/components/Skeleton.d.ts +2 -1
- package/dist/ui/components/SkipToMain.d.ts +2 -1
- package/dist/ui/components/Slider.d.ts +1 -1
- package/dist/ui/components/SlottedListingView.d.ts +2 -2
- package/dist/ui/components/SortDropdown.d.ts +1 -1
- package/dist/ui/components/Spinner.d.ts +1 -1
- package/dist/ui/components/StackedViewShell.d.ts +2 -2
- package/dist/ui/components/StarRating.d.ts +1 -1
- package/dist/ui/components/StatsGrid.d.ts +1 -1
- package/dist/ui/components/StatusBadge.d.ts +1 -1
- package/dist/ui/components/StepperNav.d.ts +1 -1
- package/dist/ui/components/StickyToolbar.d.ts +1 -1
- package/dist/ui/components/SummaryCard.d.ts +1 -1
- package/dist/ui/components/TabStrip.d.ts +2 -1
- package/dist/ui/components/TablePagination.d.ts +2 -1
- package/dist/ui/components/Tabs.d.ts +4 -4
- package/dist/ui/components/TagInput.d.ts +2 -1
- package/dist/ui/components/TextLink.d.ts +1 -1
- package/dist/ui/components/Toast.d.ts +1 -1
- package/dist/ui/components/Toggle.d.ts +1 -1
- package/dist/ui/components/Tooltip.d.ts +1 -1
- package/dist/ui/components/Typography.d.ts +4 -4
- package/dist/ui/components/UnsavedChangesModal.d.ts +1 -1
- package/dist/ui/components/VacationBanner.d.ts +2 -1
- package/dist/ui/components/ViewToggle.d.ts +1 -1
- package/dist/ui/forms/ColorPickerField.d.ts +1 -1
- package/dist/ui/forms/FieldCheckbox.d.ts +2 -1
- package/dist/ui/forms/FieldInput.d.ts +1 -1
- package/dist/ui/forms/FieldSelect.d.ts +2 -1
- package/dist/ui/forms/FieldTextarea.d.ts +1 -1
- package/dist/ui/forms/FormShell.d.ts +2 -2
- package/dist/ui/rich-text/RichText.d.ts +1 -1
- package/dist/ui/rich-text/RichTextRenderer.d.ts +2 -1
- package/package.json +1 -1
|
@@ -10,7 +10,21 @@ import { ImageUpload, MediaUploadField, MediaUploadList, useMediaUpload } from "
|
|
|
10
10
|
import { StoreAddressSelectorCreate } from "../../stores/components/StoreAddressSelectorCreate";
|
|
11
11
|
import { QuickProductForm } from "./QuickProductForm";
|
|
12
12
|
import { BarcodeField } from "./BarcodeField";
|
|
13
|
+
import { pluginFor } from "../../../_internal/shared/listing-types/_registry";
|
|
13
14
|
import { normalizeError } from "../../../errors/normalize";
|
|
15
|
+
/**
|
|
16
|
+
* "bundle" is a categoryType, not a ListingType, so it can't live in
|
|
17
|
+
* LISTING_TYPE_REGISTRY — this is the single, explicit escape hatch that
|
|
18
|
+
* lets the seller form's registry lookups also cover it.
|
|
19
|
+
*/
|
|
20
|
+
const BUNDLE_PLUGIN_FALLBACK = {
|
|
21
|
+
priceLabel: "Price (₹)",
|
|
22
|
+
typeLabel: "Bundle",
|
|
23
|
+
showsStockQuantity: false,
|
|
24
|
+
};
|
|
25
|
+
function pluginForMode(mode) {
|
|
26
|
+
return mode === "bundle" ? BUNDLE_PLUGIN_FALLBACK : pluginFor(mode);
|
|
27
|
+
}
|
|
14
28
|
const sellerProductSchema = z.object({
|
|
15
29
|
title: z.string().min(1, "Product title is required").max(200),
|
|
16
30
|
description: z.string().max(10000).optional().or(z.literal("")),
|
|
@@ -114,18 +128,59 @@ const LIVE_TRANSPORT_OPTIONS = [
|
|
|
114
128
|
function StepLiveItemSettings({ values, onChange, }) {
|
|
115
129
|
return (_jsxs(Stack, { gap: "md", children: [_jsx(Alert, { variant: "warning", children: "Live animal / plant listings must comply with all applicable laws, CITES regulations, and local jurisdiction rules. LetItRip is not responsible for legal compliance \u2014 this is solely the seller's responsibility." }), _jsxs(FormGroup, { columns: 2, children: [_jsx(FormField, { name: "liveSpecies", label: "Species / Common Name", type: "text", value: values.liveSpecies ?? "", onChange: (v) => onChange({ liveSpecies: v }), placeholder: "e.g. Axolotl (Ambystoma mexicanum)" }), _jsx(FormField, { name: "liveAgeMonths", label: "Age (months, optional)", type: "number", value: String(values.liveAgeMonths ?? ""), onChange: (v) => onChange({ liveAgeMonths: v ? Number(v) : undefined }), placeholder: "e.g. 6" })] }), _jsx(FormField, { name: "liveSex", label: "Sex", type: "select", value: values.liveSex ?? "unknown", onChange: (v) => onChange({ liveSex: v }), options: LIVE_SEX_OPTIONS }), _jsx(FormField, { name: "liveCareInfo", label: "Care Instructions (optional)", type: "textarea", value: values.liveCareInfo ?? "", onChange: (v) => onChange({ liveCareInfo: v }), placeholder: "Diet, temperature, habitat requirements\u2026" }), _jsx(FormField, { name: "liveTransportMethod", label: "Transport Method", type: "select", value: values.liveTransportMethod ?? "in-person", onChange: (v) => onChange({ liveTransportMethod: v }), options: LIVE_TRANSPORT_OPTIONS }), values.liveTransportMethod !== "in-person" && (_jsx(FormField, { name: "liveHandlingFee", label: "Handling / Transport Fee (\u20B9, optional)", type: "number", value: toRupees(values.liveHandlingFee), onChange: (v) => onChange({ liveHandlingFee: v ? toPaise(v) : undefined }), placeholder: "0" })), _jsx(FormField, { name: "liveJurisdictions", label: "Jurisdictions where sale is permitted (comma-separated)", type: "text", value: (values.liveJurisdictions ?? []).join(", "), onChange: (v) => onChange({ liveJurisdictions: v.split(",").map((s) => s.trim()).filter(Boolean) }), placeholder: "e.g. Maharashtra, Karnataka", helpText: "List all Indian states / UTs where you can legally sell" }), _jsx(Toggle, { checked: !!values.liveCites, onChange: (checked) => onChange({ liveCites: checked }), label: "This species requires CITES documentation" })] }));
|
|
116
130
|
}
|
|
131
|
+
// ── Step: Print Meta (art / stickers) ───────────────────────────────────────
|
|
132
|
+
// Shared by both "art" and "stickers" — identical field set, only the intro
|
|
133
|
+
// copy differs (set by the caller via `intro`).
|
|
134
|
+
function StepPrintMetaSettings({ values, onChange, intro, }) {
|
|
135
|
+
return (_jsxs(Stack, { gap: "md", children: [_jsx(Alert, { variant: "info", children: intro }), _jsxs(FormGroup, { columns: 2, children: [_jsx(FormField, { name: "printSize", label: "Size", type: "text", value: values.printSize ?? "", onChange: (v) => onChange({ printSize: v }), placeholder: "e.g. A4, 12x18 in" }), _jsx(FormField, { name: "printMaterial", label: "Material", type: "text", value: values.printMaterial ?? "", onChange: (v) => onChange({ printMaterial: v }), placeholder: "e.g. Matte photo paper, Vinyl" })] }), _jsxs(FormGroup, { columns: 2, children: [_jsx(FormField, { name: "printFinish", label: "Finish (optional)", type: "text", value: values.printFinish ?? "", onChange: (v) => onChange({ printFinish: v }), placeholder: "e.g. Glossy, Matte, Holographic" }), _jsx(FormField, { name: "printEditionSize", label: "Edition Size (optional)", type: "number", value: String(values.printEditionSize ?? ""), onChange: (v) => onChange({ printEditionSize: v ? Number(v) : undefined }), placeholder: "Leave blank for an open edition" })] })] }));
|
|
136
|
+
}
|
|
137
|
+
const TYPE_SPECIFIC_STEPS = {
|
|
138
|
+
auction: {
|
|
139
|
+
id: "auction",
|
|
140
|
+
label: "Auction Settings",
|
|
141
|
+
render: ({ values, onChange }) => (_jsx(StepAuctionSettings, { values: values, onChange: onChange })),
|
|
142
|
+
validate: (v) => (!v.startingBid ? "Starting bid is required" : !v.auctionEndDate ? "Auction end date is required" : null),
|
|
143
|
+
},
|
|
144
|
+
"pre-order": {
|
|
145
|
+
id: "preorder",
|
|
146
|
+
label: "Pre-Order",
|
|
147
|
+
sectionHeading: "Pre-Order Settings",
|
|
148
|
+
render: ({ values, onChange }) => (_jsx(StepPreOrderSettings, { values: values, onChange: onChange })),
|
|
149
|
+
validate: (v) => (!v.preOrderDeliveryDate ? "Estimated delivery date is required" : null),
|
|
150
|
+
},
|
|
151
|
+
classified: {
|
|
152
|
+
id: "classified",
|
|
153
|
+
label: "Meetup Details",
|
|
154
|
+
render: ({ values, onChange }) => (_jsx(StepClassifiedSettings, { values: values, onChange: onChange })),
|
|
155
|
+
validate: (v) => (!v.classifiedCity?.trim() ? "City is required for classified listings" : null),
|
|
156
|
+
},
|
|
157
|
+
"digital-code": {
|
|
158
|
+
id: "digitalcode",
|
|
159
|
+
label: "Code Details",
|
|
160
|
+
render: ({ values, onChange }) => (_jsx(StepDigitalCodeSettings, { values: values, onChange: onChange })),
|
|
161
|
+
},
|
|
162
|
+
live: {
|
|
163
|
+
id: "live",
|
|
164
|
+
label: "Live Item Details",
|
|
165
|
+
render: ({ values, onChange }) => (_jsx(StepLiveItemSettings, { values: values, onChange: onChange })),
|
|
166
|
+
validate: (v) => (!v.liveSpecies?.trim() ? "Species name is required" : null),
|
|
167
|
+
},
|
|
168
|
+
art: {
|
|
169
|
+
id: "printmeta",
|
|
170
|
+
label: "Print Details",
|
|
171
|
+
render: ({ values, onChange }) => (_jsx(StepPrintMetaSettings, { values: values, onChange: onChange, intro: "Art prints are sold as physical, printed-only reproductions \u2014 no original artwork or digital files." })),
|
|
172
|
+
},
|
|
173
|
+
stickers: {
|
|
174
|
+
id: "printmeta",
|
|
175
|
+
label: "Print Details",
|
|
176
|
+
render: ({ values, onChange }) => (_jsx(StepPrintMetaSettings, { values: values, onChange: onChange, intro: "Sticker listings are sold as physical, printed sheets or packs \u2014 no digital files." })),
|
|
177
|
+
},
|
|
178
|
+
};
|
|
117
179
|
// ── Step: Pricing ─────────────────────────────────────────────────────────
|
|
118
180
|
function StepPricing({ values, onChange, listingType, }) {
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
? "Pre-Order Price (₹)"
|
|
123
|
-
: listingType === "classified"
|
|
124
|
-
? "Asking Price (₹)"
|
|
125
|
-
: listingType === "digital-code"
|
|
126
|
-
? "Price per Code (₹)"
|
|
127
|
-
: "Price (₹)";
|
|
128
|
-
return (_jsxs(Stack, { gap: "md", children: [_jsx(Alert, { variant: "info", children: "All prices in Indian Rupees (\u20B9)." }), _jsxs(FormGroup, { columns: 2, children: [_jsx(FormField, { name: "price", label: priceLabel, type: "number", value: toRupees(values.price), onChange: (v) => onChange({ price: toPaise(v) }), placeholder: "999" }), _jsx(FormField, { name: "compareAtPrice", label: "Compare-at Price (\u20B9, optional)", type: "number", value: toRupees(values.compareAtPrice), onChange: (v) => onChange({ compareAtPrice: v ? toPaise(v) : undefined }), placeholder: "1299", helpText: "Original price shown as strikethrough" })] }), (listingType === "standard" || listingType === "classified" || listingType === "live") && (_jsx(FormField, { name: "stockQuantity", label: "Stock Quantity", type: "number", value: String(values.stockQuantity ?? ""), onChange: (v) => onChange({ stockQuantity: Number(v) }), placeholder: "1" })), _jsxs(FormGroup, { columns: 2, children: [_jsx(Toggle, { checked: !!values.featured, onChange: (checked) => onChange({ featured: checked }), label: "Mark as Featured" }), _jsx(Toggle, { checked: !!values.isNew, onChange: (checked) => onChange({ isNew: checked }), label: "Mark as New Arrival" })] })] }));
|
|
181
|
+
const listingPlugin = pluginForMode(listingType);
|
|
182
|
+
const priceLabel = listingPlugin.priceLabel;
|
|
183
|
+
return (_jsxs(Stack, { gap: "md", children: [_jsx(Alert, { variant: "info", children: "All prices in Indian Rupees (\u20B9)." }), _jsxs(FormGroup, { columns: 2, children: [_jsx(FormField, { name: "price", label: priceLabel, type: "number", value: toRupees(values.price), onChange: (v) => onChange({ price: toPaise(v) }), placeholder: "999" }), _jsx(FormField, { name: "compareAtPrice", label: "Compare-at Price (\u20B9, optional)", type: "number", value: toRupees(values.compareAtPrice), onChange: (v) => onChange({ compareAtPrice: v ? toPaise(v) : undefined }), placeholder: "1299", helpText: "Original price shown as strikethrough" })] }), listingPlugin.showsStockQuantity && (_jsx(FormField, { name: "stockQuantity", label: "Stock Quantity", type: "number", value: String(values.stockQuantity ?? ""), onChange: (v) => onChange({ stockQuantity: Number(v) }), placeholder: "1" })), _jsxs(FormGroup, { columns: 2, children: [_jsx(Toggle, { checked: !!values.featured, onChange: (checked) => onChange({ featured: checked }), label: "Mark as Featured" }), _jsx(Toggle, { checked: !!values.isNew, onChange: (checked) => onChange({ isNew: checked }), label: "Mark as New Arrival" })] })] }));
|
|
129
184
|
}
|
|
130
185
|
// ── Step: Shipping ────────────────────────────────────────────────────────
|
|
131
186
|
function StepShipping({ values, onChange, renderAddressSelector, }) {
|
|
@@ -235,49 +290,8 @@ export function SellerProductShell({ mode, listingType = "standard", initialValu
|
|
|
235
290
|
showToast(err instanceof Error ? err.message : "Failed to publish.", "error");
|
|
236
291
|
}
|
|
237
292
|
}, [draft, onPublish, markClean, showToast]);
|
|
238
|
-
const listingTypeLabel = listingType
|
|
239
|
-
|
|
240
|
-
: listingType === "pre-order"
|
|
241
|
-
? "Pre-Order"
|
|
242
|
-
: listingType === "bundle"
|
|
243
|
-
? "Bundle"
|
|
244
|
-
: listingType === "classified"
|
|
245
|
-
? "Classified"
|
|
246
|
-
: listingType === "digital-code"
|
|
247
|
-
? "Digital Code"
|
|
248
|
-
: listingType === "live"
|
|
249
|
-
? "Live Item"
|
|
250
|
-
: "Product";
|
|
251
|
-
const typeSpecificStep = listingType === "auction"
|
|
252
|
-
? {
|
|
253
|
-
label: "Auction Settings",
|
|
254
|
-
render: ({ values, onChange }) => (_jsx(StepAuctionSettings, { values: values, onChange: onChange })),
|
|
255
|
-
validate: (v) => (!v.startingBid ? "Starting bid is required" : !v.auctionEndDate ? "Auction end date is required" : null),
|
|
256
|
-
}
|
|
257
|
-
: listingType === "pre-order"
|
|
258
|
-
? {
|
|
259
|
-
label: "Pre-Order",
|
|
260
|
-
render: ({ values, onChange }) => (_jsx(StepPreOrderSettings, { values: values, onChange: onChange })),
|
|
261
|
-
validate: (v) => (!v.preOrderDeliveryDate ? "Estimated delivery date is required" : null),
|
|
262
|
-
}
|
|
263
|
-
: listingType === "classified"
|
|
264
|
-
? {
|
|
265
|
-
label: "Meetup Details",
|
|
266
|
-
render: ({ values, onChange }) => (_jsx(StepClassifiedSettings, { values: values, onChange: onChange })),
|
|
267
|
-
validate: (v) => (!v.classifiedCity?.trim() ? "City is required for classified listings" : null),
|
|
268
|
-
}
|
|
269
|
-
: listingType === "digital-code"
|
|
270
|
-
? {
|
|
271
|
-
label: "Code Details",
|
|
272
|
-
render: ({ values, onChange }) => (_jsx(StepDigitalCodeSettings, { values: values, onChange: onChange })),
|
|
273
|
-
}
|
|
274
|
-
: listingType === "live"
|
|
275
|
-
? {
|
|
276
|
-
label: "Live Item Details",
|
|
277
|
-
render: ({ values, onChange }) => (_jsx(StepLiveItemSettings, { values: values, onChange: onChange })),
|
|
278
|
-
validate: (v) => (!v.liveSpecies?.trim() ? "Species name is required" : null),
|
|
279
|
-
}
|
|
280
|
-
: null;
|
|
293
|
+
const listingTypeLabel = pluginForMode(listingType).typeLabel;
|
|
294
|
+
const typeSpecificStep = TYPE_SPECIFIC_STEPS[listingType] ?? null;
|
|
281
295
|
const steps = [
|
|
282
296
|
{
|
|
283
297
|
label: "Basic",
|
|
@@ -349,11 +363,7 @@ export function SellerProductShell({ mode, listingType = "standard", initialValu
|
|
|
349
363
|
// Edit mode — FormShell with section nav + full form
|
|
350
364
|
const editSections = [
|
|
351
365
|
...EDIT_SECTIONS,
|
|
352
|
-
...(
|
|
353
|
-
...(listingType === "pre-order" ? [{ id: "preorder", label: "Pre-Order" }] : []),
|
|
354
|
-
...(listingType === "classified" ? [{ id: "classified", label: "Meetup Details" }] : []),
|
|
355
|
-
...(listingType === "digital-code" ? [{ id: "digitalcode", label: "Code Details" }] : []),
|
|
356
|
-
...(listingType === "live" ? [{ id: "live", label: "Live Item" }] : []),
|
|
366
|
+
...(typeSpecificStep ? [{ id: typeSpecificStep.id, label: typeSpecificStep.label }] : []),
|
|
357
367
|
];
|
|
358
|
-
return (_jsx(FormShell, { isOpen: true, onClose: handleDiscard, title: title, breadcrumb: breadcrumb, isDirty: isDirty, isLoading: isLoading, sections: editSections, onSaveDraft: handleSave, onPublish: handlePublish, saveLabel: "Save Changes", publishLabel: "Update", previewSlot: previewSlot, children: _jsx(FormShellProvider, { isDirty: isDirty, values: draft, children: _jsxs(Stack, { gap: "lg", children: [_jsxs(Section, { id: "basic", children: [_jsx(Heading, { level: 3, className: "mb-4", children: "Basic Info" }), _jsx(StepBasic, { values: draft, onChange: update, renderCategorySelector: renderCategorySelector, renderBrandSelector: renderBrandSelector, renderTemplateSelector: renderTemplateSelector })] }), _jsxs(Section, { id: "media", children: [_jsx(Heading, { level: 3, className: "mb-4", children: "Media" }), _jsx(StepMedia, { values: draft, onChange: update, storeSlug: storeSlug })] }),
|
|
368
|
+
return (_jsx(FormShell, { isOpen: true, onClose: handleDiscard, title: title, breadcrumb: breadcrumb, isDirty: isDirty, isLoading: isLoading, sections: editSections, onSaveDraft: handleSave, onPublish: handlePublish, saveLabel: "Save Changes", publishLabel: "Update", previewSlot: previewSlot, children: _jsx(FormShellProvider, { isDirty: isDirty, values: draft, children: _jsxs(Stack, { gap: "lg", children: [_jsxs(Section, { id: "basic", children: [_jsx(Heading, { level: 3, className: "mb-4", children: "Basic Info" }), _jsx(StepBasic, { values: draft, onChange: update, renderCategorySelector: renderCategorySelector, renderBrandSelector: renderBrandSelector, renderTemplateSelector: renderTemplateSelector })] }), _jsxs(Section, { id: "media", children: [_jsx(Heading, { level: 3, className: "mb-4", children: "Media" }), _jsx(StepMedia, { values: draft, onChange: update, storeSlug: storeSlug })] }), typeSpecificStep && (_jsxs(Section, { id: typeSpecificStep.id, children: [_jsx(Heading, { level: 3, className: "mb-4", children: typeSpecificStep.sectionHeading ?? typeSpecificStep.label }), typeSpecificStep.render({ values: draft, onChange: update, errors: {} })] })), _jsxs(Section, { id: "pricing", children: [_jsx(Heading, { level: 3, className: "mb-4", children: "Pricing" }), _jsx(StepPricing, { values: draft, onChange: update, listingType: listingType })] }), _jsxs(Section, { id: "shipping", children: [_jsx(Heading, { level: 3, className: "mb-4", children: "Shipping" }), _jsx(StepShipping, { values: draft, onChange: update, renderAddressSelector: renderAddressSelector })] }), _jsxs(Section, { id: "publish", children: [_jsx(Heading, { level: 3, className: "mb-4", children: "Publish" }), _jsx(StepPublish, { values: draft, onChange: update }), onSaveAsTemplate && (_jsxs(Div, { className: "mt-4 border-t border-[var(--appkit-color-border)]", padding: "t-md", children: [_jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => onSaveAsTemplate(draft), children: "Save as Template" }), _jsx(Text, { className: "mt-1 text-[var(--appkit-color-secondary-text)]", size: "xs", children: "Save these settings as a reusable template for future listings." })] }))] })] }) }) }));
|
|
359
369
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface SellerProductsCardsRowShape {
|
|
2
3
|
id: string;
|
|
3
4
|
primary: string;
|
|
@@ -16,4 +17,4 @@ export interface SellerProductsCardsProps<TRow extends SellerProductsCardsRowSha
|
|
|
16
17
|
onDuplicate: (row: TRow) => void;
|
|
17
18
|
onDelete?: (row: TRow) => void;
|
|
18
19
|
}
|
|
19
|
-
export declare function SellerProductsCards<TRow extends SellerProductsCardsRowShape>({ view, rows, isLoading, listingKind, selectedIds, toggle, onEdit, onDuplicate, onDelete, }: SellerProductsCardsProps<TRow>):
|
|
20
|
+
export declare function SellerProductsCards<TRow extends SellerProductsCardsRowShape>({ view, rows, isLoading, listingKind, selectedIds, toggle, onEdit, onDuplicate, onDelete, }: SellerProductsCardsProps<TRow>): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface SellerProductsFilterDrawerProps {
|
|
2
3
|
isOpen: boolean;
|
|
3
4
|
pendingFilters: Record<string, string>;
|
|
@@ -11,4 +12,4 @@ export interface SellerProductsFilterDrawerProps {
|
|
|
11
12
|
onApply: () => void;
|
|
12
13
|
onClose: () => void;
|
|
13
14
|
}
|
|
14
|
-
export declare function SellerProductsFilterDrawer({ isOpen, pendingFilters, statusOptions, activeFilterCount, onChange, onClear, onApply, onClose, }: SellerProductsFilterDrawerProps):
|
|
15
|
+
export declare function SellerProductsFilterDrawer({ isOpen, pendingFilters, statusOptions, activeFilterCount, onChange, onClear, onApply, onClose, }: SellerProductsFilterDrawerProps): React.JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { ListingLayoutProps } from "../../../ui";
|
|
2
3
|
export interface SellerProductsViewProps extends ListingLayoutProps {
|
|
3
4
|
onDeleteProduct?: (id: string) => Promise<void>;
|
|
4
5
|
/** S-STORE-2-E — "New Listing" toolbar button. */
|
|
5
6
|
onCreateClick?: () => void;
|
|
6
7
|
}
|
|
7
|
-
export declare function SellerProductsView({ onDeleteProduct, onCreateClick, children, ...props }: SellerProductsViewProps):
|
|
8
|
+
export declare function SellerProductsView({ onDeleteProduct, onCreateClick, children, ...props }: SellerProductsViewProps): React.JSX.Element;
|
|
@@ -2,4 +2,4 @@ export interface SellerReviewsViewProps {
|
|
|
2
2
|
reviewsApiBase?: string;
|
|
3
3
|
replyApiBase?: string;
|
|
4
4
|
}
|
|
5
|
-
export declare function SellerReviewsView({ reviewsApiBase, replyApiBase, }: SellerReviewsViewProps): import("react
|
|
5
|
+
export declare function SellerReviewsView({ reviewsApiBase, replyApiBase, }: SellerReviewsViewProps): import("react").JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface SellerShippingConfigsViewProps {
|
|
2
3
|
onCreateClick?: () => void;
|
|
3
4
|
onEditClick?: (id: string) => void;
|
|
4
5
|
onDelete?: (id: string) => Promise<void>;
|
|
5
6
|
onSetDefault?: (id: string) => Promise<void>;
|
|
6
7
|
}
|
|
7
|
-
export declare function SellerShippingConfigsView({ onCreateClick, onEditClick, onDelete, onSetDefault, }: SellerShippingConfigsViewProps):
|
|
8
|
+
export declare function SellerShippingConfigsView({ onCreateClick, onEditClick, onDelete, onSetDefault, }: SellerShippingConfigsViewProps): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export interface SellerShippingViewProps {
|
|
2
2
|
apiBase?: string;
|
|
3
3
|
}
|
|
4
|
-
export declare function SellerShippingView({ apiBase }: SellerShippingViewProps): import("react
|
|
4
|
+
export declare function SellerShippingView({ apiBase }: SellerShippingViewProps): import("react").JSX.Element;
|
|
@@ -7,11 +7,8 @@ import { StoreAddressSelectorCreate } from "../../stores/components/StoreAddress
|
|
|
7
7
|
import { StepForm } from "../../shell";
|
|
8
8
|
import { normalizeError } from "../../../errors/normalize";
|
|
9
9
|
const DEFAULT_DRAFT = {
|
|
10
|
-
method: "custom",
|
|
11
10
|
customCarrierName: "",
|
|
12
11
|
customShippingPrice: "",
|
|
13
|
-
shiprocketEmail: "",
|
|
14
|
-
shiprocketPassword: "",
|
|
15
12
|
pickupAddressId: "",
|
|
16
13
|
freeShippingThreshold: "",
|
|
17
14
|
fragileSurcharge: "",
|
|
@@ -31,11 +28,8 @@ export function SellerShippingView({ apiBase = "/api/store/shipping" }) {
|
|
|
31
28
|
const cfg = res?.data?.shippingConfig ?? { method: "custom", isConfigured: false };
|
|
32
29
|
setCurrent(cfg);
|
|
33
30
|
setDraft({
|
|
34
|
-
method: cfg.method,
|
|
35
31
|
customCarrierName: cfg.customCarrierName ?? "",
|
|
36
32
|
customShippingPrice: cfg.customShippingPrice ? String(cfg.customShippingPrice / 100) : "",
|
|
37
|
-
shiprocketEmail: cfg.shiprocketEmail ?? "",
|
|
38
|
-
shiprocketPassword: "",
|
|
39
33
|
pickupAddressId: "",
|
|
40
34
|
freeShippingThreshold: (res?.data?.freeShippingThreshold ?? 0)
|
|
41
35
|
? String(res.data.freeShippingThreshold / 100)
|
|
@@ -57,20 +51,9 @@ export function SellerShippingView({ apiBase = "/api/store/shipping" }) {
|
|
|
57
51
|
setSuccess(false);
|
|
58
52
|
setSaving(true);
|
|
59
53
|
try {
|
|
60
|
-
const methodFields = draft.method === "custom"
|
|
61
|
-
? {
|
|
62
|
-
method: "custom",
|
|
63
|
-
customCarrierName: draft.customCarrierName.trim(),
|
|
64
|
-
customShippingPrice: Math.round(parseFloat(draft.customShippingPrice || "0") * 100),
|
|
65
|
-
}
|
|
66
|
-
: {
|
|
67
|
-
method: "shiprocket",
|
|
68
|
-
...(draft.shiprocketPassword
|
|
69
|
-
? { shiprocketCredentials: { email: draft.shiprocketEmail, password: draft.shiprocketPassword } }
|
|
70
|
-
: {}),
|
|
71
|
-
};
|
|
72
54
|
const body = {
|
|
73
|
-
|
|
55
|
+
customCarrierName: draft.customCarrierName.trim(),
|
|
56
|
+
customShippingPrice: Math.round(parseFloat(draft.customShippingPrice || "0") * 100),
|
|
74
57
|
...(draft.pickupAddressId ? { pickupAddressId: draft.pickupAddressId } : {}),
|
|
75
58
|
freeShippingThreshold: Math.round(parseFloat(draft.freeShippingThreshold || "0") * 100),
|
|
76
59
|
fragileSurcharge: Math.round(parseFloat(draft.fragileSurcharge || "0") * 100),
|
|
@@ -84,7 +67,7 @@ export function SellerShippingView({ apiBase = "/api/store/shipping" }) {
|
|
|
84
67
|
if (!res.ok)
|
|
85
68
|
throw new Error(json?.error ?? "Failed to save");
|
|
86
69
|
setSuccess(true);
|
|
87
|
-
const cfg = json?.data?.shippingConfig ?? { method:
|
|
70
|
+
const cfg = json?.data?.shippingConfig ?? { method: "custom", isConfigured: false };
|
|
88
71
|
setCurrent(cfg);
|
|
89
72
|
}
|
|
90
73
|
catch (err) {
|
|
@@ -98,14 +81,12 @@ export function SellerShippingView({ apiBase = "/api/store/shipping" }) {
|
|
|
98
81
|
const busy = loading || saving;
|
|
99
82
|
const steps = [
|
|
100
83
|
{
|
|
101
|
-
label: "
|
|
102
|
-
render: ({ values, onChange }) => (_jsxs(Stack, { gap: "md", children: [_jsx(Heading, { level: 3, className: "mb-2", children: "Shipping
|
|
103
|
-
? "Set a fixed shipping fee and carrier name for all orders."
|
|
104
|
-
: "Automated shipping via Shiprocket — connect your account for label generation and tracking." })] })] }, m))) }), values.method === "custom" && (_jsxs(Stack, { gap: "md", className: "mt-2", children: [_jsx(FormField, { name: "customCarrierName", label: "Carrier Name", type: "text", value: values.customCarrierName, onChange: (v) => onChange({ customCarrierName: v }), placeholder: "e.g. India Post, DTDC, Delhivery", disabled: busy }), _jsx(FormField, { name: "customShippingPrice", label: "Shipping Price (\u20B9)", type: "number", value: values.customShippingPrice, onChange: (v) => onChange({ customShippingPrice: v }), placeholder: "0 for free shipping", helpText: "Charged to buyer at checkout. Enter 0 for free shipping.", disabled: busy })] })), values.method === "shiprocket" && (_jsxs(Stack, { gap: "md", className: "mt-2", children: [_jsx(FormField, { name: "shiprocketEmail", label: "Shiprocket Email", type: "email", value: values.shiprocketEmail, onChange: (v) => onChange({ shiprocketEmail: v }), placeholder: "your@email.com", disabled: busy }), _jsx(FormField, { name: "shiprocketPassword", label: current?.isTokenValid ? "Password (leave blank to keep existing token)" : "Password", type: "password", value: values.shiprocketPassword, onChange: (v) => onChange({ shiprocketPassword: v }), placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", helpText: current?.isTokenValid ? "Only fill this to re-authenticate." : "Required to connect your Shiprocket account.", disabled: busy })] }))] })),
|
|
84
|
+
label: "Carrier",
|
|
85
|
+
render: ({ values, onChange }) => (_jsxs(Stack, { gap: "md", children: [_jsx(Heading, { level: 3, className: "mb-2", children: "Shipping Carrier" }), current && (_jsx(Row, { className: "mb-2", align: "center", gap: "sm", children: _jsx(Badge, { variant: current.isConfigured ? "success" : "warning", children: current.isConfigured ? "Configured" : "Not configured" }) })), _jsx(Text, { className: "text-[var(--appkit-color-text-muted)]", size: "sm", children: "Set a fixed shipping fee and carrier name for all orders. You enter the carrier and tracking number yourself when you ship each order." }), _jsxs(Stack, { gap: "md", className: "mt-2", children: [_jsx(FormField, { name: "customCarrierName", label: "Carrier Name", type: "text", value: values.customCarrierName, onChange: (v) => onChange({ customCarrierName: v }), placeholder: "e.g. India Post, DTDC, Delhivery", disabled: busy }), _jsx(FormField, { name: "customShippingPrice", label: "Shipping Price (\u20B9)", type: "number", value: values.customShippingPrice, onChange: (v) => onChange({ customShippingPrice: v }), placeholder: "0 for free shipping", helpText: "Charged to buyer at checkout. Enter 0 for free shipping.", disabled: busy })] })] })),
|
|
105
86
|
},
|
|
106
87
|
{
|
|
107
88
|
label: "Pickup Address",
|
|
108
|
-
render: ({ values, onChange }) => (_jsxs(Stack, { gap: "md", children: [_jsx(Heading, { level: 3, className: "mb-2", children: "Pickup Address" }), current?.pickupAddress && (_jsxs(Alert, { variant: "info", children: ["Current pickup: ", current.pickupAddress.locationName ?? "", current.pickupAddress.city ? `, ${current.pickupAddress.city}` : ""
|
|
89
|
+
render: ({ values, onChange }) => (_jsxs(Stack, { gap: "md", children: [_jsx(Heading, { level: 3, className: "mb-2", children: "Pickup Address" }), current?.pickupAddress && (_jsxs(Alert, { variant: "info", children: ["Current pickup: ", current.pickupAddress.locationName ?? "", current.pickupAddress.city ? `, ${current.pickupAddress.city}` : ""] })), _jsx(StoreAddressSelectorCreate, { value: values.pickupAddressId, onChange: (id) => onChange({ pickupAddressId: id }), label: "Pickup Address", disabled: busy })] })),
|
|
109
90
|
},
|
|
110
91
|
{
|
|
111
92
|
label: "Rules",
|
|
@@ -24,5 +24,5 @@ interface StoreSidebarProps {
|
|
|
24
24
|
onToggle?: () => void;
|
|
25
25
|
className?: string;
|
|
26
26
|
}
|
|
27
|
-
export declare function StoreSidebar({ items, groups, activeHref, storeName, storeLogoURL, mobileOpen, desktopOpen, variant, onCloseMobile, onToggle, }: StoreSidebarProps):
|
|
27
|
+
export declare function StoreSidebar({ items, groups, activeHref, storeName, storeLogoURL, mobileOpen, desktopOpen, variant, onCloseMobile, onToggle, }: StoreSidebarProps): React.JSX.Element;
|
|
28
28
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface SellerStickersViewProps {
|
|
3
|
+
onCreateClick?: () => void;
|
|
4
|
+
onEditClick?: (id: string) => void;
|
|
5
|
+
onDelete?: (id: string) => Promise<void>;
|
|
6
|
+
onBulkDelete?: (ids: string[]) => Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function SellerStickersView({ onCreateClick, onEditClick, onDelete, onBulkDelete, }: SellerStickersViewProps): React.JSX.Element;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* SellerStickersView — seller browse/manage of sticker listings
|
|
5
|
+
* (EMI/art-stickers session). Mirrors SellerClassifiedView's pattern.
|
|
6
|
+
*/
|
|
7
|
+
import { Badge, sortBy } from "@mohasinac/appkit";
|
|
8
|
+
import { useState, useCallback } from "react";
|
|
9
|
+
import { useEntityDelete } from "../../../react/hooks/useEntityDelete";
|
|
10
|
+
import { ConfirmDeleteModal, RowActionMenu, Text } from "../../../ui";
|
|
11
|
+
import { SELLER_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
12
|
+
import { ACTIONS } from "../../../_internal/shared/actions/action-registry";
|
|
13
|
+
import { ROUTES } from "../../..";
|
|
14
|
+
import { toRecordArray, toRelativeDate, toRupees, toStringValue, } from "../../admin/hooks/useAdminListingData";
|
|
15
|
+
import { DataListingView } from "../../admin/components/DataListingView";
|
|
16
|
+
const COLUMNS = [
|
|
17
|
+
{ key: "title", header: "Listing", render: (row) => _jsx(Text, { size: "sm", weight: "medium", children: row.title }) },
|
|
18
|
+
{ key: "price", header: "Price", render: (row) => _jsx(Text, { className: "tabular-nums", size: "sm", children: row.price }) },
|
|
19
|
+
{
|
|
20
|
+
key: "size",
|
|
21
|
+
header: "Size",
|
|
22
|
+
render: (row) => _jsx(Text, { className: "text-[var(--appkit-color-text-muted)]", size: "sm", children: row.size || "—" }),
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
key: "status",
|
|
26
|
+
header: "Status",
|
|
27
|
+
render: (row) => (_jsx(Badge, { variant: row.status === "active" ? "active" : "inactive", size: "xs", className: "capitalize", children: row.status })),
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: "createdAt",
|
|
31
|
+
header: "Created",
|
|
32
|
+
render: (row) => _jsx(Text, { className: "text-[var(--appkit-color-text-muted)]", size: "sm", children: row.createdAt }),
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
export function SellerStickersView({ onCreateClick, onEditClick, onDelete, onBulkDelete, }) {
|
|
36
|
+
const [deleteTargetId, setDeleteTargetId] = useState(null);
|
|
37
|
+
const { deletingId, handleDelete: performDelete } = useEntityDelete({
|
|
38
|
+
endpoint: (id) => `/api/store/products/${id}`,
|
|
39
|
+
deleteFn: onDelete,
|
|
40
|
+
successMessage: "Listing deleted.",
|
|
41
|
+
fetchOptions: { credentials: "include" },
|
|
42
|
+
});
|
|
43
|
+
const handleDelete = useCallback(async (id) => {
|
|
44
|
+
await performDelete(id);
|
|
45
|
+
setDeleteTargetId(null);
|
|
46
|
+
}, [performDelete]);
|
|
47
|
+
const handleEdit = useCallback((id) => {
|
|
48
|
+
if (onEditClick)
|
|
49
|
+
onEditClick(id);
|
|
50
|
+
else
|
|
51
|
+
window.location.href = String(ROUTES.STORE.STICKERS_EDIT(id));
|
|
52
|
+
}, [onEditClick]);
|
|
53
|
+
const handleCreate = useCallback(() => {
|
|
54
|
+
if (onCreateClick)
|
|
55
|
+
onCreateClick();
|
|
56
|
+
else
|
|
57
|
+
window.location.href = String(ROUTES.STORE.STICKERS_NEW);
|
|
58
|
+
}, [onCreateClick]);
|
|
59
|
+
const config = {
|
|
60
|
+
portal: "seller",
|
|
61
|
+
title: "Stickers",
|
|
62
|
+
searchPlaceholder: "Search sticker listings...",
|
|
63
|
+
emptyLabel: "No sticker listings yet — list your first pack",
|
|
64
|
+
filterKeys: [],
|
|
65
|
+
defaultSort: sortBy("createdAt", "DESC"),
|
|
66
|
+
queryKey: ["seller", "stickers"],
|
|
67
|
+
endpoint: SELLER_ENDPOINTS.PRODUCTS,
|
|
68
|
+
sortOptions: [
|
|
69
|
+
{ value: sortBy("createdAt", "DESC"), label: "Newest" },
|
|
70
|
+
{ value: sortBy("createdAt", "ASC"), label: "Oldest" },
|
|
71
|
+
{ value: "productTitle", label: "Name A–Z" },
|
|
72
|
+
{ value: sortBy("price", "ASC"), label: "Price: Low–High" },
|
|
73
|
+
{ value: sortBy("price", "DESC"), label: "Price: High–Low" },
|
|
74
|
+
],
|
|
75
|
+
columns: COLUMNS,
|
|
76
|
+
mapRows: (response) => toRecordArray(response.products).map((item, index) => {
|
|
77
|
+
const printMeta = (item.printMeta ?? {});
|
|
78
|
+
return {
|
|
79
|
+
id: toStringValue(item.id, `stickers-${index}`),
|
|
80
|
+
title: toStringValue(item.productTitle ?? item.title, "Untitled"),
|
|
81
|
+
price: toRupees(item.price),
|
|
82
|
+
size: toStringValue(printMeta.size, ""),
|
|
83
|
+
status: toStringValue(item.status, "draft"),
|
|
84
|
+
createdAt: toRelativeDate(item.createdAt),
|
|
85
|
+
};
|
|
86
|
+
}),
|
|
87
|
+
getTotal: (response, mappedRows) => typeof response.meta?.total === "number" ? response.meta.total : mappedRows.length,
|
|
88
|
+
buildFilters: () => "listingType==stickers",
|
|
89
|
+
primaryAction: { label: "New Sticker Listing", onClick: () => handleCreate() },
|
|
90
|
+
buildBulkActions: onBulkDelete
|
|
91
|
+
? (selection) => [
|
|
92
|
+
{
|
|
93
|
+
id: "bulk-delete",
|
|
94
|
+
label: ACTIONS.STORE["delete-listing"].label,
|
|
95
|
+
variant: "danger",
|
|
96
|
+
onClick: async () => {
|
|
97
|
+
await onBulkDelete(selection.selectedIds);
|
|
98
|
+
selection.clearSelection();
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
]
|
|
102
|
+
: undefined,
|
|
103
|
+
renderRowActions: (row) => (_jsx(RowActionMenu, { actions: [
|
|
104
|
+
{ label: ACTIONS.STORE["edit-listing"].label, onClick: () => handleEdit(row.id) },
|
|
105
|
+
{
|
|
106
|
+
label: ACTIONS.STORE["delete-listing"].label,
|
|
107
|
+
destructive: true,
|
|
108
|
+
onClick: () => setDeleteTargetId(row.id),
|
|
109
|
+
disabled: deletingId === row.id,
|
|
110
|
+
},
|
|
111
|
+
] })),
|
|
112
|
+
};
|
|
113
|
+
return (_jsxs(_Fragment, { children: [_jsx(DataListingView, { config: config }), deleteTargetId && (_jsx(ConfirmDeleteModal, { isOpen: true, title: "Delete Sticker Listing", message: "Are you sure you want to delete this sticker listing? This cannot be undone.", onConfirm: () => handleDelete(deleteTargetId), onClose: () => setDeleteTargetId(null), isDeleting: deletingId === deleteTargetId }))] }));
|
|
114
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface SellerStoreCategoriesViewProps {
|
|
2
3
|
onCreateClick?: () => void;
|
|
3
4
|
onEditClick?: (id: string) => void;
|
|
@@ -6,4 +7,4 @@ export interface SellerStoreCategoriesViewProps {
|
|
|
6
7
|
onBulkActivate?: (ids: string[]) => Promise<void>;
|
|
7
8
|
onBulkDeactivate?: (ids: string[]) => Promise<void>;
|
|
8
9
|
}
|
|
9
|
-
export declare function SellerStoreCategoriesView({ onCreateClick, onEditClick, onDelete, onBulkDelete, onBulkActivate, onBulkDeactivate, }: SellerStoreCategoriesViewProps):
|
|
10
|
+
export declare function SellerStoreCategoriesView({ onCreateClick, onEditClick, onDelete, onBulkDelete, onBulkActivate, onBulkDeactivate, }: SellerStoreCategoriesViewProps): React.JSX.Element;
|
|
@@ -9,4 +9,4 @@ export interface SellerStoreSetupViewProps {
|
|
|
9
9
|
isLoading?: boolean;
|
|
10
10
|
className?: string;
|
|
11
11
|
}
|
|
12
|
-
export declare function SellerStoreSetupView({ labels, renderTabs, renderForm, isLoading, className, }: SellerStoreSetupViewProps):
|
|
12
|
+
export declare function SellerStoreSetupView({ labels, renderTabs, renderForm, isLoading, className, }: SellerStoreSetupViewProps): React.JSX.Element;
|
|
@@ -5,4 +5,4 @@ export interface SellerStoreViewProps {
|
|
|
5
5
|
renderContent?: (activeTab: string) => React.ReactNode;
|
|
6
6
|
className?: string;
|
|
7
7
|
}
|
|
8
|
-
export declare function SellerStoreView({ renderHeader, renderNavTabs, renderContent, className, }: SellerStoreViewProps):
|
|
8
|
+
export declare function SellerStoreView({ renderHeader, renderNavTabs, renderContent, className, }: SellerStoreViewProps): React.JSX.Element;
|
|
@@ -25,4 +25,4 @@ export interface SellerStorefrontViewProps {
|
|
|
25
25
|
isLoading?: boolean;
|
|
26
26
|
storeSlug?: string;
|
|
27
27
|
}
|
|
28
|
-
export declare function SellerStorefrontView({ initialValues, onSave, isLoading, storeSlug, }: SellerStorefrontViewProps): import("react
|
|
28
|
+
export declare function SellerStorefrontView({ initialValues, onSave, isLoading, storeSlug, }: SellerStorefrontViewProps): import("react").JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { JsonValue } from "@mohasinac/appkit";
|
|
2
|
+
import React from "react";
|
|
2
3
|
export interface SellerTemplatesViewProps {
|
|
3
4
|
onDelete?: (id: string) => Promise<void>;
|
|
4
5
|
onBulkDelete?: (ids: string[]) => Promise<void>;
|
|
@@ -8,4 +9,4 @@ export interface SellerTemplatesViewProps {
|
|
|
8
9
|
raw: Record<string, JsonValue>;
|
|
9
10
|
}) => Promise<void>;
|
|
10
11
|
}
|
|
11
|
-
export declare function SellerTemplatesView({ onDelete, onBulkDelete, onDuplicate, }: SellerTemplatesViewProps):
|
|
12
|
+
export declare function SellerTemplatesView({ onDelete, onBulkDelete, onDuplicate, }: SellerTemplatesViewProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { SlottedListingViewProps } from "../../../ui";
|
|
2
3
|
export type SellersListViewProps = SlottedListingViewProps;
|
|
3
|
-
export declare function SellersListView(props: SellersListViewProps):
|
|
4
|
+
export declare function SellersListView(props: SellersListViewProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
interface BaseProps {
|
|
2
3
|
placeholder?: string;
|
|
3
4
|
disabled?: boolean;
|
|
@@ -15,5 +16,5 @@ interface MultiProps extends BaseProps {
|
|
|
15
16
|
onChange: (v: string[]) => void;
|
|
16
17
|
}
|
|
17
18
|
export type SublistingInlineSelectProps = SingleProps | MultiProps;
|
|
18
|
-
export declare function SublistingInlineSelect(props: SublistingInlineSelectProps):
|
|
19
|
+
export declare function SublistingInlineSelect(props: SublistingInlineSelectProps): React.JSX.Element;
|
|
19
20
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { SellerAnalyticsSummary } from "../../types";
|
|
2
3
|
/**
|
|
3
4
|
* W1-32 — SellerAnalyticsStats now composes AdminStatCard (the only live
|
|
@@ -16,4 +17,4 @@ export interface SellerAnalyticsStatsProps {
|
|
|
16
17
|
formatRevenue?: (amount: number) => string;
|
|
17
18
|
className?: string;
|
|
18
19
|
}
|
|
19
|
-
export declare function SellerAnalyticsStats({ summary, labels, formatRevenue, className, }: SellerAnalyticsStatsProps):
|
|
20
|
+
export declare function SellerAnalyticsStats({ summary, labels, formatRevenue, className, }: SellerAnalyticsStatsProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { SellerAnalyticsMonthEntry } from "../../types";
|
|
2
3
|
export interface SellerRevenueChartLabels {
|
|
3
4
|
title?: string;
|
|
@@ -10,4 +11,4 @@ export interface SellerRevenueChartProps {
|
|
|
10
11
|
formatRevenue?: (amount: number) => string;
|
|
11
12
|
className?: string;
|
|
12
13
|
}
|
|
13
|
-
export declare function SellerRevenueChart({ data, labels, formatRevenue, className, }: SellerRevenueChartProps):
|
|
14
|
+
export declare function SellerRevenueChart({ data, labels, formatRevenue, className, }: SellerRevenueChartProps): React.JSX.Element;
|
|
@@ -14,4 +14,4 @@ export interface SellerTopProductsProps {
|
|
|
14
14
|
renderEmptyAction?: () => React.ReactNode;
|
|
15
15
|
className?: string;
|
|
16
16
|
}
|
|
17
|
-
export declare function SellerTopProducts({ products, labels, formatRevenue, renderProductLink, renderEmptyAction, className, }: SellerTopProductsProps):
|
|
17
|
+
export declare function SellerTopProducts({ products, labels, formatRevenue, renderProductLink, renderEmptyAction, className, }: SellerTopProductsProps): React.JSX.Element;
|
|
@@ -124,6 +124,10 @@ export { SellerBundlesView } from "./SellerBundlesView";
|
|
|
124
124
|
export type { SellerBundlesViewProps } from "./SellerBundlesView";
|
|
125
125
|
export { SellerClassifiedView } from "./SellerClassifiedView";
|
|
126
126
|
export type { SellerClassifiedViewProps } from "./SellerClassifiedView";
|
|
127
|
+
export { SellerArtView } from "./SellerArtView";
|
|
128
|
+
export type { SellerArtViewProps } from "./SellerArtView";
|
|
129
|
+
export { SellerStickersView } from "./SellerStickersView";
|
|
130
|
+
export type { SellerStickersViewProps } from "./SellerStickersView";
|
|
127
131
|
export { SellerDigitalCodesView } from "./SellerDigitalCodesView";
|
|
128
132
|
export type { SellerDigitalCodesViewProps } from "./SellerDigitalCodesView";
|
|
129
133
|
export { SellerLiveView } from "./SellerLiveView";
|
|
@@ -65,6 +65,8 @@ export { SellerShippingConfigsView } from "./SellerShippingConfigsView";
|
|
|
65
65
|
export { SellerGoogleReviewsView } from "./SellerGoogleReviewsView";
|
|
66
66
|
export { SellerBundlesView } from "./SellerBundlesView";
|
|
67
67
|
export { SellerClassifiedView } from "./SellerClassifiedView";
|
|
68
|
+
export { SellerArtView } from "./SellerArtView";
|
|
69
|
+
export { SellerStickersView } from "./SellerStickersView";
|
|
68
70
|
export { SellerDigitalCodesView } from "./SellerDigitalCodesView";
|
|
69
71
|
export { SellerLiveView } from "./SellerLiveView";
|
|
70
72
|
export { BarcodeField } from "./BarcodeField";
|