@mohasinac/appkit 4.13.1 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/dist/_internal/client/features/layout/DashboardLayoutClient.js +14 -5
  2. package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +3 -0
  3. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +6 -0
  4. package/dist/_internal/client/features/lottery/LotteryDetailView.d.ts +8 -0
  5. package/dist/_internal/client/features/lottery/LotteryDetailView.js +4 -1
  6. package/dist/_internal/client/features/lottery/LotteryListView.d.ts +7 -0
  7. package/dist/_internal/client/features/lottery/LotteryListView.js +1 -1
  8. package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.js +4 -1
  9. package/dist/_internal/client/features/lottery/slot-collage-items.d.ts +15 -0
  10. package/dist/_internal/client/features/lottery/slot-collage-items.js +13 -0
  11. package/dist/_internal/server/features/auctions/actions.js +8 -2
  12. package/dist/_internal/server/features/bundles/data.d.ts +16 -0
  13. package/dist/_internal/server/features/bundles/data.js +26 -0
  14. package/dist/_internal/server/features/bundles/index.d.ts +1 -1
  15. package/dist/_internal/server/features/bundles/index.js +1 -1
  16. package/dist/_internal/server/features/cart/service.d.ts +3 -3
  17. package/dist/_internal/server/features/checkout/actions.js +25 -0
  18. package/dist/_internal/server/features/checkout/locked-lines.d.ts +38 -0
  19. package/dist/_internal/server/features/checkout/locked-lines.js +171 -0
  20. package/dist/_internal/server/features/checkout/source-context.d.ts +5 -0
  21. package/dist/_internal/server/features/checkout/source-context.js +157 -0
  22. package/dist/_internal/server/features/homepage/index.d.ts +0 -1
  23. package/dist/_internal/server/features/homepage/index.js +7 -1
  24. package/dist/_internal/server/features/lottery/adapters.js +4 -0
  25. package/dist/_internal/server/features/offers/adapters.d.ts +103 -0
  26. package/dist/_internal/server/features/offers/adapters.js +88 -0
  27. package/dist/_internal/server/features/offers/index.d.ts +2 -0
  28. package/dist/_internal/server/features/offers/index.js +1 -0
  29. package/dist/_internal/server/features/orders/adapters.js +24 -0
  30. package/dist/_internal/server/features/products/data.js +15 -37
  31. package/dist/_internal/server/features/products/index.d.ts +1 -1
  32. package/dist/_internal/server/features/products/index.js +1 -1
  33. package/dist/_internal/server/features/products/list-public.d.ts +46 -20
  34. package/dist/_internal/server/features/products/list-public.js +266 -90
  35. package/dist/_internal/server/features/products/listing-tab-counts.d.ts +44 -0
  36. package/dist/_internal/server/features/products/listing-tab-counts.js +97 -0
  37. package/dist/_internal/server/features/site-settings/adapters.d.ts +51 -0
  38. package/dist/_internal/server/features/site-settings/adapters.js +75 -0
  39. package/dist/_internal/server/features/site-settings/index.d.ts +1 -0
  40. package/dist/_internal/server/features/site-settings/index.js +1 -0
  41. package/dist/_internal/server/features/stores/adapters.d.ts +56 -0
  42. package/dist/_internal/server/features/stores/adapters.js +91 -0
  43. package/dist/_internal/server/features/stores/index.d.ts +1 -0
  44. package/dist/_internal/server/features/stores/index.js +1 -0
  45. package/dist/_internal/server/jobs/core/auctionSettlement.js +56 -2
  46. package/dist/_internal/server/jobs/core/offerExpiry.js +55 -19
  47. package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.d.ts +5 -0
  48. package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.js +33 -1
  49. package/dist/_internal/server/jobs/handlers/messages.d.ts +7 -0
  50. package/dist/_internal/server/jobs/handlers/messages.js +10 -0
  51. package/dist/_internal/shared/actions/action-registry.js +17 -1
  52. package/dist/_internal/shared/checkout/lanes.d.ts +25 -0
  53. package/dist/_internal/shared/checkout/lanes.js +26 -0
  54. package/dist/_internal/shared/features/auctions/config.d.ts +27 -0
  55. package/dist/_internal/shared/features/auctions/config.js +27 -0
  56. package/dist/_internal/shared/features/auctions/schema.d.ts +14 -2
  57. package/dist/_internal/shared/features/auctions/schema.js +13 -1
  58. package/dist/_internal/shared/features/blog/schema.d.ts +2 -2
  59. package/dist/_internal/shared/features/cart/schema.d.ts +20 -15
  60. package/dist/_internal/shared/features/cart/schema.js +15 -0
  61. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +32 -32
  62. package/dist/_internal/shared/features/emi/schedule.d.ts +24 -3
  63. package/dist/_internal/shared/features/emi/schedule.js +20 -5
  64. package/dist/_internal/shared/features/events/schema.d.ts +2 -2
  65. package/dist/_internal/shared/features/homepage/section-gate.d.ts +14 -0
  66. package/dist/_internal/shared/features/homepage/section-gate.js +51 -0
  67. package/dist/_internal/shared/features/offers/config.d.ts +30 -0
  68. package/dist/_internal/shared/features/offers/config.js +59 -0
  69. package/dist/_internal/shared/features/orders/schema.d.ts +8 -8
  70. package/dist/_internal/shared/features/products/schema.d.ts +30 -30
  71. package/dist/_internal/shared/features/products/to-product-item.js +6 -0
  72. package/dist/_internal/shared/features/reviews/schema.d.ts +2 -2
  73. package/dist/_internal/shared/features/site-settings/fees.d.ts +60 -0
  74. package/dist/_internal/shared/features/site-settings/fees.js +39 -0
  75. package/dist/_internal/shared/features/site-settings/types.d.ts +40 -0
  76. package/dist/_internal/shared/features/site-settings/types.js +1 -0
  77. package/dist/_internal/shared/history/history.d.ts +88 -0
  78. package/dist/_internal/shared/history/history.js +198 -0
  79. package/dist/_internal/shared/history/index.d.ts +4 -0
  80. package/dist/_internal/shared/history/index.js +2 -0
  81. package/dist/_internal/shared/history/types.d.ts +61 -0
  82. package/dist/_internal/shared/history/types.js +6 -0
  83. package/dist/_internal/shared/listing-types/_registry.d.ts +54 -1
  84. package/dist/_internal/shared/listing-types/_registry.js +67 -0
  85. package/dist/_internal/shared/listing-types/art/config.d.ts +3 -0
  86. package/dist/_internal/shared/listing-types/art/config.js +5 -0
  87. package/dist/_internal/shared/listing-types/auction/config.d.ts +13 -0
  88. package/dist/_internal/shared/listing-types/auction/config.js +21 -0
  89. package/dist/_internal/shared/listing-types/availability.d.ts +79 -0
  90. package/dist/_internal/shared/listing-types/availability.js +104 -0
  91. package/dist/_internal/shared/listing-types/capabilities.d.ts +15 -0
  92. package/dist/_internal/shared/listing-types/capabilities.js +12 -0
  93. package/dist/_internal/shared/listing-types/classified/config.d.ts +3 -0
  94. package/dist/_internal/shared/listing-types/classified/config.js +5 -0
  95. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +11 -0
  96. package/dist/_internal/shared/listing-types/digital-code/config.js +22 -2
  97. package/dist/_internal/shared/listing-types/live/config.d.ts +3 -0
  98. package/dist/_internal/shared/listing-types/live/config.js +5 -0
  99. package/dist/_internal/shared/listing-types/pre-order/config.d.ts +3 -0
  100. package/dist/_internal/shared/listing-types/pre-order/config.js +19 -0
  101. package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +11 -0
  102. package/dist/_internal/shared/listing-types/prize-draw/config.js +15 -0
  103. package/dist/_internal/shared/listing-types/standard/config.d.ts +3 -0
  104. package/dist/_internal/shared/listing-types/standard/config.js +5 -0
  105. package/dist/_internal/shared/listing-types/stickers/config.d.ts +3 -0
  106. package/dist/_internal/shared/listing-types/stickers/config.js +5 -0
  107. package/dist/client.d.ts +20 -7
  108. package/dist/client.js +22 -4
  109. package/dist/constants/api-endpoints.d.ts +6 -0
  110. package/dist/constants/api-endpoints.js +2 -0
  111. package/dist/constants/field-names.d.ts +57 -8
  112. package/dist/constants/field-names.js +101 -8
  113. package/dist/constants/table-keys.d.ts +17 -0
  114. package/dist/constants/table-keys.js +17 -0
  115. package/dist/errors/error-codes.d.ts +13 -1
  116. package/dist/errors/error-codes.js +13 -1
  117. package/dist/errors/error-display-map.js +12 -3
  118. package/dist/errors/messages.d.ts +10 -2
  119. package/dist/errors/messages.js +10 -2
  120. package/dist/features/about/components/AboutView.d.ts +3 -0
  121. package/dist/features/about/components/AboutView.js +3 -2
  122. package/dist/features/about/components/PolicyPageView.d.ts +2 -1
  123. package/dist/features/about/components/PolicyPageView.js +61 -23
  124. package/dist/features/about/components/PublicProfileView.js +5 -0
  125. package/dist/features/about/schemas/firestore.d.ts +3 -0
  126. package/dist/features/account/components/UserBidsView.js +12 -4
  127. package/dist/features/account/components/UserOrdersView.js +7 -0
  128. package/dist/features/account/components/UserReturnsView.d.ts +3 -0
  129. package/dist/features/account/components/UserReturnsView.js +17 -1
  130. package/dist/features/account/components/index.d.ts +0 -2
  131. package/dist/features/account/components/index.js +0 -1
  132. package/dist/features/account/schemas/index.d.ts +2 -2
  133. package/dist/features/account/types/index.d.ts +21 -2
  134. package/dist/features/addresses/schemas/index.d.ts +4 -4
  135. package/dist/features/admin/components/AdminArtView.js +8 -3
  136. package/dist/features/admin/components/AdminAuditLogView.js +1 -0
  137. package/dist/features/admin/components/AdminBidsView.js +15 -2
  138. package/dist/features/admin/components/AdminBlogEditorView.js +65 -33
  139. package/dist/features/admin/components/AdminClassifiedView.js +8 -3
  140. package/dist/features/admin/components/AdminDigitalCodesView.js +8 -3
  141. package/dist/features/admin/components/AdminFeatureEditorView.js +35 -6
  142. package/dist/features/admin/components/AdminFeatureFlagsView.js +1 -0
  143. package/dist/features/admin/components/AdminLiveView.js +8 -3
  144. package/dist/features/admin/components/AdminNavEditorView.js +15 -5
  145. package/dist/features/admin/components/AdminNewsletterView.js +18 -2
  146. package/dist/features/admin/components/AdminOffersView.d.ts +4 -0
  147. package/dist/features/admin/components/AdminOffersView.js +230 -0
  148. package/dist/features/admin/components/AdminOrdersView.js +10 -1
  149. package/dist/features/admin/components/AdminPaymentMethodsView.js +24 -4
  150. package/dist/features/admin/components/AdminPrizeDrawsView.js +5 -0
  151. package/dist/features/admin/components/AdminProductsView.js +16 -29
  152. package/dist/features/admin/components/AdminScammerEditorView.d.ts +2 -1
  153. package/dist/features/admin/components/AdminScammerEditorView.js +3 -13
  154. package/dist/features/admin/components/AdminScammersView.js +3 -8
  155. package/dist/features/admin/components/AdminSectionsView.js +32 -23
  156. package/dist/features/admin/components/AdminSessionsView.js +17 -2
  157. package/dist/features/admin/components/AdminSiteSettingsView.js +31 -13
  158. package/dist/features/admin/components/AdminSiteView.js +6 -2
  159. package/dist/features/admin/components/AdminStickersView.js +8 -3
  160. package/dist/features/admin/components/ViewAuditLogEntryModal.js +1 -0
  161. package/dist/features/admin/components/index.d.ts +2 -0
  162. package/dist/features/admin/components/index.js +1 -0
  163. package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +4 -2
  164. package/dist/features/admin/components/sections/adminSectionsTypes.js +45 -27
  165. package/dist/features/admin/constants/filter-tabs.d.ts +89 -0
  166. package/dist/features/admin/constants/filter-tabs.js +56 -0
  167. package/dist/features/admin/schemas/firestore.d.ts +122 -3
  168. package/dist/features/admin/schemas/firestore.js +1 -0
  169. package/dist/features/admin/schemas/homepage-section-form.d.ts +22 -0
  170. package/dist/features/admin/schemas/homepage-section-form.js +68 -0
  171. package/dist/features/admin/schemas/nav-item-form.d.ts +74 -0
  172. package/dist/features/admin/schemas/nav-item-form.js +72 -0
  173. package/dist/features/auctions/actions/bid-actions.d.ts +20 -5
  174. package/dist/features/auctions/actions/bid-actions.js +93 -20
  175. package/dist/features/auctions/components/AuctionBidsTable.d.ts +10 -1
  176. package/dist/features/auctions/components/AuctionBidsTable.js +22 -4
  177. package/dist/features/auctions/components/AuctionDetailPageView.js +11 -6
  178. package/dist/features/auctions/components/AuctionsListView.js +5 -6
  179. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +7 -0
  180. package/dist/features/auctions/components/MarketplaceAuctionCard.js +19 -2
  181. package/dist/features/auctions/components/PlaceBidFormClient.d.ts +1 -2
  182. package/dist/features/auctions/components/PlaceBidFormClient.js +8 -4
  183. package/dist/features/auctions/components/bid-detail-fields.d.ts +29 -0
  184. package/dist/features/auctions/components/bid-detail-fields.js +103 -0
  185. package/dist/features/auctions/repository/bid.repository.d.ts +13 -0
  186. package/dist/features/auctions/repository/bid.repository.js +23 -0
  187. package/dist/features/auctions/schemas/firestore.d.ts +17 -0
  188. package/dist/features/auctions/schemas/index.d.ts +12 -12
  189. package/dist/features/audit-log/schemas/firestore.d.ts +14 -0
  190. package/dist/features/audit-log/schemas/firestore.js +7 -0
  191. package/dist/features/auth/permissions/constants.d.ts +1 -1
  192. package/dist/features/auth/permissions/constants.js +10 -1
  193. package/dist/features/blog/actions/blog-actions.d.ts +7 -7
  194. package/dist/features/blog/schemas/blog-form.d.ts +80 -0
  195. package/dist/features/blog/schemas/blog-form.js +100 -0
  196. package/dist/features/blog/schemas/index.d.ts +6 -6
  197. package/dist/features/cart/repository/cart.repository.js +1 -0
  198. package/dist/features/cart/schemas/firestore.d.ts +15 -0
  199. package/dist/features/catalogue/schemas/validation.d.ts +4 -4
  200. package/dist/features/categories/components/BrandDetailPageView.js +23 -40
  201. package/dist/features/categories/components/BrandDetailTabs.d.ts +7 -7
  202. package/dist/features/categories/components/BrandDetailTabs.js +8 -12
  203. package/dist/features/categories/components/BundleCollage.js +1 -1
  204. package/dist/features/categories/components/CategoryDetailPageView.js +53 -57
  205. package/dist/features/categories/components/CategoryDetailTabs.d.ts +10 -8
  206. package/dist/features/categories/components/CategoryDetailTabs.js +11 -16
  207. package/dist/features/categories/components/CategoryProductsListing.js +11 -1
  208. package/dist/features/categories/components/ConcernCard.js +7 -1
  209. package/dist/features/categories/schemas/firestore.d.ts +13 -0
  210. package/dist/features/categories/schemas/index.d.ts +26 -26
  211. package/dist/features/classified/components/ClassifiedDetailPageView.d.ts +16 -1
  212. package/dist/features/classified/components/ClassifiedDetailPageView.js +23 -3
  213. package/dist/features/events/components/AdminEventEditorView.js +32 -54
  214. package/dist/features/events/components/AdminEventEntriesView.js +22 -3
  215. package/dist/features/events/components/AdminEventsView.js +15 -11
  216. package/dist/features/events/components/EventFilters.d.ts +9 -1
  217. package/dist/features/events/components/EventFilters.js +45 -21
  218. package/dist/features/events/components/EventsIndexListing.d.ts +6 -1
  219. package/dist/features/events/components/EventsIndexListing.js +2 -2
  220. package/dist/features/events/components/EventsListPageView.js +13 -4
  221. package/dist/features/events/repository/events.repository.d.ts +17 -0
  222. package/dist/features/events/repository/events.repository.js +27 -0
  223. package/dist/features/events/schemas/event-form.d.ts +113 -0
  224. package/dist/features/events/schemas/event-form.js +82 -0
  225. package/dist/features/events/schemas/firestore.d.ts +12 -0
  226. package/dist/features/events/schemas/firestore.js +12 -0
  227. package/dist/features/events/schemas/index.d.ts +50 -50
  228. package/dist/features/events/types/index.d.ts +11 -0
  229. package/dist/features/events/types/index.js +57 -1
  230. package/dist/features/faq/actions/faq-actions.d.ts +12 -12
  231. package/dist/features/faq/schemas/index.d.ts +8 -8
  232. package/dist/features/filters/FilterFacetSection.d.ts +7 -1
  233. package/dist/features/filters/FilterFacetSection.js +11 -3
  234. package/dist/features/grouped/schemas/grouped-listing-form.d.ts +101 -0
  235. package/dist/features/grouped/schemas/grouped-listing-form.js +89 -0
  236. package/dist/features/grouped/schemas/index.d.ts +4 -4
  237. package/dist/features/homepage/actions/homepage-section-actions.d.ts +11 -3
  238. package/dist/features/homepage/actions/homepage-section-actions.js +33 -1
  239. package/dist/features/homepage/components/AnnouncementBar.d.ts +7 -1
  240. package/dist/features/homepage/components/AnnouncementBar.js +3 -3
  241. package/dist/features/homepage/components/MarketplaceHomepageView.js +20 -6
  242. package/dist/features/homepage/hooks/homepage-query.d.ts +16 -0
  243. package/dist/features/homepage/hooks/homepage-query.js +45 -0
  244. package/dist/features/homepage/hooks/useFeaturedAuctions.d.ts +10 -0
  245. package/dist/features/homepage/hooks/useFeaturedAuctions.js +28 -8
  246. package/dist/features/homepage/hooks/useFeaturedPreOrders.js +17 -8
  247. package/dist/features/homepage/hooks/useFeaturedProducts.js +15 -8
  248. package/dist/features/homepage/schemas/index.d.ts +33 -2
  249. package/dist/features/homepage/schemas/index.js +24 -0
  250. package/dist/features/layout/AppLayoutShell.d.ts +11 -1
  251. package/dist/features/layout/AppLayoutShell.js +15 -14
  252. package/dist/features/layout/BackToTop.d.ts +9 -0
  253. package/dist/features/layout/BackToTop.js +10 -1
  254. package/dist/features/layout/BottomActions.js +28 -25
  255. package/dist/features/layout/BottomChrome.d.ts +34 -0
  256. package/dist/features/layout/BottomChrome.js +55 -0
  257. package/dist/features/layout/BottomNavLayout.d.ts +6 -0
  258. package/dist/features/layout/BottomNavLayout.js +7 -1
  259. package/dist/features/layout/BottomNavbar.js +15 -2
  260. package/dist/features/layout/FooterLayout.js +11 -1
  261. package/dist/features/layout/NavbarLayout.js +1 -1
  262. package/dist/features/layout/TitleBarLayout.d.ts +7 -0
  263. package/dist/features/layout/TitleBarLayout.js +28 -5
  264. package/dist/features/layout/index.d.ts +2 -0
  265. package/dist/features/layout/index.js +1 -0
  266. package/dist/features/lottery/types/index.d.ts +3 -0
  267. package/dist/features/media/MediaPickerModal.js +5 -1
  268. package/dist/features/messages/schemas/index.d.ts +2 -2
  269. package/dist/features/orders/components/OrderScopeTabs.d.ts +20 -0
  270. package/dist/features/orders/components/OrderScopeTabs.js +31 -0
  271. package/dist/features/orders/components/OrderStatusTimeline.d.ts +5 -1
  272. package/dist/features/orders/components/OrderStatusTimeline.js +39 -20
  273. package/dist/features/orders/constants/order-scope.d.ts +48 -0
  274. package/dist/features/orders/constants/order-scope.js +111 -0
  275. package/dist/features/orders/repository/orders.repository.d.ts +54 -7
  276. package/dist/features/orders/repository/orders.repository.js +121 -22
  277. package/dist/features/orders/schemas/firestore.d.ts +152 -0
  278. package/dist/features/orders/schemas/firestore.js +30 -0
  279. package/dist/features/orders/schemas/index.d.ts +18 -18
  280. package/dist/features/orders/types/index.d.ts +35 -7
  281. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +14 -9
  282. package/dist/features/pre-orders/components/PreOrdersListView.js +6 -5
  283. package/dist/features/pre-orders/schemas/index.d.ts +1 -1
  284. package/dist/features/products/actions/product-actions.d.ts +14 -0
  285. package/dist/features/products/actions/product-actions.js +49 -11
  286. package/dist/features/products/api/route.d.ts +12 -0
  287. package/dist/features/products/api/route.js +42 -100
  288. package/dist/features/products/components/ArtStickersListView.js +2 -2
  289. package/dist/features/products/components/AuctionsIndexListing.js +13 -11
  290. package/dist/features/products/components/AvailabilityTabs.d.ts +11 -0
  291. package/dist/features/products/components/AvailabilityTabs.js +47 -0
  292. package/dist/features/products/components/GroupSettingsPanel.js +5 -1
  293. package/dist/features/products/components/MakeOfferButton.js +48 -49
  294. package/dist/features/products/components/PrizeDrawCollage.d.ts +20 -4
  295. package/dist/features/products/components/PrizeDrawCollage.js +9 -1
  296. package/dist/features/products/components/PrizeDrawsIndexListing.js +14 -12
  297. package/dist/features/products/components/PrizeDrawsListingView.js +2 -2
  298. package/dist/features/products/components/PrizeDrawsSection.d.ts +7 -1
  299. package/dist/features/products/components/PrizeDrawsSection.js +23 -18
  300. package/dist/features/products/components/ProductDetailPageView.d.ts +4 -1
  301. package/dist/features/products/components/ProductDetailPageView.js +18 -4
  302. package/dist/features/products/components/ProductForm.js +5 -2
  303. package/dist/features/products/components/ProductGrid.js +6 -1
  304. package/dist/features/products/components/ProductsIndexListing.js +22 -32
  305. package/dist/features/products/components/ProductsIndexPageView.js +6 -9
  306. package/dist/features/products/components/index.d.ts +2 -2
  307. package/dist/features/products/components/index.js +1 -1
  308. package/dist/features/products/config/listing-type-listing-config.d.ts +20 -0
  309. package/dist/features/products/config/listing-type-listing-config.js +22 -10
  310. package/dist/features/products/constants/action-defs.d.ts +2 -0
  311. package/dist/features/products/constants/action-defs.js +6 -0
  312. package/dist/features/products/hooks/useAvailabilityScope.d.ts +13 -0
  313. package/dist/features/products/hooks/useAvailabilityScope.js +19 -0
  314. package/dist/features/products/hooks/useProducts.d.ts +5 -0
  315. package/dist/features/products/hooks/useProducts.js +13 -2
  316. package/dist/features/products/repository/products.repository.d.ts +31 -2
  317. package/dist/features/products/repository/products.repository.js +53 -21
  318. package/dist/features/products/schemas/firestore.d.ts +17 -3
  319. package/dist/features/products/schemas/firestore.js +7 -2
  320. package/dist/features/products/schemas/index.d.ts +64 -64
  321. package/dist/features/products/schemas/product-features.validators.d.ts +79 -6
  322. package/dist/features/products/schemas/product-features.validators.js +63 -0
  323. package/dist/features/products/types/index.d.ts +16 -1
  324. package/dist/features/promotions/schemas/index.d.ts +2 -2
  325. package/dist/features/reviews/schemas/index.d.ts +16 -16
  326. package/dist/features/scams/constants/scammer-status-display.d.ts +28 -0
  327. package/dist/features/scams/constants/scammer-status-display.js +79 -0
  328. package/dist/features/search/schemas/index.d.ts +4 -4
  329. package/dist/features/seller/actions/offer-actions.js +57 -4
  330. package/dist/features/seller/components/OfferPhaseTimeline.d.ts +59 -0
  331. package/dist/features/seller/components/OfferPhaseTimeline.js +107 -0
  332. package/dist/features/seller/components/SellerArtView.js +5 -0
  333. package/dist/features/seller/components/SellerAuctionsView.js +13 -15
  334. package/dist/features/seller/components/SellerBidsView.js +11 -4
  335. package/dist/features/seller/components/SellerClassifiedView.js +5 -0
  336. package/dist/features/seller/components/SellerCouponEditorView.js +17 -17
  337. package/dist/features/seller/components/SellerDigitalCodesView.js +5 -0
  338. package/dist/features/seller/components/SellerLiveView.js +5 -0
  339. package/dist/features/seller/components/SellerOffersView.js +2 -1
  340. package/dist/features/seller/components/SellerOrdersView.js +31 -9
  341. package/dist/features/seller/components/SellerPayoutSettingsView.js +56 -31
  342. package/dist/features/seller/components/SellerPreOrdersView.js +5 -0
  343. package/dist/features/seller/components/SellerPrizeDrawsView.js +14 -16
  344. package/dist/features/seller/components/SellerProductShell.js +7 -1
  345. package/dist/features/seller/components/SellerProductsView.js +11 -8
  346. package/dist/features/seller/components/SellerStickersView.js +5 -0
  347. package/dist/features/seller/components/index.d.ts +0 -2
  348. package/dist/features/seller/components/index.js +0 -1
  349. package/dist/features/seller/repository/offer.repository.d.ts +142 -24
  350. package/dist/features/seller/repository/offer.repository.js +165 -26
  351. package/dist/features/seller/schemas/coupon-form.d.ts +72 -0
  352. package/dist/features/seller/schemas/coupon-form.js +116 -0
  353. package/dist/features/seller/schemas/firestore.d.ts +56 -2
  354. package/dist/features/seller/schemas/firestore.js +27 -0
  355. package/dist/features/seller/schemas/index.d.ts +2 -2
  356. package/dist/features/seller/schemas/offer-forms.d.ts +46 -0
  357. package/dist/features/seller/schemas/offer-forms.js +42 -0
  358. package/dist/features/seller/server.d.ts +0 -1
  359. package/dist/features/seller/server.js +0 -1
  360. package/dist/features/shell/SectionForm.d.ts +99 -0
  361. package/dist/features/shell/SectionForm.js +128 -0
  362. package/dist/features/shell/build-sections.d.ts +63 -0
  363. package/dist/features/shell/build-sections.js +207 -0
  364. package/dist/features/shell/entity-form.d.ts +109 -0
  365. package/dist/features/shell/entity-form.js +96 -0
  366. package/dist/features/shell/field-ui-meta.d.ts +115 -0
  367. package/dist/features/shell/field-ui-meta.js +324 -0
  368. package/dist/features/shell/index.d.ts +8 -0
  369. package/dist/features/shell/index.js +4 -0
  370. package/dist/features/status-history/components/StatusTimeline.d.ts +74 -0
  371. package/dist/features/status-history/components/StatusTimeline.js +46 -0
  372. package/dist/features/status-history/index.d.ts +11 -0
  373. package/dist/features/status-history/index.js +10 -0
  374. package/dist/features/store-extensions/components/ReviewDecisionModal.d.ts +27 -0
  375. package/dist/features/store-extensions/components/ReviewDecisionModal.js +82 -0
  376. package/dist/features/store-extensions/index.d.ts +12 -0
  377. package/dist/features/store-extensions/index.js +12 -0
  378. package/dist/features/store-extensions/schemas/admin-notification-form.d.ts +36 -0
  379. package/dist/features/store-extensions/schemas/admin-notification-form.js +114 -0
  380. package/dist/features/store-extensions/schemas/analytics-forms.d.ts +57 -0
  381. package/dist/features/store-extensions/schemas/analytics-forms.js +158 -0
  382. package/dist/features/store-extensions/schemas/custom-role-form.d.ts +85 -0
  383. package/dist/features/store-extensions/schemas/custom-role-form.js +118 -0
  384. package/dist/features/store-extensions/schemas/firestore.d.ts +21 -1
  385. package/dist/features/store-extensions/schemas/firestore.js +60 -0
  386. package/dist/features/store-extensions/schemas/google-config-form.d.ts +53 -0
  387. package/dist/features/store-extensions/schemas/google-config-form.js +105 -0
  388. package/dist/features/store-extensions/schemas/item-request-create-form.d.ts +28 -0
  389. package/dist/features/store-extensions/schemas/item-request-create-form.js +80 -0
  390. package/dist/features/store-extensions/schemas/listing-template-form.d.ts +78 -0
  391. package/dist/features/store-extensions/schemas/listing-template-form.js +87 -0
  392. package/dist/features/store-extensions/schemas/moderation-review-form.d.ts +49 -0
  393. package/dist/features/store-extensions/schemas/moderation-review-form.js +101 -0
  394. package/dist/features/store-extensions/schemas/payout-method-form.d.ts +153 -0
  395. package/dist/features/store-extensions/schemas/payout-method-form.js +155 -0
  396. package/dist/features/store-extensions/schemas/report-create-form.d.ts +25 -0
  397. package/dist/features/store-extensions/schemas/report-create-form.js +79 -0
  398. package/dist/features/store-extensions/schemas/report-review-form.d.ts +47 -0
  399. package/dist/features/store-extensions/schemas/report-review-form.js +111 -0
  400. package/dist/features/store-extensions/schemas/shipping-config-form.d.ts +148 -0
  401. package/dist/features/store-extensions/schemas/shipping-config-form.js +104 -0
  402. package/dist/features/store-extensions/schemas/store-category-form.d.ts +54 -0
  403. package/dist/features/store-extensions/schemas/store-category-form.js +73 -0
  404. package/dist/features/stores/api/[storeSlug]/route.js +2 -25
  405. package/dist/features/stores/components/StoreAuctionsListing.js +15 -1
  406. package/dist/features/stores/components/StoreClassifiedsListing.js +12 -2
  407. package/dist/features/stores/components/StoreDetailLayoutView.js +24 -71
  408. package/dist/features/stores/components/StoreDigitalCodesListing.js +12 -2
  409. package/dist/features/stores/components/StoreLiveItemsListing.js +12 -2
  410. package/dist/features/stores/components/StorePreOrdersListing.js +12 -1
  411. package/dist/features/stores/components/StoreProductsListing.js +11 -1
  412. package/dist/features/stores/repository/store.repository.js +6 -0
  413. package/dist/features/stores/schemas/index.d.ts +6 -6
  414. package/dist/features/support/schemas/index.d.ts +4 -4
  415. package/dist/features/tester/actions/checklist-item-actions.d.ts +4 -4
  416. package/dist/features/tester/seed-data/offers-tester-seed-data.js +119 -3
  417. package/dist/features/tester/seed-data/products-tester-seed-data.js +131 -1
  418. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +431 -1
  419. package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +1 -1
  420. package/dist/index.d.ts +25 -12
  421. package/dist/index.js +26 -11
  422. package/dist/next/routing/route-map.d.ts +23 -3
  423. package/dist/next/routing/route-map.js +14 -2
  424. package/dist/providers/db-firebase/base.repository.d.ts +30 -0
  425. package/dist/providers/db-firebase/base.repository.js +50 -1
  426. package/dist/providers/db-firebase/index.d.ts +1 -1
  427. package/dist/providers/db-firebase/index.js +1 -1
  428. package/dist/providers/db-firebase/sieve.d.ts +25 -0
  429. package/dist/providers/db-firebase/sieve.js +52 -18
  430. package/dist/react/hooks/useUrlTable.js +10 -1
  431. package/dist/schemas/firestore-value.d.ts +8 -0
  432. package/dist/schemas/firestore-value.js +44 -0
  433. package/dist/schemas/index.d.ts +1 -1
  434. package/dist/schemas/index.js +1 -1
  435. package/dist/schemas/registry.d.ts +702 -69
  436. package/dist/schemas/registry.js +64 -1
  437. package/dist/seed/_helpers/category-forest.d.ts +2 -0
  438. package/dist/seed/_helpers/category-forest.js +309 -0
  439. package/dist/seed/_helpers/category-tree.d.ts +27 -0
  440. package/dist/seed/_helpers/category-tree.js +103 -0
  441. package/dist/seed/bids-seed-data.js +30 -0
  442. package/dist/seed/catalogue-seed-data.js +12 -12
  443. package/dist/seed/categories-seed-data.js +177 -162
  444. package/dist/seed/events-seed-data.js +61 -10
  445. package/dist/seed/homepage-sections-seed-data.js +5 -1
  446. package/dist/seed/offers-seed-data.js +244 -34
  447. package/dist/seed/orders-seed-data.js +336 -1
  448. package/dist/seed/products-art-seed-data.js +50 -12
  449. package/dist/seed/products-auctions-seed-data.js +138 -18
  450. package/dist/seed/products-classifieds-seed-data.js +80 -16
  451. package/dist/seed/products-digital-codes-seed-data.js +66 -18
  452. package/dist/seed/products-live-items-seed-data.js +64 -13
  453. package/dist/seed/products-preorders-seed-data.d.ts +0 -1
  454. package/dist/seed/products-preorders-seed-data.js +52 -13
  455. package/dist/seed/products-prize-draws-seed-data.js +63 -14
  456. package/dist/seed/products-standard-seed-data.js +99 -26
  457. package/dist/seed/products-stickers-seed-data.js +47 -12
  458. package/dist/seed/reviews-seed-data.js +6 -1
  459. package/dist/seed/site-settings-seed-data.d.ts +1 -38
  460. package/dist/seed/site-settings-seed-data.js +38 -76
  461. package/dist/seed/stores-seed-data.js +71 -1
  462. package/dist/seed/users-seed-data.js +15 -5
  463. package/dist/server-entry.d.ts +1 -2
  464. package/dist/server-entry.js +4 -3
  465. package/dist/server.d.ts +6 -3
  466. package/dist/server.js +13 -4
  467. package/dist/styles.css +78 -12
  468. package/dist/tailwind-utilities.css +1 -1
  469. package/dist/ui/components/Button.style.css +19 -4
  470. package/dist/ui/components/CollapsibleSection.d.ts +17 -1
  471. package/dist/ui/components/CollapsibleSection.js +6 -2
  472. package/dist/ui/components/FilterChipGroup.d.ts +25 -1
  473. package/dist/ui/components/FilterChipGroup.js +21 -4
  474. package/dist/ui/components/HandMode.style.css +47 -0
  475. package/dist/ui/components/Layout.d.ts +9 -2
  476. package/dist/ui/components/Layout.js +1 -1
  477. package/dist/ui/components/ListingLayout.js +8 -8
  478. package/dist/ui/components/ListingLayout.style.css +8 -7
  479. package/dist/ui/components/RecordDetailModal.d.ts +10 -1
  480. package/dist/ui/components/RecordDetailModal.js +2 -2
  481. package/dist/ui/components/StickyToolbar.d.ts +3 -1
  482. package/dist/ui/components/StickyToolbar.js +62 -20
  483. package/dist/ui/components/bottom-chrome-slot.d.ts +21 -0
  484. package/dist/ui/components/bottom-chrome-slot.js +29 -0
  485. package/dist/ui/components/index.style.css +3 -0
  486. package/dist/ui/forms/FormShell.d.ts +43 -13
  487. package/dist/ui/forms/FormShell.js +22 -11
  488. package/dist/ui/forms/index.d.ts +1 -1
  489. package/dist/ui/index.d.ts +1 -1
  490. package/package.json +2 -1
  491. package/scripts/node-esm-loader.mjs +65 -0
  492. package/scripts/seed-cli-loader.mjs +6 -49
  493. package/scripts/seed-cli.mjs +1 -1
package/dist/index.d.ts CHANGED
@@ -45,7 +45,7 @@ export { DropdownTrigger } from "./ui/index";
45
45
  export { FormFieldSpan } from "./ui/index";
46
46
  export { FormGrid } from "./ui/index";
47
47
  export { FormGroup } from "./ui/index";
48
- export type { FormShellStep, FormShellContextValue } from "./ui/index";
48
+ export type { FormShellStep, FormShellNav, FormShellContextValue } from "./ui/index";
49
49
  export type { FieldInputProps } from "./ui/index";
50
50
  export { FieldInput } from "./ui/index";
51
51
  export type { FieldSelectProps } from "./ui/index";
@@ -493,7 +493,7 @@ export type { ResolvedUser } from "./security/index";
493
493
  export type { RoleDefinition } from "./security/index";
494
494
  export type { UserRole } from "./security/index";
495
495
  export { AddressesRepository } from "./repositories/index";
496
- export { type PayoutMethodType, type PayoutMethodDocument, PAYOUT_METHODS_COLLECTION, PAYOUT_METHOD_INDEXED_FIELDS, DEFAULT_PAYOUT_METHOD_DATA, type ShippingMethod as ShippingConfigMethod, type ShippingConfigDocument, SHIPPING_CONFIGS_COLLECTION, SHIPPING_CONFIG_INDEXED_FIELDS, DEFAULT_SHIPPING_CONFIG_DATA, type AnalyticsScope, type AnalyticsCardType, type AnalyticsCardDocument, ANALYTICS_CARDS_COLLECTION, ANALYTICS_CARD_INDEXED_FIELDS, DEFAULT_ANALYTICS_CARD_DATA, type AlertOperator, type AnalyticsAlertDocument, ANALYTICS_ALERTS_COLLECTION, ANALYTICS_ALERT_INDEXED_FIELDS, DEFAULT_ANALYTICS_ALERT_DATA, type StoreCategoryDocument, STORE_CATEGORIES_COLLECTION, STORE_CATEGORY_INDEXED_FIELDS, DEFAULT_STORE_CATEGORY_DATA, type ListingTemplateType, type ListingTemplateDocument, LISTING_TEMPLATES_COLLECTION, LISTING_TEMPLATE_INDEXED_FIELDS, DEFAULT_LISTING_TEMPLATE_DATA, type ModerationStatus, type ModerationMediaType, type ModerationQueueDocument, MODERATION_QUEUE_COLLECTION, MODERATION_QUEUE_INDEXED_FIELDS, DEFAULT_MODERATION_QUEUE_DATA, type ReportEntityType, type ReportStatus, type ReportReason, type ReportDocument, REPORTS_COLLECTION, REPORT_INDEXED_FIELDS, DEFAULT_REPORT_DATA, type AdminNotificationCategory, type AdminNotificationDocument, ADMIN_NOTIFICATIONS_COLLECTION, ADMIN_NOTIFICATION_INDEXED_FIELDS, DEFAULT_ADMIN_NOTIFICATION_DATA, type ItemRequestStatus, type ItemRequestReply, type ItemRequestDocument, ITEM_REQUESTS_COLLECTION, ITEM_REQUEST_INDEXED_FIELDS, DEFAULT_ITEM_REQUEST_DATA, type StoreGoogleConfigDocument, STORE_GOOGLE_CONFIG_COLLECTION, STORE_GOOGLE_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_GOOGLE_CONFIG_DATA, type StoreWhatsAppConfigDocument, STORE_WHATSAPP_CONFIG_COLLECTION, STORE_WHATSAPP_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_WHATSAPP_CONFIG_DATA, type CustomRoleDocument, CUSTOM_ROLES_COLLECTION, CUSTOM_ROLE_INDEXED_FIELDS, DEFAULT_CUSTOM_ROLE_DATA, type RoleOverrideDocument, ROLE_OVERRIDES_COLLECTION, ROLE_OVERRIDE_INDEXED_FIELDS, DEFAULT_ROLE_OVERRIDE_DATA, PayoutMethodsRepository, ShippingConfigsRepository, AnalyticsCardsRepository, AnalyticsAlertsRepository, StoreCategoriesRepository, ListingTemplatesRepository, ModerationQueueRepository, ReportsRepository, AdminNotificationsRepository, ItemRequestsRepository, StoreGoogleConfigRepository, StoreWhatsAppConfigRepository, CustomRolesRepository, RoleOverridesRepository, payoutMethodsRepository, shippingConfigsRepository, analyticsCardsRepository, analyticsAlertsRepository, storeCategoriesRepository, listingTemplatesRepository, moderationQueueRepository, reportsRepository, adminNotificationsRepository, itemRequestsRepository, storeGoogleConfigRepository, storeWhatsAppConfigRepository, customRolesRepository, roleOverridesRepository, } from "./features/store-extensions/index";
496
+ export { type PayoutMethodType, type PayoutMethodDocument, PAYOUT_METHODS_COLLECTION, PAYOUT_METHOD_INDEXED_FIELDS, DEFAULT_PAYOUT_METHOD_DATA, type ShippingMethod as ShippingConfigMethod, type ShippingConfigDocument, SHIPPING_CONFIGS_COLLECTION, SHIPPING_CONFIG_INDEXED_FIELDS, DEFAULT_SHIPPING_CONFIG_DATA, type AnalyticsScope, type AnalyticsCardType, type AnalyticsCardDocument, ANALYTICS_CARDS_COLLECTION, ANALYTICS_CARD_INDEXED_FIELDS, DEFAULT_ANALYTICS_CARD_DATA, type AlertOperator, type AnalyticsAlertDocument, ANALYTICS_ALERTS_COLLECTION, ANALYTICS_ALERT_INDEXED_FIELDS, DEFAULT_ANALYTICS_ALERT_DATA, type StoreCategoryDocument, storeCategoryFormSchema, storeCategoryCreateSchema, type StoreCategoryFormValues, listingTemplateFormSchema, listingTemplateCreateSchema, listingTemplateUpdateSchema, type ListingTemplateFormValues, LISTING_TEMPLATE_TYPES, payoutMethodFormSchema, payoutMethodCreateSchema, payoutMethodUpdateSchema, type PayoutMethodFormValues, shippingConfigFormSchema, shippingConfigCreateSchema, shippingConfigUpdateSchema, type ShippingConfigFormValues, customRoleFormSchema, customRoleCreateSchema, customRoleUpdateSchema, isKnownPermission, type CustomRoleFormValues, moderationReviewFormSchema, moderationReviewUpdateSchema, MODERATION_REVIEWER_STATUSES, type ModerationReviewFormValues, reportReviewFormSchema, reportReviewUpdateSchema, REPORT_REVIEWER_STATUSES, REPORT_TERMINAL_STATUSES, type ReportReviewFormValues, reportCreateSchema, type ReportCreateValues, itemRequestCreateSchema, type ItemRequestCreateValues, REPORT_ENTITY_TYPES, REPORT_REASONS, analyticsAlertCreateSchema, type AnalyticsAlertCreateValues, analyticsCardCreateSchema, type AnalyticsCardCreateValues, ANALYTICS_ALERT_OPERATORS, ANALYTICS_CARD_TYPES, storeGoogleConfigUpdateSchema, type StoreGoogleConfigFormValues, toSellerGoogleConfig, type SellerGoogleConfig, adminNotificationCreateSchema, type AdminNotificationCreateValues, ADMIN_NOTIFICATION_CATEGORIES, ADMIN_NOTIFICATION_SEVERITIES, STORE_CATEGORIES_COLLECTION, STORE_CATEGORY_INDEXED_FIELDS, DEFAULT_STORE_CATEGORY_DATA, type ListingTemplateType, type ListingTemplateDocument, LISTING_TEMPLATES_COLLECTION, LISTING_TEMPLATE_INDEXED_FIELDS, DEFAULT_LISTING_TEMPLATE_DATA, type ModerationStatus, type ModerationMediaType, type ModerationQueueDocument, MODERATION_QUEUE_COLLECTION, MODERATION_QUEUE_INDEXED_FIELDS, DEFAULT_MODERATION_QUEUE_DATA, type ReportEntityType, type ReportStatus, type ReportReason, type ReportDocument, REPORTS_COLLECTION, REPORT_INDEXED_FIELDS, DEFAULT_REPORT_DATA, type AdminNotificationCategory, type AdminNotificationDocument, ADMIN_NOTIFICATIONS_COLLECTION, ADMIN_NOTIFICATION_INDEXED_FIELDS, DEFAULT_ADMIN_NOTIFICATION_DATA, type ItemRequestStatus, type ItemRequestReply, type ItemRequestDocument, ITEM_REQUESTS_COLLECTION, ITEM_REQUEST_INDEXED_FIELDS, DEFAULT_ITEM_REQUEST_DATA, type StoreGoogleConfigDocument, STORE_GOOGLE_CONFIG_COLLECTION, STORE_GOOGLE_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_GOOGLE_CONFIG_DATA, type StoreWhatsAppConfigDocument, STORE_WHATSAPP_CONFIG_COLLECTION, STORE_WHATSAPP_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_WHATSAPP_CONFIG_DATA, type CustomRoleDocument, CUSTOM_ROLES_COLLECTION, CUSTOM_ROLE_INDEXED_FIELDS, DEFAULT_CUSTOM_ROLE_DATA, type RoleOverrideDocument, ROLE_OVERRIDES_COLLECTION, ROLE_OVERRIDE_INDEXED_FIELDS, DEFAULT_ROLE_OVERRIDE_DATA, PayoutMethodsRepository, ShippingConfigsRepository, AnalyticsCardsRepository, AnalyticsAlertsRepository, StoreCategoriesRepository, ListingTemplatesRepository, ModerationQueueRepository, ReportsRepository, AdminNotificationsRepository, ItemRequestsRepository, StoreGoogleConfigRepository, StoreWhatsAppConfigRepository, CustomRolesRepository, RoleOverridesRepository, payoutMethodsRepository, shippingConfigsRepository, analyticsCardsRepository, analyticsAlertsRepository, storeCategoriesRepository, listingTemplatesRepository, moderationQueueRepository, reportsRepository, adminNotificationsRepository, itemRequestsRepository, storeGoogleConfigRepository, storeWhatsAppConfigRepository, customRolesRepository, roleOverridesRepository, } from "./features/store-extensions/index";
497
497
  export { BaseRepository } from "./repositories/index";
498
498
  export { BlogRepository } from "./repositories/index";
499
499
  export { CartRepository } from "./repositories/index";
@@ -966,7 +966,6 @@ export { ProfileView } from "./features/account/index";
966
966
  export { UserAccountHubView } from "./features/account/index";
967
967
  export { UserAddressesView } from "./features/account/index";
968
968
  export { UserNotificationsView } from "./features/account/index";
969
- export { UserOffersView } from "./features/account/index";
970
969
  export { UserOffersPanel } from "./features/account/index";
971
970
  export type { UserOffersPanelProps } from "./features/account/index";
972
971
  export { UserOrderTrackView } from "./features/account/index";
@@ -1052,8 +1051,6 @@ export type { UserNotification } from "./features/account/index";
1052
1051
  export type { UserNotificationsViewLabels } from "./features/account/index";
1053
1052
  export type { UserNotificationsViewProps } from "./features/account/index";
1054
1053
  export type { UserOffer } from "./features/account/index";
1055
- export type { UserOffersViewLabels } from "./features/account/index";
1056
- export type { UserOffersViewProps } from "./features/account/index";
1057
1054
  export type { UserOrder } from "./features/account/index";
1058
1055
  export type { UserOrderTrackViewLabels } from "./features/account/index";
1059
1056
  export type { UserOrderTrackViewProps } from "./features/account/index";
@@ -1075,6 +1072,7 @@ export { AdminAnalyticsView } from "./features/admin/index";
1075
1072
  export { AdminAdsView } from "./features/admin/index";
1076
1073
  export { AdminAdEditorView } from "./features/admin/index";
1077
1074
  export { AdminBidsView } from "./features/admin/index";
1075
+ export { AdminOffersView } from "./features/admin/index";
1078
1076
  export { AdminBlogView } from "./features/admin/index";
1079
1077
  export { AdminBlogEditorView } from "./features/admin/index";
1080
1078
  export type { AdminBlogEditorViewProps } from "./features/admin/index";
@@ -1236,6 +1234,7 @@ export type { AdminAnalyticsViewProps } from "./features/admin/index";
1236
1234
  export type { AdminAdsViewProps } from "./features/admin/index";
1237
1235
  export type { AdminAdEditorViewProps } from "./features/admin/index";
1238
1236
  export type { AdminBidsViewProps } from "./features/admin/index";
1237
+ export type { AdminOffersViewProps } from "./features/admin/index";
1239
1238
  export type { AdminBlogViewProps } from "./features/admin/index";
1240
1239
  export type { AdminCarouselViewProps } from "./features/admin/index";
1241
1240
  export type { AdminCategoriesViewProps } from "./features/admin/index";
@@ -2241,6 +2240,10 @@ export type { OrderSiblingPaymentsProps } from "./features/orders/index";
2241
2240
  export { OrderPaymentSummary } from "./features/orders/index";
2242
2241
  export type { OrderPaymentSummaryProps } from "./features/orders/index";
2243
2242
  export { OrderStatusTimeline } from "./features/orders/index";
2243
+ export { StatusTimeline, stepsFromEntries } from "./features/status-history/index";
2244
+ export type { StatusTimelineProps, TimelineEntry, TimelineStep } from "./features/status-history/index";
2245
+ export { OfferPhaseTimeline } from "./features/seller/components/OfferPhaseTimeline";
2246
+ export type { OfferPhaseTimelineProps, OfferChainRound } from "./features/seller/components/OfferPhaseTimeline";
2244
2247
  export type { OrderStatusTimelineProps } from "./features/orders/index";
2245
2248
  export type { OrderPaymentRecord, OrderPaymentRecordMethod, OrderPaymentVerificationMethod, } from "./features/orders/index";
2246
2249
  export { RefundHistoryTable } from "./features/orders/index";
@@ -2280,6 +2283,8 @@ export type { OrderDocument } from "./features/orders/index";
2280
2283
  export type { OrderRefundEvent, RefundType } from "./features/orders/schemas/firestore";
2281
2284
  export { MANUAL_PAYMENT_METHODS, isManualPaymentMethod, PAYMENT_REVIEW_QUEUE_MODES, isPaymentReviewQueueMode, PAYMENT_REVIEW_QUEUE_SCAN_LIMIT, } from "./features/orders/constants/payment-window";
2282
2285
  export type { PaymentReviewQueueMode } from "./features/orders/constants/payment-window";
2286
+ export { ORDER_SCOPE_VALUES, ORDER_SCOPE_TABS, isOrderScope, statusesForScope, mergeOrderScopeFilter, } from "./features/orders/constants/order-scope";
2287
+ export type { OrderScope } from "./features/orders/constants/order-scope";
2283
2288
  export type { OrderDocumentItem } from "./features/orders/index";
2284
2289
  export type { OrderFilterVariant } from "./features/orders/index";
2285
2290
  export type { OrderFiltersProps } from "./features/orders/index";
@@ -2392,7 +2397,6 @@ export type { BundleBuyNowCtaProps } from "./features/categories/components/Bund
2392
2397
  export { BidHistory } from "./features/products/index";
2393
2398
  export { DEFAULT_PRODUCT_DATA } from "./features/products/index";
2394
2399
  export { InteractiveProductCard } from "./features/products/index";
2395
- export { MakeOfferForm } from "./features/products/index";
2396
2400
  export { ACTION_ID, ACTION_META, DETAIL_ACTIONS, MOBILE_PRIMARY_ACTIONS, LISTING_BULK_ACTIONS } from "./features/products/index";
2397
2401
  export type { ActionId, ActionMeta, ActionVariant } from "./features/products/index";
2398
2402
  export { ROW_ACTION_ID, ROW_ACTION_META, ADMIN_ROW_ACTIONS, SELLER_ROW_ACTIONS, USER_ROW_ACTIONS, ADMIN_BULK_ACTIONS, SELLER_BULK_ACTIONS } from "./features/products/index";
@@ -2464,7 +2468,10 @@ export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLa
2464
2468
  export { buildBulkAction } from "./_internal/shared/actions/bulk-helpers";
2465
2469
  export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, computeWhatsAppNotifyFee, computeGiftWrapFee, computeShipmentProtectionFee, calculateGst, } from "./_internal/shared/fees/calculator";
2466
2470
  export type { FeeCommissionRates, CheckoutFees, PayoutDeduction, CodHandlingFeeRates, WhatsAppNotifyFeeRates, GiftWrapFeeRates, ShipmentProtectionFeeRates, GstBreakdown, } from "./_internal/shared/fees/calculator";
2467
- export { checkEmiEligibility, computeEmiSchedule } from "./_internal/shared/features/emi/schedule";
2471
+ export { checkEmiEligibility, computeEmiSchedule, computeBuyerEmiQuote } from "./_internal/shared/features/emi/schedule";
2472
+ export type { BuyerEmiQuote } from "./_internal/shared/features/emi/schedule";
2473
+ export { toBuyerFacingFees, toBuyerEmiSettings, } from "./_internal/shared/features/site-settings/fees";
2474
+ export type { BuyerFacingFees, BuyerEmiSettings, } from "./_internal/shared/features/site-settings/fees";
2468
2475
  export type { EmiSettings, EmiIneligibleReason, EmiEligibility, EmiInstallmentPlan, EmiScheduleResult, } from "./_internal/shared/features/emi/schedule";
2469
2476
  export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, } from "./features/auth/role-predicates";
2470
2477
  export { sanitizeProductForPublic, sanitizeProductsForPublic } from "./features/products/index";
@@ -2484,7 +2491,6 @@ export type { BidHistoryEntry } from "./features/products/index";
2484
2491
  export type { BidHistoryProps } from "./features/products/index";
2485
2492
  export type { InteractiveProductCardProps } from "./features/products/index";
2486
2493
  export type { ListingType } from "./features/products/index";
2487
- export type { MakeOfferFormProps } from "./features/products/index";
2488
2494
  export type { PlaceBidFormProps } from "./features/products/index";
2489
2495
  export type { PreOrderDetailViewProps } from "./features/products/index";
2490
2496
  export type { ProductAdminUpdateInput } from "./features/products/index";
@@ -2721,8 +2727,6 @@ export { SellerGroupedListingsView as StoreGroupedListingsView } from "./feature
2721
2727
  export { SellerAnalyticsAlertsView } from "./features/seller/index";
2722
2728
  export type { SellerAnalyticsAlertsViewProps } from "./features/seller/index";
2723
2729
  export { SellerAnalyticsAlertsView as StoreAnalyticsAlertsView } from "./features/seller/index";
2724
- export { SellerOffersPanel } from "./features/seller/index";
2725
- export type { SellerOffersPanelProps, SellerOfferAction } from "./features/seller/index";
2726
2730
  export { SellerOrdersView } from "./features/seller/index";
2727
2731
  export { SellerOrderDetailPanel } from "./features/seller/index";
2728
2732
  export { SellerPayoutHistoryTable } from "./features/seller/index";
@@ -2858,7 +2862,6 @@ export { requestPayout } from "./features/seller/server";
2858
2862
  export { respondToOffer } from "./features/seller/server";
2859
2863
  export { sellerCouponsGET } from "./features/seller/server";
2860
2864
  export { sellerDeleteProduct } from "./features/seller/server";
2861
- export { sellerOffersGET } from "./features/seller/server";
2862
2865
  export { sellerProductsGET } from "./features/seller/server";
2863
2866
  export { sellerStoreGET } from "./features/seller/server";
2864
2867
  export { sellerUpdateProduct } from "./features/seller/server";
@@ -3031,6 +3034,10 @@ export { getWishlistForUser } from "./features/wishlist/server";
3031
3034
  export { removeFromWishlist } from "./features/wishlist/server";
3032
3035
  export type { EnrichedWishlistItem } from "./features/wishlist/server";
3033
3036
  export { BANNER_HEIGHTS } from "./features/homepage/schemas/index";
3037
+ export { homepageSectionTypeSchema } from "./features/homepage/schemas/index";
3038
+ export { homepageSectionCreateSchema } from "./features/homepage/schemas/index";
3039
+ export { resolveNextSectionOrder } from "./features/homepage/actions/homepage-section-actions";
3040
+ export type { HomepageSectionCreateValues } from "./features/homepage/schemas/index";
3034
3041
  export { CAROUSEL_SLIDES_COLLECTION } from "./features/homepage/schemas/index";
3035
3042
  export { CAROUSEL_SLIDES_INDEXED_FIELDS } from "./features/homepage/schemas/index";
3036
3043
  export { CAROUSEL_SLIDES_PUBLIC_FIELDS } from "./features/homepage/schemas/index";
@@ -3154,6 +3161,8 @@ export { BUNDLE_COPY, BUNDLE_STOCK_VARIANT, } from "./_internal/shared/features/
3154
3161
  export { REFUND_COPY } from "./_internal/shared/features/orders/refund-copy";
3155
3162
  export { bundleCreateSchema, bundleUpdateSchema, bundleQueryRuleSchema, bundleDisplaySchema, type BundleCreateBody, type BundleUpdateBody, } from "./_internal/shared/features/categories/bundle-schemas";
3156
3163
  export type { GroupedListingDocument, GroupTheme, GroupVisibility } from "./features/grouped/schemas/firestore";
3164
+ export { navItemFormSchema, navItemCreateSchema, navItemUpdateSchema, type NavItemFormValues, } from "./features/admin/schemas/nav-item-form";
3165
+ export { groupedListingFormSchema, groupedListingCreateSchema, groupedListingUpdateSchema, type GroupedListingFormValues, } from "./features/grouped/schemas/grouped-listing-form";
3157
3166
  export { scammersSeedData } from "./seed/index";
3158
3167
  export { productFeaturesSeedData } from "./seed/index";
3159
3168
  export { SCAMMER_COLLECTION, SCAMMER_ID_PREFIX, SCAMMER_MATCH_FIELDS, SCAMMER_INDEXED_FIELDS, SCAMMER_FIELDS, SCAMMER_INCIDENTS_SUBCOLLECTION, SCAMMER_COMMENTS_SUBCOLLECTION, SCAMMER_CONTESTS_SUBCOLLECTION, MAX_COMMENT_BODY_LENGTH, MAX_PENDING_SCAMMER_REPORTS_PER_USER, ScammerStatusValues, ScamPlatformValues, SocialPlatformValues, ContestTypeValues, ContestStatusValues, SCAM_PLATFORM_LABELS, SOCIAL_PLATFORM_LABELS, SCAMMER_STATUS_LABELS, CONTEST_TYPE_LABELS, CONTEST_STATUS_LABELS, DEFAULT_SCAMMER_DATA, DEFAULT_SCAMMER_INCIDENT_DATA, DEFAULT_SCAMMER_COMMENT_DATA, DEFAULT_SCAMMER_CONTEST_DATA, } from "./features/scams/schemas/firestore";
@@ -3196,6 +3205,10 @@ export { QuickFormDrawer } from "./features/shell/index";
3196
3205
  export type { QuickFieldType, QuickFieldDef, QuickFormDrawerProps } from "./features/shell/index";
3197
3206
  export { StepForm, StepFormActions, StepIndicator } from "./features/shell/index";
3198
3207
  export type { StepDef, StepFormProps, StepFormActionsProps } from "./features/shell/index";
3208
+ export { SectionForm, useSectionFormNav, orderSections, buildFieldToSectionIndex, sectionAnchorId, } from "./features/shell/index";
3209
+ export type { SectionDef, SectionFormProps, UseSectionFormNavResult } from "./features/shell/index";
3210
+ export { deriveQuickFields, deriveQuickFieldNames, allDefinitionFields, applyDerive, assertNoDeriveCollision, humaniseFieldName, } from "./features/shell/index";
3211
+ export type { EntityFormDefinition } from "./features/shell/index";
3199
3212
  export { renderProductOgImage } from "./_internal/server/features/products/og";
3200
3213
  export type { ProductOgData } from "./_internal/server/features/products/og";
3201
3214
  export { renderAuctionOgImage } from "./_internal/server/features/auctions/og";
@@ -3264,7 +3277,7 @@ export { SellerDigitalCodesView } from "./features/seller/components/SellerDigit
3264
3277
  export type { SellerDigitalCodesViewProps } from "./features/seller/components/SellerDigitalCodesView";
3265
3278
  export { SellerLiveView } from "./features/seller/components/SellerLiveView";
3266
3279
  export type { SellerLiveViewProps } from "./features/seller/components/SellerLiveView";
3267
- export { SCHEMAS, lookupApiSchema, lookupFirestoreSchema, } from "./schemas/index";
3280
+ export { SCHEMAS, lookupApiSchema, lookupFormSchema, lookupFirestoreSchema, } from "./schemas/index";
3268
3281
  export type { ApiRouteKey, ApiRouteSchema, FirestoreDocument, FirestoreValue, FormFieldValue, FormValues, HttpVerb, JsonArray, JsonObject, JsonObjectWithUndefined, JsonPrimitive, JsonValue, JsonValueWithUndefined, RegisteredApiRouteKey, RegisteredFirestoreCollection, RegisteredFormId, RegisteredRtdbChannel, RegisteredSieveCollection, RegisteredStorageOp, RegisteredWebhookProvider, RegistryEntry, SchemaRegistry, SchemasShape, WebhookSchemaBucket, } from "./schemas/index";
3269
3282
  export { safeFireAndForget } from "./utils/safe-fire-forget";
3270
3283
  export { withRetry } from "./http/retry";
package/dist/index.js CHANGED
@@ -910,7 +910,7 @@ export { resolvePermissions } from "./security/index";
910
910
  // AddressesRepository - unified top-level addresses collection (SB-UNI-A 2026-05-13).
911
911
  export { AddressesRepository } from "./repositories/index";
912
912
  // S-STORE foundation — 14 schemas + 14 repositories + RBAC.
913
- export { PAYOUT_METHODS_COLLECTION, PAYOUT_METHOD_INDEXED_FIELDS, DEFAULT_PAYOUT_METHOD_DATA, SHIPPING_CONFIGS_COLLECTION, SHIPPING_CONFIG_INDEXED_FIELDS, DEFAULT_SHIPPING_CONFIG_DATA, ANALYTICS_CARDS_COLLECTION, ANALYTICS_CARD_INDEXED_FIELDS, DEFAULT_ANALYTICS_CARD_DATA, ANALYTICS_ALERTS_COLLECTION, ANALYTICS_ALERT_INDEXED_FIELDS, DEFAULT_ANALYTICS_ALERT_DATA, STORE_CATEGORIES_COLLECTION, STORE_CATEGORY_INDEXED_FIELDS, DEFAULT_STORE_CATEGORY_DATA, LISTING_TEMPLATES_COLLECTION, LISTING_TEMPLATE_INDEXED_FIELDS, DEFAULT_LISTING_TEMPLATE_DATA, MODERATION_QUEUE_COLLECTION, MODERATION_QUEUE_INDEXED_FIELDS, DEFAULT_MODERATION_QUEUE_DATA, REPORTS_COLLECTION, REPORT_INDEXED_FIELDS, DEFAULT_REPORT_DATA, ADMIN_NOTIFICATIONS_COLLECTION, ADMIN_NOTIFICATION_INDEXED_FIELDS, DEFAULT_ADMIN_NOTIFICATION_DATA, ITEM_REQUESTS_COLLECTION, ITEM_REQUEST_INDEXED_FIELDS, DEFAULT_ITEM_REQUEST_DATA, STORE_GOOGLE_CONFIG_COLLECTION, STORE_GOOGLE_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_GOOGLE_CONFIG_DATA, STORE_WHATSAPP_CONFIG_COLLECTION, STORE_WHATSAPP_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_WHATSAPP_CONFIG_DATA, CUSTOM_ROLES_COLLECTION, CUSTOM_ROLE_INDEXED_FIELDS, DEFAULT_CUSTOM_ROLE_DATA, ROLE_OVERRIDES_COLLECTION, ROLE_OVERRIDE_INDEXED_FIELDS, DEFAULT_ROLE_OVERRIDE_DATA,
913
+ export { PAYOUT_METHODS_COLLECTION, PAYOUT_METHOD_INDEXED_FIELDS, DEFAULT_PAYOUT_METHOD_DATA, SHIPPING_CONFIGS_COLLECTION, SHIPPING_CONFIG_INDEXED_FIELDS, DEFAULT_SHIPPING_CONFIG_DATA, ANALYTICS_CARDS_COLLECTION, ANALYTICS_CARD_INDEXED_FIELDS, DEFAULT_ANALYTICS_CARD_DATA, ANALYTICS_ALERTS_COLLECTION, ANALYTICS_ALERT_INDEXED_FIELDS, DEFAULT_ANALYTICS_ALERT_DATA, storeCategoryFormSchema, storeCategoryCreateSchema, listingTemplateFormSchema, listingTemplateCreateSchema, listingTemplateUpdateSchema, LISTING_TEMPLATE_TYPES, payoutMethodFormSchema, payoutMethodCreateSchema, payoutMethodUpdateSchema, shippingConfigFormSchema, shippingConfigCreateSchema, shippingConfigUpdateSchema, customRoleFormSchema, customRoleCreateSchema, customRoleUpdateSchema, isKnownPermission, moderationReviewFormSchema, moderationReviewUpdateSchema, MODERATION_REVIEWER_STATUSES, reportReviewFormSchema, reportReviewUpdateSchema, REPORT_REVIEWER_STATUSES, REPORT_TERMINAL_STATUSES, reportCreateSchema, itemRequestCreateSchema, REPORT_ENTITY_TYPES, REPORT_REASONS, analyticsAlertCreateSchema, analyticsCardCreateSchema, ANALYTICS_ALERT_OPERATORS, ANALYTICS_CARD_TYPES, storeGoogleConfigUpdateSchema, toSellerGoogleConfig, adminNotificationCreateSchema, ADMIN_NOTIFICATION_CATEGORIES, ADMIN_NOTIFICATION_SEVERITIES, STORE_CATEGORIES_COLLECTION, STORE_CATEGORY_INDEXED_FIELDS, DEFAULT_STORE_CATEGORY_DATA, LISTING_TEMPLATES_COLLECTION, LISTING_TEMPLATE_INDEXED_FIELDS, DEFAULT_LISTING_TEMPLATE_DATA, MODERATION_QUEUE_COLLECTION, MODERATION_QUEUE_INDEXED_FIELDS, DEFAULT_MODERATION_QUEUE_DATA, REPORTS_COLLECTION, REPORT_INDEXED_FIELDS, DEFAULT_REPORT_DATA, ADMIN_NOTIFICATIONS_COLLECTION, ADMIN_NOTIFICATION_INDEXED_FIELDS, DEFAULT_ADMIN_NOTIFICATION_DATA, ITEM_REQUESTS_COLLECTION, ITEM_REQUEST_INDEXED_FIELDS, DEFAULT_ITEM_REQUEST_DATA, STORE_GOOGLE_CONFIG_COLLECTION, STORE_GOOGLE_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_GOOGLE_CONFIG_DATA, STORE_WHATSAPP_CONFIG_COLLECTION, STORE_WHATSAPP_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_WHATSAPP_CONFIG_DATA, CUSTOM_ROLES_COLLECTION, CUSTOM_ROLE_INDEXED_FIELDS, DEFAULT_CUSTOM_ROLE_DATA, ROLE_OVERRIDES_COLLECTION, ROLE_OVERRIDE_INDEXED_FIELDS, DEFAULT_ROLE_OVERRIDE_DATA,
914
914
  // Repositories — classes
915
915
  PayoutMethodsRepository, ShippingConfigsRepository, AnalyticsCardsRepository, AnalyticsAlertsRepository, StoreCategoriesRepository, ListingTemplatesRepository, ModerationQueueRepository, ReportsRepository, AdminNotificationsRepository, ItemRequestsRepository, StoreGoogleConfigRepository, StoreWhatsAppConfigRepository, CustomRolesRepository, RoleOverridesRepository,
916
916
  // Repositories — singletons
@@ -1964,8 +1964,6 @@ export { UserAddressesView } from "./features/account/index";
1964
1964
  // UserNotificationsView - Component for user notifications view.
1965
1965
  export { UserNotificationsView } from "./features/account/index";
1966
1966
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
1967
- // UserOffersView - Component for user offers view.
1968
- export { UserOffersView } from "./features/account/index";
1969
1967
  // [CLIENT]-Runs in browser only â€" interactive buyer offers panel with accept/withdraw actions.
1970
1968
  // UserOffersPanel - Interactive buyer offers panel.
1971
1969
  export { UserOffersPanel } from "./features/account/index";
@@ -2085,6 +2083,8 @@ export { AdminAdEditorView } from "./features/admin/index";
2085
2083
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2086
2084
  // AdminBidsView - Component for admin bids view.
2087
2085
  export { AdminBidsView } from "./features/admin/index";
2086
+ // AdminOffersView - Component for admin offers view.
2087
+ export { AdminOffersView } from "./features/admin/index";
2088
2088
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
2089
2089
  // AdminBlogView - Component for admin blog view.
2090
2090
  export { AdminBlogView } from "./features/admin/index";
@@ -4104,6 +4104,11 @@ export { OrdersList } from "./features/orders/index";
4104
4104
  export { OrderSiblingPayments } from "./features/orders/index";
4105
4105
  export { OrderPaymentSummary } from "./features/orders/index";
4106
4106
  export { OrderStatusTimeline } from "./features/orders/index";
4107
+ // [CLIENT] StatusTimeline — the ONE rail both orders and offers render.
4108
+ // Each feature supplies only its phase vocabulary; the never-fabricate-a-
4109
+ // timestamp rule and the dot/connector rail live in one place.
4110
+ export { StatusTimeline, stepsFromEntries } from "./features/status-history/index";
4111
+ export { OfferPhaseTimeline } from "./features/seller/components/OfferPhaseTimeline";
4107
4112
  export { RefundHistoryTable } from "./features/orders/index";
4108
4113
  export { RefundRequestView } from "./features/orders/index";
4109
4114
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
@@ -4170,6 +4175,7 @@ export { useTrackOrder } from "./features/orders/index";
4170
4175
  // queue discriminator. Pure data + predicates — no firebase-admin in the
4171
4176
  // import chain, so safe on the main barrel (see "appkit Export Rules").
4172
4177
  export { MANUAL_PAYMENT_METHODS, isManualPaymentMethod, PAYMENT_REVIEW_QUEUE_MODES, isPaymentReviewQueueMode, PAYMENT_REVIEW_QUEUE_SCAN_LIMIT, } from "./features/orders/constants/payment-window";
4178
+ export { ORDER_SCOPE_VALUES, ORDER_SCOPE_TABS, isOrderScope, statusesForScope, mergeOrderScopeFilter, } from "./features/orders/constants/order-scope";
4173
4179
  // ./features/orders/server
4174
4180
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
4175
4181
  // cancelOrderForUser - Shared export for cancel order for user.
@@ -4334,8 +4340,6 @@ export { DEFAULT_PRODUCT_DATA } from "./features/products/index";
4334
4340
  // InteractiveProductCard - Component for interactive product card.
4335
4341
  export { InteractiveProductCard } from "./features/products/index";
4336
4342
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4337
- // MakeOfferForm - Component for make offer form.
4338
- export { MakeOfferForm } from "./features/products/index";
4339
4343
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4340
4344
  // ACTION_ID / ACTION_META / DETAIL_ACTIONS / MOBILE_PRIMARY_ACTIONS / LISTING_BULK_ACTIONS - Single source of truth for all product-type action constants.
4341
4345
  // Product / listing actions
@@ -4474,7 +4478,10 @@ export { buildBulkAction } from "./_internal/shared/actions/bulk-helpers";
4474
4478
  // Shared fee calculator — platform/gateway/GST/COD handling/WhatsApp-addon fee math (pure, client-safe).
4475
4479
  export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, computeWhatsAppNotifyFee, computeGiftWrapFee, computeShipmentProtectionFee, calculateGst, } from "./_internal/shared/fees/calculator";
4476
4480
  // EMI eligibility + schedule computation (pure, client-safe — used for checkout quotes).
4477
- export { checkEmiEligibility, computeEmiSchedule } from "./_internal/shared/features/emi/schedule";
4481
+ export { checkEmiEligibility, computeEmiSchedule, computeBuyerEmiQuote } from "./_internal/shared/features/emi/schedule";
4482
+ // Buyer-facing projections of siteSettings.commissions / .emi — the single
4483
+ // definition of "safe to send to a browser" for fee data. See fees.ts header.
4484
+ export { toBuyerFacingFees, toBuyerEmiSettings, } from "./_internal/shared/features/site-settings/fees";
4478
4485
  // User-role predicates â€" SB-UNI-E 2026-05-13.
4479
4486
  export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, } from "./features/auth/role-predicates";
4480
4487
  // [SERVER-ONLY]-Safe in browser but intended for server routes.
@@ -4915,8 +4922,6 @@ export { SellerGroupedListingsView as StoreGroupedListingsView } from "./feature
4915
4922
  export { SellerAnalyticsAlertsView } from "./features/seller/index";
4916
4923
  export { SellerAnalyticsAlertsView as StoreAnalyticsAlertsView } from "./features/seller/index";
4917
4924
  // [CLIENT]-Runs in browser only â€" uses useState/useEffect/fetch.
4918
- // SellerOffersPanel - Interactive panel with accept/decline/counter actions for seller offers.
4919
- export { SellerOffersPanel } from "./features/seller/index";
4920
4925
  // [CLIENT-SSR]-Runs in both SSR and browser â€" React component or hook that does not depend on browser-only APIs.
4921
4926
  // SellerOrdersView - Component for seller orders view.
4922
4927
  export { SellerOrdersView } from "./features/seller/index";
@@ -5132,8 +5137,6 @@ export { sellerCouponsGET } from "./features/seller/server";
5132
5137
  // sellerDeleteProduct - Shared export for seller delete product.
5133
5138
  export { sellerDeleteProduct } from "./features/seller/server";
5134
5139
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
5135
- // sellerOffersGET - Shared export for seller offers get.
5136
- export { sellerOffersGET } from "./features/seller/server";
5137
5140
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
5138
5141
  // sellerProductsGET - Shared export for seller products get.
5139
5142
  export { sellerProductsGET } from "./features/seller/server";
@@ -5413,6 +5416,9 @@ export { removeFromWishlist } from "./features/wishlist/server";
5413
5416
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
5414
5417
  // BANNER_HEIGHTS - Constant used across modules.
5415
5418
  export { BANNER_HEIGHTS } from "./features/homepage/schemas/index";
5419
+ export { homepageSectionTypeSchema } from "./features/homepage/schemas/index";
5420
+ export { homepageSectionCreateSchema } from "./features/homepage/schemas/index";
5421
+ export { resolveNextSectionOrder } from "./features/homepage/actions/homepage-section-actions";
5416
5422
  // [SCHEMA]-Schema / data-shape constant â€" Zod validator, default-value object, or Firestore collection/field name constant.
5417
5423
  // CAROUSEL_SLIDES_COLLECTION - Constant used across modules.
5418
5424
  export { CAROUSEL_SLIDES_COLLECTION } from "./features/homepage/schemas/index";
@@ -5562,6 +5568,8 @@ export { BUNDLE_COPY, BUNDLE_STOCK_VARIANT, } from "./_internal/shared/features/
5562
5568
  export { REFUND_COPY } from "./_internal/shared/features/orders/refund-copy";
5563
5569
  // S-SBUNI-4 follow-up â€" shared admin bundle zod schemas.
5564
5570
  export { bundleCreateSchema, bundleUpdateSchema, bundleQueryRuleSchema, bundleDisplaySchema, } from "./_internal/shared/features/categories/bundle-schemas";
5571
+ export { navItemFormSchema, navItemCreateSchema, navItemUpdateSchema, } from "./features/admin/schemas/nav-item-form";
5572
+ export { groupedListingFormSchema, groupedListingCreateSchema, groupedListingUpdateSchema, } from "./features/grouped/schemas/grouped-listing-form";
5565
5573
  // Scam registry â€" seed data
5566
5574
  export { scammersSeedData } from "./seed/index";
5567
5575
  // Product features â€" seed data (FI2)
@@ -5602,6 +5610,13 @@ export { CommandPalette, useCommandPaletteHotkey } from "./features/shell/index"
5602
5610
  export { QuickFormDrawer } from "./features/shell/index";
5603
5611
  // [CLIENT] StepForm â€" multi-step wizard with step indicator, prev/next, localStorage persistence.
5604
5612
  export { StepForm, StepFormActions, StepIndicator } from "./features/shell/index";
5613
+ // [CLIENT] SectionForm — collapsible-section form engine replacing StepForm.
5614
+ // Required section first and always open, one shared submit at the bottom, no
5615
+ // per-section gate blocking a later section.
5616
+ export { SectionForm, useSectionFormNav, orderSections, buildFieldToSectionIndex, sectionAnchorId, } from "./features/shell/index";
5617
+ // [CLIENT] EntityFormDefinition — one definition per entity, rendered as both a
5618
+ // self-submitting quick drawer and a full page, so the two cannot drift.
5619
+ export { deriveQuickFields, deriveQuickFieldNames, allDefinitionFields, applyDerive, assertNoDeriveCollision, humaniseFieldName, } from "./features/shell/index";
5605
5620
  // OG image renderers (server-side JSX, used with next/og ImageResponse)
5606
5621
  export { renderProductOgImage } from "./_internal/server/features/products/og";
5607
5622
  export { renderAuctionOgImage } from "./_internal/server/features/auctions/og";
@@ -5664,7 +5679,7 @@ export { SellerLiveView } from "./features/seller/components/SellerLiveView";
5664
5679
  // boundary (Firestore docs, API routes, forms, sieve, webhooks, RTDB, storage).
5665
5680
  // Per-feature `schemas/index.ts` files register into the relevant bucket.
5666
5681
  // Pure Zod, isomorphic — safe on both client and server.
5667
- export { SCHEMAS, lookupApiSchema, lookupFirestoreSchema, } from "./schemas/index";
5682
+ export { SCHEMAS, lookupApiSchema, lookupFormSchema, lookupFirestoreSchema, } from "./schemas/index";
5668
5683
  // ── Fire-and-forget safety wrapper ─────────────────────────────────────────
5669
5684
  // Replaces .catch(console.error) for non-critical background operations.
5670
5685
  export { safeFireAndForget } from "./utils/safe-fire-forget";
@@ -64,6 +64,8 @@ export declare const DEFAULT_ROUTE_MAP: {
64
64
  readonly HELP_ACCOUNT: "/help/account";
65
65
  readonly TERMS: "/terms";
66
66
  readonly PRIVACY: "/privacy";
67
+ readonly ETHICS: "/ethics";
68
+ readonly CODE_OF_CONDUCT: "/code-of-conduct";
67
69
  readonly SECURITY: "/security";
68
70
  readonly TRACK_ORDER: "/track";
69
71
  readonly SELLER_GUIDE: "/seller-guide";
@@ -128,8 +130,15 @@ export declare const DEFAULT_ROUTE_MAP: {
128
130
  readonly WISHLIST: "/wishlist";
129
131
  readonly HISTORY: "/user/history";
130
132
  readonly ADDRESSES: "/user/addresses";
131
- readonly ADDRESSES_ADD: "/user/addresses/add";
133
+ /**
134
+ * Canonical shapes. `/add` and `/edit/[id]` were the only two
135
+ * non-standard route shapes in the codebase — every other entity uses
136
+ * `/new` and `/[id]/edit`. Both old paths still resolve, as redirects.
137
+ */
138
+ readonly ADDRESSES_NEW: "/user/addresses/new";
132
139
  readonly ADDRESSES_EDIT: (id: string) => string;
140
+ /** @deprecated Use ADDRESSES_NEW. Kept so existing links keep resolving. */
141
+ readonly ADDRESSES_ADD: "/user/addresses/new";
133
142
  readonly ORDER_DETAIL: (id: string) => string;
134
143
  readonly ORDER_CANCEL: (id: string) => string;
135
144
  readonly ORDER_TRACK: (id: string) => string;
@@ -293,6 +302,7 @@ export declare const DEFAULT_ROUTE_MAP: {
293
302
  readonly ORDERS: "/admin/orders";
294
303
  readonly ORDER_DETAIL: (id: string) => string;
295
304
  readonly BIDS: "/admin/bids";
305
+ readonly OFFERS: "/admin/offers";
296
306
  readonly BLOG: "/admin/blog";
297
307
  readonly BLOG_NEW: "/admin/blog/new";
298
308
  readonly BLOG_EDIT: (id: string) => string;
@@ -436,6 +446,8 @@ export declare const ROUTES: {
436
446
  readonly HELP_ACCOUNT: "/help/account";
437
447
  readonly TERMS: "/terms";
438
448
  readonly PRIVACY: "/privacy";
449
+ readonly ETHICS: "/ethics";
450
+ readonly CODE_OF_CONDUCT: "/code-of-conduct";
439
451
  readonly SECURITY: "/security";
440
452
  readonly TRACK_ORDER: "/track";
441
453
  readonly SELLER_GUIDE: "/seller-guide";
@@ -500,8 +512,15 @@ export declare const ROUTES: {
500
512
  readonly WISHLIST: "/wishlist";
501
513
  readonly HISTORY: "/user/history";
502
514
  readonly ADDRESSES: "/user/addresses";
503
- readonly ADDRESSES_ADD: "/user/addresses/add";
515
+ /**
516
+ * Canonical shapes. `/add` and `/edit/[id]` were the only two
517
+ * non-standard route shapes in the codebase — every other entity uses
518
+ * `/new` and `/[id]/edit`. Both old paths still resolve, as redirects.
519
+ */
520
+ readonly ADDRESSES_NEW: "/user/addresses/new";
504
521
  readonly ADDRESSES_EDIT: (id: string) => string;
522
+ /** @deprecated Use ADDRESSES_NEW. Kept so existing links keep resolving. */
523
+ readonly ADDRESSES_ADD: "/user/addresses/new";
505
524
  readonly ORDER_DETAIL: (id: string) => string;
506
525
  readonly ORDER_CANCEL: (id: string) => string;
507
526
  readonly ORDER_TRACK: (id: string) => string;
@@ -665,6 +684,7 @@ export declare const ROUTES: {
665
684
  readonly ORDERS: "/admin/orders";
666
685
  readonly ORDER_DETAIL: (id: string) => string;
667
686
  readonly BIDS: "/admin/bids";
687
+ readonly OFFERS: "/admin/offers";
668
688
  readonly BLOG: "/admin/blog";
669
689
  readonly BLOG_NEW: "/admin/blog/new";
670
690
  readonly BLOG_EDIT: (id: string) => string;
@@ -840,6 +860,6 @@ export declare const SELLER_ROUTES: {
840
860
  readonly GUIDE_SETTINGS: "/store/guide/settings";
841
861
  readonly GUIDE_WHATSAPP: "/store/guide/whatsapp";
842
862
  };
843
- export declare const PUBLIC_ROUTES: readonly ["/", string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "/unauthorized", "/auth/login", "/auth/register", "/auth/forgot-password", "/auth/reset-password", "/auth/verify-email"];
863
+ export declare const PUBLIC_ROUTES: readonly ["/", string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "/unauthorized", "/auth/login", "/auth/register", "/auth/forgot-password", "/auth/reset-password", "/auth/verify-email"];
844
864
  export declare const PROTECTED_ROUTES: readonly [string, string, string, string, string, string, string];
845
865
  export declare const AUTH_ROUTES: readonly ["/auth/login", "/auth/register"];
@@ -57,6 +57,8 @@ export const DEFAULT_ROUTE_MAP = {
57
57
  HELP_ACCOUNT: "/help/account",
58
58
  TERMS: "/terms",
59
59
  PRIVACY: "/privacy",
60
+ ETHICS: "/ethics",
61
+ CODE_OF_CONDUCT: "/code-of-conduct",
60
62
  SECURITY: "/security",
61
63
  TRACK_ORDER: "/track",
62
64
  SELLER_GUIDE: "/seller-guide",
@@ -132,8 +134,15 @@ export const DEFAULT_ROUTE_MAP = {
132
134
  WISHLIST: "/wishlist",
133
135
  HISTORY: "/user/history",
134
136
  ADDRESSES: "/user/addresses",
135
- ADDRESSES_ADD: "/user/addresses/add",
136
- ADDRESSES_EDIT: (id) => `/user/addresses/edit/${id}`,
137
+ /**
138
+ * Canonical shapes. `/add` and `/edit/[id]` were the only two
139
+ * non-standard route shapes in the codebase — every other entity uses
140
+ * `/new` and `/[id]/edit`. Both old paths still resolve, as redirects.
141
+ */
142
+ ADDRESSES_NEW: "/user/addresses/new",
143
+ ADDRESSES_EDIT: (id) => `/user/addresses/${id}/edit`,
144
+ /** @deprecated Use ADDRESSES_NEW. Kept so existing links keep resolving. */
145
+ ADDRESSES_ADD: "/user/addresses/new",
137
146
  ORDER_DETAIL: (id) => `/user/orders/view/${id}`,
138
147
  ORDER_CANCEL: (id) => `/user/orders/${id}/cancel`,
139
148
  ORDER_TRACK: (id) => `/user/orders/${id}/track`,
@@ -303,6 +312,7 @@ export const DEFAULT_ROUTE_MAP = {
303
312
  ORDERS: "/admin/orders",
304
313
  ORDER_DETAIL: (id) => `/admin/orders/${id}/view`,
305
314
  BIDS: "/admin/bids",
315
+ OFFERS: "/admin/offers",
306
316
  BLOG: "/admin/blog",
307
317
  BLOG_NEW: "/admin/blog/new",
308
318
  BLOG_EDIT: (id) => `/admin/blog/${id}/edit`,
@@ -449,6 +459,8 @@ export const PUBLIC_ROUTES = [
449
459
  ROUTES.PUBLIC.HELP,
450
460
  ROUTES.PUBLIC.TERMS,
451
461
  ROUTES.PUBLIC.PRIVACY,
462
+ ROUTES.PUBLIC.ETHICS,
463
+ ROUTES.PUBLIC.CODE_OF_CONDUCT,
452
464
  ROUTES.ERRORS.UNAUTHORIZED,
453
465
  ROUTES.AUTH.LOGIN,
454
466
  ROUTES.AUTH.REGISTER,
@@ -21,6 +21,36 @@ export declare abstract class BaseRepository<T extends DocumentData> {
21
21
  protected sieveQuery<TResult extends DocumentData = T>(model: SieveModel, fields: FirebaseSieveFields, options?: FirebaseSieveOptions & {
22
22
  baseQuery?: CollectionReference | Query;
23
23
  }): Promise<FirebaseSieveResult<TResult>>;
24
+ /**
25
+ * Count matches for a Sieve model without reading any documents.
26
+ *
27
+ * Prefer this over `sieveQuery({ pageSize: 1 }).total` whenever only the
28
+ * number is wanted — that idiom pays for a wasted document read per call,
29
+ * which matters once a surface issues one query per union member.
30
+ */
31
+ protected sieveCount(model: SieveModel, fields: FirebaseSieveFields, options?: FirebaseSieveOptions & {
32
+ baseQuery?: CollectionReference | Query;
33
+ }): Promise<number>;
34
+ /**
35
+ * How many documents match each value of a discriminator field, given a
36
+ * shared base filter — the "N rows of each type" behind every faceted tab
37
+ * bar and filter chip group.
38
+ *
39
+ * One `.count()` aggregation per value, all in parallel. A value whose query
40
+ * fails maps to `undefined`, NOT to 0: callers hide a facet at zero, and a
41
+ * swallowed failure that reads as "none of these exist" would hide a facet
42
+ * holding real rows (Root Cause #59). `undefined` means "unknown", and every
43
+ * caller is expected to keep the facet visible in that case.
44
+ *
45
+ * `values` may contain a pipe-joined OR-group (`"art|stickers"`) — it is
46
+ * passed through untouched so the enhanced adapter upgrades it to a
47
+ * Firestore `in` query, exactly as it does on the list path.
48
+ */
49
+ protected facetCounts(field: string, values: readonly string[], fields: FirebaseSieveFields, options?: FirebaseSieveOptions & {
50
+ baseQuery?: CollectionReference | Query;
51
+ /** Sieve clauses ANDed into every count (e.g. `status==published`). */
52
+ baseFilters?: string;
53
+ }): Promise<Record<string, number | undefined>>;
24
54
  findByIdInTx(tx: Transaction, id: string): Promise<T | null>;
25
55
  findByIdOrFailInTx(tx: Transaction, id: string): Promise<T>;
26
56
  createInTx(tx: Transaction, data: Partial<T> | FirestoreDocument): DocumentReference;
@@ -1,7 +1,7 @@
1
1
  import { normalizeError } from "../../errors/normalize";
2
2
  import { DatabaseError, NotFoundError } from "../../errors";
3
3
  import { serverLogger } from "../../monitoring";
4
- import { applySieveToFirestore, } from "./sieve";
4
+ import { applySieveToFirestore, countSieveMatches, } from "./sieve";
5
5
  import { deserializeTimestamps, prepareForFirestore } from "./helpers";
6
6
  import { getAdminDb } from "./admin";
7
7
  export class BaseRepository {
@@ -174,6 +174,55 @@ export class BaseRepository {
174
174
  options: sieveOptions,
175
175
  });
176
176
  }
177
+ /**
178
+ * Count matches for a Sieve model without reading any documents.
179
+ *
180
+ * Prefer this over `sieveQuery({ pageSize: 1 }).total` whenever only the
181
+ * number is wanted — that idiom pays for a wasted document read per call,
182
+ * which matters once a surface issues one query per union member.
183
+ */
184
+ async sieveCount(model, fields, options) {
185
+ const { baseQuery, ...sieveOptions } = options ?? {};
186
+ return countSieveMatches({
187
+ baseQuery: baseQuery ?? this.getCollection(),
188
+ model,
189
+ fields,
190
+ options: sieveOptions,
191
+ });
192
+ }
193
+ /**
194
+ * How many documents match each value of a discriminator field, given a
195
+ * shared base filter — the "N rows of each type" behind every faceted tab
196
+ * bar and filter chip group.
197
+ *
198
+ * One `.count()` aggregation per value, all in parallel. A value whose query
199
+ * fails maps to `undefined`, NOT to 0: callers hide a facet at zero, and a
200
+ * swallowed failure that reads as "none of these exist" would hide a facet
201
+ * holding real rows (Root Cause #59). `undefined` means "unknown", and every
202
+ * caller is expected to keep the facet visible in that case.
203
+ *
204
+ * `values` may contain a pipe-joined OR-group (`"art|stickers"`) — it is
205
+ * passed through untouched so the enhanced adapter upgrades it to a
206
+ * Firestore `in` query, exactly as it does on the list path.
207
+ */
208
+ async facetCounts(field, values, fields, options) {
209
+ const { baseFilters, ...rest } = options ?? {};
210
+ const entries = await Promise.all(values.map(async (value) => {
211
+ // Sieve ANDs clauses with a comma; see utils/sieve-builder.ts.
212
+ const filters = [baseFilters, `${field}==${value}`]
213
+ .filter(Boolean)
214
+ .join(",");
215
+ try {
216
+ return [value, await this.sieveCount({ filters }, fields, rest)];
217
+ }
218
+ catch (error) {
219
+ void normalizeError(error);
220
+ serverLogger.warn(`facetCounts: count failed for ${this.collection}.${field}==${value}; facet will stay visible`);
221
+ return [value, undefined];
222
+ }
223
+ }));
224
+ return Object.fromEntries(entries);
225
+ }
177
226
  async findByIdInTx(tx, id) {
178
227
  const docRef = this.getCollection().doc(id);
179
228
  const snap = await tx.get(docRef);
@@ -27,4 +27,4 @@ export declare const firebaseDbProvider: IDbProvider;
27
27
  export { buildFirebaseClientConfig, normalizeFirebaseConfigValue, } from "./client-config";
28
28
  export type { FirebaseClientConfig } from "./client-config";
29
29
  export type { SieveModel, SieveFields, SieveFieldConfig, SieveOptions, SieveResult, SieveFilterAlias, SieveFilterAliases, FirebaseSieveFieldConfig, FirebaseSieveFields, FirebaseSieveOptions, FirebaseSieveResult, } from "./sieve";
30
- export { applySieveToFirestore, expandFilterAliases, parseSieveDateValue } from "./sieve";
30
+ export { applySieveToFirestore, countSieveMatches, expandFilterAliases, parseSieveDateValue } from "./sieve";
@@ -38,4 +38,4 @@ export const firebaseDbProvider = {
38
38
  };
39
39
  // Firebase client config builder (for consumer app bundles)
40
40
  export { buildFirebaseClientConfig, normalizeFirebaseConfigValue, } from "./client-config";
41
- export { applySieveToFirestore, expandFilterAliases, parseSieveDateValue } from "./sieve";
41
+ export { applySieveToFirestore, countSieveMatches, expandFilterAliases, parseSieveDateValue } from "./sieve";
@@ -129,6 +129,22 @@ export type FirebaseSieveFieldConfig = SieveFieldConfig;
129
129
  export type FirebaseSieveFields = SieveFields;
130
130
  export type FirebaseSieveOptions = SieveOptions;
131
131
  export type FirebaseSieveResult<T> = SieveResult<T>;
132
+ /**
133
+ * Count matching documents WITHOUT reading any of them.
134
+ *
135
+ * `applySieveToFirestore(...).total` already counts via the `.count()`
136
+ * aggregation, but it also fetches a page of documents on the way — so the
137
+ * `list({ pageSize: 1 }).total` idiom used across the codebase pays for one
138
+ * wasted document read per call. Facet/tab counts issue one query per union
139
+ * member, so that waste multiplies; this path skips the document read
140
+ * entirely.
141
+ */
142
+ export declare function countSieveMatches(params: {
143
+ baseQuery: CollectionReference | Query;
144
+ model: SieveModel;
145
+ fields: SieveFields;
146
+ options?: SieveOptions;
147
+ }): Promise<number>;
132
148
  /**
133
149
  * Apply Sieve DSL to a CollectionReference/Query without requiring repository subclassing.
134
150
  */
@@ -149,4 +165,13 @@ export declare abstract class FirebaseSieveRepository<T extends DocumentData> ex
149
165
  protected sieveQuery<TResult extends DocumentData = T>(model: SieveModel, fields: SieveFields, options?: SieveOptions & {
150
166
  baseQuery?: CollectionReference | Query;
151
167
  }): Promise<SieveResult<TResult>>;
168
+ /**
169
+ * Count matches for a Sieve model without reading any documents.
170
+ *
171
+ * Same filter pipeline as `sieveQuery` (aliases included) — see
172
+ * `countSieveMatches`.
173
+ */
174
+ protected sieveCount(model: SieveModel, fields: SieveFields, options?: SieveOptions & {
175
+ baseQuery?: CollectionReference | Query;
176
+ }): Promise<number>;
152
177
  }