@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
@@ -23,6 +23,12 @@ export declare const DEFAULT_ROUTE_MAP: {
23
23
  readonly AUCTION_DETAIL: (id: string) => string;
24
24
  readonly PRE_ORDERS: "/pre-orders";
25
25
  readonly PRE_ORDER_DETAIL: (id: string) => string;
26
+ readonly BUNDLES: "/bundles";
27
+ readonly BUNDLE_DETAIL: (slug: string) => string;
28
+ readonly PRIZE_DRAWS: "/prize-draws";
29
+ readonly PRIZE_DRAW_DETAIL: (slug: string) => string;
30
+ readonly SELLER_GUIDE_BUNDLES: "/seller-guide/bundles";
31
+ readonly SELLER_GUIDE_PRIZE_DRAWS: "/seller-guide/prize-draws";
26
32
  readonly SELLERS: "/sellers";
27
33
  readonly SELLER_DETAIL: (id: string) => string;
28
34
  readonly STORES: "/stores";
@@ -89,12 +95,14 @@ export declare const DEFAULT_ROUTE_MAP: {
89
95
  readonly SETTINGS: "/user/settings";
90
96
  readonly ORDERS: "/user/orders";
91
97
  readonly WISHLIST: "/wishlist";
98
+ readonly HISTORY: "/user/history";
92
99
  readonly ADDRESSES: "/user/addresses";
93
100
  readonly ADDRESSES_ADD: "/user/addresses/add";
94
101
  readonly ADDRESSES_EDIT: (id: string) => string;
95
102
  readonly ORDER_DETAIL: (id: string) => string;
96
103
  readonly ORDER_CANCEL: (id: string) => string;
97
104
  readonly ORDER_TRACK: (id: string) => string;
105
+ readonly ORDER_INVOICE: (id: string) => string;
98
106
  readonly NOTIFICATIONS: "/user/notifications";
99
107
  readonly MESSAGES: "/user/messages";
100
108
  readonly BECOME_SELLER: "/user/become-seller";
@@ -104,6 +112,7 @@ export declare const DEFAULT_ROUTE_MAP: {
104
112
  readonly OFFERS: "/user/offers";
105
113
  readonly REVIEWS: "/user/reviews";
106
114
  readonly BIDS: "/user/bids";
115
+ readonly RETURNS: "/user/returns";
107
116
  };
108
117
  readonly STORE: {
109
118
  readonly DASHBOARD: "/store";
@@ -137,6 +146,16 @@ export declare const DEFAULT_ROUTE_MAP: {
137
146
  readonly SUBLISTING_CATEGORIES: "/store/sublisting-categories";
138
147
  readonly SUBLISTING_CATEGORIES_NEW: "/store/sublisting-categories/new";
139
148
  readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
149
+ readonly FEATURES: "/store/features";
150
+ readonly FEATURES_NEW: "/store/features/new";
151
+ readonly FEATURES_EDIT: (id: string) => string;
152
+ readonly SLUG: "/store/slug";
153
+ readonly BUNDLES: "/store/bundles";
154
+ readonly BUNDLES_NEW: "/store/bundles/new";
155
+ readonly BUNDLES_EDIT: (id: string) => string;
156
+ readonly PRIZE_DRAWS: "/store/prize-draws";
157
+ readonly PRIZE_DRAWS_NEW: "/store/prize-draws/new";
158
+ readonly PRIZE_DRAWS_EDIT: (id: string) => string;
140
159
  };
141
160
  readonly ADMIN: {
142
161
  readonly DASHBOARD: "/admin/dashboard";
@@ -145,6 +164,8 @@ export declare const DEFAULT_ROUTE_MAP: {
145
164
  readonly CAROUSEL: "/admin/carousel";
146
165
  readonly CAROUSEL_NEW: "/admin/carousel/new";
147
166
  readonly CAROUSEL_EDIT: (id: string) => string;
167
+ readonly CAROUSELS: "/admin/carousels";
168
+ readonly CAROUSEL_DETAIL: (id: string) => string;
148
169
  readonly SECTIONS: "/admin/sections";
149
170
  readonly NAVIGATION: "/admin/navigation";
150
171
  readonly CATEGORIES: "/admin/categories";
@@ -191,11 +212,19 @@ export declare const DEFAULT_ROUTE_MAP: {
191
212
  readonly NOTIFICATIONS: "/admin/notifications";
192
213
  readonly CARTS: "/admin/carts";
193
214
  readonly WISHLISTS: "/admin/wishlists";
215
+ readonly HISTORY: "/admin/history";
194
216
  readonly RETURN_REQUESTS: "/admin/return-requests";
195
217
  readonly STORE_ADDRESSES: "/admin/store-addresses";
196
218
  readonly SUBLISTING_CATEGORIES: "/admin/sublisting-categories";
197
219
  readonly SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new";
198
220
  readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
221
+ readonly FEATURES: "/admin/features";
222
+ readonly FEATURES_NEW: "/admin/features/new";
223
+ readonly FEATURES_EDIT: (id: string) => string;
224
+ readonly BUNDLES: "/admin/bundles";
225
+ readonly BUNDLES_EDIT: (id: string) => string;
226
+ readonly PRIZE_DRAWS: "/admin/prize-draws";
227
+ readonly PRIZE_DRAWS_EDIT: (id: string) => string;
199
228
  };
200
229
  readonly DEMO: {
201
230
  readonly SEED: "/demo/seed";
@@ -218,6 +247,12 @@ export declare const ROUTES: {
218
247
  readonly AUCTION_DETAIL: (id: string) => string;
219
248
  readonly PRE_ORDERS: "/pre-orders";
220
249
  readonly PRE_ORDER_DETAIL: (id: string) => string;
250
+ readonly BUNDLES: "/bundles";
251
+ readonly BUNDLE_DETAIL: (slug: string) => string;
252
+ readonly PRIZE_DRAWS: "/prize-draws";
253
+ readonly PRIZE_DRAW_DETAIL: (slug: string) => string;
254
+ readonly SELLER_GUIDE_BUNDLES: "/seller-guide/bundles";
255
+ readonly SELLER_GUIDE_PRIZE_DRAWS: "/seller-guide/prize-draws";
221
256
  readonly SELLERS: "/sellers";
222
257
  readonly SELLER_DETAIL: (id: string) => string;
223
258
  readonly STORES: "/stores";
@@ -284,12 +319,14 @@ export declare const ROUTES: {
284
319
  readonly SETTINGS: "/user/settings";
285
320
  readonly ORDERS: "/user/orders";
286
321
  readonly WISHLIST: "/wishlist";
322
+ readonly HISTORY: "/user/history";
287
323
  readonly ADDRESSES: "/user/addresses";
288
324
  readonly ADDRESSES_ADD: "/user/addresses/add";
289
325
  readonly ADDRESSES_EDIT: (id: string) => string;
290
326
  readonly ORDER_DETAIL: (id: string) => string;
291
327
  readonly ORDER_CANCEL: (id: string) => string;
292
328
  readonly ORDER_TRACK: (id: string) => string;
329
+ readonly ORDER_INVOICE: (id: string) => string;
293
330
  readonly NOTIFICATIONS: "/user/notifications";
294
331
  readonly MESSAGES: "/user/messages";
295
332
  readonly BECOME_SELLER: "/user/become-seller";
@@ -299,6 +336,7 @@ export declare const ROUTES: {
299
336
  readonly OFFERS: "/user/offers";
300
337
  readonly REVIEWS: "/user/reviews";
301
338
  readonly BIDS: "/user/bids";
339
+ readonly RETURNS: "/user/returns";
302
340
  };
303
341
  readonly STORE: {
304
342
  readonly DASHBOARD: "/store";
@@ -332,6 +370,16 @@ export declare const ROUTES: {
332
370
  readonly SUBLISTING_CATEGORIES: "/store/sublisting-categories";
333
371
  readonly SUBLISTING_CATEGORIES_NEW: "/store/sublisting-categories/new";
334
372
  readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
373
+ readonly FEATURES: "/store/features";
374
+ readonly FEATURES_NEW: "/store/features/new";
375
+ readonly FEATURES_EDIT: (id: string) => string;
376
+ readonly SLUG: "/store/slug";
377
+ readonly BUNDLES: "/store/bundles";
378
+ readonly BUNDLES_NEW: "/store/bundles/new";
379
+ readonly BUNDLES_EDIT: (id: string) => string;
380
+ readonly PRIZE_DRAWS: "/store/prize-draws";
381
+ readonly PRIZE_DRAWS_NEW: "/store/prize-draws/new";
382
+ readonly PRIZE_DRAWS_EDIT: (id: string) => string;
335
383
  };
336
384
  readonly ADMIN: {
337
385
  readonly DASHBOARD: "/admin/dashboard";
@@ -340,6 +388,8 @@ export declare const ROUTES: {
340
388
  readonly CAROUSEL: "/admin/carousel";
341
389
  readonly CAROUSEL_NEW: "/admin/carousel/new";
342
390
  readonly CAROUSEL_EDIT: (id: string) => string;
391
+ readonly CAROUSELS: "/admin/carousels";
392
+ readonly CAROUSEL_DETAIL: (id: string) => string;
343
393
  readonly SECTIONS: "/admin/sections";
344
394
  readonly NAVIGATION: "/admin/navigation";
345
395
  readonly CATEGORIES: "/admin/categories";
@@ -386,11 +436,19 @@ export declare const ROUTES: {
386
436
  readonly NOTIFICATIONS: "/admin/notifications";
387
437
  readonly CARTS: "/admin/carts";
388
438
  readonly WISHLISTS: "/admin/wishlists";
439
+ readonly HISTORY: "/admin/history";
389
440
  readonly RETURN_REQUESTS: "/admin/return-requests";
390
441
  readonly STORE_ADDRESSES: "/admin/store-addresses";
391
442
  readonly SUBLISTING_CATEGORIES: "/admin/sublisting-categories";
392
443
  readonly SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new";
393
444
  readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
445
+ readonly FEATURES: "/admin/features";
446
+ readonly FEATURES_NEW: "/admin/features/new";
447
+ readonly FEATURES_EDIT: (id: string) => string;
448
+ readonly BUNDLES: "/admin/bundles";
449
+ readonly BUNDLES_EDIT: (id: string) => string;
450
+ readonly PRIZE_DRAWS: "/admin/prize-draws";
451
+ readonly PRIZE_DRAWS_EDIT: (id: string) => string;
394
452
  };
395
453
  readonly DEMO: {
396
454
  readonly SEED: "/demo/seed";
@@ -433,6 +491,16 @@ export declare const SELLER_ROUTES: {
433
491
  readonly SUBLISTING_CATEGORIES: "/store/sublisting-categories";
434
492
  readonly SUBLISTING_CATEGORIES_NEW: "/store/sublisting-categories/new";
435
493
  readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
494
+ readonly FEATURES: "/store/features";
495
+ readonly FEATURES_NEW: "/store/features/new";
496
+ readonly FEATURES_EDIT: (id: string) => string;
497
+ readonly SLUG: "/store/slug";
498
+ readonly BUNDLES: "/store/bundles";
499
+ readonly BUNDLES_NEW: "/store/bundles/new";
500
+ readonly BUNDLES_EDIT: (id: string) => string;
501
+ readonly PRIZE_DRAWS: "/store/prize-draws";
502
+ readonly PRIZE_DRAWS_NEW: "/store/prize-draws/new";
503
+ readonly PRIZE_DRAWS_EDIT: (id: string) => string;
436
504
  };
437
505
  export declare const PUBLIC_ROUTES: readonly ["/", string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "/unauthorized", "/auth/login", "/auth/register", "/auth/forgot-password", "/auth/reset-password", "/auth/verify-email"];
438
506
  export declare const PROTECTED_ROUTES: readonly [string, string, string, string, string, string, string];
@@ -10,6 +10,13 @@ export const DEFAULT_ROUTE_MAP = {
10
10
  AUCTION_DETAIL: (id) => `/auctions/${id}`,
11
11
  PRE_ORDERS: "/pre-orders",
12
12
  PRE_ORDER_DETAIL: (id) => `/pre-orders/${id}`,
13
+ // SB1-J — bundles + prize draws (additive, pages not yet built)
14
+ BUNDLES: "/bundles",
15
+ BUNDLE_DETAIL: (slug) => `/bundles/${slug}`,
16
+ PRIZE_DRAWS: "/prize-draws",
17
+ PRIZE_DRAW_DETAIL: (slug) => `/prize-draws/${slug}`,
18
+ SELLER_GUIDE_BUNDLES: "/seller-guide/bundles",
19
+ SELLER_GUIDE_PRIZE_DRAWS: "/seller-guide/prize-draws",
13
20
  SELLERS: "/sellers",
14
21
  SELLER_DETAIL: (id) => `/sellers/${id}`,
15
22
  STORES: "/stores",
@@ -76,12 +83,14 @@ export const DEFAULT_ROUTE_MAP = {
76
83
  SETTINGS: "/user/settings",
77
84
  ORDERS: "/user/orders",
78
85
  WISHLIST: "/wishlist",
86
+ HISTORY: "/user/history",
79
87
  ADDRESSES: "/user/addresses",
80
88
  ADDRESSES_ADD: "/user/addresses/add",
81
89
  ADDRESSES_EDIT: (id) => `/user/addresses/edit/${id}`,
82
90
  ORDER_DETAIL: (id) => `/user/orders/view/${id}`,
83
91
  ORDER_CANCEL: (id) => `/user/orders/${id}/cancel`,
84
92
  ORDER_TRACK: (id) => `/user/orders/${id}/track`,
93
+ ORDER_INVOICE: (id) => `/user/orders/${id}/invoice`,
85
94
  NOTIFICATIONS: "/user/notifications",
86
95
  MESSAGES: "/user/messages",
87
96
  BECOME_SELLER: "/user/become-seller",
@@ -91,6 +100,7 @@ export const DEFAULT_ROUTE_MAP = {
91
100
  OFFERS: "/user/offers",
92
101
  REVIEWS: "/user/reviews",
93
102
  BIDS: "/user/bids",
103
+ RETURNS: "/user/returns",
94
104
  },
95
105
  STORE: {
96
106
  DASHBOARD: "/store",
@@ -124,6 +134,17 @@ export const DEFAULT_ROUTE_MAP = {
124
134
  SUBLISTING_CATEGORIES: "/store/sublisting-categories",
125
135
  SUBLISTING_CATEGORIES_NEW: "/store/sublisting-categories/new",
126
136
  SUBLISTING_CATEGORIES_EDIT: (id) => `/store/sublisting-categories/${id}/edit`,
137
+ FEATURES: "/store/features",
138
+ FEATURES_NEW: "/store/features/new",
139
+ FEATURES_EDIT: (id) => `/store/features/${id}/edit`,
140
+ SLUG: "/store/slug",
141
+ // SB1-J — bundles + prize draws
142
+ BUNDLES: "/store/bundles",
143
+ BUNDLES_NEW: "/store/bundles/new",
144
+ BUNDLES_EDIT: (id) => `/store/bundles/${id}/edit`,
145
+ PRIZE_DRAWS: "/store/prize-draws",
146
+ PRIZE_DRAWS_NEW: "/store/prize-draws/new",
147
+ PRIZE_DRAWS_EDIT: (id) => `/store/prize-draws/${id}/edit`,
127
148
  },
128
149
  ADMIN: {
129
150
  DASHBOARD: "/admin/dashboard",
@@ -132,6 +153,8 @@ export const DEFAULT_ROUTE_MAP = {
132
153
  CAROUSEL: "/admin/carousel",
133
154
  CAROUSEL_NEW: "/admin/carousel/new",
134
155
  CAROUSEL_EDIT: (id) => `/admin/carousel/${id}/edit`,
156
+ CAROUSELS: "/admin/carousels",
157
+ CAROUSEL_DETAIL: (id) => `/admin/carousels/${id}`,
135
158
  SECTIONS: "/admin/sections",
136
159
  NAVIGATION: "/admin/navigation",
137
160
  CATEGORIES: "/admin/categories",
@@ -178,11 +201,20 @@ export const DEFAULT_ROUTE_MAP = {
178
201
  NOTIFICATIONS: "/admin/notifications",
179
202
  CARTS: "/admin/carts",
180
203
  WISHLISTS: "/admin/wishlists",
204
+ HISTORY: "/admin/history",
181
205
  RETURN_REQUESTS: "/admin/return-requests",
182
206
  STORE_ADDRESSES: "/admin/store-addresses",
183
207
  SUBLISTING_CATEGORIES: "/admin/sublisting-categories",
184
208
  SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new",
185
209
  SUBLISTING_CATEGORIES_EDIT: (id) => `/admin/sublisting-categories/${id}/edit`,
210
+ FEATURES: "/admin/features",
211
+ FEATURES_NEW: "/admin/features/new",
212
+ FEATURES_EDIT: (id) => `/admin/features/${id}/edit`,
213
+ // SB1-J — bundles + prize draws (admin moderation)
214
+ BUNDLES: "/admin/bundles",
215
+ BUNDLES_EDIT: (id) => `/admin/bundles/${id}/edit`,
216
+ PRIZE_DRAWS: "/admin/prize-draws",
217
+ PRIZE_DRAWS_EDIT: (id) => `/admin/prize-draws/${id}/edit`,
186
218
  },
187
219
  DEMO: {
188
220
  SEED: "/demo/seed",
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Virtual filter aliases — a clause like `listingType==auction` is expanded
3
+ * into one or more real Sieve clauses (`isAuction==true,isPreOrder==false`)
4
+ * before the model reaches the underlying Sieve processor.
5
+ *
6
+ * Pure (no firebase-admin or runtime deps) so this module is safe to import
7
+ * from client code. The Firebase-aware Sieve adapter in `./sieve.ts` re-exports
8
+ * these for backwards-compat with consumers that already imported from there.
9
+ *
10
+ * The expander receives the raw operator + value the caller used (e.g. `==`,
11
+ * `!=`) and the value string. Return a comma-separated Sieve clause string,
12
+ * or empty string to drop the clause silently.
13
+ */
14
+ export type SieveFilterAlias = (value: string, operator: string) => string;
15
+ export type SieveFilterAliases = Record<string, SieveFilterAlias>;
16
+ /**
17
+ * Expand virtual filter clauses into real Sieve clauses.
18
+ * Pure function — exported for direct use in route helpers + unit testing.
19
+ */
20
+ export declare function expandFilterAliases(filters: string | undefined, aliases: SieveFilterAliases | undefined): string | undefined;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Expand virtual filter clauses into real Sieve clauses.
3
+ * Pure function — exported for direct use in route helpers + unit testing.
4
+ */
5
+ export function expandFilterAliases(filters, aliases) {
6
+ if (!filters || !aliases)
7
+ return filters;
8
+ const aliasKeys = Object.keys(aliases);
9
+ if (aliasKeys.length === 0)
10
+ return filters;
11
+ return filters
12
+ .split(",")
13
+ .map((clause) => clause.trim())
14
+ .filter(Boolean)
15
+ .map((clause) => {
16
+ // Match field, operator (==, !=, <=, >=, <, >, @=*, @=, _=), value.
17
+ const m = clause.match(/^([A-Za-z_][\w.]*)\s*(==|!=|<=|>=|<|>|@=\*?|_=)\s*(.*)$/);
18
+ if (!m)
19
+ return clause;
20
+ const [, field, op, value] = m;
21
+ const alias = aliases[field];
22
+ if (!alias)
23
+ return clause;
24
+ const expanded = alias(value, op);
25
+ return expanded || "";
26
+ })
27
+ .filter(Boolean)
28
+ .join(",");
29
+ }
@@ -26,5 +26,5 @@ import type { IDbProvider } from "../../contracts";
26
26
  export declare const firebaseDbProvider: IDbProvider;
27
27
  export { buildFirebaseClientConfig, normalizeFirebaseConfigValue, } from "./client-config";
28
28
  export type { FirebaseClientConfig } from "./client-config";
29
- export type { SieveModel, SieveFields, SieveFieldConfig, SieveOptions, SieveResult, FirebaseSieveFieldConfig, FirebaseSieveFields, FirebaseSieveOptions, FirebaseSieveResult, } from "./sieve";
30
- export { applySieveToFirestore } from "./sieve";
29
+ export type { SieveModel, SieveFields, SieveFieldConfig, SieveOptions, SieveResult, SieveFilterAlias, SieveFilterAliases, FirebaseSieveFieldConfig, FirebaseSieveFields, FirebaseSieveOptions, FirebaseSieveResult, } from "./sieve";
30
+ export { applySieveToFirestore, expandFilterAliases } from "./sieve";
@@ -38,4 +38,4 @@ export const firebaseDbProvider = {
38
38
  };
39
39
  // Firebase client config builder (for consumer app bundles)
40
40
  export { buildFirebaseClientConfig, normalizeFirebaseConfigValue, } from "./client-config";
41
- export { applySieveToFirestore } from "./sieve";
41
+ export { applySieveToFirestore, expandFilterAliases } from "./sieve";
@@ -19,6 +19,8 @@
19
19
  */
20
20
  import type { CollectionReference, DocumentData, Query } from "firebase-admin/firestore";
21
21
  import { FirebaseRepository } from "./base";
22
+ import { expandFilterAliases as _expandFilterAliases, type SieveFilterAlias, type SieveFilterAliases } from "./filter-aliases";
23
+ export { _expandFilterAliases as expandFilterAliases, type SieveFilterAlias, type SieveFilterAliases, };
22
24
  export type SieveFieldConfig = {
23
25
  /** Override the Firestore document field name. Defaults to the key name. */
24
26
  path?: string;
@@ -39,6 +41,13 @@ export interface SieveOptions {
39
41
  defaultPageSize?: number;
40
42
  maxPageSize?: number;
41
43
  throwExceptions?: boolean;
44
+ /**
45
+ * Optional virtual-field expansions applied to `model.filters` before the
46
+ * Sieve processor sees the string. Each entry maps an alias key to a
47
+ * function that returns the real Sieve clauses for that key. See
48
+ * `expandFilterAliases` for the parser contract.
49
+ */
50
+ aliases?: SieveFilterAliases;
42
51
  }
43
52
  export interface SieveResult<T> {
44
53
  items: T[];
@@ -21,29 +21,46 @@ import { SieveProcessorBase } from "@mohasinac/sievejs/services";
21
21
  import { createFirebaseAdapter } from "@mohasinac/sievejs/adapters/firebase";
22
22
  import { FirebaseRepository } from "./base";
23
23
  import { deserializeTimestamps, getFirestoreCount } from "./helpers";
24
+ import { expandFilterAliases as _expandFilterAliases, } from "./filter-aliases";
25
+ // Re-export the pure alias helper + types so consumers that already imported
26
+ // from `./sieve` keep working. Anyone who only needs the alias machinery
27
+ // should prefer importing from `./filter-aliases` directly — that path has
28
+ // zero runtime deps and is client-safe.
29
+ export { _expandFilterAliases as expandFilterAliases, };
24
30
  const SIEVE_DEFAULTS = {
25
31
  caseSensitive: false,
26
32
  defaultPageSize: 20,
27
33
  maxPageSize: 100,
28
34
  throwExceptions: false,
29
35
  };
36
+ /** Apply alias expansion to a model in-place-safe (returns a new model). */
37
+ function withAliasesExpanded(model, aliases) {
38
+ if (!aliases)
39
+ return model;
40
+ const expanded = _expandFilterAliases(model.filters, aliases);
41
+ if (expanded === model.filters)
42
+ return model;
43
+ return { ...model, filters: expanded };
44
+ }
30
45
  /**
31
46
  * Apply Sieve DSL to a CollectionReference/Query without requiring repository subclassing.
32
47
  */
33
48
  export async function applySieveToFirestore(params) {
34
49
  const { baseQuery, model, fields, options } = params;
35
- const merged = { ...SIEVE_DEFAULTS, ...(options ?? {}) };
50
+ const { aliases, ...rest } = options ?? {};
51
+ const merged = { ...SIEVE_DEFAULTS, ...rest };
52
+ const effective = withAliasesExpanded(model, aliases);
36
53
  const processor = new SieveProcessorBase({
37
54
  adapter: createFirebaseAdapter(),
38
55
  autoLoadConfig: false,
39
56
  options: merged,
40
57
  fields,
41
58
  });
42
- const filteredQ = processor.apply(model, baseQuery, {
59
+ const filteredQ = processor.apply(effective, baseQuery, {
43
60
  applyPagination: false,
44
61
  });
45
62
  const total = await getFirestoreCount(filteredQ);
46
- const pagedQ = processor.apply(model, baseQuery);
63
+ const pagedQ = processor.apply(effective, baseQuery);
47
64
  const snap = await pagedQ.get();
48
65
  const items = snap.docs.map((d) => deserializeTimestamps({ id: d.id, ...d.data() }));
49
66
  const page = Math.max(1, Number(model.page ?? 1));
@@ -68,9 +85,10 @@ export class FirebaseSieveRepository extends FirebaseRepository {
68
85
  * @param options Override defaults or supply a pre-filtered `baseQuery`.
69
86
  */
70
87
  async sieveQuery(model, fields, options) {
71
- const { baseQuery, ...sieveOptions } = options ?? {};
88
+ const { baseQuery, aliases, ...sieveOptions } = options ?? {};
72
89
  const merged = { ...SIEVE_DEFAULTS, ...sieveOptions };
73
90
  const base = baseQuery ?? this.getCollection();
91
+ const effective = withAliasesExpanded(model, aliases);
74
92
  const processor = new SieveProcessorBase({
75
93
  adapter: createFirebaseAdapter(),
76
94
  autoLoadConfig: false,
@@ -78,12 +96,12 @@ export class FirebaseSieveRepository extends FirebaseRepository {
78
96
  fields,
79
97
  });
80
98
  // Count (no docs fetched)
81
- const filteredQ = processor.apply(model, base, {
99
+ const filteredQ = processor.apply(effective, base, {
82
100
  applyPagination: false,
83
101
  });
84
102
  const total = await getFirestoreCount(filteredQ);
85
103
  // Paginated result
86
- const pagedQ = processor.apply(model, base);
104
+ const pagedQ = processor.apply(effective, base);
87
105
  const snap = await pagedQ.get();
88
106
  const items = snap.docs.map((d) => deserializeTimestamps({ id: d.id, ...d.data() }));
89
107
  const page = Math.max(1, Number(model.page ?? 1));
@@ -8,5 +8,6 @@ export declare class FirebaseClientAuthProvider implements IClientAuthProvider {
8
8
  sendPasswordResetEmail(email: string): Promise<void>;
9
9
  confirmPasswordReset(code: string, newPassword: string): Promise<void>;
10
10
  reauthenticateAndChangePassword(currentPassword: string, newPassword: string): Promise<void>;
11
+ reauthenticateAndSendEmailUpdateVerification(currentPassword: string, newEmail: string): Promise<void>;
11
12
  reloadCurrentUser(): Promise<void>;
12
13
  }
@@ -1,4 +1,4 @@
1
- import { applyActionCode as fbApplyActionCode, confirmPasswordReset as fbConfirmPasswordReset, EmailAuthProvider, getAuth, reauthenticateWithCredential, sendPasswordResetEmail as fbSendPasswordResetEmail, signInWithEmailAndPassword as fbSignInWithEmailAndPassword, updatePassword, } from "firebase/auth";
1
+ import { applyActionCode as fbApplyActionCode, confirmPasswordReset as fbConfirmPasswordReset, EmailAuthProvider, getAuth, reauthenticateWithCredential, sendPasswordResetEmail as fbSendPasswordResetEmail, signInWithEmailAndPassword as fbSignInWithEmailAndPassword, updatePassword, verifyBeforeUpdateEmail, } from "firebase/auth";
2
2
  /**
3
3
  * Firebase Auth client SDK implementation of IClientAuthProvider.
4
4
  */
@@ -23,6 +23,14 @@ export class FirebaseClientAuthProvider {
23
23
  await reauthenticateWithCredential(user, credential);
24
24
  await updatePassword(user, newPassword);
25
25
  }
26
+ async reauthenticateAndSendEmailUpdateVerification(currentPassword, newEmail) {
27
+ const user = getAuth().currentUser;
28
+ if (!user?.email)
29
+ throw new Error("No authenticated user.");
30
+ const credential = EmailAuthProvider.credential(user.email, currentPassword);
31
+ await reauthenticateWithCredential(user, credential);
32
+ await verifyBeforeUpdateEmail(user, newEmail);
33
+ }
26
34
  async reloadCurrentUser() {
27
35
  await getAuth().currentUser?.reload();
28
36
  }
@@ -307,3 +307,12 @@ export declare function shiprocketPrintLabel(token: string, shipmentIds: number[
307
307
  /** Shiprocket tokens are valid for approx. 10 days */
308
308
  export declare const SHIPROCKET_TOKEN_TTL_MS: number;
309
309
  export declare function isShiprocketTokenExpired(expiry: Date | undefined): boolean;
310
+ /**
311
+ * Public tracking URL Shiprocket exposes for every AWB. All consumers that
312
+ * record `trackingUrl` on an order should build it via this helper so the
313
+ * base URL stays single-source-of-truth.
314
+ */
315
+ export declare const SHIPROCKET_TRACKING_URL_BASE = "https://shiprocket.co/tracking";
316
+ export declare function buildShiprocketTrackingUrl(awb: string): string;
317
+ /** Status saved on an order immediately after pickup is generated. */
318
+ export declare const SHIPROCKET_STATUS_PICKUP_SCHEDULED = "Pickup Scheduled";
@@ -179,3 +179,14 @@ export function isShiprocketTokenExpired(expiry) {
179
179
  return true;
180
180
  return new Date() >= new Date(expiry);
181
181
  }
182
+ /**
183
+ * Public tracking URL Shiprocket exposes for every AWB. All consumers that
184
+ * record `trackingUrl` on an order should build it via this helper so the
185
+ * base URL stays single-source-of-truth.
186
+ */
187
+ export const SHIPROCKET_TRACKING_URL_BASE = "https://shiprocket.co/tracking";
188
+ export function buildShiprocketTrackingUrl(awb) {
189
+ return `${SHIPROCKET_TRACKING_URL_BASE}/${encodeURIComponent(awb)}`;
190
+ }
191
+ /** Status saved on an order immediately after pickup is generated. */
192
+ export const SHIPROCKET_STATUS_PICKUP_SCHEDULED = "Pickup Scheduled";
@@ -0,0 +1,25 @@
1
+ import { type ToastVariant } from "../../ui";
2
+ export type DispatchAction = {
3
+ type: "NAVIGATE";
4
+ href: string;
5
+ } | {
6
+ type: "OPEN_PANEL";
7
+ panelId: string;
8
+ data?: Record<string, unknown>;
9
+ } | {
10
+ type: "TOAST";
11
+ message: string;
12
+ variant?: ToastVariant;
13
+ } | {
14
+ type: "BULK";
15
+ actionId: string;
16
+ ids: string[];
17
+ } | {
18
+ type: "COPY";
19
+ text: string;
20
+ successMessage?: string;
21
+ };
22
+ export interface UseActionDispatchOptions {
23
+ onBulk?: (actionId: string, ids: string[]) => void;
24
+ }
25
+ export declare function useActionDispatch(options?: UseActionDispatchOptions): (action: DispatchAction) => Promise<void>;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { useCallback } from "react";
3
+ import { useRouter } from "next/navigation";
4
+ import { useToast } from "../../ui";
5
+ import { usePanelStore } from "../../stores/panel-store";
6
+ export function useActionDispatch(options) {
7
+ const router = useRouter();
8
+ const { showToast } = useToast();
9
+ const { openPanel } = usePanelStore();
10
+ return useCallback(async (action) => {
11
+ switch (action.type) {
12
+ case "NAVIGATE":
13
+ router.push(action.href);
14
+ break;
15
+ case "OPEN_PANEL":
16
+ openPanel(action.panelId, action.data);
17
+ break;
18
+ case "TOAST":
19
+ showToast(action.message, action.variant ?? "info");
20
+ break;
21
+ case "BULK":
22
+ options?.onBulk?.(action.actionId, action.ids);
23
+ break;
24
+ case "COPY":
25
+ await navigator.clipboard.writeText(action.text);
26
+ showToast(action.successMessage ?? "Copied!", "success");
27
+ break;
28
+ }
29
+ }, [router, showToast, openPanel, options]);
30
+ }
@@ -0,0 +1,15 @@
1
+ export interface PanelUrlSync {
2
+ openCreatePanel: () => void;
3
+ openEditPanel: (id: string) => void;
4
+ closePanel: () => void;
5
+ isCreateOpen: boolean;
6
+ isEditOpen: boolean;
7
+ editId: string | null;
8
+ }
9
+ /**
10
+ * Syncs create/edit panel state with URL search params.
11
+ * ?panel=create → isCreateOpen=true
12
+ * ?panel=edit&id=xxx → isEditOpen=true, editId="xxx"
13
+ * Closing removes both params via router.replace (no history entry).
14
+ */
15
+ export declare function usePanelUrlSync(): PanelUrlSync;
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { useCallback } from "react";
3
+ import { useSearchParams, useRouter, usePathname } from "next/navigation";
4
+ /**
5
+ * Syncs create/edit panel state with URL search params.
6
+ * ?panel=create → isCreateOpen=true
7
+ * ?panel=edit&id=xxx → isEditOpen=true, editId="xxx"
8
+ * Closing removes both params via router.replace (no history entry).
9
+ */
10
+ export function usePanelUrlSync() {
11
+ const searchParams = useSearchParams();
12
+ const router = useRouter();
13
+ const pathname = usePathname();
14
+ const panelParam = searchParams.get("panel");
15
+ const idParam = searchParams.get("id");
16
+ const isCreateOpen = panelParam === "create";
17
+ const isEditOpen = panelParam === "edit" && !!idParam;
18
+ const editId = isEditOpen ? idParam : null;
19
+ const openCreatePanel = useCallback(() => {
20
+ const sp = new URLSearchParams(searchParams.toString());
21
+ sp.set("panel", "create");
22
+ sp.delete("id");
23
+ router.push(`${pathname}?${sp.toString()}`);
24
+ }, [searchParams, pathname, router]);
25
+ const openEditPanel = useCallback((id) => {
26
+ const sp = new URLSearchParams(searchParams.toString());
27
+ sp.set("panel", "edit");
28
+ sp.set("id", id);
29
+ router.push(`${pathname}?${sp.toString()}`);
30
+ }, [searchParams, pathname, router]);
31
+ const closePanel = useCallback(() => {
32
+ const sp = new URLSearchParams(searchParams.toString());
33
+ sp.delete("panel");
34
+ sp.delete("id");
35
+ const qs = sp.toString();
36
+ router.replace(qs ? `${pathname}?${qs}` : pathname);
37
+ }, [searchParams, pathname, router]);
38
+ return {
39
+ openCreatePanel,
40
+ openEditPanel,
41
+ closePanel,
42
+ isCreateOpen,
43
+ isEditOpen,
44
+ editId,
45
+ };
46
+ }