@mohasinac/appkit 4.43.0 → 4.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-stamp.json +8 -0
- package/dist/_internal/client/features/digital-code/CodeRevealPanel.js +3 -3
- package/dist/_internal/client/features/digital-code/DigitalContentPoolManager.js +5 -5
- package/dist/_internal/client/features/filters/filter-load-options.js +3 -3
- package/dist/_internal/client/features/layout/DashboardLayoutClient.js +16 -16
- package/dist/_internal/client/features/layout/RoleGuard.js +4 -4
- package/dist/_internal/client/features/layout/SidebarCollapseToggle.js +1 -1
- package/dist/_internal/client/features/layout/index.js +3 -3
- package/dist/_internal/client/features/layout/useSidebarSearch.js +1 -1
- package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +8 -8
- package/dist/_internal/client/features/lottery/LotteryAdminSlotView.js +1 -1
- package/dist/_internal/client/features/lottery/LotteryDetailView.js +8 -8
- package/dist/_internal/client/features/lottery/LotteryEntriesView.js +3 -3
- package/dist/_internal/client/features/lottery/LotteryListView.js +3 -3
- package/dist/_internal/client/features/lottery/LotteryPullForm.js +9 -9
- package/dist/_internal/client/features/lottery/LotterySlotGrid.js +1 -1
- package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.js +7 -7
- package/dist/_internal/client/features/maintenance/index.js +5 -5
- package/dist/_internal/client/features/maintenance/views/AnalysisRunnerView.js +3 -3
- package/dist/_internal/client/features/maintenance/views/CloudLogsListView.js +3 -3
- package/dist/_internal/client/features/products/index.js +1 -1
- package/dist/_internal/client/hand-mode/HandModeProvider.js +1 -1
- package/dist/_internal/client/hand-mode/index.js +1 -1
- package/dist/_internal/client/scaffolds/AppShell.js +1 -1
- package/dist/_internal/client/scaffolds/index.js +1 -1
- package/dist/_internal/client/theme/ThemeProvider.js +2 -2
- package/dist/_internal/client/theme/buildRegistry.js +1 -1
- package/dist/_internal/client/theme/index.js +2 -2
- package/dist/_internal/server/features/account/actions.js +1 -1
- package/dist/_internal/server/features/account/data.js +1 -1
- package/dist/_internal/server/features/account/index.js +2 -2
- package/dist/_internal/server/features/admin/daily-digest-actions.js +3 -3
- package/dist/_internal/server/features/auctions/actions.js +6 -6
- package/dist/_internal/server/features/auctions/data.js +1 -1
- package/dist/_internal/server/features/auctions/index.js +5 -5
- package/dist/_internal/server/features/auctions/og.js +2 -2
- package/dist/_internal/server/features/auctions/service.js +4 -4
- package/dist/_internal/server/features/audit-log/actions.js +3 -3
- package/dist/_internal/server/features/auth/actions.js +1 -1
- package/dist/_internal/server/features/auth/capabilities.js +2 -2
- package/dist/_internal/server/features/auth/firebase-identity.js +1 -1
- package/dist/_internal/server/features/auth/index.js +3 -3
- package/dist/_internal/server/features/auth/permissions.js +4 -4
- package/dist/_internal/server/features/blog/actions.js +5 -5
- package/dist/_internal/server/features/blog/data.js +1 -1
- package/dist/_internal/server/features/blog/index.js +5 -5
- package/dist/_internal/server/features/blog/og.js +2 -2
- package/dist/_internal/server/features/blog/service.js +2 -2
- package/dist/_internal/server/features/brands/actions.js +5 -5
- package/dist/_internal/server/features/brands/data.js +1 -1
- package/dist/_internal/server/features/brands/index.js +5 -5
- package/dist/_internal/server/features/brands/og.js +1 -1
- package/dist/_internal/server/features/brands/service.js +2 -2
- package/dist/_internal/server/features/bundles/actions.js +8 -8
- package/dist/_internal/server/features/bundles/data.js +4 -4
- package/dist/_internal/server/features/bundles/index.js +4 -4
- package/dist/_internal/server/features/bundles/og.js +1 -1
- package/dist/_internal/server/features/cart/actions.js +5 -5
- package/dist/_internal/server/features/cart/data.js +1 -1
- package/dist/_internal/server/features/cart/index.js +4 -4
- package/dist/_internal/server/features/cart/service.js +5 -5
- package/dist/_internal/server/features/catalogue/og.js +2 -2
- package/dist/_internal/server/features/categories/adapters.d.ts +47 -0
- package/dist/_internal/server/features/categories/adapters.js +235 -0
- package/dist/_internal/server/features/categories/data.js +4 -4
- package/dist/_internal/server/features/categories/index.js +2 -2
- package/dist/_internal/server/features/categories/og.js +1 -1
- package/dist/_internal/server/features/checkout/actions.d.ts +50 -0
- package/dist/_internal/server/features/checkout/actions.js +343 -70
- package/dist/_internal/server/features/checkout/bundle-expansion.js +3 -3
- package/dist/_internal/server/features/checkout/expand-order-items.js +40 -2
- package/dist/_internal/server/features/checkout/index.js +3 -3
- package/dist/_internal/server/features/checkout/locked-lines.js +14 -14
- package/dist/_internal/server/features/checkout/prize-bundle-gates.js +2 -2
- package/dist/_internal/server/features/checkout/source-context.js +4 -4
- package/dist/_internal/server/features/checkout/stock-restore.js +4 -4
- package/dist/_internal/server/features/checkout/upi-resolution.js +2 -2
- package/dist/_internal/server/features/classified/adapters.js +1 -1
- package/dist/_internal/server/features/classified/data.js +1 -1
- package/dist/_internal/server/features/classified/index.js +4 -4
- package/dist/_internal/server/features/classified/og.js +2 -2
- package/dist/_internal/server/features/digital-code/adapters.js +1 -1
- package/dist/_internal/server/features/digital-code/data.js +1 -1
- package/dist/_internal/server/features/digital-code/download.js +5 -5
- package/dist/_internal/server/features/digital-code/index.js +4 -4
- package/dist/_internal/server/features/digital-code/og.js +2 -2
- package/dist/_internal/server/features/digital-code/pool.js +7 -7
- package/dist/_internal/server/features/digital-code/upload.js +6 -6
- package/dist/_internal/server/features/events/actions.js +8 -8
- package/dist/_internal/server/features/events/adapters.js +1 -1
- package/dist/_internal/server/features/events/data.js +1 -1
- package/dist/_internal/server/features/events/index.js +5 -5
- package/dist/_internal/server/features/events/og.js +2 -2
- package/dist/_internal/server/features/events/service.js +2 -2
- package/dist/_internal/server/features/faqs/index.js +1 -1
- package/dist/_internal/server/features/faqs/og.js +1 -1
- package/dist/_internal/server/features/grouped/data.js +8 -8
- package/dist/_internal/server/features/grouped/index.js +4 -4
- package/dist/_internal/server/features/grouped/og.js +2 -2
- package/dist/_internal/server/features/history/actions.js +2 -2
- package/dist/_internal/server/features/history/data.js +1 -1
- package/dist/_internal/server/features/history/index.js +3 -3
- package/dist/_internal/server/features/homepage/index.js +1 -1
- package/dist/_internal/server/features/item-requests/data.js +1 -1
- package/dist/_internal/server/features/item-requests/index.js +2 -2
- package/dist/_internal/server/features/item-requests/og.js +1 -1
- package/dist/_internal/server/features/live/adapters.js +1 -1
- package/dist/_internal/server/features/live/data.js +1 -1
- package/dist/_internal/server/features/live/index.js +4 -4
- package/dist/_internal/server/features/live/og.js +2 -2
- package/dist/_internal/server/features/lottery/actions.js +8 -8
- package/dist/_internal/server/features/lottery/data.js +3 -3
- package/dist/_internal/server/features/maintenance/analyze.js +3 -3
- package/dist/_internal/server/features/maintenance/cloud-logs-data.js +1 -1
- package/dist/_internal/server/features/maintenance/data.js +2 -2
- package/dist/_internal/server/features/media/contextGuards.js +3 -3
- package/dist/_internal/server/features/offers/adapters.js +1 -1
- package/dist/_internal/server/features/offers/index.js +1 -1
- package/dist/_internal/server/features/orders/actions.js +17 -17
- package/dist/_internal/server/features/orders/adapters.js +23 -0
- package/dist/_internal/server/features/orders/data.js +2 -2
- package/dist/_internal/server/features/orders/index.js +5 -5
- package/dist/_internal/server/features/orders/service.js +3 -3
- package/dist/_internal/server/features/payouts/actions.js +3 -3
- package/dist/_internal/server/features/pre-orders/actions.js +5 -5
- package/dist/_internal/server/features/pre-orders/data.js +1 -1
- package/dist/_internal/server/features/pre-orders/index.js +5 -5
- package/dist/_internal/server/features/pre-orders/og.js +2 -2
- package/dist/_internal/server/features/pre-orders/service.js +4 -4
- package/dist/_internal/server/features/price-index/search.d.ts +119 -0
- package/dist/_internal/server/features/price-index/search.js +188 -0
- package/dist/_internal/server/features/prize-draws/actions.js +3 -3
- package/dist/_internal/server/features/prize-draws/data.js +1 -1
- package/dist/_internal/server/features/prize-draws/index.js +4 -4
- package/dist/_internal/server/features/prize-draws/og.js +2 -2
- package/dist/_internal/server/features/prize-draws/service.js +1 -1
- package/dist/_internal/server/features/products/actions.js +8 -8
- package/dist/_internal/server/features/products/data.js +15 -15
- package/dist/_internal/server/features/products/group-members.js +1 -1
- package/dist/_internal/server/features/products/index.js +6 -6
- package/dist/_internal/server/features/products/list-public.js +11 -11
- package/dist/_internal/server/features/products/listing-tab-counts.js +3 -3
- package/dist/_internal/server/features/products/og.js +2 -2
- package/dist/_internal/server/features/products/service.js +4 -4
- package/dist/_internal/server/features/profile/index.js +1 -1
- package/dist/_internal/server/features/promotions/actions.js +6 -6
- package/dist/_internal/server/features/promotions/data.js +1 -1
- package/dist/_internal/server/features/promotions/index.js +4 -4
- package/dist/_internal/server/features/promotions/service.js +3 -3
- package/dist/_internal/server/features/raffle/actions.js +3 -3
- package/dist/_internal/server/features/refunds/actions.js +12 -12
- package/dist/_internal/server/features/reviews/actions.js +6 -6
- package/dist/_internal/server/features/reviews/data.js +3 -3
- package/dist/_internal/server/features/reviews/index.js +5 -5
- package/dist/_internal/server/features/reviews/og-data.js +1 -1
- package/dist/_internal/server/features/reviews/og.js +1 -1
- package/dist/_internal/server/features/reviews/service.js +2 -2
- package/dist/_internal/server/features/scams/data.js +1 -1
- package/dist/_internal/server/features/scams/index.js +2 -2
- package/dist/_internal/server/features/search/actions.js +1 -1
- package/dist/_internal/server/features/search/data.js +1 -1
- package/dist/_internal/server/features/search/index.js +2 -2
- package/dist/_internal/server/features/seo/index.js +4 -4
- package/dist/_internal/server/features/seo/manifest.js +2 -2
- package/dist/_internal/server/features/seo/og.js +2 -2
- package/dist/_internal/server/features/seo/sitemap.js +65 -26
- package/dist/_internal/server/features/shared/listing-data-factory.js +4 -4
- package/dist/_internal/server/features/site-settings/actions.js +1 -1
- package/dist/_internal/server/features/site-settings/index.js +1 -1
- package/dist/_internal/server/features/site-settings/safe-settings.js +3 -3
- package/dist/_internal/server/features/stores/adapters.d.ts +2 -2
- package/dist/_internal/server/features/stores/adapters.js +50 -0
- package/dist/_internal/server/features/stores/data.js +5 -5
- package/dist/_internal/server/features/stores/denormalize.js +2 -2
- package/dist/_internal/server/features/stores/index.js +5 -5
- package/dist/_internal/server/features/stores/og.js +2 -2
- package/dist/_internal/server/features/sublisting-categories/data.js +1 -1
- package/dist/_internal/server/features/sublisting-categories/index.js +2 -2
- package/dist/_internal/server/features/sublisting-categories/og.js +2 -2
- package/dist/_internal/server/features/tester/visibility.js +1 -1
- package/dist/_internal/server/features/wishlist/actions.js +5 -5
- package/dist/_internal/server/features/wishlist/data.js +1 -1
- package/dist/_internal/server/features/wishlist/index.js +4 -4
- package/dist/_internal/server/functions/bind-all.d.ts +25 -0
- package/dist/_internal/server/functions/bind-all.js +41 -6
- package/dist/_internal/server/functions/firestore.js +2 -2
- package/dist/_internal/server/functions/https.js +2 -2
- package/dist/_internal/server/functions/index.js +4 -4
- package/dist/_internal/server/functions/manifest.js +3 -3
- package/dist/_internal/server/functions/scheduled.d.ts +4 -2
- package/dist/_internal/server/functions/scheduled.js +65 -7
- package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +0 -1
- package/dist/_internal/server/jobs/core/adminAnalytics.js +12 -4
- package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.d.ts +47 -0
- package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.js +468 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.js +2 -2
- package/dist/_internal/server/jobs/core/auctionSettlement.js +7 -7
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +18 -5
- package/dist/_internal/server/jobs/core/bundleStockSync.js +1 -1
- package/dist/_internal/server/jobs/core/cartPrune.js +3 -3
- package/dist/_internal/server/jobs/core/catalogueImageStalenessReminder.js +4 -4
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +5 -5
- package/dist/_internal/server/jobs/core/countersReconcile.js +31 -15
- package/dist/_internal/server/jobs/core/couponExpiry.js +1 -1
- package/dist/_internal/server/jobs/core/dailyDataCleanup.js +2 -2
- package/dist/_internal/server/jobs/core/dailyStatusDigest.js +14 -14
- package/dist/_internal/server/jobs/core/draftPrune.js +2 -2
- package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +3 -3
- package/dist/_internal/server/jobs/core/hardBanCascade.js +7 -7
- package/dist/_internal/server/jobs/core/hardBanReinstatement.js +4 -4
- package/dist/_internal/server/jobs/core/index.js +37 -37
- package/dist/_internal/server/jobs/core/jobRunners.js +7 -7
- package/dist/_internal/server/jobs/core/listingProcessor.js +2 -2
- package/dist/_internal/server/jobs/core/mediaTmpCleanup.js +2 -2
- package/dist/_internal/server/jobs/core/newsletterExport.js +3 -3
- package/dist/_internal/server/jobs/core/notificationPrune.js +3 -3
- package/dist/_internal/server/jobs/core/offerExpiry.js +4 -4
- package/dist/_internal/server/jobs/core/onCategoryWrite.js +57 -3
- package/dist/_internal/server/jobs/core/onJobCreated.js +5 -5
- package/dist/_internal/server/jobs/core/onOrderCreate.js +6 -6
- package/dist/_internal/server/jobs/core/onOrderStatusChange.js +3 -3
- package/dist/_internal/server/jobs/core/onPrizeDrawPaymentConfirmed.js +2 -2
- package/dist/_internal/server/jobs/core/onProductStockChange.js +2 -2
- package/dist/_internal/server/jobs/core/onProductWrite.js +6 -6
- package/dist/_internal/server/jobs/core/onReviewWrite.js +4 -4
- package/dist/_internal/server/jobs/core/onScamReportCreate.js +4 -4
- package/dist/_internal/server/jobs/core/onScamReportRejected.js +3 -3
- package/dist/_internal/server/jobs/core/onScamReportVerified.js +3 -3
- package/dist/_internal/server/jobs/core/onStoreWrite.js +1 -1
- package/dist/_internal/server/jobs/core/onSupportTicketCreate.js +2 -2
- package/dist/_internal/server/jobs/core/onSupportTicketUpdate.js +2 -2
- package/dist/_internal/server/jobs/core/onUserBanChange.js +1 -1
- package/dist/_internal/server/jobs/core/pageViewPrune.js +2 -2
- package/dist/_internal/server/jobs/core/pageViewRollup.js +2 -2
- package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.js +4 -4
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +7 -7
- package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +6 -6
- package/dist/_internal/server/jobs/core/positionsReconcile.js +1 -1
- package/dist/_internal/server/jobs/core/priceIndexRollup.d.ts +47 -0
- package/dist/_internal/server/jobs/core/priceIndexRollup.js +304 -0
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.js +2 -2
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.js +3 -3
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.js +3 -3
- package/dist/_internal/server/jobs/core/productStatsSync.js +1 -1
- package/dist/_internal/server/jobs/core/promotions.js +2 -2
- package/dist/_internal/server/jobs/core/resetOtpVerification.js +3 -3
- package/dist/_internal/server/jobs/core/revalidateNotify.js +1 -1
- package/dist/_internal/server/jobs/core/revenueRollup.js +2 -2
- package/dist/_internal/server/jobs/core/storeAnalytics.js +3 -3
- package/dist/_internal/server/jobs/core/storeNameBackfill.js +3 -3
- package/dist/_internal/server/jobs/core/{testerSandboxCleanup.d.ts → testDataCleanup.d.ts} +3 -3
- package/dist/_internal/server/jobs/core/{testerSandboxCleanup.js → testDataCleanup.js} +5 -5
- package/dist/_internal/server/jobs/core/triggerEventRaffle.js +1 -1
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +9 -5
- package/dist/_internal/server/jobs/core/whatsappCatalogImport.js +3 -3
- package/dist/_internal/server/jobs/core/whatsappNotify.js +5 -5
- package/dist/_internal/server/jobs/core/wrapJobHandler.js +3 -3
- package/dist/_internal/server/jobs/handlers/_helpers.js +3 -3
- package/dist/_internal/server/jobs/handlers/adminAnalytics.js +1 -1
- package/dist/_internal/server/jobs/handlers/analyticsAlertEvaluate.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/analyticsAlertEvaluate.js +2 -0
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +1 -1
- package/dist/_internal/server/jobs/handlers/auctionSettlement.js +1 -1
- package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +1 -1
- package/dist/_internal/server/jobs/handlers/bundleStockSync.js +1 -1
- package/dist/_internal/server/jobs/handlers/cartPrune.js +1 -1
- package/dist/_internal/server/jobs/handlers/catalogueImageStalenessReminder.js +1 -1
- package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +1 -1
- package/dist/_internal/server/jobs/handlers/countersReconcile.js +1 -1
- package/dist/_internal/server/jobs/handlers/couponExpiry.js +1 -1
- package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +1 -1
- package/dist/_internal/server/jobs/handlers/dailyStatusDigest.js +1 -1
- package/dist/_internal/server/jobs/handlers/draftPrune.js +1 -1
- package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.js +1 -1
- package/dist/_internal/server/jobs/handlers/hardBanReinstatement.js +1 -1
- package/dist/_internal/server/jobs/handlers/index.d.ts +3 -1
- package/dist/_internal/server/jobs/handlers/index.js +54 -52
- package/dist/_internal/server/jobs/handlers/listingProcessor.js +1 -1
- package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +1 -1
- package/dist/_internal/server/jobs/handlers/messages.d.ts +5 -2
- package/dist/_internal/server/jobs/handlers/messages.js +5 -2
- package/dist/_internal/server/jobs/handlers/notificationPrune.js +1 -1
- package/dist/_internal/server/jobs/handlers/offerExpiry.js +1 -1
- package/dist/_internal/server/jobs/handlers/onCatalogueSubmittedForApproval.js +1 -1
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +1 -1
- package/dist/_internal/server/jobs/handlers/onJobCreated.js +1 -1
- package/dist/_internal/server/jobs/handlers/onOrderCreate.js +1 -1
- package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +1 -1
- package/dist/_internal/server/jobs/handlers/onPrizeDrawPaymentConfirmed.js +1 -1
- package/dist/_internal/server/jobs/handlers/onProductStockChange.js +1 -1
- package/dist/_internal/server/jobs/handlers/onProductWrite.js +1 -1
- package/dist/_internal/server/jobs/handlers/onReviewWrite.js +1 -1
- package/dist/_internal/server/jobs/handlers/onScamReportCreate.js +1 -1
- package/dist/_internal/server/jobs/handlers/onScamReportUpdate.js +2 -2
- package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.js +1 -1
- package/dist/_internal/server/jobs/handlers/onStoreWrite.js +1 -1
- package/dist/_internal/server/jobs/handlers/onSupportTicketCreate.js +1 -1
- package/dist/_internal/server/jobs/handlers/onSupportTicketUpdate.js +1 -1
- package/dist/_internal/server/jobs/handlers/onUserBanChange.js +1 -1
- package/dist/_internal/server/jobs/handlers/pageViewPrune.js +1 -1
- package/dist/_internal/server/jobs/handlers/pageViewRollup.js +1 -1
- package/dist/_internal/server/jobs/handlers/paymentReviewAutoApprove.js +1 -1
- package/dist/_internal/server/jobs/handlers/paymentWindowTimeout.js +1 -1
- package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +1 -1
- package/dist/_internal/server/jobs/handlers/positionsReconcile.js +1 -1
- package/dist/_internal/server/jobs/handlers/priceIndexRollup.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/priceIndexRollup.js +2 -0
- package/dist/_internal/server/jobs/handlers/prizeDrawExpiryReveal.js +1 -1
- package/dist/_internal/server/jobs/handlers/prizeDrawSoldOutReveal.js +1 -1
- package/dist/_internal/server/jobs/handlers/productStatsSync.js +1 -1
- package/dist/_internal/server/jobs/handlers/promotions.js +1 -1
- package/dist/_internal/server/jobs/handlers/revenueRollup.js +1 -1
- package/dist/_internal/server/jobs/handlers/storeAnalytics.js +1 -1
- package/dist/_internal/server/jobs/handlers/testDataCleanup.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/testDataCleanup.js +2 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +1 -1
- package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +1 -1
- package/dist/_internal/server/jobs/index.js +4 -4
- package/dist/_internal/server/jobs/runtime/adapters/firebase.js +3 -3
- package/dist/_internal/server/notifications/channel-health.js +3 -3
- package/dist/_internal/server/notifications/send-guard.js +5 -5
- package/dist/_internal/server/notifications/send-recorder.js +5 -5
- package/dist/_internal/shared/actions/action-registry.js +43 -0
- package/dist/_internal/shared/checkout/lanes.js +1 -1
- package/dist/_internal/shared/checkout/order-math.d.ts +113 -3
- package/dist/_internal/shared/checkout/order-math.js +195 -8
- package/dist/_internal/shared/checkout/rules/_defaults.js +1 -1
- package/dist/_internal/shared/checkout/rules/_limits.js +1 -1
- package/dist/_internal/shared/checkout/rules/_registry.js +12 -12
- package/dist/_internal/shared/checkout/rules/art.rule.js +1 -1
- package/dist/_internal/shared/checkout/rules/auction.rule.js +1 -1
- package/dist/_internal/shared/checkout/rules/classified.rule.js +1 -1
- package/dist/_internal/shared/checkout/rules/digital-code.rule.js +1 -1
- package/dist/_internal/shared/checkout/rules/index.js +13 -13
- package/dist/_internal/shared/checkout/rules/live.rule.js +1 -1
- package/dist/_internal/shared/checkout/rules/offer.rule.js +1 -1
- package/dist/_internal/shared/checkout/rules/preorder.rule.js +2 -2
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +3 -3
- package/dist/_internal/shared/checkout/rules/standard.rule.js +1 -1
- package/dist/_internal/shared/checkout/rules/stickers.rule.js +1 -1
- package/dist/_internal/shared/features/auctions/errors.js +1 -1
- package/dist/_internal/shared/features/blog/errors.js +1 -1
- package/dist/_internal/shared/features/blog/schema.js +2 -2
- package/dist/_internal/shared/features/brands/errors.js +1 -1
- package/dist/_internal/shared/features/brands/schema.js +2 -2
- package/dist/_internal/shared/features/cart/config.js +1 -1
- package/dist/_internal/shared/features/cart/errors.js +1 -1
- package/dist/_internal/shared/features/categories/bundle-schemas.js +2 -2
- package/dist/_internal/shared/features/categories/price-guidance.d.ts +110 -0
- package/dist/_internal/shared/features/categories/price-guidance.js +136 -0
- package/dist/_internal/shared/features/checkout/config.d.ts +3 -0
- package/dist/_internal/shared/features/checkout/config.js +4 -1
- package/dist/_internal/shared/features/emi/schedule.js +1 -1
- package/dist/_internal/shared/features/events/errors.js +1 -1
- package/dist/_internal/shared/features/events/schema.js +2 -2
- package/dist/_internal/shared/features/layout/index.js +1 -1
- package/dist/_internal/shared/features/notifications/action-url.js +1 -1
- package/dist/_internal/shared/features/offers/config.js +1 -1
- package/dist/_internal/shared/features/orders/errors.js +1 -1
- package/dist/_internal/shared/features/orders/schema.js +3 -3
- package/dist/_internal/shared/features/pre-orders/errors.js +1 -1
- package/dist/_internal/shared/features/products/errors.js +1 -1
- package/dist/_internal/shared/features/products/schema.js +3 -3
- package/dist/_internal/shared/features/promotions/errors.js +1 -1
- package/dist/_internal/shared/features/promotions/schema.d.ts +4 -4
- package/dist/_internal/shared/features/promotions/schema.js +1 -1
- package/dist/_internal/shared/features/returns/custody.d.ts +99 -0
- package/dist/_internal/shared/features/returns/custody.js +172 -0
- package/dist/_internal/shared/features/returns/destination.d.ts +172 -0
- package/dist/_internal/shared/features/returns/destination.js +158 -0
- package/dist/_internal/shared/features/reviews/errors.js +1 -1
- package/dist/_internal/shared/features/reviews/schema.js +2 -2
- package/dist/_internal/shared/features/shipping/courier-rating.d.ts +145 -0
- package/dist/_internal/shared/features/shipping/courier-rating.js +114 -0
- package/dist/_internal/shared/features/shipping/mode.d.ts +112 -0
- package/dist/_internal/shared/features/shipping/mode.js +108 -0
- package/dist/_internal/shared/features/shipping/parcel.d.ts +115 -0
- package/dist/_internal/shared/features/shipping/parcel.js +120 -0
- package/dist/_internal/shared/features/shipping/protections.d.ts +221 -0
- package/dist/_internal/shared/features/shipping/protections.js +213 -0
- package/dist/_internal/shared/features/site-settings/fees.d.ts +3 -0
- package/dist/_internal/shared/features/site-settings/fees.js +3 -0
- package/dist/_internal/shared/features/site-settings/gst-registration.d.ts +90 -0
- package/dist/_internal/shared/features/site-settings/gst-registration.js +126 -0
- package/dist/_internal/shared/features/wishlist/errors.js +1 -1
- package/dist/_internal/shared/fees/calculator.d.ts +129 -0
- package/dist/_internal/shared/fees/calculator.js +155 -1
- package/dist/_internal/shared/history/history.js +2 -2
- package/dist/_internal/shared/history/index.js +2 -2
- package/dist/_internal/shared/index.js +2 -2
- package/dist/_internal/shared/listing-types/_registry.js +12 -12
- package/dist/_internal/shared/listing-types/action-tracker.js +1 -1
- package/dist/_internal/shared/listing-types/art/config.d.ts +0 -6
- package/dist/_internal/shared/listing-types/art/config.js +4 -4
- package/dist/_internal/shared/listing-types/auction/config.js +6 -6
- package/dist/_internal/shared/listing-types/availability.js +1 -1
- package/dist/_internal/shared/listing-types/cart-shipping.js +1 -1
- package/dist/_internal/shared/listing-types/classified/config.d.ts +0 -6
- package/dist/_internal/shared/listing-types/classified/config.js +5 -5
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +0 -6
- package/dist/_internal/shared/listing-types/digital-code/config.js +6 -6
- package/dist/_internal/shared/listing-types/live/config.d.ts +0 -6
- package/dist/_internal/shared/listing-types/live/config.js +5 -5
- package/dist/_internal/shared/listing-types/pre-order/config.js +6 -6
- package/dist/_internal/shared/listing-types/prize-draw/config.js +5 -5
- package/dist/_internal/shared/listing-types/standard/config.d.ts +0 -6
- package/dist/_internal/shared/listing-types/standard/config.js +4 -4
- package/dist/_internal/shared/listing-types/stickers/config.d.ts +0 -6
- package/dist/_internal/shared/listing-types/stickers/config.js +4 -4
- package/dist/_internal/shared/search/alias-variants.d.ts +58 -0
- package/dist/_internal/shared/search/alias-variants.js +141 -0
- package/dist/_internal/shared/templating/placeholders.d.ts +70 -0
- package/dist/_internal/shared/templating/placeholders.js +73 -0
- package/dist/_internal/shared/tokens/index.js +2 -2
- package/dist/_internal/shared/types/action-error-reporter.js +1 -1
- package/dist/_internal/shared/types/action-result.js +4 -4
- package/dist/_internal/shared/types/base-document.d.ts +19 -0
- package/dist/cli/index.js +1 -1
- package/dist/client/api/surface-error.js +7 -7
- package/dist/client/api/useApiMutation.js +2 -2
- package/dist/client/api/useApiQuery.js +4 -4
- package/dist/client/observability/installClientErrorReporter.js +1 -1
- package/dist/client/observability/reportClientError.js +2 -2
- package/dist/client-entry.js +5 -5
- package/dist/client.d.ts +6 -0
- package/dist/client.js +336 -331
- package/dist/constants/api-endpoints.d.ts +58 -0
- package/dist/constants/api-endpoints.js +31 -0
- package/dist/constants/cache-invalidation.js +1 -1
- package/dist/constants/field-names.d.ts +2 -0
- package/dist/constants/field-names.js +10 -0
- package/dist/constants/index.js +10 -10
- package/dist/constants/notification-types.js +1 -1
- package/dist/contracts/index.js +12 -12
- package/dist/contracts/realtime-session.js +2 -2
- package/dist/core/EventBus.js +2 -2
- package/dist/core/Logger.js +2 -2
- package/dist/core/Queue.js +1 -1
- package/dist/core/StorageManager.js +2 -2
- package/dist/core/browser.js +9 -9
- package/dist/core/components/SyncManagerMount.js +2 -2
- package/dist/core/contact-submissions.repository.js +1 -1
- package/dist/core/copilot-log.repository.js +1 -1
- package/dist/core/hooks/useSiteSettings.js +2 -2
- package/dist/core/hooks/useSyncManager.js +3 -3
- package/dist/core/index.js +17 -17
- package/dist/core/integration-keys.js +2 -2
- package/dist/core/mutation-events.js +1 -1
- package/dist/core/newsletter-actions.js +2 -2
- package/dist/core/newsletter.repository.js +2 -2
- package/dist/core/server-action.js +5 -5
- package/dist/core/site-config.js +1 -1
- package/dist/core/unit-of-work.js +20 -20
- package/dist/errors/api-error.js +1 -1
- package/dist/errors/authentication-error.js +1 -1
- package/dist/errors/authorization-error.js +1 -1
- package/dist/errors/conflict-error.js +1 -1
- package/dist/errors/database-error.js +2 -2
- package/dist/errors/describe-cause.js +1 -1
- package/dist/errors/error-display-map.js +3 -3
- package/dist/errors/error-envelope.js +1 -1
- package/dist/errors/error-handler.js +3 -3
- package/dist/errors/error-mapping.js +7 -7
- package/dist/errors/index.js +18 -18
- package/dist/errors/normalize.js +2 -2
- package/dist/errors/not-found-error.js +1 -1
- package/dist/errors/payment-provider-unreachable.js +1 -1
- package/dist/errors/safe-read.js +2 -2
- package/dist/errors/validation-error.js +1 -1
- package/dist/features/about/components/AboutView.js +2 -2
- package/dist/features/about/components/DeveloperView.js +6 -6
- package/dist/features/about/components/FAQPageView.js +5 -5
- package/dist/features/about/components/FeesView.js +4 -4
- package/dist/features/about/components/HelpPageView.js +5 -5
- package/dist/features/about/components/HowAuctionsWorkView.js +4 -4
- package/dist/features/about/components/HowCheckoutWorksView.js +4 -4
- package/dist/features/about/components/HowEmiWorksView.js +5 -5
- package/dist/features/about/components/HowOffersWorkView.js +4 -4
- package/dist/features/about/components/HowOrdersWorkView.js +4 -4
- package/dist/features/about/components/HowPayoutsWorkView.js +4 -4
- package/dist/features/about/components/HowPreOrdersWorkView.js +4 -4
- package/dist/features/about/components/HowReviewsWorkView.js +4 -4
- package/dist/features/about/components/PolicyPageView.js +7 -7
- package/dist/features/about/components/PublicProfileView.js +15 -15
- package/dist/features/about/components/SecurityPrivacyView.js +4 -4
- package/dist/features/about/components/ShippingPolicyView.js +4 -4
- package/dist/features/about/components/TrackOrderView.js +5 -5
- package/dist/features/about/components/UnauthorizedView.js +4 -4
- package/dist/features/about/index.js +19 -19
- package/dist/features/about/schemas/index.js +1 -1
- package/dist/features/account/actions/address-actions.js +2 -2
- package/dist/features/account/actions/index.js +1 -1
- package/dist/features/account/api/[userId]/addresses/route.js +2 -2
- package/dist/features/account/api/[userId]/route.js +2 -2
- package/dist/features/account/columns/index.js +1 -1
- package/dist/features/account/components/AddressBook.js +1 -1
- package/dist/features/account/components/AddressFilters.js +3 -3
- package/dist/features/account/components/AddressForm.js +9 -9
- package/dist/features/account/components/AddressInlineSelect.js +4 -4
- package/dist/features/account/components/AddressSelectorCreate.js +2 -2
- package/dist/features/account/components/AddressesIndexListing.js +6 -6
- package/dist/features/account/components/BecomeSellerView.js +1 -1
- package/dist/features/account/components/BuyerAccountGuideView.js +3 -3
- package/dist/features/account/components/BuyerAuctionsGuideView.js +2 -2
- package/dist/features/account/components/BuyerOrdersGuideView.js +2 -2
- package/dist/features/account/components/BuyerShoppingGuideView.js +2 -2
- package/dist/features/account/components/LinkedAccountsSection.js +1 -1
- package/dist/features/account/components/NotificationBell.js +6 -6
- package/dist/features/account/components/NotificationPreferencesPanel.js +4 -4
- package/dist/features/account/components/OrderDetailView.js +1 -1
- package/dist/features/account/components/ProfileView.js +1 -1
- package/dist/features/account/components/UserAccountHubView.js +1 -1
- package/dist/features/account/components/UserAddressesView.js +1 -1
- package/dist/features/account/components/UserBidsView.js +8 -8
- package/dist/features/account/components/UserNotificationsView.js +1 -1
- package/dist/features/account/components/UserOffersPanel.js +5 -5
- package/dist/features/account/components/UserOrderTrackView.js +1 -1
- package/dist/features/account/components/UserOrdersView.js +10 -10
- package/dist/features/account/components/UserReturnsView.js +7 -7
- package/dist/features/account/components/UserSettingsView.js +1 -1
- package/dist/features/account/components/UserSidebar.js +9 -9
- package/dist/features/account/components/UserSupportView.js +11 -11
- package/dist/features/account/components/index.js +20 -20
- package/dist/features/account/hooks/useAccount.js +2 -2
- package/dist/features/account/hooks/useAddressSelector.js +2 -2
- package/dist/features/account/hooks/useAddresses.js +2 -2
- package/dist/features/account/hooks/useCollapsedSections.js +2 -2
- package/dist/features/account/hooks/useDataViewMode.js +1 -1
- package/dist/features/account/hooks/useNotifications.js +2 -2
- package/dist/features/account/hooks/useProfile.js +3 -3
- package/dist/features/account/hooks/useProfileStats.js +2 -2
- package/dist/features/account/hooks/usePublicProfile.d.ts +1 -1
- package/dist/features/account/hooks/usePublicProfile.js +3 -3
- package/dist/features/account/index.js +13 -13
- package/dist/features/account/schemas/firestore.js +1 -1
- package/dist/features/account/schemas/index.js +2 -2
- package/dist/features/account/server.js +3 -3
- package/dist/features/addresses/components/AddressLocationFields.js +5 -5
- package/dist/features/addresses/hooks/usePostalLookup.js +2 -2
- package/dist/features/addresses/index.js +2 -2
- package/dist/features/addresses/repository/addresses.repository.js +6 -6
- package/dist/features/addresses/schemas/address-form.js +2 -2
- package/dist/features/addresses/schemas/index.js +3 -3
- package/dist/features/addresses/server.js +2 -2
- package/dist/features/admin/actions/admin-actions.d.ts +2 -2
- package/dist/features/admin/actions/admin-actions.js +18 -18
- package/dist/features/admin/actions/admin-coupon-actions.js +5 -5
- package/dist/features/admin/actions/admin-read-actions.d.ts +4 -4
- package/dist/features/admin/actions/admin-read-actions.js +12 -12
- package/dist/features/admin/actions/index.js +5 -5
- package/dist/features/admin/actions/notification-actions.js +13 -13
- package/dist/features/admin/actions/site-settings-actions.js +2 -2
- package/dist/features/admin/api/bids/route.js +2 -2
- package/dist/features/admin/api/coupons/route.js +2 -2
- package/dist/features/admin/api/products/route.js +2 -2
- package/dist/features/admin/api/reviews/route.js +2 -2
- package/dist/features/admin/components/AdminActionIndexView.js +4 -4
- package/dist/features/admin/components/AdminAdEditorView.js +9 -9
- package/dist/features/admin/components/AdminAddressBookView.js +4 -4
- package/dist/features/admin/components/AdminAddressClustersView.js +3 -3
- package/dist/features/admin/components/AdminAddressEditorView.js +13 -13
- package/dist/features/admin/components/AdminAddressesView.js +9 -9
- package/dist/features/admin/components/AdminAdsView.js +8 -8
- package/dist/features/admin/components/AdminAllEventEntriesView.js +7 -7
- package/dist/features/admin/components/AdminAnalyticsGuideView.js +2 -2
- package/dist/features/admin/components/AdminAnalyticsView.js +7 -7
- package/dist/features/admin/components/AdminArtView.js +4 -4
- package/dist/features/admin/components/AdminAuditLogView.js +6 -6
- package/dist/features/admin/components/AdminBidsView.js +12 -12
- package/dist/features/admin/components/AdminBlogEditorView.js +8 -8
- package/dist/features/admin/components/AdminBlogView.js +7 -7
- package/dist/features/admin/components/AdminBrandEditorView.js +11 -11
- package/dist/features/admin/components/AdminBrandsView.js +7 -7
- package/dist/features/admin/components/AdminBundleEditorView.js +13 -13
- package/dist/features/admin/components/AdminBundlesView.js +8 -8
- package/dist/features/admin/components/AdminCarouselEditorView.js +8 -8
- package/dist/features/admin/components/AdminCarouselGroupEditorView.js +6 -6
- package/dist/features/admin/components/AdminCarouselView.js +11 -11
- package/dist/features/admin/components/AdminCartsView.js +5 -5
- package/dist/features/admin/components/AdminCatalogGuideView.js +2 -2
- package/dist/features/admin/components/AdminCategoriesView.js +6 -6
- package/dist/features/admin/components/AdminCategoryEditorView.js +274 -8
- package/dist/features/admin/components/AdminClassifiedView.js +4 -4
- package/dist/features/admin/components/AdminContactEditorView.js +3 -3
- package/dist/features/admin/components/AdminContactView.js +10 -10
- package/dist/features/admin/components/AdminContentGuideView.js +2 -2
- package/dist/features/admin/components/AdminCouponEditorView.js +12 -12
- package/dist/features/admin/components/AdminCouponsView.js +10 -10
- package/dist/features/admin/components/AdminDashboardView.js +5 -5
- package/dist/features/admin/components/AdminDigitalCodesView.js +4 -4
- package/dist/features/admin/components/AdminEmployeeEditorView.js +10 -10
- package/dist/features/admin/components/AdminFaqEditorView.js +6 -6
- package/dist/features/admin/components/AdminFaqsView.js +6 -6
- package/dist/features/admin/components/AdminFeatureEditorView.js +9 -9
- package/dist/features/admin/components/AdminFeaturesView.js +8 -8
- package/dist/features/admin/components/AdminFulfillmentView.js +9 -9
- package/dist/features/admin/components/AdminGroupedListingsView.js +9 -9
- package/dist/features/admin/components/AdminGuideHubView.js +2 -2
- package/dist/features/admin/components/AdminHistoryView.js +6 -6
- package/dist/features/admin/components/AdminLiveView.js +4 -4
- package/dist/features/admin/components/AdminMediaView.js +5 -5
- package/dist/features/admin/components/AdminNavEditorView.js +7 -7
- package/dist/features/admin/components/AdminNavigationView.js +5 -5
- package/dist/features/admin/components/AdminNewsletterView.js +9 -9
- package/dist/features/admin/components/AdminNotificationsView.js +10 -10
- package/dist/features/admin/components/AdminOffersView.js +13 -13
- package/dist/features/admin/components/AdminOrderEditorView.js +15 -15
- package/dist/features/admin/components/AdminOrdersGuideView.js +2 -2
- package/dist/features/admin/components/AdminOrdersView.js +13 -13
- package/dist/features/admin/components/AdminPaymentClustersView.js +3 -3
- package/dist/features/admin/components/AdminPaymentMethodsView.js +8 -8
- package/dist/features/admin/components/AdminPaymentsGuideView.js +2 -2
- package/dist/features/admin/components/AdminPayoutMarkPaidModal.js +7 -7
- package/dist/features/admin/components/AdminPayoutsView.js +12 -12
- package/dist/features/admin/components/AdminPrizeDrawsView.js +9 -9
- package/dist/features/admin/components/AdminProductEditorView.js +21 -14
- package/dist/features/admin/components/AdminProductsView.js +93 -22
- package/dist/features/admin/components/AdminReturnRequestsView.js +7 -7
- package/dist/features/admin/components/AdminReviewsView.js +9 -9
- package/dist/features/admin/components/AdminScammerEditorView.js +6 -6
- package/dist/features/admin/components/AdminScammersView.js +10 -10
- package/dist/features/admin/components/AdminSectionsView.js +15 -15
- package/dist/features/admin/components/AdminSessionsManager.js +1 -1
- package/dist/features/admin/components/AdminSessionsView.js +6 -6
- package/dist/features/admin/components/AdminSidebar.js +8 -8
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +2 -2
- package/dist/features/admin/components/AdminSiteSettingsView.js +36 -17
- package/dist/features/admin/components/AdminStickersView.js +4 -4
- package/dist/features/admin/components/AdminStoreAddressesView.js +4 -4
- package/dist/features/admin/components/AdminStoreEditorView.js +7 -7
- package/dist/features/admin/components/AdminStoresGuideView.js +2 -2
- package/dist/features/admin/components/AdminStoresView.js +11 -11
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +6 -6
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +7 -7
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +9 -9
- package/dist/features/admin/components/AdminSupportTicketsView.js +9 -9
- package/dist/features/admin/components/AdminTaxCodeEditorView.d.ts +10 -0
- package/dist/features/admin/components/AdminTaxCodeEditorView.js +160 -0
- package/dist/features/admin/components/AdminTaxCodesView.d.ts +13 -0
- package/dist/features/admin/components/AdminTaxCodesView.js +86 -0
- package/dist/features/admin/components/AdminTeamGuideView.js +1 -1
- package/dist/features/admin/components/AdminTeamView.js +8 -8
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +10 -10
- package/dist/features/admin/components/AdminTesterChecklistView.js +9 -9
- package/dist/features/admin/components/AdminTopBar.js +1 -1
- package/dist/features/admin/components/AdminTrustGuideView.js +2 -2
- package/dist/features/admin/components/AdminUserEditorView.js +8 -8
- package/dist/features/admin/components/AdminUsersGuideView.js +2 -2
- package/dist/features/admin/components/AdminUsersView.js +15 -15
- package/dist/features/admin/components/AdminViewCards.js +3 -3
- package/dist/features/admin/components/AdminWhatsAppGuideView.js +2 -2
- package/dist/features/admin/components/AdminWishlistsView.js +6 -6
- package/dist/features/admin/components/BrandQuickCreateForm.js +8 -8
- package/dist/features/admin/components/CategoryQuickCreateForm.js +8 -8
- package/dist/features/admin/components/DashboardStats.js +4 -4
- package/dist/features/admin/components/DataListingView.js +7 -7
- package/dist/features/admin/components/DataTable.js +5 -5
- package/dist/features/admin/components/DemoSeedView.js +1 -1
- package/dist/features/admin/components/DrawerFormFooter.js +1 -1
- package/dist/features/admin/components/QuickEditMenu.js +4 -4
- package/dist/features/admin/components/ViewAuditLogEntryModal.js +1 -1
- package/dist/features/admin/components/ViewNotificationModal.js +2 -2
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +2 -2
- package/dist/features/admin/components/analytics/AdminPageViewsReportView.js +4 -4
- package/dist/features/admin/components/analytics/AdminStatCard.js +2 -2
- package/dist/features/admin/components/analytics/AdminTopProductsTable.js +2 -2
- package/dist/features/admin/components/analytics/index.js +3 -3
- package/dist/features/admin/components/index.js +94 -94
- package/dist/features/admin/components/sections/adminSectionsBuildParse.js +1 -1
- package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +50 -1
- package/dist/features/admin/components/sections/adminSectionsTypes.js +30 -11
- package/dist/features/admin/hooks/useAdmin.js +2 -2
- package/dist/features/admin/hooks/useAdminListing.js +5 -5
- package/dist/features/admin/hooks/useAdminListingData.js +2 -2
- package/dist/features/admin/hooks/useAdminSectionsListing.js +2 -2
- package/dist/features/admin/index.js +7 -7
- package/dist/features/admin/repository/analytics-rollup.repository.js +1 -1
- package/dist/features/admin/repository/notification.repository.js +5 -5
- package/dist/features/admin/repository/site-settings.repository.js +7 -7
- package/dist/features/admin/schemas/admin-editor-forms.js +3 -3
- package/dist/features/admin/schemas/admin-ops-forms.js +3 -3
- package/dist/features/admin/schemas/admin-user-form.d.ts +4 -4
- package/dist/features/admin/schemas/admin-user-form.js +1 -1
- package/dist/features/admin/schemas/firestore.d.ts +29 -0
- package/dist/features/admin/schemas/firestore.js +8 -2
- package/dist/features/admin/schemas/homepage-section-form.js +2 -2
- package/dist/features/admin/schemas/index.js +1 -1
- package/dist/features/admin/schemas/nav-item-form.js +1 -1
- package/dist/features/admin/schemas/small-forms.js +1 -1
- package/dist/features/admin/server.js +8 -8
- package/dist/features/admin/types/index.js +1 -1
- package/dist/features/admin/utils/checkActionAllowed.js +4 -4
- package/dist/features/admin/utils/getDisabledRoutes.js +1 -1
- package/dist/features/admin/utils/getSiteSettingsGlobal.js +1 -1
- package/dist/features/analytics/components/PageViewTracker.js +3 -3
- package/dist/features/analytics/repository/page-views.repository.js +3 -3
- package/dist/features/auctions/actions/bid-actions.js +23 -23
- package/dist/features/auctions/actions/index.js +1 -1
- package/dist/features/auctions/api/route.js +2 -2
- package/dist/features/auctions/columns/index.js +1 -1
- package/dist/features/auctions/components/AuctionBidsTable.js +4 -4
- package/dist/features/auctions/components/AuctionBottomActions.js +9 -9
- package/dist/features/auctions/components/AuctionDetailPageView.js +35 -35
- package/dist/features/auctions/components/AuctionFilters.js +4 -4
- package/dist/features/auctions/components/AuctionLiveStatusBadge.js +2 -2
- package/dist/features/auctions/components/AuctionsListView.js +4 -4
- package/dist/features/auctions/components/CollapsibleBidHistory.js +4 -4
- package/dist/features/auctions/components/LiveBidPrice.js +3 -3
- package/dist/features/auctions/components/LiveMinIncrement.js +5 -5
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +13 -13
- package/dist/features/auctions/components/MarketplaceAuctionGrid.js +2 -2
- package/dist/features/auctions/components/PlaceBidFormClient.js +17 -17
- package/dist/features/auctions/components/index.js +5 -5
- package/dist/features/auctions/hooks/useAuctions.js +3 -3
- package/dist/features/auctions/hooks/useBids.js +2 -2
- package/dist/features/auctions/hooks/useLiveAuctionBid.js +1 -1
- package/dist/features/auctions/hooks/usePlaceBid.js +2 -2
- package/dist/features/auctions/hooks/useRealtimeBids.js +3 -3
- package/dist/features/auctions/index.js +8 -8
- package/dist/features/auctions/repository/bid.repository.js +7 -7
- package/dist/features/auctions/schemas/firestore.js +1 -1
- package/dist/features/auctions/schemas/index.js +2 -2
- package/dist/features/auctions/server.js +3 -3
- package/dist/features/audit-log/repository/audit-log.repository.js +2 -2
- package/dist/features/auth/actions/index.js +1 -1
- package/dist/features/auth/actions/profile-actions.js +8 -8
- package/dist/features/auth/actions/user-slug.js +4 -4
- package/dist/features/auth/api/route.js +2 -2
- package/dist/features/auth/auth-helpers.js +2 -2
- package/dist/features/auth/checkout-value-otp.js +3 -3
- package/dist/features/auth/components/AuthStatusPanel.js +2 -2
- package/dist/features/auth/components/ForgotPasswordView.js +7 -7
- package/dist/features/auth/components/Guards.js +2 -2
- package/dist/features/auth/components/LoginForm.js +8 -8
- package/dist/features/auth/components/OAuthLoadingView.js +1 -1
- package/dist/features/auth/components/RegisterForm.js +9 -9
- package/dist/features/auth/components/ResetPasswordView.js +6 -6
- package/dist/features/auth/components/SocialAuthButtons.js +1 -1
- package/dist/features/auth/components/VerifyEmailView.js +2 -2
- package/dist/features/auth/components/index.js +9 -9
- package/dist/features/auth/hooks/useAuth.js +7 -7
- package/dist/features/auth/hooks/useAuthEvent.js +2 -2
- package/dist/features/auth/hooks/useLogout.js +2 -2
- package/dist/features/auth/hooks/useRBAC.js +3 -3
- package/dist/features/auth/index.js +11 -11
- package/dist/features/auth/repository/index.js +4 -4
- package/dist/features/auth/repository/session.repository.js +7 -7
- package/dist/features/auth/repository/sms-counter.repository.js +2 -2
- package/dist/features/auth/repository/token.repository.js +6 -6
- package/dist/features/auth/repository/user.repository.js +5 -5
- package/dist/features/auth/schemas/firestore.d.ts +0 -1
- package/dist/features/auth/schemas/index.js +3 -3
- package/dist/features/auth/server/checkSoftBan.js +1 -1
- package/dist/features/auth/server.js +5 -5
- package/dist/features/auth/token-store.js +3 -3
- package/dist/features/before-after/api/[id]/route.js +2 -2
- package/dist/features/before-after/api/route.js +2 -2
- package/dist/features/before-after/columns/index.js +1 -1
- package/dist/features/before-after/components/BeforeAfterGallery.js +2 -2
- package/dist/features/before-after/components/BeforeAfterSlider.js +1 -1
- package/dist/features/before-after/components/index.js +2 -2
- package/dist/features/before-after/hooks/useBeforeAfter.js +2 -2
- package/dist/features/before-after/index.js +6 -6
- package/dist/features/blog/actions/blog-actions.js +6 -6
- package/dist/features/blog/actions/index.js +1 -1
- package/dist/features/blog/api/[slug]/route.js +3 -3
- package/dist/features/blog/api/route.js +3 -3
- package/dist/features/blog/columns/index.js +1 -1
- package/dist/features/blog/components/BlogFeaturedCard.js +6 -6
- package/dist/features/blog/components/BlogFilters.js +7 -7
- package/dist/features/blog/components/BlogIndexListing.js +9 -9
- package/dist/features/blog/components/BlogIndexPageView.js +6 -6
- package/dist/features/blog/components/BlogListView.js +6 -6
- package/dist/features/blog/components/BlogPostForm.js +6 -6
- package/dist/features/blog/components/BlogPostView.js +10 -10
- package/dist/features/blog/components/index.js +6 -6
- package/dist/features/blog/hooks/useBlog.js +2 -2
- package/dist/features/blog/index.js +6 -6
- package/dist/features/blog/repository/blog.repository.js +8 -8
- package/dist/features/blog/schemas/blog-form.js +2 -2
- package/dist/features/blog/schemas/firestore.d.ts +2 -2
- package/dist/features/blog/schemas/firestore.js +1 -1
- package/dist/features/blog/schemas/index.js +4 -4
- package/dist/features/blog/server.js +4 -4
- package/dist/features/cart/actions/cart-actions.js +16 -16
- package/dist/features/cart/actions/index.js +1 -1
- package/dist/features/cart/api/[id]/route.js +2 -2
- package/dist/features/cart/api/route.js +2 -2
- package/dist/features/cart/columns/index.js +2 -2
- package/dist/features/cart/components/CartDrawer.js +6 -6
- package/dist/features/cart/components/CartGroupLineRow.js +5 -5
- package/dist/features/cart/components/CartPriceBreakdown.d.ts +6 -0
- package/dist/features/cart/components/CartPriceBreakdown.js +3 -3
- package/dist/features/cart/components/CartSummary.js +1 -1
- package/dist/features/cart/components/CartView.js +2 -2
- package/dist/features/cart/components/CheckoutAddressStep.js +1 -1
- package/dist/features/cart/components/CheckoutSuccessView.js +1 -1
- package/dist/features/cart/components/CheckoutView.js +2 -2
- package/dist/features/cart/components/ShippingPicker.js +3 -3
- package/dist/features/cart/components/StoreAddonsPicker.d.ts +35 -1
- package/dist/features/cart/components/StoreAddonsPicker.js +39 -11
- package/dist/features/cart/components/index.js +10 -10
- package/dist/features/cart/hooks/useAddToCart.js +8 -8
- package/dist/features/cart/hooks/useCart.js +3 -3
- package/dist/features/cart/hooks/useCartCount.js +4 -4
- package/dist/features/cart/hooks/useCartQuery.js +1 -1
- package/dist/features/cart/hooks/useCheckoutReadQueries.js +1 -1
- package/dist/features/cart/hooks/useGuestCart.js +1 -1
- package/dist/features/cart/hooks/useGuestCartMerge.js +4 -4
- package/dist/features/cart/hooks/useOrder.js +2 -2
- package/dist/features/cart/index.js +15 -15
- package/dist/features/cart/repository/cart.repository.js +7 -6
- package/dist/features/cart/schemas/firestore.d.ts +10 -0
- package/dist/features/cart/schemas/index.d.ts +2 -2
- package/dist/features/cart/schemas/index.js +2 -2
- package/dist/features/cart/server.js +2 -2
- package/dist/features/cart/utils/guest-cart.js +2 -2
- package/dist/features/cart/utils/line-total.js +1 -1
- package/dist/features/cart/utils/pending-ops.js +1 -1
- package/dist/features/catalogue/actions/approve-catalogue-listing.js +5 -5
- package/dist/features/catalogue/actions/list-from-catalogue.js +6 -6
- package/dist/features/catalogue/actions/submit-for-approval.js +4 -4
- package/dist/features/catalogue/components/AdminCatalogueApprovalsView.js +7 -7
- package/dist/features/catalogue/components/CatalogueItemEditorView.js +26 -15
- package/dist/features/catalogue/components/PublicCatalogueItemDetailView.js +7 -7
- package/dist/features/catalogue/components/PublicCatalogueView.js +6 -6
- package/dist/features/catalogue/components/UserCatalogueView.js +5 -5
- package/dist/features/catalogue/index.js +10 -10
- package/dist/features/catalogue/repository/catalogue.repository.js +4 -4
- package/dist/features/catalogue/schemas/firestore.js +1 -1
- package/dist/features/catalogue/schemas/index.js +2 -2
- package/dist/features/catalogue/schemas/validation.js +1 -1
- package/dist/features/catalogue/utils/freshness.js +2 -2
- package/dist/features/catalogue/utils/product-from-item.js +1 -1
- package/dist/features/categories/actions/category-actions.js +3 -3
- package/dist/features/categories/actions/index.js +1 -1
- package/dist/features/categories/api/[id]/description-template/route.d.ts +45 -0
- package/dist/features/categories/api/[id]/description-template/route.js +252 -0
- package/dist/features/categories/api/[id]/route.js +4 -4
- package/dist/features/categories/api/route.js +160 -15
- package/dist/features/categories/columns/index.js +1 -1
- package/dist/features/categories/components/BrandDetailPageView.js +60 -18
- package/dist/features/categories/components/BrandDetailTabs.js +9 -9
- package/dist/features/categories/components/BreadcrumbTrail.js +2 -2
- package/dist/features/categories/components/BundleBuyNowCta.js +7 -7
- package/dist/features/categories/components/BundleCollage.js +7 -7
- package/dist/features/categories/components/BundleDetailView.js +10 -10
- package/dist/features/categories/components/BundleDynamicRuleEditor.js +5 -5
- package/dist/features/categories/components/BundleItemsPicker.js +4 -4
- package/dist/features/categories/components/BundlesListView.js +6 -6
- package/dist/features/categories/components/CategoriesIndexListing.js +9 -9
- package/dist/features/categories/components/CategoriesIndexPageView.js +3 -3
- package/dist/features/categories/components/CategoryBundlesListing.js +6 -6
- package/dist/features/categories/components/CategoryDetailPageView.js +160 -27
- package/dist/features/categories/components/CategoryDetailTabs.js +10 -10
- package/dist/features/categories/components/CategoryFilters.js +4 -4
- package/dist/features/categories/components/CategoryForm.js +6 -6
- package/dist/features/categories/components/CategoryGrid.js +4 -4
- package/dist/features/categories/components/CategoryHighlightsAndFaqSection.js +2 -2
- package/dist/features/categories/components/CategoryProductsListing.js +17 -17
- package/dist/features/categories/components/CategoryProductsView.js +3 -3
- package/dist/features/categories/components/CategorySelectorCreate.js +7 -7
- package/dist/features/categories/components/CategorySortSelect.js +2 -2
- package/dist/features/categories/components/CategoryStoresListing.js +3 -3
- package/dist/features/categories/components/CategoryTableColumns.js +3 -3
- package/dist/features/categories/components/CategoryTemplatePicker.d.ts +65 -0
- package/dist/features/categories/components/CategoryTemplatePicker.js +170 -0
- package/dist/features/categories/components/CategoryTree.js +1 -1
- package/dist/features/categories/components/ConcernCard.js +2 -2
- package/dist/features/categories/components/ConcernGrid.js +2 -2
- package/dist/features/categories/components/index.js +20 -20
- package/dist/features/categories/constants/listing-categories.d.ts +17 -0
- package/dist/features/categories/constants/listing-categories.js +53 -0
- package/dist/features/categories/hooks/useCategories.js +3 -3
- package/dist/features/categories/hooks/useCategorySelector.js +2 -2
- package/dist/features/categories/hooks/useCategoryTree.js +30 -4
- package/dist/features/categories/index.js +7 -7
- package/dist/features/categories/repository/categories.repository.d.ts +62 -11
- package/dist/features/categories/repository/categories.repository.js +183 -40
- package/dist/features/categories/repository/price-index.repository.d.ts +184 -0
- package/dist/features/categories/repository/price-index.repository.js +115 -0
- package/dist/features/categories/schemas/bundle-form.js +3 -3
- package/dist/features/categories/schemas/category-content.d.ts +206 -0
- package/dist/features/categories/schemas/category-content.js +28 -0
- package/dist/features/categories/schemas/firestore.d.ts +74 -5
- package/dist/features/categories/schemas/firestore.js +76 -5
- package/dist/features/categories/schemas/index.d.ts +1047 -0
- package/dist/features/categories/schemas/index.js +98 -2
- package/dist/features/categories/server.d.ts +1 -0
- package/dist/features/categories/server.js +11 -4
- package/dist/features/categories/types/index.d.ts +9 -0
- package/dist/features/checkout/actions/checkout-value-otp-actions.js +13 -13
- package/dist/features/checkout/actions/index.js +1 -1
- package/dist/features/checkout/components/CheckoutStepper.js +1 -1
- package/dist/features/checkout/components/index.js +1 -1
- package/dist/features/checkout/index.js +4 -4
- package/dist/features/checkout/repository/failed-checkout.repository.js +2 -2
- package/dist/features/checkout/schemas/index.js +1 -1
- package/dist/features/checkout/server.js +2 -2
- package/dist/features/classified/components/ClassifiedDetailPageView.js +22 -22
- package/dist/features/classified/components/ClassifiedFilters.js +4 -4
- package/dist/features/classified/components/index.js +1 -1
- package/dist/features/collections/api/[slug]/route.js +2 -2
- package/dist/features/collections/api/route.js +2 -2
- package/dist/features/collections/columns/index.js +1 -1
- package/dist/features/collections/components/CollectionCard.js +3 -3
- package/dist/features/collections/components/index.js +1 -1
- package/dist/features/collections/hooks/useCollections.js +2 -2
- package/dist/features/collections/index.js +6 -6
- package/dist/features/consultation/api/[id]/route.js +2 -2
- package/dist/features/consultation/api/route.js +2 -2
- package/dist/features/consultation/columns/index.js +1 -1
- package/dist/features/consultation/components/ConsultationForm.js +6 -6
- package/dist/features/consultation/components/index.js +1 -1
- package/dist/features/consultation/hooks/useBookConsultation.js +2 -2
- package/dist/features/consultation/index.js +6 -6
- package/dist/features/consultation/schemas/index.d.ts +2 -2
- package/dist/features/consultation/schemas/index.js +1 -1
- package/dist/features/consultation/server.js +1 -1
- package/dist/features/contact/components/ContactForm.js +4 -4
- package/dist/features/contact/components/ContactInfoSidebar.js +1 -1
- package/dist/features/contact/components/ContactPageView.js +6 -6
- package/dist/features/contact/components/index.js +3 -3
- package/dist/features/contact/email.js +9 -9
- package/dist/features/contact/index.js +2 -2
- package/dist/features/contact/schemas/inquiry-forms.js +1 -1
- package/dist/features/contact/server.js +1 -1
- package/dist/features/copilot/components/AdminCopilotView.js +4 -4
- package/dist/features/copilot/components/index.js +1 -1
- package/dist/features/copilot/hooks/useCopilotChat.js +2 -2
- package/dist/features/copilot/hooks/useCopilotFeedback.js +2 -2
- package/dist/features/copilot/index.js +3 -3
- package/dist/features/corporate/api/[id]/route.js +2 -2
- package/dist/features/corporate/api/route.js +2 -2
- package/dist/features/corporate/columns/index.js +1 -1
- package/dist/features/corporate/components/CorporateInquiryForm.js +7 -7
- package/dist/features/corporate/components/index.js +1 -1
- package/dist/features/corporate/hooks/useSubmitCorporateInquiry.js +2 -2
- package/dist/features/corporate/index.js +6 -6
- package/dist/features/corporate/schemas/index.js +1 -1
- package/dist/features/corporate/server.js +1 -1
- package/dist/features/cron/index.js +4 -4
- package/dist/features/cron/jobs/auction-expiry.job.js +3 -3
- package/dist/features/cron/jobs/preorder-reminder.job.js +3 -3
- package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +20 -20
- package/dist/features/digital-codes/components/DigitalCodeFilters.js +4 -4
- package/dist/features/digital-codes/components/index.js +1 -1
- package/dist/features/email/index.js +1 -1
- package/dist/features/email/notification-templates.js +1 -1
- package/dist/features/events/actions/event-actions.js +10 -10
- package/dist/features/events/actions/index.js +1 -1
- package/dist/features/events/api/[id]/route.js +4 -4
- package/dist/features/events/columns/index.js +1 -1
- package/dist/features/events/components/AdminEventEditorView.js +10 -10
- package/dist/features/events/components/AdminEventEntriesView.js +9 -9
- package/dist/features/events/components/AdminEventsView.js +8 -8
- package/dist/features/events/components/EventBanner.js +4 -4
- package/dist/features/events/components/EventCard.js +8 -8
- package/dist/features/events/components/EventDetailView.js +1 -1
- package/dist/features/events/components/EventFilters.js +8 -8
- package/dist/features/events/components/EventFormDrawer.js +1 -1
- package/dist/features/events/components/EventLeaderboard.js +1 -1
- package/dist/features/events/components/EventOfferCard.js +5 -5
- package/dist/features/events/components/EventParticipateView.js +2 -2
- package/dist/features/events/components/EventPollWidget.js +5 -5
- package/dist/features/events/components/EventRaffleEntryForm.js +7 -7
- package/dist/features/events/components/EventRaffleWinnerView.js +1 -1
- package/dist/features/events/components/EventRafflesSection.js +8 -8
- package/dist/features/events/components/EventSaleBanner.js +4 -4
- package/dist/features/events/components/EventStatusBadge.js +1 -1
- package/dist/features/events/components/EventsIndexListing.js +9 -9
- package/dist/features/events/components/EventsListPageView.js +9 -9
- package/dist/features/events/components/EventsListView.js +2 -2
- package/dist/features/events/components/RelatedEventsCarousel.js +6 -6
- package/dist/features/events/components/SpinWheelView.js +4 -4
- package/dist/features/events/components/index.js +21 -21
- package/dist/features/events/hooks/useBulkEvent.js +1 -1
- package/dist/features/events/hooks/useEvent.js +2 -2
- package/dist/features/events/hooks/useEvents.js +2 -2
- package/dist/features/events/index.js +8 -8
- package/dist/features/events/repository/event-entry.repository.js +6 -6
- package/dist/features/events/repository/events.repository.js +10 -10
- package/dist/features/events/schemas/event-form.js +1 -1
- package/dist/features/events/schemas/firestore.d.ts +2 -2
- package/dist/features/events/schemas/index.js +3 -3
- package/dist/features/events/server.js +4 -4
- package/dist/features/faq/actions/faq-actions.js +3 -3
- package/dist/features/faq/actions/index.js +1 -1
- package/dist/features/faq/columns/index.js +1 -1
- package/dist/features/faq/components/ContactCTA.js +1 -1
- package/dist/features/faq/components/FAQAccordion.js +1 -1
- package/dist/features/faq/components/FAQCategorySidebar.js +2 -2
- package/dist/features/faq/components/FAQHelpfulButtons.js +2 -2
- package/dist/features/faq/components/FAQPageContent.js +7 -7
- package/dist/features/faq/components/FAQSearchableList.js +2 -2
- package/dist/features/faq/components/FAQSortDropdown.js +1 -1
- package/dist/features/faq/components/RelatedFAQs.js +1 -1
- package/dist/features/faq/components/index.js +7 -7
- package/dist/features/faq/hooks/useFaqList.js +2 -2
- package/dist/features/faq/hooks/useFaqVote.js +2 -2
- package/dist/features/faq/index.js +7 -7
- package/dist/features/faq/repository/faqs.repository.js +6 -6
- package/dist/features/faq/schemas/firestore.d.ts +2 -1
- package/dist/features/faq/schemas/firestore.js +22 -9
- package/dist/features/faq/schemas/index.js +2 -2
- package/dist/features/faq/server.js +2 -2
- package/dist/features/faq/types/index.d.ts +9 -1
- package/dist/features/faq/utils/getHomepageFaqsCached.js +1 -1
- package/dist/features/filters/AsyncFacetSection.js +2 -2
- package/dist/features/filters/FilterFacetSection.js +2 -2
- package/dist/features/filters/FilterPanel.js +5 -5
- package/dist/features/filters/RangeFilter.js +2 -2
- package/dist/features/filters/SwitchFilter.js +2 -2
- package/dist/features/filters/index.js +8 -8
- package/dist/features/forms/Checkbox.js +3 -3
- package/dist/features/forms/Input.js +3 -3
- package/dist/features/forms/Radio.js +2 -2
- package/dist/features/forms/Select.js +3 -3
- package/dist/features/forms/Slider.js +3 -3
- package/dist/features/forms/Textarea.js +3 -3
- package/dist/features/forms/Toggle.js +2 -2
- package/dist/features/forms/index.js +8 -8
- package/dist/features/grouped/components/GroupedListingDetailView.js +3 -3
- package/dist/features/grouped/components/GroupedListingEditorView.js +12 -12
- package/dist/features/grouped/components/GroupedListingsCarousel.js +7 -7
- package/dist/features/grouped/repository/grouped-listings.repository.js +3 -3
- package/dist/features/grouped/schemas/grouped-listing-form.js +1 -1
- package/dist/features/grouped/schemas/index.d.ts +2 -2
- package/dist/features/grouped/schemas/index.js +2 -2
- package/dist/features/history/actions/history-actions.js +2 -2
- package/dist/features/history/actions/index.js +1 -1
- package/dist/features/history/components/HistoryTracker.js +2 -2
- package/dist/features/history/hooks/useHistory.js +4 -4
- package/dist/features/history/hooks/useHistoryMergeOnLogin.js +2 -2
- package/dist/features/history/index.js +4 -4
- package/dist/features/history/repository/user-history.repository.js +3 -3
- package/dist/features/history/server.js +2 -2
- package/dist/features/history/utils/guest-history.js +2 -2
- package/dist/features/homepage/actions/carousel-actions.js +3 -3
- package/dist/features/homepage/actions/homepage-section-actions.js +5 -5
- package/dist/features/homepage/actions/index.js +2 -2
- package/dist/features/homepage/api/[id]/route.js +3 -3
- package/dist/features/homepage/api/carousel/[id]/route.js +4 -4
- package/dist/features/homepage/api/carousel/route.js +4 -4
- package/dist/features/homepage/api/route.js +4 -4
- package/dist/features/homepage/api/sections/[id]/route.js +2 -2
- package/dist/features/homepage/api/sections/route.js +2 -2
- package/dist/features/homepage/components/AdSlot.js +5 -5
- package/dist/features/homepage/components/AdvertisementBanner.js +4 -4
- package/dist/features/homepage/components/AnnouncementBar.js +3 -3
- package/dist/features/homepage/components/BeforeAfterCard.js +3 -3
- package/dist/features/homepage/components/BlogArticlesSection.js +6 -6
- package/dist/features/homepage/components/BrandsSection.js +8 -8
- package/dist/features/homepage/components/CTABannerSection.js +5 -5
- package/dist/features/homepage/components/CharacterHotspot.js +7 -7
- package/dist/features/homepage/components/CharacterHotspotForm.js +7 -7
- package/dist/features/homepage/components/CollectionCardsSection.js +2 -2
- package/dist/features/homepage/components/CustomCardsSection.js +5 -5
- package/dist/features/homepage/components/CustomerReviewsSection.js +4 -4
- package/dist/features/homepage/components/EventsSection.js +4 -4
- package/dist/features/homepage/components/FAQSection.js +3 -3
- package/dist/features/homepage/components/FeaturedAuctionsSection.js +5 -5
- package/dist/features/homepage/components/FeaturedBundlesSection.js +9 -9
- package/dist/features/homepage/components/FeaturedPreOrdersSection.js +5 -5
- package/dist/features/homepage/components/FeaturedProductsSection.js +6 -6
- package/dist/features/homepage/components/FeaturedResultsSection.js +3 -3
- package/dist/features/homepage/components/FeaturedStoresSection.js +5 -5
- package/dist/features/homepage/components/GoogleReviewsSection.js +6 -6
- package/dist/features/homepage/components/HeroBanner.js +4 -4
- package/dist/features/homepage/components/HeroCarousel.js +7 -7
- package/dist/features/homepage/components/HeroSection.js +1 -1
- package/dist/features/homepage/components/HomepageCustomerReviewsSection.js +4 -4
- package/dist/features/homepage/components/HomepageSectionBoundary.js +1 -1
- package/dist/features/homepage/components/HomepageSkeleton.js +3 -3
- package/dist/features/homepage/components/HomepageView.js +1 -1
- package/dist/features/homepage/components/HowItWorksInfoView.js +3 -3
- package/dist/features/homepage/components/HowItWorksSection.js +2 -2
- package/dist/features/homepage/components/MarketplaceHomepageView.js +17 -17
- package/dist/features/homepage/components/NewsletterBanner.js +7 -7
- package/dist/features/homepage/components/NewsletterSection.js +1 -1
- package/dist/features/homepage/components/PromoGrid.js +4 -4
- package/dist/features/homepage/components/SectionCarousel.js +6 -6
- package/dist/features/homepage/components/SecurityHighlightsSection.js +2 -2
- package/dist/features/homepage/components/ShopByCategorySection.js +8 -8
- package/dist/features/homepage/components/SiteFeaturesSection.js +2 -2
- package/dist/features/homepage/components/SocialFeedSection.js +6 -6
- package/dist/features/homepage/components/SocialPostCard.js +2 -2
- package/dist/features/homepage/components/StatsCounterSection.js +1 -1
- package/dist/features/homepage/components/TestimonialsCarousel.js +1 -1
- package/dist/features/homepage/components/TrustBadges.js +1 -1
- package/dist/features/homepage/components/TrustFeaturesSection.js +1 -1
- package/dist/features/homepage/components/TrustIndicatorsSection.js +2 -2
- package/dist/features/homepage/components/WelcomeSection.js +2 -2
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +3 -3
- package/dist/features/homepage/components/index.js +39 -39
- package/dist/features/homepage/constants/faq-category-labels.d.ts +0 -14
- package/dist/features/homepage/constants/faq-category-labels.js +22 -14
- package/dist/features/homepage/hooks/homepage-query.js +1 -1
- package/dist/features/homepage/hooks/useActiveAd.js +2 -2
- package/dist/features/homepage/hooks/useBlogArticles.js +2 -2
- package/dist/features/homepage/hooks/useFeaturedAuctions.js +5 -5
- package/dist/features/homepage/hooks/useFeaturedPreOrders.js +5 -5
- package/dist/features/homepage/hooks/useFeaturedProducts.js +5 -5
- package/dist/features/homepage/hooks/useFeaturedStores.js +2 -2
- package/dist/features/homepage/hooks/useHeroCarousel.js +2 -2
- package/dist/features/homepage/hooks/useHomepage.js +2 -2
- package/dist/features/homepage/hooks/useHomepageEvents.js +2 -2
- package/dist/features/homepage/hooks/useHomepageReviews.d.ts +1 -1
- package/dist/features/homepage/hooks/useHomepageReviews.js +2 -2
- package/dist/features/homepage/hooks/useHomepageSections.js +2 -2
- package/dist/features/homepage/hooks/useNewsletter.js +2 -2
- package/dist/features/homepage/hooks/useTopBrands.js +2 -2
- package/dist/features/homepage/hooks/useTopCategories.js +2 -2
- package/dist/features/homepage/index.js +17 -17
- package/dist/features/homepage/lib/live-stats.js +5 -5
- package/dist/features/homepage/lib/section-helpers.js +1 -1
- package/dist/features/homepage/lib/section-renderer.js +32 -32
- package/dist/features/homepage/repository/carousel.repository.js +6 -6
- package/dist/features/homepage/repository/carousels.repository.js +6 -6
- package/dist/features/homepage/repository/homepage-sections.repository.js +5 -5
- package/dist/features/homepage/schemas/firestore.d.ts +26 -1
- package/dist/features/homepage/schemas/firestore.js +1 -1
- package/dist/features/homepage/schemas/index.js +2 -2
- package/dist/features/homepage/server.js +9 -9
- package/dist/features/jobs/actions/enqueue-job.js +6 -6
- package/dist/features/jobs/repository/jobs.repository.js +2 -2
- package/dist/features/layout/AppLayoutShell.js +18 -18
- package/dist/features/layout/AutoBreadcrumbs.js +3 -3
- package/dist/features/layout/BackToTop.js +4 -4
- package/dist/features/layout/BottomActions.js +3 -3
- package/dist/features/layout/BottomChrome.js +2 -2
- package/dist/features/layout/BottomNavItem.js +1 -1
- package/dist/features/layout/BottomNavLayout.js +2 -2
- package/dist/features/layout/BottomNavbar.js +6 -6
- package/dist/features/layout/BottomSheet.js +1 -1
- package/dist/features/layout/Breadcrumbs.js +2 -2
- package/dist/features/layout/FooterLayout.js +2 -2
- package/dist/features/layout/LocaleSwitcher.js +1 -1
- package/dist/features/layout/MainNavbar.d.ts +6 -0
- package/dist/features/layout/MainNavbar.js +3 -2
- package/dist/features/layout/NavItem.js +2 -2
- package/dist/features/layout/NavbarLayout.d.ts +19 -0
- package/dist/features/layout/NavbarLayout.js +24 -5
- package/dist/features/layout/NavbarWithSettings.js +3 -3
- package/dist/features/layout/PageTabs.js +2 -2
- package/dist/features/layout/SidebarLayout.js +2 -2
- package/dist/features/layout/TitleBar.js +6 -6
- package/dist/features/layout/TitleBarLayout.js +2 -2
- package/dist/features/layout/hooks/useBottomActions.js +1 -1
- package/dist/features/layout/hooks/useFormBottomActions.js +4 -4
- package/dist/features/layout/index.js +23 -23
- package/dist/features/live/components/LiveItemDetailPageView.js +20 -20
- package/dist/features/live/components/LiveItemFilters.js +4 -4
- package/dist/features/live/components/index.js +1 -1
- package/dist/features/lottery/repository/lottery-entry.repository.js +6 -6
- package/dist/features/lottery/schemas/config-write.js +1 -1
- package/dist/features/lottery/schemas/zod.d.ts +8 -8
- package/dist/features/loyalty/api/admin/loyalty/grant/route.js +2 -2
- package/dist/features/loyalty/api/balance/route.js +2 -2
- package/dist/features/loyalty/api/earn/route.js +2 -2
- package/dist/features/loyalty/api/history/route.js +2 -2
- package/dist/features/loyalty/api/redeem/route.js +2 -2
- package/dist/features/loyalty/columns/index.js +1 -1
- package/dist/features/loyalty/components/CoinsDisplay.js +1 -1
- package/dist/features/loyalty/components/index.js +1 -1
- package/dist/features/loyalty/hooks/useLoyaltyBalance.js +3 -3
- package/dist/features/loyalty/index.js +6 -6
- package/dist/features/loyalty/server.js +1 -1
- package/dist/features/loyalty/types/index.js +1 -1
- package/dist/features/media/AvatarUpload.js +6 -6
- package/dist/features/media/MediaAudio.js +2 -2
- package/dist/features/media/MediaAvatar.js +2 -2
- package/dist/features/media/MediaImage.js +4 -4
- package/dist/features/media/MediaLightbox.js +2 -2
- package/dist/features/media/MediaPickerModal.js +7 -7
- package/dist/features/media/MediaVideo.js +3 -3
- package/dist/features/media/finalize.js +3 -3
- package/dist/features/media/hooks/useMedia.js +3 -3
- package/dist/features/media/index.js +17 -17
- package/dist/features/media/modals/ImageCropModal.js +2 -2
- package/dist/features/media/modals/ImageEditor.d.ts +0 -1
- package/dist/features/media/modals/ImageEditor.js +18 -3
- package/dist/features/media/modals/VideoThumbnailSelector.js +3 -3
- package/dist/features/media/modals/VideoTrimModal.js +5 -5
- package/dist/features/media/repository/media-assets.repository.js +1 -1
- package/dist/features/media/server.js +1 -1
- package/dist/features/media/types/index.js +1 -1
- package/dist/features/media/upload/CameraCapture.js +2 -2
- package/dist/features/media/upload/ImageUpload.js +9 -9
- package/dist/features/media/upload/MediaUploadField.js +11 -11
- package/dist/features/media/upload/MediaUploadList.js +6 -6
- package/dist/features/media/upload/video-poster.js +1 -1
- package/dist/features/messaging/repository/message-budget.repository.js +2 -2
- package/dist/features/orders/actions/index.js +2 -2
- package/dist/features/orders/actions/order-actions.js +5 -5
- package/dist/features/orders/actions/refund-actions.js +6 -6
- package/dist/features/orders/api/track/[trackingId]/route.js +2 -2
- package/dist/features/orders/columns/index.js +1 -1
- package/dist/features/orders/components/MarketplaceOrderCard.js +4 -4
- package/dist/features/orders/components/OrderAddonBadges.d.ts +4 -2
- package/dist/features/orders/components/OrderAddonBadges.js +5 -4
- package/dist/features/orders/components/OrderFilters.js +6 -6
- package/dist/features/orders/components/OrderPaymentSummary.js +2 -2
- package/dist/features/orders/components/OrderScopeTabs.js +4 -4
- package/dist/features/orders/components/OrderSiblingPayments.js +5 -5
- package/dist/features/orders/components/OrderStatusTimeline.js +2 -2
- package/dist/features/orders/components/OrdersList.js +5 -5
- package/dist/features/orders/components/RefundHistoryTable.js +3 -3
- package/dist/features/orders/components/RefundRequestView.js +8 -8
- package/dist/features/orders/components/index.js +9 -9
- package/dist/features/orders/constants/order-scope.js +1 -1
- package/dist/features/orders/hooks/useOrders.js +2 -2
- package/dist/features/orders/index.js +9 -9
- package/dist/features/orders/repository/orders.repository.d.ts +8 -0
- package/dist/features/orders/repository/orders.repository.js +13 -11
- package/dist/features/orders/schemas/buyer-forms.js +1 -1
- package/dist/features/orders/schemas/firestore.d.ts +165 -1
- package/dist/features/orders/schemas/firestore.js +1 -1
- package/dist/features/orders/schemas/index.d.ts +6 -6
- package/dist/features/orders/schemas/index.js +2 -2
- package/dist/features/orders/server.js +3 -3
- package/dist/features/orders/types/index.d.ts +58 -0
- package/dist/features/orders/utils/order-splitter.js +2 -2
- package/dist/features/payments/columns/index.js +1 -1
- package/dist/features/payments/hooks/usePaymentEvent.js +2 -2
- package/dist/features/payments/hooks/usePayments.js +2 -2
- package/dist/features/payments/index.js +6 -6
- package/dist/features/payments/repository/payout.repository.js +4 -4
- package/dist/features/payments/repository/saved-payment-methods.repository.js +6 -6
- package/dist/features/payments/schemas/firestore.js +1 -1
- package/dist/features/payments/schemas/index.d.ts +6 -6
- package/dist/features/payments/schemas/index.js +3 -3
- package/dist/features/payments/server.js +4 -4
- package/dist/features/pre-orders/api/[id]/route.js +2 -2
- package/dist/features/pre-orders/api/[slug]/route.js +2 -2
- package/dist/features/pre-orders/api/admin/[id]/route.js +2 -2
- package/dist/features/pre-orders/api/admin/route.js +2 -2
- package/dist/features/pre-orders/api/route.js +3 -3
- package/dist/features/pre-orders/columns/index.js +1 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +1 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +14 -14
- package/dist/features/pre-orders/components/PreOrderActionsClient.js +4 -4
- package/dist/features/pre-orders/components/PreOrderBadge.js +1 -1
- package/dist/features/pre-orders/components/PreOrderBottomActions.js +1 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +26 -26
- package/dist/features/pre-orders/components/PreOrderFilters.js +4 -4
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +23 -23
- package/dist/features/pre-orders/components/PreOrdersListView.js +4 -4
- package/dist/features/pre-orders/components/PreorderCard.js +2 -2
- package/dist/features/pre-orders/components/index.js +6 -6
- package/dist/features/pre-orders/hooks/usePreOrders.js +2 -2
- package/dist/features/pre-orders/index.js +6 -6
- package/dist/features/pre-orders/schemas/index.js +1 -1
- package/dist/features/pre-orders/server.js +1 -1
- package/dist/features/price-index/components/PriceIndexToolView.d.ts +87 -0
- package/dist/features/price-index/components/PriceIndexToolView.js +140 -0
- package/dist/features/products/actions/index.js +1 -1
- package/dist/features/products/actions/product-actions.js +6 -6
- package/dist/features/products/api/[id]/route.js +8 -8
- package/dist/features/products/api/route.js +7 -7
- package/dist/features/products/columns/index.d.ts +0 -1
- package/dist/features/products/columns/index.js +7 -3
- package/dist/features/products/columns/productTableColumns.js +3 -3
- package/dist/features/products/components/ArtStickersListView.js +7 -7
- package/dist/features/products/components/AuctionDetailView.js +1 -1
- package/dist/features/products/components/AuctionsIndexListing.js +20 -20
- package/dist/features/products/components/AvailabilityTabs.js +5 -5
- package/dist/features/products/components/BidHistory.js +3 -3
- package/dist/features/products/components/CardStoreLine.js +2 -2
- package/dist/features/products/components/CompareOverlay.js +9 -9
- package/dist/features/products/components/CustomFieldsEditor.js +2 -2
- package/dist/features/products/components/CustomSectionTabContent.js +2 -2
- package/dist/features/products/components/CustomSectionsEditor.js +3 -3
- package/dist/features/products/components/FeatureBadge.js +2 -2
- package/dist/features/products/components/GroupMemberPicker.js +9 -9
- package/dist/features/products/components/GroupSettingsPanel.js +12 -12
- package/dist/features/products/components/InteractiveProductCard.js +2 -2
- package/dist/features/products/components/ListingBottomActions.js +4 -4
- package/dist/features/products/components/MakeOfferButton.js +13 -13
- package/dist/features/products/components/MarketplaceBundleCard.js +9 -9
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +9 -9
- package/dist/features/products/components/NonRefundableConsentModal.js +1 -1
- package/dist/features/products/components/PreOrderDetailView.js +1 -1
- package/dist/features/products/components/PrizeDrawBottomActions.js +1 -1
- package/dist/features/products/components/PrizeDrawCollage.js +4 -4
- package/dist/features/products/components/PrizeDrawDetailPageView.js +18 -18
- package/dist/features/products/components/PrizeDrawEntryActions.js +8 -8
- package/dist/features/products/components/PrizeDrawItemsEditor.js +2 -2
- package/dist/features/products/components/PrizeDrawWinnerMappingView.js +3 -3
- package/dist/features/products/components/PrizeDrawsIndexListing.js +14 -14
- package/dist/features/products/components/PrizeDrawsListingView.js +6 -6
- package/dist/features/products/components/PrizeDrawsSection.js +6 -6
- package/dist/features/products/components/PrizeRevealModal.js +3 -3
- package/dist/features/products/components/ProductCardMetadataSection.js +1 -1
- package/dist/features/products/components/ProductDetailActions.js +14 -14
- package/dist/features/products/components/ProductDetailPageView.js +28 -28
- package/dist/features/products/components/ProductDetailView.js +1 -1
- package/dist/features/products/components/ProductFeatureBadges.js +1 -1
- package/dist/features/products/components/ProductFeaturesSelector.js +5 -5
- package/dist/features/products/components/ProductFilters.d.ts +0 -9
- package/dist/features/products/components/ProductFilters.js +8 -8
- package/dist/features/products/components/ProductForm.d.ts +27 -1
- package/dist/features/products/components/ProductForm.js +41 -27
- package/dist/features/products/components/ProductGalleryClient.js +3 -3
- package/dist/features/products/components/ProductGradingTab.js +3 -3
- package/dist/features/products/components/ProductGrid.js +16 -16
- package/dist/features/products/components/ProductTabs.js +1 -1
- package/dist/features/products/components/ProductTabsShell.js +2 -2
- package/dist/features/products/components/ProductsIndexListing.js +33 -33
- package/dist/features/products/components/ProductsIndexPageView.js +12 -12
- package/dist/features/products/components/ProductsView.js +1 -1
- package/dist/features/products/components/RelatedItemsSection.js +2 -2
- package/dist/features/products/components/RelatedProducts.js +1 -1
- package/dist/features/products/components/RelatedProductsCarousel.js +4 -4
- package/dist/features/products/components/ShareButton.js +2 -2
- package/dist/features/products/components/ShowGroupSection.js +8 -8
- package/dist/features/products/components/SublistingCarouselSection.js +8 -8
- package/dist/features/products/components/SublistingCategorySelect.js +2 -2
- package/dist/features/products/components/index.js +42 -42
- package/dist/features/products/config/listing-type-listing-config.js +7 -7
- package/dist/features/products/constants/action-defs.js +1 -1
- package/dist/features/products/constants/listing-tabs.js +2 -2
- package/dist/features/products/constants/sieve.d.ts +0 -6
- package/dist/features/products/constants/sieve.js +37 -4
- package/dist/features/products/hooks/useAvailabilityScope.js +4 -4
- package/dist/features/products/hooks/useBrands.d.ts +1 -1
- package/dist/features/products/hooks/useBrands.js +2 -2
- package/dist/features/products/hooks/useProductDetail.js +2 -2
- package/dist/features/products/hooks/useProducts.js +5 -5
- package/dist/features/products/hooks/useRelatedProducts.js +4 -4
- package/dist/features/products/index.js +14 -14
- package/dist/features/products/repository/loadProductFeatures.js +2 -2
- package/dist/features/products/repository/product-features.repository.js +7 -7
- package/dist/features/products/repository/product-templates.repository.js +3 -3
- package/dist/features/products/repository/products.repository.d.ts +140 -1
- package/dist/features/products/repository/products.repository.js +616 -52
- package/dist/features/products/schemas/firestore.d.ts +91 -6
- package/dist/features/products/schemas/firestore.js +27 -1
- package/dist/features/products/schemas/index.d.ts +2 -2
- package/dist/features/products/schemas/index.js +3 -3
- package/dist/features/products/schemas/product-features.d.ts +140 -2
- package/dist/features/products/schemas/product-features.js +62 -1
- package/dist/features/products/schemas/product-features.validators.js +1 -1
- package/dist/features/products/server.js +4 -4
- package/dist/features/products/utils/listing-badge-variant.js +1 -1
- package/dist/features/products/utils/listing-type.js +1 -1
- package/dist/features/promotions/actions/coupon-actions.js +2 -2
- package/dist/features/promotions/actions/index.js +4 -4
- package/dist/features/promotions/actions/promotions-actions.js +3 -3
- package/dist/features/promotions/actions/seller-coupon-actions.js +5 -5
- package/dist/features/promotions/api/route.js +2 -2
- package/dist/features/promotions/columns/index.js +1 -1
- package/dist/features/promotions/components/CouponCard.js +4 -4
- package/dist/features/promotions/components/CouponHelpDetails.js +2 -2
- package/dist/features/promotions/components/CouponsIndexListing.js +8 -8
- package/dist/features/promotions/components/PromotionsView.js +1 -1
- package/dist/features/promotions/components/index.js +4 -4
- package/dist/features/promotions/hooks/useCouponValidate.js +2 -2
- package/dist/features/promotions/hooks/usePromotions.js +2 -2
- package/dist/features/promotions/index.js +7 -7
- package/dist/features/promotions/repository/claimed-coupons.repository.js +5 -5
- package/dist/features/promotions/repository/coupons.repository.js +15 -10
- package/dist/features/promotions/schemas/firestore.d.ts +44 -1
- package/dist/features/promotions/schemas/firestore.js +77 -3
- package/dist/features/promotions/schemas/index.d.ts +24 -24
- package/dist/features/promotions/schemas/index.js +2 -2
- package/dist/features/promotions/server.js +3 -3
- package/dist/features/reviews/actions/index.js +1 -1
- package/dist/features/reviews/actions/review-actions.js +9 -9
- package/dist/features/reviews/api/[id]/route.js +5 -5
- package/dist/features/reviews/columns/index.js +1 -1
- package/dist/features/reviews/components/ReviewDetailPageView.js +7 -7
- package/dist/features/reviews/components/ReviewDetailShell.js +11 -11
- package/dist/features/reviews/components/ReviewFilters.js +7 -7
- package/dist/features/reviews/components/ReviewModal.js +7 -7
- package/dist/features/reviews/components/ReviewSummary.js +3 -3
- package/dist/features/reviews/components/ReviewsIndexListing.js +1 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.js +5 -5
- package/dist/features/reviews/components/ReviewsList.js +9 -9
- package/dist/features/reviews/components/ReviewsListingPanel.js +10 -10
- package/dist/features/reviews/components/index.js +6 -6
- package/dist/features/reviews/hooks/useCreateReview.js +3 -3
- package/dist/features/reviews/hooks/useReviews.js +2 -2
- package/dist/features/reviews/index.js +7 -7
- package/dist/features/reviews/repository/reviews.repository.js +7 -7
- package/dist/features/reviews/schemas/firestore.js +1 -1
- package/dist/features/reviews/schemas/index.js +2 -2
- package/dist/features/reviews/server.js +3 -3
- package/dist/features/scams/actions/scam-actions.js +5 -5
- package/dist/features/scams/components/ScamAwarenessModal.js +5 -5
- package/dist/features/scams/components/ScamProfileView.js +8 -8
- package/dist/features/scams/components/ScamRegistryView.js +7 -7
- package/dist/features/scams/components/SellerTrustBadge.js +3 -3
- package/dist/features/scams/components/index.js +4 -4
- package/dist/features/scams/constants/scammer-status-display.js +1 -1
- package/dist/features/scams/repository/scammer.repository.js +10 -10
- package/dist/features/scams/schemas/index.d.ts +10 -10
- package/dist/features/scams/schemas/index.js +2 -2
- package/dist/features/scams/schemas/report-form.js +1 -1
- package/dist/features/search/action-index/repository.js +2 -2
- package/dist/features/search/actions/index.js +1 -1
- package/dist/features/search/actions/search-actions.js +2 -2
- package/dist/features/search/api/route.js +5 -5
- package/dist/features/search/columns/index.js +1 -1
- package/dist/features/search/components/Search.js +2 -2
- package/dist/features/search/components/SearchFiltersRow.js +1 -1
- package/dist/features/search/components/SearchResultsSection.js +1 -1
- package/dist/features/search/components/SearchView.js +1 -1
- package/dist/features/search/components/index.js +4 -4
- package/dist/features/search/hooks/useNavSuggestions.js +2 -2
- package/dist/features/search/hooks/useSearch.js +2 -2
- package/dist/features/search/index.js +7 -7
- package/dist/features/search/repository/search.repository.js +2 -2
- package/dist/features/search/server.js +4 -4
- package/dist/features/seller/actions/index.js +2 -2
- package/dist/features/seller/actions/offer-actions.js +14 -14
- package/dist/features/seller/actions/seller-actions.js +38 -23
- package/dist/features/seller/api/coupons/route.js +2 -2
- package/dist/features/seller/api/products/route.js +3 -3
- package/dist/features/seller/api/store/route.js +2 -2
- package/dist/features/seller/columns/index.js +1 -1
- package/dist/features/seller/components/BarcodeField.js +3 -3
- package/dist/features/seller/components/BrandInlineSelect.js +4 -4
- package/dist/features/seller/components/BulkStockModal.d.ts +16 -0
- package/dist/features/seller/components/BulkStockModal.js +46 -0
- package/dist/features/seller/components/CategoryChipPicker.js +2 -2
- package/dist/features/seller/components/CategoryInlineSelect.js +4 -4
- package/dist/features/seller/components/CouponInlineSelect.js +3 -3
- package/dist/features/seller/components/FulfillmentView.js +9 -9
- package/dist/features/seller/components/GroupInlineSelect.js +4 -4
- package/dist/features/seller/components/OfferPhaseTimeline.js +1 -1
- package/dist/features/seller/components/PhysicalLocationModal.js +22 -7
- package/dist/features/seller/components/PrintCenterView.d.ts +3 -2
- package/dist/features/seller/components/PrintCenterView.js +8 -7
- package/dist/features/seller/components/ProductInlineSelect.js +3 -3
- package/dist/features/seller/components/QuickProductForm.js +2 -2
- package/dist/features/seller/components/SellerAddressesView.js +9 -9
- package/dist/features/seller/components/SellerAnalyticsAlertsView.js +31 -21
- package/dist/features/seller/components/SellerAnalyticsView.js +1 -1
- package/dist/features/seller/components/SellerArtView.js +1 -1
- package/dist/features/seller/components/SellerBidsView.js +14 -14
- package/dist/features/seller/components/SellerBundlesView.js +7 -7
- package/dist/features/seller/components/SellerClassifiedView.js +1 -1
- package/dist/features/seller/components/SellerCouponEditorView.js +10 -10
- package/dist/features/seller/components/SellerCouponsView.js +7 -7
- package/dist/features/seller/components/SellerCreateProductView.js +1 -1
- package/dist/features/seller/components/SellerDashboardView.js +1 -1
- package/dist/features/seller/components/SellerDigitalCodesView.js +1 -1
- package/dist/features/seller/components/SellerEditProductView.js +1 -1
- package/dist/features/seller/components/SellerFeaturesView.js +8 -8
- package/dist/features/seller/components/SellerGoogleReviewsView.js +8 -8
- package/dist/features/seller/components/SellerGroupedListingsView.js +6 -6
- package/dist/features/seller/components/SellerGuideView.js +1 -1
- package/dist/features/seller/components/SellerListingTypeView.js +13 -13
- package/dist/features/seller/components/SellerLiveView.js +1 -1
- package/dist/features/seller/components/SellerOffersView.js +9 -9
- package/dist/features/seller/components/SellerOrdersView.js +28 -23
- package/dist/features/seller/components/SellerPayoutHistoryTable.js +1 -1
- package/dist/features/seller/components/SellerPayoutMethodsView.js +7 -7
- package/dist/features/seller/components/SellerPayoutRequestView.js +3 -3
- package/dist/features/seller/components/SellerPayoutSettingsView.js +46 -8
- package/dist/features/seller/components/SellerPayoutStats.js +1 -1
- package/dist/features/seller/components/SellerPayoutsView.js +11 -11
- package/dist/features/seller/components/SellerProductShell.d.ts +50 -2
- package/dist/features/seller/components/SellerProductShell.js +114 -22
- package/dist/features/seller/components/SellerProductsCards.js +5 -5
- package/dist/features/seller/components/SellerProductsFilterDrawer.d.ts +13 -1
- package/dist/features/seller/components/SellerProductsFilterDrawer.js +6 -6
- package/dist/features/seller/components/SellerProductsView.js +212 -33
- package/dist/features/seller/components/SellerReviewsView.js +12 -12
- package/dist/features/seller/components/SellerShippingConfigsView.js +9 -9
- package/dist/features/seller/components/SellerShippingView.js +7 -7
- package/dist/features/seller/components/SellerSidebar.js +9 -9
- package/dist/features/seller/components/SellerStickersView.js +1 -1
- package/dist/features/seller/components/SellerStoreCategoriesView.js +10 -10
- package/dist/features/seller/components/SellerStoreSetupView.js +1 -1
- package/dist/features/seller/components/SellerStoreView.js +1 -1
- package/dist/features/seller/components/SellerStorefrontView.js +5 -5
- package/dist/features/seller/components/SellerSupportView.js +6 -6
- package/dist/features/seller/components/SellersListView.js +1 -1
- package/dist/features/seller/components/SublistingInlineSelect.js +3 -3
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.js +2 -2
- package/dist/features/seller/components/analytics/SellerRevenueChart.js +2 -2
- package/dist/features/seller/components/analytics/SellerTopProducts.js +1 -1
- package/dist/features/seller/components/analytics/index.js +3 -3
- package/dist/features/seller/components/index.js +67 -67
- package/dist/features/seller/hooks/useBecomeSeller.js +3 -3
- package/dist/features/seller/hooks/useSellerListingData.js +1 -1
- package/dist/features/seller/hooks/useSellerPayouts.js +2 -2
- package/dist/features/seller/hooks/useSellerStore.js +2 -2
- package/dist/features/seller/hooks/useSellerStorefront.js +2 -2
- package/dist/features/seller/index.js +11 -11
- package/dist/features/seller/repository/offer.repository.js +6 -6
- package/dist/features/seller/schemas/coupon-form.d.ts +20 -20
- package/dist/features/seller/schemas/coupon-form.js +1 -1
- package/dist/features/seller/schemas/firestore.js +1 -1
- package/dist/features/seller/schemas/index.js +1 -1
- package/dist/features/seller/schemas/order-forms.js +2 -2
- package/dist/features/seller/schemas/product-form.js +1 -1
- package/dist/features/seller/schemas/review-forms.js +1 -1
- package/dist/features/seller/server.js +5 -5
- package/dist/features/seller/types/index.d.ts +17 -0
- package/dist/features/seller/utils/product-draft-mapping.d.ts +13 -0
- package/dist/features/seller/utils/product-draft-mapping.js +17 -0
- package/dist/features/server-errors/repository/server-errors.repository.js +4 -4
- package/dist/features/server-errors/schemas/index.js +1 -1
- package/dist/features/shell/CommandPalette.js +2 -2
- package/dist/features/shell/FormShell.js +5 -5
- package/dist/features/shell/QuickFormDrawer.js +7 -7
- package/dist/features/shell/SectionForm.js +9 -9
- package/dist/features/shell/build-sections.js +11 -11
- package/dist/features/shell/field-groups/ImageFieldGroup.js +1 -1
- package/dist/features/shell/field-groups/SeoFieldGroup.js +3 -3
- package/dist/features/shell/field-groups/StatusFieldGroup.js +2 -2
- package/dist/features/shell/field-groups/TitleDescriptionGroup.js +3 -3
- package/dist/features/shell/field-groups/index.js +4 -4
- package/dist/features/shell/index.js +8 -8
- package/dist/features/shipments/components/AdminShipmentEditorView.js +13 -13
- package/dist/features/shipments/components/AdminShipmentLotItemsView.js +12 -12
- package/dist/features/shipments/components/AdminShipmentProjectionsView.js +5 -5
- package/dist/features/shipments/components/AdminShipmentsView.js +7 -7
- package/dist/features/shipments/components/ShipmentItemLinkModal.js +4 -4
- package/dist/features/shipments/hooks/useShipments.js +2 -2
- package/dist/features/shipments/index.js +7 -7
- package/dist/features/shipments/repository/shipment-items.repository.js +4 -4
- package/dist/features/shipments/repository/shipment-lots.repository.js +2 -2
- package/dist/features/shipments/repository/shipments.repository.js +4 -4
- package/dist/features/shipments/schemas/firestore.js +1 -1
- package/dist/features/shipments/schemas/index.js +2 -2
- package/dist/features/shipments/schemas/validation.d.ts +4 -4
- package/dist/features/shipments/schemas/validation.js +3 -3
- package/dist/features/shipments/utils/cost-allocation.js +1 -1
- package/dist/features/site-settings/components/ActionPermissionsManager.js +4 -4
- package/dist/features/site-settings/components/NavPermissionsManager.js +3 -3
- package/dist/features/site-settings/components/ThemeManagerView.js +2 -2
- package/dist/features/status-history/components/RecordStatusTimeline.js +1 -1
- package/dist/features/status-history/components/StatusTimeline.js +1 -1
- package/dist/features/status-history/index.js +2 -2
- package/dist/features/store-extensions/components/ReviewDecisionModal.js +10 -10
- package/dist/features/store-extensions/constants/alert-metrics.d.ts +86 -0
- package/dist/features/store-extensions/constants/alert-metrics.js +142 -0
- package/dist/features/store-extensions/index.js +16 -16
- package/dist/features/store-extensions/repository/rbac.repositories.js +2 -2
- package/dist/features/store-extensions/repository/store-extensions.repositories.js +3 -3
- package/dist/features/store-extensions/schemas/admin-notification-form.js +1 -1
- package/dist/features/store-extensions/schemas/analytics-forms.js +2 -2
- package/dist/features/store-extensions/schemas/custom-role-form.js +2 -2
- package/dist/features/store-extensions/schemas/firestore.d.ts +19 -1
- package/dist/features/store-extensions/schemas/google-config-form.d.ts +6 -6
- package/dist/features/store-extensions/schemas/google-config-form.js +1 -1
- package/dist/features/store-extensions/schemas/item-request-create-form.js +1 -1
- package/dist/features/store-extensions/schemas/listing-template-form.js +3 -3
- package/dist/features/store-extensions/schemas/moderation-review-form.js +1 -1
- package/dist/features/store-extensions/schemas/payout-method-form.js +1 -1
- package/dist/features/store-extensions/schemas/report-create-form.js +2 -2
- package/dist/features/store-extensions/schemas/report-review-form.js +1 -1
- package/dist/features/store-extensions/schemas/shipping-config-form.d.ts +10 -10
- package/dist/features/store-extensions/schemas/shipping-config-form.js +1 -1
- package/dist/features/store-extensions/schemas/store-category-form.js +1 -1
- package/dist/features/store-extensions/schemas/sublisting-category-form.js +1 -1
- package/dist/features/stores/actions/index.js +2 -2
- package/dist/features/stores/actions/store-address-actions.js +4 -4
- package/dist/features/stores/actions/store-query-actions.js +9 -9
- package/dist/features/stores/api/[storeSlug]/auctions/route.js +5 -5
- package/dist/features/stores/api/[storeSlug]/products/route.js +5 -5
- package/dist/features/stores/api/[storeSlug]/reviews/route.js +4 -4
- package/dist/features/stores/api/[storeSlug]/route.js +3 -3
- package/dist/features/stores/columns/index.js +1 -1
- package/dist/features/stores/components/InteractiveStoreCard.js +5 -5
- package/dist/features/stores/components/StoreAboutView.js +3 -3
- package/dist/features/stores/components/StoreAddressSelectorCreate.js +2 -2
- package/dist/features/stores/components/StoreArtStickersPageView.js +6 -6
- package/dist/features/stores/components/StoreAuctionsListing.js +15 -15
- package/dist/features/stores/components/StoreAuctionsPageView.js +5 -5
- package/dist/features/stores/components/StoreAuctionsView.js +1 -1
- package/dist/features/stores/components/StoreBundlesPageView.js +5 -5
- package/dist/features/stores/components/StoreCapabilitiesGuideView.js +2 -2
- package/dist/features/stores/components/StoreClassifiedsListing.js +12 -12
- package/dist/features/stores/components/StoreClassifiedsPageView.js +5 -5
- package/dist/features/stores/components/StoreDetailLayoutView.js +12 -12
- package/dist/features/stores/components/StoreDigitalCodesListing.js +12 -12
- package/dist/features/stores/components/StoreDigitalCodesPageView.js +5 -5
- package/dist/features/stores/components/StoreFilters.js +4 -4
- package/dist/features/stores/components/StoreFinanceGuideView.js +2 -2
- package/dist/features/stores/components/StoreGuideHubView.js +2 -2
- package/dist/features/stores/components/StoreHeader.js +6 -6
- package/dist/features/stores/components/StoreListingsGuideView.js +2 -2
- package/dist/features/stores/components/StoreLiveItemsListing.js +12 -12
- package/dist/features/stores/components/StoreLiveItemsPageView.js +5 -5
- package/dist/features/stores/components/StoreNavTabs.js +2 -2
- package/dist/features/stores/components/StoreOrdersGuideView.js +2 -2
- package/dist/features/stores/components/StorePreOrdersListing.js +11 -11
- package/dist/features/stores/components/StorePreOrdersPageView.js +5 -5
- package/dist/features/stores/components/StorePrizeDrawsPageView.js +5 -5
- package/dist/features/stores/components/StoreProductsListing.js +15 -15
- package/dist/features/stores/components/StoreProductsPageView.js +5 -5
- package/dist/features/stores/components/StoreProductsView.js +1 -1
- package/dist/features/stores/components/StoreReviewsListing.js +1 -1
- package/dist/features/stores/components/StoreReviewsPageView.js +1 -1
- package/dist/features/stores/components/StoreReviewsView.js +1 -1
- package/dist/features/stores/components/StoreScopedSearch.js +3 -3
- package/dist/features/stores/components/StoreSettingsGuideView.js +2 -2
- package/dist/features/stores/components/StoreWhatsAppGuideView.js +2 -2
- package/dist/features/stores/components/StoresIndexListing.js +12 -12
- package/dist/features/stores/components/StoresIndexPageView.js +7 -7
- package/dist/features/stores/components/index.js +23 -23
- package/dist/features/stores/hooks/useStoreAddressSelector.js +2 -2
- package/dist/features/stores/hooks/useStores.js +2 -2
- package/dist/features/stores/index.js +7 -7
- package/dist/features/stores/repository/store.repository.js +9 -9
- package/dist/features/stores/schemas/firestore.d.ts +117 -2
- package/dist/features/stores/schemas/firestore.js +2 -2
- package/dist/features/stores/schemas/index.d.ts +30 -30
- package/dist/features/stores/schemas/index.js +3 -3
- package/dist/features/stores/server.js +6 -6
- package/dist/features/stores/types/index.d.ts +10 -0
- package/dist/features/support/repository/support.repository.js +11 -11
- package/dist/features/support/schemas/index.d.ts +2 -2
- package/dist/features/support/schemas/index.js +2 -2
- package/dist/features/support/schemas/ticket-create-form.js +2 -2
- package/dist/features/tax-codes/repository/tax-codes.repository.d.ts +55 -0
- package/dist/features/tax-codes/repository/tax-codes.repository.js +131 -0
- package/dist/features/tax-codes/schemas/firestore.d.ts +125 -0
- package/dist/features/tax-codes/schemas/firestore.js +82 -0
- package/dist/features/tax-codes/schemas/tax-code-form.d.ts +63 -0
- package/dist/features/tax-codes/schemas/tax-code-form.js +152 -0
- package/dist/features/tax-codes/schemas/tax-codes.validators.d.ts +107 -0
- package/dist/features/tax-codes/schemas/tax-codes.validators.js +85 -0
- package/dist/features/tester/actions/checklist-item-actions.d.ts +8 -8
- package/dist/features/tester/actions/checklist-item-actions.js +2 -2
- package/dist/features/tester/actions/index.d.ts +0 -1
- package/dist/features/tester/actions/index.js +1 -2
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +6 -6
- package/dist/features/tester/components/AdminTesterFeedbackListView.js +10 -10
- package/dist/features/tester/components/AdminTesterFeedbackReportView.js +4 -4
- package/dist/features/tester/components/AdminTesterFeedbackView.js +8 -8
- package/dist/features/tester/components/TesterChecklistStepRow.js +4 -4
- package/dist/features/tester/components/TesterFeedbackChart.js +2 -2
- package/dist/features/tester/components/index.d.ts +0 -4
- package/dist/features/tester/components/index.js +6 -8
- package/dist/features/tester/index.js +2 -2
- package/dist/features/tester/repository/index.js +2 -2
- package/dist/features/tester/repository/tester-checklist-item.repository.d.ts +1 -20
- package/dist/features/tester/repository/tester-checklist-item.repository.js +4 -56
- package/dist/features/tester/repository/tester-checklist-response.repository.js +3 -3
- package/dist/features/tester/schemas/checklist-item-form.d.ts +4 -4
- package/dist/features/tester/schemas/checklist-item-form.js +1 -1
- package/dist/features/tester/schemas/firestore.d.ts +0 -6
- package/dist/features/tester/schemas/firestore.js +1 -1
- package/dist/features/tester/schemas/index.js +1 -1
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +3 -3
- package/dist/features/tester/seed-data/authored/admin__site-system.js +4 -5
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +2 -2
- package/dist/features/tester/seed-data/authored/index.js +118 -120
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -19
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +1 -1
- package/dist/features/tester/seed-data/index.js +2 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +12 -31
- package/dist/features/tester/server.js +3 -3
- package/dist/features/whatsapp-bot/api/send-status/route.js +2 -2
- package/dist/features/whatsapp-bot/api/webhook/route.js +2 -2
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +12 -12
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.js +1 -1
- package/dist/features/whatsapp-bot/components/index.js +2 -2
- package/dist/features/whatsapp-bot/helpers/whatsapp.js +3 -3
- package/dist/features/whatsapp-bot/index.js +3 -3
- package/dist/features/whatsapp-bot/server.js +2 -2
- package/dist/features/wishlist/actions/index.js +1 -1
- package/dist/features/wishlist/actions/wishlist-actions.js +4 -4
- package/dist/features/wishlist/columns/index.js +1 -1
- package/dist/features/wishlist/components/WishlistCapWatcher.js +2 -2
- package/dist/features/wishlist/components/WishlistHeartButton.js +2 -2
- package/dist/features/wishlist/components/WishlistPage.js +3 -3
- package/dist/features/wishlist/components/WishlistView.js +3 -3
- package/dist/features/wishlist/components/index.js +4 -4
- package/dist/features/wishlist/hooks/useGuestWishlist.js +1 -1
- package/dist/features/wishlist/hooks/useUserWishlist.js +2 -2
- package/dist/features/wishlist/hooks/useWishlist.js +2 -2
- package/dist/features/wishlist/hooks/useWishlistCount.js +8 -8
- package/dist/features/wishlist/hooks/useWishlistToggle.js +3 -3
- package/dist/features/wishlist/hooks/useWishlistWithGuest.js +2 -2
- package/dist/features/wishlist/index.js +12 -12
- package/dist/features/wishlist/repository/user-wishlist.repository.js +4 -4
- package/dist/features/wishlist/server.js +2 -2
- package/dist/features/wishlist/utils/guest-wishlist.js +1 -1
- package/dist/hand-mode/index.js +1 -1
- package/dist/http/api-handler.js +8 -8
- package/dist/http/index.js +2 -2
- package/dist/http/retry.js +1 -1
- package/dist/index.d.ts +41 -10
- package/dist/index.js +2047 -1964
- package/dist/monitoring/browser.js +5 -5
- package/dist/monitoring/cache-metrics.js +1 -1
- package/dist/monitoring/client-logger.js +3 -3
- package/dist/monitoring/index.js +6 -6
- package/dist/monitoring/runtime.js +1 -1
- package/dist/monitoring/server-logger.js +3 -3
- package/dist/next/ErrorBoundary.js +3 -3
- package/dist/next/api/api-response.js +2 -2
- package/dist/next/api/apiHandler.js +3 -3
- package/dist/next/api/parseJsonBody.js +1 -1
- package/dist/next/api/routeHandler.js +9 -9
- package/dist/next/cache-middleware.js +1 -1
- package/dist/next/components/ErrorView.js +3 -3
- package/dist/next/components/GlobalError.js +23 -2
- package/dist/next/components/NotFoundView.js +4 -4
- package/dist/next/components/UnauthorizedView.js +4 -4
- package/dist/next/index.js +21 -21
- package/dist/next/middleware/chain.js +3 -3
- package/dist/next/middleware/index.js +2 -2
- package/dist/next/middleware/pii-scrubber.js +3 -3
- package/dist/next/request-helpers.js +1 -1
- package/dist/next/routing/route-map.d.ts +6 -4
- package/dist/next/routing/route-map.js +10 -2
- package/dist/providers/auth-firebase/helpers.js +5 -5
- package/dist/providers/auth-firebase/index.js +3 -3
- package/dist/providers/auth-firebase/provider.js +2 -2
- package/dist/providers/auth-firebase/session.js +2 -2
- package/dist/providers/db-firebase/admin-app-lite.js +1 -1
- package/dist/providers/db-firebase/admin-auth-lite.js +1 -1
- package/dist/providers/db-firebase/admin-storage-lite.js +1 -1
- package/dist/providers/db-firebase/admin.js +2 -2
- package/dist/providers/db-firebase/base.js +2 -2
- package/dist/providers/db-firebase/base.repository.d.ts +54 -0
- package/dist/providers/db-firebase/base.repository.js +119 -7
- package/dist/providers/db-firebase/browser-stub.js +2 -2
- package/dist/providers/db-firebase/index.js +12 -12
- package/dist/providers/db-firebase/sieve.js +4 -4
- package/dist/providers/email-resend/index.js +1 -1
- package/dist/providers/firebase-client/index.js +2 -2
- package/dist/providers/firebase-client/realtime.js +1 -1
- package/dist/providers/payment-manual/index.js +1 -1
- package/dist/providers/payment-phonepe/index.js +3 -3
- package/dist/providers/shipping-manual/index.js +1 -1
- package/dist/providers/storage-firebase/client.js +2 -2
- package/dist/providers/storage-firebase/index.js +1 -1
- package/dist/providers/storage-firebase/provider.js +4 -4
- package/dist/providers.js +12 -12
- package/dist/react/ErrorBoundary.js +3 -3
- package/dist/react/contexts/SessionContext.js +6 -6
- package/dist/react/contexts/index.js +1 -1
- package/dist/react/hooks/use-action-dispatch.js +5 -5
- package/dist/react/hooks/use-panel-url-sync.js +1 -1
- package/dist/react/hooks/useAuthGate.js +3 -3
- package/dist/react/hooks/useBreakpoint.js +1 -1
- package/dist/react/hooks/useBulkAction.js +1 -1
- package/dist/react/hooks/useCamera.js +1 -1
- package/dist/react/hooks/useCanSeePrices.js +1 -1
- package/dist/react/hooks/useEntityDelete.js +2 -2
- package/dist/react/hooks/useFormStatePreservation.js +1 -1
- package/dist/react/hooks/useInlineRowEdit.js +1 -1
- package/dist/react/hooks/useListingTypeFlags.js +2 -2
- package/dist/react/hooks/useMessage.js +1 -1
- package/dist/react/hooks/usePendingFilters.js +1 -1
- package/dist/react/hooks/usePendingTable.js +2 -2
- package/dist/react/hooks/useRealtimeEvent.js +4 -4
- package/dist/react/hooks/useTabParam.js +2 -2
- package/dist/react/hooks/useUnsavedChanges.js +1 -1
- package/dist/react/hooks/useUrlTable.js +2 -2
- package/dist/react/index.js +28 -28
- package/dist/repositories/index.d.ts +2 -1
- package/dist/repositories/index.js +55 -50
- package/dist/schemas/index.js +1 -1
- package/dist/schemas/registry.d.ts +568 -62
- package/dist/schemas/registry.js +44 -44
- package/dist/security/authorization.js +3 -3
- package/dist/security/browser.js +4 -4
- package/dist/security/index.js +8 -8
- package/dist/security/pii-encrypt.js +3 -3
- package/dist/security/pii-redact.js +1 -1
- package/dist/security/rate-limit.js +1 -1
- package/dist/security/settings-encryption.js +1 -1
- package/dist/seed/_helpers/brand-rows.d.ts +35 -0
- package/dist/seed/_helpers/brand-rows.js +576 -0
- package/dist/seed/_helpers/category-content.d.ts +39 -0
- package/dist/seed/_helpers/category-content.js +634 -0
- package/dist/seed/_helpers/category-forest.d.ts +2 -0
- package/dist/seed/_helpers/category-forest.js +585 -243
- package/dist/seed/_helpers/category-models.d.ts +5 -0
- package/dist/seed/_helpers/category-models.js +1364 -0
- package/dist/seed/_helpers/category-tree.js +17 -1
- package/dist/seed/_helpers/character-features.d.ts +10 -0
- package/dist/seed/_helpers/character-features.js +118 -0
- package/dist/seed/_helpers/media.js +1 -1
- package/dist/seed/_helpers/product-search-txt.js +1 -1
- package/dist/seed/_helpers/search-txt-wrappers.d.ts +10 -0
- package/dist/seed/_helpers/search-txt-wrappers.js +12 -1
- package/dist/seed/blog-posts-seed-data.js +2 -2
- package/dist/seed/carousel-slides-seed-data.js +2 -2
- package/dist/seed/cart-seed-data.js +2 -2
- package/dist/seed/categories-seed-data.js +151 -173
- package/dist/seed/claimed-coupons-seed-data.js +1 -1
- package/dist/seed/coupons-seed-data.js +2 -2
- package/dist/seed/defaults/categories.js +1 -1
- package/dist/seed/defaults/faqs.js +2 -2
- package/dist/seed/defaults/homepage-sections.js +2 -2
- package/dist/seed/events-seed-data.js +3 -3
- package/dist/seed/factories/address.factory.js +1 -1
- package/dist/seed/factories/carousel.factory.js +1 -1
- package/dist/seed/factories/order.factory.js +1 -1
- package/dist/seed/factories/product.factory.js +2 -2
- package/dist/seed/factories/store.factory.js +1 -1
- package/dist/seed/factories/user.factory.js +2 -2
- package/dist/seed/faq-seed-data.js +532 -3
- package/dist/seed/grouped-listings-seed-data.js +1 -1
- package/dist/seed/homepage-sections-seed-data.js +2 -2
- package/dist/seed/index.d.ts +2 -0
- package/dist/seed/index.js +75 -67
- package/dist/seed/manifest.d.ts +1 -1
- package/dist/seed/manifest.js +47 -42
- package/dist/seed/notifications-seed-data.js +3 -3
- package/dist/seed/offers-seed-data.js +2 -2
- package/dist/seed/orders-seed-data.js +2 -2
- package/dist/seed/payouts-seed-data.js +2 -2
- package/dist/seed/product-features-seed-data.d.ts +1 -8
- package/dist/seed/product-features-seed-data.js +358 -154
- package/dist/seed/products-art-seed-data.js +20 -8
- package/dist/seed/products-auctions-seed-data.js +10 -10
- package/dist/seed/products-classifieds-seed-data.js +22 -12
- package/dist/seed/products-digital-codes-seed-data.js +17 -17
- package/dist/seed/products-live-items-seed-data.js +5 -5
- package/dist/seed/products-preorders-seed-data.js +12 -12
- package/dist/seed/products-prize-draws-seed-data.js +30 -13
- package/dist/seed/products-standard-seed-data.js +14 -64
- package/dist/seed/products-stickers-seed-data.js +10 -10
- package/dist/seed/reviews-seed-data.js +2 -2
- package/dist/seed/runner.js +2 -2
- package/dist/seed/scammers-seed-data.js +3 -3
- package/dist/seed/seed-market-config.js +2 -2
- package/dist/seed/seed-purpose.d.ts +200 -0
- package/dist/seed/seed-purpose.js +265 -0
- package/dist/seed/sessions-seed-data.js +2 -2
- package/dist/seed/shipments-seed-data.js +1 -1
- package/dist/seed/site-settings-seed-data.js +33 -3
- package/dist/seed/store-addresses-seed-data.js +1 -1
- package/dist/seed/store-extensions-seed-data.js +11 -5
- package/dist/seed/stores-seed-data.js +3 -3
- package/dist/seed/support-tickets-seed-data.js +2 -2
- package/dist/seed/tax-codes-seed-data.d.ts +34 -0
- package/dist/seed/tax-codes-seed-data.js +100 -0
- package/dist/seed/test-data-ttl.d.ts +29 -0
- package/dist/seed/test-data-ttl.js +31 -0
- package/dist/seed/test-utils.js +8 -8
- package/dist/seed/users-seed-data.js +4 -4
- package/dist/seo/index.js +2 -2
- package/dist/seo/json-ld.d.ts +62 -0
- package/dist/seo/json-ld.js +78 -2
- package/dist/seo/metadata.js +1 -1
- package/dist/server-entry.d.ts +1 -1
- package/dist/server-entry.js +83 -78
- package/dist/server.d.ts +14 -3
- package/dist/server.js +563 -544
- package/dist/styles.css +807 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/theme/index.js +2 -2
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/themes/cobalt-night.js +1 -1
- package/dist/tokens/themes/index.js +5 -5
- package/dist/tokens/themes/sunset.js +1 -1
- package/dist/ui/DataTable.js +12 -12
- package/dist/ui/columns/cell-renderers.js +7 -7
- package/dist/ui/columns/column-renderers.js +2 -2
- package/dist/ui/columns/index.js +3 -3
- package/dist/ui/components/Accordion.js +4 -4
- package/dist/ui/components/ActionRow.js +1 -1
- package/dist/ui/components/ActiveFilterChips.js +2 -2
- package/dist/ui/components/Alert.js +2 -2
- package/dist/ui/components/Anchor.js +1 -1
- package/dist/ui/components/Avatar.js +1 -1
- package/dist/ui/components/AvatarDisplay.js +1 -1
- package/dist/ui/components/Badge.js +1 -1
- package/dist/ui/components/BaseListingCard.js +2 -2
- package/dist/ui/components/Breadcrumb.js +3 -3
- package/dist/ui/components/BulkActionBar.js +2 -2
- package/dist/ui/components/Button.js +4 -4
- package/dist/ui/components/Card.js +2 -2
- package/dist/ui/components/Checkbox.js +1 -1
- package/dist/ui/components/ClaimCouponButton.js +6 -6
- package/dist/ui/components/CollapsibleSection.js +5 -5
- package/dist/ui/components/ConfirmDeleteModal.js +3 -3
- package/dist/ui/components/CountdownDisplay.js +2 -2
- package/dist/ui/components/DateInput.js +1 -1
- package/dist/ui/components/DetailPageGallery.js +2 -2
- package/dist/ui/components/DetailPageHero.js +3 -3
- package/dist/ui/components/DetailPageTabs.js +2 -2
- package/dist/ui/components/DetailViewShell.js +2 -2
- package/dist/ui/components/Details.js +1 -1
- package/dist/ui/components/Div.js +1 -1
- package/dist/ui/components/Divider.js +1 -1
- package/dist/ui/components/Drawer.js +4 -4
- package/dist/ui/components/EmptyState.js +4 -4
- package/dist/ui/components/FilePickerButton.js +1 -1
- package/dist/ui/components/FilterChipGroup.js +2 -2
- package/dist/ui/components/FilterDrawer.js +4 -4
- package/dist/ui/components/FlowDiagram.js +2 -2
- package/dist/ui/components/Form.js +4 -4
- package/dist/ui/components/FormActionBar.js +3 -3
- package/dist/ui/components/FormField.js +24 -6
- package/dist/ui/components/GatedPrice.js +6 -6
- package/dist/ui/components/HandModeRow.js +2 -2
- package/dist/ui/components/Icon.js +1 -1
- package/dist/ui/components/IconButton.js +1 -1
- package/dist/ui/components/ImageGallery.js +6 -6
- package/dist/ui/components/ImageLightbox.js +5 -5
- package/dist/ui/components/Input.js +2 -2
- package/dist/ui/components/ItemRow.js +3 -3
- package/dist/ui/components/Layout.js +1 -1
- package/dist/ui/components/ListingFilterDrawer.js +4 -4
- package/dist/ui/components/ListingLayout.js +9 -9
- package/dist/ui/components/ListingToolbar.js +5 -5
- package/dist/ui/components/LoginRequiredModal.js +5 -5
- package/dist/ui/components/Menu.js +1 -1
- package/dist/ui/components/Modal.js +6 -6
- package/dist/ui/components/Motion.js +1 -1
- package/dist/ui/components/NavigationLoader.js +3 -3
- package/dist/ui/components/OtpInput.js +1 -1
- package/dist/ui/components/PageLoader.js +4 -4
- package/dist/ui/components/PaginatedSelect.d.ts +14 -0
- package/dist/ui/components/PaginatedSelect.js +0 -0
- package/dist/ui/components/PaginatedSelect.style.css +40 -0
- package/dist/ui/components/Pagination.js +2 -2
- package/dist/ui/components/PasswordStrengthIndicator.js +3 -3
- package/dist/ui/components/PriceDisplay.js +1 -1
- package/dist/ui/components/Progress.js +1 -1
- package/dist/ui/components/QuantityStepper.js +3 -3
- package/dist/ui/components/QuickCreateModal.js +5 -5
- package/dist/ui/components/Radio.js +1 -1
- package/dist/ui/components/RatingDisplay.js +2 -2
- package/dist/ui/components/RecordDetailModal.js +2 -2
- package/dist/ui/components/RoleBadge.js +1 -1
- package/dist/ui/components/RowActionMenu.js +3 -3
- package/dist/ui/components/Select.js +2 -2
- package/dist/ui/components/Semantic.js +1 -1
- package/dist/ui/components/SettingsSection.js +2 -2
- package/dist/ui/components/SideDrawer.js +9 -9
- package/dist/ui/components/SideModal.js +4 -4
- package/dist/ui/components/SiteLogo.js +1 -1
- package/dist/ui/components/SiteMark.js +1 -1
- package/dist/ui/components/SkipToMain.js +1 -1
- package/dist/ui/components/Slider.js +1 -1
- package/dist/ui/components/SlottedListingView.js +2 -2
- package/dist/ui/components/SortDropdown.js +3 -3
- package/dist/ui/components/StackedViewShell.js +2 -2
- package/dist/ui/components/StarRating.js +1 -1
- package/dist/ui/components/StatsGrid.js +3 -3
- package/dist/ui/components/StatusBadge.js +1 -1
- package/dist/ui/components/StepperNav.js +3 -3
- package/dist/ui/components/StickyToolbar.js +1 -1
- package/dist/ui/components/SummaryCard.js +4 -4
- package/dist/ui/components/TabBarShell.js +3 -3
- package/dist/ui/components/TablePagination.js +4 -4
- package/dist/ui/components/Tabs.js +1 -1
- package/dist/ui/components/TagInput.js +1 -1
- package/dist/ui/components/TextLink.js +2 -2
- package/dist/ui/components/Textarea.js +1 -1
- package/dist/ui/components/Toast.js +3 -3
- package/dist/ui/components/Toggle.js +1 -1
- package/dist/ui/components/Typography.js +2 -2
- package/dist/ui/components/UnsavedChangesModal.js +5 -5
- package/dist/ui/components/VacationBanner.js +3 -3
- package/dist/ui/components/ViewToggle.js +2 -2
- package/dist/ui/components/index.style.css +4 -0
- package/dist/ui/components/surface-tokens.js +1 -1
- package/dist/ui/components/toolbar-collapse.js +1 -1
- package/dist/ui/forms/ColorPickerField.js +2 -2
- package/dist/ui/forms/FieldCheckbox.js +3 -3
- package/dist/ui/forms/FieldInput.js +3 -3
- package/dist/ui/forms/FieldSelect.js +3 -3
- package/dist/ui/forms/FieldTextarea.js +3 -3
- package/dist/ui/forms/FormErrorList.js +2 -2
- package/dist/ui/forms/FormErrorSummary.js +2 -2
- package/dist/ui/forms/FormShell.js +1 -1
- package/dist/ui/forms/index.js +9 -9
- package/dist/ui/index.d.ts +0 -2
- package/dist/ui/index.js +147 -127
- package/dist/ui/rich-text/RichText.js +2 -2
- package/dist/ui/rich-text/index.js +1 -1
- package/dist/utils/action-response.js +2 -2
- package/dist/utils/action-result.js +1 -1
- package/dist/utils/auth-error.js +1 -1
- package/dist/utils/client.js +1 -1
- package/dist/utils/date.formatter.js +1 -1
- package/dist/utils/id-generators.js +2 -2
- package/dist/utils/index.js +19 -19
- package/dist/utils/media-field.js +1 -1
- package/dist/utils/media-url.js +2 -2
- package/dist/utils/number.formatter.js +1 -1
- package/dist/utils/physical-location.d.ts +91 -0
- package/dist/utils/physical-location.js +134 -0
- package/dist/utils/safe-fire-forget.js +2 -2
- package/dist/utils/search-txt-builders.d.ts +20 -0
- package/dist/utils/search-txt-builders.js +97 -1
- package/dist/utils/search-txt-query.d.ts +54 -6
- package/dist/utils/search-txt-query.js +79 -11
- package/dist/utils/sieve-builder.js +1 -1
- package/dist/utils/string.formatter.js +1 -1
- package/dist/validation/ZodSetup.js +1 -1
- package/dist/validation/index.js +8 -8
- package/dist/validation/phone.validator.js +1 -1
- package/dist/validation/schemas.d.ts +12 -12
- package/dist/validation/schemas.js +1 -1
- package/dist/validation/url.validator.js +1 -1
- package/dist/values/index.js +1 -1
- package/dist/vendor/react-advanced-cropper.css +406 -0
- package/package.json +80 -4
- package/scripts/copy-assets.mjs +53 -1
- package/scripts/seed-cli.mjs +172 -8
- package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.d.ts +0 -2
- package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.js +0 -2
- package/dist/features/tester/actions/leaderboard-actions.d.ts +0 -3
- package/dist/features/tester/actions/leaderboard-actions.js +0 -5
- package/dist/features/tester/components/BugHunterLeaderboardView.d.ts +0 -23
- package/dist/features/tester/components/BugHunterLeaderboardView.js +0 -18
- package/dist/features/tester/components/TesterHubView.d.ts +0 -5
- package/dist/features/tester/components/TesterHubView.js +0 -110
- package/dist/features/tester/seed-data/authored/public-pages__bug-hunters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__bug-hunters.js +0 -78
- package/dist/features/tester/seed-data/tester-ttl.d.ts +0 -4
- package/dist/features/tester/seed-data/tester-ttl.js +0 -6
|
@@ -4,12 +4,88 @@ import { useApiMutation } from "@mohasinac/appkit/client";
|
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { useQuery } from "@tanstack/react-query";
|
|
6
6
|
import { z } from "zod";
|
|
7
|
-
import { Card, CardBody, ConfirmDeleteModal, Div, Input, PaginatedSelect, Stack, StackedViewShell, Text, Toggle, useToast, Show, StickyToolbar } from "../../../ui";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
7
|
+
import { Button, Card, CardBody, ConfirmDeleteModal, Div, Input, PaginatedSelect, Select, Span, Stack, StackedViewShell, Text, Textarea, Toggle, useToast, Show, StickyToolbar } from "../../../ui/index.js";
|
|
8
|
+
import { usedPlaceholders } from "../../../_internal/shared/templating/placeholders.js";
|
|
9
|
+
import { apiClient } from "../../../http/index.js";
|
|
10
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
11
|
+
import { CategoryQuickCreateForm } from "./CategoryQuickCreateForm.js";
|
|
12
|
+
import { FieldInput, FormErrorSummary, FormShellContext, useFormShellState } from "../../../ui/forms/index.js";
|
|
13
|
+
import { SectionForm, useSectionFormNav } from "../../shell/index.js";
|
|
14
|
+
/*
|
|
15
|
+
* ── Content & Templates (C2c) ────────────────────────────────────────────────
|
|
16
|
+
*
|
|
17
|
+
* 🛑 `highlights` and `faqs` have had NO editor since they shipped, and B3
|
|
18
|
+
* added `contentBody`, `descriptionTemplates` and `productDefaults` with none
|
|
19
|
+
* either. All five are in `CATEGORIES_UPDATABLE_FIELDS`, so the repository has
|
|
20
|
+
* always been willing — the only thing missing was somewhere to type them.
|
|
21
|
+
*
|
|
22
|
+
* ## Why string arrays are newline-separated textareas
|
|
23
|
+
*
|
|
24
|
+
* `highlights`, `inTheBox` and `seoKeywords` are flat `string[]`. A drag-handle
|
|
25
|
+
* repeater for each would be three widgets to build and three to maintain, and
|
|
26
|
+
* an admin pasting six bullets from a competitor's page wants to paste six
|
|
27
|
+
* lines. The textarea IS the better tool here, not a shortcut — order is
|
|
28
|
+
* preserved, reordering is a cut-and-paste, and a blank line is dropped rather
|
|
29
|
+
* than stored as an empty bullet.
|
|
30
|
+
*
|
|
31
|
+
* Repeaters are reserved for the shapes that genuinely need per-row fields:
|
|
32
|
+
* FAQs (question + answer), specifications (name + value + unit) and templates
|
|
33
|
+
* (label + variant + body).
|
|
34
|
+
*/
|
|
35
|
+
const linesToList = (raw) => raw
|
|
36
|
+
.split("\n")
|
|
37
|
+
.map((s) => s.trim())
|
|
38
|
+
.filter((s) => s.length > 0);
|
|
39
|
+
const listToLines = (list) => (list ?? []).join("\n");
|
|
40
|
+
const TEMPLATE_VARIANT_OPTIONS = [
|
|
41
|
+
{ value: "default", label: "Default — any condition" },
|
|
42
|
+
{ value: "new_in_box", label: "New in box" },
|
|
43
|
+
{ value: "new_in_packet", label: "New in packet" },
|
|
44
|
+
{ value: "pre_owned", label: "Pre-owned / used" },
|
|
45
|
+
{ value: "replica", label: "Reproduction" },
|
|
46
|
+
];
|
|
47
|
+
const AUTHENTICITY_OPTIONS = [
|
|
48
|
+
{ value: "", label: "Not set — the seller chooses" },
|
|
49
|
+
{ value: "original", label: "Original" },
|
|
50
|
+
{ value: "reproduction", label: "Reproduction (midfake)" },
|
|
51
|
+
{ value: "unverified", label: "Unverified" },
|
|
52
|
+
];
|
|
53
|
+
const CONDITION_DEFAULT_OPTIONS = [
|
|
54
|
+
{ value: "", label: "Not set — the seller chooses" },
|
|
55
|
+
{ value: "new", label: "New" },
|
|
56
|
+
{ value: "like_new", label: "Like New" },
|
|
57
|
+
{ value: "good", label: "Good" },
|
|
58
|
+
{ value: "fair", label: "Fair" },
|
|
59
|
+
{ value: "used", label: "Used" },
|
|
60
|
+
{ value: "refurbished", label: "Refurbished" },
|
|
61
|
+
];
|
|
62
|
+
/**
|
|
63
|
+
* A minimal add/remove repeater.
|
|
64
|
+
*
|
|
65
|
+
* Deliberately NOT a new appkit primitive: three local shapes with three
|
|
66
|
+
* different row renderers is not yet the Rule of Three on a *component* — it
|
|
67
|
+
* is one container used three times with a render prop, which is what this is.
|
|
68
|
+
* Promote it when a fourth caller appears outside this file.
|
|
69
|
+
*/
|
|
70
|
+
function Repeater({ rows, onChange, blank, addLabel, renderRow, max, }) {
|
|
71
|
+
return (_jsxs(Stack, { gap: "sm", children: [rows.map((row, i) => (_jsx(Div, { rounded: "lg", border: "default", padding: "sm", children: _jsxs(Stack, { gap: "xs", children: [renderRow(row, (patch) => onChange(rows.map((r, j) => (j === i ? { ...r, ...patch } : r)))), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => onChange(rows.filter((_, j) => j !== i)), children: "Remove" })] }) }, i))), rows.length < max ? (_jsx(Button, { variant: "secondary", size: "sm", onClick: () => onChange([...rows, blank()]), children: addLabel })) : (_jsxs(Text, { size: "xs", color: "muted", children: ["Maximum of ", max, " reached."] }))] }));
|
|
72
|
+
}
|
|
73
|
+
async function loadTaxCodeOptions(query, page) {
|
|
74
|
+
const params = new URLSearchParams({ page: String(page), pageSize: "25" });
|
|
75
|
+
if (query)
|
|
76
|
+
params.set("q", query);
|
|
77
|
+
const res = await apiClient.get(`${ADMIN_ENDPOINTS.TAX_CODES}?${params.toString()}`);
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
79
|
+
const payload = res?.data ?? res;
|
|
80
|
+
const items = payload?.items ?? payload?.data ?? [];
|
|
81
|
+
return {
|
|
82
|
+
items: items.map((t) => ({
|
|
83
|
+
value: t.id,
|
|
84
|
+
label: t.label ?? `${t.hsnCode ?? t.id} — ${t.gstRate ?? "?"}%`,
|
|
85
|
+
})),
|
|
86
|
+
hasMore: payload?.hasMore ?? false,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
13
89
|
/**
|
|
14
90
|
* Covers every field the form actually edits.
|
|
15
91
|
*
|
|
@@ -33,6 +109,32 @@ const categoryFormSchema = z.object({
|
|
|
33
109
|
.or(z.literal("")),
|
|
34
110
|
isActive: z.boolean().optional(),
|
|
35
111
|
showInMenu: z.boolean().optional(),
|
|
112
|
+
// ── Content & Templates ──────────────────────────────────────────────────
|
|
113
|
+
contentBody: z
|
|
114
|
+
.string()
|
|
115
|
+
.max(12000, "Keep the body under 12,000 characters")
|
|
116
|
+
.optional()
|
|
117
|
+
.or(z.literal("")),
|
|
118
|
+
highlightsText: z.string().optional().or(z.literal("")),
|
|
119
|
+
taxCodeId: z.string().optional().or(z.literal("")),
|
|
120
|
+
defaultCondition: z.string().optional().or(z.literal("")),
|
|
121
|
+
defaultAuthenticity: z.string().optional().or(z.literal("")),
|
|
122
|
+
inTheBoxText: z.string().optional().or(z.literal("")),
|
|
123
|
+
seoTitleTemplate: z.string().max(200).optional().or(z.literal("")),
|
|
124
|
+
seoDescriptionTemplate: z.string().max(400).optional().or(z.literal("")),
|
|
125
|
+
seoKeywordsText: z.string().optional().or(z.literal("")),
|
|
126
|
+
/*
|
|
127
|
+
* Typed in a text input and sent through `Number()`, so validated as a
|
|
128
|
+
* numeric STRING here rather than coerced — the same treatment `order`
|
|
129
|
+
* already gets two fields up. A category default is a PACKED weight (C5a),
|
|
130
|
+
* which is why the helper text says so: it drives the shipping estimate, and
|
|
131
|
+
* seeding an item weight there under-estimates every booking.
|
|
132
|
+
*/
|
|
133
|
+
weightG: z.string().regex(/^\d*$/, "Weight must be a whole number of grams").optional().or(z.literal("")),
|
|
134
|
+
dimL: z.string().regex(/^\d*\.?\d*$/, "Length must be a number").optional().or(z.literal("")),
|
|
135
|
+
dimW: z.string().regex(/^\d*\.?\d*$/, "Width must be a number").optional().or(z.literal("")),
|
|
136
|
+
dimH: z.string().regex(/^\d*\.?\d*$/, "Height must be a number").optional().or(z.literal("")),
|
|
137
|
+
fragile: z.boolean().optional(),
|
|
36
138
|
});
|
|
37
139
|
const EMPTY_VALUES = {
|
|
38
140
|
name: "",
|
|
@@ -42,6 +144,20 @@ const EMPTY_VALUES = {
|
|
|
42
144
|
order: "",
|
|
43
145
|
isActive: true,
|
|
44
146
|
showInMenu: true,
|
|
147
|
+
contentBody: "",
|
|
148
|
+
highlightsText: "",
|
|
149
|
+
taxCodeId: "",
|
|
150
|
+
defaultCondition: "",
|
|
151
|
+
defaultAuthenticity: "",
|
|
152
|
+
inTheBoxText: "",
|
|
153
|
+
seoTitleTemplate: "",
|
|
154
|
+
seoDescriptionTemplate: "",
|
|
155
|
+
seoKeywordsText: "",
|
|
156
|
+
weightG: "",
|
|
157
|
+
dimL: "",
|
|
158
|
+
dimW: "",
|
|
159
|
+
dimH: "",
|
|
160
|
+
fragile: false,
|
|
45
161
|
};
|
|
46
162
|
const __P = {
|
|
47
163
|
p4: "p-[var(--appkit-space-4)]",
|
|
@@ -62,6 +178,80 @@ async function loadCategoryOptions(query, page) {
|
|
|
62
178
|
hasMore: payload?.hasMore ?? false,
|
|
63
179
|
};
|
|
64
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* The content half of the PUT payload.
|
|
183
|
+
*
|
|
184
|
+
* 🛑 Every field is sent on EVERY save, including as an empty array or an
|
|
185
|
+
* omitted key — because the route spreads this straight into
|
|
186
|
+
* `categoriesRepository.update()`, and an admin who DELETES all five
|
|
187
|
+
* highlights must end up with no highlights rather than with the old five.
|
|
188
|
+
* Only sending non-empty values is how a removal silently fails, which is the
|
|
189
|
+
* defect the whole C2b-fix commit was about one layer down.
|
|
190
|
+
*
|
|
191
|
+
* `productDefaults` is rebuilt whole rather than merged, for the same reason —
|
|
192
|
+
* clearing the tax code has to mean clearing it. The advisory
|
|
193
|
+
* `priceGuidance` half is CARRIED THROUGH from the loaded document and never
|
|
194
|
+
* edited here: it is seed-owned market data plus C1's rollup output, and an
|
|
195
|
+
* editor that round-tripped it would let an admin overwrite a measured band by
|
|
196
|
+
* hand with nothing recording that they had.
|
|
197
|
+
*/
|
|
198
|
+
function buildContentPayload(v, faqs, specs, templates, carriedPriceGuidance) {
|
|
199
|
+
const num = (s) => {
|
|
200
|
+
const t = s.trim();
|
|
201
|
+
if (t === "")
|
|
202
|
+
return undefined;
|
|
203
|
+
const n = Number(t);
|
|
204
|
+
return Number.isFinite(n) ? n : undefined;
|
|
205
|
+
};
|
|
206
|
+
const str = (s) => {
|
|
207
|
+
const t = String(s ?? "").trim();
|
|
208
|
+
return t === "" ? undefined : t;
|
|
209
|
+
};
|
|
210
|
+
const list = (s) => {
|
|
211
|
+
const out = linesToList(String(s ?? ""));
|
|
212
|
+
return out.length === 0 ? undefined : out;
|
|
213
|
+
};
|
|
214
|
+
const l = num(String(v.dimL ?? ""));
|
|
215
|
+
const w = num(String(v.dimW ?? ""));
|
|
216
|
+
const h = num(String(v.dimH ?? ""));
|
|
217
|
+
const keptSpecs = specs.filter((s) => s.name.trim() !== "" && s.value.trim() !== "");
|
|
218
|
+
const authenticity = str(v.defaultAuthenticity);
|
|
219
|
+
/*
|
|
220
|
+
* Assembled field by field rather than through a `Record<string, unknown>`
|
|
221
|
+
* accumulator. The accumulator version was shorter and `audit-unknown-leakage`
|
|
222
|
+
* was right to reject it: `unknown` in a payload builder is how a wrong key
|
|
223
|
+
* or a wrong shape reaches Firestore with nothing to catch it, and this
|
|
224
|
+
* object's whole job is to be the right shape.
|
|
225
|
+
*/
|
|
226
|
+
const defaults = {
|
|
227
|
+
...(str(v.taxCodeId) ? { taxCodeId: str(v.taxCodeId) } : {}),
|
|
228
|
+
...(str(v.defaultCondition) ? { defaultCondition: str(v.defaultCondition) } : {}),
|
|
229
|
+
...(authenticity === "original" || authenticity === "reproduction" || authenticity === "unverified"
|
|
230
|
+
? { defaultAuthenticity: authenticity }
|
|
231
|
+
: {}),
|
|
232
|
+
...(list(v.inTheBoxText) ? { inTheBox: list(v.inTheBoxText) } : {}),
|
|
233
|
+
...(str(v.seoTitleTemplate) ? { seoTitleTemplate: str(v.seoTitleTemplate) } : {}),
|
|
234
|
+
...(str(v.seoDescriptionTemplate)
|
|
235
|
+
? { seoDescriptionTemplate: str(v.seoDescriptionTemplate) }
|
|
236
|
+
: {}),
|
|
237
|
+
...(list(v.seoKeywordsText) ? { seoKeywords: list(v.seoKeywordsText) } : {}),
|
|
238
|
+
...(num(String(v.weightG ?? "")) != null ? { weightG: num(String(v.weightG ?? "")) } : {}),
|
|
239
|
+
...(keptSpecs.length > 0 ? { specifications: keptSpecs } : {}),
|
|
240
|
+
// All three or none — a box with a length and no width is not a dimension.
|
|
241
|
+
...(l != null && w != null && h != null ? { dimensionsCm: { l, w, h } } : {}),
|
|
242
|
+
...(v.fragile === true ? { fragile: true } : {}),
|
|
243
|
+
...(carriedPriceGuidance !== undefined ? { priceGuidance: carriedPriceGuidance } : {}),
|
|
244
|
+
};
|
|
245
|
+
return {
|
|
246
|
+
contentBody: String(v.contentBody ?? ""),
|
|
247
|
+
highlights: linesToList(String(v.highlightsText ?? "")),
|
|
248
|
+
faqs: faqs.filter((f) => f.question.trim() !== "" && f.answer.trim() !== ""),
|
|
249
|
+
descriptionTemplates: templates
|
|
250
|
+
.filter((t) => t.label.trim() !== "" && t.body.trim() !== "")
|
|
251
|
+
.map((t) => ({ ...t, id: t.id || toCategorySlug(t.label) || "template" })),
|
|
252
|
+
productDefaults: defaults,
|
|
253
|
+
};
|
|
254
|
+
}
|
|
65
255
|
function toCategorySlug(str) {
|
|
66
256
|
return str
|
|
67
257
|
.toLowerCase()
|
|
@@ -73,6 +263,19 @@ export function AdminCategoryEditorView({ categoryId, onSaved, onDeleted, embedd
|
|
|
73
263
|
const isEdit = Boolean(categoryId);
|
|
74
264
|
const [deleteOpen, setDeleteOpen] = React.useState(false);
|
|
75
265
|
const [values, setValues] = React.useState(EMPTY_VALUES);
|
|
266
|
+
/*
|
|
267
|
+
* The three repeater arrays live OUTSIDE `values`.
|
|
268
|
+
*
|
|
269
|
+
* `CategoryFormValues` carries an index signature of `JsonValue` so
|
|
270
|
+
* `SectionForm` can map a Zod path back to the panel that owns it, and an
|
|
271
|
+
* array of objects satisfies that only after a cast at every read. Keeping
|
|
272
|
+
* them as their own typed state costs one extra dependency on the sections
|
|
273
|
+
* memo and buys real types at every use — the alternative is a `as any` in a
|
|
274
|
+
* render loop, which is where this codebase's worst defects live.
|
|
275
|
+
*/
|
|
276
|
+
const [faqs, setFaqs] = React.useState([]);
|
|
277
|
+
const [specs, setSpecs] = React.useState([]);
|
|
278
|
+
const [templates, setTemplates] = React.useState([]);
|
|
76
279
|
/* UI state, not a form value — whether the user has taken the slug over. */
|
|
77
280
|
const [slugManual, setSlugManual] = React.useState(false);
|
|
78
281
|
const { showToast } = useToast();
|
|
@@ -112,7 +315,29 @@ export function AdminCategoryEditorView({ categoryId, onSaved, onDeleted, embedd
|
|
|
112
315
|
order: cat.order !== undefined ? String(cat.order) : "",
|
|
113
316
|
isActive: cat.isActive ?? true,
|
|
114
317
|
showInMenu: cat.display?.showInMenu ?? true,
|
|
318
|
+
contentBody: cat.contentBody ?? "",
|
|
319
|
+
highlightsText: listToLines(cat.highlights),
|
|
320
|
+
taxCodeId: cat.productDefaults?.taxCodeId ?? "",
|
|
321
|
+
defaultCondition: cat.productDefaults?.defaultCondition ?? "",
|
|
322
|
+
defaultAuthenticity: cat.productDefaults?.defaultAuthenticity ?? "",
|
|
323
|
+
inTheBoxText: listToLines(cat.productDefaults?.inTheBox),
|
|
324
|
+
seoTitleTemplate: cat.productDefaults?.seoTitleTemplate ?? "",
|
|
325
|
+
seoDescriptionTemplate: cat.productDefaults?.seoDescriptionTemplate ?? "",
|
|
326
|
+
seoKeywordsText: listToLines(cat.productDefaults?.seoKeywords),
|
|
327
|
+
weightG: cat.productDefaults?.weightG != null ? String(cat.productDefaults.weightG) : "",
|
|
328
|
+
dimL: cat.productDefaults?.dimensionsCm?.l != null ? String(cat.productDefaults.dimensionsCm.l) : "",
|
|
329
|
+
dimW: cat.productDefaults?.dimensionsCm?.w != null ? String(cat.productDefaults.dimensionsCm.w) : "",
|
|
330
|
+
dimH: cat.productDefaults?.dimensionsCm?.h != null ? String(cat.productDefaults.dimensionsCm.h) : "",
|
|
331
|
+
fragile: cat.productDefaults?.fragile ?? false,
|
|
115
332
|
});
|
|
333
|
+
setFaqs((cat.faqs ?? []).map((f) => ({ ...f })));
|
|
334
|
+
setSpecs((cat.productDefaults?.specifications ?? []).map((s) => ({ ...s })));
|
|
335
|
+
setTemplates((cat.descriptionTemplates ?? []).map((t) => ({
|
|
336
|
+
id: t.id,
|
|
337
|
+
label: t.label,
|
|
338
|
+
variant: t.variant,
|
|
339
|
+
body: t.body,
|
|
340
|
+
})));
|
|
116
341
|
}, [categoryQuery.data]);
|
|
117
342
|
const saveMutation = useApiMutation({
|
|
118
343
|
errorMessage: "Failed to save category.",
|
|
@@ -128,7 +353,25 @@ export function AdminCategoryEditorView({ categoryId, onSaved, onDeleted, embedd
|
|
|
128
353
|
display: { showInMenu: values.showInMenu ?? true },
|
|
129
354
|
};
|
|
130
355
|
if (isEdit) {
|
|
131
|
-
|
|
356
|
+
/*
|
|
357
|
+
* 🛑 The content fields go on the PUT only, and that is not a
|
|
358
|
+
* limitation to work around.
|
|
359
|
+
*
|
|
360
|
+
* `POST /api/admin/categories`' schema is a `z.object()` naming nine
|
|
361
|
+
* keys, and Zod STRIPS unknown ones — so sending a description
|
|
362
|
+
* template on create would return 200, show a success toast and write
|
|
363
|
+
* nothing (Root Cause #76b, the admin grouped-listings shape). The
|
|
364
|
+
* section renders only in edit mode so the form never shows a field it
|
|
365
|
+
* is about to discard.
|
|
366
|
+
*
|
|
367
|
+
* It is also the right workflow: creating a category is naming it and
|
|
368
|
+
* placing it in the tree. Writing its SEO body and its five
|
|
369
|
+
* description templates is a separate sitting.
|
|
370
|
+
*/
|
|
371
|
+
return apiClient.put(ADMIN_ENDPOINTS.CATEGORY_BY_ID(categoryId), {
|
|
372
|
+
...payload,
|
|
373
|
+
...buildContentPayload(values, faqs, specs, templates, categoryQuery.data?.productDefaults?.["priceGuidance"]),
|
|
374
|
+
});
|
|
132
375
|
}
|
|
133
376
|
return apiClient.post(ADMIN_ENDPOINTS.CATEGORIES, payload);
|
|
134
377
|
},
|
|
@@ -178,7 +421,30 @@ export function AdminCategoryEditorView({ categoryId, onSaved, onDeleted, embedd
|
|
|
178
421
|
fields: ["order", "isActive", "showInMenu"],
|
|
179
422
|
render: ({ values: v, onChange, errors }) => (_jsxs(Stack, { gap: "md", children: [_jsx(Input, { label: "Display order", value: String(v.order ?? ""), onChange: (e) => onChange({ order: e.target.value }), type: "number", min: 0, placeholder: "0", error: errors.order }), _jsx(Toggle, { label: "Active", checked: v.isActive ?? true, onChange: (checked) => onChange({ isActive: checked }) }), _jsx(Toggle, { label: "Show in menu", checked: v.showInMenu ?? true, onChange: (checked) => onChange({ showInMenu: checked }) })] })),
|
|
180
423
|
},
|
|
181
|
-
|
|
424
|
+
/*
|
|
425
|
+
* 🛑 EDIT ONLY. The create route's `z.object()` would strip every one of
|
|
426
|
+
* these and answer 200, so the form must not offer them yet. See
|
|
427
|
+
* buildContentPayload's header.
|
|
428
|
+
*/
|
|
429
|
+
...(isEdit
|
|
430
|
+
? [
|
|
431
|
+
{
|
|
432
|
+
id: "content",
|
|
433
|
+
label: "Content & Templates",
|
|
434
|
+
fields: ["contentBody", "highlightsText"],
|
|
435
|
+
render: ({ values: v, onChange, errors }) => (_jsxs(Stack, { gap: "md", children: [_jsxs(Stack, { gap: "xs", children: [_jsx(Text, { size: "sm", weight: "medium", children: "Category page body" }), _jsx(Textarea, { value: String(v.contentBody ?? ""), onChange: (e) => onChange({ contentBody: e.target.value }), rows: 8, placeholder: "400\u2013900 characters of keyword-rich HTML with links to sibling and parent categories\u2026" }), errors.contentBody ? (_jsx(Text, { size: "sm", variant: "error", role: "alert", children: errors.contentBody })) : (_jsx(Text, { size: "xs", color: "muted", children: "Rendered on the category page. Distinct from the short Description above, which also feeds the SEO meta and every card. 36 of worldhobbyshop's 46 categories carry one of these and it is their actual ranking mechanism; no Shopify competitor in the crawl has any." }))] }), _jsxs(Stack, { gap: "xs", children: [_jsx(Text, { size: "sm", weight: "medium", children: "Highlights \u2014 one per line" }), _jsx(Textarea, { value: String(v.highlightsText ?? ""), onChange: (e) => onChange({ highlightsText: e.target.value }), rows: 4, placeholder: "Genuine Takara Tomy stock\nChecked and photographed before listing" }), _jsx(Text, { size: "xs", color: "muted", children: "Short \"why shop this\" bullets, shown above the FAQs. Blank lines are dropped. Up to 12." })] }), _jsxs(Stack, { gap: "xs", children: [_jsx(Text, { size: "sm", weight: "medium", children: "Category FAQs" }), _jsx(Text, { size: "xs", color: "muted", children: "Rendered as an accordion on the category page and emitted as FAQPage structured data. Keep platform-wide answers in the global FAQ collection instead \u2014 two copies of one answer means the one that gets fixed is never the one being read." }), _jsx(Repeater, { rows: faqs, onChange: setFaqs, blank: () => ({ question: "", answer: "" }), addLabel: "Add an FAQ", max: 20, renderRow: (row, set) => (_jsxs(_Fragment, { children: [_jsx(Input, { label: "Question", value: row.question, onChange: (e) => set({ question: e.target.value }), placeholder: "Are these compatible with Burst launchers?" }), _jsx(Textarea, { value: row.answer, onChange: (e) => set({ answer: e.target.value }), rows: 3, placeholder: "Answer\u2026" })] })) })] }), _jsxs(Stack, { gap: "xs", children: [_jsx(Text, { size: "sm", weight: "medium", children: "Description templates" }), _jsxs(Text, { size: "xs", color: "muted", children: ["What the seller form offers when a listing is filed here. One per condition band \u2014 worldhobbyshop reuses exactly two across 1,195 listings. Slots like", " ", _jsx(Span, { family: "mono", children: "{{title}}" }), ",", " ", _jsx(Span, { family: "mono", children: "{{brand}}" }), ",", " ", _jsx(Span, { family: "mono", children: "{{condition}}" }), " and", " ", _jsx(Span, { family: "mono", children: "{{series}}" }), " are filled from the listing; an unresolved one becomes empty and is reported to the seller, never left as a literal brace pair."] }), _jsx(Repeater, { rows: templates, onChange: setTemplates, blank: () => ({ id: "", label: "", variant: "default", body: "" }), addLabel: "Add a template", max: 8, renderRow: (row, set) => (_jsxs(_Fragment, { children: [_jsxs(Div, { layout: "grid", gap: "4", className: "sm:grid-cols-2", children: [_jsx(Input, { label: "Label", value: row.label, onChange: (e) => set({ label: e.target.value }), placeholder: "Pre-owned \u2014 condition as pictured" }), _jsx(Select, { label: "Condition band", value: row.variant, onChange: (e) => set({ variant: e.target.value }), options: TEMPLATE_VARIANT_OPTIONS })] }), _jsx(Textarea, { value: row.body, onChange: (e) => set({ body: e.target.value }), rows: 6, placeholder: "Important things to know about {{title}} \u2014 HTML permitted\u2026" }), _jsx(Text, { size: "xs", color: "muted", children: usedPlaceholders(row.body).length > 0
|
|
436
|
+
? `Slots used: ${usedPlaceholders(row.body).map((p) => `{{${p}}}`).join(", ")}`
|
|
437
|
+
: "No slots used — this body will read identically on every listing." })] })) })] })] })),
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
id: "defaults",
|
|
441
|
+
label: "Product defaults",
|
|
442
|
+
fields: ["taxCodeId", "weightG", "dimL", "dimW", "dimH", "seoTitleTemplate", "seoDescriptionTemplate"],
|
|
443
|
+
render: ({ values: v, onChange, errors }) => (_jsxs(Stack, { gap: "md", children: [_jsx(Text, { size: "xs", color: "muted", children: "What a listing filed under this category inherits. Written server-side when the product omits the field, and resolved PER FIELD up the ancestor chain \u2014 so a named-model leaf can supply its own features while the tax code and spec rows come from the line above it." }), _jsxs(Stack, { gap: "xs", children: [_jsx(Text, { size: "sm", weight: "medium", children: "Tax code" }), _jsx(PaginatedSelect, { value: String(v.taxCodeId ?? "") || null, onChange: (val) => onChange({ taxCodeId: val ?? "" }), loadOptions: loadTaxCodeOptions, placeholder: "Search tax codes\u2026", searchPlaceholder: "HSN or label\u2026", noResultsText: "No tax codes found", ariaLabel: "Tax code" }), _jsx(Text, { size: "xs", color: "muted", children: "\uD83D\uDED1 This is the GST mechanism, not a nicety. A listing whose category resolves no tax code falls back to a default rate and is flagged for triage \u2014 and the measure of success is that the fallback fires for nothing." })] }), _jsxs(Div, { layout: "grid", gap: "4", className: "sm:grid-cols-2", children: [_jsx(Select, { label: "Default condition", value: String(v.defaultCondition ?? ""), onChange: (e) => onChange({ defaultCondition: e.target.value }), options: CONDITION_DEFAULT_OPTIONS }), _jsx(Select, { label: "Default authenticity", value: String(v.defaultAuthenticity ?? ""), onChange: (e) => onChange({ defaultAuthenticity: e.target.value }), options: AUTHENTICITY_OPTIONS })] }), _jsxs(Stack, { gap: "xs", children: [_jsx(Text, { size: "sm", weight: "medium", children: "Specification rows" }), _jsx(Repeater, { rows: specs, onChange: setSpecs, blank: () => ({ name: "", value: "", unit: "" }), addLabel: "Add a specification", max: 20, renderRow: (row, set) => (_jsxs(Div, { layout: "grid", gap: "4", className: "sm:grid-cols-3", children: [_jsx(Input, { label: "Name", value: row.name, onChange: (e) => set({ name: e.target.value }), placeholder: "System" }), _jsx(Input, { label: "Value", value: row.value, onChange: (e) => set({ value: e.target.value }), placeholder: "Magne Core" }), _jsx(Input, { label: "Unit", value: row.unit ?? "", onChange: (e) => set({ unit: e.target.value }), placeholder: "g" })] })) })] }), _jsxs(Stack, { gap: "xs", children: [_jsx(Text, { size: "sm", weight: "medium", children: "What's in the box \u2014 one per line" }), _jsx(Textarea, { value: String(v.inTheBoxText ?? ""), onChange: (e) => onChange({ inTheBoxText: e.target.value }), rows: 4, placeholder: "Beyblade top\nLauncher\nRipcord\nManual" }), _jsx(Text, { size: "xs", color: "muted", children: "Read by the description-template endpoint to fill the new-in-box body's list. Deliberately NOT written to the product's `features` field, which holds feature ids \u2014 putting prose there would break every facet on the listing." })] }), _jsxs(Div, { layout: "grid", gap: "4", className: "sm:grid-cols-2", children: [_jsx(Input, { label: "SEO title template", value: String(v.seoTitleTemplate ?? ""), onChange: (e) => onChange({ seoTitleTemplate: e.target.value }), placeholder: "{{title}} \u2014 {{brand}} | {{siteName}}", error: errors.seoTitleTemplate }), _jsx(Input, { label: "SEO description template", value: String(v.seoDescriptionTemplate ?? ""), onChange: (e) => onChange({ seoDescriptionTemplate: e.target.value }), placeholder: "Buy {{title}} in India\u2026", error: errors.seoDescriptionTemplate })] }), _jsxs(Stack, { gap: "xs", children: [_jsx(Text, { size: "sm", weight: "medium", children: "SEO keywords \u2014 one per line" }), _jsx(Textarea, { value: String(v.seoKeywordsText ?? ""), onChange: (e) => onChange({ seoKeywordsText: e.target.value }), rows: 3 })] }), _jsxs(Div, { layout: "grid", gap: "4", className: "sm:grid-cols-4", children: [_jsx(Input, { label: "Packed weight (g)", value: String(v.weightG ?? ""), onChange: (e) => onChange({ weightG: e.target.value }), placeholder: "300", error: errors.weightG, helperText: "Boxed, not the bare item." }), _jsx(Input, { label: "Length (cm)", value: String(v.dimL ?? ""), onChange: (e) => onChange({ dimL: e.target.value }), error: errors.dimL }), _jsx(Input, { label: "Width (cm)", value: String(v.dimW ?? ""), onChange: (e) => onChange({ dimW: e.target.value }), error: errors.dimW }), _jsx(Input, { label: "Height (cm)", value: String(v.dimH ?? ""), onChange: (e) => onChange({ dimH: e.target.value }), error: errors.dimH })] }), _jsx(Text, { size: "xs", color: "muted", children: "\uD83D\uDED1 The weight is a PACKED weight \u2014 a bey is ~30 g and ~300 g boxed. This figure drives the shipping estimate the buyer pays, and the seller's booking is capped at what was collected, so an item weight here under-estimates every booking and the difference is absorbed silently. All three dimensions or none." }), _jsx(Toggle, { label: "Fragile by default", checked: v.fragile === true, onChange: (checked) => onChange({ fragile: checked }) })] })),
|
|
444
|
+
},
|
|
445
|
+
]
|
|
446
|
+
: []),
|
|
447
|
+
], [isEdit, faqs, specs, templates]);
|
|
182
448
|
const nav = useSectionFormNav(sections, values);
|
|
183
449
|
const { shellCtx } = useFormShellState(categoryFormSchema, {
|
|
184
450
|
sections: nav.sectionMeta,
|
|
@@ -10,10 +10,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
10
10
|
* of a three-option sort array. See listing-type-listing-config.ts.
|
|
11
11
|
*/
|
|
12
12
|
import React from "react";
|
|
13
|
-
import { ListingLayout } from "../../../ui";
|
|
14
|
-
import { buildListingTypeListingConfig } from "../../products/config/listing-type-listing-config";
|
|
15
|
-
import { DataListingView } from "./DataListingView";
|
|
16
|
-
import { useAvailabilityScope } from "../../products/hooks/useAvailabilityScope";
|
|
13
|
+
import { ListingLayout } from "../../../ui/index.js";
|
|
14
|
+
import { buildListingTypeListingConfig } from "../../products/config/listing-type-listing-config.js";
|
|
15
|
+
import { DataListingView } from "./DataListingView.js";
|
|
16
|
+
import { useAvailabilityScope } from "../../products/hooks/useAvailabilityScope.js";
|
|
17
17
|
const LISTING_TYPES = ["classified"];
|
|
18
18
|
const CONFIG_OPTS = {
|
|
19
19
|
title: "Classified",
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Span, useApiMutation } from "@mohasinac/appkit/client";
|
|
4
4
|
import { useQueryClient } from "@tanstack/react-query";
|
|
5
|
-
import { Button, Div, FormActions, Row, SideDrawer, Stack, Text, useToast } from "../../../ui";
|
|
6
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
7
|
-
import { apiClient } from "../../../http";
|
|
5
|
+
import { Button, Div, FormActions, Row, SideDrawer, Stack, Text, useToast } from "../../../ui/index.js";
|
|
6
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
7
|
+
import { apiClient } from "../../../http/index.js";
|
|
8
8
|
const __P = {
|
|
9
9
|
p3: "p-[var(--appkit-space-3)]",
|
|
10
10
|
p4: "p-[var(--appkit-space-4)]",
|
|
@@ -5,16 +5,16 @@ import { sieveFilter, SIEVE_OP } from "@mohasinac/appkit/client";
|
|
|
5
5
|
import { sortBy } from "@mohasinac/appkit/client";
|
|
6
6
|
import React, { useState } from "react";
|
|
7
7
|
import { useQueryClient } from "@tanstack/react-query";
|
|
8
|
-
import { ConfirmDeleteModal, FilterChipGroup, ListingLayout, RowActionMenu, useToast } from "../../../ui";
|
|
9
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
10
|
-
import { ACTIONS } from "../../../_internal/shared/actions/action-registry";
|
|
11
|
-
import { buildBulkAction } from "../../../_internal/shared/actions/bulk-helpers";
|
|
12
|
-
import { ROW_ACTION_META, ROW_ACTION_ID } from "../../../features/products/constants/action-defs";
|
|
13
|
-
import { ADMIN_CONTACT_STATUS_TABS } from "../constants/filter-tabs";
|
|
14
|
-
import { toRecordArray, toRelativeDate, toStringValue, } from "../hooks/useAdminListingData";
|
|
15
|
-
import { DataListingView } from "./DataListingView";
|
|
16
|
-
import { AdminContactEditorView } from "./AdminContactEditorView";
|
|
17
|
-
import { apiClient } from "../../../http";
|
|
8
|
+
import { ConfirmDeleteModal, FilterChipGroup, ListingLayout, RowActionMenu, useToast } from "../../../ui/index.js";
|
|
9
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
10
|
+
import { ACTIONS } from "../../../_internal/shared/actions/action-registry.js";
|
|
11
|
+
import { buildBulkAction } from "../../../_internal/shared/actions/bulk-helpers.js";
|
|
12
|
+
import { ROW_ACTION_META, ROW_ACTION_ID } from "../../../features/products/constants/action-defs.js";
|
|
13
|
+
import { ADMIN_CONTACT_STATUS_TABS } from "../constants/filter-tabs.js";
|
|
14
|
+
import { toRecordArray, toRelativeDate, toStringValue, } from "../hooks/useAdminListingData.js";
|
|
15
|
+
import { DataListingView } from "./DataListingView.js";
|
|
16
|
+
import { AdminContactEditorView } from "./AdminContactEditorView.js";
|
|
17
|
+
import { apiClient } from "../../../http/index.js";
|
|
18
18
|
export function AdminContactView({ children, onBulkMarkRead, onBulkArchive, onBulkDelete, ...props }) {
|
|
19
19
|
const queryClient = useQueryClient();
|
|
20
20
|
const { showToast } = useToast();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { FileText, Calendar, BookOpen, Layout, Grid, Megaphone, Mail } from "lucide-react";
|
|
3
|
-
import { Alert, Code, Div, Heading, Li, Row, Section, Span, Stack, Text, Ul } from "../../../ui";
|
|
4
|
-
import { GC } from "../../_guide-cls";
|
|
3
|
+
import { Alert, Code, Div, Heading, Li, Row, Section, Span, Stack, Text, Ul } from "../../../ui/index.js";
|
|
4
|
+
import { GC } from "../../_guide-cls.js";
|
|
5
5
|
export function AdminContentGuideView() {
|
|
6
6
|
return (_jsxs(Stack, { className: "max-w-3xl mx-auto", padding: "b-2xl", gap: "xl", children: [_jsxs(Section, { children: [_jsxs(Row, { className: "mb-2", align: "center", gap: "3", children: [_jsx(Row, { className: "flex-shrink-0 w-10 h-10 [background:linear-gradient(135deg,var(--appkit-color-primary-700)_0%,var(--appkit-color-cobalt)_100%)]", align: "center", justify: "center", rounded: "xl", children: _jsx(FileText, { className: "w-5 h-5 text-white" }) }), _jsx(Text, { className: "text-[var(--appkit-color-text-muted)] tracking-widest", size: "sm", weight: "semibold", transform: "uppercase", children: "Admin Guide" })] }), _jsx(Heading, { level: 1, className: "text-[var(--appkit-color-text)] mb-2", mdSize: "3xl", size: "2xl", weight: "bold", children: "Content & Marketing" }), _jsx(Text, { className: "text-[var(--appkit-color-text-muted)]", children: "Blog posts, events, FAQs, carousel, homepage sections, ads, and newsletter on LetItRip." })] }), [
|
|
7
7
|
{
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { normalizeError } from "../../../errors/normalize";
|
|
3
|
+
import { normalizeError } from "../../../errors/normalize.js";
|
|
4
4
|
import { useApiMutation } from "@mohasinac/appkit/client";
|
|
5
5
|
import React from "react";
|
|
6
6
|
import { useQuery } from "@tanstack/react-query";
|
|
7
|
-
import { ConfirmDeleteModal, Div, StackedViewShell, useToast } from "../../../ui";
|
|
8
|
-
import { FieldInput, FormErrorSummary } from "../../../ui/forms";
|
|
9
|
-
import { apiClient } from "../../../http";
|
|
10
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
11
|
-
import { adminCouponFormSchema } from "../../seller/schemas/coupon-form";
|
|
12
|
-
import { FormShellContext, useFormShellState } from "../../../ui/forms/FormShell";
|
|
13
|
-
import { applyZodIssues } from "../../../ui/forms/apply-zod-issues";
|
|
14
|
-
import { buildSectionsFromSchema, visibleValues } from "../../shell/build-sections";
|
|
15
|
-
import { SectionForm, useSectionFormNav } from "../../shell/SectionForm";
|
|
16
|
-
import { ProductInlineSelect } from "../../seller/components/ProductInlineSelect";
|
|
17
|
-
import { CategoryChipPicker } from "../../seller/components/CategoryChipPicker";
|
|
7
|
+
import { ConfirmDeleteModal, Div, StackedViewShell, useToast } from "../../../ui/index.js";
|
|
8
|
+
import { FieldInput, FormErrorSummary } from "../../../ui/forms/index.js";
|
|
9
|
+
import { apiClient } from "../../../http/index.js";
|
|
10
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
11
|
+
import { adminCouponFormSchema } from "../../seller/schemas/coupon-form.js";
|
|
12
|
+
import { FormShellContext, useFormShellState } from "../../../ui/forms/FormShell.js";
|
|
13
|
+
import { applyZodIssues } from "../../../ui/forms/apply-zod-issues.js";
|
|
14
|
+
import { buildSectionsFromSchema, visibleValues } from "../../shell/build-sections.js";
|
|
15
|
+
import { SectionForm, useSectionFormNav } from "../../shell/SectionForm.js";
|
|
16
|
+
import { ProductInlineSelect } from "../../seller/components/ProductInlineSelect.js";
|
|
17
|
+
import { CategoryChipPicker } from "../../seller/components/CategoryChipPicker.js";
|
|
18
18
|
const __P = {
|
|
19
19
|
p4: "p-[var(--appkit-space-4)]",
|
|
20
20
|
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { normalizeError } from "../../../errors/normalize";
|
|
3
|
+
import { normalizeError } from "../../../errors/normalize.js";
|
|
4
4
|
import { SIEVE_OP, Stack, sieveFilter } from "@mohasinac/appkit/client";
|
|
5
5
|
import { sortBy } from "@mohasinac/appkit/client";
|
|
6
6
|
import React, { useCallback } from "react";
|
|
7
7
|
import { useQueryClient } from "@tanstack/react-query";
|
|
8
|
-
import { Div, Grid, FilterChipGroup, ListingLayout, Text, useToast } from "../../../ui";
|
|
9
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
10
|
-
import { ROW_ACTION_META, ROW_ACTION_ID, ADMIN_BULK_ACTIONS } from "../../products/constants/action-defs";
|
|
11
|
-
import { ADMIN_COUPON_TYPE_TABS } from "../constants/filter-tabs";
|
|
12
|
-
import { apiClient } from "../../../http";
|
|
13
|
-
import { toRecordArray, toStringValue, } from "../hooks/useAdminListingData";
|
|
14
|
-
import { DataListingView } from "./DataListingView";
|
|
15
|
-
import { AdminCouponEditorView } from "./AdminCouponEditorView";
|
|
16
|
-
import { CouponCard } from "../../promotions/components/CouponCard";
|
|
8
|
+
import { Div, Grid, FilterChipGroup, ListingLayout, Text, useToast } from "../../../ui/index.js";
|
|
9
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
10
|
+
import { ROW_ACTION_META, ROW_ACTION_ID, ADMIN_BULK_ACTIONS } from "../../products/constants/action-defs.js";
|
|
11
|
+
import { ADMIN_COUPON_TYPE_TABS } from "../constants/filter-tabs.js";
|
|
12
|
+
import { apiClient } from "../../../http/index.js";
|
|
13
|
+
import { toRecordArray, toStringValue, } from "../hooks/useAdminListingData.js";
|
|
14
|
+
import { DataListingView } from "./DataListingView.js";
|
|
15
|
+
import { AdminCouponEditorView } from "./AdminCouponEditorView.js";
|
|
16
|
+
import { CouponCard } from "../../promotions/components/CouponCard.js";
|
|
17
17
|
export function AdminCouponsView({ children, onBulkArchive, onBulkDelete, ...props }) {
|
|
18
18
|
const { showToast } = useToast();
|
|
19
19
|
const queryClient = useQueryClient();
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useQuery } from "@tanstack/react-query";
|
|
4
|
-
import { StackedViewShell } from "../../../ui";
|
|
5
|
-
import { Alert } from "../../../ui";
|
|
6
|
-
import { apiClient } from "../../../http";
|
|
7
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
8
|
-
import { DashboardStatsGrid } from "./DashboardStats";
|
|
4
|
+
import { StackedViewShell } from "../../../ui/index.js";
|
|
5
|
+
import { Alert } from "../../../ui/index.js";
|
|
6
|
+
import { apiClient } from "../../../http/index.js";
|
|
7
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
8
|
+
import { DashboardStatsGrid } from "./DashboardStats.js";
|
|
9
9
|
export function AdminDashboardView({ labels = {}, endpoint = ADMIN_ENDPOINTS.DASHBOARD, stats = {}, isLoading = false, renderStats, renderQuickActions, renderRecentActivity, renderAlerts, renderCharts, ...rest }) {
|
|
10
10
|
const shouldFetch = Object.keys(stats).length === 0;
|
|
11
11
|
const query = useQuery({
|
|
@@ -10,10 +10,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
10
10
|
* of a three-option sort array. See listing-type-listing-config.ts.
|
|
11
11
|
*/
|
|
12
12
|
import React from "react";
|
|
13
|
-
import { ListingLayout } from "../../../ui";
|
|
14
|
-
import { buildListingTypeListingConfig } from "../../products/config/listing-type-listing-config";
|
|
15
|
-
import { DataListingView } from "./DataListingView";
|
|
16
|
-
import { useAvailabilityScope } from "../../products/hooks/useAvailabilityScope";
|
|
13
|
+
import { ListingLayout } from "../../../ui/index.js";
|
|
14
|
+
import { buildListingTypeListingConfig } from "../../products/config/listing-type-listing-config.js";
|
|
15
|
+
import { DataListingView } from "./DataListingView.js";
|
|
16
|
+
import { useAvailabilityScope } from "../../products/hooks/useAvailabilityScope.js";
|
|
17
17
|
const LISTING_TYPES = ["digital-code"];
|
|
18
18
|
const CONFIG_OPTS = {
|
|
19
19
|
title: "Digital Codes",
|
|
@@ -3,16 +3,16 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import { useApiMutation } from "@mohasinac/appkit/client";
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { useQueryClient } from "@tanstack/react-query";
|
|
6
|
-
import { Checkbox, ConfirmDeleteModal, Details, Div, PaginatedSelect, SideDrawer, Span, Stack, Summary, Text, useToast } from "../../../ui";
|
|
7
|
-
import { apiClient } from "../../../http";
|
|
8
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
9
|
-
import { PERMISSION_GROUPS, PERMISSION_DOMAINS, getPermissionsForDomain, formatPermLabel, } from "../../auth/permissions/constants";
|
|
10
|
-
import { employeeInviteSchema, employeePermissionsSchema, } from "../schemas/admin-ops-forms";
|
|
11
|
-
import { FormErrorSummary } from "../../../ui/forms/FormErrorSummary";
|
|
12
|
-
import { FormShellContext, useFormShellState } from "../../../ui/forms/FormShell";
|
|
13
|
-
import { applyZodIssues } from "../../../ui/forms/apply-zod-issues";
|
|
14
|
-
import { buildSectionsFromSchema, visibleValues } from "../../shell/build-sections";
|
|
15
|
-
import { SectionForm, useSectionFormNav } from "../../shell/SectionForm";
|
|
6
|
+
import { Checkbox, ConfirmDeleteModal, Details, Div, PaginatedSelect, SideDrawer, Span, Stack, Summary, Text, useToast } from "../../../ui/index.js";
|
|
7
|
+
import { apiClient } from "../../../http/index.js";
|
|
8
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
9
|
+
import { PERMISSION_GROUPS, PERMISSION_DOMAINS, getPermissionsForDomain, formatPermLabel, } from "../../auth/permissions/constants.js";
|
|
10
|
+
import { employeeInviteSchema, employeePermissionsSchema, } from "../schemas/admin-ops-forms.js";
|
|
11
|
+
import { FormErrorSummary } from "../../../ui/forms/FormErrorSummary.js";
|
|
12
|
+
import { FormShellContext, useFormShellState } from "../../../ui/forms/FormShell.js";
|
|
13
|
+
import { applyZodIssues } from "../../../ui/forms/apply-zod-issues.js";
|
|
14
|
+
import { buildSectionsFromSchema, visibleValues } from "../../shell/build-sections.js";
|
|
15
|
+
import { SectionForm, useSectionFormNav } from "../../shell/SectionForm.js";
|
|
16
16
|
const __O = {
|
|
17
17
|
yAuto: "overflow-y-auto",
|
|
18
18
|
};
|
|
@@ -4,12 +4,12 @@ import { useApiMutation } from "@mohasinac/appkit/client";
|
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { useQuery } from "@tanstack/react-query";
|
|
6
6
|
import { z } from "zod";
|
|
7
|
-
import { ConfirmDeleteModal, Div, Input, RichTextEditor, Select, Stack, StackedViewShell, TagInput, Text, Toggle, useToast } from "../../../ui";
|
|
8
|
-
import { FieldInput, FormErrorSummary, FormShellContext, useFormShellState } from "../../../ui/forms";
|
|
9
|
-
import { SectionForm, useSectionFormNav } from "../../shell";
|
|
10
|
-
import { apiClient } from "../../../http";
|
|
11
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
12
|
-
import { FAQ_CATEGORY_LABELS } from "../../faq/schemas/firestore";
|
|
7
|
+
import { ConfirmDeleteModal, Div, Input, RichTextEditor, Select, Stack, StackedViewShell, TagInput, Text, Toggle, useToast } from "../../../ui/index.js";
|
|
8
|
+
import { FieldInput, FormErrorSummary, FormShellContext, useFormShellState } from "../../../ui/forms/index.js";
|
|
9
|
+
import { SectionForm, useSectionFormNav } from "../../shell/index.js";
|
|
10
|
+
import { apiClient } from "../../../http/index.js";
|
|
11
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
12
|
+
import { FAQ_CATEGORY_LABELS } from "../../faq/schemas/firestore.js";
|
|
13
13
|
/**
|
|
14
14
|
* Matches the draft this form actually holds, and the payload it actually
|
|
15
15
|
* sends.
|
|
@@ -3,12 +3,12 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import { SIEVE_OP, Stack, sieveFilter } from "@mohasinac/appkit/client";
|
|
4
4
|
import { sortBy } from "@mohasinac/appkit/client";
|
|
5
5
|
import React, { useMemo } from "react";
|
|
6
|
-
import { FilterChipGroup, Heading, ListingLayout, Span, Text } from "../../../ui";
|
|
7
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
8
|
-
import { ADMIN_BULK_ACTIONS, ROW_ACTION_META, ROW_ACTION_ID } from "../../products/constants/action-defs";
|
|
9
|
-
import { toRecordArray, toRelativeDate, toStringValue, } from "../hooks/useAdminListingData";
|
|
10
|
-
import { DataListingView } from "./DataListingView";
|
|
11
|
-
import { AdminFaqEditorView } from "./AdminFaqEditorView";
|
|
6
|
+
import { FilterChipGroup, Heading, ListingLayout, Span, Text } from "../../../ui/index.js";
|
|
7
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
8
|
+
import { ADMIN_BULK_ACTIONS, ROW_ACTION_META, ROW_ACTION_ID } from "../../products/constants/action-defs.js";
|
|
9
|
+
import { toRecordArray, toRelativeDate, toStringValue, } from "../hooks/useAdminListingData.js";
|
|
10
|
+
import { DataListingView } from "./DataListingView.js";
|
|
11
|
+
import { AdminFaqEditorView } from "./AdminFaqEditorView.js";
|
|
12
12
|
const COLUMNS = [
|
|
13
13
|
{
|
|
14
14
|
key: "primary",
|
|
@@ -4,15 +4,15 @@ import { Row } from "@mohasinac/appkit/ui";
|
|
|
4
4
|
import { useApiMutation } from "@mohasinac/appkit/client";
|
|
5
5
|
import React from "react";
|
|
6
6
|
import { useQuery } from "@tanstack/react-query";
|
|
7
|
-
import { Checkbox, ConfirmDeleteModal, Div, Label, StackedViewShell, Text, useToast, } from "../../../ui";
|
|
8
|
-
import { apiClient } from "../../../http";
|
|
9
|
-
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
10
|
-
import { FormErrorSummary, applyZodIssues } from "../../../ui/forms";
|
|
11
|
-
import { FormShellContext, useFormShellState } from "../../../ui/forms/FormShell";
|
|
12
|
-
import { buildSectionsFromSchema, visibleValues } from "../../shell/build-sections";
|
|
13
|
-
import { SectionForm, useSectionFormNav } from "../../shell/SectionForm";
|
|
14
|
-
import { productFeatureFormSchema } from "../../products/schemas/product-features.validators";
|
|
15
|
-
import { PRODUCT_FEATURE_CATEGORY_OPTIONS, PRODUCT_FEATURE_DEFAULT_DISPLAY_ORDER, PRODUCT_FEATURE_ICON_COLOR_OPTIONS, PRODUCT_FEATURE_PRODUCT_TYPE_OPTIONS, PRODUCT_FEATURE_SCOPE_OPTIONS, } from "../../products/constants/product-features.constants";
|
|
7
|
+
import { Checkbox, ConfirmDeleteModal, Div, Label, StackedViewShell, Text, useToast, } from "../../../ui/index.js";
|
|
8
|
+
import { apiClient } from "../../../http/index.js";
|
|
9
|
+
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
10
|
+
import { FormErrorSummary, applyZodIssues } from "../../../ui/forms/index.js";
|
|
11
|
+
import { FormShellContext, useFormShellState } from "../../../ui/forms/FormShell.js";
|
|
12
|
+
import { buildSectionsFromSchema, visibleValues } from "../../shell/build-sections.js";
|
|
13
|
+
import { SectionForm, useSectionFormNav } from "../../shell/SectionForm.js";
|
|
14
|
+
import { productFeatureFormSchema } from "../../products/schemas/product-features.validators.js";
|
|
15
|
+
import { PRODUCT_FEATURE_CATEGORY_OPTIONS, PRODUCT_FEATURE_DEFAULT_DISPLAY_ORDER, PRODUCT_FEATURE_ICON_COLOR_OPTIONS, PRODUCT_FEATURE_PRODUCT_TYPE_OPTIONS, PRODUCT_FEATURE_SCOPE_OPTIONS, } from "../../products/constants/product-features.constants.js";
|
|
16
16
|
const __P = {
|
|
17
17
|
p4: "p-[var(--appkit-space-4)]",
|
|
18
18
|
};
|