@mohasinac/appkit 4.71.0 → 4.72.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 +4 -4
- package/dist/_internal/client/edit-mode/EditModeProvider.d.ts +32 -0
- package/dist/_internal/client/edit-mode/EditModeProvider.js +33 -0
- package/dist/_internal/client/edit-mode/index.d.ts +2 -0
- package/dist/_internal/client/edit-mode/index.js +1 -0
- package/dist/_internal/client/features/giveaway/ClearanceGiveawayDetailView.d.ts +32 -0
- package/dist/_internal/client/features/giveaway/ClearanceGiveawayDetailView.js +29 -0
- package/dist/_internal/client/features/giveaway/GiveawayAdminEditView.d.ts +66 -0
- package/dist/_internal/client/features/giveaway/GiveawayAdminEditView.js +187 -0
- package/dist/_internal/client/features/giveaway/GiveawayAdminSlotView.d.ts +18 -0
- package/dist/_internal/client/features/giveaway/GiveawayAdminSlotView.js +52 -0
- package/dist/_internal/client/features/giveaway/GiveawayDetailView.d.ts +40 -0
- package/dist/_internal/client/features/giveaway/GiveawayDetailView.js +49 -0
- package/dist/_internal/client/features/giveaway/GiveawayEntriesView.d.ts +34 -0
- package/dist/_internal/client/features/giveaway/GiveawayEntriesView.js +64 -0
- package/dist/_internal/client/features/giveaway/GiveawayListView.d.ts +39 -0
- package/dist/_internal/client/features/giveaway/GiveawayListView.js +45 -0
- package/dist/_internal/client/features/giveaway/GiveawayPullForm.d.ts +31 -0
- package/dist/_internal/client/features/giveaway/GiveawayPullForm.js +94 -0
- package/dist/_internal/client/features/giveaway/GiveawaySlotGrid.d.ts +14 -0
- package/dist/_internal/client/features/giveaway/GiveawaySlotGrid.js +23 -0
- package/dist/_internal/client/features/giveaway/slot-collage-items.d.ts +15 -0
- package/dist/_internal/client/features/giveaway/slot-collage-items.js +13 -0
- package/dist/_internal/client/features/layout/DashboardLayoutClient.d.ts +34 -1
- package/dist/_internal/client/features/layout/DashboardLayoutClient.js +79 -9
- package/dist/_internal/client/features/layout/PortalBackLink.d.ts +15 -0
- package/dist/_internal/client/features/layout/PortalBackLink.js +58 -0
- package/dist/_internal/client/features/layout/SidebarCollapseToggle.js +37 -1
- package/dist/_internal/client/features/layout/filterNavItems.d.ts +11 -6
- package/dist/_internal/client/features/layout/filterNavItems.js +36 -4
- package/dist/_internal/client/features/layout/sidebarPositionClasses.js +10 -2
- package/dist/_internal/client/features/maintenance/views/AnalysisRunnerView.d.ts +6 -1
- package/dist/_internal/client/features/maintenance/views/AnalysisRunnerView.js +4 -3
- package/dist/_internal/client/features/maintenance/views/CacheInvalidationPanel.js +1 -1
- package/dist/_internal/client/features/maintenance/views/CloudLogsListView.d.ts +4 -1
- package/dist/_internal/client/features/maintenance/views/CloudLogsListView.js +4 -3
- package/dist/_internal/client/features/maintenance/views/MaintenanceDashboardView.d.ts +4 -1
- package/dist/_internal/client/features/maintenance/views/MaintenanceDashboardView.js +4 -2
- package/dist/_internal/client/features/maintenance/views/RepositoryCacheStatusPanel.d.ts +15 -0
- package/dist/_internal/client/features/maintenance/views/RepositoryCacheStatusPanel.js +161 -0
- package/dist/_internal/client/features/maintenance/views/ServerErrorDetailView.d.ts +4 -1
- package/dist/_internal/client/features/maintenance/views/ServerErrorDetailView.js +3 -2
- package/dist/_internal/client/features/maintenance/views/ServerErrorsListView.d.ts +11 -1
- package/dist/_internal/client/features/maintenance/views/ServerErrorsListView.js +3 -2
- package/dist/_internal/server/features/ads/booking.d.ts +1 -1
- package/dist/_internal/server/features/ads/booking.js +1 -1
- package/dist/_internal/server/features/assistant/actions.d.ts +29 -0
- package/dist/_internal/server/features/assistant/actions.js +170 -0
- package/dist/_internal/server/features/assistant/budget.d.ts +28 -0
- package/dist/_internal/server/features/assistant/budget.js +132 -0
- package/dist/_internal/server/features/assistant/escalate.d.ts +25 -0
- package/dist/_internal/server/features/assistant/escalate.js +108 -0
- package/dist/_internal/server/features/assistant/guard.d.ts +10 -0
- package/dist/_internal/server/features/assistant/guard.js +110 -0
- package/dist/_internal/server/features/assistant/handles.d.ts +42 -0
- package/dist/_internal/server/features/assistant/handles.js +172 -0
- package/dist/_internal/server/features/assistant/history-store.d.ts +16 -0
- package/dist/_internal/server/features/assistant/history-store.js +63 -0
- package/dist/_internal/server/features/assistant/model-routing.d.ts +70 -0
- package/dist/_internal/server/features/assistant/model-routing.js +80 -0
- package/dist/_internal/server/features/assistant/quorum.d.ts +32 -0
- package/dist/_internal/server/features/assistant/quorum.js +128 -0
- package/dist/_internal/server/features/assistant/redaction.d.ts +68 -0
- package/dist/_internal/server/features/assistant/redaction.js +69 -0
- package/dist/_internal/server/features/assistant/severity.d.ts +41 -0
- package/dist/_internal/server/features/assistant/severity.js +93 -0
- package/dist/_internal/server/features/assistant/tools/admin/search-nav.d.ts +39 -0
- package/dist/_internal/server/features/assistant/tools/admin/search-nav.js +27 -0
- package/dist/_internal/server/features/assistant/tools/builtin/get-my-orders.d.ts +15 -0
- package/dist/_internal/server/features/assistant/tools/builtin/get-my-orders.js +116 -0
- package/dist/_internal/server/features/assistant/tools/builtin/get-toggle-state.d.ts +8 -0
- package/dist/_internal/server/features/assistant/tools/builtin/get-toggle-state.js +64 -0
- package/dist/_internal/server/features/assistant/tools/builtin/index.d.ts +38 -0
- package/dist/_internal/server/features/assistant/tools/builtin/index.js +29 -0
- package/dist/_internal/server/features/assistant/tools/builtin/search-faqs.d.ts +8 -0
- package/dist/_internal/server/features/assistant/tools/builtin/search-faqs.js +62 -0
- package/dist/_internal/server/features/assistant/tools/builtin/search-products.d.ts +16 -0
- package/dist/_internal/server/features/assistant/tools/builtin/search-products.js +79 -0
- package/dist/_internal/server/features/assistant/tools/define.d.ts +85 -0
- package/dist/_internal/server/features/assistant/tools/define.js +8 -0
- package/dist/_internal/server/features/assistant/tools/json-schema.d.ts +34 -0
- package/dist/_internal/server/features/assistant/tools/json-schema.js +79 -0
- package/dist/_internal/server/features/assistant/tools/manifest.d.ts +22 -0
- package/dist/_internal/server/features/assistant/tools/manifest.js +27 -0
- package/dist/_internal/server/features/assistant/tools/registry.d.ts +22 -0
- package/dist/_internal/server/features/assistant/tools/registry.js +43 -0
- package/dist/_internal/server/features/assistant/turn.d.ts +43 -0
- package/dist/_internal/server/features/assistant/turn.js +281 -0
- package/dist/_internal/server/features/auth/permissions.d.ts +65 -10
- package/dist/_internal/server/features/auth/permissions.js +74 -15
- package/dist/_internal/server/features/brands/actions.js +3 -3
- package/dist/_internal/server/features/bundles/actions.js +3 -3
- package/dist/_internal/server/features/categories/adapters.d.ts +2 -2
- package/dist/_internal/server/features/categories/adapters.js +17 -8
- package/dist/_internal/server/features/checkout/actions.d.ts +142 -15
- package/dist/_internal/server/features/checkout/actions.js +988 -142
- package/dist/_internal/server/features/checkout/gateway-selection.d.ts +68 -0
- package/dist/_internal/server/features/checkout/gateway-selection.js +124 -0
- package/dist/_internal/server/features/checkout/index.d.ts +5 -0
- package/dist/_internal/server/features/checkout/index.js +18 -0
- package/dist/_internal/server/features/checkout/locked-lines.d.ts +10 -10
- package/dist/_internal/server/features/checkout/locked-lines.js +37 -37
- package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +1 -1
- package/dist/_internal/server/features/checkout/prize-bundle-gates.js +1 -1
- package/dist/_internal/server/features/checkout/source-context.js +17 -17
- package/dist/_internal/server/features/checkout/split-settlement.d.ts +100 -0
- package/dist/_internal/server/features/checkout/split-settlement.js +205 -0
- package/dist/_internal/server/features/checkout/upi-resolution.js +8 -1
- package/dist/_internal/server/features/clearance/actions.d.ts +2 -0
- package/dist/_internal/server/features/clearance/actions.js +33 -0
- package/dist/_internal/server/features/clearance/data.d.ts +1 -0
- package/dist/_internal/server/features/clearance/data.js +2 -0
- package/dist/_internal/server/features/clearance/index.d.ts +4 -0
- package/dist/_internal/server/features/clearance/index.js +4 -0
- package/dist/_internal/server/features/clearance/og.d.ts +32 -0
- package/dist/_internal/server/features/clearance/og.js +47 -0
- package/dist/_internal/server/features/clearance/service.d.ts +3 -0
- package/dist/_internal/server/features/clearance/service.js +19 -0
- package/dist/_internal/server/features/collector-drops/actions.js +76 -0
- package/dist/_internal/server/features/collector-drops/data.d.ts +2 -0
- package/dist/_internal/server/features/collector-drops/data.js +3 -0
- package/dist/_internal/server/features/collector-drops/index.d.ts +5 -0
- package/dist/_internal/server/features/collector-drops/index.js +5 -0
- package/dist/_internal/server/features/collector-drops/og.d.ts +22 -0
- package/dist/_internal/server/features/collector-drops/og.js +30 -0
- package/dist/_internal/server/features/collector-drops/service.d.ts +20 -0
- package/dist/_internal/server/features/collector-drops/service.js +65 -0
- package/dist/_internal/server/features/dashboard/page-regions.d.ts +33 -0
- package/dist/_internal/server/features/dashboard/page-regions.js +53 -0
- package/dist/_internal/server/features/digital-code/pool.d.ts +14 -1
- package/dist/_internal/server/features/digital-code/pool.js +21 -2
- package/dist/_internal/server/features/digital-code/release.d.ts +79 -0
- package/dist/_internal/server/features/digital-code/release.js +176 -0
- package/dist/_internal/server/features/events/adapters.d.ts +7 -7
- package/dist/_internal/server/features/events/adapters.js +6 -6
- package/dist/_internal/server/features/events/data.d.ts +17 -1
- package/dist/_internal/server/features/events/data.js +51 -0
- package/dist/_internal/server/features/events/service.d.ts +2 -2
- package/dist/_internal/server/features/forms/field-visibility.d.ts +35 -0
- package/dist/_internal/server/features/forms/field-visibility.js +89 -0
- package/dist/_internal/server/features/giveaway/actions.d.ts +43 -0
- package/dist/_internal/server/features/giveaway/actions.js +369 -0
- package/dist/_internal/server/features/giveaway/adapters.d.ts +15 -0
- package/dist/_internal/server/features/giveaway/adapters.js +31 -0
- package/dist/_internal/server/features/giveaway/data.d.ts +19 -0
- package/dist/_internal/server/features/giveaway/data.js +56 -0
- package/dist/_internal/server/features/giveaway/metadata.d.ts +6 -0
- package/dist/_internal/server/features/giveaway/metadata.js +31 -0
- package/dist/_internal/server/features/giveaway/og.d.ts +40 -0
- package/dist/_internal/server/features/giveaway/og.js +79 -0
- package/dist/_internal/server/features/homepage/index.js +1 -1
- package/dist/_internal/server/features/inventory/reservations.d.ts +1 -1
- package/dist/_internal/server/features/inventory/reservations.js +1 -1
- package/dist/_internal/server/features/maintenance/cache-admin.d.ts +44 -0
- package/dist/_internal/server/features/maintenance/cache-admin.js +85 -0
- package/dist/_internal/server/features/media/contextGuards.d.ts +2 -2
- package/dist/_internal/server/features/media/contextGuards.js +4 -4
- package/dist/_internal/server/features/messages/actions.js +11 -0
- package/dist/_internal/server/features/order-completion/actions.js +1 -1
- package/dist/_internal/server/features/orders/actions.d.ts +3 -2
- package/dist/_internal/server/features/orders/actions.js +67 -16
- package/dist/_internal/server/features/orders/adapters.js +20 -3
- package/dist/_internal/server/features/orders/balance.d.ts +5 -2
- package/dist/_internal/server/features/orders/balance.js +12 -2
- package/dist/_internal/server/features/products/actions.d.ts +1 -1
- package/dist/_internal/server/features/products/actions.js +8 -8
- package/dist/_internal/server/features/products/data.js +5 -4
- package/dist/_internal/server/features/products/index.d.ts +1 -1
- package/dist/_internal/server/features/products/index.js +1 -1
- package/dist/_internal/server/features/products/list-public.js +18 -12
- package/dist/_internal/server/features/products/listing-tab-counts.d.ts +1 -1
- package/dist/_internal/server/features/products/listing-tab-counts.js +8 -8
- package/dist/_internal/server/features/products/og.js +1 -1
- package/dist/_internal/server/features/products/service.d.ts +51 -14
- package/dist/_internal/server/features/products/service.js +95 -29
- package/dist/_internal/server/features/scams/og.d.ts +1 -1
- package/dist/_internal/server/features/search/entity-index.d.ts +14 -0
- package/dist/_internal/server/features/search/entity-index.js +87 -0
- package/dist/_internal/server/features/search/index-build/build.js +13 -4
- package/dist/_internal/server/features/search/index-build/sources.d.ts +2 -0
- package/dist/_internal/server/features/search/index-build/sources.js +4 -2
- package/dist/_internal/server/features/search/search-everything.d.ts +2 -0
- package/dist/_internal/server/features/search/search-sources.js +5 -3
- package/dist/_internal/server/features/seo/index.d.ts +1 -1
- package/dist/_internal/server/features/seo/index.js +1 -1
- package/dist/_internal/server/features/seo/manifest.js +3 -3
- package/dist/_internal/server/features/seo/product-detail-types.js +2 -1
- package/dist/_internal/server/features/seo/robots.js +19 -4
- package/dist/_internal/server/features/seo/sitemap.js +62 -94
- package/dist/_internal/server/features/seo/static-params.d.ts +0 -18
- package/dist/_internal/server/features/seo/static-params.js +0 -55
- package/dist/_internal/server/features/shared/listing-data-factory.js +3 -3
- package/dist/_internal/server/features/site-settings/actions.d.ts +36 -0
- package/dist/_internal/server/features/site-settings/actions.js +57 -1
- package/dist/_internal/server/features/site-settings/adapters.d.ts +3 -3
- package/dist/_internal/server/features/site-settings/adapters.js +39 -4
- package/dist/_internal/server/features/sticker-trace/promote-to-listings.js +2 -2
- package/dist/_internal/server/features/sticker-trace/sweep.d.ts +13 -0
- package/dist/_internal/server/features/sticker-trace/sweep.js +49 -0
- package/dist/_internal/server/features/stores/activation.d.ts +22 -0
- package/dist/_internal/server/features/stores/activation.js +73 -0
- package/dist/_internal/server/features/stores/adapters.d.ts +1 -1
- package/dist/_internal/server/features/stores/adapters.js +22 -0
- package/dist/_internal/server/features/stores/data.d.ts +1 -1
- package/dist/_internal/server/features/stores/data.js +1 -1
- package/dist/_internal/server/features/stores/index.d.ts +2 -1
- package/dist/_internal/server/features/stores/index.js +7 -1
- package/dist/_internal/server/features/stores/tabs.js +6 -11
- package/dist/_internal/server/features/widgets/widget-instances.d.ts +34 -0
- package/dist/_internal/server/features/widgets/widget-instances.js +169 -0
- package/dist/_internal/server/functions/define.d.ts +4 -4
- package/dist/_internal/server/functions/define.js +4 -4
- package/dist/_internal/server/functions/firestore.d.ts +3 -3
- package/dist/_internal/server/functions/firestore.js +18 -9
- package/dist/_internal/server/functions/https.js +1 -1
- package/dist/_internal/server/functions/scheduled.d.ts +26 -3
- package/dist/_internal/server/functions/scheduled.js +49 -12
- package/dist/_internal/server/jobs/core/assignSpinPrize.js +5 -1
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +13 -11
- package/dist/_internal/server/jobs/core/bundleStockSync.js +1 -1
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +2 -2
- package/dist/_internal/server/jobs/core/clearanceAssignWinner.d.ts +60 -0
- package/dist/_internal/server/jobs/core/clearanceAssignWinner.js +227 -0
- package/dist/_internal/server/jobs/core/clearanceExpiryReveal.d.ts +14 -0
- package/dist/_internal/server/jobs/core/clearanceExpiryReveal.js +71 -0
- package/dist/_internal/server/jobs/core/clearanceSoldOutReveal.d.ts +22 -0
- package/dist/_internal/server/jobs/core/clearanceSoldOutReveal.js +67 -0
- package/dist/_internal/server/jobs/core/collectorDropSettlement.d.ts +2 -0
- package/dist/_internal/server/jobs/core/collectorDropSettlement.js +240 -0
- package/dist/_internal/server/jobs/core/countersReconcile.js +21 -21
- package/dist/_internal/server/jobs/core/event-draw-reasons.d.ts +4 -2
- package/dist/_internal/server/jobs/core/event-draw-reasons.js +6 -4
- package/dist/_internal/server/jobs/core/index.d.ts +5 -5
- package/dist/_internal/server/jobs/core/index.js +5 -5
- package/dist/_internal/server/jobs/core/jobRunners.d.ts +1 -1
- package/dist/_internal/server/jobs/core/jobRunners.js +25 -0
- package/dist/_internal/server/jobs/core/offerExpiry.js +23 -23
- package/dist/_internal/server/jobs/core/onCategoryWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/core/onClearancePaymentConfirmed.d.ts +19 -0
- package/dist/_internal/server/jobs/core/onClearancePaymentConfirmed.js +32 -0
- package/dist/_internal/server/jobs/core/onProductWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/core/onProductWrite.js +23 -23
- package/dist/_internal/server/jobs/core/onReviewWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.js +1 -1
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.d.ts +1 -1
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +1 -1
- package/dist/_internal/server/jobs/core/priceIndexRollup.d.ts +1 -1
- package/dist/_internal/server/jobs/core/priceIndexRollup.js +5 -5
- package/dist/_internal/server/jobs/core/promotions.js +1 -1
- package/dist/_internal/server/jobs/core/revalidateNotify.d.ts +1 -1
- package/dist/_internal/server/jobs/core/revalidateNotify.js +2 -2
- package/dist/_internal/server/jobs/core/settlementVendorRegister.d.ts +47 -0
- package/dist/_internal/server/jobs/core/settlementVendorRegister.js +414 -0
- package/dist/_internal/server/jobs/core/stickerTraceSweep.d.ts +9 -0
- package/dist/_internal/server/jobs/core/stickerTraceSweep.js +25 -0
- package/dist/_internal/server/jobs/core/surfaceCountsRollup.js +47 -7
- package/dist/_internal/server/jobs/core/testDataCleanup.js +1 -1
- package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +2 -2
- package/dist/_internal/server/jobs/core/triggerEventRaffle.js +17 -12
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +10 -8
- package/dist/_internal/server/jobs/handlers/clearanceExpiryReveal.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/clearanceExpiryReveal.js +2 -0
- package/dist/_internal/server/jobs/handlers/clearanceSoldOutReveal.d.ts +3 -0
- package/dist/_internal/server/jobs/handlers/clearanceSoldOutReveal.js +4 -0
- package/dist/_internal/server/jobs/handlers/collectorDropSettlement.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/collectorDropSettlement.js +2 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +6 -5
- package/dist/_internal/server/jobs/handlers/index.js +11 -9
- package/dist/_internal/server/jobs/handlers/messages.d.ts +4 -4
- package/dist/_internal/server/jobs/handlers/messages.js +13 -13
- package/dist/_internal/server/jobs/handlers/onCatalogueSubmittedForApproval.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onClearancePaymentConfirmed.d.ts +3 -0
- package/dist/_internal/server/jobs/handlers/onClearancePaymentConfirmed.js +11 -0
- package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onReviewWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onScamReportCreate.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onScamReportUpdate.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onShipmentDeleted.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onShipmentItemWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onSiteSettingsWrite.d.ts +2 -2
- package/dist/_internal/server/jobs/handlers/onSiteSettingsWrite.js +1 -1
- package/dist/_internal/server/jobs/handlers/onSupportTicketCreate.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onSupportTicketUpdate.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onUserBanChange.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/stickerTraceSweep.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/stickerTraceSweep.js +2 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +1 -1
- package/dist/_internal/server/jobs/runtime/adapters/firebase.d.ts +1 -1
- package/dist/_internal/server/jobs/runtime/adapters/firebase.js +1 -1
- package/dist/_internal/server/jobs/runtime/types.d.ts +1 -1
- package/dist/_internal/server/payments/policy-consent.d.ts +170 -0
- package/dist/_internal/server/payments/policy-consent.js +287 -0
- package/dist/_internal/server/payments/webhook-registry.d.ts +162 -0
- package/dist/_internal/server/payments/webhook-registry.js +228 -0
- package/dist/_internal/shared/actions/action-registry.d.ts +40 -6
- package/dist/_internal/shared/actions/action-registry.js +318 -312
- package/dist/_internal/shared/cache/revalidate-targets.d.ts +2 -2
- package/dist/_internal/shared/cache/revalidate-targets.js +8 -8
- package/dist/_internal/shared/checkout/lanes.d.ts +25 -25
- package/dist/_internal/shared/checkout/lanes.js +35 -35
- package/dist/_internal/shared/checkout/order-math.d.ts +50 -50
- package/dist/_internal/shared/checkout/order-math.js +108 -50
- package/dist/_internal/shared/checkout/payout-base.d.ts +51 -0
- package/dist/_internal/shared/checkout/payout-base.js +84 -0
- package/dist/_internal/shared/checkout/policy-consent.d.ts +182 -0
- package/dist/_internal/shared/checkout/policy-consent.js +214 -0
- package/dist/_internal/shared/checkout/rules/_limits.d.ts +35 -4
- package/dist/_internal/shared/checkout/rules/_limits.js +35 -4
- package/dist/_internal/shared/checkout/rules/_registry.js +6 -8
- package/dist/_internal/shared/checkout/rules/art-and-stickers.rule.d.ts +13 -0
- package/dist/_internal/shared/checkout/rules/art-and-stickers.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/bundle.rule.d.ts +24 -6
- package/dist/_internal/shared/checkout/rules/bundle.rule.js +4 -1
- package/dist/_internal/shared/checkout/rules/clearance.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/clearance.rule.js +148 -0
- package/dist/_internal/shared/checkout/rules/collector-drop.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/collector-drop.rule.js +50 -0
- package/dist/_internal/shared/checkout/rules/index.d.ts +4 -5
- package/dist/_internal/shared/checkout/rules/index.js +4 -5
- package/dist/_internal/shared/checkout/rules/payment-gate.d.ts +24 -3
- package/dist/_internal/shared/checkout/rules/payment-gate.js +24 -6
- package/dist/_internal/shared/checkout/rules/preorder.rule.js +39 -0
- package/dist/_internal/shared/checkout/rules/types.d.ts +26 -5
- package/dist/_internal/shared/checkout/settlement-split.d.ts +136 -0
- package/dist/_internal/shared/checkout/settlement-split.js +198 -0
- package/dist/_internal/shared/checkout/settlement.d.ts +186 -0
- package/dist/_internal/shared/checkout/settlement.js +0 -0
- package/dist/_internal/shared/config/index.d.ts +1 -1
- package/dist/_internal/shared/config/schema.d.ts +35 -1
- package/dist/_internal/shared/content/composite-sentences/en.d.ts +31 -0
- package/dist/_internal/shared/content/composite-sentences/en.js +173 -0
- package/dist/_internal/shared/content/composite-sentences/index.d.ts +21 -0
- package/dist/_internal/shared/content/composite-sentences/index.js +26 -0
- package/dist/_internal/shared/content/composite-sentences/registry.d.ts +41 -0
- package/dist/_internal/shared/content/composite-sentences/registry.js +50 -0
- package/dist/_internal/shared/content/disclaimers.d.ts +4 -4
- package/dist/_internal/shared/content/disclaimers.js +32 -10
- package/dist/_internal/shared/content/fragmented-paragraphs/en.d.ts +20 -0
- package/dist/_internal/shared/content/fragmented-paragraphs/en.js +16 -0
- package/dist/_internal/shared/content/fragmented-paragraphs/index.d.ts +16 -0
- package/dist/_internal/shared/content/fragmented-paragraphs/index.js +22 -0
- package/dist/_internal/shared/content/fragments.d.ts +114 -0
- package/dist/_internal/shared/content/fragments.js +88 -0
- package/dist/_internal/shared/content/published-values.d.ts +1 -1
- package/dist/_internal/shared/content/published-values.js +2 -0
- package/dist/_internal/shared/features/admin/integrations.d.ts +2 -1
- package/dist/_internal/shared/features/admin/integrations.js +34 -16
- package/dist/_internal/shared/features/admin/row-widget-resources.d.ts +4 -0
- package/dist/_internal/shared/features/admin/row-widget-resources.js +29 -0
- package/dist/_internal/shared/features/blog/schema.d.ts +7 -7
- package/dist/_internal/shared/features/cart/schema.d.ts +8 -8
- package/dist/_internal/shared/features/cart/schema.js +3 -4
- package/dist/_internal/shared/features/categories/bundle-config.d.ts +3 -3
- package/dist/_internal/shared/features/categories/bundle-config.js +3 -3
- package/dist/_internal/shared/features/categories/bundle-copy.d.ts +1 -1
- package/dist/_internal/shared/features/categories/bundle-copy.js +1 -1
- package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +49 -49
- package/dist/_internal/shared/features/categories/bundle-schemas.js +1 -1
- package/dist/_internal/shared/features/checkout/config.d.ts +2 -0
- package/dist/_internal/shared/features/checkout/config.js +23 -0
- package/dist/_internal/shared/features/collector-drops/config.d.ts +100 -0
- package/dist/_internal/shared/features/collector-drops/config.js +136 -0
- package/dist/_internal/shared/features/collector-drops/errors.d.ts +16 -0
- package/dist/_internal/shared/features/collector-drops/errors.js +32 -0
- package/dist/_internal/shared/features/collector-drops/schema.d.ts +42 -0
- package/dist/_internal/shared/features/collector-drops/schema.js +24 -0
- package/dist/_internal/shared/features/content-tags/registry.d.ts +55 -0
- package/dist/_internal/shared/features/content-tags/registry.js +54 -0
- package/dist/_internal/shared/features/dashboard/recent-entry.d.ts +466 -0
- package/dist/_internal/shared/features/dashboard/recent-entry.js +132 -0
- package/dist/_internal/shared/features/events/config.d.ts +1 -1
- package/dist/_internal/shared/features/events/config.js +1 -1
- package/dist/_internal/shared/features/events/schema.d.ts +4 -4
- package/dist/_internal/shared/features/layout/config.d.ts +9 -1
- package/dist/_internal/shared/features/layout/config.js +23 -3
- package/dist/_internal/shared/features/notifications/action-url.js +1 -1
- package/dist/_internal/shared/features/notifications/email-eligibility.d.ts +4 -4
- package/dist/_internal/shared/features/notifications/email-eligibility.js +9 -9
- package/dist/_internal/shared/features/offers/config.js +1 -1
- package/dist/_internal/shared/features/orders/schema.d.ts +2 -2
- package/dist/_internal/shared/features/orders/workflow-registry.d.ts +145 -0
- package/dist/_internal/shared/features/orders/workflow-registry.js +197 -0
- package/dist/_internal/shared/features/payouts/destination.d.ts +101 -0
- package/dist/_internal/shared/features/payouts/destination.js +221 -0
- package/dist/_internal/shared/features/print/label-profiles.d.ts +1 -1
- package/dist/_internal/shared/features/print/label-profiles.js +1 -1
- package/dist/_internal/shared/features/products/composite.d.ts +104 -0
- package/dist/_internal/shared/features/products/composite.js +188 -0
- package/dist/_internal/shared/features/products/group-rules.d.ts +28 -2
- package/dist/_internal/shared/features/products/group-rules.js +29 -0
- package/dist/_internal/shared/features/products/pdp-section-ids.d.ts +13 -0
- package/dist/_internal/shared/features/products/pdp-section-ids.js +14 -0
- package/dist/_internal/shared/features/products/schema.d.ts +31 -13
- package/dist/_internal/shared/features/products/schema.js +75 -10
- package/dist/_internal/shared/features/products/to-product-item.js +1 -1
- package/dist/_internal/shared/features/products/types.d.ts +1 -1
- package/dist/_internal/shared/features/promotions/schema.d.ts +4 -4
- package/dist/_internal/shared/features/shipping/offer.d.ts +408 -0
- package/dist/_internal/shared/features/shipping/offer.js +440 -0
- package/dist/_internal/shared/features/site-settings/fees.d.ts +32 -3
- package/dist/_internal/shared/features/site-settings/fees.js +1 -1
- package/dist/_internal/shared/features/site-settings/settings-preview-registry.d.ts +17 -0
- package/dist/_internal/shared/features/site-settings/settings-preview-registry.js +56 -0
- package/dist/_internal/shared/features/site-settings/toggle-catalog.d.ts +68 -0
- package/dist/_internal/shared/features/site-settings/toggle-catalog.js +204 -0
- package/dist/_internal/shared/features/site-settings/types.d.ts +27 -1
- package/dist/_internal/shared/fees/calculator.d.ts +256 -21
- package/dist/_internal/shared/fees/calculator.js +269 -26
- package/dist/_internal/shared/fees/explain.d.ts +20 -5
- package/dist/_internal/shared/fees/explain.js +38 -18
- package/dist/_internal/shared/listing-types/_registry.d.ts +30 -15
- package/dist/_internal/shared/listing-types/_registry.js +39 -16
- package/dist/_internal/shared/listing-types/action-tracker.d.ts +1 -1
- package/dist/_internal/shared/listing-types/art-and-stickers/config.d.ts +94 -0
- package/dist/_internal/shared/listing-types/art-and-stickers/config.js +57 -0
- package/dist/_internal/shared/listing-types/art-and-stickers/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/art-and-stickers/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/art-and-stickers/schema.js +3 -0
- package/dist/_internal/shared/listing-types/availability.js +2 -2
- package/dist/_internal/shared/listing-types/capabilities.d.ts +77 -1
- package/dist/_internal/shared/listing-types/capabilities.js +72 -13
- package/dist/_internal/shared/listing-types/classified/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/config.js +1 -0
- package/dist/_internal/shared/listing-types/clearance/config.d.ts +74 -0
- package/dist/_internal/shared/listing-types/clearance/config.js +46 -0
- package/dist/_internal/shared/listing-types/clearance/schema.d.ts +3 -0
- package/dist/_internal/shared/listing-types/clearance/schema.js +13 -0
- package/dist/_internal/shared/listing-types/collector-drop/config.d.ts +85 -0
- package/dist/_internal/shared/listing-types/collector-drop/config.js +59 -0
- package/dist/_internal/shared/listing-types/collector-drop/schema.d.ts +3 -0
- package/dist/_internal/shared/listing-types/collector-drop/schema.js +11 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +1 -0
- package/dist/_internal/shared/listing-types/feature-flags.d.ts +125 -8
- package/dist/_internal/shared/listing-types/feature-flags.js +149 -12
- package/dist/_internal/shared/listing-types/hidden-surfaces.d.ts +19 -10
- package/dist/_internal/shared/listing-types/hidden-surfaces.js +6 -5
- package/dist/_internal/shared/listing-types/live/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/config.js +1 -0
- package/dist/_internal/shared/listing-types/pre-order/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/pre-order/config.js +20 -5
- package/dist/_internal/shared/listing-types/pre-order/schema.d.ts +45 -0
- package/dist/_internal/shared/listing-types/pre-order/schema.js +60 -2
- package/dist/_internal/shared/listing-types/route-gating.d.ts +11 -11
- package/dist/_internal/shared/listing-types/route-gating.js +15 -14
- package/dist/_internal/shared/listing-types/spares/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/spares/config.js +1 -0
- package/dist/_internal/shared/listing-types/standard/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/standard/config.js +1 -0
- package/dist/_internal/shared/listing-types/tiers.d.ts +2 -2
- package/dist/_internal/shared/listing-types/tiers.js +6 -7
- package/dist/_internal/shared/search/index-record.d.ts +10 -4
- package/dist/_internal/shared/search/index-record.js +18 -1
- package/dist/_internal/shared/search/match.d.ts +3 -1
- package/dist/_internal/shared/search/match.js +2 -1
- package/dist/_internal/shared/search/to-groups.js +1 -0
- package/dist/_internal/shared/templating/placeholders.d.ts +18 -0
- package/dist/_internal/shared/templating/placeholders.js +24 -0
- package/dist/_internal/shared/tester/window.d.ts +1 -1
- package/dist/_internal/shared/tester/window.js +5 -5
- package/dist/_internal/shared/tokens/index.d.ts +1 -1
- package/dist/_internal/shared/tokens/index.js +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/client-entry.d.ts +1 -1
- package/dist/client.d.ts +49 -40
- package/dist/client.js +97 -32
- package/dist/configs/next.d.ts +1 -1
- package/dist/configs/tailwind.d.ts +12 -0
- package/dist/configs/tailwind.js +14 -0
- package/dist/constants/api-endpoints.d.ts +96 -51
- package/dist/constants/api-endpoints.js +59 -28
- package/dist/constants/field-names.d.ts +40 -20
- package/dist/constants/field-names.js +41 -21
- package/dist/constants/index.d.ts +2 -2
- package/dist/constants/index.js +2 -2
- package/dist/constants/notification-types.d.ts +1 -1
- package/dist/constants/pagination-presets.d.ts +2 -2
- package/dist/constants/pagination-presets.js +2 -2
- package/dist/constants/seed-meta.d.ts +1 -1
- package/dist/constants/storage-keys.d.ts +6 -0
- package/dist/constants/storage-keys.js +12 -0
- package/dist/constants/table-keys.d.ts +3 -2
- package/dist/constants/table-keys.js +3 -2
- package/dist/contracts/ai.d.ts +183 -0
- package/dist/contracts/ai.js +2 -0
- package/dist/contracts/auth.d.ts +16 -1
- package/dist/contracts/client-live-edit.d.ts +29 -0
- package/dist/contracts/client-live-edit.js +23 -0
- package/dist/contracts/feature.d.ts +1 -1
- package/dist/contracts/index.d.ts +1 -1
- package/dist/contracts/payment.d.ts +238 -0
- package/dist/contracts/payment.js +125 -0
- package/dist/contracts/registry.d.ts +29 -1
- package/dist/core/CacheManager.d.ts +21 -0
- package/dist/core/CacheManager.js +38 -0
- package/dist/core/integration-keys.d.ts +6 -0
- package/dist/core/integration-keys.js +14 -0
- package/dist/core/mutation-events.d.ts +3 -3
- package/dist/core/mutation-events.js +7 -5
- package/dist/core/site-config.js +1 -1
- package/dist/core/unit-of-work.d.ts +1 -2
- package/dist/core/unit-of-work.js +1 -5
- package/dist/edit-mode/index.d.ts +11 -0
- package/dist/edit-mode/index.js +10 -0
- package/dist/errors/error-codes.d.ts +7 -7
- package/dist/errors/error-codes.js +7 -7
- package/dist/errors/error-display-map.js +8 -8
- package/dist/errors/messages.d.ts +8 -8
- package/dist/errors/messages.js +8 -8
- package/dist/features/_guide-cls.d.ts +1 -0
- package/dist/features/_guide-cls.js +10 -1
- package/dist/features/about/components/DeveloperView.d.ts +4 -1
- package/dist/features/about/components/DeveloperView.js +3 -2
- package/dist/features/about/components/FeesView.d.ts +4 -1
- package/dist/features/about/components/FeesView.js +3 -2
- package/dist/features/about/components/GstExplainerView.d.ts +4 -1
- package/dist/features/about/components/GstExplainerView.js +3 -2
- package/dist/features/about/components/GuidesHubView.d.ts +5 -2
- package/dist/features/about/components/GuidesHubView.js +7 -6
- package/dist/features/about/components/HelpPageView.d.ts +10 -1
- package/dist/features/about/components/HelpPageView.js +6 -5
- package/dist/features/about/components/HowCheckoutWorksView.d.ts +4 -1
- package/dist/features/about/components/HowCheckoutWorksView.js +4 -14
- package/dist/features/about/components/HowCollectorDropsWorkView.d.ts +6 -0
- package/dist/features/about/components/HowCollectorDropsWorkView.js +105 -0
- package/dist/features/about/components/HowEmiWorksView.d.ts +4 -1
- package/dist/features/about/components/HowEmiWorksView.js +4 -14
- package/dist/features/about/components/HowOffersWorkView.d.ts +4 -1
- package/dist/features/about/components/HowOffersWorkView.js +3 -16
- package/dist/features/about/components/HowOrdersWorkView.d.ts +4 -1
- package/dist/features/about/components/HowOrdersWorkView.js +3 -10
- package/dist/features/about/components/HowPayoutsWorkView.d.ts +4 -1
- package/dist/features/about/components/HowPayoutsWorkView.js +5 -15
- package/dist/features/about/components/HowPreOrdersWorkView.d.ts +4 -1
- package/dist/features/about/components/HowPreOrdersWorkView.js +5 -15
- package/dist/features/about/components/HowReviewsWorkView.d.ts +4 -1
- package/dist/features/about/components/HowReviewsWorkView.js +5 -15
- package/dist/features/about/components/PolicyPageView.d.ts +79 -3
- package/dist/features/about/components/PolicyPageView.js +63 -4
- package/dist/features/about/components/PublicProfileView.d.ts +11 -1
- package/dist/features/about/components/PublicProfileView.js +9 -8
- package/dist/features/about/components/SecurityPrivacyView.d.ts +4 -1
- package/dist/features/about/components/SecurityPrivacyView.js +3 -2
- package/dist/features/about/components/ShippingPolicyView.d.ts +4 -1
- package/dist/features/about/components/ShippingPolicyView.js +4 -3
- package/dist/features/about/components/SpotAFakeView.d.ts +4 -1
- package/dist/features/about/components/SpotAFakeView.js +3 -2
- package/dist/features/about/components/TrackOrderView.d.ts +4 -1
- package/dist/features/about/components/TrackOrderView.js +3 -2
- package/dist/features/about/index.d.ts +2 -2
- package/dist/features/about/index.js +1 -1
- package/dist/features/about/schemas/index.d.ts +18 -18
- package/dist/features/account/components/AddressBook.d.ts +1 -1
- package/dist/features/account/components/AddressForm.js +25 -1
- package/dist/features/account/components/BecomeSellerView.d.ts +4 -1
- package/dist/features/account/components/BecomeSellerView.js +3 -2
- package/dist/features/account/components/BuyerAccountGuideView.d.ts +6 -1
- package/dist/features/account/components/BuyerAccountGuideView.js +4 -4
- package/dist/features/account/components/BuyerCollectorDropsGuideView.d.ts +7 -0
- package/dist/features/account/components/BuyerCollectorDropsGuideView.js +46 -0
- package/dist/features/account/components/BuyerOrdersGuideView.d.ts +6 -1
- package/dist/features/account/components/BuyerOrdersGuideView.js +3 -3
- package/dist/features/account/components/BuyerShoppingGuideView.d.ts +6 -1
- package/dist/features/account/components/BuyerShoppingGuideView.js +5 -5
- package/dist/features/account/components/NotificationBell.js +1 -1
- package/dist/features/account/components/NotificationPreferencesPanel.js +1 -1
- package/dist/features/account/components/OrderDetailView.d.ts +4 -1
- package/dist/features/account/components/OrderDetailView.js +3 -1
- package/dist/features/account/components/UserAccountHubView.d.ts +4 -1
- package/dist/features/account/components/UserAccountHubView.js +8 -2
- package/dist/features/account/components/UserBidsView.d.ts +6 -1
- package/dist/features/account/components/UserBidsView.js +17 -8
- package/dist/features/account/components/UserOrderTrackView.d.ts +4 -1
- package/dist/features/account/components/UserOrderTrackView.js +3 -1
- package/dist/features/account/components/UserOrdersView.d.ts +4 -1
- package/dist/features/account/components/UserOrdersView.js +6 -5
- package/dist/features/account/components/UserReturnsView.d.ts +4 -1
- package/dist/features/account/components/UserReturnsView.js +4 -3
- package/dist/features/account/components/UserSidebar.js +14 -4
- package/dist/features/account/hooks/useNotifications.d.ts +1 -1
- package/dist/features/account/hooks/useProfile.d.ts +13 -0
- package/dist/features/account/hooks/usePublicProfile.d.ts +11 -1
- package/dist/features/account/hooks/usePublicProfile.js +6 -1
- package/dist/features/account/schemas/index.d.ts +4 -4
- package/dist/features/addresses/schemas/address-form.d.ts +12 -12
- package/dist/features/addresses/schemas/index.d.ts +2 -2
- package/dist/features/admin/actions/admin-actions.js +4 -4
- package/dist/features/admin/actions/admin-read-actions.d.ts +1 -1
- package/dist/features/admin/actions/admin-read-actions.js +1 -1
- package/dist/features/admin/actions/notification-actions.js +4 -4
- package/dist/features/admin/actions/site-settings-actions.d.ts +1 -1
- package/dist/features/admin/api/bids/route.js +7 -1
- package/dist/features/admin/api/coupons/route.js +7 -1
- package/dist/features/admin/api/products/route.js +7 -1
- package/dist/features/admin/api/reviews/route.js +7 -1
- package/dist/features/admin/components/AdminActionIndexView.d.ts +4 -1
- package/dist/features/admin/components/AdminActionIndexView.js +3 -2
- package/dist/features/admin/components/AdminAdEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminAdEditorView.js +3 -1
- package/dist/features/admin/components/AdminAddressBookView.d.ts +4 -1
- package/dist/features/admin/components/AdminAddressBookView.js +3 -2
- package/dist/features/admin/components/AdminAddressClustersView.d.ts +4 -1
- package/dist/features/admin/components/AdminAddressClustersView.js +3 -2
- package/dist/features/admin/components/AdminAddressEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminAddressEditorView.js +13 -2
- package/dist/features/admin/components/AdminAddressesView.d.ts +4 -1
- package/dist/features/admin/components/AdminAddressesView.js +3 -2
- package/dist/features/admin/components/AdminAdsView.d.ts +4 -1
- package/dist/features/admin/components/AdminAdsView.js +3 -2
- package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +6 -2
- package/dist/features/admin/components/AdminAllEventEntriesView.js +3 -2
- package/dist/features/admin/components/AdminAnalyticsGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminAnalyticsGuideView.js +3 -2
- package/dist/features/admin/components/AdminArtAndStickersView.d.ts +20 -0
- package/dist/features/admin/components/AdminArtAndStickersView.js +39 -0
- package/dist/features/admin/components/AdminAuditLogView.d.ts +6 -2
- package/dist/features/admin/components/AdminAuditLogView.js +5 -1
- package/dist/features/admin/components/AdminBidsView.d.ts +6 -2
- package/dist/features/admin/components/AdminBidsView.js +5 -3
- package/dist/features/admin/components/AdminBlogEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminBlogEditorView.js +5 -2
- package/dist/features/admin/components/AdminBlogView.d.ts +6 -2
- package/dist/features/admin/components/AdminBlogView.js +4 -2
- package/dist/features/admin/components/AdminBrandEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminBrandEditorView.js +6 -2
- package/dist/features/admin/components/AdminBrandsView.d.ts +6 -2
- package/dist/features/admin/components/AdminBrandsView.js +7 -3
- package/dist/features/admin/components/AdminBundleEditorView.d.ts +10 -1
- package/dist/features/admin/components/AdminBundleEditorView.js +6 -2
- package/dist/features/admin/components/AdminBundlesView.d.ts +4 -1
- package/dist/features/admin/components/AdminBundlesView.js +10 -3
- package/dist/features/admin/components/AdminCartsView.d.ts +6 -2
- package/dist/features/admin/components/AdminCartsView.js +7 -2
- package/dist/features/admin/components/AdminCatalogGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminCatalogGuideView.js +4 -3
- package/dist/features/admin/components/AdminCategoriesView.d.ts +6 -2
- package/dist/features/admin/components/AdminCategoriesView.js +7 -3
- package/dist/features/admin/components/AdminCategoryEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminCategoryEditorView.js +13 -9
- package/dist/features/admin/components/AdminClassifiedView.d.ts +6 -2
- package/dist/features/admin/components/AdminClassifiedView.js +8 -3
- package/dist/features/admin/components/AdminClearanceView.d.ts +8 -0
- package/dist/features/admin/components/AdminClearanceView.js +156 -0
- package/dist/features/admin/components/AdminContactView.d.ts +4 -1
- package/dist/features/admin/components/AdminContactView.js +3 -1
- package/dist/features/admin/components/AdminContentGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminContentGuideView.js +4 -3
- package/dist/features/admin/components/AdminCouponEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminCouponEditorView.js +9 -5
- package/dist/features/admin/components/AdminCouponsView.d.ts +4 -1
- package/dist/features/admin/components/AdminCouponsView.js +4 -2
- package/dist/features/admin/components/AdminDashboardView.d.ts +4 -1
- package/dist/features/admin/components/AdminDashboardView.js +3 -1
- package/dist/features/admin/components/AdminDigitalCodesView.d.ts +6 -2
- package/dist/features/admin/components/AdminDigitalCodesView.js +4 -3
- package/dist/features/admin/components/AdminEmployeeEditorView.d.ts +36 -1
- package/dist/features/admin/components/AdminEmployeeEditorView.js +15 -7
- package/dist/features/admin/components/AdminFaqEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminFaqEditorView.js +82 -4
- package/dist/features/admin/components/AdminFaqsView.d.ts +4 -1
- package/dist/features/admin/components/AdminFaqsView.js +5 -4
- package/dist/features/admin/components/AdminFeatureEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminFeatureEditorView.js +6 -2
- package/dist/features/admin/components/AdminFeaturesView.d.ts +6 -2
- package/dist/features/admin/components/AdminFeaturesView.js +10 -4
- package/dist/features/admin/components/AdminFulfillmentView.d.ts +4 -1
- package/dist/features/admin/components/AdminFulfillmentView.js +3 -2
- package/dist/features/admin/components/AdminGatewayEventsView.d.ts +6 -2
- package/dist/features/admin/components/AdminGatewayEventsView.js +3 -2
- package/dist/features/admin/components/AdminGroupedListingsView.d.ts +6 -2
- package/dist/features/admin/components/AdminGroupedListingsView.js +3 -2
- package/dist/features/admin/components/AdminGuideHubView.d.ts +7 -1
- package/dist/features/admin/components/AdminGuideHubView.js +5 -3
- package/dist/features/admin/components/AdminHistoryView.d.ts +6 -2
- package/dist/features/admin/components/AdminHistoryView.js +7 -6
- package/dist/features/admin/components/AdminInvoicingView.d.ts +6 -1
- package/dist/features/admin/components/AdminInvoicingView.js +3 -2
- package/dist/features/admin/components/AdminLiveView.d.ts +6 -2
- package/dist/features/admin/components/AdminLiveView.js +4 -3
- package/dist/features/admin/components/AdminMediaView.d.ts +4 -1
- package/dist/features/admin/components/AdminMediaView.js +15 -3
- package/dist/features/admin/components/AdminMoneyCasesView.d.ts +6 -2
- package/dist/features/admin/components/AdminMoneyCasesView.js +3 -2
- package/dist/features/admin/components/AdminNavEditorView.d.ts +12 -1
- package/dist/features/admin/components/AdminNavEditorView.js +4 -3
- package/dist/features/admin/components/AdminNavigationView.d.ts +4 -1
- package/dist/features/admin/components/AdminNavigationView.js +3 -1
- package/dist/features/admin/components/AdminNewsletterView.d.ts +4 -1
- package/dist/features/admin/components/AdminNewsletterView.js +3 -2
- package/dist/features/admin/components/AdminNotificationsView.d.ts +6 -2
- package/dist/features/admin/components/AdminNotificationsView.js +19 -7
- package/dist/features/admin/components/AdminOffersView.d.ts +6 -2
- package/dist/features/admin/components/AdminOffersView.js +4 -3
- package/dist/features/admin/components/AdminOrderEditorView.d.ts +1 -1
- package/dist/features/admin/components/AdminOrderEditorView.js +1 -1
- package/dist/features/admin/components/AdminOrdersGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminOrdersGuideView.js +5 -4
- package/dist/features/admin/components/AdminOrdersView.d.ts +6 -2
- package/dist/features/admin/components/AdminOrdersView.js +46 -5
- package/dist/features/admin/components/AdminPaymentClustersView.d.ts +4 -1
- package/dist/features/admin/components/AdminPaymentClustersView.js +3 -2
- package/dist/features/admin/components/AdminPaymentMethodsView.d.ts +4 -1
- package/dist/features/admin/components/AdminPaymentMethodsView.js +3 -2
- package/dist/features/admin/components/AdminPaymentsGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminPaymentsGuideView.js +3 -2
- package/dist/features/admin/components/AdminPayoutsView.d.ts +6 -2
- package/dist/features/admin/components/AdminPayoutsView.js +3 -2
- package/dist/features/admin/components/AdminProductEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminProductEditorView.js +7 -3
- package/dist/features/admin/components/AdminProductsView.d.ts +4 -1
- package/dist/features/admin/components/AdminProductsView.js +78 -47
- package/dist/features/admin/components/AdminReturnRequestsView.d.ts +4 -1
- package/dist/features/admin/components/AdminReturnRequestsView.js +3 -2
- package/dist/features/admin/components/AdminReviewsView.d.ts +6 -2
- package/dist/features/admin/components/AdminReviewsView.js +3 -2
- package/dist/features/admin/components/AdminScammersView.d.ts +6 -2
- package/dist/features/admin/components/AdminScammersView.js +3 -2
- package/dist/features/admin/components/AdminSectionsView.d.ts +4 -1
- package/dist/features/admin/components/AdminSectionsView.js +39 -38
- package/dist/features/admin/components/AdminSessionsView.d.ts +6 -2
- package/dist/features/admin/components/AdminSessionsView.js +3 -2
- package/dist/features/admin/components/AdminSidebar.js +19 -5
- package/dist/features/admin/components/AdminSiteConfigGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +4 -3
- package/dist/features/admin/components/AdminSiteSettingsView.d.ts +4 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +1161 -647
- package/dist/features/admin/components/AdminSparesView.d.ts +7 -3
- package/dist/features/admin/components/AdminSparesView.js +5 -4
- package/dist/features/admin/components/AdminStoreAddressesView.d.ts +4 -1
- package/dist/features/admin/components/AdminStoreAddressesView.js +3 -2
- package/dist/features/admin/components/AdminStoreEditorView.js +4 -3
- package/dist/features/admin/components/AdminStoresGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminStoresGuideView.js +3 -2
- package/dist/features/admin/components/AdminStoresView.d.ts +6 -2
- package/dist/features/admin/components/AdminStoresView.js +3 -2
- package/dist/features/admin/components/AdminSublistingCategoriesView.d.ts +4 -1
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +4 -3
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +3 -1
- package/dist/features/admin/components/AdminSupportTicketsView.d.ts +6 -2
- package/dist/features/admin/components/AdminSupportTicketsView.js +3 -2
- package/dist/features/admin/components/AdminTaxCodesView.d.ts +6 -2
- package/dist/features/admin/components/AdminTaxCodesView.js +4 -3
- package/dist/features/admin/components/AdminTeamGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminTeamGuideView.js +4 -2
- package/dist/features/admin/components/AdminTeamView.d.ts +4 -1
- package/dist/features/admin/components/AdminTeamView.js +22 -28
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +6 -2
- package/dist/features/admin/components/AdminTesterChecklistView.d.ts +4 -1
- package/dist/features/admin/components/AdminTesterChecklistView.js +5 -4
- package/dist/features/admin/components/AdminTrustGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminTrustGuideView.js +3 -2
- package/dist/features/admin/components/AdminUserEditorView.js +2 -1
- package/dist/features/admin/components/AdminUsersGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminUsersGuideView.js +3 -2
- package/dist/features/admin/components/AdminUsersView.d.ts +6 -2
- package/dist/features/admin/components/AdminUsersView.js +38 -6
- package/dist/features/admin/components/AdminViewCards.js +1 -1
- package/dist/features/admin/components/AdminWishlistsView.d.ts +6 -2
- package/dist/features/admin/components/AdminWishlistsView.js +7 -6
- package/dist/features/admin/components/DashboardStats.js +20 -23
- package/dist/features/admin/components/DataListingView.js +16 -2
- package/dist/features/admin/components/OwnerQuickActions.d.ts +1 -1
- package/dist/features/admin/components/OwnerQuickActions.js +18 -2
- package/dist/features/admin/components/QuickEditMenu.js +1 -1
- package/dist/features/admin/components/ViewNotificationModal.js +1 -1
- package/dist/features/admin/components/analytics/AdminStatCard.d.ts +1 -5
- package/dist/features/admin/components/analytics/AdminStatCard.js +2 -14
- package/dist/features/admin/components/index.d.ts +4 -12
- package/dist/features/admin/components/index.js +4 -8
- package/dist/features/admin/components/sections/adminSectionsBuildParse.d.ts +5 -5
- package/dist/features/admin/components/sections/adminSectionsBuildParse.js +22 -22
- package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +8 -7
- package/dist/features/admin/components/sections/adminSectionsTypes.js +13 -13
- package/dist/features/admin/constants/filter-tabs.d.ts +27 -17
- package/dist/features/admin/constants/filter-tabs.js +40 -12
- package/dist/features/admin/constants/site-settings-tabs.d.ts +4 -4
- package/dist/features/admin/constants/site-settings-tabs.js +3 -3
- package/dist/features/admin/hooks/build-filter-panel.d.ts +50 -0
- package/dist/features/admin/hooks/build-filter-panel.js +55 -0
- package/dist/features/admin/hooks/useAdminListing.d.ts +1 -1
- package/dist/features/admin/hooks/useAdminListingData.js +14 -1
- package/dist/features/admin/hooks/useAdminSiteSettingsPreview.d.ts +6 -0
- package/dist/features/admin/hooks/useAdminSiteSettingsPreview.js +46 -0
- package/dist/features/admin/repository/site-settings.repository.d.ts +26 -25
- package/dist/features/admin/repository/site-settings.repository.js +73 -21
- package/dist/features/admin/schemas/admin-editor-forms.d.ts +2 -2
- package/dist/features/admin/schemas/admin-user-form.d.ts +7 -7
- package/dist/features/admin/schemas/admin-user-form.js +6 -6
- package/dist/features/admin/schemas/firestore.d.ts +265 -41
- package/dist/features/admin/schemas/firestore.js +10 -10
- package/dist/features/admin/schemas/nav-item-form.d.ts +2 -2
- package/dist/features/admin/schemas/site-settings-about-form.d.ts +162 -0
- package/dist/features/admin/schemas/site-settings-about-form.js +142 -0
- package/dist/features/admin/schemas/site-settings-announcement-form.d.ts +18 -0
- package/dist/features/admin/schemas/site-settings-announcement-form.js +53 -0
- package/dist/features/admin/schemas/site-settings-appearance-form.d.ts +93 -0
- package/dist/features/admin/schemas/site-settings-appearance-form.js +75 -0
- package/dist/features/admin/schemas/site-settings-branding-form.d.ts +30 -0
- package/dist/features/admin/schemas/site-settings-branding-form.js +77 -0
- package/dist/features/admin/schemas/site-settings-collector-drop-form.d.ts +30 -0
- package/dist/features/admin/schemas/site-settings-collector-drop-form.js +63 -0
- package/dist/features/admin/schemas/site-settings-contact-form.d.ts +42 -0
- package/dist/features/admin/schemas/site-settings-contact-form.js +85 -0
- package/dist/features/admin/schemas/site-settings-emi-form.d.ts +27 -0
- package/dist/features/admin/schemas/site-settings-emi-form.js +68 -0
- package/dist/features/admin/schemas/site-settings-fees-form.d.ts +78 -0
- package/dist/features/admin/schemas/site-settings-fees-form.js +161 -0
- package/dist/features/admin/schemas/site-settings-form.d.ts +3 -3
- package/dist/features/admin/schemas/site-settings-form.js +1 -1
- package/dist/features/admin/schemas/site-settings-gst-form.d.ts +18 -0
- package/dist/features/admin/schemas/site-settings-gst-form.js +57 -0
- package/dist/features/admin/schemas/site-settings-integrations-form.d.ts +99 -0
- package/dist/features/admin/schemas/site-settings-integrations-form.js +172 -0
- package/dist/features/admin/schemas/site-settings-legal-form.d.ts +38 -0
- package/dist/features/admin/schemas/site-settings-legal-form.js +76 -0
- package/dist/features/admin/schemas/site-settings-limits-form.d.ts +15 -0
- package/dist/features/admin/schemas/site-settings-limits-form.js +48 -0
- package/dist/features/admin/schemas/site-settings-listings-form.d.ts +15 -0
- package/dist/features/admin/schemas/site-settings-listings-form.js +78 -0
- package/dist/features/admin/schemas/site-settings-notifications-form.d.ts +60 -0
- package/dist/features/admin/schemas/site-settings-notifications-form.js +160 -0
- package/dist/features/admin/schemas/site-settings-procurement-form.d.ts +12 -0
- package/dist/features/admin/schemas/site-settings-procurement-form.js +48 -0
- package/dist/features/admin/schemas/site-settings-seo-form.d.ts +21 -0
- package/dist/features/admin/schemas/site-settings-seo-form.js +42 -0
- package/dist/features/admin/schemas/site-settings-shipping-form.d.ts +48 -0
- package/dist/features/admin/schemas/site-settings-shipping-form.js +132 -0
- package/dist/features/admin/schemas/site-settings-watermark-form.d.ts +34 -0
- package/dist/features/admin/schemas/site-settings-watermark-form.js +68 -0
- package/dist/features/admin/schemas/site-settings-whatsapp-form.d.ts +36 -0
- package/dist/features/admin/schemas/site-settings-whatsapp-form.js +62 -0
- package/dist/features/admin/types/product.types.d.ts +6 -6
- package/dist/features/admin/types/product.types.js +1 -1
- package/dist/features/analytics/types.d.ts +1 -1
- package/dist/features/analytics/types.js +3 -3
- package/dist/features/assistant/components/AdminAssistantWidget.d.ts +1 -0
- package/dist/features/assistant/components/AdminAssistantWidget.js +84 -0
- package/dist/features/assistant/components/AssistantPageView.d.ts +6 -0
- package/dist/features/assistant/components/AssistantPageView.js +54 -0
- package/dist/features/assistant/components/AssistantWidget.d.ts +5 -0
- package/dist/features/assistant/components/AssistantWidget.js +127 -0
- package/dist/features/assistant/schemas/ask.d.ts +15 -0
- package/dist/features/assistant/schemas/ask.js +10 -0
- package/dist/features/audit-log/schemas/firestore.d.ts +94 -0
- package/dist/features/audit-log/schemas/firestore.js +51 -0
- package/dist/features/auth/actions/profile-actions.d.ts +8 -6
- package/dist/features/auth/actions/profile-actions.js +17 -8
- package/dist/features/auth/auth-helpers.d.ts +186 -2
- package/dist/features/auth/auth-helpers.js +320 -4
- package/dist/features/auth/components/Guards.d.ts +10 -0
- package/dist/features/auth/components/Guards.js +30 -6
- package/dist/features/auth/components/OAuthLoadingView.d.ts +6 -1
- package/dist/features/auth/components/OAuthLoadingView.js +3 -2
- package/dist/features/auth/hooks/useRBAC.d.ts +29 -1
- package/dist/features/auth/hooks/useRBAC.js +46 -12
- package/dist/features/auth/permissions/constants.d.ts +130 -5
- package/dist/features/auth/permissions/constants.js +176 -2
- package/dist/features/auth/repository/user.repository.d.ts +89 -29
- package/dist/features/auth/repository/user.repository.js +218 -79
- package/dist/features/auth/role-predicates.d.ts +64 -8
- package/dist/features/auth/role-predicates.js +104 -12
- package/dist/features/auth/schemas/firestore.d.ts +107 -8
- package/dist/features/auth/schemas/firestore.js +19 -2
- package/dist/features/auth/schemas/index.d.ts +26 -6
- package/dist/features/auth/schemas/index.js +17 -0
- package/dist/features/auth/types/index.d.ts +23 -1
- package/dist/features/before-after/schemas/index.d.ts +2 -2
- package/dist/features/blog/actions/blog-actions.d.ts +31 -31
- package/dist/features/blog/actions/blog-actions.js +1 -1
- package/dist/features/blog/components/BlogFeaturedCard.js +1 -1
- package/dist/features/blog/components/BlogIndexListing.js +2 -1
- package/dist/features/blog/components/BlogIndexPageView.d.ts +4 -1
- package/dist/features/blog/components/BlogIndexPageView.js +3 -2
- package/dist/features/blog/components/BlogListView.js +1 -1
- package/dist/features/blog/components/BlogPostView.js +33 -2
- package/dist/features/blog/schemas/blog-category.schema.d.ts +2 -0
- package/dist/features/blog/schemas/blog-category.schema.js +8 -0
- package/dist/features/blog/schemas/blog-form.d.ts +4 -4
- package/dist/features/blog/schemas/blog-form.js +1 -1
- package/dist/features/blog/schemas/index.d.ts +67 -67
- package/dist/features/blog/schemas/index.js +3 -7
- package/dist/features/cart/actions/cart-actions.d.ts +5 -5
- package/dist/features/cart/actions/cart-actions.js +7 -7
- package/dist/features/cart/components/CartDrawer.js +1 -1
- package/dist/features/cart/components/CartGroupLineRow.js +1 -1
- package/dist/features/cart/components/CartView.d.ts +1 -1
- package/dist/features/cart/hooks/useCartQuery.d.ts +1 -1
- package/dist/features/cart/hooks/useCheckoutReadQueries.d.ts +1 -1
- package/dist/features/cart/repository/cart.repository.d.ts +3 -3
- package/dist/features/cart/repository/cart.repository.js +6 -6
- package/dist/features/cart/schemas/firestore.d.ts +21 -21
- package/dist/features/cart/schemas/firestore.js +2 -2
- package/dist/features/cart/schemas/index.d.ts +15 -15
- package/dist/features/cart/utils/pending-ops.d.ts +1 -1
- package/dist/features/catalogue/components/AdminCatalogueApprovalsView.d.ts +6 -1
- package/dist/features/catalogue/components/AdminCatalogueApprovalsView.js +3 -1
- package/dist/features/catalogue/components/CatalogueItemEditorView.d.ts +6 -1
- package/dist/features/catalogue/components/CatalogueItemEditorView.js +3 -2
- package/dist/features/catalogue/components/PublicCatalogueItemDetailView.d.ts +4 -1
- package/dist/features/catalogue/components/PublicCatalogueItemDetailView.js +4 -3
- package/dist/features/catalogue/components/PublicCatalogueView.js +1 -1
- package/dist/features/catalogue/components/UserCatalogueView.d.ts +4 -1
- package/dist/features/catalogue/components/UserCatalogueView.js +4 -3
- package/dist/features/categories/api/[id]/description-template/route.js +1 -24
- package/dist/features/categories/api/[id]/price-guidance/route.js +6 -1
- package/dist/features/categories/api/[id]/route.js +20 -3
- package/dist/features/categories/api/route.js +1 -1
- package/dist/features/categories/components/BrandDetailPageView.d.ts +4 -1
- package/dist/features/categories/components/BrandDetailPageView.js +50 -10
- package/dist/features/categories/components/BrandDetailTabs.d.ts +12 -3
- package/dist/features/categories/components/BrandDetailTabs.js +10 -9
- package/dist/features/categories/components/BundleCollage.d.ts +1 -1
- package/dist/features/categories/components/BundleCollage.js +2 -2
- package/dist/features/categories/components/BundleDetailView.d.ts +4 -1
- package/dist/features/categories/components/BundleDetailView.js +4 -3
- package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +1 -1
- package/dist/features/categories/components/BundleDynamicRuleEditor.js +1 -1
- package/dist/features/categories/components/BundlesListView.d.ts +4 -1
- package/dist/features/categories/components/BundlesListView.js +3 -2
- package/dist/features/categories/components/CategoriesIndexListing.js +10 -3
- package/dist/features/categories/components/CategoriesIndexPageView.d.ts +4 -1
- package/dist/features/categories/components/CategoriesIndexPageView.js +3 -2
- package/dist/features/categories/components/CategoryBundlesListing.js +7 -3
- package/dist/features/categories/components/CategoryDetailPageView.d.ts +4 -1
- package/dist/features/categories/components/CategoryDetailPageView.js +134 -101
- package/dist/features/categories/components/CategoryDetailTabs.d.ts +12 -3
- package/dist/features/categories/components/CategoryDetailTabs.js +10 -10
- package/dist/features/categories/components/CategoryForm.js +2 -1
- package/dist/features/categories/components/CategoryGrid.js +1 -1
- package/dist/features/categories/components/CategoryProductsListing.d.ts +1 -1
- package/dist/features/categories/components/CategoryProductsListing.js +6 -5
- package/dist/features/categories/components/CategoryTableColumns.js +1 -1
- package/dist/features/categories/components/ConcernCard.js +1 -1
- package/dist/features/categories/components/FranchiseDetailPageView.d.ts +4 -1
- package/dist/features/categories/components/FranchiseDetailPageView.js +24 -5
- package/dist/features/categories/components/FranchisesIndexView.d.ts +6 -1
- package/dist/features/categories/components/FranchisesIndexView.js +4 -3
- package/dist/features/categories/components/SubcategoryCardRow.js +1 -1
- package/dist/features/categories/hooks/useCategorySelector.d.ts +1 -1
- package/dist/features/categories/hooks/useCategoryTree.js +1 -1
- package/dist/features/categories/repository/categories.repository.d.ts +43 -6
- package/dist/features/categories/repository/categories.repository.js +75 -22
- package/dist/features/categories/repository/price-index.repository.d.ts +2 -2
- package/dist/features/categories/schemas/bundle-form.d.ts +21 -21
- package/dist/features/categories/schemas/bundle-form.js +1 -1
- package/dist/features/categories/schemas/category-content.d.ts +3 -3
- package/dist/features/categories/schemas/category-counts.d.ts +5 -5
- package/dist/features/categories/schemas/category-counts.js +4 -4
- package/dist/features/categories/schemas/firestore.d.ts +36 -18
- package/dist/features/categories/schemas/firestore.js +9 -9
- package/dist/features/categories/schemas/index.d.ts +122 -116
- package/dist/features/categories/schemas/index.js +10 -6
- package/dist/features/categories/types/index.d.ts +13 -10
- package/dist/features/checkout/manifest.js +15 -6
- package/dist/features/checkout/repository/buyer-policy-consent.repository.d.ts +44 -0
- package/dist/features/checkout/repository/buyer-policy-consent.repository.js +66 -0
- package/dist/features/checkout/schemas/firestore.d.ts +37 -0
- package/dist/features/checkout/schemas/firestore.js +1 -0
- package/dist/features/classified/components/ClassifiedDetailPageView.d.ts +4 -1
- package/dist/features/classified/components/ClassifiedDetailPageView.js +36 -22
- package/dist/features/collections/components/CollectionCard.js +1 -1
- package/dist/features/collections/schemas/index.d.ts +4 -4
- package/dist/features/collector-drops/actions/bid-actions.d.ts +50 -0
- package/dist/features/collector-drops/actions/bid-actions.js +454 -0
- package/dist/features/collector-drops/api/route.d.ts +14 -0
- package/dist/features/collector-drops/api/route.js +62 -0
- package/dist/features/collector-drops/columns/index.d.ts +14 -0
- package/dist/features/collector-drops/columns/index.js +63 -0
- package/dist/features/collector-drops/components/CollapsibleBidHistory.js +41 -0
- package/dist/features/collector-drops/components/CollectorDropBidsTable.d.ts +27 -0
- package/dist/features/collector-drops/components/CollectorDropBidsTable.js +96 -0
- package/dist/features/collector-drops/components/CollectorDropBottomActions.d.ts +23 -0
- package/dist/features/collector-drops/components/CollectorDropBottomActions.js +89 -0
- package/dist/features/collector-drops/components/CollectorDropDetailPageView.d.ts +25 -0
- package/dist/features/collector-drops/components/CollectorDropDetailPageView.js +314 -0
- package/dist/features/collector-drops/components/CollectorDropFilters.d.ts +16 -0
- package/dist/features/collector-drops/components/CollectorDropFilters.js +18 -0
- package/dist/features/collector-drops/components/CollectorDropLiveStatusBadge.d.ts +20 -0
- package/dist/features/collector-drops/components/CollectorDropLiveStatusBadge.js +21 -0
- package/dist/features/collector-drops/components/CollectorDropsListView.d.ts +9 -0
- package/dist/features/collector-drops/components/CollectorDropsListView.js +23 -0
- package/dist/features/collector-drops/components/LiveBidPrice.d.ts +19 -0
- package/dist/features/collector-drops/components/LiveBidPrice.js +19 -0
- package/dist/features/collector-drops/components/LiveMinIncrement.d.ts +18 -0
- package/dist/features/collector-drops/components/LiveMinIncrement.js +25 -0
- package/dist/features/collector-drops/components/MarketplaceCollectorDropCard.d.ts +99 -0
- package/dist/features/collector-drops/components/MarketplaceCollectorDropCard.js +212 -0
- package/dist/features/collector-drops/components/MarketplaceCollectorDropGrid.d.ts +21 -0
- package/dist/features/collector-drops/components/MarketplaceCollectorDropGrid.js +47 -0
- package/dist/features/collector-drops/components/PlaceBidFormClient.d.ts +65 -0
- package/dist/features/collector-drops/components/PlaceBidFormClient.js +306 -0
- package/dist/features/collector-drops/components/bid-detail-fields.js +103 -0
- package/dist/features/collector-drops/components/index.d.ts +7 -0
- package/dist/features/collector-drops/components/index.js +5 -0
- package/dist/features/collector-drops/hooks/useBids.d.ts +33 -0
- package/dist/features/collector-drops/hooks/useBids.js +32 -0
- package/dist/features/collector-drops/hooks/useCollectorDrops.d.ts +51 -0
- package/dist/features/collector-drops/hooks/useCollectorDrops.js +105 -0
- package/dist/features/collector-drops/hooks/useIsCollectorDropEnded.d.ts +41 -0
- package/dist/features/collector-drops/hooks/useIsCollectorDropEnded.js +76 -0
- package/dist/features/collector-drops/hooks/useLiveCollectorDropBid.d.ts +20 -0
- package/dist/features/collector-drops/hooks/useLiveCollectorDropBid.js +23 -0
- package/dist/features/collector-drops/hooks/usePlaceBid.d.ts +25 -0
- package/dist/features/collector-drops/hooks/usePlaceBid.js +28 -0
- package/dist/features/collector-drops/hooks/useRealtimeBids.d.ts +41 -0
- package/dist/features/collector-drops/hooks/useRealtimeBids.js +170 -0
- package/dist/features/collector-drops/index.d.ts +8 -0
- package/dist/features/collector-drops/index.js +8 -0
- package/dist/features/collector-drops/manifest.js +17 -0
- package/dist/features/collector-drops/messages/en.json +18 -0
- package/dist/features/collector-drops/repository/bid.repository.d.ts +256 -0
- package/dist/features/collector-drops/repository/bid.repository.js +575 -0
- package/dist/features/collector-drops/schemas/bid-input.d.ts +30 -0
- package/dist/features/collector-drops/schemas/bid-input.js +28 -0
- package/dist/features/collector-drops/schemas/firestore.d.ts +120 -0
- package/dist/features/collector-drops/schemas/firestore.js +73 -0
- package/dist/features/collector-drops/schemas/index.d.ts +170 -0
- package/dist/features/collector-drops/schemas/index.js +64 -0
- package/dist/features/collector-drops/server.d.ts +8 -0
- package/dist/features/collector-drops/server.js +8 -0
- package/dist/features/collector-drops/types/index.d.ts +74 -0
- package/dist/features/consultation/schemas/index.d.ts +6 -6
- package/dist/features/contact/components/ContactInfoSidebar.d.ts +3 -1
- package/dist/features/contact/components/ContactInfoSidebar.js +3 -2
- package/dist/features/contact/components/ContactPageView.d.ts +4 -1
- package/dist/features/contact/components/ContactPageView.js +7 -6
- package/dist/features/contact/email.d.ts +1 -1
- package/dist/features/contact/schemas/inquiry-forms.js +2 -2
- package/dist/features/corporate/schemas/index.d.ts +5 -5
- package/dist/features/cron/firebase-adapters.d.ts +3 -3
- package/dist/features/cron/firebase-adapters.js +3 -3
- package/dist/features/cron/index.d.ts +0 -1
- package/dist/features/cron/index.js +9 -1
- package/dist/features/cron/jobs/preorder-reminder.job.d.ts +1 -1
- package/dist/features/cron/jobs/preorder-reminder.job.js +1 -1
- package/dist/features/cron/registry.d.ts +4 -4
- package/dist/features/cron/registry.js +4 -4
- package/dist/features/dashboard/components/AdminComposableRegion.d.ts +49 -0
- package/dist/features/dashboard/components/AdminComposableRegion.js +42 -0
- package/dist/features/dashboard/components/DashboardCardRenderer.d.ts +73 -0
- package/dist/features/dashboard/components/DashboardCardRenderer.js +434 -0
- package/dist/features/dashboard/components/DashboardHubView.d.ts +19 -1
- package/dist/features/dashboard/components/DashboardHubView.js +11 -6
- package/dist/features/dashboard/components/DashboardQuickJump.d.ts +90 -0
- package/dist/features/dashboard/components/DashboardQuickJump.js +255 -0
- package/dist/features/dashboard/components/DashboardSectionsClient.js +7 -0
- package/dist/features/dashboard/components/EditableWidget.d.ts +51 -0
- package/dist/features/dashboard/components/EditableWidget.js +44 -0
- package/dist/features/dashboard/components/HiddenHubCardGate.d.ts +25 -0
- package/dist/features/dashboard/components/HiddenHubCardGate.js +44 -0
- package/dist/features/dashboard/components/RecentVisitTracker.d.ts +35 -0
- package/dist/features/dashboard/components/RecentVisitTracker.js +33 -0
- package/dist/features/dashboard/components/WidgetInstanceEditor.d.ts +91 -0
- package/dist/features/dashboard/components/WidgetInstanceEditor.js +91 -0
- package/dist/features/dashboard/hooks/useHiddenHubCards.d.ts +9 -0
- package/dist/features/dashboard/hooks/useHiddenHubCards.js +101 -0
- package/dist/features/dashboard/hooks/usePageRegion.d.ts +27 -0
- package/dist/features/dashboard/hooks/usePageRegion.js +106 -0
- package/dist/features/dashboard/hooks/useRecentlyVisited.d.ts +9 -0
- package/dist/features/dashboard/hooks/useRecentlyVisited.js +127 -0
- package/dist/features/dashboard/hooks/useSavedCards.d.ts +23 -0
- package/dist/features/dashboard/hooks/useSavedCards.js +147 -0
- package/dist/features/digital-codes/components/DigitalCodeDetailPageView.d.ts +4 -1
- package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +30 -14
- package/dist/features/email/notification-templates.js +3 -3
- package/dist/features/events/actions/event-actions.d.ts +11 -3
- package/dist/features/events/actions/event-actions.js +21 -11
- package/dist/features/events/api/[id]/route.js +1 -1
- package/dist/features/events/components/AdminEventEditorView.d.ts +6 -1
- package/dist/features/events/components/AdminEventEditorView.js +81 -21
- package/dist/features/events/components/AdminEventEntriesView.d.ts +4 -1
- package/dist/features/events/components/AdminEventEntriesView.js +3 -2
- package/dist/features/events/components/AdminEventsView.d.ts +6 -2
- package/dist/features/events/components/AdminEventsView.js +5 -4
- package/dist/features/events/components/BonusSpinView.d.ts +27 -0
- package/dist/features/events/components/BonusSpinView.js +151 -0
- package/dist/features/events/components/EntryVoteButtons.d.ts +19 -0
- package/dist/features/events/components/EntryVoteButtons.js +65 -0
- package/dist/features/events/components/EventCard.js +1 -1
- package/dist/features/events/components/EventFilters.js +13 -5
- package/dist/features/events/components/EventGiveawayEntryForm.d.ts +24 -0
- package/dist/features/events/components/EventGiveawayEntryForm.js +46 -0
- package/dist/features/events/components/EventGiveawayWinnerView.d.ts +38 -0
- package/dist/features/events/components/EventGiveawayWinnerView.js +40 -0
- package/dist/features/events/components/EventGiveawaysSection.d.ts +48 -0
- package/dist/features/events/components/EventGiveawaysSection.js +102 -0
- package/dist/features/events/components/EventsIndexListing.js +7 -3
- package/dist/features/events/components/EventsListPageView.d.ts +4 -1
- package/dist/features/events/components/EventsListPageView.js +4 -2
- package/dist/features/events/components/RelatedEventsCarousel.js +1 -1
- package/dist/features/events/components/event-entry-detail-fields.d.ts +1 -1
- package/dist/features/events/components/event-entry-detail-fields.js +1 -1
- package/dist/features/events/components/index.d.ts +8 -8
- package/dist/features/events/components/index.js +4 -4
- package/dist/features/events/constants/event-type-meta.d.ts +14 -6
- package/dist/features/events/constants/event-type-meta.js +40 -14
- package/dist/features/events/manifest.js +31 -0
- package/dist/features/events/repository/entry-votes.repository.d.ts +45 -0
- package/dist/features/events/repository/entry-votes.repository.js +154 -0
- package/dist/features/events/repository/events.repository.js +1 -1
- package/dist/features/events/schemas/entry-votes.d.ts +134 -0
- package/dist/features/events/schemas/entry-votes.js +114 -0
- package/dist/features/events/schemas/event-form.d.ts +40 -10
- package/dist/features/events/schemas/event-form.js +32 -1
- package/dist/features/events/schemas/firestore.d.ts +55 -13
- package/dist/features/events/schemas/firestore.js +15 -10
- package/dist/features/events/schemas/index.d.ts +166 -133
- package/dist/features/events/schemas/index.js +53 -13
- package/dist/features/events/types/index.d.ts +32 -7
- package/dist/features/events/types/index.js +45 -8
- package/dist/features/events/utils/carousel-slide.d.ts +12 -14
- package/dist/features/events/utils/carousel-slide.js +23 -26
- package/dist/features/faq/actions/faq-actions.d.ts +197 -6
- package/dist/features/faq/actions/faq-actions.js +79 -2
- package/dist/features/faq/components/FAQAccordion.js +2 -1
- package/dist/features/faq/manifest.js +9 -1
- package/dist/features/faq/schemas/firestore.d.ts +26 -1
- package/dist/features/faq/schemas/firestore.js +1 -0
- package/dist/features/faq/schemas/index.d.ts +2 -2
- package/dist/features/faq/utils/getHomepageFaqsCached.d.ts +9 -0
- package/dist/features/faq/utils/getHomepageFaqsCached.js +21 -1
- package/dist/features/faq/utils/resolveFaqAnswer.d.ts +9 -0
- package/dist/features/faq/utils/resolveFaqAnswer.js +18 -0
- package/dist/features/gateway-events/schemas/index.d.ts +2 -2
- package/dist/features/giveaway/repository/giveaway-entry.repository.d.ts +48 -0
- package/dist/features/giveaway/repository/giveaway-entry.repository.js +172 -0
- package/dist/features/giveaway/schemas/config-write.d.ts +145 -0
- package/dist/features/giveaway/schemas/config-write.js +199 -0
- package/dist/features/giveaway/schemas/firestore.d.ts +77 -0
- package/dist/features/giveaway/schemas/firestore.js +42 -0
- package/dist/features/giveaway/schemas/zod.d.ts +113 -0
- package/dist/features/giveaway/schemas/zod.js +39 -0
- package/dist/features/giveaway/types/index.d.ts +72 -0
- package/dist/features/giveaway/types/index.js +68 -0
- package/dist/features/grouped/components/GroupedListingDetailView.d.ts +4 -1
- package/dist/features/grouped/components/GroupedListingDetailView.js +4 -3
- package/dist/features/grouped/components/GroupedListingEditorView.d.ts +10 -1
- package/dist/features/grouped/components/GroupedListingEditorView.js +3 -2
- package/dist/features/grouped/schemas/index.d.ts +2 -2
- package/dist/features/history/repository/user-history.repository.d.ts +1 -1
- package/dist/features/history/utils/guest-history.d.ts +1 -1
- package/dist/features/homepage/actions/index.d.ts +0 -1
- package/dist/features/homepage/actions/index.js +0 -1
- package/dist/features/homepage/api/carousel/route.d.ts +12 -6
- package/dist/features/homepage/api/carousel/route.js +15 -137
- package/dist/features/homepage/components/AdSlot.js +1 -1
- package/dist/features/homepage/components/CTABannerSection.js +2 -2
- package/dist/features/homepage/components/CollectionCardsSection.d.ts +2 -2
- package/dist/features/homepage/components/CollectionCardsSection.js +4 -4
- package/dist/features/homepage/components/CustomCardsSection.js +1 -1
- package/dist/features/homepage/components/FeaturedCollectorDropsSection.d.ts +18 -0
- package/dist/features/homepage/components/FeaturedCollectorDropsSection.js +12 -0
- package/dist/features/homepage/components/GoogleReviewsSection.js +1 -1
- package/dist/features/homepage/components/HeroCarousel.js +7 -6
- package/dist/features/homepage/components/HomepageSectionBoundary.d.ts +1 -1
- package/dist/features/homepage/components/HomepageSectionBoundary.js +1 -1
- package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +4 -1
- package/dist/features/homepage/components/MarketplaceHomepageView.js +23 -32
- package/dist/features/homepage/components/SectionCarousel.js +1 -1
- package/dist/features/homepage/components/ShopByCategorySection.js +12 -2
- package/dist/features/homepage/components/SocialPostCard.js +1 -1
- package/dist/features/homepage/components/TrustFeaturesSection.js +11 -1
- package/dist/features/homepage/components/index.d.ts +2 -2
- package/dist/features/homepage/components/index.js +1 -1
- package/dist/features/homepage/constants/carousel.d.ts +8 -0
- package/dist/features/homepage/constants/carousel.js +8 -0
- package/dist/features/homepage/constants/section-copy.d.ts +2 -2
- package/dist/features/homepage/constants/section-copy.js +5 -5
- package/dist/features/homepage/hooks/homepage-query.js +2 -2
- package/dist/features/homepage/hooks/useActiveAd.d.ts +1 -1
- package/dist/features/homepage/hooks/useActiveAd.js +1 -1
- package/dist/features/homepage/hooks/useFeaturedCollectorDrops.d.ts +15 -0
- package/dist/features/homepage/hooks/useFeaturedCollectorDrops.js +49 -0
- package/dist/features/homepage/index.d.ts +1 -1
- package/dist/features/homepage/index.js +1 -1
- package/dist/features/homepage/lib/section-gating.d.ts +1 -1
- package/dist/features/homepage/lib/section-gating.js +1 -1
- package/dist/features/homepage/lib/section-renderer.d.ts +3 -2
- package/dist/features/homepage/lib/section-renderer.js +24 -13
- package/dist/features/homepage/lib/slide-gating.d.ts +5 -5
- package/dist/features/homepage/lib/slide-gating.js +6 -6
- package/dist/features/homepage/repository/homepage-sections.repository.d.ts +1 -1
- package/dist/features/homepage/schemas/firestore.d.ts +48 -169
- package/dist/features/homepage/schemas/firestore.js +12 -57
- package/dist/features/homepage/schemas/index.d.ts +2 -885
- package/dist/features/homepage/schemas/index.js +7 -112
- package/dist/features/homepage/server.d.ts +1 -3
- package/dist/features/homepage/server.js +1 -3
- package/dist/features/inventory/components/AdminMoveLedgerView.d.ts +7 -2
- package/dist/features/inventory/components/AdminMoveLedgerView.js +3 -2
- package/dist/features/inventory/components/AdminStorageBoxesView.d.ts +6 -1
- package/dist/features/inventory/components/AdminStorageBoxesView.js +4 -3
- package/dist/features/inventory/components/ReceiveStationView.d.ts +4 -1
- package/dist/features/inventory/components/ReceiveStationView.js +3 -2
- package/dist/features/jobs/actions/enqueue-job.d.ts +1 -1
- package/dist/features/jobs/schemas/firestore.d.ts +1 -1
- package/dist/features/layout/AppLayoutShell.d.ts +30 -1
- package/dist/features/layout/AppLayoutShell.js +44 -14
- package/dist/features/layout/AutoBreadcrumbs.js +6 -7
- package/dist/features/layout/BottomActions.js +1 -1
- package/dist/features/layout/BottomNavbar.d.ts +1 -1
- package/dist/features/layout/BottomNavbar.js +1 -1
- package/dist/features/layout/EditModeToggle.d.ts +8 -0
- package/dist/features/layout/EditModeToggle.js +17 -0
- package/dist/features/layout/LanguageSwitcher.d.ts +27 -0
- package/dist/features/layout/LanguageSwitcher.js +28 -0
- package/dist/features/layout/NavbarLayout.js +2 -2
- package/dist/features/layout/SideActionDock.js +2 -2
- package/dist/features/layout/SidebarLayout.js +11 -1
- package/dist/features/layout/TitleBarLayout.d.ts +14 -1
- package/dist/features/layout/TitleBarLayout.js +2 -2
- package/dist/features/layout/index.d.ts +6 -6
- package/dist/features/layout/index.js +3 -3
- package/dist/features/live/components/LiveItemDetailPageView.d.ts +4 -1
- package/dist/features/live/components/LiveItemDetailPageView.js +22 -4
- package/dist/features/media/MediaPickerModal.js +1 -1
- package/dist/features/media/hooks/useMedia.d.ts +1 -1
- package/dist/features/media/index.d.ts +0 -8
- package/dist/features/media/index.js +2 -5
- package/dist/features/media/modals/ImageCropModal.d.ts +2 -8
- package/dist/features/media/types/index.d.ts +4 -4
- package/dist/features/media/upload/ImageUpload.js +1 -1
- package/dist/features/media/upload/MediaUploadField.js +2 -2
- package/dist/features/media/upload/MediaUploadList.js +2 -2
- package/dist/features/media/upload/register-form-field-renderers.d.ts +1 -0
- package/dist/features/media/upload/register-form-field-renderers.js +34 -0
- package/dist/features/messages/components/ConversationThreadView.d.ts +4 -1
- package/dist/features/messages/components/ConversationThreadView.js +4 -3
- package/dist/features/messages/components/ConversationsInboxView.d.ts +6 -1
- package/dist/features/messages/components/ConversationsInboxView.js +26 -3
- package/dist/features/messages/schemas/firestore.d.ts +26 -3
- package/dist/features/messages/schemas/firestore.js +10 -0
- package/dist/features/obligations/constants/policies.js +71 -2
- package/dist/features/obligations/schemas/firestore.d.ts +17 -1
- package/dist/features/obligations/schemas/firestore.js +1 -0
- package/dist/features/orders/actions/order-actions.js +39 -0
- package/dist/features/orders/components/OrderPaymentSummary.js +1 -0
- package/dist/features/orders/components/OrderProvenanceCard.js +11 -11
- package/dist/features/orders/components/OrdersList.js +6 -4
- package/dist/features/orders/components/RefundRequestView.d.ts +4 -1
- package/dist/features/orders/components/RefundRequestView.js +3 -2
- package/dist/features/orders/constants/order-lane-tabs.d.ts +3 -3
- package/dist/features/orders/constants/order-lane-tabs.js +8 -8
- package/dist/features/orders/hooks/useOrders.d.ts +2 -0
- package/dist/features/orders/hooks/useOrders.js +7 -1
- package/dist/features/orders/repository/orders.repository.js +2 -2
- package/dist/features/orders/schemas/firestore.d.ts +197 -26
- package/dist/features/orders/schemas/firestore.js +1 -1
- package/dist/features/orders/schemas/index.d.ts +69 -29
- package/dist/features/orders/schemas/index.js +19 -1
- package/dist/features/orders/types/index.d.ts +31 -4
- package/dist/features/orders/utils/order-splitter.d.ts +3 -3
- package/dist/features/orders/utils/order-splitter.js +8 -8
- package/dist/features/payments/repository/payout.repository.d.ts +80 -0
- package/dist/features/payments/repository/payout.repository.js +116 -0
- package/dist/features/payments/schemas/firestore.d.ts +29 -0
- package/dist/features/payments/schemas/firestore.js +15 -0
- package/dist/features/payments/schemas/index.d.ts +2 -2
- package/dist/features/payments/types/index.d.ts +1 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +1 -1
- package/dist/features/pre-orders/components/PreOrderActionsClient.d.ts +5 -0
- package/dist/features/pre-orders/components/PreOrderActionsClient.js +8 -5
- package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +4 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +31 -11
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +1 -1
- package/dist/features/pre-orders/components/PreOrdersListView.d.ts +4 -1
- package/dist/features/pre-orders/components/PreOrdersListView.js +3 -2
- package/dist/features/pre-orders/schemas/index.d.ts +8 -8
- package/dist/features/price-index/components/PriceIndexToolView.d.ts +4 -1
- package/dist/features/price-index/components/PriceIndexToolView.js +7 -7
- package/dist/features/price-index/lookup-target.js +1 -1
- package/dist/features/print/components/BoxLabelPrintView.d.ts +4 -1
- package/dist/features/print/components/BoxLabelPrintView.js +3 -2
- package/dist/features/products/actions/product-actions.d.ts +9 -9
- package/dist/features/products/actions/product-actions.js +19 -19
- package/dist/features/products/api/[id]/route.js +31 -10
- package/dist/features/products/api/route.d.ts +2 -2
- package/dist/features/products/api/route.js +11 -4
- package/dist/features/products/columns/productTableColumns.js +1 -1
- package/dist/features/products/components/ArtStickersListView.d.ts +4 -1
- package/dist/features/products/components/ArtStickersListView.js +7 -6
- package/dist/features/products/components/AvailabilityTabs.js +2 -2
- package/dist/features/products/components/BidHistory.d.ts +3 -0
- package/dist/features/products/components/BidHistory.js +3 -1
- package/dist/features/products/components/CardStoreLine.d.ts +2 -2
- package/dist/features/products/components/CardStoreLine.js +1 -1
- package/dist/features/products/components/CityCollectiblesView.d.ts +4 -1
- package/dist/features/products/components/CityCollectiblesView.js +3 -2
- package/dist/features/products/components/ClearanceBottomActions.d.ts +6 -0
- package/dist/features/products/components/ClearanceBottomActions.js +6 -0
- package/dist/features/products/components/ClearanceCollage.d.ts +35 -0
- package/dist/features/products/components/ClearanceCollage.js +91 -0
- package/dist/features/products/components/ClearanceDetailPageView.d.ts +37 -0
- package/dist/features/products/components/ClearanceDetailPageView.js +156 -0
- package/dist/features/products/components/ClearanceEntryActions.d.ts +32 -0
- package/dist/features/products/components/ClearanceEntryActions.js +104 -0
- package/dist/features/products/components/ClearanceIndexListing.d.ts +8 -0
- package/dist/features/products/components/ClearanceIndexListing.js +108 -0
- package/dist/features/products/components/ClearanceItemsEditor.d.ts +13 -0
- package/dist/features/products/components/ClearanceItemsEditor.js +101 -0
- package/dist/features/products/components/ClearanceListingView.d.ts +18 -0
- package/dist/features/products/components/ClearanceListingView.js +38 -0
- package/dist/features/products/components/ClearanceSection.d.ts +15 -0
- package/dist/features/products/components/ClearanceSection.js +49 -0
- package/dist/features/products/components/ClearanceWinnerMappingView.d.ts +14 -0
- package/dist/features/products/components/ClearanceWinnerMappingView.js +43 -0
- package/dist/features/products/components/CollectorDropDetailView.d.ts +16 -0
- package/dist/features/products/components/CollectorDropDetailView.js +13 -0
- package/dist/features/products/components/CollectorDropsIndexListing.d.ts +8 -0
- package/dist/features/products/components/CollectorDropsIndexListing.js +170 -0
- package/dist/features/products/components/CompareOverlay.d.ts +2 -2
- package/dist/features/products/components/CompareOverlay.js +5 -5
- package/dist/features/products/components/CustomSectionTabContent.d.ts +1 -1
- package/dist/features/products/components/CustomSectionTabContent.js +1 -1
- package/dist/features/products/components/GroupMemberPicker.js +1 -1
- package/dist/features/products/components/GroupSettingsPanel.d.ts +2 -2
- package/dist/features/products/components/GroupSettingsPanel.js +4 -4
- package/dist/features/products/components/ListingBottomActions.d.ts +4 -4
- package/dist/features/products/components/ListingBottomActions.js +1 -1
- package/dist/features/products/components/MarketplaceBundleCard.js +1 -1
- package/dist/features/products/components/MarketplaceClearanceCard.d.ts +34 -0
- package/dist/features/products/components/MarketplaceClearanceCard.js +129 -0
- package/dist/features/products/components/NonRefundableConsentModal.d.ts +1 -1
- package/dist/features/products/components/NonRefundableConsentModal.js +2 -2
- package/dist/features/products/components/PdpSectionJumpNav.d.ts +4 -0
- package/dist/features/products/components/PdpSectionJumpNav.js +41 -0
- package/dist/features/products/components/PlaceBidForm.d.ts +1 -1
- package/dist/features/products/components/PrizeRevealModal.js +31 -8
- package/dist/features/products/components/ProductDetailActions.js +1 -1
- package/dist/features/products/components/ProductDetailPageView.d.ts +4 -1
- package/dist/features/products/components/ProductDetailPageView.js +128 -98
- package/dist/features/products/components/ProductFeatureBadges.js +10 -7
- package/dist/features/products/components/ProductFilters.js +1 -1
- package/dist/features/products/components/ProductForm.d.ts +1 -1
- package/dist/features/products/components/ProductForm.js +20 -21
- package/dist/features/products/components/ProductGalleryClient.js +1 -1
- package/dist/features/products/components/ProductGradingTab.js +1 -1
- package/dist/features/products/components/ProductGrid.d.ts +18 -1
- package/dist/features/products/components/ProductGrid.js +91 -22
- package/dist/features/products/components/ProductsIndexListing.d.ts +1 -1
- package/dist/features/products/components/ProductsIndexListing.js +85 -18
- package/dist/features/products/components/ProductsIndexPageView.d.ts +4 -1
- package/dist/features/products/components/ProductsIndexPageView.js +12 -11
- package/dist/features/products/components/RelatedItemsSection.d.ts +82 -2
- package/dist/features/products/components/RelatedItemsSection.js +152 -9
- package/dist/features/products/components/ShowGroupSection.js +30 -2
- package/dist/features/products/components/SparesListView.d.ts +4 -1
- package/dist/features/products/components/SparesListView.js +3 -2
- package/dist/features/products/components/SublistingCarouselSection.js +1 -1
- package/dist/features/products/components/TrustBadgeRow.d.ts +15 -0
- package/dist/features/products/components/TrustBadgeRow.js +13 -0
- package/dist/features/products/components/index.d.ts +16 -18
- package/dist/features/products/components/index.js +9 -10
- package/dist/features/products/config/listing-type-listing-config.js +1 -1
- package/dist/features/products/constants/action-defs.d.ts +24 -25
- package/dist/features/products/constants/action-defs.js +35 -36
- package/dist/features/products/constants/card-badges.d.ts +3 -3
- package/dist/features/products/constants/card-badges.js +3 -3
- package/dist/features/products/constants/listing-tabs.d.ts +11 -5
- package/dist/features/products/constants/listing-tabs.js +21 -22
- package/dist/features/products/constants/preorder-window.d.ts +101 -0
- package/dist/features/products/constants/preorder-window.js +172 -0
- package/dist/features/products/constants/product-features.constants.js +3 -3
- package/dist/features/products/constants/sieve.d.ts +4 -4
- package/dist/features/products/constants/sieve.js +14 -14
- package/dist/features/products/hooks/useProducts.js +1 -1
- package/dist/features/products/hooks/useRelatedProducts.d.ts +2 -2
- package/dist/features/products/hooks/useRelatedProducts.js +5 -5
- package/dist/features/products/index.d.ts +1 -1
- package/dist/features/products/index.js +3 -3
- package/dist/features/products/messages/en.json +1 -1
- package/dist/features/products/repository/category-assignment.js +2 -2
- package/dist/features/products/repository/products.repository.d.ts +9 -6
- package/dist/features/products/repository/products.repository.js +54 -29
- package/dist/features/products/schemas/firestore.d.ts +81 -29
- package/dist/features/products/schemas/firestore.js +84 -14
- package/dist/features/products/schemas/index.d.ts +67 -47
- package/dist/features/products/schemas/index.js +46 -12
- package/dist/features/products/schemas/part-slots.d.ts +84 -0
- package/dist/features/products/schemas/part-slots.js +231 -0
- package/dist/features/products/schemas/product-features.d.ts +3 -3
- package/dist/features/products/schemas/product-features.validators.d.ts +40 -40
- package/dist/features/products/schemas/product-features.validators.js +3 -3
- package/dist/features/products/schemas/surface-counts.d.ts +1 -1
- package/dist/features/products/schemas/surface-counts.js +1 -1
- package/dist/features/products/types/index.d.ts +7 -7
- package/dist/features/products/utils/listing-badge-variant.d.ts +1 -1
- package/dist/features/products/utils/listing-badge-variant.js +5 -6
- package/dist/features/products/utils/listing-type.d.ts +6 -9
- package/dist/features/products/utils/listing-type.js +30 -9
- package/dist/features/promotions/actions/seller-coupon-actions.d.ts +2 -2
- package/dist/features/promotions/actions/seller-coupon-actions.js +2 -2
- package/dist/features/promotions/components/CouponCard.d.ts +1 -1
- package/dist/features/promotions/components/CouponsIndexListing.js +3 -1
- package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
- package/dist/features/promotions/repository/coupons.repository.d.ts +2 -5
- package/dist/features/promotions/repository/coupons.repository.js +22 -11
- package/dist/features/promotions/schemas/firestore.d.ts +28 -4
- package/dist/features/promotions/schemas/firestore.js +22 -0
- package/dist/features/promotions/schemas/index.d.ts +54 -30
- package/dist/features/promotions/schemas/index.js +40 -11
- package/dist/features/promotions/types/index.d.ts +1 -1
- package/dist/features/reviews/actions/review-actions.js +1 -1
- package/dist/features/reviews/api/[id]/route.js +34 -10
- package/dist/features/reviews/components/ReviewDetailPageView.d.ts +4 -1
- package/dist/features/reviews/components/ReviewDetailPageView.js +29 -2
- package/dist/features/reviews/components/ReviewDetailShell.js +2 -2
- package/dist/features/reviews/components/ReviewModal.js +1 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.d.ts +4 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.js +4 -3
- package/dist/features/reviews/components/ReviewsList.js +1 -1
- package/dist/features/reviews/components/ReviewsListingPanel.d.ts +1 -1
- package/dist/features/reviews/schemas/firestore.d.ts +1 -1
- package/dist/features/reviews/schemas/index.d.ts +23 -20
- package/dist/features/reviews/schemas/index.js +25 -0
- package/dist/features/scams/actions/scam-actions.js +1 -1
- package/dist/features/scams/components/ScamProfileView.d.ts +4 -1
- package/dist/features/scams/components/ScamProfileView.js +4 -3
- package/dist/features/scams/components/ScamRegistryView.d.ts +4 -1
- package/dist/features/scams/components/ScamRegistryView.js +5 -3
- package/dist/features/scams/schemas/index.d.ts +8 -8
- package/dist/features/scams/schemas/report-form.d.ts +4 -4
- package/dist/features/search/action-index/repository.d.ts +1 -1
- package/dist/features/search/action-index/repository.js +1 -1
- package/dist/features/search/action-index/settings-entries.js +6 -6
- package/dist/features/search/components/Search.d.ts +1 -1
- package/dist/features/search/components/SearchFacetRail.js +2 -2
- package/dist/features/search/components/SearchResultsPageView.js +2 -1
- package/dist/features/search/hooks/useNavSuggestions.d.ts +1 -1
- package/dist/features/search/hooks/useNavSuggestions.js +1 -1
- package/dist/features/search/hooks/useSiteSearch.js +1 -1
- package/dist/features/seller/actions/offer-actions.js +3 -3
- package/dist/features/seller/actions/seller-actions.d.ts +19 -0
- package/dist/features/seller/actions/seller-actions.js +163 -44
- package/dist/features/seller/api/coupons/route.js +6 -1
- package/dist/features/seller/api/products/route.js +6 -1
- package/dist/features/seller/api/store/route.js +6 -1
- package/dist/features/seller/components/FulfillmentView.d.ts +4 -1
- package/dist/features/seller/components/FulfillmentView.js +3 -2
- package/dist/features/seller/components/PrintCenterView.d.ts +4 -1
- package/dist/features/seller/components/PrintCenterView.js +3 -2
- package/dist/features/seller/components/SellerAddressesView.d.ts +4 -1
- package/dist/features/seller/components/SellerAddressesView.js +3 -2
- package/dist/features/seller/components/SellerAnalyticsAlertsView.d.ts +4 -1
- package/dist/features/seller/components/SellerAnalyticsAlertsView.js +3 -2
- package/dist/features/seller/components/SellerAnalyticsView.d.ts +4 -1
- package/dist/features/seller/components/SellerAnalyticsView.js +3 -1
- package/dist/features/seller/components/SellerArtAndStickersView.d.ts +18 -0
- package/dist/features/seller/components/SellerArtAndStickersView.js +7 -0
- package/dist/features/seller/components/SellerBidsView.d.ts +4 -1
- package/dist/features/seller/components/SellerBidsView.js +9 -8
- package/dist/features/seller/components/SellerBundlesView.d.ts +4 -1
- package/dist/features/seller/components/SellerBundlesView.js +3 -2
- package/dist/features/seller/components/SellerClassifiedView.d.ts +6 -2
- package/dist/features/seller/components/SellerClassifiedView.js +4 -3
- package/dist/features/seller/components/SellerCouponEditorView.d.ts +4 -1
- package/dist/features/seller/components/SellerCouponEditorView.js +3 -2
- package/dist/features/seller/components/SellerDigitalCodesView.d.ts +6 -2
- package/dist/features/seller/components/SellerDigitalCodesView.js +4 -3
- package/dist/features/seller/components/SellerFeaturesView.d.ts +6 -1
- package/dist/features/seller/components/SellerFeaturesView.js +8 -3
- package/dist/features/seller/components/SellerGoogleReviewsView.d.ts +4 -1
- package/dist/features/seller/components/SellerGoogleReviewsView.js +3 -2
- package/dist/features/seller/components/SellerGuideView.d.ts +11 -1
- package/dist/features/seller/components/SellerGuideView.js +7 -2
- package/dist/features/seller/components/SellerListingTypeView.d.ts +2 -2
- package/dist/features/seller/components/SellerListingTypeView.js +14 -20
- package/dist/features/seller/components/SellerLiveView.d.ts +6 -2
- package/dist/features/seller/components/SellerLiveView.js +4 -3
- package/dist/features/seller/components/SellerOffersView.d.ts +4 -1
- package/dist/features/seller/components/SellerOffersView.js +4 -3
- package/dist/features/seller/components/SellerOrdersView.d.ts +4 -1
- package/dist/features/seller/components/SellerOrdersView.js +44 -47
- package/dist/features/seller/components/SellerPayoutRequestView.d.ts +4 -1
- package/dist/features/seller/components/SellerPayoutRequestView.js +3 -2
- package/dist/features/seller/components/SellerPayoutSettingsView.js +125 -13
- package/dist/features/seller/components/SellerProductShell.d.ts +3 -3
- package/dist/features/seller/components/SellerProductShell.js +74 -26
- package/dist/features/seller/components/SellerProductsCards.js +3 -3
- package/dist/features/seller/components/SellerProductsView.js +21 -121
- package/dist/features/seller/components/SellerReviewsView.d.ts +10 -1
- package/dist/features/seller/components/SellerReviewsView.js +3 -2
- package/dist/features/seller/components/SellerShippingOfferView.d.ts +5 -0
- package/dist/features/seller/components/SellerShippingOfferView.js +164 -0
- package/dist/features/seller/components/SellerShippingView.d.ts +4 -1
- package/dist/features/seller/components/SellerShippingView.js +6 -5
- package/dist/features/seller/components/SellerSidebar.js +29 -5
- package/dist/features/seller/components/SellerSparesView.d.ts +6 -2
- package/dist/features/seller/components/SellerSparesView.js +4 -3
- package/dist/features/seller/components/SellerStoreCategoriesView.d.ts +4 -1
- package/dist/features/seller/components/SellerStoreCategoriesView.js +3 -2
- package/dist/features/seller/components/SellerStorefrontView.d.ts +4 -1
- package/dist/features/seller/components/SellerStorefrontView.js +6 -5
- package/dist/features/seller/components/SellerSupportView.d.ts +4 -1
- package/dist/features/seller/components/SellerSupportView.js +3 -2
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.d.ts +8 -1
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.js +1 -1
- package/dist/features/seller/components/index.d.ts +2 -4
- package/dist/features/seller/components/index.js +1 -2
- package/dist/features/seller/constants/store-tabs.d.ts +4 -0
- package/dist/features/seller/constants/store-tabs.js +12 -0
- package/dist/features/seller/hooks/useSellerStorefront.js +18 -1
- package/dist/features/seller/repository/seller-profile.repository.d.ts +32 -0
- package/dist/features/seller/repository/seller-profile.repository.js +98 -0
- package/dist/features/seller/schemas/coupon-form.d.ts +15 -15
- package/dist/features/seller/schemas/coupon-form.js +2 -2
- package/dist/features/seller/schemas/index.d.ts +6 -6
- package/dist/features/seller/schemas/product-form.d.ts +9 -9
- package/dist/features/seller/schemas/product-form.js +4 -4
- package/dist/features/seller/schemas/seller-profile-firestore.d.ts +48 -0
- package/dist/features/seller/schemas/seller-profile-firestore.js +38 -0
- package/dist/features/server-errors/schemas/index.d.ts +4 -4
- package/dist/features/shell/CommandPalette.d.ts +53 -4
- package/dist/features/shell/CommandPalette.js +144 -11
- package/dist/features/shell/QuickFormDrawer.d.ts +2 -14
- package/dist/features/shell/SectionForm.js +1 -1
- package/dist/features/shell/SectionVisibilityGate.d.ts +36 -0
- package/dist/features/shell/SectionVisibilityGate.js +46 -0
- package/dist/features/shell/WizardFormSteps.d.ts +7 -0
- package/dist/features/shell/WizardFormSteps.js +53 -0
- package/dist/features/shell/build-sections.d.ts +95 -2
- package/dist/features/shell/build-sections.js +177 -6
- package/dist/features/shell/field-ui-meta.d.ts +69 -0
- package/dist/features/shell/field-ui-meta.js +56 -0
- package/dist/features/shell/index.d.ts +2 -0
- package/dist/features/shell/index.js +1 -0
- package/dist/features/shell/searchNavItems.d.ts +22 -0
- package/dist/features/shell/searchNavItems.js +61 -0
- package/dist/features/shell/useFieldVisibility.d.ts +43 -0
- package/dist/features/shell/useFieldVisibility.js +126 -0
- package/dist/features/shipments/components/AdminShipmentEditorView.d.ts +6 -1
- package/dist/features/shipments/components/AdminShipmentEditorView.js +3 -2
- package/dist/features/shipments/components/AdminShipmentLotItemsView.d.ts +4 -1
- package/dist/features/shipments/components/AdminShipmentLotItemsView.js +3 -2
- package/dist/features/shipments/components/AdminShipmentProjectionsView.d.ts +6 -1
- package/dist/features/shipments/components/AdminShipmentProjectionsView.js +3 -9
- package/dist/features/shipments/components/AdminShipmentsView.d.ts +6 -2
- package/dist/features/shipments/components/AdminShipmentsView.js +5 -4
- package/dist/features/shipments/schemas/validation.d.ts +19 -19
- package/dist/features/shipments/schemas/validation.js +3 -4
- package/dist/features/site-settings/components/ActionPermissionsManager.js +21 -9
- package/dist/features/site-settings/components/NavPermissionsManager.d.ts +20 -1
- package/dist/features/site-settings/components/NavPermissionsManager.js +82 -6
- package/dist/features/site-settings/components/ThemeManagerView.js +22 -2
- package/dist/features/sticker-trace/components/StickerRunHistoryPanel.d.ts +8 -1
- package/dist/features/sticker-trace/components/StickerRunHistoryPanel.js +43 -11
- package/dist/features/sticker-trace/components/StickerTraceStudio.js +34 -13
- package/dist/features/sticker-trace/repository/sticker-sheets.repository.d.ts +1 -1
- package/dist/features/sticker-trace/repository/sticker-sheets.repository.js +1 -1
- package/dist/features/sticker-trace/repository/sticker-trace-runs.repository.d.ts +8 -0
- package/dist/features/sticker-trace/repository/sticker-trace-runs.repository.js +15 -0
- package/dist/features/store-extensions/repository/store-extensions.repositories.d.ts +2 -1
- package/dist/features/store-extensions/repository/store-extensions.repositories.js +16 -0
- package/dist/features/store-extensions/schemas/admin-notification-form.d.ts +2 -2
- package/dist/features/store-extensions/schemas/analytics-forms.d.ts +2 -2
- package/dist/features/store-extensions/schemas/firestore.d.ts +12 -2
- package/dist/features/store-extensions/schemas/firestore.js +3 -4
- package/dist/features/store-extensions/schemas/listing-template-form.d.ts +10 -10
- package/dist/features/store-extensions/schemas/listing-template-form.js +3 -4
- package/dist/features/store-extensions/schemas/payout-method-form.d.ts +10 -10
- package/dist/features/store-extensions/schemas/report-create-form.d.ts +2 -2
- package/dist/features/store-extensions/schemas/shipping-config-form.d.ts +33 -20
- package/dist/features/store-extensions/schemas/shipping-config-form.js +11 -0
- package/dist/features/store-extensions/schemas/store-category-form.d.ts +6 -6
- package/dist/features/stores/actions/store-query-actions.d.ts +2 -2
- package/dist/features/stores/actions/store-query-actions.js +5 -5
- package/dist/features/stores/api/[storeSlug]/collector-drops/route.d.ts +23 -0
- package/dist/features/stores/api/[storeSlug]/collector-drops/route.js +83 -0
- package/dist/features/stores/api/[storeSlug]/products/route.d.ts +1 -1
- package/dist/features/stores/api/[storeSlug]/products/route.js +1 -1
- package/dist/features/stores/components/InteractiveStoreCard.js +1 -1
- package/dist/features/stores/components/StoreArtStickersPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreArtStickersPageView.js +6 -5
- package/dist/features/stores/components/StoreBundlesPageView.d.ts +5 -2
- package/dist/features/stores/components/StoreBundlesPageView.js +5 -4
- package/dist/features/stores/components/StoreCapabilitiesGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreCapabilitiesGuideView.js +6 -5
- package/dist/features/stores/components/StoreClassifiedsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreClassifiedsPageView.js +4 -3
- package/dist/features/stores/components/StoreClearancePageView.d.ts +11 -0
- package/dist/features/stores/components/StoreClearancePageView.js +25 -0
- package/dist/features/stores/components/StoreCollectorDropsListing.d.ts +7 -0
- package/dist/features/stores/components/StoreCollectorDropsListing.js +138 -0
- package/dist/features/stores/components/StoreCollectorDropsPageView.d.ts +11 -0
- package/dist/features/stores/components/StoreCollectorDropsPageView.js +25 -0
- package/dist/features/stores/components/StoreCollectorDropsView.d.ts +17 -0
- package/dist/features/stores/components/StoreCollectorDropsView.js +5 -0
- package/dist/features/stores/components/StoreCreateForm.js +16 -2
- package/dist/features/stores/components/StoreDetailLayoutView.d.ts +1 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +7 -1
- package/dist/features/stores/components/StoreDigitalCodesPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreDigitalCodesPageView.js +4 -3
- package/dist/features/stores/components/StoreFinanceGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreFinanceGuideView.js +3 -2
- package/dist/features/stores/components/StoreGuideHubView.d.ts +4 -1
- package/dist/features/stores/components/StoreGuideHubView.js +6 -4
- package/dist/features/stores/components/StoreHeader.js +1 -1
- package/dist/features/stores/components/StoreListingsGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreListingsGuideView.js +12 -11
- package/dist/features/stores/components/StoreLiveItemsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreLiveItemsPageView.js +4 -3
- package/dist/features/stores/components/StoreNavTabs.d.ts +1 -1
- package/dist/features/stores/components/StoreOrdersGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreOrdersGuideView.js +6 -5
- package/dist/features/stores/components/StorePreOrdersPageView.d.ts +4 -1
- package/dist/features/stores/components/StorePreOrdersPageView.js +4 -3
- package/dist/features/stores/components/StoreProductsPageView.d.ts +12 -1
- package/dist/features/stores/components/StoreProductsPageView.js +4 -3
- package/dist/features/stores/components/StoreReviewsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreReviewsPageView.js +4 -3
- package/dist/features/stores/components/StoreSettingsGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreSettingsGuideView.js +3 -2
- package/dist/features/stores/components/StoreSparesPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreSparesPageView.js +10 -9
- package/dist/features/stores/components/StoresIndexListing.js +16 -11
- package/dist/features/stores/components/StoresIndexPageView.d.ts +10 -1
- package/dist/features/stores/components/StoresIndexPageView.js +3 -2
- package/dist/features/stores/components/index.d.ts +5 -5
- package/dist/features/stores/components/index.js +2 -2
- package/dist/features/stores/hooks/useStores.d.ts +4 -4
- package/dist/features/stores/hooks/useStores.js +4 -4
- package/dist/features/stores/manifest.js +3 -3
- package/dist/features/stores/messages/en.json +1 -1
- package/dist/features/stores/repository/store.repository.d.ts +80 -0
- package/dist/features/stores/repository/store.repository.js +98 -0
- package/dist/features/stores/schemas/firestore.d.ts +193 -1
- package/dist/features/stores/schemas/firestore.js +66 -0
- package/dist/features/stores/schemas/index.d.ts +16 -16
- package/dist/features/stores/server.d.ts +1 -1
- package/dist/features/stores/server.js +1 -1
- package/dist/features/stores/types/index.d.ts +5 -5
- package/dist/features/support/schemas/firestore.d.ts +1 -1
- package/dist/features/support/schemas/firestore.js +1 -1
- package/dist/features/support/schemas/index.d.ts +12 -12
- package/dist/features/support/schemas/index.js +1 -1
- package/dist/features/tax-codes/schemas/tax-code-form.d.ts +4 -4
- package/dist/features/tax-codes/schemas/tax-codes.validators.d.ts +4 -4
- package/dist/features/tax-codes/schemas/tax-codes.validators.js +1 -1
- package/dist/features/tester/actions/checklist-item-actions.d.ts +3 -3
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +1 -1
- package/dist/features/tester/components/AdminTesterFeedbackView.d.ts +6 -1
- package/dist/features/tester/components/AdminTesterFeedbackView.js +3 -2
- package/dist/features/tester/schemas/checklist-item-form.d.ts +2 -2
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.d.ts +4 -1
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +3 -2
- package/dist/features/wishlist/components/WishlistHeartButton.d.ts +2 -2
- package/dist/features/wishlist/components/WishlistHeartButton.js +2 -2
- package/dist/features/wishlist/components/WishlistPage.js +1 -1
- package/dist/features/wishlist/components/WishlistView.d.ts +1 -1
- package/dist/features/wishlist/hooks/useGuestWishlist.d.ts +6 -6
- package/dist/features/wishlist/hooks/useUserWishlist.d.ts +1 -1
- package/dist/features/wishlist/hooks/useWishlistCount.js +1 -1
- package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +6 -6
- package/dist/features/wishlist/repository/user-wishlist.repository.d.ts +1 -1
- package/dist/features/wishlist/utils/guest-wishlist.d.ts +14 -5
- package/dist/index.d.ts +182 -203
- package/dist/index.js +284 -233
- package/dist/jobs.d.ts +1 -1
- package/dist/jobs.js +3 -3
- package/dist/next/api/api-response.d.ts +1 -1
- package/dist/next/api/parseJsonBody.d.ts +1 -1
- package/dist/next/api/routeHandler.d.ts +5 -0
- package/dist/next/api/routeHandler.js +24 -2
- package/dist/next/components/UnauthorizedView.d.ts +4 -1
- package/dist/next/components/UnauthorizedView.js +3 -2
- package/dist/next/index.d.ts +3 -1
- package/dist/next/index.js +5 -1
- package/dist/next/routing/portals.d.ts +288 -0
- package/dist/next/routing/portals.js +422 -0
- package/dist/next/routing/route-map.d.ts +114 -71
- package/dist/next/routing/route-map.js +137 -45
- package/dist/providers/ai-groq/index.d.ts +18 -0
- package/dist/providers/ai-groq/index.js +241 -0
- package/dist/providers/auth-firebase/claims.d.ts +85 -0
- package/dist/providers/auth-firebase/claims.js +116 -0
- package/dist/providers/auth-firebase/helpers.d.ts +6 -1
- package/dist/providers/auth-firebase/helpers.js +26 -2
- package/dist/providers/auth-firebase/provider.js +9 -4
- package/dist/providers/auth-firebase/session.js +32 -1
- package/dist/providers/db-firebase/admin.d.ts +26 -1
- package/dist/providers/db-firebase/admin.js +52 -5
- package/dist/providers/db-firebase/base.repository.d.ts +1 -1
- package/dist/providers/db-firebase/filter-aliases.d.ts +2 -2
- package/dist/providers/db-firebase/rtdb-url.js +1 -1
- package/dist/providers/db-firebase/sieve.js +2 -2
- package/dist/providers/payment-cashfree/easy-split.d.ts +119 -0
- package/dist/providers/payment-cashfree/easy-split.js +206 -0
- package/dist/providers/payment-cashfree/index.d.ts +341 -0
- package/dist/providers/payment-cashfree/index.js +714 -0
- package/dist/providers/payment-phonepe/index.d.ts +1 -1
- package/dist/providers/payment-phonepe/index.js +14 -1
- package/dist/providers/payment-razorpay/index.d.ts +1 -1
- package/dist/providers/shipping-shiprocket/index.d.ts +40 -5
- package/dist/providers/shipping-shiprocket/index.js +49 -5
- package/dist/providers.d.ts +3 -0
- package/dist/providers.js +5 -0
- package/dist/react/contexts/SessionContext.d.ts +18 -2
- package/dist/react/contexts/SessionContext.js +23 -1
- package/dist/react/hooks/useBrowsePageFlags.d.ts +2 -2
- package/dist/react/hooks/useBrowsePageFlags.js +11 -5
- package/dist/react/hooks/useCanSeePrices.js +1 -1
- package/dist/react/hooks/useCountdown.d.ts +1 -1
- package/dist/react/hooks/useCountdown.js +1 -1
- package/dist/react/hooks/useListingSurfaceVisibility.js +12 -2
- package/dist/react/hooks/useListingTypeFlags.d.ts +62 -8
- package/dist/react/hooks/useListingTypeFlags.js +14 -7
- package/dist/repositories/index.d.ts +3 -4
- package/dist/repositories/index.js +4 -5
- package/dist/schemas/registry.d.ts +338 -914
- package/dist/schemas/registry.js +7 -7
- package/dist/schemas/sieve.d.ts +2 -2
- package/dist/schemas/webhooks/google-oauth.d.ts +4 -4
- package/dist/security/authorization.d.ts +27 -5
- package/dist/security/authorization.js +53 -13
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.js +1 -1
- package/dist/security/pii-mask.d.ts +1 -1
- package/dist/security/pii-mask.js +1 -1
- package/dist/security/pii-schemas.d.ts +26 -2
- package/dist/security/pii-schemas.js +26 -2
- package/dist/seo/json-ld.d.ts +6 -6
- package/dist/seo/json-ld.js +7 -7
- package/dist/seo/metadata.d.ts +3 -3
- package/dist/seo/metadata.js +7 -7
- package/dist/server-entry.d.ts +13 -13
- package/dist/server-entry.js +54 -15
- package/dist/server.d.ts +79 -46
- package/dist/server.js +158 -74
- package/dist/stores/panel-store.d.ts +1 -1
- package/dist/styles.css +380 -183
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/contrast.d.ts +61 -0
- package/dist/tokens/contrast.js +128 -0
- package/dist/tokens/themes/cobalt-night.js +10 -3
- package/dist/tokens/themes/default-dark.d.ts +5 -4
- package/dist/tokens/themes/default-dark.js +48 -40
- package/dist/tokens/themes/default-light.d.ts +5 -5
- package/dist/tokens/themes/default-light.js +64 -36
- package/dist/tokens/themes/required.d.ts +1 -1
- package/dist/tokens/themes/required.js +40 -0
- package/dist/tokens/themes/sunset.js +14 -2
- package/dist/tokens/tokens.css +117 -85
- package/dist/ui/chrome/BottomActionsContext.d.ts +190 -0
- package/dist/ui/chrome/BottomActionsContext.js +198 -0
- package/dist/ui/chrome/useBottomActions.d.ts +37 -0
- package/dist/ui/chrome/useBottomActions.js +86 -0
- package/dist/ui/columns/cell-renderers.d.ts +10 -5
- package/dist/ui/columns/cell-renderers.js +9 -7
- package/dist/ui/columns/column-renderers.js +13 -4
- package/dist/ui/components/AdminFilterFacets.d.ts +37 -0
- package/dist/ui/components/AdminFilterFacets.js +126 -0
- package/dist/ui/components/Avatar.js +1 -1
- package/dist/ui/components/AvatarDisplay.d.ts +1 -1
- package/dist/ui/components/BaseListingCard.js +1 -1
- package/dist/ui/components/Button.js +2 -13
- package/dist/ui/components/Button.style.css +91 -0
- package/dist/ui/components/Card.d.ts +1 -1
- package/dist/ui/components/Card.js +0 -9
- package/dist/ui/components/Card.style.css +0 -70
- package/dist/ui/components/ClaimCouponButton.d.ts +1 -1
- package/dist/ui/components/ConfirmDeleteModal.d.ts +1 -1
- package/dist/ui/components/ConfirmDeleteModal.js +2 -18
- package/dist/ui/components/ConfirmDeleteModal.style.css +53 -1
- package/dist/ui/components/DetailPageGallery.d.ts +1 -1
- package/dist/ui/components/DetailPageGallery.js +2 -2
- package/dist/ui/components/DetailPageHero.d.ts +1 -1
- package/dist/ui/components/DetailPageHero.js +1 -1
- package/dist/ui/components/DetailPageTabs.d.ts +1 -1
- package/dist/ui/components/DetailPageTabs.js +1 -1
- package/dist/ui/components/DetailViewShell.d.ts +27 -2
- package/dist/ui/components/DetailViewShell.js +5 -1
- package/dist/ui/components/Disclaimer.js +11 -2
- package/dist/ui/components/Drawer.js +19 -2
- package/dist/ui/components/FilterChipGroup.d.ts +2 -2
- package/dist/ui/components/Form.js +1 -1
- package/dist/ui/components/FormField.d.ts +19 -2
- package/dist/ui/components/FormField.js +88 -21
- package/dist/ui/components/GatedPrice.d.ts +1 -1
- package/dist/ui/components/GatedPrice.js +1 -1
- package/dist/ui/components/ImageGallery.js +1 -1
- package/dist/ui/components/ImageLightbox.js +5 -2
- package/dist/ui/components/ImageMosaic.js +1 -1
- package/dist/ui/components/ListingDetailShell.d.ts +68 -0
- package/dist/ui/components/ListingDetailShell.js +32 -0
- package/dist/ui/components/ListingToolbar.d.ts +56 -1
- package/dist/ui/components/ListingToolbar.js +54 -4
- package/dist/ui/components/LiveEditableRegion.d.ts +29 -0
- package/dist/ui/components/LiveEditableRegion.js +54 -0
- package/dist/ui/components/MediaAvatar.js +13 -0
- package/dist/ui/components/MediaImage.d.ts +116 -0
- package/dist/ui/components/MediaImage.js +194 -0
- package/dist/ui/components/MediaLightbox.js +246 -0
- package/dist/ui/components/MediaVideo.js +141 -0
- package/dist/ui/components/Modal.d.ts +1 -1
- package/dist/ui/components/Modal.js +18 -47
- package/dist/ui/components/Modal.style.css +43 -0
- package/dist/ui/components/PaginatedSelect.d.ts +1 -1
- package/dist/ui/components/QuickCreateModal.js +4 -1
- package/dist/ui/components/RecordDetailModal.js +1 -1
- package/dist/ui/components/RowActionMenu.js +11 -51
- package/dist/ui/components/RowActionMenu.style.css +64 -10
- package/dist/ui/components/SideDrawer.style.css +11 -16
- package/dist/ui/components/SiteLogo.js +1 -1
- package/dist/ui/components/SiteMark.js +1 -1
- package/dist/ui/components/SpecTable.d.ts +1 -1
- package/dist/ui/components/SplitTile.js +1 -1
- package/dist/ui/components/dialog-shell.d.ts +32 -0
- package/dist/ui/components/dialog-shell.js +23 -0
- package/dist/ui/components/form-field-registry.d.ts +43 -0
- package/dist/ui/components/form-field-registry.js +7 -0
- package/dist/ui/components/surface-tokens.d.ts +6 -2
- package/dist/ui/components/surface-tokens.js +3 -1
- package/dist/ui/design-pack.d.ts +21 -0
- package/dist/ui/design-pack.js +47 -0
- package/dist/ui/forms/FormShell.js +14 -1
- package/dist/ui/forms/useFormBottomActions.d.ts +78 -0
- package/dist/ui/forms/useFormBottomActions.js +128 -0
- package/dist/ui/icons/icon-registry.d.ts +6 -1
- package/dist/ui/icons/icon-registry.js +12 -3
- package/dist/ui/rich-text/RichText.js +35 -8
- package/dist/ui/types/image-crop.d.ts +8 -0
- package/dist/ui/types/quick-field.d.ts +33 -0
- package/dist/ui/widgets/index.d.ts +7 -0
- package/dist/ui/widgets/index.js +3 -0
- package/dist/ui/widgets/merge.d.ts +85 -0
- package/dist/ui/widgets/merge.js +162 -0
- package/dist/ui/widgets/pilot-registry.d.ts +104 -0
- package/dist/ui/widgets/pilot-registry.js +305 -0
- package/dist/ui/widgets/resolve.d.ts +109 -0
- package/dist/ui/widgets/resolve.js +442 -0
- package/dist/ui/widgets/types.d.ts +252 -0
- package/dist/ui/widgets/types.js +45 -0
- package/dist/utils/id-generators.d.ts +5 -5
- package/dist/utils/id-generators.js +14 -10
- package/dist/utils/listing-params.d.ts +1 -1
- package/dist/utils/listing-params.js +1 -1
- package/dist/utils/pack-by-span.d.ts +21 -0
- package/dist/utils/pack-by-span.js +84 -0
- package/dist/utils/search-txt-builders.d.ts +2 -2
- package/dist/utils/search-txt-builders.js +1 -1
- package/dist/validation/schemas.d.ts +17 -17
- package/package.json +533 -463
- package/scripts/dedupe-peer-deps.mjs +17 -0
- package/scripts/seed-cli.mjs +65 -18
- package/scripts/sieve-audit.mjs +14 -14
- package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +0 -66
- package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +0 -187
- package/dist/_internal/client/features/lottery/LotteryAdminSlotView.d.ts +0 -15
- package/dist/_internal/client/features/lottery/LotteryAdminSlotView.js +0 -51
- package/dist/_internal/client/features/lottery/LotteryDetailView.d.ts +0 -37
- package/dist/_internal/client/features/lottery/LotteryDetailView.js +0 -48
- package/dist/_internal/client/features/lottery/LotteryEntriesView.d.ts +0 -24
- package/dist/_internal/client/features/lottery/LotteryEntriesView.js +0 -63
- package/dist/_internal/client/features/lottery/LotteryListView.d.ts +0 -29
- package/dist/_internal/client/features/lottery/LotteryListView.js +0 -44
- package/dist/_internal/client/features/lottery/LotteryPullForm.d.ts +0 -31
- package/dist/_internal/client/features/lottery/LotteryPullForm.js +0 -94
- package/dist/_internal/client/features/lottery/LotterySlotGrid.d.ts +0 -14
- package/dist/_internal/client/features/lottery/LotterySlotGrid.js +0 -23
- package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.d.ts +0 -29
- package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.js +0 -28
- package/dist/_internal/client/features/lottery/slot-collage-items.d.ts +0 -15
- package/dist/_internal/client/features/lottery/slot-collage-items.js +0 -13
- package/dist/_internal/server/features/auctions/actions.js +0 -76
- package/dist/_internal/server/features/auctions/data.d.ts +0 -2
- package/dist/_internal/server/features/auctions/data.js +0 -3
- package/dist/_internal/server/features/auctions/index.d.ts +0 -5
- package/dist/_internal/server/features/auctions/index.js +0 -5
- package/dist/_internal/server/features/auctions/og.d.ts +0 -22
- package/dist/_internal/server/features/auctions/og.js +0 -30
- package/dist/_internal/server/features/auctions/service.d.ts +0 -20
- package/dist/_internal/server/features/auctions/service.js +0 -65
- package/dist/_internal/server/features/beys/data.d.ts +0 -44
- package/dist/_internal/server/features/beys/data.js +0 -107
- package/dist/_internal/server/features/beys/og.d.ts +0 -42
- package/dist/_internal/server/features/beys/og.js +0 -89
- package/dist/_internal/server/features/checkout/freeze-parts.d.ts +0 -50
- package/dist/_internal/server/features/checkout/freeze-parts.js +0 -94
- package/dist/_internal/server/features/lottery/actions.d.ts +0 -43
- package/dist/_internal/server/features/lottery/actions.js +0 -365
- package/dist/_internal/server/features/lottery/adapters.d.ts +0 -15
- package/dist/_internal/server/features/lottery/adapters.js +0 -31
- package/dist/_internal/server/features/lottery/data.d.ts +0 -19
- package/dist/_internal/server/features/lottery/data.js +0 -41
- package/dist/_internal/server/features/lottery/metadata.d.ts +0 -6
- package/dist/_internal/server/features/lottery/metadata.js +0 -31
- package/dist/_internal/server/features/lottery/og.d.ts +0 -40
- package/dist/_internal/server/features/lottery/og.js +0 -79
- package/dist/_internal/server/features/parts/assembly.d.ts +0 -126
- package/dist/_internal/server/features/parts/assembly.js +0 -246
- package/dist/_internal/server/features/parts/buildable.d.ts +0 -47
- package/dist/_internal/server/features/parts/buildable.js +0 -159
- package/dist/_internal/server/features/parts/data.d.ts +0 -65
- package/dist/_internal/server/features/parts/data.js +0 -171
- package/dist/_internal/server/features/parts/og.d.ts +0 -34
- package/dist/_internal/server/features/parts/og.js +0 -66
- package/dist/_internal/server/features/prize-draws/actions.d.ts +0 -2
- package/dist/_internal/server/features/prize-draws/actions.js +0 -33
- package/dist/_internal/server/features/prize-draws/data.d.ts +0 -1
- package/dist/_internal/server/features/prize-draws/data.js +0 -2
- package/dist/_internal/server/features/prize-draws/index.d.ts +0 -4
- package/dist/_internal/server/features/prize-draws/index.js +0 -4
- package/dist/_internal/server/features/prize-draws/og.d.ts +0 -32
- package/dist/_internal/server/features/prize-draws/og.js +0 -47
- package/dist/_internal/server/features/prize-draws/service.d.ts +0 -3
- package/dist/_internal/server/features/prize-draws/service.js +0 -19
- package/dist/_internal/server/jobs/core/auctionSettlement.d.ts +0 -2
- package/dist/_internal/server/jobs/core/auctionSettlement.js +0 -240
- package/dist/_internal/server/jobs/core/onPrizeDrawPaymentConfirmed.d.ts +0 -19
- package/dist/_internal/server/jobs/core/onPrizeDrawPaymentConfirmed.js +0 -30
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.d.ts +0 -20
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.js +0 -114
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.d.ts +0 -14
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.js +0 -71
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.d.ts +0 -22
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.js +0 -67
- package/dist/_internal/server/jobs/handlers/auctionSettlement.d.ts +0 -2
- package/dist/_internal/server/jobs/handlers/auctionSettlement.js +0 -2
- package/dist/_internal/server/jobs/handlers/onPrizeDrawPaymentConfirmed.d.ts +0 -3
- package/dist/_internal/server/jobs/handlers/onPrizeDrawPaymentConfirmed.js +0 -11
- package/dist/_internal/server/jobs/handlers/prizeDrawExpiryReveal.d.ts +0 -2
- package/dist/_internal/server/jobs/handlers/prizeDrawExpiryReveal.js +0 -2
- package/dist/_internal/server/jobs/handlers/prizeDrawSoldOutReveal.d.ts +0 -3
- package/dist/_internal/server/jobs/handlers/prizeDrawSoldOutReveal.js +0 -4
- package/dist/_internal/shared/checkout/rules/art.rule.d.ts +0 -9
- package/dist/_internal/shared/checkout/rules/art.rule.js +0 -5
- package/dist/_internal/shared/checkout/rules/auction.rule.d.ts +0 -2
- package/dist/_internal/shared/checkout/rules/auction.rule.js +0 -37
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.d.ts +0 -2
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +0 -130
- package/dist/_internal/shared/checkout/rules/stickers.rule.d.ts +0 -9
- package/dist/_internal/shared/checkout/rules/stickers.rule.js +0 -5
- package/dist/_internal/shared/features/auctions/config.d.ts +0 -100
- package/dist/_internal/shared/features/auctions/config.js +0 -136
- package/dist/_internal/shared/features/auctions/errors.d.ts +0 -16
- package/dist/_internal/shared/features/auctions/errors.js +0 -32
- package/dist/_internal/shared/features/auctions/schema.d.ts +0 -42
- package/dist/_internal/shared/features/auctions/schema.js +0 -24
- package/dist/_internal/shared/listing-types/art/config.d.ts +0 -74
- package/dist/_internal/shared/listing-types/art/config.js +0 -36
- package/dist/_internal/shared/listing-types/art/ctas.js +0 -3
- package/dist/_internal/shared/listing-types/art/schema.d.ts +0 -2
- package/dist/_internal/shared/listing-types/art/schema.js +0 -3
- package/dist/_internal/shared/listing-types/auction/config.d.ts +0 -84
- package/dist/_internal/shared/listing-types/auction/config.js +0 -58
- package/dist/_internal/shared/listing-types/auction/schema.d.ts +0 -3
- package/dist/_internal/shared/listing-types/auction/schema.js +0 -7
- package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +0 -73
- package/dist/_internal/shared/listing-types/prize-draw/config.js +0 -45
- package/dist/_internal/shared/listing-types/prize-draw/schema.d.ts +0 -3
- package/dist/_internal/shared/listing-types/prize-draw/schema.js +0 -13
- package/dist/_internal/shared/listing-types/stickers/config.d.ts +0 -74
- package/dist/_internal/shared/listing-types/stickers/config.js +0 -36
- package/dist/_internal/shared/listing-types/stickers/ctas.d.ts +0 -1
- package/dist/_internal/shared/listing-types/stickers/ctas.js +0 -3
- package/dist/_internal/shared/listing-types/stickers/schema.d.ts +0 -2
- package/dist/_internal/shared/listing-types/stickers/schema.js +0 -3
- package/dist/_internal/shared/listing-types/stickers/seed-factory.d.ts +0 -1
- package/dist/_internal/shared/listing-types/stickers/seed-factory.js +0 -1
- package/dist/features/about/components/HowAuctionsWorkView.d.ts +0 -3
- package/dist/features/about/components/HowAuctionsWorkView.js +0 -104
- package/dist/features/account/components/BuyerAuctionsGuideView.d.ts +0 -2
- package/dist/features/account/components/BuyerAuctionsGuideView.js +0 -46
- package/dist/features/admin/components/AdminArtView.d.ts +0 -13
- package/dist/features/admin/components/AdminArtView.js +0 -31
- package/dist/features/admin/components/AdminBeysView.d.ts +0 -27
- package/dist/features/admin/components/AdminBeysView.js +0 -180
- package/dist/features/admin/components/AdminCarouselEditorView.d.ts +0 -9
- package/dist/features/admin/components/AdminCarouselEditorView.js +0 -299
- package/dist/features/admin/components/AdminCarouselGroupEditorView.d.ts +0 -14
- package/dist/features/admin/components/AdminCarouselGroupEditorView.js +0 -96
- package/dist/features/admin/components/AdminCarouselView.d.ts +0 -6
- package/dist/features/admin/components/AdminCarouselView.js +0 -273
- package/dist/features/admin/components/AdminPartsView.d.ts +0 -27
- package/dist/features/admin/components/AdminPartsView.js +0 -162
- package/dist/features/admin/components/AdminPrizeDrawsView.d.ts +0 -4
- package/dist/features/admin/components/AdminPrizeDrawsView.js +0 -155
- package/dist/features/admin/components/AdminStickersView.d.ts +0 -13
- package/dist/features/admin/components/AdminStickersView.js +0 -31
- package/dist/features/auctions/actions/bid-actions.d.ts +0 -50
- package/dist/features/auctions/actions/bid-actions.js +0 -454
- package/dist/features/auctions/api/route.d.ts +0 -14
- package/dist/features/auctions/api/route.js +0 -62
- package/dist/features/auctions/columns/index.d.ts +0 -14
- package/dist/features/auctions/columns/index.js +0 -63
- package/dist/features/auctions/components/AuctionBidsTable.d.ts +0 -27
- package/dist/features/auctions/components/AuctionBidsTable.js +0 -96
- package/dist/features/auctions/components/AuctionBottomActions.d.ts +0 -23
- package/dist/features/auctions/components/AuctionBottomActions.js +0 -89
- package/dist/features/auctions/components/AuctionDetailPageView.d.ts +0 -22
- package/dist/features/auctions/components/AuctionDetailPageView.js +0 -246
- package/dist/features/auctions/components/AuctionFilters.d.ts +0 -16
- package/dist/features/auctions/components/AuctionFilters.js +0 -18
- package/dist/features/auctions/components/AuctionLiveStatusBadge.d.ts +0 -20
- package/dist/features/auctions/components/AuctionLiveStatusBadge.js +0 -21
- package/dist/features/auctions/components/AuctionsListView.d.ts +0 -6
- package/dist/features/auctions/components/AuctionsListView.js +0 -22
- package/dist/features/auctions/components/CollapsibleBidHistory.js +0 -34
- package/dist/features/auctions/components/LiveBidPrice.d.ts +0 -19
- package/dist/features/auctions/components/LiveBidPrice.js +0 -19
- package/dist/features/auctions/components/LiveMinIncrement.d.ts +0 -18
- package/dist/features/auctions/components/LiveMinIncrement.js +0 -25
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +0 -99
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +0 -212
- package/dist/features/auctions/components/MarketplaceAuctionGrid.d.ts +0 -21
- package/dist/features/auctions/components/MarketplaceAuctionGrid.js +0 -47
- package/dist/features/auctions/components/PlaceBidFormClient.d.ts +0 -65
- package/dist/features/auctions/components/PlaceBidFormClient.js +0 -306
- package/dist/features/auctions/components/bid-detail-fields.js +0 -103
- package/dist/features/auctions/components/index.d.ts +0 -7
- package/dist/features/auctions/components/index.js +0 -5
- package/dist/features/auctions/hooks/useAuctions.d.ts +0 -51
- package/dist/features/auctions/hooks/useAuctions.js +0 -105
- package/dist/features/auctions/hooks/useBids.d.ts +0 -33
- package/dist/features/auctions/hooks/useBids.js +0 -32
- package/dist/features/auctions/hooks/useIsAuctionEnded.d.ts +0 -41
- package/dist/features/auctions/hooks/useIsAuctionEnded.js +0 -76
- package/dist/features/auctions/hooks/useLiveAuctionBid.d.ts +0 -20
- package/dist/features/auctions/hooks/useLiveAuctionBid.js +0 -23
- package/dist/features/auctions/hooks/usePlaceBid.d.ts +0 -25
- package/dist/features/auctions/hooks/usePlaceBid.js +0 -28
- package/dist/features/auctions/hooks/useRealtimeBids.d.ts +0 -41
- package/dist/features/auctions/hooks/useRealtimeBids.js +0 -170
- package/dist/features/auctions/index.d.ts +0 -8
- package/dist/features/auctions/index.js +0 -8
- package/dist/features/auctions/manifest.js +0 -17
- package/dist/features/auctions/messages/en.json +0 -18
- package/dist/features/auctions/repository/bid.repository.d.ts +0 -256
- package/dist/features/auctions/repository/bid.repository.js +0 -575
- package/dist/features/auctions/schemas/bid-input.d.ts +0 -30
- package/dist/features/auctions/schemas/bid-input.js +0 -28
- package/dist/features/auctions/schemas/firestore.d.ts +0 -120
- package/dist/features/auctions/schemas/firestore.js +0 -73
- package/dist/features/auctions/schemas/index.d.ts +0 -170
- package/dist/features/auctions/schemas/index.js +0 -64
- package/dist/features/auctions/server.d.ts +0 -8
- package/dist/features/auctions/server.js +0 -8
- package/dist/features/auctions/types/index.d.ts +0 -74
- package/dist/features/beys/components/BeyDetailPageView.d.ts +0 -50
- package/dist/features/beys/components/BeyDetailPageView.js +0 -104
- package/dist/features/beys/schemas/firestore.d.ts +0 -417
- package/dist/features/beys/schemas/firestore.js +0 -65
- package/dist/features/cron/jobs/auction-expiry.job.d.ts +0 -27
- package/dist/features/cron/jobs/auction-expiry.job.js +0 -43
- package/dist/features/events/components/EventRaffleEntryForm.d.ts +0 -24
- package/dist/features/events/components/EventRaffleEntryForm.js +0 -46
- package/dist/features/events/components/EventRaffleWinnerView.d.ts +0 -35
- package/dist/features/events/components/EventRaffleWinnerView.js +0 -39
- package/dist/features/events/components/EventRafflesSection.d.ts +0 -42
- package/dist/features/events/components/EventRafflesSection.js +0 -96
- package/dist/features/events/components/SpinWheelView.d.ts +0 -27
- package/dist/features/events/components/SpinWheelView.js +0 -151
- package/dist/features/homepage/actions/carousel-actions.d.ts +0 -38
- package/dist/features/homepage/actions/carousel-actions.js +0 -54
- package/dist/features/homepage/api/carousel/[id]/route.d.ts +0 -23
- package/dist/features/homepage/api/carousel/[id]/route.js +0 -125
- package/dist/features/homepage/components/FeaturedAuctionsSection.d.ts +0 -18
- package/dist/features/homepage/components/FeaturedAuctionsSection.js +0 -12
- package/dist/features/homepage/hooks/useFeaturedAuctions.d.ts +0 -15
- package/dist/features/homepage/hooks/useFeaturedAuctions.js +0 -49
- package/dist/features/homepage/repository/carousel.repository.d.ts +0 -100
- package/dist/features/homepage/repository/carousel.repository.js +0 -258
- package/dist/features/homepage/repository/carousels.repository.d.ts +0 -38
- package/dist/features/homepage/repository/carousels.repository.js +0 -149
- package/dist/features/layout/BottomActionsContext.d.ts +0 -173
- package/dist/features/layout/BottomActionsContext.js +0 -175
- package/dist/features/layout/hooks/useBottomActions.d.ts +0 -37
- package/dist/features/layout/hooks/useBottomActions.js +0 -86
- package/dist/features/layout/hooks/useFormBottomActions.d.ts +0 -78
- package/dist/features/layout/hooks/useFormBottomActions.js +0 -128
- package/dist/features/lottery/repository/lottery-entry.repository.d.ts +0 -48
- package/dist/features/lottery/repository/lottery-entry.repository.js +0 -172
- package/dist/features/lottery/schemas/config-write.d.ts +0 -145
- package/dist/features/lottery/schemas/config-write.js +0 -199
- package/dist/features/lottery/schemas/firestore.d.ts +0 -77
- package/dist/features/lottery/schemas/firestore.js +0 -25
- package/dist/features/lottery/schemas/zod.d.ts +0 -113
- package/dist/features/lottery/schemas/zod.js +0 -39
- package/dist/features/lottery/types/index.d.ts +0 -72
- package/dist/features/lottery/types/index.js +0 -68
- package/dist/features/media/MediaAvatar.js +0 -13
- package/dist/features/media/MediaImage.d.ts +0 -116
- package/dist/features/media/MediaImage.js +0 -194
- package/dist/features/media/MediaLightbox.js +0 -246
- package/dist/features/media/MediaVideo.js +0 -141
- package/dist/features/parts/components/AssemblyDrawer.d.ts +0 -107
- package/dist/features/parts/components/AssemblyDrawer.js +0 -257
- package/dist/features/parts/components/ModelCompositionPanel.d.ts +0 -37
- package/dist/features/parts/components/ModelCompositionPanel.js +0 -38
- package/dist/features/parts/components/PartDetailPageView.d.ts +0 -61
- package/dist/features/parts/components/PartDetailPageView.js +0 -123
- package/dist/features/parts/components/PartsIndexPageView.d.ts +0 -42
- package/dist/features/parts/components/PartsIndexPageView.js +0 -29
- package/dist/features/parts/components/PartsSearchBox.d.ts +0 -9
- package/dist/features/parts/components/PartsSearchBox.js +0 -136
- package/dist/features/parts/schemas/admin-edit.d.ts +0 -81
- package/dist/features/parts/schemas/admin-edit.js +0 -89
- package/dist/features/parts/schemas/firestore.d.ts +0 -925
- package/dist/features/parts/schemas/firestore.js +0 -384
- package/dist/features/parts/utils/colourway-match.d.ts +0 -62
- package/dist/features/parts/utils/colourway-match.js +0 -98
- package/dist/features/parts/utils/part-breakdown.d.ts +0 -53
- package/dist/features/parts/utils/part-breakdown.js +0 -77
- package/dist/features/products/components/AuctionDetailView.d.ts +0 -16
- package/dist/features/products/components/AuctionDetailView.js +0 -13
- package/dist/features/products/components/AuctionsIndexListing.d.ts +0 -8
- package/dist/features/products/components/AuctionsIndexListing.js +0 -170
- package/dist/features/products/components/MarketplacePrizeDrawCard.d.ts +0 -34
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +0 -129
- package/dist/features/products/components/PreOrderDetailView.d.ts +0 -18
- package/dist/features/products/components/PreOrderDetailView.js +0 -12
- package/dist/features/products/components/PrizeDrawBottomActions.d.ts +0 -6
- package/dist/features/products/components/PrizeDrawBottomActions.js +0 -6
- package/dist/features/products/components/PrizeDrawCollage.d.ts +0 -35
- package/dist/features/products/components/PrizeDrawCollage.js +0 -91
- package/dist/features/products/components/PrizeDrawDetailPageView.d.ts +0 -27
- package/dist/features/products/components/PrizeDrawDetailPageView.js +0 -136
- package/dist/features/products/components/PrizeDrawEntryActions.d.ts +0 -32
- package/dist/features/products/components/PrizeDrawEntryActions.js +0 -104
- package/dist/features/products/components/PrizeDrawItemsEditor.d.ts +0 -13
- package/dist/features/products/components/PrizeDrawItemsEditor.js +0 -101
- package/dist/features/products/components/PrizeDrawWinnerMappingView.d.ts +0 -14
- package/dist/features/products/components/PrizeDrawWinnerMappingView.js +0 -43
- package/dist/features/products/components/PrizeDrawsIndexListing.d.ts +0 -8
- package/dist/features/products/components/PrizeDrawsIndexListing.js +0 -108
- package/dist/features/products/components/PrizeDrawsListingView.d.ts +0 -15
- package/dist/features/products/components/PrizeDrawsListingView.js +0 -37
- package/dist/features/products/components/PrizeDrawsSection.d.ts +0 -15
- package/dist/features/products/components/PrizeDrawsSection.js +0 -49
- package/dist/features/seller/components/SellerArtView.d.ts +0 -15
- package/dist/features/seller/components/SellerArtView.js +0 -6
- package/dist/features/seller/components/SellerStickersView.d.ts +0 -15
- package/dist/features/seller/components/SellerStickersView.js +0 -6
- package/dist/features/stores/api/[storeSlug]/auctions/route.d.ts +0 -23
- package/dist/features/stores/api/[storeSlug]/auctions/route.js +0 -83
- package/dist/features/stores/components/StoreAuctionsListing.d.ts +0 -7
- package/dist/features/stores/components/StoreAuctionsListing.js +0 -138
- package/dist/features/stores/components/StoreAuctionsPageView.d.ts +0 -8
- package/dist/features/stores/components/StoreAuctionsPageView.js +0 -24
- package/dist/features/stores/components/StoreAuctionsView.d.ts +0 -17
- package/dist/features/stores/components/StoreAuctionsView.js +0 -5
- package/dist/features/stores/components/StorePrizeDrawsPageView.d.ts +0 -8
- package/dist/features/stores/components/StorePrizeDrawsPageView.js +0 -24
- /package/dist/_internal/server/features/{auctions → collector-drops}/actions.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/ctas.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/og.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/og.js +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/seed-factory.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/seed-factory.js +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/ctas.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/ctas.js +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/og.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/og.js +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/seed-factory.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/seed-factory.js +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/ctas.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/ctas.js +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/og.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/og.js +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/seed-factory.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/seed-factory.js +0 -0
- /package/dist/features/{auctions → collector-drops}/actions/index.d.ts +0 -0
- /package/dist/features/{auctions → collector-drops}/actions/index.js +0 -0
- /package/dist/features/{auctions → collector-drops}/components/CollapsibleBidHistory.d.ts +0 -0
- /package/dist/features/{auctions → collector-drops}/components/bid-detail-fields.d.ts +0 -0
- /package/dist/features/{auctions → collector-drops}/manifest.d.ts +0 -0
- /package/dist/features/{auctions → collector-drops}/types/index.js +0 -0
- /package/dist/{features/media → ui/components}/MediaAvatar.d.ts +0 -0
- /package/dist/{features/media → ui/components}/MediaLightbox.d.ts +0 -0
- /package/dist/{features/media → ui/components}/MediaVideo.d.ts +0 -0
- /package/dist/{_internal/shared/listing-types/stickers/og.d.ts → ui/types/image-crop.js} +0 -0
- /package/dist/{_internal/shared/listing-types/stickers/og.js → ui/types/quick-field.js} +0 -0
|
@@ -0,0 +1,714 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @mohasinac/payment-cashfree — Cashfree Payments PG (Orders API) IPaymentProvider
|
|
3
|
+
*
|
|
4
|
+
* Implements the `IPaymentProvider` contract against Cashfree's PG Orders API
|
|
5
|
+
* using bare `fetch` — **no SDK, no new npm dependency**. Credentials arrive
|
|
6
|
+
* through the constructor, same shape as `payment-manual`, `payment-phonepe`
|
|
7
|
+
* and `payment-razorpay`: no Firestore read, no DB dependency, and no second
|
|
8
|
+
* "deprecated standalone helper" surface that bypasses the provider registry
|
|
9
|
+
* (Root Cause #75).
|
|
10
|
+
*
|
|
11
|
+
* Why this gateway exists alongside the other two: Razorpay and PhonePe both
|
|
12
|
+
* name "Bidding/Auction houses" in their prohibited-merchant lists, and this
|
|
13
|
+
* marketplace's `collector-drop` listing type is competitive bidding. Cashfree's
|
|
14
|
+
* published terms do not name the activity. Which listing types that unblocks is
|
|
15
|
+
* a LATER change — see the plan's Phase 1b — and nothing in this file touches
|
|
16
|
+
* `blockedPaymentMethods`.
|
|
17
|
+
*
|
|
18
|
+
* ## 🛑 Three structural differences every caller must account for
|
|
19
|
+
*
|
|
20
|
+
* 1. **`order_amount` is DECIMAL RUPEES**, not the smallest currency unit.
|
|
21
|
+
* Every caller in this codebase passes the smallest unit (the create-order
|
|
22
|
+
* route computes `rupeesToPaise(amountDue)`), and Razorpay/PhonePe both
|
|
23
|
+
* take it natively. So the conversion happens HERE, at the boundary, in
|
|
24
|
+
* both directions, through `paiseToRupees`/`rupeesToPaise` — and every
|
|
25
|
+
* value this class RETURNS stays in the smallest unit so that no consumer
|
|
26
|
+
* of `PaymentOrder` / `PaymentCapture` / `Refund` changes. A figure in the
|
|
27
|
+
* wrong unit is indistinguishable from a correct one until somebody reads a
|
|
28
|
+
* 100x amount on an invoice, which is this project's own money-unit
|
|
29
|
+
* cautionary tale.
|
|
30
|
+
*
|
|
31
|
+
* 2. **There is NO `checkoutUrl`.** Cashfree has no hosted page in this
|
|
32
|
+
* integration: `POST /pg/orders` returns a `payment_session_id` which its
|
|
33
|
+
* own browser SDK consumes. It is surfaced as
|
|
34
|
+
* `PaymentOrder.metadata.paymentSessionId` (see `CASHFREE_SESSION_METADATA_KEY`)
|
|
35
|
+
* rather than being dressed up as a URL — inventing one would hand the
|
|
36
|
+
* browser a link that 404s. `checkoutUrl` is therefore deliberately unset,
|
|
37
|
+
* exactly as `RazorpayProvider` leaves it unset for its client-side modal.
|
|
38
|
+
*
|
|
39
|
+
* 3. **`customer_details.customer_phone` is MANDATORY** and Cashfree validates
|
|
40
|
+
* its format, so there is no placeholder to fall back on. `createOrder`
|
|
41
|
+
* refuses without it, naming the field. The caller resolves a real number
|
|
42
|
+
* (the buyer's delivery address, then their profile) or fails the checkout
|
|
43
|
+
* before any payment session exists.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* registerProviders({
|
|
48
|
+
* payment: new CashfreeProvider({
|
|
49
|
+
* appId: process.env.CASHFREE_APP_ID!,
|
|
50
|
+
* secretKey: process.env.CASHFREE_SECRET_KEY!,
|
|
51
|
+
* environment: (process.env.CASHFREE_ENVIRONMENT as "sandbox" | "production") ?? "sandbox",
|
|
52
|
+
* }),
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
import { createHmac, randomBytes, timingSafeEqual } from "node:crypto";
|
|
57
|
+
import { IPaymentProvider } from "../../contracts/index.js";
|
|
58
|
+
import { getDefaultCurrency } from "../../core/baseline-resolver.js";
|
|
59
|
+
import { paiseToRupees, rupeesToPaise } from "../../core/money.js";
|
|
60
|
+
import { normalizeError } from "../../errors/normalize.js";
|
|
61
|
+
/**
|
|
62
|
+
* Cashfree's PG orders collection — a path SEGMENT, no leading slash.
|
|
63
|
+
* `request()` owns the join; see its note on why the slash lives there.
|
|
64
|
+
*/
|
|
65
|
+
const CASHFREE_ORDERS_PATH = "orders";
|
|
66
|
+
/*
|
|
67
|
+
* EASY SPLIT lives in its own module, and not only for file length: every fact
|
|
68
|
+
* in it is SPECIFIED, NOT CONFIRMED (the endpoint, the body, the order field,
|
|
69
|
+
* the per-order vendor cap), so isolating it makes correcting any one of them a
|
|
70
|
+
* single edit with no call-site changes. Read that file's header before trusting
|
|
71
|
+
* a split — one of its assumptions fails SILENTLY.
|
|
72
|
+
*/
|
|
73
|
+
import { EASY_SPLIT_VENDORS_PATH, MAX_SPLIT_VENDORS_PER_ORDER, ORDER_SPLITS_FIELD, cashfreeVendorPayload, mapCashfreeVendorStatus, toOrderSplits, } from "./easy-split.js";
|
|
74
|
+
// --- Configuration ------------------------------------------------------------
|
|
75
|
+
const SANDBOX_BASE_URL = "https://sandbox.cashfree.com/pg";
|
|
76
|
+
const PRODUCTION_BASE_URL = "https://api.cashfree.com/pg";
|
|
77
|
+
/**
|
|
78
|
+
* Cashfree pins breaking changes to a DATE sent in `x-api-version`, so the
|
|
79
|
+
* default is a literal rather than "latest" — an unpinned version means the
|
|
80
|
+
* response shape this adapter maps can change under it without a deploy.
|
|
81
|
+
* Overridable per install via `CashfreeConfig.apiVersion`.
|
|
82
|
+
*/
|
|
83
|
+
const DEFAULT_API_VERSION = "2023-08-01";
|
|
84
|
+
/** Where the `payment_session_id` is published on `PaymentOrder.metadata`. */
|
|
85
|
+
export const CASHFREE_SESSION_METADATA_KEY = "paymentSessionId";
|
|
86
|
+
// --- Pure helpers -------------------------------------------------------------
|
|
87
|
+
/**
|
|
88
|
+
* `order_id` / `refund_id` are OURS, not Cashfree's — both endpoints accept a
|
|
89
|
+
* merchant-supplied id and every later lookup (status, refund, webhook
|
|
90
|
+
* correlation) keys on it. Cashfree's constraint is alphanumeric plus `_`/`-`,
|
|
91
|
+
* at most 50 characters; `<prefix>_` + 24 hex is 28.
|
|
92
|
+
*/
|
|
93
|
+
function generateId(prefix) {
|
|
94
|
+
return `${prefix}_${randomBytes(12).toString("hex")}`;
|
|
95
|
+
}
|
|
96
|
+
/** Cashfree's order vocabulary → the contract's. */
|
|
97
|
+
function mapOrderStatus(status) {
|
|
98
|
+
switch (status) {
|
|
99
|
+
case "PAID":
|
|
100
|
+
return "paid";
|
|
101
|
+
case "EXPIRED":
|
|
102
|
+
case "TERMINATED":
|
|
103
|
+
return "failed";
|
|
104
|
+
default:
|
|
105
|
+
// `ACTIVE`, `TERMINATION_REQUESTED`, and anything we have not seen.
|
|
106
|
+
// Unknown resolves to "created", which fails toward not concluding a
|
|
107
|
+
// payment happened — the only safe direction on this mapping, because
|
|
108
|
+
// `verifyAndPlaceGatewayOrderAction` gates order placement on "paid".
|
|
109
|
+
return "created";
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* `order_tags` is Cashfree's merchant passthrough map, and it is this adapter's
|
|
114
|
+
* equivalent of PhonePe's `metaInfo` and Razorpay's `notes`: the only channel
|
|
115
|
+
* that survives from `createOrder()` through to the order entity AND the webhook
|
|
116
|
+
* payload, which is how the WEBHOOK path — running with no buyer session —
|
|
117
|
+
* recovers whose cart a payment was for (`CheckoutIntentMetadata`).
|
|
118
|
+
*
|
|
119
|
+
* Flattened to a flat string map, dropping arrays and objects rather than
|
|
120
|
+
* letting a nested value reach the API and 400 the whole checkout — the same
|
|
121
|
+
* reasoning (and the same shape) as `toNotes` in the Razorpay adapter.
|
|
122
|
+
*
|
|
123
|
+
* 🛑 The 10-key / 255-char caps below are Cashfree's documented limits as
|
|
124
|
+
* understood at the time of writing and have NOT been exercised against the
|
|
125
|
+
* live API. They are applied as a TRUNCATION rather than an error because a
|
|
126
|
+
* dropped tag costs the webhook a fallback it can recover another way, while a
|
|
127
|
+
* rejected order costs the sale.
|
|
128
|
+
*/
|
|
129
|
+
const ORDER_TAG_MAX_KEYS = 10;
|
|
130
|
+
const ORDER_TAG_MAX_VALUE_CHARS = 255;
|
|
131
|
+
function toOrderTags(metadata) {
|
|
132
|
+
if (!metadata)
|
|
133
|
+
return undefined;
|
|
134
|
+
const tags = {};
|
|
135
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
136
|
+
if (value === null || value === undefined)
|
|
137
|
+
continue;
|
|
138
|
+
if (typeof value === "object")
|
|
139
|
+
continue; // no representation in a flat map
|
|
140
|
+
if (Object.keys(tags).length >= ORDER_TAG_MAX_KEYS)
|
|
141
|
+
break;
|
|
142
|
+
tags[key] = String(value).slice(0, ORDER_TAG_MAX_VALUE_CHARS);
|
|
143
|
+
}
|
|
144
|
+
return Object.keys(tags).length > 0 ? tags : undefined;
|
|
145
|
+
}
|
|
146
|
+
// --- Webhook signature --------------------------------------------------------
|
|
147
|
+
/**
|
|
148
|
+
* Cashfree signs a webhook over BOTH a timestamp header and the raw body, so
|
|
149
|
+
* verification needs two values while `IPaymentProvider.verifyWebhook(payload,
|
|
150
|
+
* signature)` has one slot for them. Rather than widen the shared contract for
|
|
151
|
+
* one gateway, the two are packed into the `signature` argument by a helper this
|
|
152
|
+
* module owns — so both ends of the encoding live in the provider and no call
|
|
153
|
+
* site invents a format.
|
|
154
|
+
*
|
|
155
|
+
* `.` is unambiguous as a separator: the timestamp is digits and the signature
|
|
156
|
+
* is base64 (`A-Za-z0-9+/=`), so the split is at the FIRST `.` and neither half
|
|
157
|
+
* can contain one.
|
|
158
|
+
*/
|
|
159
|
+
export const CASHFREE_WEBHOOK_SIGNATURE_HEADER = "x-webhook-signature";
|
|
160
|
+
export const CASHFREE_WEBHOOK_TIMESTAMP_HEADER = "x-webhook-timestamp";
|
|
161
|
+
const PACK_SEPARATOR = ".";
|
|
162
|
+
/** Packs the two webhook headers into one `signature` argument. */
|
|
163
|
+
export function packCashfreeWebhookSignature(timestamp, signature) {
|
|
164
|
+
return `${timestamp}${PACK_SEPARATOR}${signature}`;
|
|
165
|
+
}
|
|
166
|
+
/** Constant-time compare that cannot throw on a length mismatch. */
|
|
167
|
+
function signaturesMatch(expected, received) {
|
|
168
|
+
const a = Buffer.from(expected, "utf8");
|
|
169
|
+
const b = Buffer.from(received, "utf8");
|
|
170
|
+
// `timingSafeEqual` THROWS on differing lengths, which would leak the length
|
|
171
|
+
// through an exception and turn a plain mismatch into a 500. Length is not
|
|
172
|
+
// secret; the bytes are.
|
|
173
|
+
if (a.length !== b.length)
|
|
174
|
+
return false;
|
|
175
|
+
return timingSafeEqual(a, b);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* The ONE place a Cashfree webhook signature is computed.
|
|
179
|
+
*
|
|
180
|
+
* **CONFIRMED 2026-11-05** against Cashfree's own published docs (and the
|
|
181
|
+
* dashboard directly, for the one part docs alone couldn't settle): the
|
|
182
|
+
* construction is `base64(HMAC-SHA256(timestamp + rawBody, secretKey))`,
|
|
183
|
+
* compared against the `x-webhook-signature` header with `x-webhook-timestamp`
|
|
184
|
+
* as the timestamp. All three previously-open questions are resolved:
|
|
185
|
+
*
|
|
186
|
+
* · CONCATENATION ORDER: `timestamp + body` — confirmed (docs' own
|
|
187
|
+
* pseudocode: `signedPayload := $timestamp.$payload`).
|
|
188
|
+
* · SIGNING KEY: the SAME API `secretKey` used for order creation — NOT a
|
|
189
|
+
* separate webhook secret. Cashfree has no dedicated webhook-signing
|
|
190
|
+
* credential; confirmed both in their docs and directly in the dashboard
|
|
191
|
+
* (checked 2026-11-05 — no such field exists there). The original
|
|
192
|
+
* `webhookSecret` config field this function used to read was a wrong
|
|
193
|
+
* assumption, now removed.
|
|
194
|
+
* · ENCODING: base64 — confirmed (`Base64Encode(HMACSHA256(...))`).
|
|
195
|
+
*
|
|
196
|
+
* Still worth proving BOTH ways once a real delivery is available: a genuine
|
|
197
|
+
* webhook must verify AND a tampered body must be rejected. A check that has
|
|
198
|
+
* only ever been seen to pass is not evidence (CLAUDE.md Rule #11) — this
|
|
199
|
+
* confirms the CONSTRUCTION against the vendor's own spec, which is
|
|
200
|
+
* necessary but not a substitute for watching one real delivery succeed.
|
|
201
|
+
*
|
|
202
|
+
* It is isolated in this one named function precisely so that correcting the
|
|
203
|
+
* assumption is a one-function edit with no call-site changes.
|
|
204
|
+
*
|
|
205
|
+
* 🛑 FAILS CLOSED on every path — no secret, no signature, no timestamp, a
|
|
206
|
+
* non-numeric timestamp, or a mismatch all return `false`. "I cannot verify
|
|
207
|
+
* this" and "the signature is good" must never collapse into one return value
|
|
208
|
+
* on the call that decides whether a payment is genuine.
|
|
209
|
+
*/
|
|
210
|
+
export function verifyCashfreeWebhookSignature(rawBody, signature, timestamp, secret) {
|
|
211
|
+
if (!secret || !signature || !timestamp)
|
|
212
|
+
return false;
|
|
213
|
+
// A timestamp is epoch seconds. Anything else means we are not reading the
|
|
214
|
+
// header we think we are, which is a configuration fault, not a valid call.
|
|
215
|
+
if (!/^\d+$/.test(timestamp))
|
|
216
|
+
return false;
|
|
217
|
+
const expected = createHmac("sha256", secret)
|
|
218
|
+
.update(timestamp + rawBody, "utf8")
|
|
219
|
+
.digest("base64");
|
|
220
|
+
return signaturesMatch(expected, signature);
|
|
221
|
+
}
|
|
222
|
+
// --- IPaymentProvider implementation -----------------------------------------
|
|
223
|
+
export class CashfreeProvider extends IPaymentProvider {
|
|
224
|
+
constructor(config) {
|
|
225
|
+
super();
|
|
226
|
+
this.name = "cashfree";
|
|
227
|
+
/*
|
|
228
|
+
* 🛑 The reason this adapter exists. Cashfree's published terms
|
|
229
|
+
* (Attachment A, "List of Negative, Risky and Restricted Categories of
|
|
230
|
+
* Business") name gaming/gambling — giveaway tickets, sports bets, online
|
|
231
|
+
* gambling enrolment — and do NOT name auctions, bidding, or auction
|
|
232
|
+
* houses anywhere. Razorpay and PhonePe both name "Bidding/Auction houses"
|
|
233
|
+
* explicitly, which is why neither declares these.
|
|
234
|
+
*
|
|
235
|
+
* `clearance` is included on the owner's framing, recorded here because
|
|
236
|
+
* it is the part a reader will want to challenge: every numbered slot is a
|
|
237
|
+
* named prize with an image (`giveawaySlotWriteSchema`), so every buyer
|
|
238
|
+
* receives a real item and nobody pays for nothing. That is consideration
|
|
239
|
+
* buying A GOOD, NOT A CHANCE — a blind box, which is a product sale and
|
|
240
|
+
* sits outside the gambling clause. The `reveal` mode is the same mechanic
|
|
241
|
+
* with the slot chosen for you.
|
|
242
|
+
*
|
|
243
|
+
* 🛑 Verified against the published terms, NOT against a categorisation in
|
|
244
|
+
* writing from Cashfree naming our types. Getting that in writing before
|
|
245
|
+
* real money moves is the outstanding item; a published list is evidence
|
|
246
|
+
* about the policy, not a decision about this merchant.
|
|
247
|
+
*/
|
|
248
|
+
this.acceptsRestrictedListingTypes = ["collector-drop", "clearance"];
|
|
249
|
+
if (!config.appId || !config.secretKey) {
|
|
250
|
+
throw new Error("CashfreeProvider requires appId and secretKey. Configure them in Admin › Site Settings › Credentials, or set CASHFREE_APP_ID / CASHFREE_SECRET_KEY.");
|
|
251
|
+
}
|
|
252
|
+
this.baseUrl =
|
|
253
|
+
config.environment === "production" ? PRODUCTION_BASE_URL : SANDBOX_BASE_URL;
|
|
254
|
+
this.appId = config.appId;
|
|
255
|
+
this.secretKey = config.secretKey;
|
|
256
|
+
this.apiVersion = config.apiVersion?.trim() || DEFAULT_API_VERSION;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* The single HTTP boundary. Bare `fetch` — the gateway is three endpoints, so
|
|
260
|
+
* an SDK would be a dependency for less code than this method.
|
|
261
|
+
*
|
|
262
|
+
* A non-2xx carries Cashfree's own body into the thrown message (useful: its
|
|
263
|
+
* errors name the offending field) and its status as `httpStatus`, which is
|
|
264
|
+
* what `mapToHttpError` reads. Production scrubs 5xx messages before they
|
|
265
|
+
* reach a buyer, so the detail stays server-side.
|
|
266
|
+
*/
|
|
267
|
+
/**
|
|
268
|
+
* One HTTPS call to Cashfree.
|
|
269
|
+
*
|
|
270
|
+
* 🛑 `path` is a SEGMENT, with or without a leading slash — this method owns
|
|
271
|
+
* the join. Callers may therefore name their endpoints without a leading
|
|
272
|
+
* slash, which matters because `no-restricted-syntax` reads a bare
|
|
273
|
+
* `"/orders"` as an APP route that should come from `ROUTES.*`. It is not:
|
|
274
|
+
* it is a third-party API path, and `ROUTES` would be exactly the wrong home
|
|
275
|
+
* for it. Normalising here lets the constants say what they are instead of
|
|
276
|
+
* being spelled around the rule.
|
|
277
|
+
*/
|
|
278
|
+
async request(path, init) {
|
|
279
|
+
const method = init?.method ?? "GET";
|
|
280
|
+
const hasBody = init?.body !== undefined;
|
|
281
|
+
const suffix = path.startsWith("/") ? path : `/${path}`;
|
|
282
|
+
const response = await fetch(`${this.baseUrl}${suffix}`, {
|
|
283
|
+
method,
|
|
284
|
+
headers: {
|
|
285
|
+
"x-client-id": this.appId,
|
|
286
|
+
"x-client-secret": this.secretKey,
|
|
287
|
+
"x-api-version": this.apiVersion,
|
|
288
|
+
accept: "application/json",
|
|
289
|
+
...(hasBody ? { "content-type": "application/json" } : {}),
|
|
290
|
+
},
|
|
291
|
+
...(hasBody ? { body: JSON.stringify(init.body) } : {}),
|
|
292
|
+
});
|
|
293
|
+
const text = await response.text();
|
|
294
|
+
if (!response.ok) {
|
|
295
|
+
throw Object.assign(new Error(`Cashfree ${method} ${path} failed (${response.status}): ${text.slice(0, 500)}`), { httpStatus: response.status });
|
|
296
|
+
}
|
|
297
|
+
try {
|
|
298
|
+
return JSON.parse(text);
|
|
299
|
+
}
|
|
300
|
+
catch (err) {
|
|
301
|
+
/*
|
|
302
|
+
* The parse error itself says only "unexpected token"; what diagnoses
|
|
303
|
+
* this is the BODY, which the thrown error carries. Normalised rather
|
|
304
|
+
* than dropped so the shape matches every other catch in the tree.
|
|
305
|
+
*/
|
|
306
|
+
void normalizeError(err);
|
|
307
|
+
throw Object.assign(new Error(`Cashfree ${method} ${path} returned a non-JSON body (${response.status}): ${text.slice(0, 200)}`), { httpStatus: 502 });
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Creates a Cashfree order.
|
|
312
|
+
*
|
|
313
|
+
* `amount` is in the SMALLEST CURRENCY UNIT — what every caller in this
|
|
314
|
+
* codebase passes — and is converted to the decimal rupees Cashfree's
|
|
315
|
+
* `order_amount` expects. The returned `amount` is converted back, so the
|
|
316
|
+
* contract this provider satisfies is identical to Razorpay's and PhonePe's.
|
|
317
|
+
*
|
|
318
|
+
* Required `metadata`:
|
|
319
|
+
* · `uid` — becomes `customer_details.customer_id`, and is packed
|
|
320
|
+
* into `order_tags` so the webhook can place the order
|
|
321
|
+
* with no buyer session.
|
|
322
|
+
* · `customerPhone` — `customer_details.customer_phone`, MANDATORY at
|
|
323
|
+
* Cashfree and format-validated there, so there is no
|
|
324
|
+
* placeholder worth sending.
|
|
325
|
+
*
|
|
326
|
+
* Optional: `customerEmail`, `customerName`, `redirectUrl` (becomes
|
|
327
|
+
* `order_meta.return_url`), and anything else the caller wants round-tripped
|
|
328
|
+
* through `order_tags`.
|
|
329
|
+
*
|
|
330
|
+
* 🛑 Returns NO `checkoutUrl`. The browser needs
|
|
331
|
+
* `metadata.paymentSessionId` — see the class header, point 2.
|
|
332
|
+
*/
|
|
333
|
+
async createOrder(amount, currency, metadata) {
|
|
334
|
+
return this.createOrderInternal(amount, currency, metadata);
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Creates a Cashfree order whose CAPTURE is split across vendors.
|
|
338
|
+
*
|
|
339
|
+
* 🛑 This is the method the checkout path calls — always, even with no
|
|
340
|
+
* splits. See `IPaymentProvider.createOrderWithSplit` for why there is one
|
|
341
|
+
* call site rather than a choice between two methods.
|
|
342
|
+
*
|
|
343
|
+
* 🛑 Every vendor named in `splits` must already be an `active` Easy Split
|
|
344
|
+
* vendor. That is the CALLER's check (`buildSplitInstructions` refuses to
|
|
345
|
+
* build a split for an unregistered store, and `toOrderSplits` refuses an
|
|
346
|
+
* empty `vendorId`) because the caller is the only place that holds the store
|
|
347
|
+
* documents and can refuse BEFORE a payment session exists.
|
|
348
|
+
*
|
|
349
|
+
* 🛑 Refuses above `MAX_SPLIT_VENDORS_PER_ORDER` and NEVER truncates — see
|
|
350
|
+
* that constant's own 🛑. Dropping the last vendor's split would collect
|
|
351
|
+
* their share into the platform's account and look like a success.
|
|
352
|
+
*/
|
|
353
|
+
async createOrderWithSplit(amount, currency, metadata, splits) {
|
|
354
|
+
if (splits &&
|
|
355
|
+
MAX_SPLIT_VENDORS_PER_ORDER > 0 &&
|
|
356
|
+
splits.length > MAX_SPLIT_VENDORS_PER_ORDER) {
|
|
357
|
+
throw Object.assign(new Error(`This cart needs money settled to ${splits.length} sellers in one payment, ` +
|
|
358
|
+
`and Cashfree accepts at most ${MAX_SPLIT_VENDORS_PER_ORDER} per order. ` +
|
|
359
|
+
`Refusing rather than dropping a seller's share from the split.`), { httpStatus: 409, code: "SPLIT_VENDOR_LIMIT_EXCEEDED" });
|
|
360
|
+
}
|
|
361
|
+
return this.createOrderInternal(amount, currency, metadata, splits);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* The one implementation behind both public create methods.
|
|
365
|
+
*
|
|
366
|
+
* Kept private so there is no third way to create a Cashfree order: a second
|
|
367
|
+
* public entry point is a second place a split instruction can be forgotten.
|
|
368
|
+
*/
|
|
369
|
+
async createOrderInternal(amount, currency, metadata, splits) {
|
|
370
|
+
const uid = metadata?.uid;
|
|
371
|
+
if (typeof uid !== "string" || !uid) {
|
|
372
|
+
throw new Error("CashfreeProvider.createOrder requires metadata.uid");
|
|
373
|
+
}
|
|
374
|
+
const customerPhone = metadata?.customerPhone;
|
|
375
|
+
if (typeof customerPhone !== "string" || !customerPhone.trim()) {
|
|
376
|
+
throw new Error("CashfreeProvider.createOrder requires metadata.customerPhone — Cashfree mandates customer_details.customer_phone and validates its format, so there is no placeholder to send.");
|
|
377
|
+
}
|
|
378
|
+
const resolvedCurrency = currency ?? getDefaultCurrency();
|
|
379
|
+
const orderId = generateId("ord");
|
|
380
|
+
const returnUrl = typeof metadata?.redirectUrl === "string" ? metadata.redirectUrl : undefined;
|
|
381
|
+
const customerEmail = typeof metadata?.customerEmail === "string" && metadata.customerEmail
|
|
382
|
+
? metadata.customerEmail
|
|
383
|
+
: undefined;
|
|
384
|
+
const customerName = typeof metadata?.customerName === "string" && metadata.customerName
|
|
385
|
+
? metadata.customerName
|
|
386
|
+
: undefined;
|
|
387
|
+
const orderTags = toOrderTags(metadata);
|
|
388
|
+
/*
|
|
389
|
+
* 🛑 Built BEFORE the request, so a malformed instruction throws with no
|
|
390
|
+
* payment session created. `toOrderSplits` refuses an unregistered vendor
|
|
391
|
+
* and a non-positive share rather than dropping either from the settlement.
|
|
392
|
+
*/
|
|
393
|
+
const orderSplits = splits && splits.length > 0 ? toOrderSplits(splits) : undefined;
|
|
394
|
+
const entity = await this.request(CASHFREE_ORDERS_PATH, {
|
|
395
|
+
method: "POST",
|
|
396
|
+
body: {
|
|
397
|
+
order_id: orderId,
|
|
398
|
+
// 🛑 DECIMAL RUPEES — the one unit conversion on the way in.
|
|
399
|
+
order_amount: paiseToRupees(amount),
|
|
400
|
+
order_currency: resolvedCurrency,
|
|
401
|
+
customer_details: {
|
|
402
|
+
customer_id: uid,
|
|
403
|
+
customer_phone: customerPhone.trim(),
|
|
404
|
+
...(customerEmail ? { customer_email: customerEmail } : {}),
|
|
405
|
+
...(customerName ? { customer_name: customerName } : {}),
|
|
406
|
+
},
|
|
407
|
+
...(returnUrl ? { order_meta: { return_url: returnUrl } } : {}),
|
|
408
|
+
...(orderTags ? { order_tags: orderTags } : {}),
|
|
409
|
+
/*
|
|
410
|
+
* 🛑 The split instruction. `ORDER_SPLITS_FIELD` is ASSUMED — see point
|
|
411
|
+
* 2 of the block comment on the Easy Split section, which is the one
|
|
412
|
+
* assumption in this file whose failure mode is SILENT. Prove it
|
|
413
|
+
* against a sandbox order before real money goes through here.
|
|
414
|
+
*/
|
|
415
|
+
...(orderSplits ? { [ORDER_SPLITS_FIELD]: orderSplits } : {}),
|
|
416
|
+
},
|
|
417
|
+
});
|
|
418
|
+
const sessionId = entity.payment_session_id;
|
|
419
|
+
if (!sessionId) {
|
|
420
|
+
// Without it the browser cannot open Cashfree's checkout at all, so an
|
|
421
|
+
// order created without one is not a usable payment session — better a
|
|
422
|
+
// loud failure here than a buyer staring at a page that never opens.
|
|
423
|
+
throw Object.assign(new Error(`Cashfree created order ${orderId} but returned no payment_session_id — the browser has nothing to open`), { httpStatus: 502 });
|
|
424
|
+
}
|
|
425
|
+
return {
|
|
426
|
+
id: orderId,
|
|
427
|
+
amount: this.toSmallestUnit(entity.order_amount, amount),
|
|
428
|
+
currency: entity.order_currency ?? resolvedCurrency,
|
|
429
|
+
status: mapOrderStatus(entity.order_status),
|
|
430
|
+
metadata: {
|
|
431
|
+
...(metadata ?? {}),
|
|
432
|
+
[CASHFREE_SESSION_METADATA_KEY]: sessionId,
|
|
433
|
+
},
|
|
434
|
+
createdAt: entity.created_at ?? new Date().toISOString(),
|
|
435
|
+
...(entity.cf_order_id !== undefined
|
|
436
|
+
? { gatewayOrderId: String(entity.cf_order_id) }
|
|
437
|
+
: {}),
|
|
438
|
+
...(entity.order_expiry_time ? { expiresAt: entity.order_expiry_time } : {}),
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Converts a Cashfree decimal-rupee figure back to the smallest unit.
|
|
443
|
+
*
|
|
444
|
+
* 🛑 `fallback` is what to use when the gateway echoed no amount at all, and
|
|
445
|
+
* the right value differs per call site — so it is a PARAMETER rather than a
|
|
446
|
+
* constant. `createOrder` passes the amount it asked to be charged, because
|
|
447
|
+
* repeating that is better than a confident wrong figure. `capturePayment`
|
|
448
|
+
* and `getOrder` have nothing truer to offer and pass `0`; that is a known
|
|
449
|
+
* weakness of a missing field rather than a claim the amount was zero, and a
|
|
450
|
+
* `NaN` there (what `Number(undefined)` would give) would propagate silently
|
|
451
|
+
* into arithmetic instead of reading as absent.
|
|
452
|
+
*/
|
|
453
|
+
toSmallestUnit(rupees, fallback) {
|
|
454
|
+
return typeof rupees === "number" && Number.isFinite(rupees)
|
|
455
|
+
? rupeesToPaise(rupees)
|
|
456
|
+
: fallback;
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Registers a seller as an Easy Split vendor.
|
|
460
|
+
*
|
|
461
|
+
* 🛑 IDEMPOTENT BY `PUT`-LIKE SEMANTICS, and that is an ASSUMPTION too. The
|
|
462
|
+
* `vendor_id` is ours (the store slug), so a repeat call names the same
|
|
463
|
+
* vendor — but whether Cashfree treats a second `POST` for a known
|
|
464
|
+
* `vendor_id` as an update, a conflict, or a duplicate has NOT been
|
|
465
|
+
* confirmed. The failure is benign in both directions this adapter can see:
|
|
466
|
+
* a conflict surfaces as a 409 carried into `message` and the job records
|
|
467
|
+
* `rejected`, which an operator reads and acts on. It is called out because
|
|
468
|
+
* the job WILL re-run — jobs retry, and an admin can re-approve a store.
|
|
469
|
+
*
|
|
470
|
+
* 🛑 Returns `pending` for any status it does not recognise, never `active`
|
|
471
|
+
* and never `rejected`. See `mapCashfreeVendorStatus`.
|
|
472
|
+
*
|
|
473
|
+
* 🛑 A NON-2xx IS NOT A THROW HERE, unlike every other method on this class.
|
|
474
|
+
* `request()` throws, so the catch converts it into `outcome: "rejected"`
|
|
475
|
+
* with Cashfree's own body as the message. That is deliberate: the caller is
|
|
476
|
+
* a background job whose job is to RECORD why a store could not be onboarded
|
|
477
|
+
* (blockers #3 and #5 mean refusals are expected and routine), and a throw
|
|
478
|
+
* would make a routine refusal indistinguishable from an outage. The one
|
|
479
|
+
* thing that must never happen is a refusal recorded as a success.
|
|
480
|
+
*
|
|
481
|
+
* 🛑 The thrown message is carried VERBATIM but truncated. Cashfree's errors
|
|
482
|
+
* name the offending field, which is the whole value of surfacing them — and
|
|
483
|
+
* `request()` already caps the body at 500 chars. It describes the
|
|
484
|
+
* DESTINATION the seller supplied; it carries no credential of ours.
|
|
485
|
+
*/
|
|
486
|
+
async registerSettlementVendor(input) {
|
|
487
|
+
if (!input.vendorId) {
|
|
488
|
+
throw Object.assign(new Error("CashfreeProvider.registerSettlementVendor requires a vendorId"), { httpStatus: 400 });
|
|
489
|
+
}
|
|
490
|
+
try {
|
|
491
|
+
const entity = await this.request(EASY_SPLIT_VENDORS_PATH, {
|
|
492
|
+
method: "POST",
|
|
493
|
+
body: cashfreeVendorPayload(input),
|
|
494
|
+
});
|
|
495
|
+
const outcome = mapCashfreeVendorStatus(entity.status);
|
|
496
|
+
return {
|
|
497
|
+
gateway: this.name,
|
|
498
|
+
// Echo OUR id back, not Cashfree's echo: a gateway that returned a
|
|
499
|
+
// different id would mean our idempotency key is not the one it keys
|
|
500
|
+
// on, and recording theirs would hide that rather than surface it.
|
|
501
|
+
vendorId: input.vendorId,
|
|
502
|
+
outcome,
|
|
503
|
+
...(outcome === "active"
|
|
504
|
+
? {}
|
|
505
|
+
: {
|
|
506
|
+
message: entity.message ??
|
|
507
|
+
`Cashfree reported vendor status "${entity.status ?? "(none)"}" — ` +
|
|
508
|
+
`not yet settleable.`,
|
|
509
|
+
}),
|
|
510
|
+
};
|
|
511
|
+
}
|
|
512
|
+
catch (err) {
|
|
513
|
+
/*
|
|
514
|
+
* A 4xx from Cashfree IS the answer — the gateway refused this vendor,
|
|
515
|
+
* which is a `rejected` outcome the job records and a seller can act on,
|
|
516
|
+
* not an outage. Normalised first so the message is the same shape every
|
|
517
|
+
* other catch in the tree produces.
|
|
518
|
+
*/
|
|
519
|
+
const normalized = normalizeError(err);
|
|
520
|
+
return {
|
|
521
|
+
gateway: this.name,
|
|
522
|
+
vendorId: input.vendorId,
|
|
523
|
+
outcome: "rejected",
|
|
524
|
+
message: normalized.message,
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
/**
|
|
529
|
+
* Validates a webhook. `payload` is the RAW request body string; `signature`
|
|
530
|
+
* is the packed `"<timestamp>.<signature>"` value built by
|
|
531
|
+
* `packCashfreeWebhookSignature` from the two Cashfree headers.
|
|
532
|
+
*
|
|
533
|
+
* 🛑 The raw body is what gets verified, never a re-serialised object:
|
|
534
|
+
* `JSON.stringify(JSON.parse(body))` is not guaranteed to reproduce the bytes
|
|
535
|
+
* that were signed.
|
|
536
|
+
*
|
|
537
|
+
* Fails closed when the packed value is malformed or on any mismatch.
|
|
538
|
+
* Reports validity only — the caller parses the body itself after this
|
|
539
|
+
* returns `true`, same as the existing webhook route.
|
|
540
|
+
*
|
|
541
|
+
* Signed with `this.secretKey` — see `verifyCashfreeWebhookSignature`'s own
|
|
542
|
+
* doc comment for why that's the correct key, not a separate webhook secret.
|
|
543
|
+
*/
|
|
544
|
+
verifyWebhook(payload, signature) {
|
|
545
|
+
const separatorAt = signature.indexOf(PACK_SEPARATOR);
|
|
546
|
+
if (separatorAt <= 0)
|
|
547
|
+
return false;
|
|
548
|
+
const timestamp = signature.slice(0, separatorAt);
|
|
549
|
+
const received = signature.slice(separatorAt + PACK_SEPARATOR.length);
|
|
550
|
+
return verifyCashfreeWebhookSignature(payload, received, timestamp, this.secretKey);
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Cashfree has no buyer-present SIGNED callback of Razorpay's shape.
|
|
554
|
+
*
|
|
555
|
+
* Its browser SDK resolves with a result object, but that is not a signed
|
|
556
|
+
* proof of payment — confirmation comes from the Orders API (`getOrder`) or
|
|
557
|
+
* the webhook (`verifyWebhook`). So there is nothing here to verify, and the
|
|
558
|
+
* honest answer is rejection.
|
|
559
|
+
*
|
|
560
|
+
* 🛑 `false`, never `true`. "No signature to check" and "the signature is
|
|
561
|
+
* good" must never collapse into the same return value on the call that
|
|
562
|
+
* decides whether a payment is genuine.
|
|
563
|
+
*/
|
|
564
|
+
verifyCheckoutSignature(_payload, _secret) {
|
|
565
|
+
return false;
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* Reports the state of the payment behind an order. `orderId` is our own
|
|
569
|
+
* merchant `order_id`.
|
|
570
|
+
*
|
|
571
|
+
* Named `capturePayment` by the contract, but it does NOT capture: Cashfree's
|
|
572
|
+
* Orders flow auto-captures, so a successful payment is already captured by
|
|
573
|
+
* the time anything here runs — the same situation as Razorpay's provider.
|
|
574
|
+
*
|
|
575
|
+
* Reads `GET /orders/{id}/payments` rather than the order itself, because the
|
|
576
|
+
* order entity carries no payment id and this is the one method required to
|
|
577
|
+
* report a `transactionId`. One call, not two.
|
|
578
|
+
*
|
|
579
|
+
* 🛑 `PaymentCapture.status` is only `captured | failed`, so a `PENDING`
|
|
580
|
+
* Cashfree payment maps to `failed` — i.e. "not captured". That is the same
|
|
581
|
+
* narrowing Razorpay's provider applies and it fails toward not concluding
|
|
582
|
+
* money moved; `getOrder()` is the method that can express an in-between
|
|
583
|
+
* state.
|
|
584
|
+
*/
|
|
585
|
+
async capturePayment(orderId) {
|
|
586
|
+
const payments = await this.request(`/orders/${encodeURIComponent(orderId)}/payments`);
|
|
587
|
+
const list = Array.isArray(payments) ? payments : [];
|
|
588
|
+
const succeeded = list.find((p) => p.payment_status === "SUCCESS");
|
|
589
|
+
const payment = succeeded ?? list[list.length - 1];
|
|
590
|
+
if (!payment) {
|
|
591
|
+
throw Object.assign(new Error(`Cashfree order ${orderId} has no payment attempts`), { httpStatus: 404 });
|
|
592
|
+
}
|
|
593
|
+
return {
|
|
594
|
+
id: String(payment.cf_payment_id ?? orderId),
|
|
595
|
+
orderId: payment.order_id ?? orderId,
|
|
596
|
+
amount: this.toSmallestUnit(payment.payment_amount, 0),
|
|
597
|
+
currency: payment.payment_currency ?? getDefaultCurrency(),
|
|
598
|
+
status: succeeded ? "captured" : "failed",
|
|
599
|
+
capturedAt: payment.payment_time ?? new Date().toISOString(),
|
|
600
|
+
...(payment.bank_reference
|
|
601
|
+
? { transactionId: payment.bank_reference }
|
|
602
|
+
: payment.cf_payment_id !== undefined
|
|
603
|
+
? { transactionId: String(payment.cf_payment_id) }
|
|
604
|
+
: {}),
|
|
605
|
+
};
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Initiates a refund. `paymentId` here is actually our original merchant
|
|
609
|
+
* `order_id` — Cashfree refunds are ORDER-keyed
|
|
610
|
+
* (`POST /orders/{order_id}/refunds`), not payment-keyed. The inherited
|
|
611
|
+
* parameter name from `IPaymentProvider` is misleading for this provider and
|
|
612
|
+
* is kept only because the base contract is shared; PhonePe has exactly the
|
|
613
|
+
* same mismatch for the same reason.
|
|
614
|
+
*
|
|
615
|
+
* `amount` is in the smallest currency unit and is REQUIRED: Cashfree's
|
|
616
|
+
* `refund_amount` is mandatory, so there is no whole-order refund shorthand
|
|
617
|
+
* to translate an omitted amount into.
|
|
618
|
+
*/
|
|
619
|
+
async refund(paymentId, amount) {
|
|
620
|
+
if (amount === undefined) {
|
|
621
|
+
throw new Error("CashfreeProvider.refund requires an explicit amount — Cashfree's refund_amount is mandatory and it has no whole-order refund shorthand");
|
|
622
|
+
}
|
|
623
|
+
const refundId = generateId("rfnd");
|
|
624
|
+
const entity = await this.request(`/orders/${encodeURIComponent(paymentId)}/refunds`, {
|
|
625
|
+
method: "POST",
|
|
626
|
+
body: {
|
|
627
|
+
refund_id: refundId,
|
|
628
|
+
// 🛑 DECIMAL RUPEES on the way out, smallest unit on the way back.
|
|
629
|
+
refund_amount: paiseToRupees(amount),
|
|
630
|
+
},
|
|
631
|
+
});
|
|
632
|
+
return {
|
|
633
|
+
id: entity.refund_id ?? refundId,
|
|
634
|
+
paymentId,
|
|
635
|
+
amount: this.toSmallestUnit(entity.refund_amount, amount),
|
|
636
|
+
currency: entity.refund_currency ?? getDefaultCurrency(),
|
|
637
|
+
status: entity.refund_status === "SUCCESS"
|
|
638
|
+
? "processed"
|
|
639
|
+
: entity.refund_status === "CANCELLED"
|
|
640
|
+
? "failed"
|
|
641
|
+
: // `PENDING` and `ONHOLD` are both "not settled yet, not refused".
|
|
642
|
+
"pending",
|
|
643
|
+
createdAt: entity.created_at ?? new Date().toISOString(),
|
|
644
|
+
};
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* Fetches an order and reports its REAL status. This is the authoritative
|
|
648
|
+
* "was this paid" check — `verifyAndPlaceGatewayOrderAction` gates order
|
|
649
|
+
* placement on `status === "paid"`, so `mapOrderStatus` is load-bearing and
|
|
650
|
+
* an unknown value must never resolve to "paid".
|
|
651
|
+
*
|
|
652
|
+
* `metadata` round-trips whatever `createOrder` put in `order_tags`, which is
|
|
653
|
+
* how the WEBHOOK path (no buyer session) recovers the checkout intent — the
|
|
654
|
+
* same job PhonePe's `metaInfo` and Razorpay's `notes` do. Without it the
|
|
655
|
+
* webhook could confirm a payment and then have no uid to place the order for.
|
|
656
|
+
*
|
|
657
|
+
* 🛑 That `order_tags` is echoed back on the order entity is an ASSUMPTION of
|
|
658
|
+
* the same class as the webhook signature's: confirm it against the live API
|
|
659
|
+
* before relying on the webhook fallback, because the failure mode is a
|
|
660
|
+
* captured payment with no placeable order (the incident class this project
|
|
661
|
+
* already has a write-up for).
|
|
662
|
+
*/
|
|
663
|
+
async getOrder(orderId) {
|
|
664
|
+
const entity = await this.request(`/orders/${encodeURIComponent(orderId)}`);
|
|
665
|
+
const tags = entity.order_tags ?? undefined;
|
|
666
|
+
return {
|
|
667
|
+
id: entity.order_id ?? orderId,
|
|
668
|
+
amount: this.toSmallestUnit(entity.order_amount, 0),
|
|
669
|
+
currency: entity.order_currency ?? getDefaultCurrency(),
|
|
670
|
+
status: mapOrderStatus(entity.order_status),
|
|
671
|
+
createdAt: entity.created_at ?? new Date().toISOString(),
|
|
672
|
+
...(entity.cf_order_id !== undefined
|
|
673
|
+
? { gatewayOrderId: String(entity.cf_order_id) }
|
|
674
|
+
: {}),
|
|
675
|
+
...(entity.order_expiry_time ? { expiresAt: entity.order_expiry_time } : {}),
|
|
676
|
+
...(tags ? { metadata: tags } : {}),
|
|
677
|
+
};
|
|
678
|
+
}
|
|
679
|
+
/*
|
|
680
|
+
* ── RECONCILIATION AND DISPUTES: NOT READABLE THROUGH THIS ADAPTER ─────────
|
|
681
|
+
*
|
|
682
|
+
* Cashfree's PG Orders API — the three endpoints above — is ORDER-KEYED. It
|
|
683
|
+
* exposes no "list my payments in a window" resource and this adapter wraps no
|
|
684
|
+
* dispute resource, so neither question can be answered here.
|
|
685
|
+
*
|
|
686
|
+
* 🛑 So `[]` below means "WE CANNOT SEE THEM", never "there are none", and the
|
|
687
|
+
* distinction decides whether a reconciler may conclude anything. There IS an
|
|
688
|
+
* external ledger behind a Cashfree account; we simply cannot read it in bulk
|
|
689
|
+
* through this surface. A reconciler must therefore treat this gateway as
|
|
690
|
+
* UNRECONCILED rather than reconciled — the same documented limitation PhonePe
|
|
691
|
+
* carries, and for the same reason.
|
|
692
|
+
*
|
|
693
|
+
* This is a limitation of what is wrapped, not a gap being worked: widening it
|
|
694
|
+
* means mapping another Cashfree API, which is its own change with its own
|
|
695
|
+
* verification.
|
|
696
|
+
*/
|
|
697
|
+
/**
|
|
698
|
+
* 🛑 `[]` because the wrapped API cannot enumerate payments in a window — not
|
|
699
|
+
* because there are none. See the block comment above; the contract requires
|
|
700
|
+
* the caller to treat an empty list as NO INFORMATION.
|
|
701
|
+
*/
|
|
702
|
+
async listPayments() {
|
|
703
|
+
return [];
|
|
704
|
+
}
|
|
705
|
+
async getDispute(disputeId) {
|
|
706
|
+
throw Object.assign(new Error(`getDispute is not supported by Cashfree through this adapter — the PG Orders API wrapped here exposes no dispute resource, so ${disputeId} cannot be fetched. Use Cashfree's own dashboard.`), { httpStatus: 501 });
|
|
707
|
+
}
|
|
708
|
+
async listDisputes() {
|
|
709
|
+
return [];
|
|
710
|
+
}
|
|
711
|
+
async acceptDispute(disputeId, _confirmIrrevocable) {
|
|
712
|
+
throw Object.assign(new Error(`acceptDispute is not supported by Cashfree through this adapter — ${disputeId} must be handled in Cashfree's own dashboard.`), { httpStatus: 501 });
|
|
713
|
+
}
|
|
714
|
+
}
|