@mohasinac/appkit 4.11.1 → 4.11.3

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.
Files changed (212) hide show
  1. package/dist/_internal/server/features/checkout/actions.d.ts +4 -0
  2. package/dist/_internal/server/features/checkout/actions.js +138 -27
  3. package/dist/_internal/server/features/checkout/data.d.ts +10 -0
  4. package/dist/_internal/server/features/checkout/locked-lines.d.ts +30 -0
  5. package/dist/_internal/server/features/checkout/locked-lines.js +116 -0
  6. package/dist/_internal/server/features/orders/adapters.js +7 -0
  7. package/dist/_internal/server/features/products/data.d.ts +12 -3
  8. package/dist/_internal/server/features/products/data.js +55 -4
  9. package/dist/_internal/server/features/products/index.d.ts +2 -1
  10. package/dist/_internal/server/features/products/index.js +2 -1
  11. package/dist/_internal/server/features/products/list-public.d.ts +130 -0
  12. package/dist/_internal/server/features/products/list-public.js +375 -0
  13. package/dist/_internal/server/features/reviews/data.d.ts +1 -1
  14. package/dist/_internal/server/features/reviews/data.js +3 -2
  15. package/dist/_internal/server/features/tester/visibility.js +3 -3
  16. package/dist/_internal/server/jobs/core/auctionSettlement.js +89 -16
  17. package/dist/_internal/server/jobs/core/offerExpiry.js +116 -4
  18. package/dist/_internal/server/jobs/core/testerSandboxCleanup.d.ts +1 -1
  19. package/dist/_internal/server/jobs/core/testerSandboxCleanup.js +4 -1
  20. package/dist/_internal/server/jobs/core/testerSandboxRefresh.js +2 -0
  21. package/dist/_internal/server/jobs/handlers/_helpers.js +4 -1
  22. package/dist/_internal/server/jobs/handlers/messages.d.ts +5 -0
  23. package/dist/_internal/server/jobs/handlers/messages.js +5 -0
  24. package/dist/_internal/shared/checkout/lanes.d.ts +41 -0
  25. package/dist/_internal/shared/checkout/lanes.js +106 -0
  26. package/dist/_internal/shared/checkout/order-math.d.ts +19 -0
  27. package/dist/_internal/shared/checkout/order-math.js +30 -6
  28. package/dist/_internal/shared/features/promotions/schema.d.ts +0 -16
  29. package/dist/_internal/shared/features/promotions/schema.js +0 -2
  30. package/dist/_internal/shared/features/reviews/config.d.ts +8 -1
  31. package/dist/_internal/shared/features/reviews/config.js +8 -1
  32. package/dist/_internal/shared/listing-types/_registry.d.ts +88 -1
  33. package/dist/_internal/shared/listing-types/_registry.js +63 -1
  34. package/dist/_internal/shared/listing-types/art/config.d.ts +59 -0
  35. package/dist/_internal/shared/listing-types/art/config.js +12 -0
  36. package/dist/_internal/shared/listing-types/auction/config.d.ts +53 -0
  37. package/dist/_internal/shared/listing-types/auction/config.js +17 -0
  38. package/dist/_internal/shared/listing-types/classified/config.d.ts +59 -0
  39. package/dist/_internal/shared/listing-types/classified/config.js +14 -0
  40. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +59 -0
  41. package/dist/_internal/shared/listing-types/digital-code/config.js +12 -0
  42. package/dist/_internal/shared/listing-types/feature-flags.d.ts +1 -0
  43. package/dist/_internal/shared/listing-types/feature-flags.js +24 -10
  44. package/dist/_internal/shared/listing-types/live/config.d.ts +59 -0
  45. package/dist/_internal/shared/listing-types/live/config.js +14 -0
  46. package/dist/_internal/shared/listing-types/pre-order/config.d.ts +110 -0
  47. package/dist/_internal/shared/listing-types/pre-order/config.js +14 -0
  48. package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +44 -0
  49. package/dist/_internal/shared/listing-types/prize-draw/config.js +10 -0
  50. package/dist/_internal/shared/listing-types/standard/config.d.ts +59 -0
  51. package/dist/_internal/shared/listing-types/standard/config.js +9 -0
  52. package/dist/_internal/shared/listing-types/stickers/config.d.ts +59 -0
  53. package/dist/_internal/shared/listing-types/stickers/config.js +12 -0
  54. package/dist/client.d.ts +7 -2
  55. package/dist/client.js +8 -2
  56. package/dist/constants/field-names.d.ts +12 -0
  57. package/dist/constants/field-names.js +12 -0
  58. package/dist/constants/table-keys.d.ts +2 -0
  59. package/dist/constants/table-keys.js +2 -0
  60. package/dist/features/account/components/NotificationBell.js +1 -0
  61. package/dist/features/account/components/UserOffersPanel.js +8 -1
  62. package/dist/features/account/components/UserOrdersView.js +27 -5
  63. package/dist/features/admin/actions/notification-actions.js +1 -1
  64. package/dist/features/admin/components/AdminAddressesView.js +3 -1
  65. package/dist/features/admin/components/AdminCouponEditorView.js +1 -4
  66. package/dist/features/admin/components/AdminPaymentMethodsView.js +3 -1
  67. package/dist/features/admin/components/AdminProductsView.js +34 -18
  68. package/dist/features/admin/constants/filter-tabs.d.ts +26 -9
  69. package/dist/features/admin/constants/filter-tabs.js +22 -9
  70. package/dist/features/admin/schemas/firestore.d.ts +2 -1
  71. package/dist/features/admin/schemas/firestore.js +1 -0
  72. package/dist/features/auctions/actions/bid-actions.d.ts +11 -1
  73. package/dist/features/auctions/actions/bid-actions.js +29 -15
  74. package/dist/features/auctions/components/AuctionBidsTable.js +6 -2
  75. package/dist/features/auctions/components/AuctionBottomActions.js +1 -0
  76. package/dist/features/auctions/components/AuctionDetailPageView.js +13 -11
  77. package/dist/features/auctions/components/AuctionsListView.js +12 -53
  78. package/dist/features/auctions/components/PlaceBidFormClient.js +10 -1
  79. package/dist/features/auctions/repository/bid.repository.d.ts +15 -0
  80. package/dist/features/auctions/repository/bid.repository.js +19 -0
  81. package/dist/features/auctions/schemas/firestore.d.ts +11 -1
  82. package/dist/features/auctions/schemas/firestore.js +1 -0
  83. package/dist/features/cart/actions/cart-actions.d.ts +11 -0
  84. package/dist/features/cart/actions/cart-actions.js +24 -0
  85. package/dist/features/cart/repository/cart.repository.d.ts +24 -1
  86. package/dist/features/cart/repository/cart.repository.js +71 -6
  87. package/dist/features/cart/schemas/firestore.d.ts +23 -4
  88. package/dist/features/categories/components/BrandDetailTabs.js +31 -11
  89. package/dist/features/categories/components/CategoryDetailTabs.js +27 -7
  90. package/dist/features/categories/components/CategoryProductsListing.d.ts +9 -1
  91. package/dist/features/categories/components/CategoryProductsListing.js +5 -2
  92. package/dist/features/classified/components/ClassifiedDetailPageView.js +2 -1
  93. package/dist/features/contact/email.js +56 -1
  94. package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +17 -16
  95. package/dist/features/homepage/components/FeaturedResultsSection.js +1 -1
  96. package/dist/features/homepage/components/SectionCarousel.js +1 -1
  97. package/dist/features/homepage/components/ShopByCategorySection.js +1 -1
  98. package/dist/features/layout/AppLayoutShell.js +9 -2
  99. package/dist/features/layout/BottomActions.js +26 -3
  100. package/dist/features/layout/BottomActionsContext.d.ts +14 -0
  101. package/dist/features/layout/BottomActionsContext.js +13 -1
  102. package/dist/features/layout/hooks/useBottomActions.d.ts +6 -1
  103. package/dist/features/layout/hooks/useBottomActions.js +4 -1
  104. package/dist/features/layout/index.d.ts +1 -1
  105. package/dist/features/live/components/LiveItemDetailPageView.js +7 -6
  106. package/dist/features/orders/repository/orders.repository.d.ts +4 -15
  107. package/dist/features/orders/repository/orders.repository.js +4 -27
  108. package/dist/features/orders/types/index.d.ts +16 -0
  109. package/dist/features/orders/utils/order-splitter.js +14 -2
  110. package/dist/features/pre-orders/components/PreOrderBottomActions.d.ts +1 -1
  111. package/dist/features/pre-orders/components/PreOrderBottomActions.js +3 -19
  112. package/dist/features/pre-orders/components/PreOrdersListView.js +11 -39
  113. package/dist/features/products/components/ArtStickersListView.js +10 -49
  114. package/dist/features/products/components/AuctionsIndexListing.js +1 -2
  115. package/dist/features/products/components/ListingBottomActions.d.ts +28 -0
  116. package/dist/features/products/components/ListingBottomActions.js +25 -0
  117. package/dist/features/products/components/PrizeDrawBottomActions.d.ts +1 -1
  118. package/dist/features/products/components/PrizeDrawBottomActions.js +3 -21
  119. package/dist/features/products/components/ProductDetailActions.js +4 -0
  120. package/dist/features/products/components/ProductDetailPageView.js +7 -7
  121. package/dist/features/products/components/ProductsIndexPageView.js +9 -62
  122. package/dist/features/products/constants/listing-tabs.d.ts +43 -198
  123. package/dist/features/products/constants/listing-tabs.js +71 -58
  124. package/dist/features/products/constants/sieve.d.ts +104 -1
  125. package/dist/features/products/constants/sieve.js +27 -7
  126. package/dist/features/products/repository/products.repository.d.ts +45 -1
  127. package/dist/features/products/repository/products.repository.js +67 -8
  128. package/dist/features/products/utils/listing-badge-variant.d.ts +20 -1
  129. package/dist/features/products/utils/listing-badge-variant.js +26 -1
  130. package/dist/features/products/utils/listing-type.d.ts +24 -0
  131. package/dist/features/products/utils/listing-type.js +48 -0
  132. package/dist/features/promotions/actions/coupon-actions.d.ts +7 -0
  133. package/dist/features/promotions/actions/coupon-actions.js +12 -1
  134. package/dist/features/promotions/actions/coupon-stacking.d.ts +24 -0
  135. package/dist/features/promotions/actions/coupon-stacking.js +21 -0
  136. package/dist/features/promotions/actions/index.d.ts +1 -0
  137. package/dist/features/promotions/actions/index.js +1 -0
  138. package/dist/features/promotions/actions/seller-coupon-actions.d.ts +0 -1
  139. package/dist/features/promotions/actions/seller-coupon-actions.js +0 -1
  140. package/dist/features/promotions/components/CouponHelpDetails.d.ts +20 -0
  141. package/dist/features/promotions/components/CouponHelpDetails.js +17 -0
  142. package/dist/features/promotions/components/CouponsIndexListing.js +2 -1
  143. package/dist/features/promotions/components/index.d.ts +2 -0
  144. package/dist/features/promotions/components/index.js +1 -0
  145. package/dist/features/promotions/constants/coupon-help.d.ts +27 -0
  146. package/dist/features/promotions/constants/coupon-help.js +42 -0
  147. package/dist/features/promotions/repository/coupons.repository.d.ts +10 -1
  148. package/dist/features/promotions/repository/coupons.repository.js +22 -8
  149. package/dist/features/promotions/schemas/firestore.d.ts +0 -1
  150. package/dist/features/promotions/schemas/firestore.js +1 -1
  151. package/dist/features/promotions/schemas/index.d.ts +0 -20
  152. package/dist/features/promotions/schemas/index.js +0 -1
  153. package/dist/features/reviews/actions/review-actions.js +5 -1
  154. package/dist/features/reviews/components/ReviewDetailPageView.js +2 -1
  155. package/dist/features/reviews/components/ReviewFilters.d.ts +7 -1
  156. package/dist/features/reviews/components/ReviewFilters.js +4 -3
  157. package/dist/features/reviews/components/ReviewsIndexListing.d.ts +6 -0
  158. package/dist/features/reviews/components/ReviewsIndexListing.js +9 -109
  159. package/dist/features/reviews/components/ReviewsListingPanel.d.ts +41 -0
  160. package/dist/features/reviews/components/ReviewsListingPanel.js +226 -0
  161. package/dist/features/reviews/components/index.d.ts +2 -0
  162. package/dist/features/reviews/components/index.js +1 -0
  163. package/dist/features/reviews/hooks/useReviews.d.ts +8 -0
  164. package/dist/features/reviews/hooks/useReviews.js +14 -6
  165. package/dist/features/reviews/repository/reviews.repository.d.ts +29 -1
  166. package/dist/features/reviews/repository/reviews.repository.js +77 -41
  167. package/dist/features/reviews/types/index.d.ts +8 -1
  168. package/dist/features/seller/actions/offer-actions.d.ts +6 -0
  169. package/dist/features/seller/actions/offer-actions.js +8 -9
  170. package/dist/features/seller/components/SellerOffersView.d.ts +6 -1
  171. package/dist/features/seller/components/SellerOffersView.js +59 -8
  172. package/dist/features/seller/components/SellerProductsCards.js +2 -2
  173. package/dist/features/seller/components/SellerProductsView.js +21 -18
  174. package/dist/features/seller/repository/offer.repository.d.ts +18 -2
  175. package/dist/features/seller/repository/offer.repository.js +38 -2
  176. package/dist/features/seller/schemas/firestore.d.ts +7 -2
  177. package/dist/features/seller/schemas/firestore.js +3 -0
  178. package/dist/features/seller/schemas/offer-forms.d.ts +12 -0
  179. package/dist/features/seller/schemas/offer-forms.js +28 -0
  180. package/dist/features/stores/actions/store-query-actions.js +1 -1
  181. package/dist/features/stores/components/StoreAuctionsListing.js +5 -11
  182. package/dist/features/stores/components/StorePreOrdersListing.js +6 -11
  183. package/dist/features/stores/components/StoreReviewsListing.d.ts +4 -0
  184. package/dist/features/stores/components/StoreReviewsListing.js +7 -108
  185. package/dist/features/stores/schemas/index.d.ts +2 -2
  186. package/dist/features/tester/seed-data/coupons-tester-seed-data.js +3 -3
  187. package/dist/features/tester/seed-data/index.d.ts +1 -0
  188. package/dist/features/tester/seed-data/index.js +1 -0
  189. package/dist/features/tester/seed-data/offers-tester-seed-data.d.ts +2 -0
  190. package/dist/features/tester/seed-data/offers-tester-seed-data.js +61 -0
  191. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +337 -1
  192. package/dist/index.d.ts +11 -4
  193. package/dist/index.js +15 -3
  194. package/dist/react/hooks/useListingTypeFlags.d.ts +12 -19
  195. package/dist/react/hooks/useListingTypeFlags.js +4 -9
  196. package/dist/schemas/registry.d.ts +0 -12
  197. package/dist/seed/claimed-coupons-seed-data.js +3 -3
  198. package/dist/seed/coupons-seed-data.js +29 -10
  199. package/dist/seed/faq-seed-data.js +2 -2
  200. package/dist/seed/manifest.js +2 -2
  201. package/dist/server-entry.d.ts +1 -0
  202. package/dist/server-entry.js +1 -0
  203. package/dist/server.d.ts +1 -0
  204. package/dist/server.js +3 -0
  205. package/dist/styles.css +44 -39
  206. package/dist/tailwind-utilities.css +1 -1
  207. package/dist/ui/components/FilterChipGroup.d.ts +21 -3
  208. package/dist/ui/components/FilterChipGroup.js +33 -4
  209. package/dist/ui/components/HorizontalScroller.d.ts +1 -2
  210. package/dist/ui/components/HorizontalScroller.js +9 -5
  211. package/dist/ui/components/HorizontalScroller.style.css +43 -38
  212. package/package.json +1 -1
@@ -1,5 +1,7 @@
1
1
  import { LISTING_TYPE_CAPABILITIES } from "../capabilities";
2
2
  import { ROUTES } from "../../../../next/routing/route-map";
3
+ import { TABLE_KEYS } from "../../../../constants/table-keys";
4
+ import { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, } from "../../../../features/products/constants/sieve";
3
5
  export const LISTING_TYPE = "digital-code";
4
6
  export const capability = LISTING_TYPE_CAPABILITIES["digital-code"];
5
7
  export const config = {
@@ -11,4 +13,14 @@ export const config = {
11
13
  priceLabel: "Price per Code (₹)",
12
14
  typeLabel: "Digital Code",
13
15
  showsStockQuantity: false,
16
+ tabSlug: "digital-codes",
17
+ pluralLabel: "Digital Codes",
18
+ chipLabel: "Digital Codes",
19
+ browseRoute: String(ROUTES.PUBLIC.DIGITAL_CODES),
20
+ // "Sold out" for a code pool means codesAvailable hit 0, which the
21
+ // stockQuantity>0 predicate mirrors on this collection.
22
+ hideDefault: "sold",
23
+ sortOptions: STANDARD_SORT_OPTIONS,
24
+ publicSortOptions: STANDARD_PUBLIC_SORT_OPTIONS,
25
+ extraFacetKeys: [TABLE_KEYS.DELIVERY_METHOD],
14
26
  };
@@ -28,6 +28,7 @@ interface FeatureFlagSnapshot {
28
28
  */
29
29
  export declare function isListingTypeEnabled(type: ListingType, settings: FeatureFlagSnapshot | null | undefined): boolean;
30
30
  export declare function isCategoryTypeEnabled(type: CategoryType, settings: FeatureFlagSnapshot | null | undefined): boolean;
31
+ export declare const ALL_LISTING_TYPES: ListingType[];
31
32
  /** Pull the full list of enabled listing types in canonical iteration order. */
32
33
  export declare function enabledListingTypes(settings: FeatureFlagSnapshot | null | undefined): ListingType[];
33
34
  export declare function enabledCategoryTypes(settings: FeatureFlagSnapshot | null | undefined): CategoryType[];
@@ -26,18 +26,32 @@ export function isCategoryTypeEnabled(type, settings) {
26
26
  const flag = settings?.featureFlags?.categoryTypes?.[type];
27
27
  return flag !== false;
28
28
  }
29
+ /**
30
+ * Every listing type, in canonical iteration order.
31
+ *
32
+ * Declared as `Record<ListingType, true>` rather than a plain array on purpose:
33
+ * adding a member to the `ListingType` union without adding it here is then a
34
+ * COMPILE error, not a silent omission. `art` / `stickers` were missing from
35
+ * the old hand-written array for exactly that reason, which meant
36
+ * `/api/products`' "strip disabled types" post-filter dropped every art and
37
+ * sticker row from any call that didn't name a listingType explicitly
38
+ * (homepage, search, related-items).
39
+ */
40
+ const ALL_LISTING_TYPES_MAP = {
41
+ standard: true,
42
+ auction: true,
43
+ "pre-order": true,
44
+ "prize-draw": true,
45
+ classified: true,
46
+ "digital-code": true,
47
+ live: true,
48
+ art: true,
49
+ stickers: true,
50
+ };
51
+ export const ALL_LISTING_TYPES = Object.keys(ALL_LISTING_TYPES_MAP);
29
52
  /** Pull the full list of enabled listing types in canonical iteration order. */
30
53
  export function enabledListingTypes(settings) {
31
- const all = [
32
- "standard",
33
- "auction",
34
- "pre-order",
35
- "prize-draw",
36
- "classified",
37
- "digital-code",
38
- "live",
39
- ];
40
- return all.filter((t) => isListingTypeEnabled(t, settings));
54
+ return ALL_LISTING_TYPES.filter((t) => isListingTypeEnabled(t, settings));
41
55
  }
42
56
  export function enabledCategoryTypes(settings) {
43
57
  const all = ["category", "sublisting", "brand", "bundle"];
@@ -12,4 +12,63 @@ export declare const config: {
12
12
  priceLabel: string;
13
13
  typeLabel: string;
14
14
  showsStockQuantity: boolean;
15
+ tabSlug: string;
16
+ pluralLabel: string;
17
+ chipLabel: string;
18
+ browseRoute: string;
19
+ hideDefault: "sold";
20
+ sortOptions: readonly [{
21
+ readonly value: string;
22
+ readonly label: "Newest First";
23
+ }, {
24
+ readonly value: string;
25
+ readonly label: "Oldest First";
26
+ }, {
27
+ readonly value: string;
28
+ readonly label: "Price: Low to High";
29
+ }, {
30
+ readonly value: string;
31
+ readonly label: "Price: High to Low";
32
+ }, {
33
+ readonly value: string;
34
+ readonly label: "Name: A–Z";
35
+ }, {
36
+ readonly value: string;
37
+ readonly label: "Name: Z–A";
38
+ }, {
39
+ readonly value: string;
40
+ readonly label: "Featured First";
41
+ }, {
42
+ readonly value: string;
43
+ readonly label: "Promoted First";
44
+ }, {
45
+ readonly value: string;
46
+ readonly label: "Recently Updated";
47
+ }, {
48
+ readonly value: string;
49
+ readonly label: "Most Viewed";
50
+ }];
51
+ publicSortOptions: readonly [{
52
+ readonly value: string;
53
+ readonly label: "Newest First";
54
+ }, {
55
+ readonly value: string;
56
+ readonly label: "Oldest First";
57
+ }, {
58
+ readonly value: string;
59
+ readonly label: "Price: Low to High";
60
+ }, {
61
+ readonly value: string;
62
+ readonly label: "Price: High to Low";
63
+ }, {
64
+ readonly value: string;
65
+ readonly label: "Name: A–Z";
66
+ }, {
67
+ readonly value: string;
68
+ readonly label: "Name: Z–A";
69
+ }, {
70
+ readonly value: string;
71
+ readonly label: "Most Viewed";
72
+ }];
73
+ extraFacetKeys: readonly string[];
15
74
  };
@@ -1,5 +1,7 @@
1
1
  import { LISTING_TYPE_CAPABILITIES } from "../capabilities";
2
2
  import { ROUTES } from "../../../../next/routing/route-map";
3
+ import { TABLE_KEYS } from "../../../../constants/table-keys";
4
+ import { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, } from "../../../../features/products/constants/sieve";
3
5
  export const LISTING_TYPE = "live";
4
6
  export const capability = LISTING_TYPE_CAPABILITIES.live;
5
7
  export const config = {
@@ -11,4 +13,16 @@ export const config = {
11
13
  priceLabel: "Price (₹)",
12
14
  typeLabel: "Live Item",
13
15
  showsStockQuantity: true,
16
+ tabSlug: "live",
17
+ pluralLabel: "Live Items",
18
+ chipLabel: "Live Items",
19
+ browseRoute: String(ROUTES.PUBLIC.LIVE),
20
+ hideDefault: "sold",
21
+ sortOptions: STANDARD_SORT_OPTIONS,
22
+ publicSortOptions: STANDARD_PUBLIC_SORT_OPTIONS,
23
+ extraFacetKeys: [
24
+ TABLE_KEYS.SPECIES,
25
+ TABLE_KEYS.LIVE_SEX,
26
+ TABLE_KEYS.JURISDICTION,
27
+ ],
14
28
  };
@@ -12,4 +12,114 @@ export declare const config: {
12
12
  priceLabel: string;
13
13
  typeLabel: string;
14
14
  showsStockQuantity: boolean;
15
+ tabSlug: string;
16
+ pluralLabel: string;
17
+ chipLabel: string;
18
+ browseRoute: string;
19
+ hideDefault: "closed";
20
+ sortOptions: readonly [{
21
+ readonly value: string;
22
+ readonly label: "Earliest Delivery";
23
+ }, {
24
+ readonly value: string;
25
+ readonly label: "Latest Delivery";
26
+ }, ...({
27
+ readonly value: string;
28
+ readonly label: "Newest First";
29
+ } | {
30
+ readonly value: string;
31
+ readonly label: "Oldest First";
32
+ })[], {
33
+ readonly value: string;
34
+ readonly label: "Price: Low to High";
35
+ }, {
36
+ readonly value: string;
37
+ readonly label: "Price: High to Low";
38
+ }, {
39
+ readonly value: string;
40
+ readonly label: "Fewest Slots Left";
41
+ }, {
42
+ readonly value: string;
43
+ readonly label: "Lowest Deposit First";
44
+ }];
45
+ publicSortOptions: readonly [{
46
+ readonly value: string;
47
+ readonly label: "Earliest Delivery";
48
+ }, {
49
+ readonly value: string;
50
+ readonly label: "Latest Delivery";
51
+ }, {
52
+ readonly value: string;
53
+ readonly label: "Newest First";
54
+ } | {
55
+ readonly value: string;
56
+ readonly label: "Oldest First";
57
+ } | {
58
+ readonly value: string;
59
+ readonly label: "Price: Low to High";
60
+ } | {
61
+ readonly value: string;
62
+ readonly label: "Price: High to Low";
63
+ } | {
64
+ readonly value: string;
65
+ readonly label: "Fewest Slots Left";
66
+ } | {
67
+ readonly value: string;
68
+ readonly label: "Lowest Deposit First";
69
+ }, {
70
+ readonly value: string;
71
+ readonly label: "Newest First";
72
+ } | {
73
+ readonly value: string;
74
+ readonly label: "Oldest First";
75
+ } | {
76
+ readonly value: string;
77
+ readonly label: "Price: Low to High";
78
+ } | {
79
+ readonly value: string;
80
+ readonly label: "Price: High to Low";
81
+ } | {
82
+ readonly value: string;
83
+ readonly label: "Fewest Slots Left";
84
+ } | {
85
+ readonly value: string;
86
+ readonly label: "Lowest Deposit First";
87
+ }, {
88
+ readonly value: string;
89
+ readonly label: "Newest First";
90
+ } | {
91
+ readonly value: string;
92
+ readonly label: "Oldest First";
93
+ } | {
94
+ readonly value: string;
95
+ readonly label: "Price: Low to High";
96
+ } | {
97
+ readonly value: string;
98
+ readonly label: "Price: High to Low";
99
+ } | {
100
+ readonly value: string;
101
+ readonly label: "Fewest Slots Left";
102
+ } | {
103
+ readonly value: string;
104
+ readonly label: "Lowest Deposit First";
105
+ }, {
106
+ readonly value: string;
107
+ readonly label: "Newest First";
108
+ } | {
109
+ readonly value: string;
110
+ readonly label: "Oldest First";
111
+ } | {
112
+ readonly value: string;
113
+ readonly label: "Price: Low to High";
114
+ } | {
115
+ readonly value: string;
116
+ readonly label: "Price: High to Low";
117
+ } | {
118
+ readonly value: string;
119
+ readonly label: "Fewest Slots Left";
120
+ } | {
121
+ readonly value: string;
122
+ readonly label: "Lowest Deposit First";
123
+ }];
124
+ extraFacetKeys: readonly string[];
15
125
  };
@@ -1,5 +1,7 @@
1
1
  import { LISTING_TYPE_CAPABILITIES } from "../capabilities";
2
2
  import { ROUTES } from "../../../../next/routing/route-map";
3
+ import { TABLE_KEYS } from "../../../../constants/table-keys";
4
+ import { PREORDER_SORT_OPTIONS, PREORDER_PUBLIC_SORT_OPTIONS, } from "../../../../features/products/constants/sieve";
3
5
  export const LISTING_TYPE = "pre-order";
4
6
  export const capability = LISTING_TYPE_CAPABILITIES["pre-order"];
5
7
  export const config = {
@@ -11,4 +13,16 @@ export const config = {
11
13
  priceLabel: "Pre-Order Price (₹)",
12
14
  typeLabel: "Pre-Order",
13
15
  showsStockQuantity: false,
16
+ tabSlug: "pre-orders",
17
+ pluralLabel: "Pre-Orders",
18
+ chipLabel: "Pre-Orders",
19
+ browseRoute: String(ROUTES.PUBLIC.PRE_ORDERS),
20
+ hideDefault: "closed",
21
+ sortOptions: PREORDER_SORT_OPTIONS,
22
+ publicSortOptions: PREORDER_PUBLIC_SORT_OPTIONS,
23
+ extraFacetKeys: [
24
+ TABLE_KEYS.PREORDER_STATUS,
25
+ TABLE_KEYS.DATE_FROM,
26
+ TABLE_KEYS.DATE_TO,
27
+ ],
14
28
  };
@@ -12,4 +12,48 @@ export declare const config: {
12
12
  priceLabel: string;
13
13
  typeLabel: string;
14
14
  showsStockQuantity: boolean;
15
+ tabSlug: string;
16
+ pluralLabel: string;
17
+ chipLabel: string;
18
+ browseRoute: string;
19
+ hideDefault: "closed";
20
+ sortOptions: readonly [{
21
+ readonly value: string;
22
+ readonly label: "Newest First";
23
+ }, {
24
+ readonly value: string;
25
+ readonly label: "Oldest First";
26
+ }, {
27
+ readonly value: string;
28
+ readonly label: "Reveal: Soonest";
29
+ }, {
30
+ readonly value: string;
31
+ readonly label: "Reveal: Furthest";
32
+ }, {
33
+ readonly value: string;
34
+ readonly label: "Entry: Low to High";
35
+ }, {
36
+ readonly value: string;
37
+ readonly label: "Entry: High to Low";
38
+ }];
39
+ publicSortOptions: readonly [{
40
+ readonly value: string;
41
+ readonly label: "Newest First";
42
+ }, {
43
+ readonly value: string;
44
+ readonly label: "Oldest First";
45
+ }, {
46
+ readonly value: string;
47
+ readonly label: "Reveal: Soonest";
48
+ }, {
49
+ readonly value: string;
50
+ readonly label: "Reveal: Furthest";
51
+ }, {
52
+ readonly value: string;
53
+ readonly label: "Entry: Low to High";
54
+ }, {
55
+ readonly value: string;
56
+ readonly label: "Entry: High to Low";
57
+ }];
58
+ extraFacetKeys: readonly string[];
15
59
  };
@@ -1,5 +1,7 @@
1
1
  import { LISTING_TYPE_CAPABILITIES } from "../capabilities";
2
2
  import { ROUTES } from "../../../../next/routing/route-map";
3
+ import { TABLE_KEYS } from "../../../../constants/table-keys";
4
+ import { PRIZE_DRAW_SORT_OPTIONS, PRIZE_DRAW_PUBLIC_SORT_OPTIONS, } from "../../../../features/products/constants/sieve";
3
5
  export const LISTING_TYPE = "prize-draw";
4
6
  export const capability = LISTING_TYPE_CAPABILITIES["prize-draw"];
5
7
  export const config = {
@@ -11,4 +13,12 @@ export const config = {
11
13
  priceLabel: "Price (₹)",
12
14
  typeLabel: "Prize Draw",
13
15
  showsStockQuantity: false,
16
+ tabSlug: "prize-draws",
17
+ pluralLabel: "Prize Draws",
18
+ chipLabel: "Prize Draws",
19
+ browseRoute: String(ROUTES.PUBLIC.PRIZE_DRAWS),
20
+ hideDefault: "closed",
21
+ sortOptions: PRIZE_DRAW_SORT_OPTIONS,
22
+ publicSortOptions: PRIZE_DRAW_PUBLIC_SORT_OPTIONS,
23
+ extraFacetKeys: [TABLE_KEYS.PRIZE_REVEAL_STATUS],
14
24
  };
@@ -12,4 +12,63 @@ export declare const config: {
12
12
  priceLabel: string;
13
13
  typeLabel: string;
14
14
  showsStockQuantity: boolean;
15
+ tabSlug: string;
16
+ pluralLabel: string;
17
+ chipLabel: string;
18
+ browseRoute: string;
19
+ hideDefault: "sold";
20
+ sortOptions: readonly [{
21
+ readonly value: string;
22
+ readonly label: "Newest First";
23
+ }, {
24
+ readonly value: string;
25
+ readonly label: "Oldest First";
26
+ }, {
27
+ readonly value: string;
28
+ readonly label: "Price: Low to High";
29
+ }, {
30
+ readonly value: string;
31
+ readonly label: "Price: High to Low";
32
+ }, {
33
+ readonly value: string;
34
+ readonly label: "Name: A–Z";
35
+ }, {
36
+ readonly value: string;
37
+ readonly label: "Name: Z–A";
38
+ }, {
39
+ readonly value: string;
40
+ readonly label: "Featured First";
41
+ }, {
42
+ readonly value: string;
43
+ readonly label: "Promoted First";
44
+ }, {
45
+ readonly value: string;
46
+ readonly label: "Recently Updated";
47
+ }, {
48
+ readonly value: string;
49
+ readonly label: "Most Viewed";
50
+ }];
51
+ publicSortOptions: readonly [{
52
+ readonly value: string;
53
+ readonly label: "Newest First";
54
+ }, {
55
+ readonly value: string;
56
+ readonly label: "Oldest First";
57
+ }, {
58
+ readonly value: string;
59
+ readonly label: "Price: Low to High";
60
+ }, {
61
+ readonly value: string;
62
+ readonly label: "Price: High to Low";
63
+ }, {
64
+ readonly value: string;
65
+ readonly label: "Name: A–Z";
66
+ }, {
67
+ readonly value: string;
68
+ readonly label: "Name: Z–A";
69
+ }, {
70
+ readonly value: string;
71
+ readonly label: "Most Viewed";
72
+ }];
73
+ extraFacetKeys: readonly string[];
15
74
  };
@@ -1,5 +1,6 @@
1
1
  import { LISTING_TYPE_CAPABILITIES } from "../capabilities";
2
2
  import { ROUTES } from "../../../../next/routing/route-map";
3
+ import { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, } from "../../../../features/products/constants/sieve";
3
4
  export const LISTING_TYPE = "standard";
4
5
  export const capability = LISTING_TYPE_CAPABILITIES.standard;
5
6
  export const config = {
@@ -11,4 +12,12 @@ export const config = {
11
12
  priceLabel: "Price (₹)",
12
13
  typeLabel: "Product",
13
14
  showsStockQuantity: true,
15
+ tabSlug: "products",
16
+ pluralLabel: "Products",
17
+ chipLabel: "Standard",
18
+ browseRoute: String(ROUTES.PUBLIC.PRODUCTS),
19
+ hideDefault: "sold",
20
+ sortOptions: STANDARD_SORT_OPTIONS,
21
+ publicSortOptions: STANDARD_PUBLIC_SORT_OPTIONS,
22
+ extraFacetKeys: [],
14
23
  };
@@ -12,4 +12,63 @@ export declare const config: {
12
12
  priceLabel: string;
13
13
  typeLabel: string;
14
14
  showsStockQuantity: boolean;
15
+ tabSlug: string;
16
+ pluralLabel: string;
17
+ chipLabel: string;
18
+ browseRoute: string;
19
+ hideDefault: "sold";
20
+ sortOptions: readonly [{
21
+ readonly value: string;
22
+ readonly label: "Newest First";
23
+ }, {
24
+ readonly value: string;
25
+ readonly label: "Oldest First";
26
+ }, {
27
+ readonly value: string;
28
+ readonly label: "Price: Low to High";
29
+ }, {
30
+ readonly value: string;
31
+ readonly label: "Price: High to Low";
32
+ }, {
33
+ readonly value: string;
34
+ readonly label: "Name: A–Z";
35
+ }, {
36
+ readonly value: string;
37
+ readonly label: "Name: Z–A";
38
+ }, {
39
+ readonly value: string;
40
+ readonly label: "Featured First";
41
+ }, {
42
+ readonly value: string;
43
+ readonly label: "Promoted First";
44
+ }, {
45
+ readonly value: string;
46
+ readonly label: "Recently Updated";
47
+ }, {
48
+ readonly value: string;
49
+ readonly label: "Most Viewed";
50
+ }];
51
+ publicSortOptions: readonly [{
52
+ readonly value: string;
53
+ readonly label: "Newest First";
54
+ }, {
55
+ readonly value: string;
56
+ readonly label: "Oldest First";
57
+ }, {
58
+ readonly value: string;
59
+ readonly label: "Price: Low to High";
60
+ }, {
61
+ readonly value: string;
62
+ readonly label: "Price: High to Low";
63
+ }, {
64
+ readonly value: string;
65
+ readonly label: "Name: A–Z";
66
+ }, {
67
+ readonly value: string;
68
+ readonly label: "Name: Z–A";
69
+ }, {
70
+ readonly value: string;
71
+ readonly label: "Most Viewed";
72
+ }];
73
+ extraFacetKeys: readonly string[];
15
74
  };
@@ -1,5 +1,6 @@
1
1
  import { LISTING_TYPE_CAPABILITIES } from "../capabilities";
2
2
  import { ROUTES } from "../../../../next/routing/route-map";
3
+ import { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, } from "../../../../features/products/constants/sieve";
3
4
  export const LISTING_TYPE = "stickers";
4
5
  export const capability = LISTING_TYPE_CAPABILITIES.stickers;
5
6
  export const config = {
@@ -11,4 +12,15 @@ export const config = {
11
12
  priceLabel: "Price (₹)",
12
13
  typeLabel: "Stickers",
13
14
  showsStockQuantity: true,
15
+ tabSlug: "stickers",
16
+ pluralLabel: "Stickers",
17
+ chipLabel: "Stickers",
18
+ // Stickers share the combined `/art` browse page with art prints — they
19
+ // have no page of their own, which is why this points at ART rather than
20
+ // a `/stickers` route that does not exist.
21
+ browseRoute: String(ROUTES.PUBLIC.ART),
22
+ hideDefault: "sold",
23
+ sortOptions: STANDARD_SORT_OPTIONS,
24
+ publicSortOptions: STANDARD_PUBLIC_SORT_OPTIONS,
25
+ extraFacetKeys: [],
14
26
  };
package/dist/client.d.ts CHANGED
@@ -188,6 +188,8 @@ export { UserSidebar } from "./features/account/components/UserSidebar";
188
188
  export type { UserSidebarProps, UserNavItem, UserNavGroup } from "./features/account/components/UserSidebar";
189
189
  export { CouponsIndexListing } from "./features/promotions/components/CouponsIndexListing";
190
190
  export type { CouponsIndexListingProps } from "./features/promotions/components/CouponsIndexListing";
191
+ export { CouponHelpDetails } from "./features/promotions/components/CouponHelpDetails";
192
+ export type { CouponHelpDetailsProps } from "./features/promotions/components/CouponHelpDetails";
191
193
  export { NotificationBell } from "./features/account/components/NotificationBell";
192
194
  export { NotificationPreferencesPanel } from "./features/account/components/NotificationPreferencesPanel";
193
195
  export type { NotificationPreferencesPanelProps } from "./features/account/components/NotificationPreferencesPanel";
@@ -245,7 +247,9 @@ export type { MarketplaceBundleCardProps, MarketplaceBundleCardData, Marketplace
245
247
  export { CompareOverlay } from "./features/products/components/CompareOverlay";
246
248
  export type { CompareOverlayProps, CompareOverlayLabels, CompareProductLike, } from "./features/products/components/CompareOverlay";
247
249
  export { COMPARE_MAX_ITEMS } from "./features/products/constants/action-defs";
248
- export { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, AUCTION_SORT_OPTIONS, AUCTION_PUBLIC_SORT_OPTIONS, PREORDER_SORT_OPTIONS, BUNDLE_SORT_OPTIONS, PRIZE_DRAW_SORT_OPTIONS, SORT_OPTIONS_BY_LISTING_TYPE, } from "./features/products/constants/sieve";
250
+ export { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, AUCTION_SORT_OPTIONS, AUCTION_PUBLIC_SORT_OPTIONS, PREORDER_SORT_OPTIONS, PREORDER_PUBLIC_SORT_OPTIONS, BUNDLE_SORT_OPTIONS, PRIZE_DRAW_SORT_OPTIONS, PRIZE_DRAW_PUBLIC_SORT_OPTIONS, } from "./features/products/constants/sieve";
251
+ export { sortOptionsFor, commonSortOptionsFor, hideDefaultsFor, } from "./_internal/shared/listing-types/_registry";
252
+ export type { ListingHideDefault } from "./_internal/shared/listing-types/_registry";
249
253
  export type { SortOption } from "./features/products/constants/sieve";
250
254
  export { MessagesView } from "./features/account/components/MessagesView";
251
255
  export type { MessagesViewProps, MessagesViewLabels } from "./features/account/components/MessagesView";
@@ -321,7 +325,7 @@ export type { GuestHistoryItem, GuestHistoryType, UserHistoryItem, HistoryProduc
321
325
  export type { TrackArgs as TrackHistoryArgs } from "./features/history/hooks/useHistory";
322
326
  export { WISHLIST_MAX, HISTORY_MAX, CART_MAX_ITEMS, } from "./constants/limits";
323
327
  export { normalizeListingType, isAuctionListing, isPreOrderListing, isStandardListing, isPrizeDrawListing, isClassifiedListing, isDigitalCodeListing, isLiveListing, isArtListing, isStickersListing, } from "./features/products/utils/listing-type";
324
- export { isListingTypeEnabled, isCategoryTypeEnabled, enabledListingTypes, enabledCategoryTypes, } from "./_internal/shared/listing-types/feature-flags";
328
+ export { isListingTypeEnabled, isCategoryTypeEnabled, enabledListingTypes, enabledCategoryTypes, ALL_LISTING_TYPES, } from "./_internal/shared/listing-types/feature-flags";
325
329
  export { actionTracker, setActionTrackerSink, resetActionTrackerSink, type ActionEvent, type ActionTrackerSink, } from "./_internal/shared/listing-types/action-tracker";
326
330
  export { cartRequiresShipping, cartIsDigitalOnly, cartIsChatOnly, } from "./_internal/shared/listing-types/cart-shipping";
327
331
  export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLabel, type ActionDef, type ActionKind, type ActionResource, type ActionTree, type ActionConfirmation, } from "./_internal/shared/actions/action-registry";
@@ -410,3 +414,4 @@ export { API_ENDPOINTS } from "./constants/index";
410
414
  export { SELLER_LISTING_TABS, type SellerListingTabId, } from "./features/products/constants/listing-tabs";
411
415
  export { ALL_TAB, EMPTY_TAB, ADMIN_PRODUCT_STATUS_TABS, ADMIN_PRODUCT_LISTING_TYPE_TABS, ADMIN_BLOG_STATUS_TABS, ADMIN_USER_STATUS_TABS, ADMIN_USER_ROLE_TABS, ADMIN_STORE_STATUS_TABS, ADMIN_PAYOUT_STATUS_TABS, ADMIN_ORDER_STATUS_TABS, ADMIN_REVIEW_STATUS_TABS, ADMIN_REVIEW_RATING_TABS, ADMIN_BID_STATUS_TABS, ADMIN_CONTACT_STATUS_TABS, ADMIN_NEWSLETTER_STATUS_TABS, ADMIN_EVENT_ENTRY_STATUS_TABS, ADMIN_EVENT_STATUS_TABS, ADMIN_CART_OWNERSHIP_TABS, ADMIN_COUPON_TYPE_TABS, SELLER_PRODUCT_STATUS_TABS, SELLER_AUCTION_STATUS_TABS, SELLER_ORDER_STATUS_TABS, SELLER_OFFER_STATUS_TABS, SELLER_BID_STATUS_TABS, } from "./features/admin/constants/filter-tabs";
412
416
  export { PRODUCT_FIELDS, PRODUCT_STATUS_TRANSITIONS, ORDER_FIELDS, REVIEW_FIELDS, BID_FIELDS, AD_FIELDS, EVENT_FIELDS, EVENT_ENTRY_FIELDS, PAYOUT_FIELDS, STORE_FIELDS, CATEGORY_FIELDS, BLOG_FIELDS, USER_FIELDS, ADDRESS_FIELDS, BRAND_FIELDS, CART_FIELDS, WISHLIST_FIELDS, HISTORY_FIELDS, NOTIFICATION_FIELDS, SESSION_FIELDS, COUPON_USAGE_FIELDS, CONVERSATION_FIELDS, SCAMMER_FIELDS, SUPPORT_TICKET_FIELDS, CAROUSEL_FIELDS, COUPON_FIELDS, FAQ_FIELDS, HOMEPAGE_SECTION_FIELDS, SITE_SETTINGS_FIELDS, COMMON_FIELDS, OAUTH_STATE_VALUES, SCHEMA_DEFAULTS, } from "./constants/field-names";
417
+ export { CART_LANE, CART_LANE_PRIORITY, CART_LANE_LABELS, laneOf, activeLane, laneItems, laneCounts, isLaneCheckoutable, laneBlockReason, isLockedLane, canAddNewItems, type CartLane, type LaneAssignable, } from "./_internal/shared/checkout/lanes";
package/dist/client.js CHANGED
@@ -228,6 +228,7 @@ export { TourProvider, useTour } from "./_internal/client/features/tour/TourProv
228
228
  export { apiClient, ApiClientError } from "./http/index";
229
229
  export { UserSidebar } from "./features/account/components/UserSidebar";
230
230
  export { CouponsIndexListing } from "./features/promotions/components/CouponsIndexListing";
231
+ export { CouponHelpDetails } from "./features/promotions/components/CouponHelpDetails";
231
232
  export { NotificationBell } from "./features/account/components/NotificationBell";
232
233
  export { NotificationPreferencesPanel } from "./features/account/components/NotificationPreferencesPanel";
233
234
  export { LinkedAccountsSection } from "./features/account/components/LinkedAccountsSection";
@@ -261,7 +262,9 @@ export { InteractiveProductCard } from "./features/products/index";
261
262
  export { MarketplaceBundleCard } from "./features/products/components/MarketplaceBundleCard";
262
263
  export { CompareOverlay } from "./features/products/components/CompareOverlay";
263
264
  export { COMPARE_MAX_ITEMS } from "./features/products/constants/action-defs";
264
- export { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, AUCTION_SORT_OPTIONS, AUCTION_PUBLIC_SORT_OPTIONS, PREORDER_SORT_OPTIONS, BUNDLE_SORT_OPTIONS, PRIZE_DRAW_SORT_OPTIONS, SORT_OPTIONS_BY_LISTING_TYPE, } from "./features/products/constants/sieve";
265
+ export { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, AUCTION_SORT_OPTIONS, AUCTION_PUBLIC_SORT_OPTIONS, PREORDER_SORT_OPTIONS, PREORDER_PUBLIC_SORT_OPTIONS, BUNDLE_SORT_OPTIONS, PRIZE_DRAW_SORT_OPTIONS, PRIZE_DRAW_PUBLIC_SORT_OPTIONS, } from "./features/products/constants/sieve";
266
+ // Derived from the listing-type plugin registry — see the note in index.ts.
267
+ export { sortOptionsFor, commonSortOptionsFor, hideDefaultsFor, } from "./_internal/shared/listing-types/_registry";
265
268
  // Messages — RTDB-pinged Firestore conversations (D5 + VC7)
266
269
  export { MessagesView } from "./features/account/components/MessagesView";
267
270
  export { ChatList } from "./features/account/components/ChatList";
@@ -319,7 +322,7 @@ export { WISHLIST_MAX, HISTORY_MAX, CART_MAX_ITEMS, } from "./constants/limits";
319
322
  // SB-UNI-F 2026-05-13 — Phase 2 predicates surfaced through client barrel.
320
323
  export { normalizeListingType, isAuctionListing, isPreOrderListing, isStandardListing, isPrizeDrawListing, isClassifiedListing, isDigitalCodeListing, isLiveListing, isArtListing, isStickersListing, } from "./features/products/utils/listing-type";
321
324
  // SB-UNI-X4 2026-05-13 — per-type feature-flag helpers (client-safe).
322
- export { isListingTypeEnabled, isCategoryTypeEnabled, enabledListingTypes, enabledCategoryTypes, } from "./_internal/shared/listing-types/feature-flags";
325
+ export { isListingTypeEnabled, isCategoryTypeEnabled, enabledListingTypes, enabledCategoryTypes, ALL_LISTING_TYPES, } from "./_internal/shared/listing-types/feature-flags";
323
326
  // SB-UNI-X5 2026-05-13 — action telemetry sink (client-safe; defaults to
324
327
  // a no-op + console.debug in dev).
325
328
  export { actionTracker, setActionTrackerSink, resetActionTrackerSink, } from "./_internal/shared/listing-types/action-tracker";
@@ -393,3 +396,6 @@ export { API_ENDPOINTS } from "./constants/index";
393
396
  export { SELLER_LISTING_TABS, } from "./features/products/constants/listing-tabs";
394
397
  export { ALL_TAB, EMPTY_TAB, ADMIN_PRODUCT_STATUS_TABS, ADMIN_PRODUCT_LISTING_TYPE_TABS, ADMIN_BLOG_STATUS_TABS, ADMIN_USER_STATUS_TABS, ADMIN_USER_ROLE_TABS, ADMIN_STORE_STATUS_TABS, ADMIN_PAYOUT_STATUS_TABS, ADMIN_ORDER_STATUS_TABS, ADMIN_REVIEW_STATUS_TABS, ADMIN_REVIEW_RATING_TABS, ADMIN_BID_STATUS_TABS, ADMIN_CONTACT_STATUS_TABS, ADMIN_NEWSLETTER_STATUS_TABS, ADMIN_EVENT_ENTRY_STATUS_TABS, ADMIN_EVENT_STATUS_TABS, ADMIN_CART_OWNERSHIP_TABS, ADMIN_COUPON_TYPE_TABS, SELLER_PRODUCT_STATUS_TABS, SELLER_AUCTION_STATUS_TABS, SELLER_ORDER_STATUS_TABS, SELLER_OFFER_STATUS_TABS, SELLER_BID_STATUS_TABS, } from "./features/admin/constants/filter-tabs";
395
398
  export { PRODUCT_FIELDS, PRODUCT_STATUS_TRANSITIONS, ORDER_FIELDS, REVIEW_FIELDS, BID_FIELDS, AD_FIELDS, EVENT_FIELDS, EVENT_ENTRY_FIELDS, PAYOUT_FIELDS, STORE_FIELDS, CATEGORY_FIELDS, BLOG_FIELDS, USER_FIELDS, ADDRESS_FIELDS, BRAND_FIELDS, CART_FIELDS, WISHLIST_FIELDS, HISTORY_FIELDS, NOTIFICATION_FIELDS, SESSION_FIELDS, COUPON_USAGE_FIELDS, CONVERSATION_FIELDS, SCAMMER_FIELDS, SUPPORT_TICKET_FIELDS, CAROUSEL_FIELDS, COUPON_FIELDS, FAQ_FIELDS, HOMEPAGE_SECTION_FIELDS, SITE_SETTINGS_FIELDS, COMMON_FIELDS, OAUTH_STATE_VALUES, SCHEMA_DEFAULTS, } from "./constants/field-names";
399
+ // Checkout lanes — the derived auction > offer > standard partition of the
400
+ // cart, and the priority rule that decides which one may be checked out.
401
+ export { CART_LANE, CART_LANE_PRIORITY, CART_LANE_LABELS, laneOf, activeLane, laneItems, laneCounts, isLaneCheckoutable, laneBlockReason, isLockedLane, canAddNewItems, } from "./_internal/shared/checkout/lanes";
@@ -75,7 +75,19 @@ export declare const PRODUCT_FIELDS: {
75
75
  readonly PRIZE_CURRENT_ENTRIES: "prizeCurrentEntries";
76
76
  readonly PRIZE_MAX_ENTRIES: "prizeMaxEntries";
77
77
  readonly PRIZE_DRAW_MODE: "prizeDrawMode";
78
+ readonly PRICE_PER_ENTRY: "pricePerEntry";
78
79
  readonly IS_PART_OF_BUNDLE: "isPartOfBundle";
80
+ readonly IS_ON_SALE: "isOnSale";
81
+ readonly IS_TEST_DATA: "isTestData";
82
+ readonly BIDS_HAVE_STARTED: "bidsHaveStarted";
83
+ readonly PRE_ORDER_CLOSED: "preOrderClosed";
84
+ /**
85
+ * The Firestore field. NOTE the `Id` suffix: the URL/table key is
86
+ * `sublistingCategory` (TABLE_KEYS.SUBLISTING_CATEGORY) but the stored field
87
+ * is `sublistingCategoryId`. Emitting the table key as a filter field name
88
+ * matches zero documents — always map across via this constant.
89
+ */
90
+ readonly SUBLISTING_CATEGORY_ID: "sublistingCategoryId";
79
91
  readonly SEARCH_TOKENS: "searchTokens";
80
92
  readonly CREATED_AT: "createdAt";
81
93
  readonly UPDATED_AT: "updatedAt";
@@ -80,7 +80,19 @@ export const PRODUCT_FIELDS = {
80
80
  PRIZE_CURRENT_ENTRIES: "prizeCurrentEntries",
81
81
  PRIZE_MAX_ENTRIES: "prizeMaxEntries",
82
82
  PRIZE_DRAW_MODE: "prizeDrawMode",
83
+ PRICE_PER_ENTRY: "pricePerEntry",
83
84
  IS_PART_OF_BUNDLE: "isPartOfBundle",
85
+ IS_ON_SALE: "isOnSale",
86
+ IS_TEST_DATA: "isTestData",
87
+ BIDS_HAVE_STARTED: "bidsHaveStarted",
88
+ PRE_ORDER_CLOSED: "preOrderClosed",
89
+ /**
90
+ * The Firestore field. NOTE the `Id` suffix: the URL/table key is
91
+ * `sublistingCategory` (TABLE_KEYS.SUBLISTING_CATEGORY) but the stored field
92
+ * is `sublistingCategoryId`. Emitting the table key as a filter field name
93
+ * matches zero documents — always map across via this constant.
94
+ */
95
+ SUBLISTING_CATEGORY_ID: "sublistingCategoryId",
84
96
  SEARCH_TOKENS: "searchTokens",
85
97
  CREATED_AT: "createdAt",
86
98
  UPDATED_AT: "updatedAt",