@mohasinac/appkit 2.6.2 → 2.6.4

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 (607) hide show
  1. package/dist/_internal/server/features/account/data.js +2 -2
  2. package/dist/_internal/server/features/bundles/data.d.ts +26 -6
  3. package/dist/_internal/server/features/bundles/data.js +41 -6
  4. package/dist/_internal/server/features/bundles/index.d.ts +3 -2
  5. package/dist/_internal/server/features/bundles/index.js +4 -2
  6. package/dist/_internal/server/features/bundles/metadata.d.ts +20 -0
  7. package/dist/_internal/server/features/bundles/metadata.js +46 -0
  8. package/dist/_internal/server/features/bundles/og.d.ts +38 -0
  9. package/dist/_internal/server/features/bundles/og.js +122 -0
  10. package/dist/_internal/server/features/checkout/actions.js +192 -133
  11. package/dist/_internal/server/features/checkout/bundle-expansion.d.ts +57 -0
  12. package/dist/_internal/server/features/checkout/bundle-expansion.js +70 -0
  13. package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +5 -15
  14. package/dist/_internal/server/features/checkout/prize-bundle-gates.js +5 -21
  15. package/dist/_internal/server/features/media/contextGuards.js +15 -1
  16. package/dist/_internal/server/features/payouts/actions.d.ts +19 -0
  17. package/dist/_internal/server/features/payouts/actions.js +38 -0
  18. package/dist/_internal/server/features/products/data.js +1 -2
  19. package/dist/_internal/server/features/raffle/actions.d.ts +11 -0
  20. package/dist/_internal/server/features/raffle/actions.js +31 -0
  21. package/dist/_internal/server/features/refunds/actions.d.ts +31 -0
  22. package/dist/_internal/server/features/refunds/actions.js +77 -0
  23. package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +28 -0
  24. package/dist/_internal/server/jobs/core/adminAnalytics.js +98 -0
  25. package/dist/_internal/server/jobs/core/assignSpinPrize.d.ts +19 -0
  26. package/dist/_internal/server/jobs/core/assignSpinPrize.js +81 -0
  27. package/dist/_internal/server/jobs/core/auctionSettlement.d.ts +2 -0
  28. package/dist/_internal/server/jobs/core/auctionSettlement.js +70 -0
  29. package/dist/_internal/server/jobs/core/autoPayoutEligibility.d.ts +2 -0
  30. package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +109 -0
  31. package/dist/_internal/server/jobs/core/bundleStockSync.d.ts +10 -0
  32. package/dist/_internal/server/jobs/core/bundleStockSync.js +71 -0
  33. package/dist/_internal/server/jobs/core/cartPrune.d.ts +2 -0
  34. package/dist/_internal/server/jobs/core/cartPrune.js +13 -0
  35. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.d.ts +2 -0
  36. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +45 -0
  37. package/dist/_internal/server/jobs/core/countersReconcile.d.ts +2 -0
  38. package/dist/_internal/server/jobs/core/countersReconcile.js +107 -0
  39. package/dist/_internal/server/jobs/core/couponExpiry.d.ts +2 -0
  40. package/dist/_internal/server/jobs/core/couponExpiry.js +13 -0
  41. package/dist/_internal/server/jobs/core/dailyDataCleanup.d.ts +2 -0
  42. package/dist/_internal/server/jobs/core/dailyDataCleanup.js +20 -0
  43. package/dist/_internal/server/jobs/core/index.d.ts +44 -0
  44. package/dist/_internal/server/jobs/core/index.js +47 -0
  45. package/dist/_internal/server/jobs/core/listingProcessor.d.ts +30 -0
  46. package/dist/_internal/server/jobs/core/listingProcessor.js +138 -0
  47. package/dist/_internal/server/jobs/core/mediaTmpCleanup.d.ts +14 -0
  48. package/dist/_internal/server/jobs/core/mediaTmpCleanup.js +68 -0
  49. package/dist/_internal/server/jobs/core/notificationPrune.d.ts +2 -0
  50. package/dist/_internal/server/jobs/core/notificationPrune.js +13 -0
  51. package/dist/_internal/server/jobs/core/offerExpiry.d.ts +2 -0
  52. package/dist/_internal/server/jobs/core/offerExpiry.js +50 -0
  53. package/dist/_internal/server/jobs/core/onBidPlaced.d.ts +15 -0
  54. package/dist/_internal/server/jobs/core/onBidPlaced.js +59 -0
  55. package/dist/_internal/server/jobs/core/onCategoryWrite.d.ts +14 -0
  56. package/dist/_internal/server/jobs/core/onCategoryWrite.js +134 -0
  57. package/dist/_internal/server/jobs/core/onOrderCreate.d.ts +18 -0
  58. package/dist/_internal/server/jobs/core/onOrderCreate.js +78 -0
  59. package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +19 -0
  60. package/dist/_internal/server/jobs/core/onOrderStatusChange.js +139 -0
  61. package/dist/_internal/server/jobs/core/onProductStockChange.d.ts +23 -0
  62. package/dist/_internal/server/jobs/core/onProductStockChange.js +130 -0
  63. package/dist/_internal/server/jobs/core/onProductWrite.d.ts +12 -0
  64. package/dist/_internal/server/jobs/core/onProductWrite.js +94 -0
  65. package/dist/_internal/server/jobs/core/onReviewWrite.d.ts +7 -0
  66. package/dist/_internal/server/jobs/core/onReviewWrite.js +49 -0
  67. package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +12 -0
  68. package/dist/_internal/server/jobs/core/onStoreWrite.js +7 -0
  69. package/dist/_internal/server/jobs/core/payoutBatch.d.ts +8 -0
  70. package/dist/_internal/server/jobs/core/payoutBatch.js +102 -0
  71. package/dist/_internal/server/jobs/core/pendingOrderTimeout.d.ts +2 -0
  72. package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +27 -0
  73. package/dist/_internal/server/jobs/core/positionsReconcile.d.ts +7 -0
  74. package/dist/_internal/server/jobs/core/positionsReconcile.js +87 -0
  75. package/dist/_internal/server/jobs/core/prizeRevealClose.d.ts +2 -0
  76. package/dist/_internal/server/jobs/core/prizeRevealClose.js +22 -0
  77. package/dist/_internal/server/jobs/core/prizeRevealExpiry.d.ts +2 -0
  78. package/dist/_internal/server/jobs/core/prizeRevealExpiry.js +50 -0
  79. package/dist/_internal/server/jobs/core/prizeRevealOpen.d.ts +2 -0
  80. package/dist/_internal/server/jobs/core/prizeRevealOpen.js +56 -0
  81. package/dist/_internal/server/jobs/core/prizeRevealReminder.d.ts +2 -0
  82. package/dist/_internal/server/jobs/core/prizeRevealReminder.js +38 -0
  83. package/dist/_internal/server/jobs/core/productStatsSync.d.ts +8 -0
  84. package/dist/_internal/server/jobs/core/productStatsSync.js +36 -0
  85. package/dist/_internal/server/jobs/core/promotions.d.ts +12 -0
  86. package/dist/_internal/server/jobs/core/promotions.js +43 -0
  87. package/dist/_internal/server/jobs/core/storeAnalytics.d.ts +30 -0
  88. package/dist/_internal/server/jobs/core/storeAnalytics.js +109 -0
  89. package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +19 -0
  90. package/dist/_internal/server/jobs/core/triggerEventRaffle.js +86 -0
  91. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +6 -0
  92. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +85 -0
  93. package/dist/_internal/server/jobs/handlers/adminAnalytics.d.ts +2 -26
  94. package/dist/_internal/server/jobs/handlers/adminAnalytics.js +2 -98
  95. package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +1 -22
  96. package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +2 -86
  97. package/dist/_internal/server/jobs/handlers/auctionSettlement.js +2 -70
  98. package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +2 -110
  99. package/dist/_internal/server/jobs/handlers/bundleStockSync.d.ts +0 -16
  100. package/dist/_internal/server/jobs/handlers/bundleStockSync.js +2 -80
  101. package/dist/_internal/server/jobs/handlers/cartPrune.js +2 -13
  102. package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +2 -45
  103. package/dist/_internal/server/jobs/handlers/countersReconcile.js +2 -109
  104. package/dist/_internal/server/jobs/handlers/couponExpiry.js +2 -13
  105. package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +2 -20
  106. package/dist/_internal/server/jobs/handlers/listingProcessor.d.ts +3 -28
  107. package/dist/_internal/server/jobs/handlers/listingProcessor.js +3 -138
  108. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.d.ts +0 -12
  109. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +2 -69
  110. package/dist/_internal/server/jobs/handlers/notificationPrune.js +2 -13
  111. package/dist/_internal/server/jobs/handlers/offerExpiry.js +2 -50
  112. package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +1 -10
  113. package/dist/_internal/server/jobs/handlers/onBidPlaced.js +2 -56
  114. package/dist/_internal/server/jobs/handlers/onCategoryWrite.d.ts +1 -8
  115. package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +6 -134
  116. package/dist/_internal/server/jobs/handlers/onOrderCreate.d.ts +1 -12
  117. package/dist/_internal/server/jobs/handlers/onOrderCreate.js +2 -76
  118. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.d.ts +1 -12
  119. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +2 -139
  120. package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +0 -13
  121. package/dist/_internal/server/jobs/handlers/onProductStockChange.js +7 -134
  122. package/dist/_internal/server/jobs/handlers/onProductWrite.d.ts +1 -6
  123. package/dist/_internal/server/jobs/handlers/onProductWrite.js +6 -106
  124. package/dist/_internal/server/jobs/handlers/onReviewWrite.js +2 -49
  125. package/dist/_internal/server/jobs/handlers/onStoreWrite.d.ts +1 -8
  126. package/dist/_internal/server/jobs/handlers/onStoreWrite.js +7 -8
  127. package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +0 -9
  128. package/dist/_internal/server/jobs/handlers/payoutBatch.js +2 -104
  129. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.d.ts +0 -6
  130. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +2 -33
  131. package/dist/_internal/server/jobs/handlers/positionsReconcile.d.ts +0 -5
  132. package/dist/_internal/server/jobs/handlers/positionsReconcile.js +2 -87
  133. package/dist/_internal/server/jobs/handlers/prizeRevealClose.d.ts +0 -7
  134. package/dist/_internal/server/jobs/handlers/prizeRevealClose.js +2 -29
  135. package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.d.ts +0 -8
  136. package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.js +2 -58
  137. package/dist/_internal/server/jobs/handlers/prizeRevealOpen.d.ts +0 -8
  138. package/dist/_internal/server/jobs/handlers/prizeRevealOpen.js +2 -65
  139. package/dist/_internal/server/jobs/handlers/prizeRevealReminder.d.ts +0 -7
  140. package/dist/_internal/server/jobs/handlers/prizeRevealReminder.js +2 -45
  141. package/dist/_internal/server/jobs/handlers/productStatsSync.d.ts +0 -6
  142. package/dist/_internal/server/jobs/handlers/productStatsSync.js +2 -36
  143. package/dist/_internal/server/jobs/handlers/promotions.d.ts +2 -10
  144. package/dist/_internal/server/jobs/handlers/promotions.js +2 -43
  145. package/dist/_internal/server/jobs/handlers/storeAnalytics.d.ts +2 -28
  146. package/dist/_internal/server/jobs/handlers/storeAnalytics.js +2 -109
  147. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +1 -28
  148. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +2 -94
  149. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.d.ts +0 -6
  150. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +2 -87
  151. package/dist/_internal/server/jobs/index.d.ts +1 -0
  152. package/dist/_internal/server/jobs/index.js +1 -0
  153. package/dist/_internal/server/jobs/runtime/adapters/firebase.js +21 -0
  154. package/dist/_internal/shared/actions/action-registry.d.ts +84 -0
  155. package/dist/_internal/shared/actions/action-registry.js +160 -0
  156. package/dist/_internal/shared/checkout/rules/_defaults.d.ts +3 -0
  157. package/dist/_internal/shared/checkout/rules/_defaults.js +22 -0
  158. package/dist/_internal/shared/checkout/rules/_limits.d.ts +19 -0
  159. package/dist/_internal/shared/checkout/rules/_limits.js +19 -0
  160. package/dist/_internal/shared/checkout/rules/_registry.d.ts +44 -0
  161. package/dist/_internal/shared/checkout/rules/_registry.js +87 -0
  162. package/dist/_internal/shared/checkout/rules/auction.rule.d.ts +2 -0
  163. package/dist/_internal/shared/checkout/rules/auction.rule.js +10 -0
  164. package/dist/_internal/shared/checkout/rules/bundle.rule.d.ts +11 -0
  165. package/dist/_internal/shared/checkout/rules/bundle.rule.js +6 -0
  166. package/dist/_internal/shared/checkout/rules/classified.rule.d.ts +9 -0
  167. package/dist/_internal/shared/checkout/rules/classified.rule.js +9 -0
  168. package/dist/_internal/shared/checkout/rules/digital-code.rule.d.ts +8 -0
  169. package/dist/_internal/shared/checkout/rules/digital-code.rule.js +6 -0
  170. package/dist/_internal/shared/checkout/rules/index.d.ts +12 -0
  171. package/dist/_internal/shared/checkout/rules/index.js +12 -0
  172. package/dist/_internal/shared/checkout/rules/live.rule.d.ts +10 -0
  173. package/dist/_internal/shared/checkout/rules/live.rule.js +6 -0
  174. package/dist/_internal/shared/checkout/rules/offer.rule.d.ts +2 -0
  175. package/dist/_internal/shared/checkout/rules/offer.rule.js +9 -0
  176. package/dist/_internal/shared/checkout/rules/preorder.rule.d.ts +2 -0
  177. package/dist/_internal/shared/checkout/rules/preorder.rule.js +28 -0
  178. package/dist/_internal/shared/checkout/rules/prize-draw.rule.d.ts +2 -0
  179. package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +65 -0
  180. package/dist/_internal/shared/checkout/rules/standard.rule.d.ts +2 -0
  181. package/dist/_internal/shared/checkout/rules/standard.rule.js +5 -0
  182. package/dist/_internal/shared/checkout/rules/types.d.ts +125 -0
  183. package/dist/_internal/shared/checkout/rules/types.js +13 -0
  184. package/dist/_internal/shared/features/cart/schema.d.ts +6 -6
  185. package/dist/_internal/shared/features/categories/bundle-copy.d.ts +123 -0
  186. package/dist/_internal/shared/features/categories/bundle-copy.js +134 -0
  187. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +318 -0
  188. package/dist/_internal/shared/features/categories/bundle-schemas.js +55 -0
  189. package/dist/_internal/shared/features/orders/refund-copy.d.ts +36 -0
  190. package/dist/_internal/shared/features/orders/refund-copy.js +40 -0
  191. package/dist/_internal/shared/features/orders/schema.d.ts +4 -4
  192. package/dist/_internal/shared/features/products/schema.d.ts +8 -8
  193. package/dist/_internal/shared/listing-types/_registry.d.ts +27 -0
  194. package/dist/_internal/shared/listing-types/_registry.js +8 -0
  195. package/dist/_internal/shared/listing-types/action-tracker.d.ts +41 -0
  196. package/dist/_internal/shared/listing-types/action-tracker.js +70 -0
  197. package/dist/_internal/shared/listing-types/capabilities.js +25 -0
  198. package/dist/_internal/shared/listing-types/cart-shipping.d.ts +37 -0
  199. package/dist/_internal/shared/listing-types/cart-shipping.js +46 -0
  200. package/dist/_internal/shared/listing-types/classified/config.d.ts +7 -0
  201. package/dist/_internal/shared/listing-types/classified/config.js +8 -0
  202. package/dist/_internal/shared/listing-types/classified/ctas.d.ts +1 -0
  203. package/dist/_internal/shared/listing-types/classified/ctas.js +3 -0
  204. package/dist/_internal/shared/listing-types/classified/og.d.ts +1 -0
  205. package/dist/_internal/shared/listing-types/classified/og.js +1 -0
  206. package/dist/_internal/shared/listing-types/classified/schema.d.ts +1 -0
  207. package/dist/_internal/shared/listing-types/classified/schema.js +1 -0
  208. package/dist/_internal/shared/listing-types/classified/seed-factory.d.ts +1 -0
  209. package/dist/_internal/shared/listing-types/classified/seed-factory.js +1 -0
  210. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +7 -0
  211. package/dist/_internal/shared/listing-types/digital-code/config.js +8 -0
  212. package/dist/_internal/shared/listing-types/digital-code/ctas.d.ts +1 -0
  213. package/dist/_internal/shared/listing-types/digital-code/ctas.js +3 -0
  214. package/dist/_internal/shared/listing-types/digital-code/og.d.ts +1 -0
  215. package/dist/_internal/shared/listing-types/digital-code/og.js +1 -0
  216. package/dist/_internal/shared/listing-types/digital-code/schema.d.ts +1 -0
  217. package/dist/_internal/shared/listing-types/digital-code/schema.js +1 -0
  218. package/dist/_internal/shared/listing-types/digital-code/seed-factory.d.ts +1 -0
  219. package/dist/_internal/shared/listing-types/digital-code/seed-factory.js +1 -0
  220. package/dist/_internal/shared/listing-types/feature-flags.d.ts +34 -0
  221. package/dist/_internal/shared/listing-types/feature-flags.js +45 -0
  222. package/dist/_internal/shared/listing-types/live/config.d.ts +7 -0
  223. package/dist/_internal/shared/listing-types/live/config.js +8 -0
  224. package/dist/_internal/shared/listing-types/live/ctas.d.ts +1 -0
  225. package/dist/_internal/shared/listing-types/live/ctas.js +3 -0
  226. package/dist/_internal/shared/listing-types/live/og.d.ts +1 -0
  227. package/dist/_internal/shared/listing-types/live/og.js +1 -0
  228. package/dist/_internal/shared/listing-types/live/schema.d.ts +1 -0
  229. package/dist/_internal/shared/listing-types/live/schema.js +1 -0
  230. package/dist/_internal/shared/listing-types/live/seed-factory.d.ts +1 -0
  231. package/dist/_internal/shared/listing-types/live/seed-factory.js +1 -0
  232. package/dist/_internal/shared/media/limits.js +8 -0
  233. package/dist/client.d.ts +6 -1
  234. package/dist/client.js +14 -1
  235. package/dist/configs/next.js +7 -0
  236. package/dist/constants/api-endpoints.d.ts +6 -0
  237. package/dist/constants/api-endpoints.js +4 -0
  238. package/dist/core/hooks/useSyncManager.js +13 -1
  239. package/dist/core/unit-of-work.d.ts +1 -1
  240. package/dist/core/unit-of-work.js +2 -2
  241. package/dist/features/account/actions/address-actions.d.ts +1 -1
  242. package/dist/features/account/actions/address-actions.js +15 -7
  243. package/dist/features/account/schemas/firestore.d.ts +8 -43
  244. package/dist/features/account/schemas/firestore.js +8 -54
  245. package/dist/features/account/schemas/index.d.ts +6 -6
  246. package/dist/features/account/server.d.ts +1 -1
  247. package/dist/features/account/server.js +3 -1
  248. package/dist/features/addresses/index.d.ts +2 -0
  249. package/dist/features/addresses/index.js +2 -0
  250. package/dist/features/addresses/repository/addresses.repository.d.ts +29 -0
  251. package/dist/features/addresses/repository/addresses.repository.js +157 -0
  252. package/dist/features/addresses/schemas/firestore.d.ts +53 -0
  253. package/dist/features/addresses/schemas/firestore.js +68 -0
  254. package/dist/features/{bundles → addresses}/schemas/index.d.ts +0 -1
  255. package/dist/features/{bundles → addresses}/schemas/index.js +0 -1
  256. package/dist/features/addresses/server.d.ts +2 -0
  257. package/dist/features/addresses/server.js +2 -0
  258. package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -3
  259. package/dist/features/admin/components/AdminBidsView.js +4 -3
  260. package/dist/features/admin/components/AdminBlogView.js +8 -3
  261. package/dist/features/admin/components/AdminBundleEditorView.d.ts +9 -0
  262. package/dist/features/admin/components/AdminBundleEditorView.js +209 -0
  263. package/dist/features/admin/components/AdminBundlesView.d.ts +9 -0
  264. package/dist/features/admin/components/AdminBundlesView.js +59 -0
  265. package/dist/features/admin/components/AdminCartsView.js +13 -3
  266. package/dist/features/admin/components/AdminContactView.js +4 -3
  267. package/dist/features/admin/components/AdminCouponsView.js +32 -13
  268. package/dist/features/admin/components/AdminNewsletterView.js +4 -3
  269. package/dist/features/admin/components/AdminOrdersView.js +15 -7
  270. package/dist/features/admin/components/AdminPayoutsView.js +4 -3
  271. package/dist/features/admin/components/AdminProductsView.js +6 -5
  272. package/dist/features/admin/components/AdminReviewsView.js +5 -4
  273. package/dist/features/admin/components/AdminStoresView.js +4 -3
  274. package/dist/features/admin/components/AdminUsersView.js +15 -5
  275. package/dist/features/admin/components/AdminWishlistsView.js +10 -1
  276. package/dist/features/admin/components/DataTable.d.ts +5 -1
  277. package/dist/features/admin/components/DataTable.js +24 -20
  278. package/dist/features/admin/components/index.d.ts +4 -0
  279. package/dist/features/admin/components/index.js +3 -0
  280. package/dist/features/admin/constants/filter-tabs.d.ts +401 -0
  281. package/dist/features/admin/constants/filter-tabs.js +200 -0
  282. package/dist/features/admin/hooks/useAdminListingData.d.ts +1 -0
  283. package/dist/features/admin/hooks/useAdminListingData.js +1 -0
  284. package/dist/features/admin/schemas/firestore.d.ts +15 -0
  285. package/dist/features/admin/schemas/firestore.js +18 -0
  286. package/dist/features/admin/types/product.types.d.ts +2 -2
  287. package/dist/features/auctions/components/AuctionCard.d.ts +4 -1
  288. package/dist/features/auctions/components/AuctionCard.js +5 -3
  289. package/dist/features/auctions/components/AuctionDetailPageView.js +1 -1
  290. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +2 -2
  291. package/dist/features/auctions/components/PlaceBidFormClient.js +12 -2
  292. package/dist/features/auctions/schemas/index.d.ts +2 -2
  293. package/dist/features/auth/index.d.ts +1 -0
  294. package/dist/features/auth/index.js +1 -0
  295. package/dist/features/auth/role-predicates.d.ts +16 -0
  296. package/dist/features/auth/role-predicates.js +15 -0
  297. package/dist/features/blog/components/BlogFeaturedCard.d.ts +4 -1
  298. package/dist/features/blog/components/BlogFeaturedCard.js +5 -3
  299. package/dist/features/cart/actions/cart-actions.d.ts +1 -0
  300. package/dist/features/cart/actions/cart-actions.js +16 -0
  301. package/dist/features/cart/components/CartView.d.ts +19 -1
  302. package/dist/features/cart/components/CartView.js +2 -2
  303. package/dist/features/cart/components/ShippingPicker.d.ts +13 -0
  304. package/dist/features/cart/components/ShippingPicker.js +48 -0
  305. package/dist/features/cart/components/index.d.ts +3 -1
  306. package/dist/features/cart/components/index.js +1 -0
  307. package/dist/features/cart/hooks/useCartCount.js +7 -1
  308. package/dist/features/cart/repository/cart.repository.d.ts +1 -0
  309. package/dist/features/cart/repository/cart.repository.js +35 -0
  310. package/dist/features/cart/schemas/firestore.d.ts +27 -2
  311. package/dist/features/categories/components/BundleAddToCartCta.d.ts +16 -0
  312. package/dist/features/categories/components/BundleAddToCartCta.js +54 -0
  313. package/dist/features/categories/components/BundleBuyNowCta.d.ts +8 -0
  314. package/dist/features/categories/components/BundleBuyNowCta.js +37 -0
  315. package/dist/features/categories/components/BundleDetailView.d.ts +22 -0
  316. package/dist/features/categories/components/BundleDetailView.js +31 -0
  317. package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +18 -0
  318. package/dist/features/categories/components/BundleDynamicRuleEditor.js +60 -0
  319. package/dist/features/categories/components/BundleItemsPicker.d.ts +26 -0
  320. package/dist/features/categories/components/BundleItemsPicker.js +135 -0
  321. package/dist/features/categories/components/BundlesListView.d.ts +13 -0
  322. package/dist/features/categories/components/BundlesListView.js +27 -0
  323. package/dist/features/categories/components/index.d.ts +12 -0
  324. package/dist/features/categories/components/index.js +9 -0
  325. package/dist/features/checkout/actions/checkout-actions.js +10 -3
  326. package/dist/features/events/components/AdminEventEditorView.js +108 -2
  327. package/dist/features/events/components/AdminEventsView.js +16 -4
  328. package/dist/features/events/components/EventCard.d.ts +4 -1
  329. package/dist/features/events/components/EventCard.js +7 -3
  330. package/dist/features/events/components/EventRaffleWinnerView.d.ts +21 -0
  331. package/dist/features/events/components/EventRaffleWinnerView.js +18 -0
  332. package/dist/features/events/components/SpinWheelView.d.ts +27 -0
  333. package/dist/features/events/components/SpinWheelView.js +64 -0
  334. package/dist/features/events/components/index.d.ts +4 -0
  335. package/dist/features/events/components/index.js +2 -0
  336. package/dist/features/events/schemas/firestore.d.ts +27 -1
  337. package/dist/features/events/schemas/firestore.js +7 -0
  338. package/dist/features/events/types/index.d.ts +27 -1
  339. package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +16 -0
  340. package/dist/features/homepage/components/FeaturedBundlesSection.js +24 -0
  341. package/dist/features/homepage/components/MarketplaceHomepageView.js +4 -1
  342. package/dist/features/homepage/components/WhatsAppCommunitySection.js +2 -2
  343. package/dist/features/homepage/lib/section-renderer.d.ts +2 -0
  344. package/dist/features/homepage/lib/section-renderer.js +5 -5
  345. package/dist/features/layout/NavbarLayout.d.ts +3 -1
  346. package/dist/features/layout/NavbarLayout.js +32 -3
  347. package/dist/features/layout/TitleBarLayout.d.ts +6 -3
  348. package/dist/features/layout/TitleBarLayout.js +22 -7
  349. package/dist/features/media/upload/MediaUploadField.d.ts +15 -1
  350. package/dist/features/media/upload/MediaUploadField.js +22 -1
  351. package/dist/features/orders/components/MarketplaceOrderCard.js +4 -2
  352. package/dist/features/orders/components/OrderSiblingPayments.d.ts +8 -0
  353. package/dist/features/orders/components/OrderSiblingPayments.js +16 -0
  354. package/dist/features/orders/components/RefundHistoryTable.d.ts +6 -0
  355. package/dist/features/orders/components/RefundHistoryTable.js +23 -0
  356. package/dist/features/orders/components/RefundRequestView.d.ts +8 -0
  357. package/dist/features/orders/components/RefundRequestView.js +42 -0
  358. package/dist/features/orders/components/index.d.ts +6 -0
  359. package/dist/features/orders/components/index.js +3 -0
  360. package/dist/features/orders/index.d.ts +1 -0
  361. package/dist/features/orders/index.js +2 -0
  362. package/dist/features/orders/repository/orders.repository.d.ts +20 -1
  363. package/dist/features/orders/repository/orders.repository.js +30 -1
  364. package/dist/features/orders/schemas/firestore.d.ts +63 -13
  365. package/dist/features/orders/schemas/firestore.js +5 -5
  366. package/dist/features/orders/schemas/index.d.ts +4 -4
  367. package/dist/features/orders/types/index.d.ts +12 -2
  368. package/dist/features/orders/utils/bundle-grouping.d.ts +48 -0
  369. package/dist/features/orders/utils/bundle-grouping.js +54 -0
  370. package/dist/features/orders/utils/order-splitter.d.ts +9 -10
  371. package/dist/features/orders/utils/order-splitter.js +24 -30
  372. package/dist/features/payments/repository/payout.repository.d.ts +17 -1
  373. package/dist/features/payments/repository/payout.repository.js +47 -0
  374. package/dist/features/payments/schemas/firestore.d.ts +26 -0
  375. package/dist/features/pre-orders/components/PreorderCard.d.ts +4 -1
  376. package/dist/features/pre-orders/components/PreorderCard.js +8 -6
  377. package/dist/features/products/actions/product-actions.d.ts +1 -1
  378. package/dist/features/products/actions/product-actions.js +1 -1
  379. package/dist/features/products/components/CompareOverlay.d.ts +2 -2
  380. package/dist/features/products/components/CompareOverlay.js +4 -4
  381. package/dist/features/products/components/InteractiveProductCard.js +7 -12
  382. package/dist/features/products/components/NonRefundableConsentModal.d.ts +1 -1
  383. package/dist/features/products/components/NonRefundableConsentModal.js +0 -10
  384. package/dist/features/products/components/ProductGrid.js +28 -12
  385. package/dist/features/products/components/ShowGroupSection.js +3 -3
  386. package/dist/features/products/components/SublistingCarouselSection.js +2 -2
  387. package/dist/features/products/components/index.d.ts +0 -4
  388. package/dist/features/products/components/index.js +5 -2
  389. package/dist/features/products/index.d.ts +1 -1
  390. package/dist/features/products/index.js +3 -1
  391. package/dist/features/products/repository/products.repository.js +4 -0
  392. package/dist/features/products/schemas/catalog-product.d.ts +70 -0
  393. package/dist/features/products/schemas/catalog-product.js +50 -0
  394. package/dist/features/products/schemas/firestore.d.ts +110 -2
  395. package/dist/features/products/schemas/firestore.js +30 -0
  396. package/dist/features/products/schemas/index.d.ts +8 -8
  397. package/dist/features/products/types/index.d.ts +1 -1
  398. package/dist/features/products/utils/listing-type.d.ts +9 -0
  399. package/dist/features/products/utils/listing-type.js +4 -0
  400. package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
  401. package/dist/features/promotions/actions/coupon-actions.js +1 -1
  402. package/dist/features/promotions/components/CouponCard.d.ts +28 -10
  403. package/dist/features/promotions/components/CouponCard.js +116 -14
  404. package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
  405. package/dist/features/promotions/repository/coupons.repository.d.ts +1 -1
  406. package/dist/features/reviews/schemas/index.d.ts +2 -2
  407. package/dist/features/search/schemas/index.d.ts +2 -2
  408. package/dist/features/search/types/index.d.ts +2 -2
  409. package/dist/features/seller/components/SellerAuctionsView.js +4 -5
  410. package/dist/features/seller/components/SellerBidsView.js +5 -13
  411. package/dist/features/seller/components/SellerCouponsView.js +31 -67
  412. package/dist/features/seller/components/SellerOffersView.js +4 -5
  413. package/dist/features/seller/components/SellerOrdersView.js +4 -5
  414. package/dist/features/seller/components/SellerPayoutsView.js +4 -5
  415. package/dist/features/seller/components/SellerProductsView.js +4 -8
  416. package/dist/features/seller/schemas/index.d.ts +2 -2
  417. package/dist/features/stores/actions/store-address-actions.d.ts +10 -6
  418. package/dist/features/stores/actions/store-address-actions.js +8 -7
  419. package/dist/features/stores/components/InteractiveStoreCard.js +3 -10
  420. package/dist/features/stores/components/StoreDetailLayoutView.js +20 -5
  421. package/dist/features/stores/schemas/firestore.d.ts +45 -38
  422. package/dist/features/stores/schemas/firestore.js +2 -49
  423. package/dist/features/stores/server.d.ts +0 -1
  424. package/dist/features/stores/server.js +2 -1
  425. package/dist/features/wishlist/hooks/useWishlistCount.d.ts +7 -9
  426. package/dist/features/wishlist/hooks/useWishlistCount.js +67 -86
  427. package/dist/features/wishlist/types/index.d.ts +1 -1
  428. package/dist/index.d.ts +50 -9
  429. package/dist/index.js +57 -11
  430. package/dist/next/routing/route-map.d.ts +6 -0
  431. package/dist/next/routing/route-map.js +4 -0
  432. package/dist/providers/db-firebase/admin-app-lite.js +21 -0
  433. package/dist/providers/db-firebase/admin.d.ts +6 -2
  434. package/dist/providers/db-firebase/admin.js +23 -0
  435. package/dist/repositories/index.d.ts +1 -2
  436. package/dist/repositories/index.js +5 -2
  437. package/dist/security/authorization.d.ts +2 -1
  438. package/dist/security/authorization.js +3 -2
  439. package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
  440. package/dist/seed/bids-seed-data.d.ts +2 -2
  441. package/dist/seed/bids-seed-data.js +77 -2
  442. package/dist/seed/cart-seed-data.d.ts +10 -10
  443. package/dist/seed/cart-seed-data.js +15 -15
  444. package/dist/seed/events-seed-data.js +77 -0
  445. package/dist/seed/manifest.js +16 -8
  446. package/dist/seed/orders-seed-data.js +41 -2
  447. package/dist/seed/payouts-seed-data.js +18 -2
  448. package/dist/seed/stores-seed-data.js +55 -0
  449. package/dist/server-entry.d.ts +1 -0
  450. package/dist/server-entry.js +2 -0
  451. package/dist/server.d.ts +4 -0
  452. package/dist/server.js +8 -0
  453. package/dist/tailwind-utilities.css +1 -1
  454. package/dist/ui/components/FilterChipGroup.d.ts +39 -0
  455. package/dist/ui/components/FilterChipGroup.js +15 -0
  456. package/dist/ui/components/HorizontalScroller.js +32 -7
  457. package/dist/ui/components/HorizontalScroller.style.css +6 -0
  458. package/dist/ui/components/SiteLogo.js +1 -1
  459. package/dist/ui/index.d.ts +2 -0
  460. package/dist/ui/index.js +2 -0
  461. package/dist/utils/id-generators.d.ts +11 -0
  462. package/dist/utils/id-generators.js +16 -0
  463. package/package.json +1 -1
  464. package/dist/_internal/shared/features/bundles/config.d.ts +0 -6
  465. package/dist/_internal/shared/features/bundles/config.js +0 -6
  466. package/dist/_internal/shared/schema-versions.d.ts +0 -76
  467. package/dist/_internal/shared/schema-versions.js +0 -82
  468. package/dist/features/account/migrations.d.ts +0 -2
  469. package/dist/features/account/migrations.js +0 -10
  470. package/dist/features/admin/migrations.d.ts +0 -2
  471. package/dist/features/admin/migrations.js +0 -10
  472. package/dist/features/auctions/migrations.d.ts +0 -2
  473. package/dist/features/auctions/migrations.js +0 -10
  474. package/dist/features/auth/migrations.d.ts +0 -2
  475. package/dist/features/auth/migrations.js +0 -10
  476. package/dist/features/blog/migrations.d.ts +0 -2
  477. package/dist/features/blog/migrations.js +0 -10
  478. package/dist/features/brands/actions/brand-actions.d.ts +0 -2
  479. package/dist/features/brands/actions/brand-actions.js +0 -5
  480. package/dist/features/brands/index.d.ts +0 -3
  481. package/dist/features/brands/index.js +0 -3
  482. package/dist/features/brands/migrations.d.ts +0 -2
  483. package/dist/features/brands/migrations.js +0 -10
  484. package/dist/features/brands/repository/brands.repository.d.ts +0 -13
  485. package/dist/features/brands/repository/brands.repository.js +0 -60
  486. package/dist/features/brands/schemas/index.d.ts +0 -33
  487. package/dist/features/brands/schemas/index.js +0 -15
  488. package/dist/features/brands/server.d.ts +0 -7
  489. package/dist/features/brands/server.js +0 -7
  490. package/dist/features/bundles/components/AdminBundleEditorView.d.ts +0 -8
  491. package/dist/features/bundles/components/AdminBundleEditorView.js +0 -7
  492. package/dist/features/bundles/components/BundleDetailPageView.d.ts +0 -9
  493. package/dist/features/bundles/components/BundleDetailPageView.js +0 -45
  494. package/dist/features/bundles/components/BundleForm.d.ts +0 -12
  495. package/dist/features/bundles/components/BundleForm.js +0 -126
  496. package/dist/features/bundles/components/BundleItemsPicker.d.ts +0 -9
  497. package/dist/features/bundles/components/BundleItemsPicker.js +0 -77
  498. package/dist/features/bundles/components/BundlesByCategoryListing.d.ts +0 -6
  499. package/dist/features/bundles/components/BundlesByCategoryListing.js +0 -50
  500. package/dist/features/bundles/components/BundlesListingView.d.ts +0 -17
  501. package/dist/features/bundles/components/BundlesListingView.js +0 -50
  502. package/dist/features/bundles/components/FeaturedBundlesSection.d.ts +0 -5
  503. package/dist/features/bundles/components/FeaturedBundlesSection.js +0 -55
  504. package/dist/features/bundles/components/SellerBundleCreateView.d.ts +0 -8
  505. package/dist/features/bundles/components/SellerBundleCreateView.js +0 -7
  506. package/dist/features/bundles/components/SellerBundleEditView.d.ts +0 -9
  507. package/dist/features/bundles/components/SellerBundleEditView.js +0 -7
  508. package/dist/features/bundles/components/index.d.ts +0 -18
  509. package/dist/features/bundles/components/index.js +0 -9
  510. package/dist/features/bundles/constants/index.d.ts +0 -32
  511. package/dist/features/bundles/constants/index.js +0 -35
  512. package/dist/features/bundles/index.d.ts +0 -2
  513. package/dist/features/bundles/index.js +0 -2
  514. package/dist/features/bundles/migrations.d.ts +0 -2
  515. package/dist/features/bundles/migrations.js +0 -10
  516. package/dist/features/bundles/repository/bundles.repository.d.ts +0 -36
  517. package/dist/features/bundles/repository/bundles.repository.js +0 -148
  518. package/dist/features/bundles/repository/index.d.ts +0 -1
  519. package/dist/features/bundles/repository/index.js +0 -1
  520. package/dist/features/bundles/schemas/firestore.d.ts +0 -88
  521. package/dist/features/bundles/schemas/firestore.js +0 -29
  522. package/dist/features/bundles/schemas/zod.d.ts +0 -377
  523. package/dist/features/bundles/schemas/zod.js +0 -71
  524. package/dist/features/cart/migrations.d.ts +0 -2
  525. package/dist/features/cart/migrations.js +0 -10
  526. package/dist/features/categories/migrations.d.ts +0 -2
  527. package/dist/features/categories/migrations.js +0 -10
  528. package/dist/features/events/migrations.d.ts +0 -2
  529. package/dist/features/events/migrations.js +0 -10
  530. package/dist/features/faq/migrations.d.ts +0 -2
  531. package/dist/features/faq/migrations.js +0 -10
  532. package/dist/features/grouped/migrations.d.ts +0 -2
  533. package/dist/features/grouped/migrations.js +0 -10
  534. package/dist/features/history/migrations.d.ts +0 -2
  535. package/dist/features/history/migrations.js +0 -10
  536. package/dist/features/messages/migrations.d.ts +0 -2
  537. package/dist/features/messages/migrations.js +0 -10
  538. package/dist/features/orders/migrations.d.ts +0 -2
  539. package/dist/features/orders/migrations.js +0 -10
  540. package/dist/features/payments/migrations.d.ts +0 -2
  541. package/dist/features/payments/migrations.js +0 -10
  542. package/dist/features/products/migrations.d.ts +0 -2
  543. package/dist/features/products/migrations.js +0 -10
  544. package/dist/features/products/repository/sublisting-categories.repository.d.ts +0 -16
  545. package/dist/features/products/repository/sublisting-categories.repository.js +0 -126
  546. package/dist/features/products/schemas/sublisting-categories.d.ts +0 -45
  547. package/dist/features/products/schemas/sublisting-categories.js +0 -16
  548. package/dist/features/promotions/migrations.d.ts +0 -2
  549. package/dist/features/promotions/migrations.js +0 -10
  550. package/dist/features/reviews/migrations.d.ts +0 -2
  551. package/dist/features/reviews/migrations.js +0 -10
  552. package/dist/features/scams/migrations.d.ts +0 -2
  553. package/dist/features/scams/migrations.js +0 -10
  554. package/dist/features/seller/migrations.d.ts +0 -2
  555. package/dist/features/seller/migrations.js +0 -10
  556. package/dist/features/stores/migrations.d.ts +0 -2
  557. package/dist/features/stores/migrations.js +0 -10
  558. package/dist/features/sublisting/migrations.d.ts +0 -2
  559. package/dist/features/sublisting/migrations.js +0 -10
  560. package/dist/features/sublisting/schemas/firestore.d.ts +0 -32
  561. package/dist/features/sublisting/schemas/firestore.js +0 -19
  562. package/dist/features/support/migrations.d.ts +0 -2
  563. package/dist/features/support/migrations.js +0 -10
  564. package/dist/features/wishlist/migrations.d.ts +0 -2
  565. package/dist/features/wishlist/migrations.js +0 -10
  566. package/dist/seed/_bundle-constants.d.ts +0 -14
  567. package/dist/seed/_bundle-constants.js +0 -14
  568. package/dist/seed/anime-figures-seed-data.d.ts +0 -8
  569. package/dist/seed/anime-figures-seed-data.js +0 -1033
  570. package/dist/seed/beyblade-seed-data.d.ts +0 -7
  571. package/dist/seed/beyblade-seed-data.js +0 -1129
  572. package/dist/seed/brands-seed-data.d.ts +0 -7
  573. package/dist/seed/brands-seed-data.js +0 -410
  574. package/dist/seed/bundles-seed-data.d.ts +0 -13
  575. package/dist/seed/bundles-seed-data.js +0 -229
  576. package/dist/seed/cosplay-accessories-seed-data.d.ts +0 -8
  577. package/dist/seed/cosplay-accessories-seed-data.js +0 -647
  578. package/dist/seed/hot-wheels-seed-data.d.ts +0 -7
  579. package/dist/seed/hot-wheels-seed-data.js +0 -1612
  580. package/dist/seed/letitrip-official-seed-data.d.ts +0 -8
  581. package/dist/seed/letitrip-official-seed-data.js +0 -399
  582. package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +0 -8
  583. package/dist/seed/pokemon-carousel-slides-seed-data.js +0 -322
  584. package/dist/seed/pokemon-categories-seed-data.d.ts +0 -24
  585. package/dist/seed/pokemon-categories-seed-data.js +0 -547
  586. package/dist/seed/pokemon-coupons-seed-data.d.ts +0 -6
  587. package/dist/seed/pokemon-coupons-seed-data.js +0 -465
  588. package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +0 -7
  589. package/dist/seed/pokemon-homepage-sections-seed-data.js +0 -241
  590. package/dist/seed/pokemon-products-seed-data.d.ts +0 -9
  591. package/dist/seed/pokemon-products-seed-data.js +0 -1791
  592. package/dist/seed/pokemon-seed-bundle.d.ts +0 -47
  593. package/dist/seed/pokemon-seed-bundle.js +0 -71
  594. package/dist/seed/pokemon-stores-seed-data.d.ts +0 -6
  595. package/dist/seed/pokemon-stores-seed-data.js +0 -179
  596. package/dist/seed/pokemon-users-seed-data.d.ts +0 -6
  597. package/dist/seed/pokemon-users-seed-data.js +0 -521
  598. package/dist/seed/products-seed-data.d.ts +0 -6
  599. package/dist/seed/products-seed-data.js +0 -2530
  600. package/dist/seed/retro-gaming-seed-data.d.ts +0 -8
  601. package/dist/seed/retro-gaming-seed-data.js +0 -801
  602. package/dist/seed/server.d.ts +0 -2
  603. package/dist/seed/server.js +0 -7
  604. package/dist/seed/sublisting-categories-seed-data.d.ts +0 -7
  605. package/dist/seed/sublisting-categories-seed-data.js +0 -159
  606. package/dist/seed/transformers-seed-data.d.ts +0 -7
  607. package/dist/seed/transformers-seed-data.js +0 -530
@@ -0,0 +1,318 @@
1
+ /**
2
+ * Bundle admin Zod schemas — single source for the two `/api/admin/bundles`
3
+ * routes. Bundle pricing + query rule + member list validation shared between
4
+ * POST (create) and PUT (update); the latter just makes each field optional.
5
+ *
6
+ * Kept under `_internal/shared/features/categories/` (not `_internal/server/`)
7
+ * because Zod is isomorphic — same schema runs at form-submit time on the
8
+ * client too if the admin form ever pre-validates.
9
+ */
10
+ import { z } from "zod";
11
+ export declare const bundleQueryRuleSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
12
+ type: z.ZodLiteral<"static">;
13
+ productIds: z.ZodArray<z.ZodString, "many">;
14
+ }, "strip", z.ZodTypeAny, {
15
+ type: "static";
16
+ productIds: string[];
17
+ }, {
18
+ type: "static";
19
+ productIds: string[];
20
+ }>, z.ZodObject<{
21
+ type: z.ZodLiteral<"dynamic">;
22
+ filter: z.ZodObject<{
23
+ categorySlug: z.ZodOptional<z.ZodString>;
24
+ brandSlug: z.ZodOptional<z.ZodString>;
25
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
26
+ listingType: z.ZodOptional<z.ZodEnum<["standard", "pre-order"]>>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ listingType?: "standard" | "pre-order" | undefined;
29
+ brandSlug?: string | undefined;
30
+ tags?: string[] | undefined;
31
+ categorySlug?: string | undefined;
32
+ }, {
33
+ listingType?: "standard" | "pre-order" | undefined;
34
+ brandSlug?: string | undefined;
35
+ tags?: string[] | undefined;
36
+ categorySlug?: string | undefined;
37
+ }>;
38
+ orderBy: z.ZodOptional<z.ZodEnum<["price-asc", "price-desc", "createdAt-desc"]>>;
39
+ limit: z.ZodNumber;
40
+ }, "strip", z.ZodTypeAny, {
41
+ filter: {
42
+ listingType?: "standard" | "pre-order" | undefined;
43
+ brandSlug?: string | undefined;
44
+ tags?: string[] | undefined;
45
+ categorySlug?: string | undefined;
46
+ };
47
+ type: "dynamic";
48
+ limit: number;
49
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
50
+ }, {
51
+ filter: {
52
+ listingType?: "standard" | "pre-order" | undefined;
53
+ brandSlug?: string | undefined;
54
+ tags?: string[] | undefined;
55
+ categorySlug?: string | undefined;
56
+ };
57
+ type: "dynamic";
58
+ limit: number;
59
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
60
+ }>]>;
61
+ export declare const bundleDisplaySchema: z.ZodObject<{
62
+ coverImage: z.ZodOptional<z.ZodString>;
63
+ icon: z.ZodOptional<z.ZodString>;
64
+ color: z.ZodOptional<z.ZodString>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ color?: string | undefined;
67
+ icon?: string | undefined;
68
+ coverImage?: string | undefined;
69
+ }, {
70
+ color?: string | undefined;
71
+ icon?: string | undefined;
72
+ coverImage?: string | undefined;
73
+ }>;
74
+ export declare const bundleCreateSchema: z.ZodObject<{
75
+ name: z.ZodString;
76
+ slug: z.ZodOptional<z.ZodString>;
77
+ description: z.ZodOptional<z.ZodString>;
78
+ bundlePriceInPaise: z.ZodNumber;
79
+ bundleQueryRule: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
80
+ type: z.ZodLiteral<"static">;
81
+ productIds: z.ZodArray<z.ZodString, "many">;
82
+ }, "strip", z.ZodTypeAny, {
83
+ type: "static";
84
+ productIds: string[];
85
+ }, {
86
+ type: "static";
87
+ productIds: string[];
88
+ }>, z.ZodObject<{
89
+ type: z.ZodLiteral<"dynamic">;
90
+ filter: z.ZodObject<{
91
+ categorySlug: z.ZodOptional<z.ZodString>;
92
+ brandSlug: z.ZodOptional<z.ZodString>;
93
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
94
+ listingType: z.ZodOptional<z.ZodEnum<["standard", "pre-order"]>>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ listingType?: "standard" | "pre-order" | undefined;
97
+ brandSlug?: string | undefined;
98
+ tags?: string[] | undefined;
99
+ categorySlug?: string | undefined;
100
+ }, {
101
+ listingType?: "standard" | "pre-order" | undefined;
102
+ brandSlug?: string | undefined;
103
+ tags?: string[] | undefined;
104
+ categorySlug?: string | undefined;
105
+ }>;
106
+ orderBy: z.ZodOptional<z.ZodEnum<["price-asc", "price-desc", "createdAt-desc"]>>;
107
+ limit: z.ZodNumber;
108
+ }, "strip", z.ZodTypeAny, {
109
+ filter: {
110
+ listingType?: "standard" | "pre-order" | undefined;
111
+ brandSlug?: string | undefined;
112
+ tags?: string[] | undefined;
113
+ categorySlug?: string | undefined;
114
+ };
115
+ type: "dynamic";
116
+ limit: number;
117
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
118
+ }, {
119
+ filter: {
120
+ listingType?: "standard" | "pre-order" | undefined;
121
+ brandSlug?: string | undefined;
122
+ tags?: string[] | undefined;
123
+ categorySlug?: string | undefined;
124
+ };
125
+ type: "dynamic";
126
+ limit: number;
127
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
128
+ }>]>;
129
+ bundleProductIds: z.ZodArray<z.ZodString, "many">;
130
+ display: z.ZodOptional<z.ZodObject<{
131
+ coverImage: z.ZodOptional<z.ZodString>;
132
+ icon: z.ZodOptional<z.ZodString>;
133
+ color: z.ZodOptional<z.ZodString>;
134
+ }, "strip", z.ZodTypeAny, {
135
+ color?: string | undefined;
136
+ icon?: string | undefined;
137
+ coverImage?: string | undefined;
138
+ }, {
139
+ color?: string | undefined;
140
+ icon?: string | undefined;
141
+ coverImage?: string | undefined;
142
+ }>>;
143
+ isActive: z.ZodOptional<z.ZodBoolean>;
144
+ }, "strip", z.ZodTypeAny, {
145
+ name: string;
146
+ bundleProductIds: string[];
147
+ bundlePriceInPaise: number;
148
+ bundleQueryRule: {
149
+ type: "static";
150
+ productIds: string[];
151
+ } | {
152
+ filter: {
153
+ listingType?: "standard" | "pre-order" | undefined;
154
+ brandSlug?: string | undefined;
155
+ tags?: string[] | undefined;
156
+ categorySlug?: string | undefined;
157
+ };
158
+ type: "dynamic";
159
+ limit: number;
160
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
161
+ };
162
+ display?: {
163
+ color?: string | undefined;
164
+ icon?: string | undefined;
165
+ coverImage?: string | undefined;
166
+ } | undefined;
167
+ isActive?: boolean | undefined;
168
+ description?: string | undefined;
169
+ slug?: string | undefined;
170
+ }, {
171
+ name: string;
172
+ bundleProductIds: string[];
173
+ bundlePriceInPaise: number;
174
+ bundleQueryRule: {
175
+ type: "static";
176
+ productIds: string[];
177
+ } | {
178
+ filter: {
179
+ listingType?: "standard" | "pre-order" | undefined;
180
+ brandSlug?: string | undefined;
181
+ tags?: string[] | undefined;
182
+ categorySlug?: string | undefined;
183
+ };
184
+ type: "dynamic";
185
+ limit: number;
186
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
187
+ };
188
+ display?: {
189
+ color?: string | undefined;
190
+ icon?: string | undefined;
191
+ coverImage?: string | undefined;
192
+ } | undefined;
193
+ isActive?: boolean | undefined;
194
+ description?: string | undefined;
195
+ slug?: string | undefined;
196
+ }>;
197
+ export declare const bundleUpdateSchema: z.ZodObject<{
198
+ name: z.ZodOptional<z.ZodString>;
199
+ description: z.ZodOptional<z.ZodString>;
200
+ bundlePriceInPaise: z.ZodOptional<z.ZodNumber>;
201
+ bundleQueryRule: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
202
+ type: z.ZodLiteral<"static">;
203
+ productIds: z.ZodArray<z.ZodString, "many">;
204
+ }, "strip", z.ZodTypeAny, {
205
+ type: "static";
206
+ productIds: string[];
207
+ }, {
208
+ type: "static";
209
+ productIds: string[];
210
+ }>, z.ZodObject<{
211
+ type: z.ZodLiteral<"dynamic">;
212
+ filter: z.ZodObject<{
213
+ categorySlug: z.ZodOptional<z.ZodString>;
214
+ brandSlug: z.ZodOptional<z.ZodString>;
215
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
216
+ listingType: z.ZodOptional<z.ZodEnum<["standard", "pre-order"]>>;
217
+ }, "strip", z.ZodTypeAny, {
218
+ listingType?: "standard" | "pre-order" | undefined;
219
+ brandSlug?: string | undefined;
220
+ tags?: string[] | undefined;
221
+ categorySlug?: string | undefined;
222
+ }, {
223
+ listingType?: "standard" | "pre-order" | undefined;
224
+ brandSlug?: string | undefined;
225
+ tags?: string[] | undefined;
226
+ categorySlug?: string | undefined;
227
+ }>;
228
+ orderBy: z.ZodOptional<z.ZodEnum<["price-asc", "price-desc", "createdAt-desc"]>>;
229
+ limit: z.ZodNumber;
230
+ }, "strip", z.ZodTypeAny, {
231
+ filter: {
232
+ listingType?: "standard" | "pre-order" | undefined;
233
+ brandSlug?: string | undefined;
234
+ tags?: string[] | undefined;
235
+ categorySlug?: string | undefined;
236
+ };
237
+ type: "dynamic";
238
+ limit: number;
239
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
240
+ }, {
241
+ filter: {
242
+ listingType?: "standard" | "pre-order" | undefined;
243
+ brandSlug?: string | undefined;
244
+ tags?: string[] | undefined;
245
+ categorySlug?: string | undefined;
246
+ };
247
+ type: "dynamic";
248
+ limit: number;
249
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
250
+ }>]>>;
251
+ bundleProductIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
252
+ display: z.ZodOptional<z.ZodObject<{
253
+ coverImage: z.ZodOptional<z.ZodString>;
254
+ icon: z.ZodOptional<z.ZodString>;
255
+ color: z.ZodOptional<z.ZodString>;
256
+ }, "strip", z.ZodTypeAny, {
257
+ color?: string | undefined;
258
+ icon?: string | undefined;
259
+ coverImage?: string | undefined;
260
+ }, {
261
+ color?: string | undefined;
262
+ icon?: string | undefined;
263
+ coverImage?: string | undefined;
264
+ }>>;
265
+ isActive: z.ZodOptional<z.ZodBoolean>;
266
+ }, "strip", z.ZodTypeAny, {
267
+ name?: string | undefined;
268
+ display?: {
269
+ color?: string | undefined;
270
+ icon?: string | undefined;
271
+ coverImage?: string | undefined;
272
+ } | undefined;
273
+ isActive?: boolean | undefined;
274
+ description?: string | undefined;
275
+ bundleProductIds?: string[] | undefined;
276
+ bundlePriceInPaise?: number | undefined;
277
+ bundleQueryRule?: {
278
+ type: "static";
279
+ productIds: string[];
280
+ } | {
281
+ filter: {
282
+ listingType?: "standard" | "pre-order" | undefined;
283
+ brandSlug?: string | undefined;
284
+ tags?: string[] | undefined;
285
+ categorySlug?: string | undefined;
286
+ };
287
+ type: "dynamic";
288
+ limit: number;
289
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
290
+ } | undefined;
291
+ }, {
292
+ name?: string | undefined;
293
+ display?: {
294
+ color?: string | undefined;
295
+ icon?: string | undefined;
296
+ coverImage?: string | undefined;
297
+ } | undefined;
298
+ isActive?: boolean | undefined;
299
+ description?: string | undefined;
300
+ bundleProductIds?: string[] | undefined;
301
+ bundlePriceInPaise?: number | undefined;
302
+ bundleQueryRule?: {
303
+ type: "static";
304
+ productIds: string[];
305
+ } | {
306
+ filter: {
307
+ listingType?: "standard" | "pre-order" | undefined;
308
+ brandSlug?: string | undefined;
309
+ tags?: string[] | undefined;
310
+ categorySlug?: string | undefined;
311
+ };
312
+ type: "dynamic";
313
+ limit: number;
314
+ orderBy?: "price-asc" | "price-desc" | "createdAt-desc" | undefined;
315
+ } | undefined;
316
+ }>;
317
+ export type BundleCreateBody = z.infer<typeof bundleCreateSchema>;
318
+ export type BundleUpdateBody = z.infer<typeof bundleUpdateSchema>;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Bundle admin Zod schemas — single source for the two `/api/admin/bundles`
3
+ * routes. Bundle pricing + query rule + member list validation shared between
4
+ * POST (create) and PUT (update); the latter just makes each field optional.
5
+ *
6
+ * Kept under `_internal/shared/features/categories/` (not `_internal/server/`)
7
+ * because Zod is isomorphic — same schema runs at form-submit time on the
8
+ * client too if the admin form ever pre-validates.
9
+ */
10
+ import { z } from "zod";
11
+ import { BUNDLE_MAX_ITEMS } from "./bundle-config";
12
+ const productIdsSchema = z.array(z.string().min(1)).min(0).max(BUNDLE_MAX_ITEMS);
13
+ export const bundleQueryRuleSchema = z.discriminatedUnion("type", [
14
+ z.object({
15
+ type: z.literal("static"),
16
+ productIds: productIdsSchema,
17
+ }),
18
+ z.object({
19
+ type: z.literal("dynamic"),
20
+ filter: z.object({
21
+ categorySlug: z.string().optional(),
22
+ brandSlug: z.string().optional(),
23
+ tags: z.array(z.string()).optional(),
24
+ listingType: z.enum(["standard", "pre-order"]).optional(),
25
+ }),
26
+ orderBy: z
27
+ .enum(["price-asc", "price-desc", "createdAt-desc"])
28
+ .optional(),
29
+ limit: z.number().int().min(1).max(BUNDLE_MAX_ITEMS),
30
+ }),
31
+ ]);
32
+ export const bundleDisplaySchema = z.object({
33
+ coverImage: z.string().url().optional(),
34
+ icon: z.string().optional(),
35
+ color: z.string().optional(),
36
+ });
37
+ export const bundleCreateSchema = z.object({
38
+ name: z.string().min(2).max(120),
39
+ slug: z.string().min(2).max(120).optional(),
40
+ description: z.string().max(2000).optional(),
41
+ bundlePriceInPaise: z.number().int().min(100),
42
+ bundleQueryRule: bundleQueryRuleSchema,
43
+ bundleProductIds: productIdsSchema,
44
+ display: bundleDisplaySchema.optional(),
45
+ isActive: z.boolean().optional(),
46
+ });
47
+ export const bundleUpdateSchema = z.object({
48
+ name: z.string().min(2).max(120).optional(),
49
+ description: z.string().max(2000).optional(),
50
+ bundlePriceInPaise: z.number().int().min(100).optional(),
51
+ bundleQueryRule: bundleQueryRuleSchema.optional(),
52
+ bundleProductIds: productIdsSchema.optional(),
53
+ display: bundleDisplaySchema.optional(),
54
+ isActive: z.boolean().optional(),
55
+ });
@@ -0,0 +1,36 @@
1
+ /**
2
+ * REFUND_COPY — all user-visible strings for refund + order-sibling UI.
3
+ *
4
+ * Single source of truth so copy changes don't require hunting across
5
+ * RefundHistoryTable / RefundRequestView / OrderSiblingPayments.
6
+ */
7
+ export declare const REFUND_COPY: {
8
+ readonly history: {
9
+ readonly heading: "Refund history";
10
+ readonly badgeFull: "Full refund";
11
+ readonly badgePartial: "Partial refund";
12
+ readonly labelTxn: "Txn:";
13
+ readonly labelRazorpay: "Razorpay:";
14
+ readonly nonContestableBanner: "Disputes, RMA requests, and \"Item Not Received\" claims are no longer available for this order.";
15
+ };
16
+ readonly request: {
17
+ readonly orderTotalLabel: "Order total:";
18
+ readonly reasonLabel: "Reason for refund";
19
+ readonly reasonPlaceholder: "Describe the issue in at least 10 characters…";
20
+ readonly acknowledgeHeading: "Before submitting, please acknowledge:";
21
+ readonly submitLabel: "Request refund";
22
+ readonly submittingLabel: "Submitting…";
23
+ readonly errorFallback: "Failed to submit refund request";
24
+ readonly nonRefundableMessage: "This order is non-refundable (prize draw or bundle). Refunds cannot be issued.";
25
+ readonly alreadyRefundedMessage: "A refund has already been processed on this order. No further disputes or refund requests can be filed.";
26
+ readonly acknowledgments: readonly ["I understand this refund request, once approved, permanently removes my ability to file any dispute or RMA claim on this order.", "I confirm the item has not been used, worn, or damaged by me, and I am returning it in original condition (if a return is required).", "I understand the refund amount may take 5–7 business days to reflect and that platform fees may be non-recoverable."];
27
+ };
28
+ readonly siblingPayments: {
29
+ readonly heading: (count: number) => string;
30
+ };
31
+ readonly shipping: {
32
+ readonly noOptions: "No shipping options available for this item.";
33
+ readonly freeLabel: "Free";
34
+ readonly etaFormat: (min: number, max: number) => string;
35
+ };
36
+ };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * REFUND_COPY — all user-visible strings for refund + order-sibling UI.
3
+ *
4
+ * Single source of truth so copy changes don't require hunting across
5
+ * RefundHistoryTable / RefundRequestView / OrderSiblingPayments.
6
+ */
7
+ export const REFUND_COPY = {
8
+ history: {
9
+ heading: "Refund history",
10
+ badgeFull: "Full refund",
11
+ badgePartial: "Partial refund",
12
+ labelTxn: "Txn:",
13
+ labelRazorpay: "Razorpay:",
14
+ nonContestableBanner: 'Disputes, RMA requests, and "Item Not Received" claims are no longer available for this order.',
15
+ },
16
+ request: {
17
+ orderTotalLabel: "Order total:",
18
+ reasonLabel: "Reason for refund",
19
+ reasonPlaceholder: "Describe the issue in at least 10 characters…",
20
+ acknowledgeHeading: "Before submitting, please acknowledge:",
21
+ submitLabel: "Request refund",
22
+ submittingLabel: "Submitting…",
23
+ errorFallback: "Failed to submit refund request",
24
+ nonRefundableMessage: "This order is non-refundable (prize draw or bundle). Refunds cannot be issued.",
25
+ alreadyRefundedMessage: "A refund has already been processed on this order. No further disputes or refund requests can be filed.",
26
+ acknowledgments: [
27
+ "I understand this refund request, once approved, permanently removes my ability to file any dispute or RMA claim on this order.",
28
+ "I confirm the item has not been used, worn, or damaged by me, and I am returning it in original condition (if a return is required).",
29
+ "I understand the refund amount may take 5–7 business days to reflect and that platform fees may be non-recoverable.",
30
+ ],
31
+ },
32
+ siblingPayments: {
33
+ heading: (count) => `Other orders from this payment (${count})`,
34
+ },
35
+ shipping: {
36
+ noOptions: "No shipping options available for this item.",
37
+ freeLabel: "Free",
38
+ etaFormat: (min, max) => `${min}–${max} days`,
39
+ },
40
+ };
@@ -25,18 +25,18 @@ export declare const createOrderSchema: z.ZodObject<{
25
25
  }, "strip", z.ZodTypeAny, {
26
26
  country: string;
27
27
  state: string;
28
+ phone: string;
28
29
  city: string;
29
30
  pincode: string;
30
31
  fullName: string;
31
- phone: string;
32
32
  addressLine1: string;
33
33
  addressLine2?: string | undefined;
34
34
  }, {
35
35
  state: string;
36
+ phone: string;
36
37
  city: string;
37
38
  pincode: string;
38
39
  fullName: string;
39
- phone: string;
40
40
  addressLine1: string;
41
41
  country?: string | undefined;
42
42
  addressLine2?: string | undefined;
@@ -53,10 +53,10 @@ export declare const createOrderSchema: z.ZodObject<{
53
53
  shippingAddress: {
54
54
  country: string;
55
55
  state: string;
56
+ phone: string;
56
57
  city: string;
57
58
  pincode: string;
58
59
  fullName: string;
59
- phone: string;
60
60
  addressLine1: string;
61
61
  addressLine2?: string | undefined;
62
62
  };
@@ -70,10 +70,10 @@ export declare const createOrderSchema: z.ZodObject<{
70
70
  }[];
71
71
  shippingAddress: {
72
72
  state: string;
73
+ phone: string;
73
74
  city: string;
74
75
  pincode: string;
75
76
  fullName: string;
76
- phone: string;
77
77
  addressLine1: string;
78
78
  country?: string | undefined;
79
79
  addressLine2?: string | undefined;
@@ -41,7 +41,7 @@ export declare const productInputSchema: z.ZodObject<{
41
41
  features?: string[] | undefined;
42
42
  shippingInfo?: string | undefined;
43
43
  returnPolicy?: string | undefined;
44
- condition?: "new" | "used" | "refurbished" | "fair" | "good" | "like_new" | "poor" | "broken" | undefined;
44
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
45
45
  insurance?: boolean | undefined;
46
46
  insuranceCost?: number | undefined;
47
47
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -65,7 +65,7 @@ export declare const productInputSchema: z.ZodObject<{
65
65
  features?: string[] | undefined;
66
66
  shippingInfo?: string | undefined;
67
67
  returnPolicy?: string | undefined;
68
- condition?: "new" | "used" | "refurbished" | "fair" | "good" | "like_new" | "poor" | "broken" | undefined;
68
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
69
69
  insurance?: boolean | undefined;
70
70
  insuranceCost?: number | undefined;
71
71
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -114,7 +114,7 @@ export declare const productUpdateSchema: z.ZodObject<{
114
114
  features?: string[] | undefined;
115
115
  shippingInfo?: string | undefined;
116
116
  returnPolicy?: string | undefined;
117
- condition?: "new" | "used" | "refurbished" | "fair" | "good" | "like_new" | "poor" | "broken" | undefined;
117
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
118
118
  insurance?: boolean | undefined;
119
119
  insuranceCost?: number | undefined;
120
120
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -138,7 +138,7 @@ export declare const productUpdateSchema: z.ZodObject<{
138
138
  features?: string[] | undefined;
139
139
  shippingInfo?: string | undefined;
140
140
  returnPolicy?: string | undefined;
141
- condition?: "new" | "used" | "refurbished" | "fair" | "good" | "like_new" | "poor" | "broken" | undefined;
141
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
142
142
  insurance?: boolean | undefined;
143
143
  insuranceCost?: number | undefined;
144
144
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -201,7 +201,7 @@ export declare const auctionInputSchema: z.ZodObject<{
201
201
  features?: string[] | undefined;
202
202
  shippingInfo?: string | undefined;
203
203
  returnPolicy?: string | undefined;
204
- condition?: "new" | "used" | "refurbished" | "fair" | "good" | "like_new" | "poor" | "broken" | undefined;
204
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
205
205
  insurance?: boolean | undefined;
206
206
  insuranceCost?: number | undefined;
207
207
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -233,7 +233,7 @@ export declare const auctionInputSchema: z.ZodObject<{
233
233
  features?: string[] | undefined;
234
234
  shippingInfo?: string | undefined;
235
235
  returnPolicy?: string | undefined;
236
- condition?: "new" | "used" | "refurbished" | "fair" | "good" | "like_new" | "poor" | "broken" | undefined;
236
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
237
237
  insurance?: boolean | undefined;
238
238
  insuranceCost?: number | undefined;
239
239
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -299,7 +299,7 @@ export declare const preOrderInputSchema: z.ZodObject<{
299
299
  features?: string[] | undefined;
300
300
  shippingInfo?: string | undefined;
301
301
  returnPolicy?: string | undefined;
302
- condition?: "new" | "used" | "refurbished" | "fair" | "good" | "like_new" | "poor" | "broken" | undefined;
302
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
303
303
  insurance?: boolean | undefined;
304
304
  insuranceCost?: number | undefined;
305
305
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -327,7 +327,7 @@ export declare const preOrderInputSchema: z.ZodObject<{
327
327
  features?: string[] | undefined;
328
328
  shippingInfo?: string | undefined;
329
329
  returnPolicy?: string | undefined;
330
- condition?: "new" | "used" | "refurbished" | "fair" | "good" | "like_new" | "poor" | "broken" | undefined;
330
+ condition?: "new" | "used" | "refurbished" | "broken" | "like_new" | "good" | "fair" | "poor" | undefined;
331
331
  insurance?: boolean | undefined;
332
332
  insuranceCost?: number | undefined;
333
333
  shippingPaidBy?: "seller" | "buyer" | undefined;
@@ -36,6 +36,21 @@ export declare const LISTING_TYPE_REGISTRY: {
36
36
  slugPrefix: string;
37
37
  cartLine: "single-product";
38
38
  };
39
+ readonly classified: {
40
+ listingType: "classified";
41
+ slugPrefix: string;
42
+ cartLine: "blocked";
43
+ };
44
+ readonly "digital-code": {
45
+ listingType: "digital-code";
46
+ slugPrefix: string;
47
+ cartLine: "single-product";
48
+ };
49
+ readonly live: {
50
+ listingType: "live";
51
+ slugPrefix: string;
52
+ cartLine: "single-product";
53
+ };
39
54
  };
40
55
  export declare function pluginFor(type: ListingType): {
41
56
  listingType: "standard";
@@ -53,5 +68,17 @@ export declare function pluginFor(type: ListingType): {
53
68
  listingType: "prize-draw";
54
69
  slugPrefix: string;
55
70
  cartLine: "single-product";
71
+ } | {
72
+ listingType: "classified";
73
+ slugPrefix: string;
74
+ cartLine: "blocked";
75
+ } | {
76
+ listingType: "digital-code";
77
+ slugPrefix: string;
78
+ cartLine: "single-product";
79
+ } | {
80
+ listingType: "live";
81
+ slugPrefix: string;
82
+ cartLine: "single-product";
56
83
  };
57
84
  export { LISTING_TYPE_CAPABILITIES };
@@ -12,13 +12,21 @@ import * as standard from "./standard/config";
12
12
  import * as auction from "./auction/config";
13
13
  import * as preOrder from "./pre-order/config";
14
14
  import * as prizeDraw from "./prize-draw/config";
15
+ // SB-UNI-F 2026-05-13 — Phase 2 union extension.
16
+ import * as classified from "./classified/config";
17
+ import * as digitalCode from "./digital-code/config";
18
+ import * as live from "./live/config";
15
19
  import { LISTING_TYPE_CAPABILITIES } from "./capabilities";
16
20
  // SB-UNI-D — bundle entry removed; bundles are a categoryType, not a listingType.
21
+ // SB-UNI-F 2026-05-13 — classified / digital-code / live added.
17
22
  export const LISTING_TYPE_REGISTRY = {
18
23
  standard: standard.config,
19
24
  auction: auction.config,
20
25
  "pre-order": preOrder.config,
21
26
  "prize-draw": prizeDraw.config,
27
+ classified: classified.config,
28
+ "digital-code": digitalCode.config,
29
+ live: live.config,
22
30
  };
23
31
  export function pluginFor(type) {
24
32
  return LISTING_TYPE_REGISTRY[type];
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Action telemetry sink — SB-UNI-X5 2026-05-13.
3
+ *
4
+ * Pure-JS wrapper that Phase 7 (W-1 CTA registry) extends. Today the sink
5
+ * is a no-op in development and a structured-event emitter in production
6
+ * (writes to the `events` analytics stream OR an external sink configured
7
+ * via env). The Phase 7 `<Button action={...}>` extension calls
8
+ * `actionTracker.emit(action.id, ctx, success)` on click + outcome.
9
+ *
10
+ * Designed so a future telemetry consumer (Sentry, GA, custom) drops in by
11
+ * replacing the `sink` impl via `setActionTrackerSink`. Default sink is
12
+ * environment-aware:
13
+ * - SSR / Node + `NODE_ENV !== "production"` → console.debug
14
+ * - Browser + `NODE_ENV === "production"` → POST to /api/telemetry/actions
15
+ * (no-op when the endpoint isn't deployed yet — silently logs to console)
16
+ *
17
+ * Pattern 7 from the SB-UNI future-expansion plan.
18
+ */
19
+ export interface ActionEvent {
20
+ /** Stable id from the CTA registry (e.g. "product.add-to-cart"). */
21
+ actionId: string;
22
+ /** Contextual payload — resource id, listingType, store, etc. */
23
+ ctx?: Record<string, unknown>;
24
+ /** Result of the action — undefined when not yet known. */
25
+ success?: boolean;
26
+ /** ISO timestamp of the emission. */
27
+ timestamp: string;
28
+ }
29
+ export type ActionTrackerSink = (event: ActionEvent) => void | Promise<void>;
30
+ export declare const actionTracker: {
31
+ /**
32
+ * Emit an action event. Designed to be fire-and-forget — never throws,
33
+ * never blocks the caller. Consumers wrap critical paths in try/catch
34
+ * even though sinks must self-handle errors.
35
+ */
36
+ emit(actionId: string, ctx?: Record<string, unknown>, success?: boolean): void;
37
+ };
38
+ /** Replace the default sink — useful for Sentry/GA/custom telemetry. */
39
+ export declare function setActionTrackerSink(sink: ActionTrackerSink): void;
40
+ /** Restore the default sink. Mostly for tests. */
41
+ export declare function resetActionTrackerSink(): void;