@mohasinac/appkit 4.44.0 โ 4.46.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/data.js +4 -4
- package/dist/_internal/server/features/categories/index.js +2 -2
- package/dist/_internal/server/features/categories/live-counts.d.ts +41 -0
- package/dist/_internal/server/features/categories/live-counts.js +72 -0
- 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 +186 -52
- package/dist/_internal/server/features/checkout/bundle-expansion.js +3 -3
- package/dist/_internal/server/features/checkout/expand-order-items.js +23 -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 +31 -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/parts/assembly.d.ts +126 -0
- package/dist/_internal/server/features/parts/assembly.js +246 -0
- package/dist/_internal/server/features/parts/data.d.ts +65 -0
- package/dist/_internal/server/features/parts/data.js +170 -0
- package/dist/_internal/server/features/parts/og.d.ts +34 -0
- package/dist/_internal/server/features/parts/og.js +66 -0
- 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/search/search-everything.d.ts +75 -0
- package/dist/_internal/server/features/search/search-everything.js +120 -0
- package/dist/_internal/server/features/search/search-sources.d.ts +17 -0
- package/dist/_internal/server/features/search/search-sources.js +138 -0
- 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 +13 -13
- 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 +44 -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.js +2 -2
- package/dist/_internal/server/jobs/core/adminAnalytics.js +3 -3
- package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.js +6 -6
- 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 +5 -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/categoryTaxonomyBackfill.d.ts +70 -0
- package/dist/_internal/server/jobs/core/categoryTaxonomyBackfill.js +302 -0
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +5 -5
- package/dist/_internal/server/jobs/core/countersReconcile.js +135 -26
- 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 +19 -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 +76 -6
- 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 +99 -49
- 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.js +74 -4
- 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/productViewWindows.d.ts +2 -0
- package/dist/_internal/server/jobs/core/productViewWindows.js +173 -0
- 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/testDataCleanup.d.ts +1 -1
- package/dist/_internal/server/jobs/core/testDataCleanup.js +29 -3
- package/dist/_internal/server/jobs/core/triggerEventRaffle.js +1 -1
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +5 -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.js +1 -1
- 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.js +54 -54
- 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.js +1 -1
- 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.d.ts +20 -0
- package/dist/_internal/server/jobs/handlers/pageViewRollup.js +26 -2
- 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.js +1 -1
- 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.js +1 -1
- 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 +45 -0
- package/dist/_internal/shared/checkout/lanes.js +1 -1
- package/dist/_internal/shared/checkout/order-math.js +2 -2
- 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.js +1 -1
- 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 +6 -6
- 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 +313 -0
- package/dist/_internal/shared/features/shipping/protections.js +340 -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/wishlist/errors.js +1 -1
- package/dist/_internal/shared/fees/calculator.d.ts +24 -0
- package/dist/_internal/shared/fees/calculator.js +12 -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.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.js +5 -5
- package/dist/_internal/shared/listing-types/digital-code/config.js +6 -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.js +4 -4
- 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/search/part-aliases.d.ts +44 -0
- package/dist/_internal/shared/search/part-aliases.js +104 -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 +4 -0
- package/dist/client.js +336 -332
- package/dist/constants/api-endpoints.d.ts +34 -12
- package/dist/constants/api-endpoints.js +23 -8
- package/dist/constants/cache-invalidation.js +1 -1
- package/dist/constants/field-names.d.ts +2 -2
- package/dist/constants/field-names.js +10 -2
- package/dist/constants/index.d.ts +1 -1
- 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/hooks/useSiteSettings.js +2 -2
- package/dist/core/hooks/useSyncManager.js +3 -3
- package/dist/core/index.d.ts +0 -3
- package/dist/core/index.js +15 -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/messages.d.ts +0 -7
- package/dist/errors/messages.js +0 -8
- 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 +1 -1
- package/dist/features/admin/actions/admin-actions.js +17 -17
- 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 +7 -7
- 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 +13 -13
- package/dist/features/admin/components/AdminProductsView.js +15 -15
- 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 +98 -47
- 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 +23 -19
- 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.js +8 -8
- package/dist/features/admin/components/AdminTaxCodesView.js +5 -5
- 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 +1 -1
- 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/components/sections/sectionTemplates.d.ts +117 -0
- package/dist/features/admin/components/sections/sectionTemplates.js +213 -0
- 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 +44 -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.d.ts +0 -1
- 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/permissions/constants.d.ts +1 -1
- package/dist/features/auth/permissions/constants.js +0 -2
- 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/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.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 +12 -12
- 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.js +44 -5
- package/dist/features/categories/api/[id]/route.js +4 -4
- package/dist/features/categories/api/route.js +8 -8
- package/dist/features/categories/columns/index.js +1 -1
- package/dist/features/categories/components/BrandDetailPageView.js +71 -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 +193 -18
- 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.js +14 -6
- 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/hooks/useCategories.js +3 -3
- package/dist/features/categories/hooks/useCategorySelector.js +2 -2
- package/dist/features/categories/hooks/useCategoryTree.js +3 -3
- package/dist/features/categories/index.js +7 -7
- package/dist/features/categories/repository/categories.repository.d.ts +65 -0
- package/dist/features/categories/repository/categories.repository.js +176 -30
- package/dist/features/categories/repository/category-counts.d.ts +143 -0
- package/dist/features/categories/repository/category-counts.js +224 -0
- package/dist/features/categories/repository/price-index.repository.d.ts +69 -0
- package/dist/features/categories/repository/price-index.repository.js +31 -1
- package/dist/features/categories/schemas/bundle-form.js +3 -3
- package/dist/features/categories/schemas/category-counts.d.ts +155 -0
- package/dist/features/categories/schemas/category-counts.js +116 -0
- package/dist/features/categories/schemas/firestore.d.ts +0 -2
- package/dist/features/categories/schemas/firestore.js +2 -3
- package/dist/features/categories/schemas/index.d.ts +60 -60
- package/dist/features/categories/schemas/index.js +2 -2
- package/dist/features/categories/server.js +5 -5
- package/dist/features/categories/utils/breadcrumb-chain.d.ts +194 -0
- package/dist/features/categories/utils/breadcrumb-chain.js +202 -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/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.d.ts +4 -4
- 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/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.js +3 -2
- 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 +108 -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 +33 -0
- package/dist/features/orders/utils/order-splitter.js +2 -2
- package/dist/features/parts/components/AssemblyDrawer.d.ts +107 -0
- package/dist/features/parts/components/AssemblyDrawer.js +250 -0
- package/dist/features/parts/components/ModelCompositionPanel.d.ts +37 -0
- package/dist/features/parts/components/ModelCompositionPanel.js +34 -0
- package/dist/features/parts/components/PartDetailPageView.d.ts +48 -0
- package/dist/features/parts/components/PartDetailPageView.js +20 -0
- package/dist/features/parts/components/PartsIndexPageView.d.ts +33 -0
- package/dist/features/parts/components/PartsIndexPageView.js +17 -0
- package/dist/features/parts/schemas/firestore.d.ts +257 -0
- package/dist/features/parts/schemas/firestore.js +181 -0
- package/dist/features/parts/utils/colourway-match.d.ts +62 -0
- package/dist/features/parts/utils/colourway-match.js +98 -0
- package/dist/features/parts/utils/part-breakdown.d.ts +53 -0
- package/dist/features/parts/utils/part-breakdown.js +77 -0
- 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.js +2 -2
- 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.d.ts +14 -1
- package/dist/features/products/components/ProductDetailPageView.js +50 -31
- 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.js +8 -8
- package/dist/features/products/components/ProductForm.js +15 -15
- 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.d.ts +3 -1
- package/dist/features/products/components/ProductTabsShell.js +6 -3
- 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.js +2 -2
- 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/category-assignment.d.ts +132 -0
- package/dist/features/products/repository/category-assignment.js +304 -0
- 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 +120 -38
- package/dist/features/products/repository/products.repository.js +448 -109
- package/dist/features/products/schemas/firestore.d.ts +172 -6
- package/dist/features/products/schemas/firestore.js +67 -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.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 +9 -9
- package/dist/features/promotions/schemas/firestore.js +1 -1
- 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/SearchResultsPageView.d.ts +33 -0
- package/dist/features/search/components/SearchResultsPageView.js +21 -0
- 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 +22 -22
- 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.js +6 -6
- 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 +11 -11
- 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 +23 -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 +30 -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.js +14 -14
- package/dist/features/seller/components/SellerProductsCards.js +5 -5
- package/dist/features/seller/components/SellerProductsFilterDrawer.js +4 -4
- package/dist/features/seller/components/SellerProductsView.js +234 -34
- 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/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/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/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 +86 -0
- 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.js +4 -4
- package/dist/features/tax-codes/schemas/tax-code-form.js +2 -2
- package/dist/features/tax-codes/schemas/tax-codes.validators.js +1 -1
- 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.js +1 -1
- 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.js +6 -6
- 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.js +4 -4
- 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.js +1 -1
- package/dist/features/tester/schemas/index.js +1 -1
- package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -15
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +166 -0
- package/dist/features/tester/seed-data/authored/index.js +120 -118
- 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 +32 -5
- 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 +31 -19
- package/dist/index.js +2023 -1978
- 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 +10 -2
- package/dist/next/routing/route-map.js +23 -1
- 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 +85 -0
- package/dist/providers/db-firebase/base.repository.js +150 -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 -3
- package/dist/repositories/index.js +54 -51
- package/dist/schemas/index.js +1 -1
- package/dist/schemas/registry.d.ts +102 -102
- 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.js +2 -2
- package/dist/seed/_helpers/category-content.d.ts +29 -0
- package/dist/seed/_helpers/category-content.js +98 -1
- package/dist/seed/_helpers/category-forest.js +106 -26
- package/dist/seed/_helpers/category-parts.d.ts +9 -0
- package/dist/seed/_helpers/category-parts.js +4594 -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.js +1 -1
- package/dist/seed/blog-posts-seed-data.js +2 -2
- package/dist/seed/carousel-slides-seed-data.js +83 -10
- package/dist/seed/cart-seed-data.js +2 -2
- package/dist/seed/categories-seed-data.js +53 -15
- 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 +172 -11
- package/dist/seed/index.d.ts +3 -0
- package/dist/seed/index.js +88 -68
- package/dist/seed/manifest.js +43 -43
- package/dist/seed/model-composition-seed-data.d.ts +15 -0
- package/dist/seed/model-composition-seed-data.js +8918 -0
- 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/part-glossary-seed-data.d.ts +15 -0
- package/dist/seed/part-glossary-seed-data.js +10729 -0
- package/dist/seed/payouts-seed-data.js +2 -2
- package/dist/seed/product-features-seed-data.js +2 -2
- package/dist/seed/products-art-seed-data.js +4 -4
- package/dist/seed/products-auctions-seed-data.js +4 -4
- package/dist/seed/products-classifieds-seed-data.js +5 -5
- package/dist/seed/products-digital-codes-seed-data.js +5 -5
- package/dist/seed/products-live-items-seed-data.js +5 -5
- package/dist/seed/products-preorders-seed-data.js +4 -4
- package/dist/seed/products-prize-draws-seed-data.js +5 -5
- package/dist/seed/products-standard-seed-data.js +56 -4
- package/dist/seed/products-stickers-seed-data.js +4 -4
- 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 +299 -0
- package/dist/seed/seed-purpose.js +416 -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 +9 -3
- package/dist/seed/store-addresses-seed-data.js +1 -1
- package/dist/seed/store-extensions-seed-data.js +1 -1
- package/dist/seed/stores-seed-data.js +3 -3
- package/dist/seed/support-tickets-seed-data.js +2 -2
- 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 +72 -1
- package/dist/seo/json-ld.js +87 -3
- package/dist/seo/metadata.js +1 -1
- package/dist/server-entry.js +78 -78
- package/dist/server.d.ts +19 -2
- package/dist/server.js +571 -544
- package/dist/styles.css +767 -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.js +0 -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.d.ts +30 -0
- package/dist/utils/id-generators.js +33 -3
- 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 +68 -0
- package/dist/utils/physical-location.js +82 -0
- package/dist/utils/safe-fire-forget.js +2 -2
- package/dist/utils/search-txt-builders.js +83 -1
- package/dist/utils/search-txt-query.d.ts +54 -6
- package/dist/utils/search-txt-query.js +79 -11
- package/dist/utils/search-txt.d.ts +22 -0
- package/dist/utils/search-txt.js +17 -0
- 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/values/success-messages.d.ts +0 -4
- package/dist/values/success-messages.js +0 -5
- 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 +452 -15
- package/dist/core/copilot-log.repository.d.ts +0 -44
- package/dist/core/copilot-log.repository.js +0 -61
- package/dist/features/copilot/components/AdminCopilotView.d.ts +0 -21
- package/dist/features/copilot/components/AdminCopilotView.js +0 -51
- package/dist/features/copilot/components/index.d.ts +0 -2
- package/dist/features/copilot/components/index.js +0 -1
- package/dist/features/copilot/hooks/useCopilotChat.d.ts +0 -25
- package/dist/features/copilot/hooks/useCopilotChat.js +0 -65
- package/dist/features/copilot/hooks/useCopilotFeedback.d.ts +0 -15
- package/dist/features/copilot/hooks/useCopilotFeedback.js +0 -15
- package/dist/features/copilot/index.d.ts +0 -3
- package/dist/features/copilot/index.js +0 -3
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* โโ Seed provenance: may a purge delete this row? โโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
3
|
+
*
|
|
4
|
+
* Every document written by `appkit-seed` carries a `seedPurpose`, and it is
|
|
5
|
+
* the ONE declaration of whether a row is real content or clearable test data.
|
|
6
|
+
* The purge reads it; nothing else decides.
|
|
7
|
+
*
|
|
8
|
+
* ## The rule this exists to enforce
|
|
9
|
+
*
|
|
10
|
+
* ๐ **Content comes from a seed FILE, never from a direct database write.**
|
|
11
|
+
* Not a one-off script, not a console paste, not a `node -e`. A row that exists
|
|
12
|
+
* only in Firestore cannot be reviewed in a diff, cannot be recreated after a
|
|
13
|
+
* purge, and cannot be found by anyone who did not watch it being written โ
|
|
14
|
+
* and when it references other rows, nothing updates it when those move.
|
|
15
|
+
*
|
|
16
|
+
* `seedPurpose` makes that rule *checkable*: a document with no `seedPurpose`
|
|
17
|
+
* was not written by the seeder, so the purge will not touch it.
|
|
18
|
+
*
|
|
19
|
+
* ## ๐ THE DEFAULT IS `test`, AND THE OPPOSITE WAS THIS FILE'S FIRST BUG
|
|
20
|
+
*
|
|
21
|
+
* The first version of this file defaulted every collection to `permanent`,
|
|
22
|
+
* reasoning that the dangerous direction is deleting something unrecoverable.
|
|
23
|
+
* **That reasoning was wrong here, and it made the purge a no-op.**
|
|
24
|
+
*
|
|
25
|
+
* This site has never gone live. There are no real customers, no real orders
|
|
26
|
+
* and no real payouts โ every user, store, listing, auction, order, bid and
|
|
27
|
+
* review in the seed was added TO EXERCISE THE PLATFORM. Classifying them
|
|
28
|
+
* `permanent` means "cannot be cleared", which is precisely the opposite of
|
|
29
|
+
* why the field was asked for.
|
|
30
|
+
*
|
|
31
|
+
* So the default is `test`, and `permanent` is the **narrow** exception: the
|
|
32
|
+
* handful of collections that are genuinely content rather than scaffolding.
|
|
33
|
+
*
|
|
34
|
+
* ## ๐ AND `isTestData` IS NOT DERIVED FROM THIS โ that was the second bug
|
|
35
|
+
*
|
|
36
|
+
* The first version wrote `isTestData: true` for every `test` row. That would
|
|
37
|
+
* have **hidden the entire demo catalogue from the public**, because
|
|
38
|
+
* `hidePublicTestData` filters on exactly that field โ 70 products, 416
|
|
39
|
+
* categories and every store would have vanished from every public page while
|
|
40
|
+
* the summary line read `created 2513, errors 0`.
|
|
41
|
+
*
|
|
42
|
+
* The two concerns are orthogonal and must stay separate:
|
|
43
|
+
*
|
|
44
|
+
* | Question | Field |
|
|
45
|
+
* |---|---|
|
|
46
|
+
* | May a purge delete this row? | **`seedPurpose`** (here) |
|
|
47
|
+
* | Should the public be able to SEE this row? | **`isTestData`** + `testDataExpiresAt` |
|
|
48
|
+
*
|
|
49
|
+
* A demo product is `test` (clearable) **and visible**. A tester-sandbox
|
|
50
|
+
* cross-store fixture is `test` **and hidden**. Those are different rows with
|
|
51
|
+
* different needs, and one field cannot answer both.
|
|
52
|
+
*
|
|
53
|
+
* `isTestData` therefore stays an explicit per-row opt-in, authored via
|
|
54
|
+
* `testDataExpiresAt()` in `./test-data-ttl.ts`, and this file never writes it.
|
|
55
|
+
*
|
|
56
|
+
* ## What it replaces
|
|
57
|
+
*
|
|
58
|
+
* Measured 2026-10-12, before this file existed: **47** seed data files, of
|
|
59
|
+
* which **one** carried any permanence marker; `isTestData` declared on **5**
|
|
60
|
+
* schemas; and `TEST_DATA_COLLECTIONS` listing **`offers`**, whose schema does
|
|
61
|
+
* not declare the field at all, so that entry could only ever match zero rows.
|
|
62
|
+
* `users`, `orders`, `faqs`, `reviews`, `bids`, `payouts` and `carts` had no
|
|
63
|
+
* marker and no purge path โ and users and orders are the two that were named.
|
|
64
|
+
*/
|
|
65
|
+
/**
|
|
66
|
+
* `Record<SeedPurpose, true>`, so a third value is a compile error in every map
|
|
67
|
+
* keyed on the union rather than a silent gap (Root Cause #61).
|
|
68
|
+
*/
|
|
69
|
+
export const SEED_PURPOSE_VALUES = {
|
|
70
|
+
test: true,
|
|
71
|
+
permanent: true,
|
|
72
|
+
};
|
|
73
|
+
export const ALL_SEED_PURPOSES = Object.keys(SEED_PURPOSE_VALUES);
|
|
74
|
+
export function isSeedPurpose(value) {
|
|
75
|
+
return typeof value === "string" && value in SEED_PURPOSE_VALUES;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* ๐ There is deliberately NO third `fixture` tier.
|
|
79
|
+
*
|
|
80
|
+
* An earlier draft had one, meaning "clearable but only by an explicit full
|
|
81
|
+
* purge", intended for the tester checklist. Once the cases were correctly
|
|
82
|
+
* classified as permanent content it had **nothing in it** โ and a union member
|
|
83
|
+
* with no members is the dead-enum-value shape this codebase keeps paying for:
|
|
84
|
+
* a filter chip whose value no row carries returns zero rows forever and reads
|
|
85
|
+
* as a working control (Root Cause #33), and nine section types that exist in a
|
|
86
|
+
* dropdown and have never rendered (F1 #20).
|
|
87
|
+
*
|
|
88
|
+
* Two values answer the question that was actually asked. If a genuine third
|
|
89
|
+
* case appears, add it then โ with a row that needs it.
|
|
90
|
+
*/
|
|
91
|
+
export const PURGEABLE = {
|
|
92
|
+
test: true,
|
|
93
|
+
permanent: false,
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* The per-collection default, keyed on `COLLECTION_MAP`'s keys in
|
|
97
|
+
* `appkit/scripts/seed-cli.mjs`.
|
|
98
|
+
*
|
|
99
|
+
* ๐ Typed `Record<string, SeedPurpose>` rather than a closed union of
|
|
100
|
+
* collection names, and that is a deliberate trade: the collection list lives
|
|
101
|
+
* in a `.mjs` script that cannot be imported for its types, so a closed union
|
|
102
|
+
* here would be a fifth hand-written copy of it โ the thing this file exists to
|
|
103
|
+
* stop. `audit-seed-purpose` cross-checks the two sets instead, which catches
|
|
104
|
+
* both a missing entry and a dead one.
|
|
105
|
+
*
|
|
106
|
+
* **Anything absent defaults to `test`**, so a collection added later is
|
|
107
|
+
* clearable rather than quietly permanent. That is the right fail direction on
|
|
108
|
+
* a site with no real data: the cost of clearing something re-seedable is one
|
|
109
|
+
* command, and the cost of being unable to clear it is the state this replaced.
|
|
110
|
+
*/
|
|
111
|
+
export const SEED_COLLECTION_PURPOSE = {
|
|
112
|
+
/*
|
|
113
|
+
* โโ permanent: content, not scaffolding โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
114
|
+
*
|
|
115
|
+
* The test: if clearing it means someone has to WRITE it again rather than
|
|
116
|
+
* re-run a loader, it is permanent. Five collections pass that test.
|
|
117
|
+
*/
|
|
118
|
+
/* 85 answers carrying real figures โ the โน10 fee cap, the 5% GST worked
|
|
119
|
+
* example, the 48-hour damage window. Explicitly asked to be permanent. */
|
|
120
|
+
faqs: "permanent",
|
|
121
|
+
/* 416 nodes, 6 roots. Every product's `categorySlugs` chain points into it,
|
|
122
|
+
* so clearing it orphans the catalogue โ which is exactly what happened when
|
|
123
|
+
* a purge-then-load wrote 0 of 416 and 70 products pointed at nothing. */
|
|
124
|
+
categories: "permanent",
|
|
125
|
+
/* Real HSN codes and GST rates. A wrong rate on a real invoice is a
|
|
126
|
+
* compliance matter, not a fixture. */
|
|
127
|
+
taxCodes: "permanent",
|
|
128
|
+
/* The ~169-term feature vocabulary: condition, authenticity, release, type,
|
|
129
|
+
* spin, grade, chase. Hand-curated from the crawl. */
|
|
130
|
+
productFeatures: "permanent",
|
|
131
|
+
/* Branding, fees, commissions, watermark, legal pages, and the AES-encrypted
|
|
132
|
+
* credentials. ๐ A purge here would destroy live API keys. */
|
|
133
|
+
siteSettings: "permanent",
|
|
134
|
+
/*
|
|
135
|
+
* โโ permanent, second tranche: the site's own CONTENT and COMPOSITION โโโโ
|
|
136
|
+
*
|
|
137
|
+
* Added on the user's explicit list. The same test applies and they pass it:
|
|
138
|
+
* clearing any of these means re-AUTHORING, not re-running a loader.
|
|
139
|
+
*
|
|
140
|
+
* ๐ But "permanent" obliges us to make them REAL โ see G1c in the plan.
|
|
141
|
+
* Marking a placeholder permanent only makes the placeholder unpurgeable, so
|
|
142
|
+
* each of these has to trace to a crawl source: blogPosts to the buying/rules
|
|
143
|
+
* guide split, homepageSections to worldhobbyshop's generation tiles and
|
|
144
|
+
* 25-link systems matrix, carouselSlides to beybladeartshop's 5-slide hero
|
|
145
|
+
* including the anti-counterfeit slide.
|
|
146
|
+
*/
|
|
147
|
+
blogPosts: "permanent",
|
|
148
|
+
carousels: "permanent",
|
|
149
|
+
carouselSlides: "permanent",
|
|
150
|
+
homepageSections: "permanent",
|
|
151
|
+
/*
|
|
152
|
+
* ๐ The tester checklist cases are PERMANENT CONTENT, not scaffolding.
|
|
153
|
+
*
|
|
154
|
+
* 1,162 authored cases, each a six-part procedure with an explicit
|
|
155
|
+
* before โ after โ the real catalogue of issues the testers test against and
|
|
156
|
+
* keep updating. Clearing them is not a re-seed, it is losing the authoring,
|
|
157
|
+
* and this project's primary quality gate is that catalogue.
|
|
158
|
+
*
|
|
159
|
+
* Their RESPONSES are the opposite: per-run verdicts, regenerated every
|
|
160
|
+
* sweep, and the whole point of clearing between runs. So the two halves of
|
|
161
|
+
* one feature land in different tiers, which is the case the collection-level
|
|
162
|
+
* default is for.
|
|
163
|
+
*/
|
|
164
|
+
testerChecklistItems: "permanent",
|
|
165
|
+
/*
|
|
166
|
+
* E4/D12 โ PERMANENT. These are extracted from a corpus by committed
|
|
167
|
+
* scripts, not fixtures: clearing them means re-running an extraction over a
|
|
168
|
+
* 7 GB local crawl, which is the test ยง G1c sets ("if clearing it means
|
|
169
|
+
* somebody has to WRITE it again rather than re-run a loader"). Re-running
|
|
170
|
+
* the extractor is possible but needs a corpus a clone will not have.
|
|
171
|
+
*/
|
|
172
|
+
partGlossary: "permanent",
|
|
173
|
+
modelComposition: "permanent",
|
|
174
|
+
testerChecklistResponses: "test",
|
|
175
|
+
/*
|
|
176
|
+
* โโ test: everything else โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
177
|
+
*
|
|
178
|
+
* Listed explicitly rather than left to the fallback, because an explicit
|
|
179
|
+
* table is reviewable and `audit-seed-purpose` can then tell a MISSING entry
|
|
180
|
+
* from a deliberate one.
|
|
181
|
+
*/
|
|
182
|
+
users: "test",
|
|
183
|
+
addresses: "test",
|
|
184
|
+
storeAddresses: "test",
|
|
185
|
+
sessions: "test",
|
|
186
|
+
stores: "test",
|
|
187
|
+
products: "test",
|
|
188
|
+
orders: "test",
|
|
189
|
+
reviews: "test",
|
|
190
|
+
bids: "test",
|
|
191
|
+
offers: "test",
|
|
192
|
+
carts: "test",
|
|
193
|
+
wishlists: "test",
|
|
194
|
+
history: "test",
|
|
195
|
+
payouts: "test",
|
|
196
|
+
coupons: "test",
|
|
197
|
+
couponUsage: "test",
|
|
198
|
+
notifications: "test",
|
|
199
|
+
supportTickets: "test",
|
|
200
|
+
catalogueItems: "test",
|
|
201
|
+
events: "test",
|
|
202
|
+
eventEntries: "test",
|
|
203
|
+
groupedListings: "test",
|
|
204
|
+
scammerProfiles: "test",
|
|
205
|
+
procurementShipments: "test",
|
|
206
|
+
shipmentLots: "test",
|
|
207
|
+
shipmentItems: "test",
|
|
208
|
+
payoutMethods: "test",
|
|
209
|
+
analyticsAlerts: "test",
|
|
210
|
+
storeCategories: "test",
|
|
211
|
+
listingTemplates: "test",
|
|
212
|
+
moderationQueue: "test",
|
|
213
|
+
reports: "test",
|
|
214
|
+
itemRequests: "test",
|
|
215
|
+
storeGoogleConfig: "test",
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* Individual rows that differ from their collection's default, by document id.
|
|
219
|
+
*
|
|
220
|
+
* ๐ This is the "clear all out EXCEPT our admin creds and the original single
|
|
221
|
+
* store" instruction, made declarative. Both collections default to `test` โ
|
|
222
|
+
* every persona and every other store is disposable โ and exactly two rows are
|
|
223
|
+
* not.
|
|
224
|
+
*
|
|
225
|
+
* โ
The precedent already existed and this replaces it: `cmdDelete` has
|
|
226
|
+
* carried `PROTECTED_USER_UIDS = new Set(["user-admin-letitrip"])` for a long
|
|
227
|
+
* time, skipping that uid on a wholesale delete. One mechanism is better than a
|
|
228
|
+
* list the purge path happens to know about privately.
|
|
229
|
+
*
|
|
230
|
+
* ๐ Keyed **`"<collection>:<id>"`**, and the collection half is load-bearing.
|
|
231
|
+
*
|
|
232
|
+
* It was a bare id, and a live read-back caught the consequence: `carts`,
|
|
233
|
+
* `wishlists` and `history` are all keyed on the USER id (CLAUDE.md: "Doc id =
|
|
234
|
+
* userId"), so `"user-admin-letitrip"` matched the admin's **cart** as well as
|
|
235
|
+
* the admin's user row โ making a disposable cart permanently unpurgeable.
|
|
236
|
+
* Subtle, silent, and it would have left a stale cart surviving every purge
|
|
237
|
+
* forever.
|
|
238
|
+
*
|
|
239
|
+
* The id half is the DOCUMENT id, which for `users` is the Auth uid (`uid` on
|
|
240
|
+
* the seed row) and for everything else is `id`. `resolveSeedPurpose` checks
|
|
241
|
+
* both, because a seeded user row carries `uid` and no `id`.
|
|
242
|
+
*/
|
|
243
|
+
export const SEED_ROW_PURPOSE = {
|
|
244
|
+
/* Our own admin account. Clearing it locks us out of our own site โ and the
|
|
245
|
+
* Auth record is the half most easily missed, since `appkit-seed delete` does
|
|
246
|
+
* not touch Firebase Auth at all. */
|
|
247
|
+
"users:user-admin-letitrip": "permanent",
|
|
248
|
+
/* The platform's own default store. The other three seeded stores
|
|
249
|
+
* (beyblade-arena, blader-bazaar, vintage-vault-co) are test fixtures. */
|
|
250
|
+
"stores:store-letitrip-official": "permanent",
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Collections whose purpose FOLLOWS a referenced row rather than being declared.
|
|
254
|
+
*
|
|
255
|
+
* ๐ This exists to hold one invariant: **a `permanent` row may not reference a
|
|
256
|
+
* `test` row**, because the purge would leave it behind as a dangling FK that
|
|
257
|
+
* still looks like real config.
|
|
258
|
+
*
|
|
259
|
+
* Measured in `store-extensions-seed-data.ts`: **14** rows reference
|
|
260
|
+
* `store-beyblade-arena` (test) and **9** reference `store-letitrip-official`
|
|
261
|
+
* (permanent). So marking `shippingConfigs` / `analyticsCards` permanent at the
|
|
262
|
+
* COLLECTION level โ which the user's list implies and an earlier draft of the
|
|
263
|
+
* plan did โ would strand 14 rows pointing at a store the purge deletes.
|
|
264
|
+
*
|
|
265
|
+
* Deriving is better than 23 hand-maintained per-row overrides for the usual
|
|
266
|
+
* reason: a hand-kept mirror drifts the moment a store is added (Root Cause
|
|
267
|
+
* #42), and a derivation is correct for stores that do not exist yet.
|
|
268
|
+
*/
|
|
269
|
+
export const SEED_PURPOSE_DERIVED_FROM = {
|
|
270
|
+
shippingConfigs: { field: "storeId", collection: "stores" },
|
|
271
|
+
/*
|
|
272
|
+
* ๐ `ownerId` โ `users`, NOT `storeId` โ `stores`. I wrote the store form
|
|
273
|
+
* first and the data disproved it: measured, `analyticsCardsSeedData` carries
|
|
274
|
+
* **zero** `storeId` fields โ every row is `{ scope: "seller", ownerId:
|
|
275
|
+
* "user-tyson-blader", โฆ }`. So these follow the USER whose dashboard they
|
|
276
|
+
* compose, and since that user is a test persona all nine correctly resolve
|
|
277
|
+
* `test`.
|
|
278
|
+
*
|
|
279
|
+
* Worth recording because the wrong field does not error: a derived row whose
|
|
280
|
+
* named field is absent falls to `test`, which happened to be the right
|
|
281
|
+
* answer here and would have silently been the WRONG one for a card owned by
|
|
282
|
+
* the admin.
|
|
283
|
+
*/
|
|
284
|
+
analyticsCards: { field: "ownerId", collection: "users" },
|
|
285
|
+
};
|
|
286
|
+
/**
|
|
287
|
+
* Resolution order, most specific first:
|
|
288
|
+
*
|
|
289
|
+
* 1. the row's own inline `seedPurpose`
|
|
290
|
+
* 2. a per-row override in `SEED_ROW_PURPOSE`, by `id` or `uid`
|
|
291
|
+
* 3. for a DERIVED collection, the purpose of the row it references
|
|
292
|
+
* 4. the collection default
|
|
293
|
+
* 5. `test`
|
|
294
|
+
*
|
|
295
|
+
* ๐ Step 3 is what holds the referential invariant. A `shippingConfig` for
|
|
296
|
+
* `store-letitrip-official` resolves `permanent`; one for
|
|
297
|
+
* `store-beyblade-arena` resolves `test` and is purged alongside the store it
|
|
298
|
+
* configures, rather than outliving it.
|
|
299
|
+
*/
|
|
300
|
+
export function resolveSeedPurpose(collection, row,
|
|
301
|
+
/**
|
|
302
|
+
* The document id, when the caller has it and the row does not.
|
|
303
|
+
*
|
|
304
|
+
* ๐ Required by `loadGeneric`, which does `let { id, ...data } = docData`
|
|
305
|
+
* and therefore hands this function a row with **no `id` at all**. Without
|
|
306
|
+
* this parameter the per-row overrides silently did not apply: measured,
|
|
307
|
+
* `store-letitrip-official` loaded as `test` โ i.e. the platform's own store
|
|
308
|
+
* would have been purged, which is exactly the row the keep-list exists to
|
|
309
|
+
* protect. `loadUsers` was unaffected because `{ ...u }` keeps `uid`, which
|
|
310
|
+
* is why the admin override worked and the store one did not.
|
|
311
|
+
*/
|
|
312
|
+
docId) {
|
|
313
|
+
if (row && isSeedPurpose(row.seedPurpose))
|
|
314
|
+
return row.seedPurpose;
|
|
315
|
+
/* `"<collection>:<id>"` โ the collection half is what stops a users
|
|
316
|
+
* override also matching that user's CART, which is keyed on the same id. */
|
|
317
|
+
const rowKey = (coll, id) => `${coll}:${id}`;
|
|
318
|
+
if (docId && isSeedPurpose(SEED_ROW_PURPOSE[rowKey(collection, docId)]))
|
|
319
|
+
return SEED_ROW_PURPOSE[rowKey(collection, docId)];
|
|
320
|
+
if (row) {
|
|
321
|
+
/* `users` seed rows carry `uid` and no `id`; everything else carries `id`. */
|
|
322
|
+
const ownId = typeof row.id === "string" ? row.id : typeof row.uid === "string" ? row.uid : null;
|
|
323
|
+
if (ownId && isSeedPurpose(SEED_ROW_PURPOSE[rowKey(collection, ownId)]))
|
|
324
|
+
return SEED_ROW_PURPOSE[rowKey(collection, ownId)];
|
|
325
|
+
const derived = SEED_PURPOSE_DERIVED_FROM[collection];
|
|
326
|
+
if (derived) {
|
|
327
|
+
const refId = row[derived.field];
|
|
328
|
+
if (typeof refId === "string") {
|
|
329
|
+
const refOverride = SEED_ROW_PURPOSE[rowKey(derived.collection, refId)];
|
|
330
|
+
if (isSeedPurpose(refOverride))
|
|
331
|
+
return refOverride;
|
|
332
|
+
const refDefault = SEED_COLLECTION_PURPOSE[derived.collection];
|
|
333
|
+
return isSeedPurpose(refDefault) ? refDefault : "test";
|
|
334
|
+
}
|
|
335
|
+
/*
|
|
336
|
+
* A derived row with no reference cannot inherit, and guessing
|
|
337
|
+
* `permanent` would be the dangling-FK failure this map exists to
|
|
338
|
+
* prevent. `test` is the safe answer: it is re-seedable.
|
|
339
|
+
*/
|
|
340
|
+
return "test";
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
const declared = SEED_COLLECTION_PURPOSE[collection];
|
|
344
|
+
return isSeedPurpose(declared) ? declared : "test";
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* The fields to write for a purpose โ exactly one.
|
|
348
|
+
*
|
|
349
|
+
* ๐ It does **not** touch `isTestData` or `testDataExpiresAt`, and that
|
|
350
|
+
* restraint is the whole correction described in the header: deriving
|
|
351
|
+
* `isTestData` from `test` would have hidden every seeded product, category and
|
|
352
|
+
* store from the public site while reporting a clean load.
|
|
353
|
+
*
|
|
354
|
+
* Kept as a function rather than inlined so there is one place to look when
|
|
355
|
+
* someone asks "what does a purpose actually write?", and so the next field
|
|
356
|
+
* (if one is ever justified) lands in one place.
|
|
357
|
+
*/
|
|
358
|
+
export function seedPurposeFields(purpose) {
|
|
359
|
+
return { seedPurpose: purpose };
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Stamp a row for writing. The one function every loader calls, so the CLI and
|
|
363
|
+
* `runSeed` cannot disagree about what a purpose means โ Root Cause #75's shape
|
|
364
|
+
* on the seed axis (a rule reachable by copy-paste gets copied, and the copy
|
|
365
|
+
* made before a branch was added never learns about it).
|
|
366
|
+
*
|
|
367
|
+
* Returns a NEW object; the seed arrays are module-level constants re-imported
|
|
368
|
+
* on every CLI invocation and must not be mutated.
|
|
369
|
+
*/
|
|
370
|
+
export function stampSeedPurpose(collection, row,
|
|
371
|
+
/** Pass this whenever the caller holds the id and the row does not โ see
|
|
372
|
+
* `resolveSeedPurpose`'s `docId` for why `loadGeneric` must. */
|
|
373
|
+
docId) {
|
|
374
|
+
/*
|
|
375
|
+
* The cast is to `Record<string, unknown>` only, which is a WIDENING โ every
|
|
376
|
+
* object satisfies it structurally, and `resolveSeedPurpose` reads `id`,
|
|
377
|
+
* `uid` and the derived `field` with `typeof` guards rather than trusting the
|
|
378
|
+
* type. ๐ Deliberately NOT `as any`: that would silence the `collection`
|
|
379
|
+
* argument's check too, which is the mistake the plan records at the
|
|
380
|
+
* `sendNotification`/`as never` sites.
|
|
381
|
+
*/
|
|
382
|
+
const purpose = resolveSeedPurpose(collection, row, docId);
|
|
383
|
+
return { ...row, ...seedPurposeFields(purpose) };
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Mark a whole array as something other than its collection default โ the
|
|
387
|
+
* readable way to say "this file is permanent" (or "this file is fixtures")
|
|
388
|
+
* without repeating the field on every row.
|
|
389
|
+
*
|
|
390
|
+
* Sets the row-level override, so it beats the collection default and is
|
|
391
|
+
* visible at the call site.
|
|
392
|
+
*/
|
|
393
|
+
export function asSeedPurpose(purpose, rows) {
|
|
394
|
+
return rows.map((row) => ({ ...row, seedPurpose: purpose }));
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* How long a `test` row survives before a purge may take it.
|
|
398
|
+
*
|
|
399
|
+
* ๐ STOP-GAP, added 2026-10-12 to unbreak the build โ NOT a design decision,
|
|
400
|
+
* and whoever owns `seedPurpose` should replace it with the real declaration.
|
|
401
|
+
*
|
|
402
|
+
* This file arrived with `src/seed/index.ts:247` and `src/index.ts:1935` ALREADY
|
|
403
|
+
* re-exporting `SEED_TEST_TTL_DAYS` from here while nothing declared it, so
|
|
404
|
+
* `tsc` failed with TS2305 and appkit did not compile at all โ the half-finished
|
|
405
|
+
* public-surface rename of Root Cause #20, where the barrel landed without the
|
|
406
|
+
* definition. (The same commit also carried `sxdexport const` on line 149,
|
|
407
|
+
* i.e. stray keystrokes, which is the likelier reading of what happened here.)
|
|
408
|
+
*
|
|
409
|
+
* Aliased to the EXISTING value rather than given a fresh number: a retention
|
|
410
|
+
* window is a product decision and inventing one would have been worse than the
|
|
411
|
+
* compile error. `TEST_DATA_TTL_DAYS` is 7 and is what `testDataExpiresAt()`
|
|
412
|
+
* already stamps on every test row, so this is behaviour-preserving by
|
|
413
|
+
* construction โ and when the two names are reconciled, there is exactly one
|
|
414
|
+
* number to change.
|
|
415
|
+
*/
|
|
416
|
+
export { TEST_DATA_TTL_DAYS as SEED_TEST_TTL_DAYS } from "./test-data-ttl.js";
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
|
-
import { getSeedLocale } from "./seed-market-config";
|
|
16
|
+
import { getSeedLocale } from "./seed-market-config.js";
|
|
17
17
|
const _locale = getSeedLocale();
|
|
18
|
-
import { SESSION_COLLECTION, } from "../features/auth/schemas";
|
|
18
|
+
import { SESSION_COLLECTION, } from "../features/auth/schemas/index.js";
|
|
19
19
|
const NOW = new Date();
|
|
20
20
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
21
21
|
const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* shipmentLotsSeedData โ Array of Partial<ShipmentLot>
|
|
16
16
|
* shipmentItemsSeedData โ Array of Partial<ShipmentItem>
|
|
17
17
|
*/
|
|
18
|
-
import { allocateShipmentCosts } from "../features/shipments/utils/cost-allocation";
|
|
18
|
+
import { allocateShipmentCosts } from "../features/shipments/utils/cost-allocation.js";
|
|
19
19
|
const NOW = new Date();
|
|
20
20
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
21
21
|
const daysFromNow = (n) => new Date(NOW.getTime() + n * 86400000);
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
|
-
import { seedExtMedia, seedPhoto } from "./_helpers/media";
|
|
16
|
-
import { ROUTES } from "../next/routing/route-map";
|
|
17
|
-
import { DEFAULT_AUCTION_BID_INCREMENT_TIERS } from "../_internal/shared/features/auctions/config";
|
|
15
|
+
import { seedExtMedia, seedPhoto } from "./_helpers/media.js";
|
|
16
|
+
import { ROUTES } from "../next/routing/route-map.js";
|
|
17
|
+
import { DEFAULT_AUCTION_BID_INCREMENT_TIERS } from "../_internal/shared/features/auctions/config.js";
|
|
18
18
|
const NOW = new Date();
|
|
19
19
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
20
20
|
const adPlacementsSeed = [
|
|
@@ -311,6 +311,9 @@ export const siteSettingsSeedData = {
|
|
|
311
311
|
shipping: {
|
|
312
312
|
estimatedDays: 7,
|
|
313
313
|
minOrderForFree: 999,
|
|
314
|
+
// C5c โ manual until a Shiprocket provider AND credentials exist. A
|
|
315
|
+
// seeded `shiprocket` would throw at boot by design.
|
|
316
|
+
provider: "manual",
|
|
314
317
|
},
|
|
315
318
|
returns: {
|
|
316
319
|
windowDays: 7,
|
|
@@ -470,6 +473,9 @@ export const siteSettingsSeedData = {
|
|
|
470
473
|
shipmentProtectionFeeEnabled: true,
|
|
471
474
|
shipmentProtectionFeePercent: 2,
|
|
472
475
|
shipmentProtectionFeeMin: 30,
|
|
476
|
+
saleProtectionFeeEnabled: true,
|
|
477
|
+
saleProtectionFeePercent: 3,
|
|
478
|
+
saleProtectionFeeMin: 49,
|
|
473
479
|
sellerShippingFixed: 0,
|
|
474
480
|
platformShippingPercent: 0,
|
|
475
481
|
platformShippingFixedMin: 0,
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
|
-
import { getSeedLocale, getDefaultPhonePrefix } from "./seed-market-config";
|
|
16
|
+
import { getSeedLocale, getDefaultPhonePrefix } from "./seed-market-config.js";
|
|
17
17
|
const _locale = getSeedLocale();
|
|
18
18
|
const _phonePrefix = getDefaultPhonePrefix();
|
|
19
19
|
const NOW = new Date();
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
17
17
|
* @tag sideEffects:none
|
|
18
18
|
*/
|
|
19
|
-
import { seedPhoto } from "./_helpers/media";
|
|
19
|
+
import { seedPhoto } from "./_helpers/media.js";
|
|
20
20
|
const NOW = new Date();
|
|
21
21
|
// โโโโโ payoutMethods (4 records) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
22
22
|
export const payoutMethodsSeedData = [
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
* @tag consumers:seed/runner.ts
|
|
17
17
|
* @tag sideEffects:none
|
|
18
18
|
*/
|
|
19
|
-
import { withStoreSearchTxt } from "./_helpers/search-txt-wrappers";
|
|
20
|
-
import { STORE_FIELDS } from "../constants/field-names";
|
|
21
|
-
import { seedPhoto } from "./_helpers/media";
|
|
19
|
+
import { withStoreSearchTxt } from "./_helpers/search-txt-wrappers.js";
|
|
20
|
+
import { STORE_FIELDS } from "../constants/field-names.js";
|
|
21
|
+
import { seedPhoto } from "./_helpers/media.js";
|
|
22
22
|
const NOW = new Date();
|
|
23
23
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
24
24
|
/**
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
|
-
import { SUPPORT_TICKET_FIELDS } from "../constants/field-names";
|
|
16
|
-
import { buildSearchTxt } from "../utils/search-txt";
|
|
15
|
+
import { SUPPORT_TICKET_FIELDS } from "../constants/field-names.js";
|
|
16
|
+
import { buildSearchTxt } from "../utils/search-txt.js";
|
|
17
17
|
function msg(id, authorId, authorRole, body, daysAgo) {
|
|
18
18
|
const createdAt = new Date(Date.now() - daysAgo * 24 * 60 * 60 * 1000);
|
|
19
19
|
return { id, authorId, authorRole, body, createdAt };
|
package/dist/seed/test-utils.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { runSeed } from "./runner";
|
|
2
|
-
import { encryptPiiFields, decryptPiiFields, ENC_PREFIX } from "../security/pii-encrypt";
|
|
3
|
-
import { hasEncPrefix } from "../security/pii-mask";
|
|
4
|
-
import { DEFAULT_CATEGORIES } from "./defaults/categories";
|
|
5
|
-
import { DEFAULT_FAQS } from "./defaults/faqs";
|
|
6
|
-
import { makeProduct } from "./factories/product.factory";
|
|
7
|
-
import { USER_FIXTURES } from "./factories/user.factory";
|
|
8
|
-
import { makeStore } from "./factories/store.factory";
|
|
1
|
+
import { runSeed } from "./runner.js";
|
|
2
|
+
import { encryptPiiFields, decryptPiiFields, ENC_PREFIX } from "../security/pii-encrypt.js";
|
|
3
|
+
import { hasEncPrefix } from "../security/pii-mask.js";
|
|
4
|
+
import { DEFAULT_CATEGORIES } from "./defaults/categories.js";
|
|
5
|
+
import { DEFAULT_FAQS } from "./defaults/faqs.js";
|
|
6
|
+
import { makeProduct } from "./factories/product.factory.js";
|
|
7
|
+
import { USER_FIXTURES } from "./factories/user.factory.js";
|
|
8
|
+
import { makeStore } from "./factories/store.factory.js";
|
|
9
9
|
// ---------------------------------------------------------------------------
|
|
10
10
|
// PII round-trip assertion
|
|
11
11
|
// ---------------------------------------------------------------------------
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
* @tag consumers:seed/runner.ts
|
|
19
19
|
* @tag sideEffects:none
|
|
20
20
|
*/
|
|
21
|
-
import { getDefaultPhonePrefix } from "./seed-market-config";
|
|
22
|
-
import { PERMISSION_GROUPS } from "../features/auth/permissions/constants";
|
|
23
|
-
import { USER_FIELDS } from "../constants/field-names";
|
|
24
|
-
import { seedPhoto } from "./_helpers/media";
|
|
21
|
+
import { getDefaultPhonePrefix } from "./seed-market-config.js";
|
|
22
|
+
import { PERMISSION_GROUPS } from "../features/auth/permissions/constants.js";
|
|
23
|
+
import { USER_FIELDS } from "../constants/field-names.js";
|
|
24
|
+
import { seedPhoto } from "./_helpers/media.js";
|
|
25
25
|
const _ph = getDefaultPhonePrefix();
|
|
26
26
|
const NOW = new Date();
|
|
27
27
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
package/dist/seo/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./json-ld";
|
|
2
|
-
export * from "./metadata";
|
|
1
|
+
export * from "./json-ld.js";
|
|
2
|
+
export * from "./metadata.js";
|
package/dist/seo/json-ld.d.ts
CHANGED
|
@@ -93,7 +93,16 @@ export interface FaqJsonLdInput {
|
|
|
93
93
|
}
|
|
94
94
|
export interface BreadcrumbJsonLdItem {
|
|
95
95
|
name: string;
|
|
96
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Absent on the LAST crumb โ the page you are already on.
|
|
98
|
+
*
|
|
99
|
+
* ๐ This was required, and `url.startsWith(...)` threw on a missing one. It
|
|
100
|
+
* is optional because schema.org's own breadcrumb guidance is that the final
|
|
101
|
+
* element identifies the current page and its `item` may be omitted; a
|
|
102
|
+
* self-link there is accepted but says nothing. Every existing caller passes
|
|
103
|
+
* a url, so widening it breaks none of them.
|
|
104
|
+
*/
|
|
105
|
+
url?: string;
|
|
97
106
|
}
|
|
98
107
|
export interface BlogPostJsonLdInput {
|
|
99
108
|
title: string;
|
|
@@ -163,4 +172,66 @@ export interface SiteIdentityOptions {
|
|
|
163
172
|
export declare function organizationJsonLd(opts?: SiteIdentityOptions): Record<string, JsonLdValue>;
|
|
164
173
|
export declare function searchBoxJsonLd(opts?: SiteIdentityOptions): Record<string, JsonLdValue>;
|
|
165
174
|
export declare function auctionJsonLd(auction: ProductJsonLdInput): Record<string, JsonLdValue>;
|
|
175
|
+
export interface ItemListJsonLdEntry {
|
|
176
|
+
name: string;
|
|
177
|
+
/** Path or absolute URL. Absolutised against the ONE canonical host. */
|
|
178
|
+
url: string;
|
|
179
|
+
image?: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* `ItemList` โ the names and URLs of what a listing page shows.
|
|
183
|
+
*
|
|
184
|
+
* ๐ NO `offers`, NO price, and this is not a style choice.
|
|
185
|
+
*
|
|
186
|
+
* Two independent reasons, and either alone settles it. Prices are hidden from
|
|
187
|
+
* signed-out visitors and Googlebot crawls signed out, so a price here would be
|
|
188
|
+
* markup the user cannot see โ the mismatch `gatedPriceWebPageJsonLd` exists to
|
|
189
|
+
* declare, except there is nothing to declare on a list because the list never
|
|
190
|
+
* shows a price at all. And `audit-guest-price-leak` R3 blocks it outright.
|
|
191
|
+
*
|
|
192
|
+
* It is also exactly what hobbykartindia.com does โ server-side `ItemList`
|
|
193
|
+
* carrying price โ and ยง2 records it as the thing not to copy.
|
|
194
|
+
*
|
|
195
|
+
* A list of names and URLs is still worth emitting: it tells a crawler what the
|
|
196
|
+
* page is a list OF, which is the one thing a grid of cards does not say in
|
|
197
|
+
* markup.
|
|
198
|
+
*/
|
|
199
|
+
export declare function itemListJsonLd(entries: readonly ItemListJsonLdEntry[]): Record<string, JsonLdValue>;
|
|
200
|
+
export interface CollectionPageJsonLdInput {
|
|
201
|
+
name: string;
|
|
202
|
+
/** Path or absolute URL for this collection. */
|
|
203
|
+
url: string;
|
|
204
|
+
description?: string;
|
|
205
|
+
/**
|
|
206
|
+
* The items shown, if any. Omitted or empty emits a `CollectionPage` with no
|
|
207
|
+
* `mainEntity` โ which is correct for a collection whose contents are
|
|
208
|
+
* paginated or filtered, and far better than an `ItemList` of zero claiming
|
|
209
|
+
* the collection is empty.
|
|
210
|
+
*/
|
|
211
|
+
items?: readonly ItemListJsonLdEntry[];
|
|
212
|
+
/**
|
|
213
|
+
* Total across all pages, when it differs from `items.length`.
|
|
214
|
+
*
|
|
215
|
+
* ๐ `truncated` matters here for the same reason it does in the list
|
|
216
|
+
* envelope: a `CollectionPage` on page 1 of 12 that declares
|
|
217
|
+
* `numberOfItems: 24` is telling a crawler the collection has 24 items. Pass
|
|
218
|
+
* the real total and the markup stops lying about scale.
|
|
219
|
+
*/
|
|
220
|
+
totalItems?: number;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* `CollectionPage` โ what a category, brand or listing index actually is.
|
|
224
|
+
*
|
|
225
|
+
* ๐ The category tab page emitted NO JSON-LD whatsoever (verified: zero
|
|
226
|
+
* `ld+json` under `features/categories/`), while worldhobbyshop โ the SEO
|
|
227
|
+
* leader of the fifteen crawled โ ships a 6-level `BreadcrumbList` and a
|
|
228
|
+
* `CollectionPage`, and no Shopify competitor has either. ยง5 ranks this the
|
|
229
|
+
* highest-impact SEO change in the plan, and it costs nothing at render: the
|
|
230
|
+
* route is already dynamic SSR and `ancestors[]` rides a read it already does.
|
|
231
|
+
*
|
|
232
|
+
* Pair it with `breadcrumbJsonLd` โ the two answer different questions ("what
|
|
233
|
+
* is this page" and "where does it sit"), and the breadcrumb is the half the
|
|
234
|
+
* competition does not have.
|
|
235
|
+
*/
|
|
236
|
+
export declare function collectionPageJsonLd(input: CollectionPageJsonLdInput): Record<string, JsonLdValue>;
|
|
166
237
|
export {};
|