@mohasinac/appkit 2.4.10 → 2.5.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 (889) hide show
  1. package/dist/_internal/client/features/products/index.d.ts +1 -0
  2. package/dist/_internal/client/features/products/index.js +3 -0
  3. package/dist/_internal/client/i18n/LabelsProvider.d.ts +13 -0
  4. package/dist/_internal/client/i18n/LabelsProvider.js +38 -0
  5. package/dist/_internal/client/index.d.ts +0 -0
  6. package/dist/_internal/client/index.js +4 -0
  7. package/dist/_internal/client/scaffolds/AppShell.d.ts +39 -0
  8. package/dist/_internal/client/scaffolds/AppShell.js +9 -0
  9. package/dist/_internal/client/scaffolds/DashboardScaffold.d.ts +34 -0
  10. package/dist/_internal/client/scaffolds/DashboardScaffold.js +23 -0
  11. package/dist/_internal/client/scaffolds/index.d.ts +4 -0
  12. package/dist/_internal/client/scaffolds/index.js +2 -0
  13. package/dist/_internal/server/features/account/actions.d.ts +7 -0
  14. package/dist/_internal/server/features/account/actions.js +7 -0
  15. package/dist/_internal/server/features/account/data.d.ts +17 -0
  16. package/dist/_internal/server/features/account/data.js +25 -0
  17. package/dist/_internal/server/features/account/index.d.ts +2 -0
  18. package/dist/_internal/server/features/account/index.js +2 -0
  19. package/dist/_internal/server/features/auctions/actions.d.ts +1 -0
  20. package/dist/_internal/server/features/auctions/actions.js +44 -0
  21. package/dist/_internal/server/features/auctions/data.d.ts +4 -0
  22. package/dist/_internal/server/features/auctions/data.js +9 -0
  23. package/dist/_internal/server/features/auctions/index.d.ts +5 -0
  24. package/dist/_internal/server/features/auctions/index.js +5 -0
  25. package/dist/_internal/server/features/auctions/og.d.ts +19 -0
  26. package/dist/_internal/server/features/auctions/og.js +51 -0
  27. package/dist/_internal/server/features/auctions/service.d.ts +13 -0
  28. package/dist/_internal/server/features/auctions/service.js +57 -0
  29. package/dist/_internal/server/features/auth/actions.d.ts +8 -0
  30. package/dist/_internal/server/features/auth/actions.js +8 -0
  31. package/dist/_internal/server/features/auth/index.d.ts +1 -0
  32. package/dist/_internal/server/features/auth/index.js +1 -0
  33. package/dist/_internal/server/features/blog/actions.d.ts +5 -0
  34. package/dist/_internal/server/features/blog/actions.js +51 -0
  35. package/dist/_internal/server/features/blog/data.d.ts +2 -0
  36. package/dist/_internal/server/features/blog/data.js +8 -0
  37. package/dist/_internal/server/features/blog/index.d.ts +5 -0
  38. package/dist/_internal/server/features/blog/index.js +5 -0
  39. package/dist/_internal/server/features/blog/og.d.ts +23 -0
  40. package/dist/_internal/server/features/blog/og.js +64 -0
  41. package/dist/_internal/server/features/blog/service.d.ts +3 -0
  42. package/dist/_internal/server/features/blog/service.js +18 -0
  43. package/dist/_internal/server/features/brands/actions.d.ts +4 -0
  44. package/dist/_internal/server/features/brands/actions.js +32 -0
  45. package/dist/_internal/server/features/brands/data.d.ts +12 -0
  46. package/dist/_internal/server/features/brands/data.js +16 -0
  47. package/dist/_internal/server/features/brands/index.d.ts +5 -0
  48. package/dist/_internal/server/features/brands/index.js +5 -0
  49. package/dist/_internal/server/features/brands/og.d.ts +17 -0
  50. package/dist/_internal/server/features/brands/og.js +37 -0
  51. package/dist/_internal/server/features/brands/service.d.ts +3 -0
  52. package/dist/_internal/server/features/brands/service.js +14 -0
  53. package/dist/_internal/server/features/bundles/data.d.ts +9 -0
  54. package/dist/_internal/server/features/bundles/data.js +9 -0
  55. package/dist/_internal/server/features/bundles/index.d.ts +2 -0
  56. package/dist/_internal/server/features/bundles/index.js +2 -0
  57. package/dist/_internal/server/features/cart/actions.d.ts +12 -0
  58. package/dist/_internal/server/features/cart/actions.js +35 -0
  59. package/dist/_internal/server/features/cart/data.d.ts +1 -0
  60. package/dist/_internal/server/features/cart/data.js +5 -0
  61. package/dist/_internal/server/features/cart/index.d.ts +4 -0
  62. package/dist/_internal/server/features/cart/index.js +4 -0
  63. package/dist/_internal/server/features/cart/service.d.ts +8 -0
  64. package/dist/_internal/server/features/cart/service.js +25 -0
  65. package/dist/_internal/server/features/categories/data.d.ts +13 -0
  66. package/dist/_internal/server/features/categories/data.js +40 -0
  67. package/dist/_internal/server/features/categories/index.d.ts +2 -0
  68. package/dist/_internal/server/features/categories/index.js +2 -0
  69. package/dist/_internal/server/features/checkout/actions.d.ts +35 -0
  70. package/dist/_internal/server/features/checkout/actions.js +327 -0
  71. package/dist/_internal/server/features/checkout/data.d.ts +13 -0
  72. package/dist/_internal/server/features/checkout/data.js +13 -0
  73. package/dist/_internal/server/features/checkout/index.d.ts +3 -0
  74. package/dist/_internal/server/features/checkout/index.js +3 -0
  75. package/dist/_internal/server/features/events/actions.d.ts +4 -0
  76. package/dist/_internal/server/features/events/actions.js +60 -0
  77. package/dist/_internal/server/features/events/data.d.ts +1 -0
  78. package/dist/_internal/server/features/events/data.js +5 -0
  79. package/dist/_internal/server/features/events/index.d.ts +5 -0
  80. package/dist/_internal/server/features/events/index.js +5 -0
  81. package/dist/_internal/server/features/events/og.d.ts +26 -0
  82. package/dist/_internal/server/features/events/og.js +87 -0
  83. package/dist/_internal/server/features/events/service.d.ts +2 -0
  84. package/dist/_internal/server/features/events/service.js +27 -0
  85. package/dist/_internal/server/features/grouped/data.d.ts +25 -0
  86. package/dist/_internal/server/features/grouped/data.js +116 -0
  87. package/dist/_internal/server/features/grouped/index.d.ts +2 -0
  88. package/dist/_internal/server/features/grouped/index.js +2 -0
  89. package/dist/_internal/server/features/history/actions.d.ts +8 -0
  90. package/dist/_internal/server/features/history/actions.js +15 -0
  91. package/dist/_internal/server/features/history/data.d.ts +7 -0
  92. package/dist/_internal/server/features/history/data.js +6 -0
  93. package/dist/_internal/server/features/history/index.d.ts +3 -0
  94. package/dist/_internal/server/features/history/index.js +3 -0
  95. package/dist/_internal/server/features/homepage/data.d.ts +18 -0
  96. package/dist/_internal/server/features/homepage/data.js +39 -0
  97. package/dist/_internal/server/features/homepage/index.d.ts +2 -0
  98. package/dist/_internal/server/features/homepage/index.js +2 -0
  99. package/dist/_internal/server/features/messages/actions.d.ts +6 -0
  100. package/dist/_internal/server/features/messages/actions.js +6 -0
  101. package/dist/_internal/server/features/messages/data.d.ts +10 -0
  102. package/dist/_internal/server/features/messages/data.js +24 -0
  103. package/dist/_internal/server/features/messages/index.d.ts +2 -0
  104. package/dist/_internal/server/features/messages/index.js +2 -0
  105. package/dist/_internal/server/features/orders/actions.d.ts +4 -0
  106. package/dist/_internal/server/features/orders/actions.js +50 -0
  107. package/dist/_internal/server/features/orders/adapters.d.ts +3 -0
  108. package/dist/_internal/server/features/orders/adapters.js +56 -0
  109. package/dist/_internal/server/features/orders/data.d.ts +10 -0
  110. package/dist/_internal/server/features/orders/data.js +18 -0
  111. package/dist/_internal/server/features/orders/index.d.ts +5 -0
  112. package/dist/_internal/server/features/orders/index.js +5 -0
  113. package/dist/_internal/server/features/orders/service.d.ts +4 -0
  114. package/dist/_internal/server/features/orders/service.js +30 -0
  115. package/dist/_internal/server/features/payments/actions.d.ts +30 -0
  116. package/dist/_internal/server/features/payments/actions.js +45 -0
  117. package/dist/_internal/server/features/payments/data.d.ts +11 -0
  118. package/dist/_internal/server/features/payments/data.js +14 -0
  119. package/dist/_internal/server/features/payments/index.d.ts +3 -0
  120. package/dist/_internal/server/features/payments/index.js +3 -0
  121. package/dist/_internal/server/features/pre-orders/actions.d.ts +7 -0
  122. package/dist/_internal/server/features/pre-orders/actions.js +26 -0
  123. package/dist/_internal/server/features/pre-orders/data.d.ts +4 -0
  124. package/dist/_internal/server/features/pre-orders/data.js +9 -0
  125. package/dist/_internal/server/features/pre-orders/index.d.ts +5 -0
  126. package/dist/_internal/server/features/pre-orders/index.js +5 -0
  127. package/dist/_internal/server/features/pre-orders/og.d.ts +19 -0
  128. package/dist/_internal/server/features/pre-orders/og.js +49 -0
  129. package/dist/_internal/server/features/pre-orders/service.d.ts +7 -0
  130. package/dist/_internal/server/features/pre-orders/service.js +30 -0
  131. package/dist/_internal/server/features/products/actions.d.ts +7 -0
  132. package/dist/_internal/server/features/products/actions.js +74 -0
  133. package/dist/_internal/server/features/products/data.d.ts +14 -0
  134. package/dist/_internal/server/features/products/data.js +48 -0
  135. package/dist/_internal/server/features/products/index.d.ts +5 -0
  136. package/dist/_internal/server/features/products/index.js +5 -0
  137. package/dist/_internal/server/features/products/og.d.ts +19 -0
  138. package/dist/_internal/server/features/products/og.js +43 -0
  139. package/dist/_internal/server/features/products/service.d.ts +11 -0
  140. package/dist/_internal/server/features/products/service.js +55 -0
  141. package/dist/_internal/server/features/profile/index.d.ts +1 -0
  142. package/dist/_internal/server/features/profile/index.js +1 -0
  143. package/dist/_internal/server/features/profile/og.d.ts +26 -0
  144. package/dist/_internal/server/features/profile/og.js +91 -0
  145. package/dist/_internal/server/features/promotions/actions.d.ts +9 -0
  146. package/dist/_internal/server/features/promotions/actions.js +38 -0
  147. package/dist/_internal/server/features/promotions/data.d.ts +1 -0
  148. package/dist/_internal/server/features/promotions/data.js +5 -0
  149. package/dist/_internal/server/features/promotions/index.d.ts +4 -0
  150. package/dist/_internal/server/features/promotions/index.js +4 -0
  151. package/dist/_internal/server/features/promotions/service.d.ts +3 -0
  152. package/dist/_internal/server/features/promotions/service.js +47 -0
  153. package/dist/_internal/server/features/reviews/actions.d.ts +4 -0
  154. package/dist/_internal/server/features/reviews/actions.js +66 -0
  155. package/dist/_internal/server/features/reviews/data.d.ts +10 -0
  156. package/dist/_internal/server/features/reviews/data.js +18 -0
  157. package/dist/_internal/server/features/reviews/index.d.ts +3 -0
  158. package/dist/_internal/server/features/reviews/index.js +3 -0
  159. package/dist/_internal/server/features/reviews/service.d.ts +5 -0
  160. package/dist/_internal/server/features/reviews/service.js +27 -0
  161. package/dist/_internal/server/features/scams/data.d.ts +10 -0
  162. package/dist/_internal/server/features/scams/data.js +22 -0
  163. package/dist/_internal/server/features/scams/index.d.ts +1 -0
  164. package/dist/_internal/server/features/scams/index.js +1 -0
  165. package/dist/_internal/server/features/search/actions.d.ts +15 -0
  166. package/dist/_internal/server/features/search/actions.js +18 -0
  167. package/dist/_internal/server/features/search/data.d.ts +15 -0
  168. package/dist/_internal/server/features/search/data.js +18 -0
  169. package/dist/_internal/server/features/search/index.d.ts +3 -0
  170. package/dist/_internal/server/features/search/index.js +2 -0
  171. package/dist/_internal/server/features/stores/data.d.ts +31 -0
  172. package/dist/_internal/server/features/stores/data.js +58 -0
  173. package/dist/_internal/server/features/stores/index.d.ts +3 -0
  174. package/dist/_internal/server/features/stores/index.js +3 -0
  175. package/dist/_internal/server/features/stores/og.d.ts +19 -0
  176. package/dist/_internal/server/features/stores/og.js +52 -0
  177. package/dist/_internal/server/features/sublisting-categories/data.d.ts +1 -0
  178. package/dist/_internal/server/features/sublisting-categories/data.js +5 -0
  179. package/dist/_internal/server/features/sublisting-categories/index.d.ts +2 -0
  180. package/dist/_internal/server/features/sublisting-categories/index.js +2 -0
  181. package/dist/_internal/server/features/sublisting-categories/og.d.ts +20 -0
  182. package/dist/_internal/server/features/sublisting-categories/og.js +56 -0
  183. package/dist/_internal/server/features/wishlist/actions.d.ts +13 -0
  184. package/dist/_internal/server/features/wishlist/actions.js +40 -0
  185. package/dist/_internal/server/features/wishlist/data.d.ts +8 -0
  186. package/dist/_internal/server/features/wishlist/data.js +9 -0
  187. package/dist/_internal/server/features/wishlist/index.d.ts +4 -0
  188. package/dist/_internal/server/features/wishlist/index.js +4 -0
  189. package/dist/_internal/server/index.d.ts +0 -0
  190. package/dist/_internal/server/index.js +4 -0
  191. package/dist/_internal/server/jobs/handlers/_helpers.d.ts +8 -0
  192. package/dist/_internal/server/jobs/handlers/_helpers.js +19 -0
  193. package/dist/_internal/server/jobs/handlers/adminAnalytics.d.ts +28 -0
  194. package/dist/_internal/server/jobs/handlers/adminAnalytics.js +98 -0
  195. package/dist/_internal/server/jobs/handlers/auctionSettlement.d.ts +2 -0
  196. package/dist/_internal/server/jobs/handlers/auctionSettlement.js +70 -0
  197. package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.d.ts +2 -0
  198. package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +110 -0
  199. package/dist/_internal/server/jobs/handlers/cartPrune.d.ts +2 -0
  200. package/dist/_internal/server/jobs/handlers/cartPrune.js +13 -0
  201. package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.d.ts +2 -0
  202. package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +45 -0
  203. package/dist/_internal/server/jobs/handlers/countersReconcile.d.ts +2 -0
  204. package/dist/_internal/server/jobs/handlers/countersReconcile.js +109 -0
  205. package/dist/_internal/server/jobs/handlers/couponExpiry.d.ts +2 -0
  206. package/dist/_internal/server/jobs/handlers/couponExpiry.js +13 -0
  207. package/dist/_internal/server/jobs/handlers/dailyDataCleanup.d.ts +2 -0
  208. package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +20 -0
  209. package/dist/_internal/server/jobs/handlers/index.d.ts +35 -0
  210. package/dist/_internal/server/jobs/handlers/index.js +35 -0
  211. package/dist/_internal/server/jobs/handlers/listingProcessor.d.ts +30 -0
  212. package/dist/_internal/server/jobs/handlers/listingProcessor.js +128 -0
  213. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.d.ts +14 -0
  214. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +69 -0
  215. package/dist/_internal/server/jobs/handlers/messages.d.ts +45 -0
  216. package/dist/_internal/server/jobs/handlers/messages.js +45 -0
  217. package/dist/_internal/server/jobs/handlers/notificationPrune.d.ts +2 -0
  218. package/dist/_internal/server/jobs/handlers/notificationPrune.js +13 -0
  219. package/dist/_internal/server/jobs/handlers/offerExpiry.d.ts +2 -0
  220. package/dist/_internal/server/jobs/handlers/offerExpiry.js +50 -0
  221. package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +12 -0
  222. package/dist/_internal/server/jobs/handlers/onBidPlaced.js +63 -0
  223. package/dist/_internal/server/jobs/handlers/onCategoryWrite.d.ts +10 -0
  224. package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +136 -0
  225. package/dist/_internal/server/jobs/handlers/onOrderCreate.d.ts +14 -0
  226. package/dist/_internal/server/jobs/handlers/onOrderCreate.js +83 -0
  227. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.d.ts +14 -0
  228. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +141 -0
  229. package/dist/_internal/server/jobs/handlers/onProductWrite.d.ts +8 -0
  230. package/dist/_internal/server/jobs/handlers/onProductWrite.js +92 -0
  231. package/dist/_internal/server/jobs/handlers/onReviewWrite.d.ts +2 -0
  232. package/dist/_internal/server/jobs/handlers/onReviewWrite.js +51 -0
  233. package/dist/_internal/server/jobs/handlers/onStoreWrite.d.ts +10 -0
  234. package/dist/_internal/server/jobs/handlers/onStoreWrite.js +9 -0
  235. package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +11 -0
  236. package/dist/_internal/server/jobs/handlers/payoutBatch.js +104 -0
  237. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.d.ts +8 -0
  238. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +33 -0
  239. package/dist/_internal/server/jobs/handlers/positionsReconcile.d.ts +7 -0
  240. package/dist/_internal/server/jobs/handlers/positionsReconcile.js +87 -0
  241. package/dist/_internal/server/jobs/handlers/productStatsSync.d.ts +8 -0
  242. package/dist/_internal/server/jobs/handlers/productStatsSync.js +36 -0
  243. package/dist/_internal/server/jobs/handlers/promotions.d.ts +12 -0
  244. package/dist/_internal/server/jobs/handlers/promotions.js +43 -0
  245. package/dist/_internal/server/jobs/handlers/storeAnalytics.d.ts +30 -0
  246. package/dist/_internal/server/jobs/handlers/storeAnalytics.js +109 -0
  247. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.d.ts +8 -0
  248. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +87 -0
  249. package/dist/_internal/server/jobs/index.d.ts +4 -0
  250. package/dist/_internal/server/jobs/index.js +3 -0
  251. package/dist/_internal/server/jobs/runtime/adapters/firebase.d.ts +50 -0
  252. package/dist/_internal/server/jobs/runtime/adapters/firebase.js +156 -0
  253. package/dist/_internal/server/jobs/runtime/types.d.ts +52 -0
  254. package/dist/_internal/server/jobs/runtime/types.js +13 -0
  255. package/dist/_internal/shared/config/index.d.ts +1 -0
  256. package/dist/_internal/shared/config/index.js +1 -0
  257. package/dist/_internal/shared/config/schema.d.ts +82 -0
  258. package/dist/_internal/shared/config/schema.js +1 -0
  259. package/dist/_internal/shared/constants/index.d.ts +1 -0
  260. package/dist/_internal/shared/constants/index.js +1 -0
  261. package/dist/_internal/shared/errors/index.d.ts +24 -0
  262. package/dist/_internal/shared/errors/index.js +46 -0
  263. package/dist/_internal/shared/features/auctions/config.d.ts +6 -0
  264. package/dist/_internal/shared/features/auctions/config.js +6 -0
  265. package/dist/_internal/shared/features/auctions/errors.d.ts +16 -0
  266. package/dist/_internal/shared/features/auctions/errors.js +31 -0
  267. package/dist/_internal/shared/features/auctions/schema.d.ts +30 -0
  268. package/dist/_internal/shared/features/auctions/schema.js +12 -0
  269. package/dist/_internal/shared/features/blog/config.d.ts +6 -0
  270. package/dist/_internal/shared/features/blog/config.js +6 -0
  271. package/dist/_internal/shared/features/blog/errors.d.ts +10 -0
  272. package/dist/_internal/shared/features/blog/errors.js +19 -0
  273. package/dist/_internal/shared/features/blog/schema.d.ts +81 -0
  274. package/dist/_internal/shared/features/blog/schema.js +17 -0
  275. package/dist/_internal/shared/features/brands/config.d.ts +4 -0
  276. package/dist/_internal/shared/features/brands/config.js +4 -0
  277. package/dist/_internal/shared/features/brands/errors.d.ts +7 -0
  278. package/dist/_internal/shared/features/brands/errors.js +13 -0
  279. package/dist/_internal/shared/features/brands/schema.d.ts +69 -0
  280. package/dist/_internal/shared/features/brands/schema.js +15 -0
  281. package/dist/_internal/shared/features/bundles/config.d.ts +6 -0
  282. package/dist/_internal/shared/features/bundles/config.js +6 -0
  283. package/dist/_internal/shared/features/cart/config.d.ts +3 -0
  284. package/dist/_internal/shared/features/cart/config.js +3 -0
  285. package/dist/_internal/shared/features/cart/errors.d.ts +10 -0
  286. package/dist/_internal/shared/features/cart/errors.js +19 -0
  287. package/dist/_internal/shared/features/cart/schema.d.ts +132 -0
  288. package/dist/_internal/shared/features/cart/schema.js +33 -0
  289. package/dist/_internal/shared/features/categories/config.d.ts +6 -0
  290. package/dist/_internal/shared/features/categories/config.js +6 -0
  291. package/dist/_internal/shared/features/checkout/config.d.ts +8 -0
  292. package/dist/_internal/shared/features/checkout/config.js +7 -0
  293. package/dist/_internal/shared/features/events/config.d.ts +5 -0
  294. package/dist/_internal/shared/features/events/config.js +5 -0
  295. package/dist/_internal/shared/features/events/errors.d.ts +16 -0
  296. package/dist/_internal/shared/features/events/errors.js +31 -0
  297. package/dist/_internal/shared/features/events/schema.d.ts +91 -0
  298. package/dist/_internal/shared/features/events/schema.js +21 -0
  299. package/dist/_internal/shared/features/grouped/config.d.ts +3 -0
  300. package/dist/_internal/shared/features/grouped/config.js +3 -0
  301. package/dist/_internal/shared/features/history/config.d.ts +2 -0
  302. package/dist/_internal/shared/features/history/config.js +2 -0
  303. package/dist/_internal/shared/features/homepage/config.d.ts +3 -0
  304. package/dist/_internal/shared/features/homepage/config.js +3 -0
  305. package/dist/_internal/shared/features/orders/config.d.ts +8 -0
  306. package/dist/_internal/shared/features/orders/config.js +8 -0
  307. package/dist/_internal/shared/features/orders/errors.d.ts +13 -0
  308. package/dist/_internal/shared/features/orders/errors.js +25 -0
  309. package/dist/_internal/shared/features/orders/schema.d.ts +114 -0
  310. package/dist/_internal/shared/features/orders/schema.js +33 -0
  311. package/dist/_internal/shared/features/payments/config.d.ts +2 -0
  312. package/dist/_internal/shared/features/payments/config.js +2 -0
  313. package/dist/_internal/shared/features/pre-orders/config.d.ts +4 -0
  314. package/dist/_internal/shared/features/pre-orders/config.js +4 -0
  315. package/dist/_internal/shared/features/pre-orders/errors.d.ts +13 -0
  316. package/dist/_internal/shared/features/pre-orders/errors.js +25 -0
  317. package/dist/_internal/shared/features/pre-orders/schema.d.ts +25 -0
  318. package/dist/_internal/shared/features/pre-orders/schema.js +10 -0
  319. package/dist/_internal/shared/features/products/config.d.ts +5 -0
  320. package/dist/_internal/shared/features/products/config.js +5 -0
  321. package/dist/_internal/shared/features/products/errors.d.ts +16 -0
  322. package/dist/_internal/shared/features/products/errors.js +31 -0
  323. package/dist/_internal/shared/features/products/schema.d.ts +364 -0
  324. package/dist/_internal/shared/features/products/schema.js +58 -0
  325. package/dist/_internal/shared/features/products/types.d.ts +46 -0
  326. package/dist/_internal/shared/features/products/types.js +1 -0
  327. package/dist/_internal/shared/features/promotions/config.d.ts +3 -0
  328. package/dist/_internal/shared/features/promotions/config.js +3 -0
  329. package/dist/_internal/shared/features/promotions/errors.d.ts +19 -0
  330. package/dist/_internal/shared/features/promotions/errors.js +37 -0
  331. package/dist/_internal/shared/features/promotions/schema.d.ts +242 -0
  332. package/dist/_internal/shared/features/promotions/schema.js +37 -0
  333. package/dist/_internal/shared/features/reviews/config.d.ts +8 -0
  334. package/dist/_internal/shared/features/reviews/config.js +8 -0
  335. package/dist/_internal/shared/features/reviews/errors.d.ts +13 -0
  336. package/dist/_internal/shared/features/reviews/errors.js +25 -0
  337. package/dist/_internal/shared/features/reviews/schema.d.ts +44 -0
  338. package/dist/_internal/shared/features/reviews/schema.js +18 -0
  339. package/dist/_internal/shared/features/stores/config.d.ts +4 -0
  340. package/dist/_internal/shared/features/stores/config.js +4 -0
  341. package/dist/_internal/shared/features/wishlist/config.d.ts +2 -0
  342. package/dist/_internal/shared/features/wishlist/config.js +2 -0
  343. package/dist/_internal/shared/features/wishlist/errors.d.ts +4 -0
  344. package/dist/_internal/shared/features/wishlist/errors.js +7 -0
  345. package/dist/_internal/shared/index.d.ts +2 -0
  346. package/dist/_internal/shared/index.js +4 -0
  347. package/dist/_internal/shared/serialization/index.d.ts +17 -0
  348. package/dist/_internal/shared/serialization/index.js +42 -0
  349. package/dist/_internal/shared/tokens/index.d.ts +137 -0
  350. package/dist/_internal/shared/tokens/index.js +159 -0
  351. package/dist/client-entry.d.ts +23 -0
  352. package/dist/client-entry.js +27 -0
  353. package/dist/client.d.ts +47 -5
  354. package/dist/client.js +68 -33
  355. package/dist/configs/eslint.d.ts +29 -0
  356. package/dist/configs/eslint.js +38 -0
  357. package/dist/configs/index.d.ts +14 -0
  358. package/dist/configs/index.js +14 -0
  359. package/dist/configs/next.d.ts +38 -0
  360. package/dist/configs/next.js +116 -0
  361. package/dist/configs/postcss.d.ts +22 -0
  362. package/dist/configs/postcss.js +22 -0
  363. package/dist/configs/tailwind.d.ts +59 -0
  364. package/dist/configs/tailwind.js +62 -0
  365. package/dist/constants/api-endpoints.d.ts +24 -0
  366. package/dist/constants/api-endpoints.js +8 -0
  367. package/dist/constants/index.d.ts +1 -0
  368. package/dist/constants/index.js +1 -0
  369. package/dist/constants/limits.d.ts +15 -0
  370. package/dist/constants/limits.js +15 -0
  371. package/dist/contracts/client-auth.d.ts +2 -0
  372. package/dist/errors/messages.d.ts +23 -0
  373. package/dist/errors/messages.js +25 -0
  374. package/dist/features/about/components/PublicProfileView.js +16 -9
  375. package/dist/features/account/components/AddressBook.d.ts +2 -1
  376. package/dist/features/account/components/AddressBook.js +2 -2
  377. package/dist/features/account/components/UserReturnsView.d.ts +10 -0
  378. package/dist/features/account/components/UserReturnsView.js +5 -0
  379. package/dist/features/account/components/index.d.ts +2 -0
  380. package/dist/features/account/components/index.js +1 -0
  381. package/dist/features/account/hooks/useProfile.d.ts +2 -0
  382. package/dist/features/account/schemas/index.d.ts +18 -18
  383. package/dist/features/admin/actions/chat-actions.d.ts +1 -1
  384. package/dist/features/admin/actions/chat-actions.js +10 -10
  385. package/dist/features/admin/components/AdminBlogEditorView.d.ts +2 -1
  386. package/dist/features/admin/components/AdminBlogEditorView.js +16 -14
  387. package/dist/features/admin/components/AdminBlogView.js +6 -3
  388. package/dist/features/admin/components/AdminBrandEditorView.d.ts +3 -1
  389. package/dist/features/admin/components/AdminBrandEditorView.js +16 -14
  390. package/dist/features/admin/components/AdminBrandsView.js +6 -3
  391. package/dist/features/admin/components/AdminCategoriesView.js +6 -3
  392. package/dist/features/admin/components/AdminCategoryEditorView.d.ts +2 -1
  393. package/dist/features/admin/components/AdminCategoryEditorView.js +16 -14
  394. package/dist/features/admin/components/AdminCouponEditorView.d.ts +2 -1
  395. package/dist/features/admin/components/AdminCouponEditorView.js +16 -14
  396. package/dist/features/admin/components/AdminCouponsView.js +6 -3
  397. package/dist/features/admin/components/AdminFaqEditorView.d.ts +2 -1
  398. package/dist/features/admin/components/AdminFaqEditorView.js +16 -14
  399. package/dist/features/admin/components/AdminFaqsView.js +6 -3
  400. package/dist/features/admin/components/AdminFeatureEditorView.d.ts +19 -0
  401. package/dist/features/admin/components/AdminFeatureEditorView.js +150 -0
  402. package/dist/features/admin/components/AdminFeaturesView.d.ts +4 -0
  403. package/dist/features/admin/components/AdminFeaturesView.js +95 -0
  404. package/dist/features/admin/components/AdminHistoryView.d.ts +4 -0
  405. package/dist/features/admin/components/AdminHistoryView.js +57 -0
  406. package/dist/features/admin/components/AdminMediaView.js +64 -2
  407. package/dist/features/admin/components/AdminOrdersView.js +31 -4
  408. package/dist/features/admin/components/AdminProductEditorView.d.ts +2 -1
  409. package/dist/features/admin/components/AdminProductEditorView.js +30 -19
  410. package/dist/features/admin/components/AdminProductsView.js +40 -3
  411. package/dist/features/admin/components/AdminSectionsView.js +138 -2
  412. package/dist/features/admin/components/AdminSiteSettingsView.js +22 -2
  413. package/dist/features/admin/components/AdminStoresView.js +5 -4
  414. package/dist/features/admin/components/AdminUserEditorView.d.ts +4 -1
  415. package/dist/features/admin/components/AdminUserEditorView.js +2 -2
  416. package/dist/features/admin/components/AdminUsersView.js +1 -1
  417. package/dist/features/admin/components/AdminWishlistsView.js +17 -15
  418. package/dist/features/admin/components/DataTable.d.ts +2 -1
  419. package/dist/features/admin/components/DataTable.js +14 -12
  420. package/dist/features/admin/components/DrawerFormFooter.d.ts +9 -21
  421. package/dist/features/admin/components/DrawerFormFooter.js +10 -2
  422. package/dist/features/admin/components/QuickEditMenu.d.ts +20 -0
  423. package/dist/features/admin/components/QuickEditMenu.js +31 -0
  424. package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +11 -23
  425. package/dist/features/admin/components/index.d.ts +8 -0
  426. package/dist/features/admin/components/index.js +4 -0
  427. package/dist/features/admin/components/sections/adminSectionsBuildParse.d.ts +9 -1
  428. package/dist/features/admin/components/sections/adminSectionsBuildParse.js +169 -9
  429. package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +62 -1
  430. package/dist/features/admin/components/sections/adminSectionsTypes.js +57 -4
  431. package/dist/features/admin/hooks/useChat.d.ts +1 -1
  432. package/dist/features/admin/repository/chat.repository.d.ts +2 -2
  433. package/dist/features/admin/repository/chat.repository.js +7 -7
  434. package/dist/features/admin/schemas/firestore.d.ts +42 -7
  435. package/dist/features/admin/schemas/firestore.js +7 -7
  436. package/dist/features/admin/types/product.types.d.ts +2 -2
  437. package/dist/features/auctions/actions/bid-actions.js +3 -2
  438. package/dist/features/auctions/components/AuctionDetailPageView.d.ts +11 -1
  439. package/dist/features/auctions/components/AuctionDetailPageView.js +80 -68
  440. package/dist/features/auctions/components/AuctionsListView.js +11 -6
  441. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +2 -1
  442. package/dist/features/auctions/hooks/useAuctions.js +2 -1
  443. package/dist/features/auctions/repository/auctions.repository.js +4 -4
  444. package/dist/features/auctions/schemas/index.d.ts +24 -24
  445. package/dist/features/auctions/types/index.d.ts +2 -1
  446. package/dist/features/auth/hooks/useAuth.d.ts +8 -0
  447. package/dist/features/auth/hooks/useAuth.js +9 -0
  448. package/dist/features/auth/schemas/index.d.ts +2 -2
  449. package/dist/features/before-after/schemas/index.d.ts +2 -2
  450. package/dist/features/blog/actions/blog-actions.d.ts +63 -63
  451. package/dist/features/blog/components/BlogPostView.d.ts +3 -1
  452. package/dist/features/blog/components/BlogPostView.js +3 -2
  453. package/dist/features/blog/schemas/index.d.ts +41 -41
  454. package/dist/features/bundles/components/AdminBundleEditorView.d.ts +8 -0
  455. package/dist/features/bundles/components/AdminBundleEditorView.js +7 -0
  456. package/dist/features/bundles/components/BundleDetailPageView.d.ts +9 -0
  457. package/dist/features/bundles/components/BundleDetailPageView.js +45 -0
  458. package/dist/features/bundles/components/BundleForm.d.ts +12 -0
  459. package/dist/features/bundles/components/BundleForm.js +126 -0
  460. package/dist/features/bundles/components/BundleItemsPicker.d.ts +9 -0
  461. package/dist/features/bundles/components/BundleItemsPicker.js +77 -0
  462. package/dist/features/bundles/components/BundlesListingView.d.ts +17 -0
  463. package/dist/features/bundles/components/BundlesListingView.js +50 -0
  464. package/dist/features/bundles/components/FeaturedBundlesSection.d.ts +5 -0
  465. package/dist/features/bundles/components/FeaturedBundlesSection.js +55 -0
  466. package/dist/features/bundles/components/SellerBundleCreateView.d.ts +8 -0
  467. package/dist/features/bundles/components/SellerBundleCreateView.js +7 -0
  468. package/dist/features/bundles/components/SellerBundleEditView.d.ts +9 -0
  469. package/dist/features/bundles/components/SellerBundleEditView.js +7 -0
  470. package/dist/features/bundles/components/index.d.ts +16 -0
  471. package/dist/features/bundles/components/index.js +8 -0
  472. package/dist/features/bundles/constants/index.d.ts +32 -0
  473. package/dist/features/bundles/constants/index.js +35 -0
  474. package/dist/features/bundles/index.d.ts +2 -0
  475. package/dist/features/bundles/index.js +2 -0
  476. package/dist/features/bundles/repository/bundles.repository.d.ts +36 -0
  477. package/dist/features/bundles/repository/bundles.repository.js +148 -0
  478. package/dist/features/bundles/repository/index.d.ts +1 -0
  479. package/dist/features/bundles/repository/index.js +1 -0
  480. package/dist/features/bundles/schemas/firestore.d.ts +88 -0
  481. package/dist/features/bundles/schemas/firestore.js +29 -0
  482. package/dist/features/bundles/schemas/index.d.ts +1 -0
  483. package/dist/features/bundles/schemas/index.js +1 -0
  484. package/dist/features/cart/actions/cart-actions.js +2 -1
  485. package/dist/features/cart/repository/cart.repository.js +1 -2
  486. package/dist/features/cart/schemas/firestore.d.ts +9 -6
  487. package/dist/features/cart/schemas/firestore.js +1 -2
  488. package/dist/features/cart/schemas/index.d.ts +7 -7
  489. package/dist/features/cart/utils/guest-cart.d.ts +6 -0
  490. package/dist/features/cart/utils/guest-cart.js +14 -0
  491. package/dist/features/categories/components/BrandDetailPageView.d.ts +3 -1
  492. package/dist/features/categories/components/BrandDetailPageView.js +6 -6
  493. package/dist/features/categories/components/CategoryDetailPageView.js +3 -3
  494. package/dist/features/categories/components/CategoryProductsListing.js +1 -1
  495. package/dist/features/categories/schemas/index.d.ts +24 -24
  496. package/dist/features/collections/schemas/index.d.ts +3 -3
  497. package/dist/features/consultation/schemas/index.d.ts +7 -7
  498. package/dist/features/corporate/schemas/index.d.ts +1 -1
  499. package/dist/features/events/components/AdminEventEditorView.d.ts +2 -1
  500. package/dist/features/events/components/AdminEventEditorView.js +10 -8
  501. package/dist/features/events/components/AdminEventsView.js +6 -3
  502. package/dist/features/events/components/EventDetailView.d.ts +7 -1
  503. package/dist/features/events/components/EventDetailView.js +4 -1
  504. package/dist/features/events/components/EventRafflesSection.d.ts +12 -0
  505. package/dist/features/events/components/EventRafflesSection.js +17 -0
  506. package/dist/features/events/components/index.d.ts +2 -0
  507. package/dist/features/events/components/index.js +1 -0
  508. package/dist/features/events/schemas/index.d.ts +41 -41
  509. package/dist/features/faq/actions/faq-actions.d.ts +16 -16
  510. package/dist/features/faq/schemas/index.d.ts +12 -12
  511. package/dist/features/history/actions/history-actions.d.ts +24 -0
  512. package/dist/features/history/actions/history-actions.js +43 -0
  513. package/dist/features/history/actions/index.d.ts +1 -0
  514. package/dist/features/history/actions/index.js +1 -0
  515. package/dist/features/history/components/HistoryTracker.d.ts +8 -0
  516. package/dist/features/history/components/HistoryTracker.js +18 -0
  517. package/dist/features/history/hooks/useHistory.d.ts +16 -0
  518. package/dist/features/history/hooks/useHistory.js +148 -0
  519. package/dist/features/history/hooks/useHistoryMergeOnLogin.d.ts +1 -0
  520. package/dist/features/history/hooks/useHistoryMergeOnLogin.js +41 -0
  521. package/dist/features/history/index.d.ts +5 -0
  522. package/dist/features/history/index.js +4 -0
  523. package/dist/features/history/repository/user-history.repository.d.ts +59 -0
  524. package/dist/features/history/repository/user-history.repository.js +203 -0
  525. package/dist/features/history/server.d.ts +6 -0
  526. package/dist/features/history/server.js +6 -0
  527. package/dist/features/history/utils/guest-history.d.ts +24 -0
  528. package/dist/features/history/utils/guest-history.js +66 -0
  529. package/dist/features/homepage/actions/homepage-section-actions.d.ts +4 -4
  530. package/dist/features/homepage/components/BrandsSection.d.ts +7 -1
  531. package/dist/features/homepage/components/BrandsSection.js +26 -4
  532. package/dist/features/homepage/components/CollectionCardsSection.d.ts +13 -0
  533. package/dist/features/homepage/components/CollectionCardsSection.js +41 -0
  534. package/dist/features/homepage/components/FAQSection.d.ts +14 -4
  535. package/dist/features/homepage/components/FAQSection.js +63 -13
  536. package/dist/features/homepage/components/FeaturedProductsSection.d.ts +8 -1
  537. package/dist/features/homepage/components/FeaturedProductsSection.js +42 -2
  538. package/dist/features/homepage/components/MarketplaceHomepageView.js +17 -8
  539. package/dist/features/homepage/components/ShopByCategorySection.d.ts +8 -1
  540. package/dist/features/homepage/components/ShopByCategorySection.js +44 -4
  541. package/dist/features/homepage/components/SocialFeedSection.js +22 -2
  542. package/dist/features/homepage/components/SocialPostCard.js +20 -5
  543. package/dist/features/homepage/components/WelcomeSection.js +2 -2
  544. package/dist/features/homepage/components/WhatsAppCommunitySection.d.ts +0 -1
  545. package/dist/features/homepage/components/WhatsAppCommunitySection.js +4 -4
  546. package/dist/features/homepage/lib/live-stats.d.ts +18 -5
  547. package/dist/features/homepage/lib/live-stats.js +60 -29
  548. package/dist/features/homepage/lib/section-renderer.d.ts +2 -1
  549. package/dist/features/homepage/lib/section-renderer.js +50 -11
  550. package/dist/features/homepage/repository/carousels.repository.d.ts +38 -0
  551. package/dist/features/homepage/repository/carousels.repository.js +142 -0
  552. package/dist/features/homepage/schemas/firestore.d.ts +177 -21
  553. package/dist/features/homepage/schemas/firestore.js +24 -0
  554. package/dist/features/layout/AppLayoutShell.d.ts +3 -1
  555. package/dist/features/layout/AppLayoutShell.js +2 -2
  556. package/dist/features/layout/TitleBarLayout.d.ts +3 -1
  557. package/dist/features/layout/TitleBarLayout.js +5 -4
  558. package/dist/features/layout/index.d.ts +1 -1
  559. package/dist/features/media/MediaPickerModal.js +67 -3
  560. package/dist/features/media/types/index.d.ts +2 -2
  561. package/dist/features/media/upload/MediaUploadField.js +21 -5
  562. package/dist/features/messages/actions/index.d.ts +2 -0
  563. package/dist/features/messages/actions/index.js +2 -0
  564. package/dist/features/messages/actions/messages-actions.d.ts +15 -0
  565. package/dist/features/messages/actions/messages-actions.js +33 -0
  566. package/dist/features/messages/actions/ping-rtdb.d.ts +2 -0
  567. package/dist/features/messages/actions/ping-rtdb.js +24 -0
  568. package/dist/features/messages/hooks/useConversation.d.ts +22 -0
  569. package/dist/features/messages/hooks/useConversation.js +125 -0
  570. package/dist/features/messages/hooks/useConversations.d.ts +9 -0
  571. package/dist/features/messages/hooks/useConversations.js +62 -0
  572. package/dist/features/messages/index.d.ts +6 -0
  573. package/dist/features/messages/index.js +4 -0
  574. package/dist/features/messages/realtime.d.ts +32 -0
  575. package/dist/features/messages/realtime.js +39 -0
  576. package/dist/features/messages/repository/conversations.repository.d.ts +35 -0
  577. package/dist/features/messages/repository/conversations.repository.js +180 -0
  578. package/dist/features/messages/server.d.ts +6 -0
  579. package/dist/features/messages/server.js +6 -0
  580. package/dist/features/orders/schemas/firestore.d.ts +21 -0
  581. package/dist/features/orders/schemas/index.d.ts +28 -28
  582. package/dist/features/orders/utils/order-splitter.d.ts +12 -2
  583. package/dist/features/orders/utils/order-splitter.js +13 -2
  584. package/dist/features/payments/schemas/index.d.ts +6 -6
  585. package/dist/features/pre-orders/api/route.js +10 -11
  586. package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +11 -1
  587. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +45 -35
  588. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +24 -7
  589. package/dist/features/pre-orders/components/PreOrdersListView.js +10 -5
  590. package/dist/features/pre-orders/schemas/index.d.ts +6 -6
  591. package/dist/features/products/actions/product-actions.d.ts +2 -2
  592. package/dist/features/products/actions/product-actions.js +21 -16
  593. package/dist/features/products/api/[id]/route.js +4 -4
  594. package/dist/features/products/api/route.js +21 -6
  595. package/dist/features/products/components/AuctionsIndexListing.js +1 -1
  596. package/dist/features/products/components/CompareOverlay.d.ts +51 -0
  597. package/dist/features/products/components/CompareOverlay.js +154 -0
  598. package/dist/features/products/components/FeatureBadge.d.ts +28 -0
  599. package/dist/features/products/components/FeatureBadge.js +63 -0
  600. package/dist/features/products/components/GroupSettingsPanel.js +1 -1
  601. package/dist/features/products/components/NonRefundableConsentModal.d.ts +23 -0
  602. package/dist/features/products/components/NonRefundableConsentModal.js +55 -0
  603. package/dist/features/products/components/PrizeDrawsSection.d.ts +12 -0
  604. package/dist/features/products/components/PrizeDrawsSection.js +17 -0
  605. package/dist/features/products/components/ProductDetailPageView.d.ts +16 -1
  606. package/dist/features/products/components/ProductDetailPageView.js +65 -60
  607. package/dist/features/products/components/ProductFeaturesContext.d.ts +9 -0
  608. package/dist/features/products/components/ProductFeaturesContext.js +11 -0
  609. package/dist/features/products/components/ProductFeaturesSelector.d.ts +12 -0
  610. package/dist/features/products/components/ProductFeaturesSelector.js +72 -0
  611. package/dist/features/products/components/ProductForm.js +9 -3
  612. package/dist/features/products/components/ProductGrid.js +9 -3
  613. package/dist/features/products/components/ProductsIndexListing.js +24 -8
  614. package/dist/features/products/components/ProductsIndexPageView.js +12 -7
  615. package/dist/features/products/components/ShowGroupSection.js +2 -1
  616. package/dist/features/products/components/SublistingCarouselSection.js +3 -2
  617. package/dist/features/products/components/index.d.ts +12 -0
  618. package/dist/features/products/components/index.js +6 -0
  619. package/dist/features/products/constants/action-defs.d.ts +209 -0
  620. package/dist/features/products/constants/action-defs.js +270 -0
  621. package/dist/features/products/constants/product-features.constants.d.ts +23 -0
  622. package/dist/features/products/constants/product-features.constants.js +50 -0
  623. package/dist/features/products/hooks/useProducts.d.ts +1 -0
  624. package/dist/features/products/hooks/useProducts.js +15 -6
  625. package/dist/features/products/hooks/useRelatedProducts.d.ts +5 -0
  626. package/dist/features/products/hooks/useRelatedProducts.js +9 -1
  627. package/dist/features/products/index.d.ts +3 -1
  628. package/dist/features/products/index.js +3 -1
  629. package/dist/features/products/repository/loadProductFeatures.d.ts +2 -0
  630. package/dist/features/products/repository/loadProductFeatures.js +23 -0
  631. package/dist/features/products/repository/product-features.repository.d.ts +27 -0
  632. package/dist/features/products/repository/product-features.repository.js +141 -0
  633. package/dist/features/products/repository/product-templates.repository.d.ts +12 -0
  634. package/dist/features/products/repository/product-templates.repository.js +61 -0
  635. package/dist/features/products/repository/products.repository.d.ts +16 -1
  636. package/dist/features/products/repository/products.repository.js +126 -6
  637. package/dist/features/products/schemas/firestore.d.ts +43 -5
  638. package/dist/features/products/schemas/firestore.js +6 -7
  639. package/dist/features/products/schemas/index.d.ts +147 -51
  640. package/dist/features/products/schemas/index.js +32 -3
  641. package/dist/features/products/schemas/product-features.d.ts +84 -0
  642. package/dist/features/products/schemas/product-features.js +33 -0
  643. package/dist/features/products/schemas/product-features.validators.d.ts +107 -0
  644. package/dist/features/products/schemas/product-features.validators.js +64 -0
  645. package/dist/features/products/schemas/product-templates.d.ts +28 -0
  646. package/dist/features/products/schemas/product-templates.js +6 -0
  647. package/dist/features/products/types/index.d.ts +13 -5
  648. package/dist/features/products/utils/listing-type.d.ts +23 -2
  649. package/dist/features/products/utils/listing-type.js +14 -7
  650. package/dist/features/products/utils/sanitize.d.ts +2 -0
  651. package/dist/features/products/utils/sanitize.js +25 -0
  652. package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
  653. package/dist/features/promotions/components/CouponsIndexListing.d.ts +4 -4
  654. package/dist/features/promotions/components/CouponsIndexListing.js +3 -3
  655. package/dist/features/promotions/hooks/useCouponValidate.d.ts +2 -2
  656. package/dist/features/promotions/repository/coupons.repository.d.ts +2 -2
  657. package/dist/features/promotions/repository/coupons.repository.js +5 -5
  658. package/dist/features/promotions/schemas/index.d.ts +18 -18
  659. package/dist/features/reviews/schemas/index.d.ts +16 -16
  660. package/dist/features/search/actions/search-actions.js +4 -5
  661. package/dist/features/search/api/route.js +13 -10
  662. package/dist/features/search/columns/index.d.ts +1 -1
  663. package/dist/features/search/columns/index.js +4 -4
  664. package/dist/features/search/repository/search.repository.js +4 -6
  665. package/dist/features/search/schemas/index.d.ts +5 -5
  666. package/dist/features/search/types/index.d.ts +4 -3
  667. package/dist/features/seller/actions/offer-actions.js +1 -2
  668. package/dist/features/seller/components/BrandInlineSelect.d.ts +9 -0
  669. package/dist/features/seller/components/BrandInlineSelect.js +26 -0
  670. package/dist/features/seller/components/CategoryInlineSelect.d.ts +9 -0
  671. package/dist/features/seller/components/CategoryInlineSelect.js +26 -0
  672. package/dist/features/seller/components/SellerFeaturesView.d.ts +1 -0
  673. package/dist/features/seller/components/SellerFeaturesView.js +61 -0
  674. package/dist/features/seller/components/SellerProductShell.d.ts +15 -1
  675. package/dist/features/seller/components/SellerProductShell.js +7 -7
  676. package/dist/features/seller/components/SellerProductsView.js +17 -17
  677. package/dist/features/seller/components/SellerStorefrontView.d.ts +7 -0
  678. package/dist/features/seller/components/SellerStorefrontView.js +12 -2
  679. package/dist/features/seller/components/analytics/SellerRevenueChart.js +9 -17
  680. package/dist/features/seller/components/index.d.ts +6 -0
  681. package/dist/features/seller/components/index.js +4 -0
  682. package/dist/features/seller/schemas/index.d.ts +26 -26
  683. package/dist/features/shell/FormShell.d.ts +9 -1
  684. package/dist/features/shell/FormShell.js +5 -3
  685. package/dist/features/stores/actions/store-query-actions.js +2 -2
  686. package/dist/features/stores/api/[storeSlug]/auctions/route.js +11 -15
  687. package/dist/features/stores/api/[storeSlug]/products/route.js +11 -15
  688. package/dist/features/stores/api/route.js +12 -14
  689. package/dist/features/stores/components/StoreAuctionsListing.d.ts +2 -4
  690. package/dist/features/stores/components/StoreAuctionsListing.js +3 -4
  691. package/dist/features/stores/components/StoreAuctionsPageView.js +1 -1
  692. package/dist/features/stores/components/StoreDetailLayoutView.js +3 -3
  693. package/dist/features/stores/components/StorePreOrdersListing.d.ts +1 -3
  694. package/dist/features/stores/components/StorePreOrdersListing.js +2 -3
  695. package/dist/features/stores/components/StorePreOrdersPageView.js +1 -1
  696. package/dist/features/stores/components/StoreProductsListing.d.ts +2 -4
  697. package/dist/features/stores/components/StoreProductsListing.js +2 -3
  698. package/dist/features/stores/components/StoreProductsPageView.d.ts +4 -1
  699. package/dist/features/stores/components/StoreProductsPageView.js +17 -11
  700. package/dist/features/stores/repository/store.repository.d.ts +10 -0
  701. package/dist/features/stores/repository/store.repository.js +39 -0
  702. package/dist/features/stores/schemas/firestore.d.ts +7 -0
  703. package/dist/features/stores/schemas/index.d.ts +8 -8
  704. package/dist/features/stores/types/index.d.ts +4 -3
  705. package/dist/features/wishlist/actions/wishlist-actions.d.ts +8 -6
  706. package/dist/features/wishlist/actions/wishlist-actions.js +9 -7
  707. package/dist/features/wishlist/components/WishlistCapWatcher.d.ts +1 -0
  708. package/dist/features/wishlist/components/WishlistCapWatcher.js +24 -0
  709. package/dist/features/wishlist/components/index.d.ts +1 -0
  710. package/dist/features/wishlist/components/index.js +1 -0
  711. package/dist/features/wishlist/hooks/useWishlistCount.d.ts +17 -0
  712. package/dist/features/wishlist/hooks/useWishlistCount.js +36 -1
  713. package/dist/features/wishlist/index.d.ts +2 -0
  714. package/dist/features/wishlist/index.js +1 -0
  715. package/dist/features/wishlist/repository/user-wishlist.repository.d.ts +52 -7
  716. package/dist/features/wishlist/repository/user-wishlist.repository.js +154 -44
  717. package/dist/features/wishlist/schemas/index.d.ts +2 -2
  718. package/dist/features/wishlist/server.d.ts +1 -1
  719. package/dist/features/wishlist/server.js +1 -1
  720. package/dist/features/wishlist/types/index.d.ts +2 -2
  721. package/dist/index.d.ts +87 -5
  722. package/dist/index.js +101 -12
  723. package/dist/next/api/routeHandler.d.ts +7 -0
  724. package/dist/next/api/routeHandler.js +8 -0
  725. package/dist/next/routing/route-map.d.ts +68 -0
  726. package/dist/next/routing/route-map.js +32 -0
  727. package/dist/providers/db-firebase/filter-aliases.d.ts +20 -0
  728. package/dist/providers/db-firebase/filter-aliases.js +29 -0
  729. package/dist/providers/db-firebase/index.d.ts +2 -2
  730. package/dist/providers/db-firebase/index.js +1 -1
  731. package/dist/providers/db-firebase/sieve.d.ts +9 -0
  732. package/dist/providers/db-firebase/sieve.js +24 -6
  733. package/dist/providers/firebase-client/auth.d.ts +1 -0
  734. package/dist/providers/firebase-client/auth.js +9 -1
  735. package/dist/providers/shipping-shiprocket/index.d.ts +9 -0
  736. package/dist/providers/shipping-shiprocket/index.js +11 -0
  737. package/dist/react/hooks/use-action-dispatch.d.ts +25 -0
  738. package/dist/react/hooks/use-action-dispatch.js +30 -0
  739. package/dist/react/hooks/use-panel-url-sync.d.ts +15 -0
  740. package/dist/react/hooks/use-panel-url-sync.js +46 -0
  741. package/dist/react/hooks/useInfiniteScroll.d.ts +52 -0
  742. package/dist/react/hooks/useInfiniteScroll.js +45 -0
  743. package/dist/repositories/index.d.ts +9 -1
  744. package/dist/repositories/index.js +8 -1
  745. package/dist/seed/_bundle-constants.d.ts +14 -0
  746. package/dist/seed/_bundle-constants.js +14 -0
  747. package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
  748. package/dist/seed/bids-seed-data.js +165 -0
  749. package/dist/seed/blog-posts-seed-data.js +393 -0
  750. package/dist/seed/bundles-seed-data.d.ts +13 -0
  751. package/dist/seed/bundles-seed-data.js +229 -0
  752. package/dist/seed/carousels-seed-data.d.ts +2 -0
  753. package/dist/seed/carousels-seed-data.js +16 -0
  754. package/dist/seed/cart-seed-data.js +161 -16
  755. package/dist/seed/categories-seed-data.js +168 -0
  756. package/dist/seed/coupons-seed-data.js +174 -0
  757. package/dist/seed/events-seed-data.js +161 -0
  758. package/dist/seed/history-seed-data.d.ts +19 -0
  759. package/dist/seed/history-seed-data.js +61 -0
  760. package/dist/seed/homepage-sections-seed-data.js +97 -1
  761. package/dist/seed/index.d.ts +4 -3
  762. package/dist/seed/index.js +9 -3
  763. package/dist/seed/manifest.js +23 -1
  764. package/dist/seed/notifications-seed-data.js +60 -0
  765. package/dist/seed/orders-seed-data.js +2 -2
  766. package/dist/seed/product-features-seed-data.d.ts +10 -0
  767. package/dist/seed/product-features-seed-data.js +162 -0
  768. package/dist/seed/products-auctions-seed-data.d.ts +6 -1
  769. package/dist/seed/products-auctions-seed-data.js +495 -24
  770. package/dist/seed/products-preorders-seed-data.d.ts +6 -1
  771. package/dist/seed/products-preorders-seed-data.js +27 -18
  772. package/dist/seed/products-standard-seed-data.d.ts +5 -0
  773. package/dist/seed/products-standard-seed-data.js +208 -297
  774. package/dist/seed/runner.js +95 -16
  775. package/dist/seed/server.d.ts +2 -0
  776. package/dist/seed/server.js +7 -0
  777. package/dist/seed/site-settings-seed-data.js +11 -1
  778. package/dist/seed/types.d.ts +58 -1
  779. package/dist/seed/types.js +14 -1
  780. package/dist/seed/wishlists-seed-data.d.ts +14 -7
  781. package/dist/seed/wishlists-seed-data.js +52 -109
  782. package/dist/seo/json-ld.d.ts +2 -1
  783. package/dist/server-entry.d.ts +60 -0
  784. package/dist/server-entry.js +93 -0
  785. package/dist/server.d.ts +26 -3
  786. package/dist/server.js +39 -7
  787. package/dist/stores/panel-store.d.ts +9 -0
  788. package/dist/stores/panel-store.js +8 -0
  789. package/dist/tailwind-utilities.css +1 -1
  790. package/dist/tokens/tokens.css +182 -12
  791. package/dist/ui/DataTable.style.css +192 -190
  792. package/dist/ui/components/Accordion.style.css +82 -82
  793. package/dist/ui/components/ActiveFilterChips.style.css +12 -12
  794. package/dist/ui/components/Alert.style.css +187 -187
  795. package/dist/ui/components/Avatar.style.css +71 -71
  796. package/dist/ui/components/AvatarDisplay.style.css +3 -3
  797. package/dist/ui/components/Badge.style.css +114 -114
  798. package/dist/ui/components/BaseListingCard.style.css +86 -86
  799. package/dist/ui/components/Breadcrumb.style.css +10 -10
  800. package/dist/ui/components/BulkActionBar.style.css +196 -196
  801. package/dist/ui/components/BulkActionsBar.d.ts +2 -0
  802. package/dist/ui/components/BulkActionsBar.js +5 -2
  803. package/dist/ui/components/Button.d.ts +3 -1
  804. package/dist/ui/components/Button.js +12 -2
  805. package/dist/ui/components/Button.style.css +160 -160
  806. package/dist/ui/components/Card.style.css +190 -190
  807. package/dist/ui/components/Checkbox.style.css +111 -111
  808. package/dist/ui/components/ConfirmDeleteModal.style.css +89 -89
  809. package/dist/ui/components/DashboardStatsCard.style.css +68 -68
  810. package/dist/ui/components/DescriptionField.style.css +36 -36
  811. package/dist/ui/components/DetailViewShell.js +1 -2
  812. package/dist/ui/components/Divider.style.css +39 -39
  813. package/dist/ui/components/Drawer.style.css +150 -150
  814. package/dist/ui/components/Dropdown.style.css +110 -110
  815. package/dist/ui/components/DynamicSelect.style.css +101 -101
  816. package/dist/ui/components/EmptyState.style.css +2 -2
  817. package/dist/ui/components/FilterDrawer.style.css +61 -61
  818. package/dist/ui/components/FlowDiagram.style.css +3 -3
  819. package/dist/ui/components/Form.style.css +27 -27
  820. package/dist/ui/components/FormActionBar.d.ts +22 -0
  821. package/dist/ui/components/FormActionBar.js +8 -0
  822. package/dist/ui/components/FormActionBar.style.css +77 -0
  823. package/dist/ui/components/FormField.style.css +30 -30
  824. package/dist/ui/components/HorizontalScroller.style.css +10 -10
  825. package/dist/ui/components/IconButton.style.css +103 -103
  826. package/dist/ui/components/ImageGallery.style.css +4 -4
  827. package/dist/ui/components/InlineCreateSelect.d.ts +13 -3
  828. package/dist/ui/components/InlineCreateSelect.js +9 -4
  829. package/dist/ui/components/Input.style.css +28 -28
  830. package/dist/ui/components/Layout.d.ts +2 -0
  831. package/dist/ui/components/Layout.js +2 -0
  832. package/dist/ui/components/Layout.style.css +22 -5
  833. package/dist/ui/components/ListingLayout.style.css +491 -491
  834. package/dist/ui/components/Modal.style.css +106 -106
  835. package/dist/ui/components/Pagination.style.css +76 -76
  836. package/dist/ui/components/PasswordStrengthIndicator.style.css +56 -56
  837. package/dist/ui/components/PriceDisplay.style.css +47 -47
  838. package/dist/ui/components/Progress.style.css +81 -81
  839. package/dist/ui/components/Radio.style.css +153 -153
  840. package/dist/ui/components/RatingDisplay.style.css +50 -50
  841. package/dist/ui/components/RowActionMenu.style.css +91 -91
  842. package/dist/ui/components/SectionTabs.style.css +18 -18
  843. package/dist/ui/components/Select.style.css +177 -177
  844. package/dist/ui/components/SideDrawer.style.css +206 -206
  845. package/dist/ui/components/SideModal.style.css +73 -73
  846. package/dist/ui/components/SiteLogo.d.ts +26 -0
  847. package/dist/ui/components/SiteLogo.js +18 -0
  848. package/dist/ui/components/Skeleton.style.css +55 -55
  849. package/dist/ui/components/SkipToMain.style.css +3 -3
  850. package/dist/ui/components/Slider.style.css +15 -15
  851. package/dist/ui/components/Spinner.style.css +84 -84
  852. package/dist/ui/components/StarRating.style.css +44 -44
  853. package/dist/ui/components/StatsGrid.style.css +96 -96
  854. package/dist/ui/components/StepperNav.style.css +110 -110
  855. package/dist/ui/components/SummaryCard.style.css +80 -82
  856. package/dist/ui/components/TabStrip.style.css +97 -97
  857. package/dist/ui/components/TablePagination.style.css +89 -89
  858. package/dist/ui/components/Tabs.style.css +44 -44
  859. package/dist/ui/components/TagInput.style.css +121 -121
  860. package/dist/ui/components/TextLink.style.css +94 -94
  861. package/dist/ui/components/Textarea.style.css +30 -30
  862. package/dist/ui/components/Toast.style.css +112 -112
  863. package/dist/ui/components/Toggle.style.css +105 -105
  864. package/dist/ui/components/Tooltip.style.css +114 -114
  865. package/dist/ui/components/Typography.style.css +178 -178
  866. package/dist/ui/components/UnsavedChangesModal.style.css +1 -1
  867. package/dist/ui/components/ViewToggle.style.css +8 -8
  868. package/dist/ui/components/index.style.css +1 -0
  869. package/dist/ui/index.d.ts +4 -0
  870. package/dist/ui/index.js +2 -0
  871. package/dist/ui/rich-text/RichText.style.css +40 -40
  872. package/dist/utils/index.d.ts +1 -0
  873. package/dist/utils/index.js +1 -0
  874. package/dist/utils/listing-params.d.ts +86 -0
  875. package/dist/utils/listing-params.js +121 -0
  876. package/dist/validation/schemas.d.ts +22 -22
  877. package/package.json +62 -10
  878. package/scripts/audit-violations.mjs +77 -0
  879. package/scripts/init-config.mjs +76 -0
  880. package/scripts/labels-extract.mjs +64 -0
  881. package/scripts/seed-cli-loader.mjs +37 -0
  882. package/scripts/seed-cli.mjs +660 -0
  883. package/scripts/sieve-audit.mjs +475 -0
  884. package/scripts/smoke-bundle.mjs +60 -0
  885. package/scripts/smoke-ssr.mjs +81 -0
  886. package/scripts/smoke-theme.mjs +105 -0
  887. package/scripts/verify-css-build.mjs +49 -0
  888. package/scripts/verify-entries.mjs +55 -0
  889. package/tsconfig.base.json +16 -0
@@ -5,11 +5,12 @@ import Link from "next/link";
5
5
  import { ROUTES } from "../../../next";
6
6
  import { Row, Text } from "../../../ui";
7
7
  import { formatCurrency } from "../../../utils/number.formatter";
8
+ import { isAuctionListing, isPreOrderListing } from "../utils/listing-type";
8
9
  function getHref(listing) {
9
10
  const slug = listing.slug ?? listing.id;
10
- if (listing.isAuction)
11
+ if (isAuctionListing(listing))
11
12
  return String(ROUTES.PUBLIC.AUCTION_DETAIL(slug));
12
- if (listing.isPreOrder)
13
+ if (isPreOrderListing(listing))
13
14
  return String(ROUTES.PUBLIC.PRE_ORDER_DETAIL(slug));
14
15
  return String(ROUTES.PUBLIC.PRODUCT_DETAIL(slug));
15
16
  }
@@ -5,7 +5,15 @@ export { InteractiveProductCard } from "./InteractiveProductCard";
5
5
  export type { InteractiveProductCardProps } from "./InteractiveProductCard";
6
6
  export { ProductForm, PRODUCT_STATUS_OPTIONS } from "./ProductForm";
7
7
  export type { ProductFormProps, ProductFormValue } from "./ProductForm";
8
+ export { NonRefundableConsentModal } from "./NonRefundableConsentModal";
9
+ export type { NonRefundableConsentModalProps, NonRefundableListingType, } from "./NonRefundableConsentModal";
10
+ export { ProductFeaturesSelector } from "./ProductFeaturesSelector";
11
+ export type { ProductFeaturesSelectorProps } from "./ProductFeaturesSelector";
8
12
  export { ProductFeatureBadges } from "./ProductFeatureBadges";
13
+ export { FeatureBadge, FeatureBadgeList } from "./FeatureBadge";
14
+ export type { FeatureBadgeProps, FeatureBadgeListProps, } from "./FeatureBadge";
15
+ export { ProductFeaturesProvider, useProductFeatures, } from "./ProductFeaturesContext";
16
+ export type { ProductFeaturesProviderProps } from "./ProductFeaturesContext";
9
17
  export { BuyBar } from "./BuyBar";
10
18
  export type { BuyBarProps } from "./BuyBar";
11
19
  export { ProductsView } from "./ProductsView";
@@ -49,3 +57,7 @@ export { SublistingCarouselSection } from "./SublistingCarouselSection";
49
57
  export { ShowGroupSection } from "./ShowGroupSection";
50
58
  export { GroupSettingsPanel } from "./GroupSettingsPanel";
51
59
  export type { GroupSettingsPanelProps } from "./GroupSettingsPanel";
60
+ export { PrizeDrawsSection } from "./PrizeDrawsSection";
61
+ export type { PrizeDrawsSectionProps } from "./PrizeDrawsSection";
62
+ export { CompareOverlay } from "./CompareOverlay";
63
+ export type { CompareOverlayProps, CompareOverlayLabels, CompareProductLike, } from "./CompareOverlay";
@@ -2,7 +2,11 @@ export { ProductCard, ProductGrid } from "./ProductGrid";
2
2
  export { ProductFilters, PRODUCT_FILTER_KEYS, PRODUCT_ADMIN_SORT_OPTIONS, PRODUCT_SELLER_SORT_OPTIONS, PRODUCT_PUBLIC_SORT_OPTIONS, getProductFilterKeys, getProductSortOptions, } from "./ProductFilters";
3
3
  export { InteractiveProductCard } from "./InteractiveProductCard";
4
4
  export { ProductForm, PRODUCT_STATUS_OPTIONS } from "./ProductForm";
5
+ export { NonRefundableConsentModal } from "./NonRefundableConsentModal";
6
+ export { ProductFeaturesSelector } from "./ProductFeaturesSelector";
5
7
  export { ProductFeatureBadges } from "./ProductFeatureBadges";
8
+ export { FeatureBadge, FeatureBadgeList } from "./FeatureBadge";
9
+ export { ProductFeaturesProvider, useProductFeatures, } from "./ProductFeaturesContext";
6
10
  export { BuyBar } from "./BuyBar";
7
11
  export { ProductsView } from "./ProductsView";
8
12
  export { AuctionsView } from "./AuctionsView";
@@ -27,3 +31,5 @@ export { SublistingCategorySelect } from "./SublistingCategorySelect";
27
31
  export { SublistingCarouselSection } from "./SublistingCarouselSection";
28
32
  export { ShowGroupSection } from "./ShowGroupSection";
29
33
  export { GroupSettingsPanel } from "./GroupSettingsPanel";
34
+ export { PrizeDrawsSection } from "./PrizeDrawsSection";
35
+ export { CompareOverlay } from "./CompareOverlay";
@@ -0,0 +1,209 @@
1
+ /**
2
+ * action-defs.ts
3
+ *
4
+ * Single source of truth for ALL action IDs, labels, variants, and groupings
5
+ * used across the platform:
6
+ *
7
+ * Product detail pages — desktop action panel + mobile BuyBar
8
+ * Listing pages — BulkActionsBar selections
9
+ * Table rows — RowActionMenu items (admin / seller / user)
10
+ * Form shells — submit / cancel / save-draft / publish / delete
11
+ * Dashboard quick bar — top-level shortcut buttons per dashboard type
12
+ *
13
+ * Pure TypeScript — no React, no JSX, no callbacks.
14
+ * Consuming components resolve iconName → Lucide component, and supply onClick.
15
+ */
16
+ export type ActionVariant = "primary" | "secondary" | "outline" | "ghost" | "danger" | "warning";
17
+ export declare const ACTION_ID: {
18
+ readonly BUY_NOW: "buy-now";
19
+ readonly ADD_TO_CART: "add-to-cart";
20
+ readonly ADD_TO_WISHLIST: "add-to-wishlist";
21
+ readonly REMOVE_FROM_WISHLIST: "remove-from-wishlist";
22
+ readonly MAKE_OFFER: "make-offer";
23
+ readonly SHARE: "share";
24
+ readonly COMPARE: "compare";
25
+ readonly PLACE_BID: "place-bid";
26
+ readonly BUY_NOW_AUCTION: "buy-now-auction";
27
+ readonly WATCH_AUCTION: "watch-auction";
28
+ readonly RESERVE_NOW: "reserve-now";
29
+ readonly CANCEL_RESERVATION: "cancel-reservation";
30
+ };
31
+ export type ActionId = (typeof ACTION_ID)[keyof typeof ACTION_ID];
32
+ export interface ActionMeta {
33
+ id: ActionId;
34
+ /** Display label for buttons and menu items */
35
+ label: string;
36
+ /** Button variant — maps to the design system's Button variant prop */
37
+ variant: ActionVariant;
38
+ /** Lucide icon name — consuming component resolves this to the React component */
39
+ iconName?: string;
40
+ /** When true, the action is hidden if the user is not authenticated */
41
+ requiresAuth?: boolean;
42
+ }
43
+ export declare const ACTION_META: Record<ActionId, ActionMeta>;
44
+ export declare const DETAIL_ACTIONS: {
45
+ /** Standard product: buy, cart, wishlist, offer, share */
46
+ readonly product: readonly ["buy-now", "add-to-cart", "add-to-wishlist", "make-offer", "share"];
47
+ /** Auction: bid, buy-now, watch, share */
48
+ readonly auction: readonly ["place-bid", "buy-now-auction", "watch-auction", "share"];
49
+ /** Pre-order: reserve, wishlist, share */
50
+ readonly preorder: readonly ["reserve-now", "add-to-wishlist", "share"];
51
+ };
52
+ export declare const MOBILE_PRIMARY_ACTIONS: {
53
+ readonly product: readonly ["buy-now", "add-to-cart"];
54
+ readonly auction: readonly ["place-bid", "buy-now-auction"];
55
+ readonly preorder: readonly ["reserve-now"];
56
+ };
57
+ export declare const LISTING_BULK_ACTIONS: {
58
+ readonly products: readonly ["add-to-cart", "add-to-wishlist", "compare"];
59
+ readonly auctions: readonly ["watch-auction", "add-to-wishlist", "compare"];
60
+ readonly preorders: readonly ["add-to-cart", "add-to-wishlist", "compare"];
61
+ readonly stores: ActionId[];
62
+ };
63
+ /** Maximum number of items the Compare overlay (BK3) supports at once. */
64
+ export declare const COMPARE_MAX_ITEMS = 4;
65
+ export declare const ROW_ACTION_ID: {
66
+ readonly EDIT: "row-edit";
67
+ readonly VIEW: "row-view";
68
+ readonly DELETE: "row-delete";
69
+ readonly APPROVE: "row-approve";
70
+ readonly REJECT: "row-reject";
71
+ readonly SUSPEND: "row-suspend";
72
+ readonly RESTORE: "row-restore";
73
+ readonly MANAGE: "row-manage";
74
+ readonly DUPLICATE: "row-duplicate";
75
+ readonly EXPORT: "row-export";
76
+ readonly TRACK: "row-track";
77
+ readonly CANCEL: "row-cancel";
78
+ readonly REFUND: "row-refund";
79
+ readonly RESEND: "row-resend";
80
+ readonly REPLY: "row-reply";
81
+ readonly PUBLISH: "row-publish";
82
+ readonly ARCHIVE: "row-archive";
83
+ };
84
+ export type RowActionId = (typeof ROW_ACTION_ID)[keyof typeof ROW_ACTION_ID];
85
+ export interface RowActionMeta {
86
+ id: RowActionId;
87
+ /** Menu item label */
88
+ label: string;
89
+ /** Lucide icon name */
90
+ iconName?: string;
91
+ /** When true, item renders in red (destructive) in RowActionMenu */
92
+ destructive?: boolean;
93
+ /** Adds a separator above this item in the dropdown */
94
+ separator?: boolean;
95
+ }
96
+ export declare const ROW_ACTION_META: Record<RowActionId, RowActionMeta>;
97
+ export declare const ADMIN_ROW_ACTIONS: {
98
+ readonly users: readonly ["row-view", "row-edit", "row-suspend", "row-restore", "row-delete"];
99
+ readonly stores: readonly ["row-manage", "row-approve", "row-reject", "row-suspend", "row-delete"];
100
+ readonly products: readonly ["row-view", "row-edit", "row-publish", "row-archive", "row-delete"];
101
+ readonly orders: readonly ["row-view", "row-edit", "row-refund", "row-cancel"];
102
+ readonly reviews: readonly ["row-view", "row-approve", "row-reject", "row-delete"];
103
+ readonly events: readonly ["row-view", "row-edit", "row-archive", "row-delete"];
104
+ readonly payouts: readonly ["row-view", "row-approve", "row-reject"];
105
+ readonly coupons: readonly ["row-edit", "row-duplicate", "row-archive", "row-delete"];
106
+ readonly blog: readonly ["row-view", "row-edit", "row-publish", "row-archive", "row-delete"];
107
+ readonly faqs: readonly ["row-edit", "row-archive", "row-delete"];
108
+ readonly bids: readonly ["row-view", "row-cancel"];
109
+ };
110
+ export declare const SELLER_ROW_ACTIONS: {
111
+ readonly products: readonly ["row-view", "row-edit", "row-duplicate", "row-archive", "row-delete"];
112
+ readonly orders: readonly ["row-view", "row-edit", "row-track", "row-resend"];
113
+ readonly reviews: readonly ["row-view", "row-reply"];
114
+ readonly payouts: readonly ["row-view", "row-export"];
115
+ readonly coupons: readonly ["row-edit", "row-duplicate", "row-delete"];
116
+ readonly bids: readonly ["row-view"];
117
+ readonly addresses: readonly ["row-edit", "row-delete"];
118
+ };
119
+ export declare const USER_ROW_ACTIONS: {
120
+ readonly orders: readonly ["row-view", "row-track", "row-cancel"];
121
+ readonly addresses: readonly ["row-edit", "row-delete"];
122
+ readonly bids: readonly ["row-view", "row-cancel"];
123
+ };
124
+ export declare const FORM_ACTION_ID: {
125
+ readonly SUBMIT: "form-submit";
126
+ readonly CANCEL: "form-cancel";
127
+ readonly RESET: "form-reset";
128
+ readonly SAVE_DRAFT: "form-save-draft";
129
+ readonly PUBLISH: "form-publish";
130
+ readonly DELETE: "form-delete";
131
+ readonly DISCARD: "form-discard";
132
+ };
133
+ export type FormActionId = (typeof FORM_ACTION_ID)[keyof typeof FORM_ACTION_ID];
134
+ export interface FormActionMeta {
135
+ id: FormActionId;
136
+ /** Default button label — callers may override via a `labels` prop */
137
+ label: string;
138
+ variant: ActionVariant;
139
+ /** HTML button type */
140
+ type: "submit" | "button" | "reset";
141
+ iconName?: string;
142
+ /** When true, the action is considered destructive (visual hint for callers) */
143
+ destructive?: boolean;
144
+ }
145
+ export declare const FORM_ACTION_META: Record<FormActionId, FormActionMeta>;
146
+ /**
147
+ * Preset ordered action groups for common form footer layouts.
148
+ * Consumed by FormShell and DrawerFormFooter to determine which buttons render,
149
+ * in which order (left → right).
150
+ */
151
+ export declare const FORM_FOOTER_PRESET: {
152
+ /** Standard edit drawer: Cancel | Save Changes */
153
+ readonly drawerEdit: readonly ["form-cancel", "form-submit"];
154
+ /** Edit drawer with delete: Delete | Cancel | Save Changes */
155
+ readonly drawerEditDelete: readonly ["form-delete", "form-cancel", "form-submit"];
156
+ /** Content editor (blog / product): Discard | Save Draft | Publish */
157
+ readonly contentEditor: readonly ["form-discard", "form-save-draft", "form-publish"];
158
+ /** Simple modal / dialog: Cancel | Submit */
159
+ readonly modalForm: readonly ["form-cancel", "form-submit"];
160
+ /** Settings page: Reset | Save Changes */
161
+ readonly settingsForm: readonly ["form-reset", "form-submit"];
162
+ };
163
+ export declare const DASHBOARD_QUICK_ACTION_ID: {
164
+ readonly ADMIN_ADD_PRODUCT: "dqa-admin-add-product";
165
+ readonly ADMIN_ADD_USER: "dqa-admin-add-user";
166
+ readonly ADMIN_ADD_STORE: "dqa-admin-add-store";
167
+ readonly ADMIN_ADD_COUPON: "dqa-admin-add-coupon";
168
+ readonly ADMIN_ADD_EVENT: "dqa-admin-add-event";
169
+ readonly ADMIN_ADD_BLOG: "dqa-admin-add-blog";
170
+ readonly ADMIN_ADD_FAQ: "dqa-admin-add-faq";
171
+ readonly ADMIN_SETTINGS: "dqa-admin-settings";
172
+ readonly SELLER_ADD_PRODUCT: "dqa-seller-add-product";
173
+ readonly SELLER_ADD_COUPON: "dqa-seller-add-coupon";
174
+ readonly SELLER_VIEW_ORDERS: "dqa-seller-view-orders";
175
+ readonly SELLER_PAYOUT_REQ: "dqa-seller-payout-request";
176
+ readonly SELLER_SETTINGS: "dqa-seller-settings";
177
+ readonly USER_VIEW_ORDERS: "dqa-user-view-orders";
178
+ readonly USER_VIEW_WISHLIST: "dqa-user-view-wishlist";
179
+ readonly USER_EDIT_PROFILE: "dqa-user-edit-profile";
180
+ readonly USER_ADD_ADDRESS: "dqa-user-add-address";
181
+ };
182
+ export type DashboardQuickActionId = (typeof DASHBOARD_QUICK_ACTION_ID)[keyof typeof DASHBOARD_QUICK_ACTION_ID];
183
+ export interface DashboardQuickActionMeta {
184
+ id: DashboardQuickActionId;
185
+ label: string;
186
+ variant: ActionVariant;
187
+ iconName?: string;
188
+ /** ROUTES key path that the button navigates to — consuming component resolves */
189
+ routeKey?: string;
190
+ }
191
+ export declare const DASHBOARD_QUICK_ACTION_META: Record<DashboardQuickActionId, DashboardQuickActionMeta>;
192
+ export declare const DASHBOARD_QUICK_ACTIONS: {
193
+ readonly admin: readonly ["dqa-admin-add-product", "dqa-admin-add-user", "dqa-admin-add-store", "dqa-admin-add-coupon", "dqa-admin-add-event", "dqa-admin-add-blog", "dqa-admin-settings"];
194
+ readonly seller: readonly ["dqa-seller-add-product", "dqa-seller-add-coupon", "dqa-seller-view-orders", "dqa-seller-payout-request", "dqa-seller-settings"];
195
+ readonly user: readonly ["dqa-user-view-orders", "dqa-user-view-wishlist", "dqa-user-edit-profile", "dqa-user-add-address"];
196
+ };
197
+ export declare const ADMIN_BULK_ACTIONS: {
198
+ readonly users: readonly ["row-suspend", "row-restore", "row-delete"];
199
+ readonly stores: readonly ["row-approve", "row-reject", "row-suspend"];
200
+ readonly products: readonly ["row-publish", "row-archive", "row-delete"];
201
+ readonly orders: readonly ["row-refund", "row-cancel"];
202
+ readonly reviews: readonly ["row-approve", "row-reject", "row-delete"];
203
+ readonly blog: readonly ["row-publish", "row-archive", "row-delete"];
204
+ readonly faqs: readonly ["row-archive", "row-delete"];
205
+ };
206
+ export declare const SELLER_BULK_ACTIONS: {
207
+ readonly products: readonly ["row-publish", "row-archive", "row-delete"];
208
+ readonly coupons: readonly ["row-archive", "row-delete"];
209
+ };
@@ -0,0 +1,270 @@
1
+ /**
2
+ * action-defs.ts
3
+ *
4
+ * Single source of truth for ALL action IDs, labels, variants, and groupings
5
+ * used across the platform:
6
+ *
7
+ * Product detail pages — desktop action panel + mobile BuyBar
8
+ * Listing pages — BulkActionsBar selections
9
+ * Table rows — RowActionMenu items (admin / seller / user)
10
+ * Form shells — submit / cancel / save-draft / publish / delete
11
+ * Dashboard quick bar — top-level shortcut buttons per dashboard type
12
+ *
13
+ * Pure TypeScript — no React, no JSX, no callbacks.
14
+ * Consuming components resolve iconName → Lucide component, and supply onClick.
15
+ */
16
+ // ─────────────────────────────────────────────────────────────────────────────
17
+ // § 1 Product / listing actions
18
+ // Used by: detail pages, BulkActionsBar, BuyBar
19
+ // ─────────────────────────────────────────────────────────────────────────────
20
+ export const ACTION_ID = {
21
+ // Standard product
22
+ BUY_NOW: "buy-now",
23
+ ADD_TO_CART: "add-to-cart",
24
+ ADD_TO_WISHLIST: "add-to-wishlist",
25
+ REMOVE_FROM_WISHLIST: "remove-from-wishlist",
26
+ MAKE_OFFER: "make-offer",
27
+ SHARE: "share",
28
+ COMPARE: "compare",
29
+ // Auction
30
+ PLACE_BID: "place-bid",
31
+ BUY_NOW_AUCTION: "buy-now-auction",
32
+ WATCH_AUCTION: "watch-auction",
33
+ // Pre-order
34
+ RESERVE_NOW: "reserve-now",
35
+ CANCEL_RESERVATION: "cancel-reservation",
36
+ };
37
+ export const ACTION_META = {
38
+ [ACTION_ID.BUY_NOW]: { id: ACTION_ID.BUY_NOW, label: "Buy Now", variant: "primary" },
39
+ [ACTION_ID.ADD_TO_CART]: { id: ACTION_ID.ADD_TO_CART, label: "Add to Cart", variant: "secondary", iconName: "ShoppingCart" },
40
+ [ACTION_ID.ADD_TO_WISHLIST]: { id: ACTION_ID.ADD_TO_WISHLIST, label: "Add to Wishlist", variant: "ghost", iconName: "Heart" },
41
+ [ACTION_ID.REMOVE_FROM_WISHLIST]: { id: ACTION_ID.REMOVE_FROM_WISHLIST, label: "Remove from Wishlist", variant: "ghost", iconName: "HeartOff" },
42
+ [ACTION_ID.MAKE_OFFER]: { id: ACTION_ID.MAKE_OFFER, label: "Make an Offer", variant: "outline", iconName: "Tag", requiresAuth: true },
43
+ [ACTION_ID.SHARE]: { id: ACTION_ID.SHARE, label: "Share", variant: "ghost", iconName: "Share2" },
44
+ [ACTION_ID.COMPARE]: { id: ACTION_ID.COMPARE, label: "Compare", variant: "secondary", iconName: "Columns" },
45
+ [ACTION_ID.PLACE_BID]: { id: ACTION_ID.PLACE_BID, label: "Place Bid", variant: "primary", requiresAuth: true },
46
+ [ACTION_ID.BUY_NOW_AUCTION]: { id: ACTION_ID.BUY_NOW_AUCTION, label: "Buy Now", variant: "secondary", requiresAuth: true },
47
+ [ACTION_ID.WATCH_AUCTION]: { id: ACTION_ID.WATCH_AUCTION, label: "Watch", variant: "ghost", iconName: "Eye" },
48
+ [ACTION_ID.RESERVE_NOW]: { id: ACTION_ID.RESERVE_NOW, label: "Reserve Now", variant: "primary", requiresAuth: true },
49
+ [ACTION_ID.CANCEL_RESERVATION]: { id: ACTION_ID.CANCEL_RESERVATION, label: "Cancel Reservation", variant: "danger", iconName: "X", requiresAuth: true },
50
+ };
51
+ // Detail page action groups — ordered top-to-bottom in the right-hand panel
52
+ export const DETAIL_ACTIONS = {
53
+ /** Standard product: buy, cart, wishlist, offer, share */
54
+ product: [ACTION_ID.BUY_NOW, ACTION_ID.ADD_TO_CART, ACTION_ID.ADD_TO_WISHLIST, ACTION_ID.MAKE_OFFER, ACTION_ID.SHARE],
55
+ /** Auction: bid, buy-now, watch, share */
56
+ auction: [ACTION_ID.PLACE_BID, ACTION_ID.BUY_NOW_AUCTION, ACTION_ID.WATCH_AUCTION, ACTION_ID.SHARE],
57
+ /** Pre-order: reserve, wishlist, share */
58
+ preorder: [ACTION_ID.RESERVE_NOW, ACTION_ID.ADD_TO_WISHLIST, ACTION_ID.SHARE],
59
+ };
60
+ // Mobile BuyBar — 1–2 primary CTAs only (limited horizontal space)
61
+ export const MOBILE_PRIMARY_ACTIONS = {
62
+ product: [ACTION_ID.BUY_NOW, ACTION_ID.ADD_TO_CART],
63
+ auction: [ACTION_ID.PLACE_BID, ACTION_ID.BUY_NOW_AUCTION],
64
+ preorder: [ACTION_ID.RESERVE_NOW],
65
+ };
66
+ // Listing page bulk actions — shown in BulkActionsBar when items are selected
67
+ export const LISTING_BULK_ACTIONS = {
68
+ products: [ACTION_ID.ADD_TO_CART, ACTION_ID.ADD_TO_WISHLIST, ACTION_ID.COMPARE],
69
+ auctions: [ACTION_ID.WATCH_AUCTION, ACTION_ID.ADD_TO_WISHLIST, ACTION_ID.COMPARE],
70
+ preorders: [ACTION_ID.ADD_TO_CART, ACTION_ID.ADD_TO_WISHLIST, ACTION_ID.COMPARE],
71
+ stores: [ACTION_ID.COMPARE],
72
+ };
73
+ /** Maximum number of items the Compare overlay (BK3) supports at once. */
74
+ export const COMPARE_MAX_ITEMS = 4;
75
+ // ─────────────────────────────────────────────────────────────────────────────
76
+ // § 2 Row / table actions
77
+ // Used by: RowActionMenu in admin, seller, and user dashboard tables
78
+ // ─────────────────────────────────────────────────────────────────────────────
79
+ export const ROW_ACTION_ID = {
80
+ EDIT: "row-edit",
81
+ VIEW: "row-view",
82
+ DELETE: "row-delete",
83
+ APPROVE: "row-approve",
84
+ REJECT: "row-reject",
85
+ SUSPEND: "row-suspend",
86
+ RESTORE: "row-restore",
87
+ MANAGE: "row-manage",
88
+ DUPLICATE: "row-duplicate",
89
+ EXPORT: "row-export",
90
+ TRACK: "row-track",
91
+ CANCEL: "row-cancel",
92
+ REFUND: "row-refund",
93
+ RESEND: "row-resend",
94
+ REPLY: "row-reply",
95
+ PUBLISH: "row-publish",
96
+ ARCHIVE: "row-archive",
97
+ };
98
+ export const ROW_ACTION_META = {
99
+ [ROW_ACTION_ID.EDIT]: { id: ROW_ACTION_ID.EDIT, label: "Edit", iconName: "Pencil" },
100
+ [ROW_ACTION_ID.VIEW]: { id: ROW_ACTION_ID.VIEW, label: "View", iconName: "Eye" },
101
+ [ROW_ACTION_ID.DELETE]: { id: ROW_ACTION_ID.DELETE, label: "Delete", iconName: "Trash2", destructive: true, separator: true },
102
+ [ROW_ACTION_ID.APPROVE]: { id: ROW_ACTION_ID.APPROVE, label: "Approve", iconName: "Check" },
103
+ [ROW_ACTION_ID.REJECT]: { id: ROW_ACTION_ID.REJECT, label: "Reject", iconName: "X", destructive: true },
104
+ [ROW_ACTION_ID.SUSPEND]: { id: ROW_ACTION_ID.SUSPEND, label: "Suspend", iconName: "Ban", destructive: true, separator: true },
105
+ [ROW_ACTION_ID.RESTORE]: { id: ROW_ACTION_ID.RESTORE, label: "Restore", iconName: "RotateCcw" },
106
+ [ROW_ACTION_ID.MANAGE]: { id: ROW_ACTION_ID.MANAGE, label: "Manage", iconName: "Settings" },
107
+ [ROW_ACTION_ID.DUPLICATE]: { id: ROW_ACTION_ID.DUPLICATE, label: "Duplicate", iconName: "Copy" },
108
+ [ROW_ACTION_ID.EXPORT]: { id: ROW_ACTION_ID.EXPORT, label: "Export", iconName: "Download" },
109
+ [ROW_ACTION_ID.TRACK]: { id: ROW_ACTION_ID.TRACK, label: "Track Shipment", iconName: "Truck" },
110
+ [ROW_ACTION_ID.CANCEL]: { id: ROW_ACTION_ID.CANCEL, label: "Cancel", iconName: "X", destructive: true },
111
+ [ROW_ACTION_ID.REFUND]: { id: ROW_ACTION_ID.REFUND, label: "Refund", iconName: "RefreshCw", destructive: true, separator: true },
112
+ [ROW_ACTION_ID.RESEND]: { id: ROW_ACTION_ID.RESEND, label: "Resend", iconName: "Send" },
113
+ [ROW_ACTION_ID.REPLY]: { id: ROW_ACTION_ID.REPLY, label: "Reply", iconName: "MessageSquare" },
114
+ [ROW_ACTION_ID.PUBLISH]: { id: ROW_ACTION_ID.PUBLISH, label: "Publish", iconName: "Upload" },
115
+ [ROW_ACTION_ID.ARCHIVE]: { id: ROW_ACTION_ID.ARCHIVE, label: "Archive", iconName: "Archive", separator: true },
116
+ };
117
+ // Admin dashboard row action groups per entity type
118
+ export const ADMIN_ROW_ACTIONS = {
119
+ users: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.EDIT, ROW_ACTION_ID.SUSPEND, ROW_ACTION_ID.RESTORE, ROW_ACTION_ID.DELETE],
120
+ stores: [ROW_ACTION_ID.MANAGE, ROW_ACTION_ID.APPROVE, ROW_ACTION_ID.REJECT, ROW_ACTION_ID.SUSPEND, ROW_ACTION_ID.DELETE],
121
+ products: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.EDIT, ROW_ACTION_ID.PUBLISH, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
122
+ orders: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.EDIT, ROW_ACTION_ID.REFUND, ROW_ACTION_ID.CANCEL],
123
+ reviews: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.APPROVE, ROW_ACTION_ID.REJECT, ROW_ACTION_ID.DELETE],
124
+ events: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.EDIT, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
125
+ payouts: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.APPROVE, ROW_ACTION_ID.REJECT],
126
+ coupons: [ROW_ACTION_ID.EDIT, ROW_ACTION_ID.DUPLICATE, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
127
+ blog: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.EDIT, ROW_ACTION_ID.PUBLISH, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
128
+ faqs: [ROW_ACTION_ID.EDIT, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
129
+ bids: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.CANCEL],
130
+ };
131
+ // Seller / Store dashboard row action groups per entity type
132
+ export const SELLER_ROW_ACTIONS = {
133
+ products: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.EDIT, ROW_ACTION_ID.DUPLICATE, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
134
+ orders: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.EDIT, ROW_ACTION_ID.TRACK, ROW_ACTION_ID.RESEND],
135
+ reviews: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.REPLY],
136
+ payouts: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.EXPORT],
137
+ coupons: [ROW_ACTION_ID.EDIT, ROW_ACTION_ID.DUPLICATE, ROW_ACTION_ID.DELETE],
138
+ bids: [ROW_ACTION_ID.VIEW],
139
+ addresses: [ROW_ACTION_ID.EDIT, ROW_ACTION_ID.DELETE],
140
+ };
141
+ // User dashboard row action groups per entity type
142
+ export const USER_ROW_ACTIONS = {
143
+ orders: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.TRACK, ROW_ACTION_ID.CANCEL],
144
+ addresses: [ROW_ACTION_ID.EDIT, ROW_ACTION_ID.DELETE],
145
+ bids: [ROW_ACTION_ID.VIEW, ROW_ACTION_ID.CANCEL],
146
+ };
147
+ // ─────────────────────────────────────────────────────────────────────────────
148
+ // § 3 Form actions
149
+ // Used by: FormShell, DrawerFormFooter, SideModal forms, inline forms
150
+ // ─────────────────────────────────────────────────────────────────────────────
151
+ export const FORM_ACTION_ID = {
152
+ SUBMIT: "form-submit",
153
+ CANCEL: "form-cancel",
154
+ RESET: "form-reset",
155
+ SAVE_DRAFT: "form-save-draft",
156
+ PUBLISH: "form-publish",
157
+ DELETE: "form-delete",
158
+ DISCARD: "form-discard",
159
+ };
160
+ export const FORM_ACTION_META = {
161
+ [FORM_ACTION_ID.SUBMIT]: { id: FORM_ACTION_ID.SUBMIT, label: "Save Changes", variant: "primary", type: "submit" },
162
+ [FORM_ACTION_ID.CANCEL]: { id: FORM_ACTION_ID.CANCEL, label: "Cancel", variant: "outline", type: "button" },
163
+ [FORM_ACTION_ID.RESET]: { id: FORM_ACTION_ID.RESET, label: "Reset", variant: "ghost", type: "reset" },
164
+ [FORM_ACTION_ID.SAVE_DRAFT]: { id: FORM_ACTION_ID.SAVE_DRAFT, label: "Save Draft", variant: "outline", type: "button", iconName: "Save" },
165
+ [FORM_ACTION_ID.PUBLISH]: { id: FORM_ACTION_ID.PUBLISH, label: "Publish", variant: "primary", type: "button", iconName: "Upload" },
166
+ [FORM_ACTION_ID.DELETE]: { id: FORM_ACTION_ID.DELETE, label: "Delete", variant: "danger", type: "button", iconName: "Trash2", destructive: true },
167
+ [FORM_ACTION_ID.DISCARD]: { id: FORM_ACTION_ID.DISCARD, label: "Discard", variant: "ghost", type: "button", destructive: true },
168
+ };
169
+ /**
170
+ * Preset ordered action groups for common form footer layouts.
171
+ * Consumed by FormShell and DrawerFormFooter to determine which buttons render,
172
+ * in which order (left → right).
173
+ */
174
+ export const FORM_FOOTER_PRESET = {
175
+ /** Standard edit drawer: Cancel | Save Changes */
176
+ drawerEdit: [FORM_ACTION_ID.CANCEL, FORM_ACTION_ID.SUBMIT],
177
+ /** Edit drawer with delete: Delete | Cancel | Save Changes */
178
+ drawerEditDelete: [FORM_ACTION_ID.DELETE, FORM_ACTION_ID.CANCEL, FORM_ACTION_ID.SUBMIT],
179
+ /** Content editor (blog / product): Discard | Save Draft | Publish */
180
+ contentEditor: [FORM_ACTION_ID.DISCARD, FORM_ACTION_ID.SAVE_DRAFT, FORM_ACTION_ID.PUBLISH],
181
+ /** Simple modal / dialog: Cancel | Submit */
182
+ modalForm: [FORM_ACTION_ID.CANCEL, FORM_ACTION_ID.SUBMIT],
183
+ /** Settings page: Reset | Save Changes */
184
+ settingsForm: [FORM_ACTION_ID.RESET, FORM_ACTION_ID.SUBMIT],
185
+ };
186
+ // ─────────────────────────────────────────────────────────────────────────────
187
+ // § 4 Dashboard quick actions
188
+ // Top-of-page shortcut buttons, one group per dashboard context
189
+ // ─────────────────────────────────────────────────────────────────────────────
190
+ export const DASHBOARD_QUICK_ACTION_ID = {
191
+ // Admin
192
+ ADMIN_ADD_PRODUCT: "dqa-admin-add-product",
193
+ ADMIN_ADD_USER: "dqa-admin-add-user",
194
+ ADMIN_ADD_STORE: "dqa-admin-add-store",
195
+ ADMIN_ADD_COUPON: "dqa-admin-add-coupon",
196
+ ADMIN_ADD_EVENT: "dqa-admin-add-event",
197
+ ADMIN_ADD_BLOG: "dqa-admin-add-blog",
198
+ ADMIN_ADD_FAQ: "dqa-admin-add-faq",
199
+ ADMIN_SETTINGS: "dqa-admin-settings",
200
+ // Seller / Store
201
+ SELLER_ADD_PRODUCT: "dqa-seller-add-product",
202
+ SELLER_ADD_COUPON: "dqa-seller-add-coupon",
203
+ SELLER_VIEW_ORDERS: "dqa-seller-view-orders",
204
+ SELLER_PAYOUT_REQ: "dqa-seller-payout-request",
205
+ SELLER_SETTINGS: "dqa-seller-settings",
206
+ // User / Buyer
207
+ USER_VIEW_ORDERS: "dqa-user-view-orders",
208
+ USER_VIEW_WISHLIST: "dqa-user-view-wishlist",
209
+ USER_EDIT_PROFILE: "dqa-user-edit-profile",
210
+ USER_ADD_ADDRESS: "dqa-user-add-address",
211
+ };
212
+ export const DASHBOARD_QUICK_ACTION_META = {
213
+ [DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_PRODUCT]: { id: DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_PRODUCT, label: "Add Product", variant: "primary", iconName: "Plus" },
214
+ [DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_USER]: { id: DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_USER, label: "Add User", variant: "outline", iconName: "UserPlus" },
215
+ [DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_STORE]: { id: DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_STORE, label: "Add Store", variant: "outline", iconName: "Store" },
216
+ [DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_COUPON]: { id: DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_COUPON, label: "Add Coupon", variant: "outline", iconName: "Tag" },
217
+ [DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_EVENT]: { id: DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_EVENT, label: "Add Event", variant: "outline", iconName: "Calendar" },
218
+ [DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_BLOG]: { id: DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_BLOG, label: "New Post", variant: "outline", iconName: "FileText" },
219
+ [DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_FAQ]: { id: DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_FAQ, label: "Add FAQ", variant: "outline", iconName: "HelpCircle" },
220
+ [DASHBOARD_QUICK_ACTION_ID.ADMIN_SETTINGS]: { id: DASHBOARD_QUICK_ACTION_ID.ADMIN_SETTINGS, label: "Settings", variant: "ghost", iconName: "Settings" },
221
+ [DASHBOARD_QUICK_ACTION_ID.SELLER_ADD_PRODUCT]: { id: DASHBOARD_QUICK_ACTION_ID.SELLER_ADD_PRODUCT, label: "List a Product", variant: "primary", iconName: "Plus" },
222
+ [DASHBOARD_QUICK_ACTION_ID.SELLER_ADD_COUPON]: { id: DASHBOARD_QUICK_ACTION_ID.SELLER_ADD_COUPON, label: "New Coupon", variant: "outline", iconName: "Tag" },
223
+ [DASHBOARD_QUICK_ACTION_ID.SELLER_VIEW_ORDERS]: { id: DASHBOARD_QUICK_ACTION_ID.SELLER_VIEW_ORDERS, label: "Orders", variant: "outline", iconName: "ShoppingBag" },
224
+ [DASHBOARD_QUICK_ACTION_ID.SELLER_PAYOUT_REQ]: { id: DASHBOARD_QUICK_ACTION_ID.SELLER_PAYOUT_REQ, label: "Request Payout", variant: "outline", iconName: "Banknote" },
225
+ [DASHBOARD_QUICK_ACTION_ID.SELLER_SETTINGS]: { id: DASHBOARD_QUICK_ACTION_ID.SELLER_SETTINGS, label: "Store Settings", variant: "ghost", iconName: "Settings" },
226
+ [DASHBOARD_QUICK_ACTION_ID.USER_VIEW_ORDERS]: { id: DASHBOARD_QUICK_ACTION_ID.USER_VIEW_ORDERS, label: "My Orders", variant: "outline", iconName: "Package" },
227
+ [DASHBOARD_QUICK_ACTION_ID.USER_VIEW_WISHLIST]: { id: DASHBOARD_QUICK_ACTION_ID.USER_VIEW_WISHLIST, label: "Wishlist", variant: "outline", iconName: "Heart" },
228
+ [DASHBOARD_QUICK_ACTION_ID.USER_EDIT_PROFILE]: { id: DASHBOARD_QUICK_ACTION_ID.USER_EDIT_PROFILE, label: "Edit Profile", variant: "outline", iconName: "User" },
229
+ [DASHBOARD_QUICK_ACTION_ID.USER_ADD_ADDRESS]: { id: DASHBOARD_QUICK_ACTION_ID.USER_ADD_ADDRESS, label: "Add Address", variant: "outline", iconName: "MapPin" },
230
+ };
231
+ // Quick action groups — ordered left-to-right in the top shortcut bar
232
+ export const DASHBOARD_QUICK_ACTIONS = {
233
+ admin: [
234
+ DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_PRODUCT,
235
+ DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_USER,
236
+ DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_STORE,
237
+ DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_COUPON,
238
+ DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_EVENT,
239
+ DASHBOARD_QUICK_ACTION_ID.ADMIN_ADD_BLOG,
240
+ DASHBOARD_QUICK_ACTION_ID.ADMIN_SETTINGS,
241
+ ],
242
+ seller: [
243
+ DASHBOARD_QUICK_ACTION_ID.SELLER_ADD_PRODUCT,
244
+ DASHBOARD_QUICK_ACTION_ID.SELLER_ADD_COUPON,
245
+ DASHBOARD_QUICK_ACTION_ID.SELLER_VIEW_ORDERS,
246
+ DASHBOARD_QUICK_ACTION_ID.SELLER_PAYOUT_REQ,
247
+ DASHBOARD_QUICK_ACTION_ID.SELLER_SETTINGS,
248
+ ],
249
+ user: [
250
+ DASHBOARD_QUICK_ACTION_ID.USER_VIEW_ORDERS,
251
+ DASHBOARD_QUICK_ACTION_ID.USER_VIEW_WISHLIST,
252
+ DASHBOARD_QUICK_ACTION_ID.USER_EDIT_PROFILE,
253
+ DASHBOARD_QUICK_ACTION_ID.USER_ADD_ADDRESS,
254
+ ],
255
+ };
256
+ // Admin bulk actions per listing entity — used in BulkActionsBar on admin tables
257
+ export const ADMIN_BULK_ACTIONS = {
258
+ users: [ROW_ACTION_ID.SUSPEND, ROW_ACTION_ID.RESTORE, ROW_ACTION_ID.DELETE],
259
+ stores: [ROW_ACTION_ID.APPROVE, ROW_ACTION_ID.REJECT, ROW_ACTION_ID.SUSPEND],
260
+ products: [ROW_ACTION_ID.PUBLISH, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
261
+ orders: [ROW_ACTION_ID.REFUND, ROW_ACTION_ID.CANCEL],
262
+ reviews: [ROW_ACTION_ID.APPROVE, ROW_ACTION_ID.REJECT, ROW_ACTION_ID.DELETE],
263
+ blog: [ROW_ACTION_ID.PUBLISH, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
264
+ faqs: [ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
265
+ };
266
+ // Seller bulk actions per listing entity
267
+ export const SELLER_BULK_ACTIONS = {
268
+ products: [ROW_ACTION_ID.PUBLISH, ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
269
+ coupons: [ROW_ACTION_ID.ARCHIVE, ROW_ACTION_ID.DELETE],
270
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Shared constants for productFeatures editors, selectors, and renderers (FI1–FI6).
3
+ *
4
+ * Centralising these here keeps the admin/store editor (AdminFeatureEditorView),
5
+ * the product-form selector (ProductFeaturesSelector), and the badge renderer
6
+ * (FeatureBadge) in lockstep when a new category/icon/colour token is added.
7
+ */
8
+ import type { SelectOption } from "../../../ui/components/Select";
9
+ import type { ProductFeatureCategory, ProductFeatureProductType, ProductFeatureScope } from "../schemas/product-features";
10
+ export declare const PRODUCT_FEATURE_CATEGORY_OPTIONS: SelectOption<ProductFeatureCategory>[];
11
+ export declare const PRODUCT_FEATURE_PRODUCT_TYPE_OPTIONS: SelectOption<ProductFeatureProductType>[];
12
+ export declare const PRODUCT_FEATURE_SCOPE_OPTIONS: SelectOption<ProductFeatureScope>[];
13
+ export declare const PRODUCT_FEATURE_ICON_COLOR_OPTIONS: SelectOption[];
14
+ /** Default displayOrder for newly created features. */
15
+ export declare const PRODUCT_FEATURE_DEFAULT_DISPLAY_ORDER = 100;
16
+ /** Maximum badges rendered inline on a ProductCard before the "+N more" pill. */
17
+ export declare const PRODUCT_FEATURE_CARD_MAX_VISIBLE = 3;
18
+ /** React Query staleTime for the platform/store feature lookups. */
19
+ export declare const PRODUCT_FEATURE_QUERY_STALE_MS = 60000;
20
+ export declare const PRODUCT_FEATURE_SCOPE_TABS: Array<{
21
+ value: ProductFeatureScope;
22
+ label: string;
23
+ }>;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Shared constants for productFeatures editors, selectors, and renderers (FI1–FI6).
3
+ *
4
+ * Centralising these here keeps the admin/store editor (AdminFeatureEditorView),
5
+ * the product-form selector (ProductFeaturesSelector), and the badge renderer
6
+ * (FeatureBadge) in lockstep when a new category/icon/colour token is added.
7
+ */
8
+ // ---------------------------------------------------------------------------
9
+ // Option lists (Select / pill-checkbox UIs)
10
+ // ---------------------------------------------------------------------------
11
+ export const PRODUCT_FEATURE_CATEGORY_OPTIONS = [
12
+ { value: "shipping", label: "Shipping" },
13
+ { value: "seller", label: "Seller" },
14
+ { value: "condition", label: "Condition" },
15
+ { value: "platform", label: "Platform" },
16
+ { value: "auction", label: "Auction" },
17
+ { value: "preorder", label: "Pre-order" },
18
+ { value: "custom", label: "Custom" },
19
+ ];
20
+ export const PRODUCT_FEATURE_PRODUCT_TYPE_OPTIONS = [
21
+ { value: "all", label: "All product types" },
22
+ { value: "product", label: "Standard product" },
23
+ { value: "auction", label: "Auction" },
24
+ { value: "preorder", label: "Pre-order" },
25
+ ];
26
+ export const PRODUCT_FEATURE_SCOPE_OPTIONS = [
27
+ { value: "platform", label: "Platform (all stores)" },
28
+ { value: "store", label: "Store-specific" },
29
+ ];
30
+ export const PRODUCT_FEATURE_ICON_COLOR_OPTIONS = [
31
+ { value: "", label: "Neutral (default)" },
32
+ { value: "--appkit-color-primary", label: "Primary" },
33
+ { value: "--appkit-color-secondary", label: "Secondary" },
34
+ ];
35
+ // ---------------------------------------------------------------------------
36
+ // Defaults + UX tuning knobs
37
+ // ---------------------------------------------------------------------------
38
+ /** Default displayOrder for newly created features. */
39
+ export const PRODUCT_FEATURE_DEFAULT_DISPLAY_ORDER = 100;
40
+ /** Maximum badges rendered inline on a ProductCard before the "+N more" pill. */
41
+ export const PRODUCT_FEATURE_CARD_MAX_VISIBLE = 3;
42
+ /** React Query staleTime for the platform/store feature lookups. */
43
+ export const PRODUCT_FEATURE_QUERY_STALE_MS = 60000;
44
+ // ---------------------------------------------------------------------------
45
+ // Filter / tab labels
46
+ // ---------------------------------------------------------------------------
47
+ export const PRODUCT_FEATURE_SCOPE_TABS = [
48
+ { value: "platform", label: "Platform" },
49
+ { value: "store", label: "Store Custom" },
50
+ ];
@@ -28,6 +28,7 @@ export declare function useProducts<T extends ProductItem = ProductItem>(params?
28
28
  hasMore: boolean;
29
29
  isLoading: boolean;
30
30
  error: Error | null;
31
+ warning: string | undefined;
31
32
  };
32
33
  interface UseProductOptions<T extends ProductItem = ProductItem> {
33
34
  initialData?: ProductItem;