@mohasinac/appkit 2.6.2 → 2.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/dist/_internal/server/features/account/data.js +2 -2
  2. package/dist/_internal/server/features/bundles/data.d.ts +26 -6
  3. package/dist/_internal/server/features/bundles/data.js +41 -6
  4. package/dist/_internal/server/features/bundles/index.d.ts +3 -2
  5. package/dist/_internal/server/features/bundles/index.js +4 -2
  6. package/dist/_internal/server/features/bundles/metadata.d.ts +20 -0
  7. package/dist/_internal/server/features/bundles/metadata.js +46 -0
  8. package/dist/_internal/server/features/bundles/og.d.ts +38 -0
  9. package/dist/_internal/server/features/bundles/og.js +122 -0
  10. package/dist/_internal/server/features/checkout/actions.js +192 -133
  11. package/dist/_internal/server/features/checkout/bundle-expansion.d.ts +57 -0
  12. package/dist/_internal/server/features/checkout/bundle-expansion.js +70 -0
  13. package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +5 -15
  14. package/dist/_internal/server/features/checkout/prize-bundle-gates.js +5 -21
  15. package/dist/_internal/server/features/media/contextGuards.js +15 -1
  16. package/dist/_internal/server/features/payouts/actions.d.ts +19 -0
  17. package/dist/_internal/server/features/payouts/actions.js +38 -0
  18. package/dist/_internal/server/features/products/data.js +1 -2
  19. package/dist/_internal/server/features/raffle/actions.d.ts +11 -0
  20. package/dist/_internal/server/features/raffle/actions.js +31 -0
  21. package/dist/_internal/server/features/refunds/actions.d.ts +31 -0
  22. package/dist/_internal/server/features/refunds/actions.js +77 -0
  23. package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +28 -0
  24. package/dist/_internal/server/jobs/core/adminAnalytics.js +98 -0
  25. package/dist/_internal/server/jobs/core/assignSpinPrize.d.ts +19 -0
  26. package/dist/_internal/server/jobs/core/assignSpinPrize.js +81 -0
  27. package/dist/_internal/server/jobs/core/auctionSettlement.d.ts +2 -0
  28. package/dist/_internal/server/jobs/core/auctionSettlement.js +70 -0
  29. package/dist/_internal/server/jobs/core/autoPayoutEligibility.d.ts +2 -0
  30. package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +109 -0
  31. package/dist/_internal/server/jobs/core/bundleStockSync.d.ts +10 -0
  32. package/dist/_internal/server/jobs/core/bundleStockSync.js +71 -0
  33. package/dist/_internal/server/jobs/core/cartPrune.d.ts +2 -0
  34. package/dist/_internal/server/jobs/core/cartPrune.js +13 -0
  35. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.d.ts +2 -0
  36. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +45 -0
  37. package/dist/_internal/server/jobs/core/countersReconcile.d.ts +2 -0
  38. package/dist/_internal/server/jobs/core/countersReconcile.js +107 -0
  39. package/dist/_internal/server/jobs/core/couponExpiry.d.ts +2 -0
  40. package/dist/_internal/server/jobs/core/couponExpiry.js +13 -0
  41. package/dist/_internal/server/jobs/core/dailyDataCleanup.d.ts +2 -0
  42. package/dist/_internal/server/jobs/core/dailyDataCleanup.js +20 -0
  43. package/dist/_internal/server/jobs/core/index.d.ts +44 -0
  44. package/dist/_internal/server/jobs/core/index.js +47 -0
  45. package/dist/_internal/server/jobs/core/listingProcessor.d.ts +30 -0
  46. package/dist/_internal/server/jobs/core/listingProcessor.js +138 -0
  47. package/dist/_internal/server/jobs/core/mediaTmpCleanup.d.ts +14 -0
  48. package/dist/_internal/server/jobs/core/mediaTmpCleanup.js +68 -0
  49. package/dist/_internal/server/jobs/core/notificationPrune.d.ts +2 -0
  50. package/dist/_internal/server/jobs/core/notificationPrune.js +13 -0
  51. package/dist/_internal/server/jobs/core/offerExpiry.d.ts +2 -0
  52. package/dist/_internal/server/jobs/core/offerExpiry.js +50 -0
  53. package/dist/_internal/server/jobs/core/onBidPlaced.d.ts +15 -0
  54. package/dist/_internal/server/jobs/core/onBidPlaced.js +59 -0
  55. package/dist/_internal/server/jobs/core/onCategoryWrite.d.ts +14 -0
  56. package/dist/_internal/server/jobs/core/onCategoryWrite.js +134 -0
  57. package/dist/_internal/server/jobs/core/onOrderCreate.d.ts +18 -0
  58. package/dist/_internal/server/jobs/core/onOrderCreate.js +78 -0
  59. package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +19 -0
  60. package/dist/_internal/server/jobs/core/onOrderStatusChange.js +139 -0
  61. package/dist/_internal/server/jobs/core/onProductStockChange.d.ts +23 -0
  62. package/dist/_internal/server/jobs/core/onProductStockChange.js +130 -0
  63. package/dist/_internal/server/jobs/core/onProductWrite.d.ts +12 -0
  64. package/dist/_internal/server/jobs/core/onProductWrite.js +94 -0
  65. package/dist/_internal/server/jobs/core/onReviewWrite.d.ts +7 -0
  66. package/dist/_internal/server/jobs/core/onReviewWrite.js +49 -0
  67. package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +12 -0
  68. package/dist/_internal/server/jobs/core/onStoreWrite.js +7 -0
  69. package/dist/_internal/server/jobs/core/payoutBatch.d.ts +8 -0
  70. package/dist/_internal/server/jobs/core/payoutBatch.js +102 -0
  71. package/dist/_internal/server/jobs/core/pendingOrderTimeout.d.ts +2 -0
  72. package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +27 -0
  73. package/dist/_internal/server/jobs/core/positionsReconcile.d.ts +7 -0
  74. package/dist/_internal/server/jobs/core/positionsReconcile.js +87 -0
  75. package/dist/_internal/server/jobs/core/prizeRevealClose.d.ts +2 -0
  76. package/dist/_internal/server/jobs/core/prizeRevealClose.js +22 -0
  77. package/dist/_internal/server/jobs/core/prizeRevealExpiry.d.ts +2 -0
  78. package/dist/_internal/server/jobs/core/prizeRevealExpiry.js +50 -0
  79. package/dist/_internal/server/jobs/core/prizeRevealOpen.d.ts +2 -0
  80. package/dist/_internal/server/jobs/core/prizeRevealOpen.js +56 -0
  81. package/dist/_internal/server/jobs/core/prizeRevealReminder.d.ts +2 -0
  82. package/dist/_internal/server/jobs/core/prizeRevealReminder.js +38 -0
  83. package/dist/_internal/server/jobs/core/productStatsSync.d.ts +8 -0
  84. package/dist/_internal/server/jobs/core/productStatsSync.js +36 -0
  85. package/dist/_internal/server/jobs/core/promotions.d.ts +12 -0
  86. package/dist/_internal/server/jobs/core/promotions.js +43 -0
  87. package/dist/_internal/server/jobs/core/storeAnalytics.d.ts +30 -0
  88. package/dist/_internal/server/jobs/core/storeAnalytics.js +109 -0
  89. package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +19 -0
  90. package/dist/_internal/server/jobs/core/triggerEventRaffle.js +86 -0
  91. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +6 -0
  92. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +85 -0
  93. package/dist/_internal/server/jobs/handlers/adminAnalytics.d.ts +2 -26
  94. package/dist/_internal/server/jobs/handlers/adminAnalytics.js +2 -98
  95. package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +1 -22
  96. package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +2 -86
  97. package/dist/_internal/server/jobs/handlers/auctionSettlement.js +2 -70
  98. package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +2 -110
  99. package/dist/_internal/server/jobs/handlers/bundleStockSync.d.ts +0 -16
  100. package/dist/_internal/server/jobs/handlers/bundleStockSync.js +2 -80
  101. package/dist/_internal/server/jobs/handlers/cartPrune.js +2 -13
  102. package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +2 -45
  103. package/dist/_internal/server/jobs/handlers/countersReconcile.js +2 -109
  104. package/dist/_internal/server/jobs/handlers/couponExpiry.js +2 -13
  105. package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +2 -20
  106. package/dist/_internal/server/jobs/handlers/listingProcessor.d.ts +3 -28
  107. package/dist/_internal/server/jobs/handlers/listingProcessor.js +3 -138
  108. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.d.ts +0 -12
  109. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +2 -69
  110. package/dist/_internal/server/jobs/handlers/notificationPrune.js +2 -13
  111. package/dist/_internal/server/jobs/handlers/offerExpiry.js +2 -50
  112. package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +1 -10
  113. package/dist/_internal/server/jobs/handlers/onBidPlaced.js +2 -56
  114. package/dist/_internal/server/jobs/handlers/onCategoryWrite.d.ts +1 -8
  115. package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +6 -134
  116. package/dist/_internal/server/jobs/handlers/onOrderCreate.d.ts +1 -12
  117. package/dist/_internal/server/jobs/handlers/onOrderCreate.js +2 -76
  118. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.d.ts +1 -12
  119. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +2 -139
  120. package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +0 -13
  121. package/dist/_internal/server/jobs/handlers/onProductStockChange.js +7 -134
  122. package/dist/_internal/server/jobs/handlers/onProductWrite.d.ts +1 -6
  123. package/dist/_internal/server/jobs/handlers/onProductWrite.js +6 -106
  124. package/dist/_internal/server/jobs/handlers/onReviewWrite.js +2 -49
  125. package/dist/_internal/server/jobs/handlers/onStoreWrite.d.ts +1 -8
  126. package/dist/_internal/server/jobs/handlers/onStoreWrite.js +7 -8
  127. package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +0 -9
  128. package/dist/_internal/server/jobs/handlers/payoutBatch.js +2 -104
  129. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.d.ts +0 -6
  130. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +2 -33
  131. package/dist/_internal/server/jobs/handlers/positionsReconcile.d.ts +0 -5
  132. package/dist/_internal/server/jobs/handlers/positionsReconcile.js +2 -87
  133. package/dist/_internal/server/jobs/handlers/prizeRevealClose.d.ts +0 -7
  134. package/dist/_internal/server/jobs/handlers/prizeRevealClose.js +2 -29
  135. package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.d.ts +0 -8
  136. package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.js +2 -58
  137. package/dist/_internal/server/jobs/handlers/prizeRevealOpen.d.ts +0 -8
  138. package/dist/_internal/server/jobs/handlers/prizeRevealOpen.js +2 -65
  139. package/dist/_internal/server/jobs/handlers/prizeRevealReminder.d.ts +0 -7
  140. package/dist/_internal/server/jobs/handlers/prizeRevealReminder.js +2 -45
  141. package/dist/_internal/server/jobs/handlers/productStatsSync.d.ts +0 -6
  142. package/dist/_internal/server/jobs/handlers/productStatsSync.js +2 -36
  143. package/dist/_internal/server/jobs/handlers/promotions.d.ts +2 -10
  144. package/dist/_internal/server/jobs/handlers/promotions.js +2 -43
  145. package/dist/_internal/server/jobs/handlers/storeAnalytics.d.ts +2 -28
  146. package/dist/_internal/server/jobs/handlers/storeAnalytics.js +2 -109
  147. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +1 -28
  148. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +2 -94
  149. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.d.ts +0 -6
  150. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +2 -87
  151. package/dist/_internal/server/jobs/index.d.ts +1 -0
  152. package/dist/_internal/server/jobs/index.js +1 -0
  153. package/dist/_internal/server/jobs/runtime/adapters/firebase.js +21 -0
  154. package/dist/_internal/shared/actions/action-registry.d.ts +84 -0
  155. package/dist/_internal/shared/actions/action-registry.js +160 -0
  156. package/dist/_internal/shared/checkout/rules/_defaults.d.ts +3 -0
  157. package/dist/_internal/shared/checkout/rules/_defaults.js +22 -0
  158. package/dist/_internal/shared/checkout/rules/_limits.d.ts +19 -0
  159. package/dist/_internal/shared/checkout/rules/_limits.js +19 -0
  160. package/dist/_internal/shared/checkout/rules/_registry.d.ts +44 -0
  161. package/dist/_internal/shared/checkout/rules/_registry.js +87 -0
  162. package/dist/_internal/shared/checkout/rules/auction.rule.d.ts +2 -0
  163. package/dist/_internal/shared/checkout/rules/auction.rule.js +10 -0
  164. package/dist/_internal/shared/checkout/rules/bundle.rule.d.ts +11 -0
  165. package/dist/_internal/shared/checkout/rules/bundle.rule.js +6 -0
  166. package/dist/_internal/shared/checkout/rules/classified.rule.d.ts +9 -0
  167. package/dist/_internal/shared/checkout/rules/classified.rule.js +9 -0
  168. package/dist/_internal/shared/checkout/rules/digital-code.rule.d.ts +8 -0
  169. package/dist/_internal/shared/checkout/rules/digital-code.rule.js +6 -0
  170. package/dist/_internal/shared/checkout/rules/index.d.ts +12 -0
  171. package/dist/_internal/shared/checkout/rules/index.js +12 -0
  172. package/dist/_internal/shared/checkout/rules/live.rule.d.ts +10 -0
  173. package/dist/_internal/shared/checkout/rules/live.rule.js +6 -0
  174. package/dist/_internal/shared/checkout/rules/offer.rule.d.ts +2 -0
  175. package/dist/_internal/shared/checkout/rules/offer.rule.js +9 -0
  176. package/dist/_internal/shared/checkout/rules/preorder.rule.d.ts +2 -0
  177. package/dist/_internal/shared/checkout/rules/preorder.rule.js +28 -0
  178. package/dist/_internal/shared/checkout/rules/prize-draw.rule.d.ts +2 -0
  179. package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +65 -0
  180. package/dist/_internal/shared/checkout/rules/standard.rule.d.ts +2 -0
  181. package/dist/_internal/shared/checkout/rules/standard.rule.js +5 -0
  182. package/dist/_internal/shared/checkout/rules/types.d.ts +125 -0
  183. package/dist/_internal/shared/checkout/rules/types.js +13 -0
  184. package/dist/_internal/shared/features/cart/schema.d.ts +6 -6
  185. package/dist/_internal/shared/features/categories/bundle-copy.d.ts +123 -0
  186. package/dist/_internal/shared/features/categories/bundle-copy.js +134 -0
  187. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +318 -0
  188. package/dist/_internal/shared/features/categories/bundle-schemas.js +55 -0
  189. package/dist/_internal/shared/features/orders/refund-copy.d.ts +36 -0
  190. package/dist/_internal/shared/features/orders/refund-copy.js +40 -0
  191. package/dist/_internal/shared/features/orders/schema.d.ts +4 -4
  192. package/dist/_internal/shared/features/products/schema.d.ts +8 -8
  193. package/dist/_internal/shared/listing-types/_registry.d.ts +27 -0
  194. package/dist/_internal/shared/listing-types/_registry.js +8 -0
  195. package/dist/_internal/shared/listing-types/action-tracker.d.ts +41 -0
  196. package/dist/_internal/shared/listing-types/action-tracker.js +70 -0
  197. package/dist/_internal/shared/listing-types/capabilities.js +25 -0
  198. package/dist/_internal/shared/listing-types/cart-shipping.d.ts +37 -0
  199. package/dist/_internal/shared/listing-types/cart-shipping.js +46 -0
  200. package/dist/_internal/shared/listing-types/classified/config.d.ts +7 -0
  201. package/dist/_internal/shared/listing-types/classified/config.js +8 -0
  202. package/dist/_internal/shared/listing-types/classified/ctas.d.ts +1 -0
  203. package/dist/_internal/shared/listing-types/classified/ctas.js +3 -0
  204. package/dist/_internal/shared/listing-types/classified/og.d.ts +1 -0
  205. package/dist/_internal/shared/listing-types/classified/og.js +1 -0
  206. package/dist/_internal/shared/listing-types/classified/schema.d.ts +1 -0
  207. package/dist/_internal/shared/listing-types/classified/schema.js +1 -0
  208. package/dist/_internal/shared/listing-types/classified/seed-factory.d.ts +1 -0
  209. package/dist/_internal/shared/listing-types/classified/seed-factory.js +1 -0
  210. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +7 -0
  211. package/dist/_internal/shared/listing-types/digital-code/config.js +8 -0
  212. package/dist/_internal/shared/listing-types/digital-code/ctas.d.ts +1 -0
  213. package/dist/_internal/shared/listing-types/digital-code/ctas.js +3 -0
  214. package/dist/_internal/shared/listing-types/digital-code/og.d.ts +1 -0
  215. package/dist/_internal/shared/listing-types/digital-code/og.js +1 -0
  216. package/dist/_internal/shared/listing-types/digital-code/schema.d.ts +1 -0
  217. package/dist/_internal/shared/listing-types/digital-code/schema.js +1 -0
  218. package/dist/_internal/shared/listing-types/digital-code/seed-factory.d.ts +1 -0
  219. package/dist/_internal/shared/listing-types/digital-code/seed-factory.js +1 -0
  220. package/dist/_internal/shared/listing-types/feature-flags.d.ts +34 -0
  221. package/dist/_internal/shared/listing-types/feature-flags.js +45 -0
  222. package/dist/_internal/shared/listing-types/live/config.d.ts +7 -0
  223. package/dist/_internal/shared/listing-types/live/config.js +8 -0
  224. package/dist/_internal/shared/listing-types/live/ctas.d.ts +1 -0
  225. package/dist/_internal/shared/listing-types/live/ctas.js +3 -0
  226. package/dist/_internal/shared/listing-types/live/og.d.ts +1 -0
  227. package/dist/_internal/shared/listing-types/live/og.js +1 -0
  228. package/dist/_internal/shared/listing-types/live/schema.d.ts +1 -0
  229. package/dist/_internal/shared/listing-types/live/schema.js +1 -0
  230. package/dist/_internal/shared/listing-types/live/seed-factory.d.ts +1 -0
  231. package/dist/_internal/shared/listing-types/live/seed-factory.js +1 -0
  232. package/dist/_internal/shared/media/limits.js +8 -0
  233. package/dist/client.d.ts +6 -1
  234. package/dist/client.js +14 -1
  235. package/dist/configs/next.js +7 -0
  236. package/dist/constants/api-endpoints.d.ts +6 -0
  237. package/dist/constants/api-endpoints.js +4 -0
  238. package/dist/core/hooks/useSyncManager.js +13 -1
  239. package/dist/core/unit-of-work.d.ts +1 -1
  240. package/dist/core/unit-of-work.js +2 -2
  241. package/dist/features/account/actions/address-actions.d.ts +1 -1
  242. package/dist/features/account/actions/address-actions.js +15 -7
  243. package/dist/features/account/schemas/firestore.d.ts +8 -43
  244. package/dist/features/account/schemas/firestore.js +8 -54
  245. package/dist/features/account/schemas/index.d.ts +6 -6
  246. package/dist/features/account/server.d.ts +1 -1
  247. package/dist/features/account/server.js +3 -1
  248. package/dist/features/addresses/index.d.ts +2 -0
  249. package/dist/features/addresses/index.js +2 -0
  250. package/dist/features/addresses/repository/addresses.repository.d.ts +29 -0
  251. package/dist/features/addresses/repository/addresses.repository.js +157 -0
  252. package/dist/features/addresses/schemas/firestore.d.ts +53 -0
  253. package/dist/features/addresses/schemas/firestore.js +68 -0
  254. package/dist/features/{bundles → addresses}/schemas/index.d.ts +0 -1
  255. package/dist/features/{bundles → addresses}/schemas/index.js +0 -1
  256. package/dist/features/addresses/server.d.ts +2 -0
  257. package/dist/features/addresses/server.js +2 -0
  258. package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -3
  259. package/dist/features/admin/components/AdminBidsView.js +4 -3
  260. package/dist/features/admin/components/AdminBlogView.js +8 -3
  261. package/dist/features/admin/components/AdminBundleEditorView.d.ts +9 -0
  262. package/dist/features/admin/components/AdminBundleEditorView.js +209 -0
  263. package/dist/features/admin/components/AdminBundlesView.d.ts +9 -0
  264. package/dist/features/admin/components/AdminBundlesView.js +59 -0
  265. package/dist/features/admin/components/AdminCartsView.js +13 -3
  266. package/dist/features/admin/components/AdminContactView.js +4 -3
  267. package/dist/features/admin/components/AdminCouponsView.js +32 -13
  268. package/dist/features/admin/components/AdminNewsletterView.js +4 -3
  269. package/dist/features/admin/components/AdminOrdersView.js +15 -7
  270. package/dist/features/admin/components/AdminPayoutsView.js +4 -3
  271. package/dist/features/admin/components/AdminProductsView.js +6 -5
  272. package/dist/features/admin/components/AdminReviewsView.js +5 -4
  273. package/dist/features/admin/components/AdminStoresView.js +4 -3
  274. package/dist/features/admin/components/AdminUsersView.js +15 -5
  275. package/dist/features/admin/components/AdminWishlistsView.js +10 -1
  276. package/dist/features/admin/components/DataTable.d.ts +5 -1
  277. package/dist/features/admin/components/DataTable.js +24 -20
  278. package/dist/features/admin/components/index.d.ts +4 -0
  279. package/dist/features/admin/components/index.js +3 -0
  280. package/dist/features/admin/constants/filter-tabs.d.ts +401 -0
  281. package/dist/features/admin/constants/filter-tabs.js +200 -0
  282. package/dist/features/admin/hooks/useAdminListingData.d.ts +1 -0
  283. package/dist/features/admin/hooks/useAdminListingData.js +1 -0
  284. package/dist/features/admin/schemas/firestore.d.ts +15 -0
  285. package/dist/features/admin/schemas/firestore.js +18 -0
  286. package/dist/features/admin/types/product.types.d.ts +2 -2
  287. package/dist/features/auctions/components/AuctionCard.d.ts +4 -1
  288. package/dist/features/auctions/components/AuctionCard.js +5 -3
  289. package/dist/features/auctions/components/AuctionDetailPageView.js +1 -1
  290. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +2 -2
  291. package/dist/features/auctions/components/PlaceBidFormClient.js +12 -2
  292. package/dist/features/auctions/schemas/index.d.ts +2 -2
  293. package/dist/features/auth/index.d.ts +1 -0
  294. package/dist/features/auth/index.js +1 -0
  295. package/dist/features/auth/role-predicates.d.ts +16 -0
  296. package/dist/features/auth/role-predicates.js +15 -0
  297. package/dist/features/blog/components/BlogFeaturedCard.d.ts +4 -1
  298. package/dist/features/blog/components/BlogFeaturedCard.js +5 -3
  299. package/dist/features/cart/actions/cart-actions.d.ts +1 -0
  300. package/dist/features/cart/actions/cart-actions.js +16 -0
  301. package/dist/features/cart/components/CartView.d.ts +19 -1
  302. package/dist/features/cart/components/CartView.js +2 -2
  303. package/dist/features/cart/components/ShippingPicker.d.ts +13 -0
  304. package/dist/features/cart/components/ShippingPicker.js +48 -0
  305. package/dist/features/cart/components/index.d.ts +3 -1
  306. package/dist/features/cart/components/index.js +1 -0
  307. package/dist/features/cart/hooks/useCartCount.js +7 -1
  308. package/dist/features/cart/repository/cart.repository.d.ts +1 -0
  309. package/dist/features/cart/repository/cart.repository.js +35 -0
  310. package/dist/features/cart/schemas/firestore.d.ts +27 -2
  311. package/dist/features/categories/components/BundleAddToCartCta.d.ts +16 -0
  312. package/dist/features/categories/components/BundleAddToCartCta.js +54 -0
  313. package/dist/features/categories/components/BundleBuyNowCta.d.ts +8 -0
  314. package/dist/features/categories/components/BundleBuyNowCta.js +37 -0
  315. package/dist/features/categories/components/BundleDetailView.d.ts +22 -0
  316. package/dist/features/categories/components/BundleDetailView.js +31 -0
  317. package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +18 -0
  318. package/dist/features/categories/components/BundleDynamicRuleEditor.js +60 -0
  319. package/dist/features/categories/components/BundleItemsPicker.d.ts +26 -0
  320. package/dist/features/categories/components/BundleItemsPicker.js +135 -0
  321. package/dist/features/categories/components/BundlesListView.d.ts +13 -0
  322. package/dist/features/categories/components/BundlesListView.js +27 -0
  323. package/dist/features/categories/components/index.d.ts +12 -0
  324. package/dist/features/categories/components/index.js +9 -0
  325. package/dist/features/checkout/actions/checkout-actions.js +10 -3
  326. package/dist/features/events/components/AdminEventEditorView.js +108 -2
  327. package/dist/features/events/components/AdminEventsView.js +16 -4
  328. package/dist/features/events/components/EventCard.d.ts +4 -1
  329. package/dist/features/events/components/EventCard.js +7 -3
  330. package/dist/features/events/components/EventRaffleWinnerView.d.ts +21 -0
  331. package/dist/features/events/components/EventRaffleWinnerView.js +18 -0
  332. package/dist/features/events/components/SpinWheelView.d.ts +27 -0
  333. package/dist/features/events/components/SpinWheelView.js +64 -0
  334. package/dist/features/events/components/index.d.ts +4 -0
  335. package/dist/features/events/components/index.js +2 -0
  336. package/dist/features/events/schemas/firestore.d.ts +27 -1
  337. package/dist/features/events/schemas/firestore.js +7 -0
  338. package/dist/features/events/types/index.d.ts +27 -1
  339. package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +16 -0
  340. package/dist/features/homepage/components/FeaturedBundlesSection.js +24 -0
  341. package/dist/features/homepage/components/MarketplaceHomepageView.js +4 -1
  342. package/dist/features/homepage/components/WhatsAppCommunitySection.js +2 -2
  343. package/dist/features/homepage/lib/section-renderer.d.ts +2 -0
  344. package/dist/features/homepage/lib/section-renderer.js +5 -5
  345. package/dist/features/layout/NavbarLayout.d.ts +3 -1
  346. package/dist/features/layout/NavbarLayout.js +32 -3
  347. package/dist/features/layout/TitleBarLayout.d.ts +6 -3
  348. package/dist/features/layout/TitleBarLayout.js +22 -7
  349. package/dist/features/media/upload/MediaUploadField.d.ts +15 -1
  350. package/dist/features/media/upload/MediaUploadField.js +22 -1
  351. package/dist/features/orders/components/MarketplaceOrderCard.js +4 -2
  352. package/dist/features/orders/components/OrderSiblingPayments.d.ts +8 -0
  353. package/dist/features/orders/components/OrderSiblingPayments.js +16 -0
  354. package/dist/features/orders/components/RefundHistoryTable.d.ts +6 -0
  355. package/dist/features/orders/components/RefundHistoryTable.js +23 -0
  356. package/dist/features/orders/components/RefundRequestView.d.ts +8 -0
  357. package/dist/features/orders/components/RefundRequestView.js +42 -0
  358. package/dist/features/orders/components/index.d.ts +6 -0
  359. package/dist/features/orders/components/index.js +3 -0
  360. package/dist/features/orders/index.d.ts +1 -0
  361. package/dist/features/orders/index.js +2 -0
  362. package/dist/features/orders/repository/orders.repository.d.ts +20 -1
  363. package/dist/features/orders/repository/orders.repository.js +30 -1
  364. package/dist/features/orders/schemas/firestore.d.ts +63 -13
  365. package/dist/features/orders/schemas/firestore.js +5 -5
  366. package/dist/features/orders/schemas/index.d.ts +4 -4
  367. package/dist/features/orders/types/index.d.ts +12 -2
  368. package/dist/features/orders/utils/bundle-grouping.d.ts +48 -0
  369. package/dist/features/orders/utils/bundle-grouping.js +54 -0
  370. package/dist/features/orders/utils/order-splitter.d.ts +9 -10
  371. package/dist/features/orders/utils/order-splitter.js +24 -30
  372. package/dist/features/payments/repository/payout.repository.d.ts +17 -1
  373. package/dist/features/payments/repository/payout.repository.js +47 -0
  374. package/dist/features/payments/schemas/firestore.d.ts +26 -0
  375. package/dist/features/pre-orders/components/PreorderCard.d.ts +4 -1
  376. package/dist/features/pre-orders/components/PreorderCard.js +8 -6
  377. package/dist/features/products/actions/product-actions.d.ts +1 -1
  378. package/dist/features/products/actions/product-actions.js +1 -1
  379. package/dist/features/products/components/CompareOverlay.d.ts +2 -2
  380. package/dist/features/products/components/CompareOverlay.js +4 -4
  381. package/dist/features/products/components/InteractiveProductCard.js +7 -12
  382. package/dist/features/products/components/NonRefundableConsentModal.d.ts +1 -1
  383. package/dist/features/products/components/NonRefundableConsentModal.js +0 -10
  384. package/dist/features/products/components/ProductGrid.js +28 -12
  385. package/dist/features/products/components/ShowGroupSection.js +3 -3
  386. package/dist/features/products/components/SublistingCarouselSection.js +2 -2
  387. package/dist/features/products/components/index.d.ts +0 -4
  388. package/dist/features/products/components/index.js +5 -2
  389. package/dist/features/products/index.d.ts +1 -1
  390. package/dist/features/products/index.js +3 -1
  391. package/dist/features/products/repository/products.repository.js +4 -0
  392. package/dist/features/products/schemas/catalog-product.d.ts +70 -0
  393. package/dist/features/products/schemas/catalog-product.js +50 -0
  394. package/dist/features/products/schemas/firestore.d.ts +110 -2
  395. package/dist/features/products/schemas/firestore.js +30 -0
  396. package/dist/features/products/schemas/index.d.ts +8 -8
  397. package/dist/features/products/types/index.d.ts +1 -1
  398. package/dist/features/products/utils/listing-type.d.ts +9 -0
  399. package/dist/features/products/utils/listing-type.js +4 -0
  400. package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
  401. package/dist/features/promotions/actions/coupon-actions.js +1 -1
  402. package/dist/features/promotions/components/CouponCard.d.ts +28 -10
  403. package/dist/features/promotions/components/CouponCard.js +116 -14
  404. package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
  405. package/dist/features/promotions/repository/coupons.repository.d.ts +1 -1
  406. package/dist/features/reviews/schemas/index.d.ts +2 -2
  407. package/dist/features/search/schemas/index.d.ts +2 -2
  408. package/dist/features/search/types/index.d.ts +2 -2
  409. package/dist/features/seller/components/SellerAuctionsView.js +4 -5
  410. package/dist/features/seller/components/SellerBidsView.js +5 -13
  411. package/dist/features/seller/components/SellerCouponsView.js +31 -67
  412. package/dist/features/seller/components/SellerOffersView.js +4 -5
  413. package/dist/features/seller/components/SellerOrdersView.js +4 -5
  414. package/dist/features/seller/components/SellerPayoutsView.js +4 -5
  415. package/dist/features/seller/components/SellerProductsView.js +4 -8
  416. package/dist/features/seller/schemas/index.d.ts +2 -2
  417. package/dist/features/stores/actions/store-address-actions.d.ts +10 -6
  418. package/dist/features/stores/actions/store-address-actions.js +8 -7
  419. package/dist/features/stores/components/InteractiveStoreCard.js +3 -10
  420. package/dist/features/stores/components/StoreDetailLayoutView.js +20 -5
  421. package/dist/features/stores/schemas/firestore.d.ts +45 -38
  422. package/dist/features/stores/schemas/firestore.js +2 -49
  423. package/dist/features/stores/server.d.ts +0 -1
  424. package/dist/features/stores/server.js +2 -1
  425. package/dist/features/wishlist/hooks/useWishlistCount.d.ts +7 -9
  426. package/dist/features/wishlist/hooks/useWishlistCount.js +67 -86
  427. package/dist/features/wishlist/types/index.d.ts +1 -1
  428. package/dist/index.d.ts +50 -9
  429. package/dist/index.js +57 -11
  430. package/dist/next/routing/route-map.d.ts +6 -0
  431. package/dist/next/routing/route-map.js +4 -0
  432. package/dist/providers/db-firebase/admin-app-lite.js +21 -0
  433. package/dist/providers/db-firebase/admin.d.ts +6 -2
  434. package/dist/providers/db-firebase/admin.js +23 -0
  435. package/dist/repositories/index.d.ts +1 -2
  436. package/dist/repositories/index.js +5 -2
  437. package/dist/security/authorization.d.ts +2 -1
  438. package/dist/security/authorization.js +3 -2
  439. package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
  440. package/dist/seed/bids-seed-data.d.ts +2 -2
  441. package/dist/seed/bids-seed-data.js +77 -2
  442. package/dist/seed/cart-seed-data.d.ts +10 -10
  443. package/dist/seed/cart-seed-data.js +15 -15
  444. package/dist/seed/events-seed-data.js +77 -0
  445. package/dist/seed/manifest.js +16 -8
  446. package/dist/seed/orders-seed-data.js +41 -2
  447. package/dist/seed/payouts-seed-data.js +18 -2
  448. package/dist/seed/stores-seed-data.js +55 -0
  449. package/dist/server-entry.d.ts +1 -0
  450. package/dist/server-entry.js +2 -0
  451. package/dist/server.d.ts +4 -0
  452. package/dist/server.js +8 -0
  453. package/dist/tailwind-utilities.css +1 -1
  454. package/dist/ui/components/FilterChipGroup.d.ts +39 -0
  455. package/dist/ui/components/FilterChipGroup.js +15 -0
  456. package/dist/ui/components/HorizontalScroller.js +32 -7
  457. package/dist/ui/components/HorizontalScroller.style.css +6 -0
  458. package/dist/ui/components/SiteLogo.js +1 -1
  459. package/dist/ui/index.d.ts +2 -0
  460. package/dist/ui/index.js +2 -0
  461. package/dist/utils/id-generators.d.ts +11 -0
  462. package/dist/utils/id-generators.js +16 -0
  463. package/package.json +1 -1
  464. package/dist/_internal/shared/features/bundles/config.d.ts +0 -6
  465. package/dist/_internal/shared/features/bundles/config.js +0 -6
  466. package/dist/_internal/shared/schema-versions.d.ts +0 -76
  467. package/dist/_internal/shared/schema-versions.js +0 -82
  468. package/dist/features/account/migrations.d.ts +0 -2
  469. package/dist/features/account/migrations.js +0 -10
  470. package/dist/features/admin/migrations.d.ts +0 -2
  471. package/dist/features/admin/migrations.js +0 -10
  472. package/dist/features/auctions/migrations.d.ts +0 -2
  473. package/dist/features/auctions/migrations.js +0 -10
  474. package/dist/features/auth/migrations.d.ts +0 -2
  475. package/dist/features/auth/migrations.js +0 -10
  476. package/dist/features/blog/migrations.d.ts +0 -2
  477. package/dist/features/blog/migrations.js +0 -10
  478. package/dist/features/brands/actions/brand-actions.d.ts +0 -2
  479. package/dist/features/brands/actions/brand-actions.js +0 -5
  480. package/dist/features/brands/index.d.ts +0 -3
  481. package/dist/features/brands/index.js +0 -3
  482. package/dist/features/brands/migrations.d.ts +0 -2
  483. package/dist/features/brands/migrations.js +0 -10
  484. package/dist/features/brands/repository/brands.repository.d.ts +0 -13
  485. package/dist/features/brands/repository/brands.repository.js +0 -60
  486. package/dist/features/brands/schemas/index.d.ts +0 -33
  487. package/dist/features/brands/schemas/index.js +0 -15
  488. package/dist/features/brands/server.d.ts +0 -7
  489. package/dist/features/brands/server.js +0 -7
  490. package/dist/features/bundles/components/AdminBundleEditorView.d.ts +0 -8
  491. package/dist/features/bundles/components/AdminBundleEditorView.js +0 -7
  492. package/dist/features/bundles/components/BundleDetailPageView.d.ts +0 -9
  493. package/dist/features/bundles/components/BundleDetailPageView.js +0 -45
  494. package/dist/features/bundles/components/BundleForm.d.ts +0 -12
  495. package/dist/features/bundles/components/BundleForm.js +0 -126
  496. package/dist/features/bundles/components/BundleItemsPicker.d.ts +0 -9
  497. package/dist/features/bundles/components/BundleItemsPicker.js +0 -77
  498. package/dist/features/bundles/components/BundlesByCategoryListing.d.ts +0 -6
  499. package/dist/features/bundles/components/BundlesByCategoryListing.js +0 -50
  500. package/dist/features/bundles/components/BundlesListingView.d.ts +0 -17
  501. package/dist/features/bundles/components/BundlesListingView.js +0 -50
  502. package/dist/features/bundles/components/FeaturedBundlesSection.d.ts +0 -5
  503. package/dist/features/bundles/components/FeaturedBundlesSection.js +0 -55
  504. package/dist/features/bundles/components/SellerBundleCreateView.d.ts +0 -8
  505. package/dist/features/bundles/components/SellerBundleCreateView.js +0 -7
  506. package/dist/features/bundles/components/SellerBundleEditView.d.ts +0 -9
  507. package/dist/features/bundles/components/SellerBundleEditView.js +0 -7
  508. package/dist/features/bundles/components/index.d.ts +0 -18
  509. package/dist/features/bundles/components/index.js +0 -9
  510. package/dist/features/bundles/constants/index.d.ts +0 -32
  511. package/dist/features/bundles/constants/index.js +0 -35
  512. package/dist/features/bundles/index.d.ts +0 -2
  513. package/dist/features/bundles/index.js +0 -2
  514. package/dist/features/bundles/migrations.d.ts +0 -2
  515. package/dist/features/bundles/migrations.js +0 -10
  516. package/dist/features/bundles/repository/bundles.repository.d.ts +0 -36
  517. package/dist/features/bundles/repository/bundles.repository.js +0 -148
  518. package/dist/features/bundles/repository/index.d.ts +0 -1
  519. package/dist/features/bundles/repository/index.js +0 -1
  520. package/dist/features/bundles/schemas/firestore.d.ts +0 -88
  521. package/dist/features/bundles/schemas/firestore.js +0 -29
  522. package/dist/features/bundles/schemas/zod.d.ts +0 -377
  523. package/dist/features/bundles/schemas/zod.js +0 -71
  524. package/dist/features/cart/migrations.d.ts +0 -2
  525. package/dist/features/cart/migrations.js +0 -10
  526. package/dist/features/categories/migrations.d.ts +0 -2
  527. package/dist/features/categories/migrations.js +0 -10
  528. package/dist/features/events/migrations.d.ts +0 -2
  529. package/dist/features/events/migrations.js +0 -10
  530. package/dist/features/faq/migrations.d.ts +0 -2
  531. package/dist/features/faq/migrations.js +0 -10
  532. package/dist/features/grouped/migrations.d.ts +0 -2
  533. package/dist/features/grouped/migrations.js +0 -10
  534. package/dist/features/history/migrations.d.ts +0 -2
  535. package/dist/features/history/migrations.js +0 -10
  536. package/dist/features/messages/migrations.d.ts +0 -2
  537. package/dist/features/messages/migrations.js +0 -10
  538. package/dist/features/orders/migrations.d.ts +0 -2
  539. package/dist/features/orders/migrations.js +0 -10
  540. package/dist/features/payments/migrations.d.ts +0 -2
  541. package/dist/features/payments/migrations.js +0 -10
  542. package/dist/features/products/migrations.d.ts +0 -2
  543. package/dist/features/products/migrations.js +0 -10
  544. package/dist/features/products/repository/sublisting-categories.repository.d.ts +0 -16
  545. package/dist/features/products/repository/sublisting-categories.repository.js +0 -126
  546. package/dist/features/products/schemas/sublisting-categories.d.ts +0 -45
  547. package/dist/features/products/schemas/sublisting-categories.js +0 -16
  548. package/dist/features/promotions/migrations.d.ts +0 -2
  549. package/dist/features/promotions/migrations.js +0 -10
  550. package/dist/features/reviews/migrations.d.ts +0 -2
  551. package/dist/features/reviews/migrations.js +0 -10
  552. package/dist/features/scams/migrations.d.ts +0 -2
  553. package/dist/features/scams/migrations.js +0 -10
  554. package/dist/features/seller/migrations.d.ts +0 -2
  555. package/dist/features/seller/migrations.js +0 -10
  556. package/dist/features/stores/migrations.d.ts +0 -2
  557. package/dist/features/stores/migrations.js +0 -10
  558. package/dist/features/sublisting/migrations.d.ts +0 -2
  559. package/dist/features/sublisting/migrations.js +0 -10
  560. package/dist/features/sublisting/schemas/firestore.d.ts +0 -32
  561. package/dist/features/sublisting/schemas/firestore.js +0 -19
  562. package/dist/features/support/migrations.d.ts +0 -2
  563. package/dist/features/support/migrations.js +0 -10
  564. package/dist/features/wishlist/migrations.d.ts +0 -2
  565. package/dist/features/wishlist/migrations.js +0 -10
  566. package/dist/seed/_bundle-constants.d.ts +0 -14
  567. package/dist/seed/_bundle-constants.js +0 -14
  568. package/dist/seed/anime-figures-seed-data.d.ts +0 -8
  569. package/dist/seed/anime-figures-seed-data.js +0 -1033
  570. package/dist/seed/beyblade-seed-data.d.ts +0 -7
  571. package/dist/seed/beyblade-seed-data.js +0 -1129
  572. package/dist/seed/brands-seed-data.d.ts +0 -7
  573. package/dist/seed/brands-seed-data.js +0 -410
  574. package/dist/seed/bundles-seed-data.d.ts +0 -13
  575. package/dist/seed/bundles-seed-data.js +0 -229
  576. package/dist/seed/cosplay-accessories-seed-data.d.ts +0 -8
  577. package/dist/seed/cosplay-accessories-seed-data.js +0 -647
  578. package/dist/seed/hot-wheels-seed-data.d.ts +0 -7
  579. package/dist/seed/hot-wheels-seed-data.js +0 -1612
  580. package/dist/seed/letitrip-official-seed-data.d.ts +0 -8
  581. package/dist/seed/letitrip-official-seed-data.js +0 -399
  582. package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +0 -8
  583. package/dist/seed/pokemon-carousel-slides-seed-data.js +0 -322
  584. package/dist/seed/pokemon-categories-seed-data.d.ts +0 -24
  585. package/dist/seed/pokemon-categories-seed-data.js +0 -547
  586. package/dist/seed/pokemon-coupons-seed-data.d.ts +0 -6
  587. package/dist/seed/pokemon-coupons-seed-data.js +0 -465
  588. package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +0 -7
  589. package/dist/seed/pokemon-homepage-sections-seed-data.js +0 -241
  590. package/dist/seed/pokemon-products-seed-data.d.ts +0 -9
  591. package/dist/seed/pokemon-products-seed-data.js +0 -1791
  592. package/dist/seed/pokemon-seed-bundle.d.ts +0 -47
  593. package/dist/seed/pokemon-seed-bundle.js +0 -71
  594. package/dist/seed/pokemon-stores-seed-data.d.ts +0 -6
  595. package/dist/seed/pokemon-stores-seed-data.js +0 -179
  596. package/dist/seed/pokemon-users-seed-data.d.ts +0 -6
  597. package/dist/seed/pokemon-users-seed-data.js +0 -521
  598. package/dist/seed/products-seed-data.d.ts +0 -6
  599. package/dist/seed/products-seed-data.js +0 -2530
  600. package/dist/seed/retro-gaming-seed-data.d.ts +0 -8
  601. package/dist/seed/retro-gaming-seed-data.js +0 -801
  602. package/dist/seed/server.d.ts +0 -2
  603. package/dist/seed/server.js +0 -7
  604. package/dist/seed/sublisting-categories-seed-data.d.ts +0 -7
  605. package/dist/seed/sublisting-categories-seed-data.js +0 -159
  606. package/dist/seed/transformers-seed-data.d.ts +0 -7
  607. package/dist/seed/transformers-seed-data.js +0 -530
@@ -1,1129 +0,0 @@
1
- /**
2
- * Beyblade Burst — Products Seed Data
3
- * 20 general · 2 auctions · 2 pre-orders = 24 total
4
- * Seller: Bladers Paradise (store-bladers-paradise)
5
- */
6
- import { getDefaultCurrency } from "./seed-market-config";
7
- const _CURRENCY = getDefaultCurrency();
8
- const NOW = new Date();
9
- const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
10
- const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
11
- const BP = {
12
- storeId: "store-bladers-paradise",
13
- storeName: "Bladers Paradise",
14
- };
15
- const BB_IMGS = [
16
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Spinning_top.jpg?width=640",
17
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Beyblade.jpg?width=640",
18
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Spinning_top_toy.jpg?width=640",
19
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Top_(toy).jpg?width=640",
20
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Japanese_spinning_top.jpg?width=640",
21
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Koma_(top).jpg?width=640",
22
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Spinning_top_collection.jpg?width=640",
23
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Beyblades.jpg?width=640",
24
- "https://commons.wikimedia.org/wiki/Special:Redirect/file/Toy_spinning_top.jpg?width=640",
25
- ];
26
- const img = (seed) => {
27
- let h = 0;
28
- for (const c of seed)
29
- h = (h * 31 + c.charCodeAt(0)) & 0x7fff;
30
- return BB_IMGS[h % BB_IMGS.length];
31
- };
32
- export const beybladeProductsSeedData = [
33
- // ── ATTACK TYPE (6) ──────────────────────────────────────────────────────
34
- {
35
- id: "product-bb-valtryek-v5-attack-bp-1",
36
- title: "Beyblade Burst — Valtryek V5 Attack Type (Rise)",
37
- description: "<p>Valtryek V5 is one of the most powerful attack-type Beyblades in the Burst Rise series. The five-bladed layer delivers devastating attacks with high burst resistance. Includes launcher and ripcord.</p>",
38
- slug: "product-bb-valtryek-v5-attack-rise",
39
- category: "category-bb-attack-type",
40
- subcategory: "Burst Rise",
41
- brand: "Beyblade Burst",
42
- price: 1299,
43
- currency: _CURRENCY,
44
- stockQuantity: 20,
45
- availableQuantity: 17,
46
- mainImage: img("bb-valtryek-v5"),
47
- images: [img("bb-valtryek-v5"), img("bb-valtryek-v5-2")],
48
- video: {
49
- url: "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4",
50
- thumbnailUrl: "https://commons.wikimedia.org/wiki/Special:Redirect/file/Spinning_top.jpg?width=640",
51
- duration: 15,
52
- },
53
- status: "published",
54
- ...BP,
55
- featured: true,
56
- tags: ["beyblade", "burst", "valtryek", "v5", "attack", "rise"],
57
- specifications: [
58
- { name: "Series", value: "Beyblade Burst Rise" },
59
- { name: "Type", value: "Attack" },
60
- { name: "Layer", value: "Victory Valtryek V5" },
61
- { name: "Forge Disc", value: "10 Glaive" },
62
- { name: "Performance Tip", value: "Volcanic" },
63
- ],
64
- features: ["High burst resistance", "Five-blade attack layer", "Includes launcher + ripcord"],
65
- shippingInfo: "Padded box. Nationwide delivery.",
66
- returnPolicy: "7-day returns for unopened items.",
67
- condition: "new",
68
- insurance: false,
69
- shippingPaidBy: "seller",
70
- isAuction: false,
71
- isPreOrder: false,
72
- isPromoted: true,
73
- promotionEndDate: daysAhead(30),
74
- avgRating: 4.7,
75
- reviewCount: 28,
76
- createdAt: daysAgo(60),
77
- updatedAt: daysAgo(3),
78
- },
79
- {
80
- id: "product-bb-spriggan-requiem-attack-bp-2",
81
- title: "Beyblade Burst — Spriggan Requiem Attack/Stamina (Turbo)",
82
- description: "<p>Spriggan Requiem from Beyblade Burst Turbo — the mythical dual-spin top that dominated every competition in its era. Spin right for Attack, left for Stamina. Legendary performance.</p>",
83
- slug: "product-bb-spriggan-requiem-turbo-attack-stamina",
84
- category: "category-bb-attack-type",
85
- subcategory: "Burst Turbo",
86
- brand: "Beyblade Burst",
87
- price: 2499,
88
- currency: _CURRENCY,
89
- stockQuantity: 8,
90
- availableQuantity: 6,
91
- mainImage: img("bb-spriggan-requiem"),
92
- images: [img("bb-spriggan-requiem")],
93
- status: "published",
94
- ...BP,
95
- featured: true,
96
- tags: ["beyblade", "burst", "spriggan", "requiem", "turbo", "dual spin", "legendary"],
97
- specifications: [
98
- { name: "Series", value: "Beyblade Burst Turbo" },
99
- { name: "Type", value: "Attack / Stamina (Dual Spin)" },
100
- { name: "Layer", value: "Spriggan Requiem" },
101
- { name: "Special Feature", value: "Dual-spin (right/left)" },
102
- ],
103
- features: ["Dual spin capability", "Attack + Stamina modes", "Legendary series bey"],
104
- shippingInfo: "Premium padded box.",
105
- returnPolicy: "7-day returns unopened.",
106
- condition: "new",
107
- insurance: false,
108
- shippingPaidBy: "seller",
109
- isAuction: false,
110
- isPreOrder: false,
111
- isPromoted: true,
112
- promotionEndDate: daysAhead(20),
113
- avgRating: 4.9,
114
- reviewCount: 52,
115
- createdAt: daysAgo(55),
116
- updatedAt: daysAgo(2),
117
- },
118
- {
119
- id: "product-bb-cho-z-achilles-attack-bp-3",
120
- title: "Beyblade Burst — Cho-Z Achilles 00 Dimension Attack",
121
- description: "<p>Cho-Z Achilles 00 Dimension — the most powerful attack-type in Burst Cho-Z series. Metal-reinforced armor for devastating strikes. Used by Aiger Akabane in the anime.</p>",
122
- slug: "product-bb-cho-z-achilles-00-dimension-attack",
123
- category: "category-bb-attack-type",
124
- subcategory: "Burst Cho-Z",
125
- brand: "Beyblade Burst",
126
- price: 1899,
127
- currency: _CURRENCY,
128
- stockQuantity: 12,
129
- availableQuantity: 10,
130
- mainImage: img("bb-achilles-cho-z"),
131
- images: [img("bb-achilles-cho-z")],
132
- status: "published",
133
- ...BP,
134
- featured: false,
135
- tags: ["beyblade", "burst", "achilles", "cho-z", "attack", "aiger"],
136
- specifications: [
137
- { name: "Series", value: "Beyblade Burst Cho-Z" },
138
- { name: "Type", value: "Attack" },
139
- { name: "Layer", value: "Cho-Z Achilles" },
140
- { name: "Chassis", value: "00 Dimension" },
141
- ],
142
- features: ["Metal Cho-Z armor", "High power attack", "Anime protagonist bey"],
143
- shippingInfo: "Padded nationwide delivery.",
144
- returnPolicy: "7-day returns.",
145
- condition: "new",
146
- insurance: false,
147
- shippingPaidBy: "seller",
148
- isAuction: false,
149
- isPreOrder: false,
150
- avgRating: 4.8,
151
- reviewCount: 34,
152
- createdAt: daysAgo(50),
153
- updatedAt: daysAgo(5),
154
- },
155
- {
156
- id: "product-bb-world-spriggan-attack-bp-4",
157
- title: "Beyblade Burst — World Spriggan Unison' Sword Drift Attack",
158
- description: "<p>World Spriggan features the unique Unison Driver that switches between Attack and Stamina modes dynamically during battle. A top competitive choice in GT series.</p>",
159
- slug: "product-bb-world-spriggan-unison-sword-drift",
160
- category: "category-bb-attack-type",
161
- subcategory: "Burst GT",
162
- brand: "Beyblade Burst",
163
- price: 2199,
164
- currency: _CURRENCY,
165
- stockQuantity: 10,
166
- availableQuantity: 8,
167
- mainImage: img("bb-world-spriggan"),
168
- images: [img("bb-world-spriggan")],
169
- status: "published",
170
- ...BP,
171
- featured: true,
172
- tags: ["beyblade", "burst", "world spriggan", "gt", "attack", "unison"],
173
- specifications: [
174
- { name: "Series", value: "Beyblade Burst GT" },
175
- { name: "Type", value: "Attack / Stamina (Dynamic)" },
176
- { name: "Driver", value: "Unison Sword Drift" },
177
- ],
178
- features: ["Dynamic mode switch", "Unison driver technology", "GT series champion"],
179
- shippingInfo: "Padded box.",
180
- returnPolicy: "7-day returns.",
181
- condition: "new",
182
- insurance: false,
183
- shippingPaidBy: "seller",
184
- isAuction: false,
185
- isPreOrder: false,
186
- avgRating: 4.8,
187
- reviewCount: 22,
188
- createdAt: daysAgo(45),
189
- updatedAt: daysAgo(4),
190
- },
191
- {
192
- id: "product-bb-turbo-spryzen-s4-attack-bp-5",
193
- title: "Beyblade Burst — Turbo Spryzen S4 Tornado Strike Attack",
194
- description: "<p>Turbo Spryzen S4 — the iconic balance-to-attack Beyblade from Burst Turbo. The tornado-generating performance tip creates spiraling attack patterns that confuse opponents.</p>",
195
- slug: "product-bb-turbo-spryzen-s4-tornado-strike",
196
- category: "category-bb-attack-type",
197
- subcategory: "Burst Turbo",
198
- brand: "Beyblade Burst",
199
- price: 1599,
200
- currency: _CURRENCY,
201
- stockQuantity: 14,
202
- availableQuantity: 12,
203
- mainImage: img("bb-turbo-spryzen"),
204
- images: [img("bb-turbo-spryzen")],
205
- status: "published",
206
- ...BP,
207
- featured: false,
208
- tags: ["beyblade", "burst", "spryzen", "turbo", "tornado", "attack"],
209
- specifications: [
210
- { name: "Series", value: "Beyblade Burst Turbo" },
211
- { name: "Type", value: "Attack" },
212
- ],
213
- features: ["Tornado Strike performance tip", "Spiral attack pattern"],
214
- shippingInfo: "Nationwide padded delivery.",
215
- returnPolicy: "7-day returns.",
216
- condition: "new",
217
- insurance: false,
218
- shippingPaidBy: "seller",
219
- isAuction: false,
220
- isPreOrder: false,
221
- avgRating: 4.5,
222
- reviewCount: 19,
223
- createdAt: daysAgo(40),
224
- updatedAt: daysAgo(6),
225
- },
226
- {
227
- id: "product-bb-ultimate-valtryek-v6-attack-bp-6",
228
- title: "Beyblade Burst — Ultimate Valtryek V6 Volcanic' Attack",
229
- description: "<p>The ultimate evolution of Valtryek. V6 features enhanced burst resistance and the Volcanic' driver for aggressive close-range attacks. Limited restock — get yours now.</p>",
230
- slug: "product-bb-ultimate-valtryek-v6-volcanic-attack",
231
- category: "category-bb-attack-type",
232
- subcategory: "Burst Superking",
233
- brand: "Beyblade Burst",
234
- price: 1799,
235
- currency: _CURRENCY,
236
- stockQuantity: 9,
237
- availableQuantity: 7,
238
- mainImage: img("bb-valtryek-v6"),
239
- images: [img("bb-valtryek-v6")],
240
- status: "published",
241
- ...BP,
242
- featured: false,
243
- tags: ["beyblade", "burst", "valtryek", "v6", "ultimate", "attack"],
244
- specifications: [
245
- { name: "Series", value: "Beyblade Burst Superking" },
246
- { name: "Type", value: "Attack" },
247
- { name: "Generation", value: "V6 — 6th evolution" },
248
- ],
249
- features: ["Enhanced burst resistance", "Volcanic' driver", "6th-gen Valtryek evolution"],
250
- shippingInfo: "Nationwide delivery.",
251
- returnPolicy: "7-day returns.",
252
- condition: "new",
253
- insurance: false,
254
- shippingPaidBy: "seller",
255
- isAuction: false,
256
- isPreOrder: false,
257
- avgRating: 4.6,
258
- reviewCount: 15,
259
- createdAt: daysAgo(35),
260
- updatedAt: daysAgo(7),
261
- },
262
- // ── DEFENSE TYPE (4) ──────────────────────────────────────────────────────
263
- {
264
- id: "product-bb-maximum-garuda-g6-defense-bp-7",
265
- title: "Beyblade Burst — Maximum Garuda G6 Defense",
266
- description: "<p>Maximum Garuda G6 is a wide, heavy defense-type Beyblade from Burst Rise. The six-wing layer absorbs attacks efficiently, and the heavy disc adds stability under pressure.</p>",
267
- slug: "product-bb-maximum-garuda-g6-defense",
268
- category: "category-bb-defense-type",
269
- subcategory: "Burst Rise",
270
- brand: "Beyblade Burst",
271
- price: 1399,
272
- currency: _CURRENCY,
273
- stockQuantity: 15,
274
- availableQuantity: 13,
275
- mainImage: img("bb-garuda-g6"),
276
- images: [img("bb-garuda-g6")],
277
- status: "published",
278
- ...BP,
279
- featured: false,
280
- tags: ["beyblade", "burst", "garuda", "g6", "defense", "rise"],
281
- specifications: [
282
- { name: "Series", value: "Beyblade Burst Rise" },
283
- { name: "Type", value: "Defense" },
284
- { name: "Layer", value: "Maximum Garuda G6" },
285
- ],
286
- features: ["6-wing defense layer", "Heavy metal disc", "High resistance to bursting"],
287
- shippingInfo: "Padded nationwide delivery.",
288
- returnPolicy: "7-day returns.",
289
- condition: "new",
290
- insurance: false,
291
- shippingPaidBy: "seller",
292
- isAuction: false,
293
- isPreOrder: false,
294
- avgRating: 4.5,
295
- reviewCount: 20,
296
- createdAt: daysAgo(55),
297
- updatedAt: daysAgo(4),
298
- },
299
- {
300
- id: "product-bb-tempest-dragon-defense-bp-8",
301
- title: "Beyblade Burst — Tempest Dragon Defense (QuadDrive)",
302
- description: "<p>Tempest Dragon from QuadDrive — the toughest defense bey in the series. The dragon-themed layer has reinforced ridges that deflect attack-type hits and maintain spin momentum.</p>",
303
- slug: "product-bb-tempest-dragon-defense-quaddrive",
304
- category: "category-bb-defense-type",
305
- subcategory: "Burst QuadDrive",
306
- brand: "Beyblade Burst",
307
- price: 1899,
308
- currency: _CURRENCY,
309
- stockQuantity: 10,
310
- availableQuantity: 9,
311
- mainImage: img("bb-tempest-dragon"),
312
- images: [img("bb-tempest-dragon")],
313
- status: "published",
314
- ...BP,
315
- featured: true,
316
- tags: ["beyblade", "burst", "tempest dragon", "defense", "quaddrive"],
317
- specifications: [
318
- { name: "Series", value: "Beyblade Burst QuadDrive" },
319
- { name: "Type", value: "Defense" },
320
- ],
321
- features: ["Reinforced dragon ridges", "Deflection-optimised shape", "QuadDrive chassis"],
322
- shippingInfo: "Padded nationwide delivery.",
323
- returnPolicy: "7-day returns.",
324
- condition: "new",
325
- insurance: false,
326
- shippingPaidBy: "seller",
327
- isAuction: false,
328
- isPreOrder: false,
329
- avgRating: 4.6,
330
- reviewCount: 16,
331
- createdAt: daysAgo(48),
332
- updatedAt: daysAgo(5),
333
- },
334
- {
335
- id: "product-bb-balkesh-b3-defense-bp-9",
336
- title: "Beyblade Burst — Balkesh B3 Iron Defense",
337
- description: "<p>Balkesh B3 Iron Defense from original Burst series. The bull-horned layer provides excellent self-righting behaviour and burst resistance. A foundational defense-type bey.</p>",
338
- slug: "product-bb-balkesh-b3-iron-defense",
339
- category: "category-bb-defense-type",
340
- subcategory: "Burst Original",
341
- brand: "Beyblade Burst",
342
- price: 999,
343
- currency: _CURRENCY,
344
- stockQuantity: 18,
345
- availableQuantity: 16,
346
- mainImage: img("bb-balkesh-b3"),
347
- images: [img("bb-balkesh-b3")],
348
- status: "published",
349
- ...BP,
350
- featured: false,
351
- tags: ["beyblade", "burst", "balkesh", "b3", "defense"],
352
- specifications: [
353
- { name: "Series", value: "Beyblade Burst Original" },
354
- { name: "Type", value: "Defense" },
355
- ],
356
- features: ["Bull horn shape", "Burst resistance", "Solid defense profile"],
357
- shippingInfo: "Nationwide delivery.",
358
- returnPolicy: "7-day returns.",
359
- condition: "new",
360
- insurance: false,
361
- shippingPaidBy: "seller",
362
- isAuction: false,
363
- isPreOrder: false,
364
- avgRating: 4.3,
365
- reviewCount: 11,
366
- createdAt: daysAgo(40),
367
- updatedAt: daysAgo(8),
368
- },
369
- {
370
- id: "product-bb-king-helios-defense-bp-10",
371
- title: "Beyblade Burst — King Helios Zn Dimension Defense",
372
- description: "<p>King Helios Zn Dimension from Burst QuadDrive — heavy defense chassis with the King Helios sun-themed layer. Exceptional stability under relentless attack combinations.</p>",
373
- slug: "product-bb-king-helios-zn-dimension-defense",
374
- category: "category-bb-defense-type",
375
- subcategory: "Burst QuadDrive",
376
- brand: "Beyblade Burst",
377
- price: 1699,
378
- currency: _CURRENCY,
379
- stockQuantity: 11,
380
- availableQuantity: 9,
381
- mainImage: img("bb-king-helios"),
382
- images: [img("bb-king-helios")],
383
- status: "published",
384
- ...BP,
385
- featured: false,
386
- tags: ["beyblade", "burst", "king helios", "zn", "defense", "quaddrive"],
387
- specifications: [
388
- { name: "Series", value: "Beyblade Burst QuadDrive" },
389
- { name: "Type", value: "Defense" },
390
- { name: "Chassis", value: "Zn Dimension" },
391
- ],
392
- features: ["Sun-themed layer", "High stability chassis", "Heavy defense build"],
393
- shippingInfo: "Padded nationwide.",
394
- returnPolicy: "7-day returns.",
395
- condition: "new",
396
- insurance: false,
397
- shippingPaidBy: "seller",
398
- isAuction: false,
399
- isPreOrder: false,
400
- avgRating: 4.5,
401
- reviewCount: 13,
402
- createdAt: daysAgo(32),
403
- updatedAt: daysAgo(6),
404
- },
405
- // ── STAMINA TYPE (5) ──────────────────────────────────────────────────────
406
- {
407
- id: "product-bb-nepstrius-n4-stamina-bp-11",
408
- title: "Beyblade Burst — Nepstrius N4 Octo' Yard' Stamina",
409
- description: "<p>Nepstrius N4 is the definitive stamina-type Beyblade from Burst Rise. Low-friction tip and aerodynamic layer allow it to outlast almost any opponent. Tournament pick for stamina bladers.</p>",
410
- slug: "product-bb-nepstrius-n4-octo-yard-stamina",
411
- category: "category-bb-stamina-type",
412
- subcategory: "Burst Rise",
413
- brand: "Beyblade Burst",
414
- price: 1299,
415
- currency: _CURRENCY,
416
- stockQuantity: 16,
417
- availableQuantity: 14,
418
- mainImage: img("bb-nepstrius-n4"),
419
- images: [img("bb-nepstrius-n4")],
420
- status: "published",
421
- ...BP,
422
- featured: true,
423
- tags: ["beyblade", "burst", "nepstrius", "n4", "stamina", "rise", "tournament"],
424
- specifications: [
425
- { name: "Series", value: "Beyblade Burst Rise" },
426
- { name: "Type", value: "Stamina" },
427
- { name: "Performance Tip", value: "Yard' (low friction)" },
428
- ],
429
- features: ["Ultra-low friction Yard' tip", "Aerodynamic layer", "Tournament-grade stamina"],
430
- shippingInfo: "Padded nationwide.",
431
- returnPolicy: "7-day returns.",
432
- condition: "new",
433
- insurance: false,
434
- shippingPaidBy: "seller",
435
- isAuction: false,
436
- isPreOrder: false,
437
- isPromoted: true,
438
- promotionEndDate: daysAhead(25),
439
- avgRating: 4.8,
440
- reviewCount: 41,
441
- createdAt: daysAgo(65),
442
- updatedAt: daysAgo(3),
443
- },
444
- {
445
- id: "product-bb-chaos-hyperion-stamina-bp-12",
446
- title: "Beyblade Burst — Chaos Hyperion Stamina (Superking)",
447
- description: "<p>Hyperion Burn from Burst Superking — a fearsome stamina type with the Hyperion sun layer and Burn performance tip. Lights up the stadium with its signature glow effect during battle.</p>",
448
- slug: "product-bb-chaos-hyperion-burn-stamina-superking",
449
- category: "category-bb-stamina-type",
450
- subcategory: "Burst Superking",
451
- brand: "Beyblade Burst",
452
- price: 1799,
453
- currency: _CURRENCY,
454
- stockQuantity: 10,
455
- availableQuantity: 8,
456
- mainImage: img("bb-hyperion"),
457
- images: [img("bb-hyperion")],
458
- status: "published",
459
- ...BP,
460
- featured: false,
461
- tags: ["beyblade", "burst", "hyperion", "stamina", "superking", "glow"],
462
- specifications: [
463
- { name: "Series", value: "Beyblade Burst Superking" },
464
- { name: "Type", value: "Stamina" },
465
- { name: "Special Feature", value: "LED glow effect" },
466
- ],
467
- features: ["LED glow effect during spin", "Aerodynamic Hyperion layer", "Burn tip stamina"],
468
- shippingInfo: "Padded box nationwide.",
469
- returnPolicy: "7-day returns.",
470
- condition: "new",
471
- insurance: false,
472
- shippingPaidBy: "seller",
473
- isAuction: false,
474
- isPreOrder: false,
475
- avgRating: 4.7,
476
- reviewCount: 24,
477
- createdAt: daysAgo(50),
478
- updatedAt: daysAgo(4),
479
- },
480
- {
481
- id: "product-bb-revive-phoenix-stamina-bp-13",
482
- title: "Beyblade Burst — Revive Phoenix 10Fr Survive Stamina",
483
- description: "<p>Revive Phoenix — the legendary stamina-type with the unique 'Survive' performance tip that self-rights when tilted. Near impossible to knock out. A collector icon.</p>",
484
- slug: "product-bb-revive-phoenix-10fr-survive-stamina",
485
- category: "category-bb-stamina-type",
486
- subcategory: "Burst Evolution",
487
- brand: "Beyblade Burst",
488
- price: 2499,
489
- currency: _CURRENCY,
490
- stockQuantity: 7,
491
- availableQuantity: 5,
492
- mainImage: img("bb-revive-phoenix"),
493
- images: [img("bb-revive-phoenix")],
494
- status: "published",
495
- ...BP,
496
- featured: true,
497
- tags: ["beyblade", "burst", "revive phoenix", "stamina", "survive", "legendary"],
498
- specifications: [
499
- { name: "Series", value: "Beyblade Burst Evolution" },
500
- { name: "Type", value: "Stamina" },
501
- { name: "Performance Tip", value: "Survive (self-righting)" },
502
- ],
503
- features: ["Self-righting Survive tip", "Phoenix rebirth mechanic", "Legendary tournament bey"],
504
- shippingInfo: "Premium padded box.",
505
- returnPolicy: "7-day returns.",
506
- condition: "new",
507
- insurance: false,
508
- shippingPaidBy: "seller",
509
- isAuction: false,
510
- isPreOrder: false,
511
- isPromoted: true,
512
- promotionEndDate: daysAhead(20),
513
- avgRating: 4.9,
514
- reviewCount: 67,
515
- createdAt: daysAgo(75),
516
- updatedAt: daysAgo(2),
517
- },
518
- {
519
- id: "product-bb-air-knight-a5-stamina-bp-14",
520
- title: "Beyblade Burst — Air Knight A5 Hurricane Hold' Stamina",
521
- description: "<p>Air Knight A5 from Burst Rise — aerodynamic wing design that channels air flow for maximum spin time. The Hurricane Hold' tip creates a centre-gravity vortex that outlasts all competition.</p>",
522
- slug: "product-bb-air-knight-a5-hurricane-hold-stamina",
523
- category: "category-bb-stamina-type",
524
- subcategory: "Burst Rise",
525
- brand: "Beyblade Burst",
526
- price: 1399,
527
- currency: _CURRENCY,
528
- stockQuantity: 13,
529
- availableQuantity: 11,
530
- mainImage: img("bb-air-knight"),
531
- images: [img("bb-air-knight")],
532
- status: "published",
533
- ...BP,
534
- featured: false,
535
- tags: ["beyblade", "burst", "air knight", "a5", "stamina", "rise"],
536
- specifications: [
537
- { name: "Series", value: "Beyblade Burst Rise" },
538
- { name: "Type", value: "Stamina" },
539
- { name: "Performance Tip", value: "Hurricane Hold'" },
540
- ],
541
- features: ["Aerodynamic wing layer", "Hurricane tip for long spin", "Air channel design"],
542
- shippingInfo: "Nationwide padded delivery.",
543
- returnPolicy: "7-day returns.",
544
- condition: "new",
545
- insurance: false,
546
- shippingPaidBy: "seller",
547
- isAuction: false,
548
- isPreOrder: false,
549
- avgRating: 4.6,
550
- reviewCount: 18,
551
- createdAt: daysAgo(42),
552
- updatedAt: daysAgo(5),
553
- },
554
- {
555
- id: "product-bb-longinus-5-stamina-bp-15",
556
- title: "Beyblade Burst — Longinus 5 Hell Scythe Stamina",
557
- description: "<p>Hell Longinus 5 from Burst Cho-Z — a stamina-type with a dual-scythe attack layer that shreds opponents while maintaining extraordinary spin time. The go-to bey of countless champions.</p>",
558
- slug: "product-bb-longinus-5-hell-scythe-stamina",
559
- category: "category-bb-stamina-type",
560
- subcategory: "Burst Cho-Z",
561
- brand: "Beyblade Burst",
562
- price: 1799,
563
- currency: _CURRENCY,
564
- stockQuantity: 11,
565
- availableQuantity: 9,
566
- mainImage: img("bb-longinus-5"),
567
- images: [img("bb-longinus-5")],
568
- status: "published",
569
- ...BP,
570
- featured: false,
571
- tags: ["beyblade", "burst", "longinus", "l5", "stamina", "cho-z"],
572
- specifications: [
573
- { name: "Series", value: "Beyblade Burst Cho-Z" },
574
- { name: "Type", value: "Stamina" },
575
- { name: "Layer", value: "Hell Longinus" },
576
- ],
577
- features: ["Dual scythe attack edges", "Stamina-optimised disc", "Cho-Z metal armour"],
578
- shippingInfo: "Padded nationwide.",
579
- returnPolicy: "7-day returns.",
580
- condition: "new",
581
- insurance: false,
582
- shippingPaidBy: "seller",
583
- isAuction: false,
584
- isPreOrder: false,
585
- avgRating: 4.7,
586
- reviewCount: 30,
587
- createdAt: daysAgo(38),
588
- updatedAt: daysAgo(6),
589
- },
590
- // ── BALANCE TYPE (3) ──────────────────────────────────────────────────────
591
- {
592
- id: "product-bb-genesis-drago-balance-bp-16",
593
- title: "Beyblade Burst — Genesis Drago 10*B Assault Balance",
594
- description: "<p>Genesis Drago from original Burst — the dragon-themed balance-type Beyblade. Versatile performance tip allows aggressive and defensive strategies. Iconic bey of Valt Aoi in the anime.</p>",
595
- slug: "product-bb-genesis-drago-10b-assault-balance",
596
- category: "category-bb-balance-type",
597
- subcategory: "Burst Original",
598
- brand: "Beyblade Burst",
599
- price: 1499,
600
- currency: _CURRENCY,
601
- stockQuantity: 15,
602
- availableQuantity: 13,
603
- mainImage: img("bb-genesis-drago"),
604
- images: [img("bb-genesis-drago")],
605
- status: "published",
606
- ...BP,
607
- featured: true,
608
- tags: ["beyblade", "burst", "drago", "genesis", "balance", "valt"],
609
- specifications: [
610
- { name: "Series", value: "Beyblade Burst Original" },
611
- { name: "Type", value: "Balance" },
612
- { name: "Protagonist", value: "Valt Aoi" },
613
- ],
614
- features: ["Versatile balance performance", "Dragon theme", "Iconic anime protagonist bey"],
615
- shippingInfo: "Nationwide padded delivery.",
616
- returnPolicy: "7-day returns.",
617
- condition: "new",
618
- insurance: false,
619
- shippingPaidBy: "seller",
620
- isAuction: false,
621
- isPreOrder: false,
622
- isPromoted: true,
623
- promotionEndDate: daysAhead(30),
624
- avgRating: 4.7,
625
- reviewCount: 45,
626
- createdAt: daysAgo(80),
627
- updatedAt: daysAgo(3),
628
- },
629
- {
630
- id: "product-bb-turbo-achilles-balance-bp-17",
631
- title: "Beyblade Burst — Turbo Achilles A4 Xtreme' Revolve' Balance",
632
- description: "<p>Turbo Achilles A4 from Burst Turbo — a high-performance balance-type with aggressive attack potential and solid stamina. The Xtreme' driver enables burst attacks while Revolve' base sustains spin.</p>",
633
- slug: "product-bb-turbo-achilles-a4-xtreme-revolve-balance",
634
- category: "category-bb-balance-type",
635
- subcategory: "Burst Turbo",
636
- brand: "Beyblade Burst",
637
- price: 1999,
638
- currency: _CURRENCY,
639
- stockQuantity: 10,
640
- availableQuantity: 8,
641
- mainImage: img("bb-turbo-achilles"),
642
- images: [img("bb-turbo-achilles")],
643
- status: "published",
644
- ...BP,
645
- featured: false,
646
- tags: ["beyblade", "burst", "achilles", "turbo", "balance", "a4"],
647
- specifications: [
648
- { name: "Series", value: "Beyblade Burst Turbo" },
649
- { name: "Type", value: "Balance" },
650
- { name: "Driver", value: "Xtreme' Revolve'" },
651
- ],
652
- features: ["Dual-mode Xtreme' Revolve' tip", "Balance-type versatility", "Attack + Stamina modes"],
653
- shippingInfo: "Padded box.",
654
- returnPolicy: "7-day returns.",
655
- condition: "new",
656
- insurance: false,
657
- shippingPaidBy: "seller",
658
- isAuction: false,
659
- isPreOrder: false,
660
- avgRating: 4.8,
661
- reviewCount: 27,
662
- createdAt: daysAgo(60),
663
- updatedAt: daysAgo(4),
664
- },
665
- {
666
- id: "product-bb-dead-hades-balance-bp-18",
667
- title: "Beyblade Burst — Dead Hades 7 Iron Revolve' Balance",
668
- description: "<p>Dead Hades — the dark balance-type from Burst Evolution. The Iron Disc adds defensive mass while the Revolve' driver enables exceptional stamina. One of the most complete balance beys ever made.</p>",
669
- slug: "product-bb-dead-hades-7-iron-revolve-balance",
670
- category: "category-bb-balance-type",
671
- subcategory: "Burst Evolution",
672
- brand: "Beyblade Burst",
673
- price: 2199,
674
- currency: _CURRENCY,
675
- stockQuantity: 8,
676
- availableQuantity: 6,
677
- mainImage: img("bb-dead-hades"),
678
- images: [img("bb-dead-hades")],
679
- status: "published",
680
- ...BP,
681
- featured: true,
682
- tags: ["beyblade", "burst", "dead hades", "balance", "evolution", "iron"],
683
- specifications: [
684
- { name: "Series", value: "Beyblade Burst Evolution" },
685
- { name: "Type", value: "Balance" },
686
- { name: "Forge Disc", value: "7 Iron" },
687
- ],
688
- features: ["7 Iron heavy disc", "Revolve' stamina driver", "Dark Hades theme"],
689
- shippingInfo: "Premium padded box.",
690
- returnPolicy: "7-day returns.",
691
- condition: "new",
692
- insurance: false,
693
- shippingPaidBy: "seller",
694
- isAuction: false,
695
- isPreOrder: false,
696
- avgRating: 4.9,
697
- reviewCount: 32,
698
- createdAt: daysAgo(55),
699
- updatedAt: daysAgo(5),
700
- },
701
- // ── STADIUM & ACCESSORIES (2) ─────────────────────────────────────────────
702
- {
703
- id: "product-bb-attack-type-stadium-bp-19",
704
- title: "Beyblade Burst BeyStadium — Attack Type Stadium",
705
- description: "<p>The official Burst Attack Type stadium — designed for aggressive attack-type battles. Deep pockets and steep walls amplify bursts and send losers flying. Recommended for competitive play.</p>",
706
- slug: "product-bb-burst-beystadium-attack-type",
707
- category: "category-bb-stadium",
708
- subcategory: "Stadiums",
709
- brand: "Beyblade Burst",
710
- price: 1499,
711
- currency: _CURRENCY,
712
- stockQuantity: 20,
713
- availableQuantity: 17,
714
- mainImage: img("bb-attack-stadium"),
715
- images: [img("bb-attack-stadium"), img("bb-attack-stadium-2")],
716
- status: "published",
717
- ...BP,
718
- featured: true,
719
- tags: ["beyblade", "stadium", "attack type", "beystadium", "accessories"],
720
- specifications: [
721
- { name: "Type", value: "Attack Type Stadium" },
722
- { name: "Series", value: "Beyblade Burst" },
723
- { name: "Diameter", value: "~48 cm" },
724
- { name: "Compatible", value: "All Burst series Beyblades" },
725
- ],
726
- features: ["Attack-optimised pocket design", "Steep walls for burst activation", "Non-slip base"],
727
- shippingInfo: "Large flat-pack box. Nationwide delivery.",
728
- returnPolicy: "7-day returns for damaged/defective items.",
729
- condition: "new",
730
- insurance: false,
731
- shippingPaidBy: "seller",
732
- isAuction: false,
733
- isPreOrder: false,
734
- isPromoted: true,
735
- promotionEndDate: daysAhead(30),
736
- avgRating: 4.6,
737
- reviewCount: 38,
738
- createdAt: daysAgo(90),
739
- updatedAt: daysAgo(2),
740
- },
741
- {
742
- id: "product-bb-gt-stamina-stadium-bp-20",
743
- title: "Beyblade Burst GT Stamina BeyStadium — Pro Tournament",
744
- description: "<p>Pro-grade Burst GT Stamina stadium used in official tournaments. Smooth, low-friction surface maximises stamina battles. Extra-deep walls keep beys in play longer. Comes with mesh scoring track.</p>",
745
- slug: "product-bb-burst-gt-stamina-stadium-pro-tournament",
746
- category: "category-bb-stadium",
747
- subcategory: "Stadiums",
748
- brand: "Beyblade Burst",
749
- price: 2299,
750
- currency: _CURRENCY,
751
- stockQuantity: 12,
752
- availableQuantity: 10,
753
- mainImage: img("bb-stamina-stadium"),
754
- images: [img("bb-stamina-stadium")],
755
- status: "published",
756
- ...BP,
757
- featured: false,
758
- tags: ["beyblade", "stadium", "stamina", "gt", "tournament", "pro"],
759
- specifications: [
760
- { name: "Type", value: "Stamina Type Stadium" },
761
- { name: "Series", value: "Beyblade Burst GT" },
762
- { name: "Diameter", value: "~56 cm" },
763
- { name: "Level", value: "Tournament grade" },
764
- ],
765
- features: ["Tournament-grade surface", "Low friction base", "Mesh scoring track"],
766
- shippingInfo: "Large padded box.",
767
- returnPolicy: "7-day returns.",
768
- condition: "new",
769
- insurance: false,
770
- shippingPaidBy: "seller",
771
- isAuction: false,
772
- isPreOrder: false,
773
- avgRating: 4.8,
774
- reviewCount: 25,
775
- createdAt: daysAgo(70),
776
- updatedAt: daysAgo(3),
777
- },
778
- // ── AUCTIONS (2) ─────────────────────────────────────────────────────────
779
- {
780
- id: "auction-bb-astral-spriggan-rare-bp-1",
781
- title: "AUCTION — Beyblade Burst QuadDrive Astral Spriggan Rare",
782
- description: "<p>Astral Spriggan from QuadDrive — the rarest attack-type Beyblade of the series. Limited international release, never made available in India officially. The Giga Driver delivers extreme power bursts. This is a Japan import in original packaging.</p>",
783
- slug: "auction-bb-astral-spriggan-quaddrive-rare",
784
- category: "category-bb-attack-type",
785
- subcategory: "Burst QuadDrive",
786
- brand: "Beyblade Burst",
787
- price: 0,
788
- currency: _CURRENCY,
789
- stockQuantity: 1,
790
- availableQuantity: 1,
791
- mainImage: img("bb-astral-spriggan"),
792
- images: [img("bb-astral-spriggan")],
793
- status: "published",
794
- ...BP,
795
- featured: true,
796
- tags: ["beyblade", "burst", "astral spriggan", "quaddrive", "rare", "japan import", "auction"],
797
- specifications: [
798
- { name: "Series", value: "Beyblade Burst QuadDrive" },
799
- { name: "Type", value: "Attack" },
800
- { name: "Origin", value: "Japan import" },
801
- { name: "Driver", value: "Giga Driver" },
802
- { name: "Condition", value: "Sealed box" },
803
- ],
804
- features: ["Japan exclusive import", "Giga Driver — extreme power", "Sealed original packaging", "Never released in India"],
805
- shippingInfo: "Insured courier. Padded hard case.",
806
- returnPolicy: "No returns on auction wins.",
807
- condition: "new",
808
- insurance: true,
809
- insuranceCost: 149,
810
- shippingPaidBy: "buyer",
811
- isAuction: true,
812
- auctionEndDate: daysAhead(6),
813
- startingBid: 2999,
814
- currentBid: 3700,
815
- bidCount: 9,
816
- reservePrice: 4000,
817
- buyNowPrice: 7999,
818
- minBidIncrement: 250,
819
- autoExtendable: true,
820
- auctionExtensionMinutes: 5,
821
- auctionOriginalEndDate: daysAhead(6),
822
- auctionShippingPaidBy: "winner",
823
- isPreOrder: false,
824
- isPromoted: true,
825
- promotionEndDate: daysAhead(6),
826
- avgRating: 0,
827
- reviewCount: 0,
828
- createdAt: daysAgo(1),
829
- updatedAt: daysAgo(0),
830
- },
831
- {
832
- id: "auction-bb-dead-phoenix-limited-bp-2",
833
- title: "AUCTION — Beyblade Burst Evolution Dead Phoenix Hasbro Limited",
834
- description: "<p>Dead Phoenix Limited Edition from Hasbro — the alternate Hasbro version of the Revive Phoenix with unique colour scheme and chrome disc. Only 500 units released in India. Original Hasbro packaging, never opened.</p>",
835
- slug: "auction-bb-dead-phoenix-hasbro-limited",
836
- category: "category-bb-stamina-type",
837
- subcategory: "Burst Evolution",
838
- brand: "Beyblade Burst",
839
- price: 0,
840
- currency: _CURRENCY,
841
- stockQuantity: 1,
842
- availableQuantity: 1,
843
- mainImage: img("bb-dead-phoenix"),
844
- images: [img("bb-dead-phoenix")],
845
- status: "published",
846
- ...BP,
847
- featured: true,
848
- tags: ["beyblade", "burst", "dead phoenix", "limited", "hasbro", "stamina", "auction"],
849
- specifications: [
850
- { name: "Series", value: "Beyblade Burst Evolution" },
851
- { name: "Type", value: "Stamina" },
852
- { name: "Edition", value: "Hasbro Limited — 500 units" },
853
- { name: "Disc", value: "Chrome Disc" },
854
- { name: "Condition", value: "Sealed" },
855
- ],
856
- features: ["Limited to 500 India units", "Chrome chrome disc variant", "Hasbro exclusive colour", "Original sealed packaging"],
857
- shippingInfo: "Insured padded courier.",
858
- returnPolicy: "No returns on auction wins.",
859
- condition: "new",
860
- insurance: true,
861
- insuranceCost: 99,
862
- shippingPaidBy: "buyer",
863
- isAuction: true,
864
- auctionEndDate: daysAhead(4),
865
- startingBid: 3499,
866
- currentBid: 4200,
867
- bidCount: 12,
868
- reservePrice: 5000,
869
- buyNowPrice: 8999,
870
- minBidIncrement: 250,
871
- autoExtendable: true,
872
- auctionExtensionMinutes: 5,
873
- auctionOriginalEndDate: daysAhead(4),
874
- auctionShippingPaidBy: "winner",
875
- isPreOrder: false,
876
- isPromoted: true,
877
- promotionEndDate: daysAhead(4),
878
- avgRating: 0,
879
- reviewCount: 0,
880
- createdAt: daysAgo(2),
881
- updatedAt: daysAgo(0),
882
- },
883
- // ── PRE-ORDERS (2) ───────────────────────────────────────────────────────
884
- {
885
- id: "preorder-bb-quaddrive-wave3-2026-bp-1",
886
- title: "PRE-ORDER — Beyblade Burst QuadDrive Wave 3 2026 (Starter Set)",
887
- description: "<p>Reserve the upcoming Beyblade Burst QuadDrive Wave 3 2026 Starter Set featuring the new Valtryek and Longinus evolution models. Includes bey, launcher, and exclusive stadium piece. Pre-order for guaranteed day-1 delivery.</p>",
888
- slug: "preorder-bb-quaddrive-wave3-starter-2026",
889
- category: "category-bb-attack-type",
890
- subcategory: "Burst QuadDrive",
891
- brand: "Beyblade Burst",
892
- price: 2499,
893
- currency: _CURRENCY,
894
- stockQuantity: 100,
895
- availableQuantity: 78,
896
- mainImage: img("bb-quaddrive-wave3"),
897
- images: [img("bb-quaddrive-wave3")],
898
- status: "published",
899
- ...BP,
900
- featured: true,
901
- tags: ["beyblade", "burst", "quaddrive", "wave 3", "pre-order", "2026"],
902
- specifications: [
903
- { name: "Series", value: "Beyblade Burst QuadDrive" },
904
- { name: "Wave", value: "Wave 3 2026" },
905
- { name: "Includes", value: "Bey + Launcher + Stadium Piece" },
906
- { name: "Expected Delivery", value: "Q2 2026" },
907
- ],
908
- features: ["Day-1 delivery guarantee", "Exclusive stadium piece", "New Valtryek evolution"],
909
- shippingInfo: "Dispatched on release. Nationwide tracking.",
910
- returnPolicy: "Pre-orders: cancel anytime before dispatch.",
911
- condition: "new",
912
- insurance: false,
913
- shippingPaidBy: "seller",
914
- isAuction: false,
915
- isPreOrder: true,
916
- preOrderDeliveryDate: daysAhead(90),
917
- preOrderProductionStatus: "upcoming",
918
- isPromoted: true,
919
- promotionEndDate: daysAhead(45),
920
- avgRating: 0,
921
- reviewCount: 0,
922
- createdAt: daysAgo(10),
923
- updatedAt: daysAgo(2),
924
- },
925
- {
926
- id: "preorder-bb-ultimate-championship-set-2026-bp-2",
927
- title: "PRE-ORDER — Beyblade Burst Ultimate Championship Set 2026",
928
- description: "<p>The official 2026 Beyblade Burst Ultimate Championship Set — everything you need to compete. Includes 3 championship-grade beys (Attack/Defense/Stamina), 2 string launchers, metal handle, and pro-grade Attack Type stadium. Pre-order at launch price.</p>",
929
- slug: "preorder-bb-ultimate-championship-set-2026",
930
- category: "category-bb-stadium",
931
- subcategory: "Championship Sets",
932
- brand: "Beyblade Burst",
933
- price: 5999,
934
- currency: _CURRENCY,
935
- stockQuantity: 50,
936
- availableQuantity: 41,
937
- mainImage: img("bb-championship-set"),
938
- images: [img("bb-championship-set")],
939
- status: "published",
940
- ...BP,
941
- featured: true,
942
- tags: ["beyblade", "burst", "championship", "set", "pre-order", "2026", "tournament"],
943
- specifications: [
944
- { name: "Contents", value: "3 Beyblades + 2 Launchers + Stadium" },
945
- { name: "Launcher Type", value: "String Launcher with Metal Handle" },
946
- { name: "Stadium", value: "Attack Type (Pro Grade)" },
947
- { name: "Expected Delivery", value: "Q3 2026" },
948
- ],
949
- features: ["3 championship-grade beys", "2 string launchers", "Metal handle included", "Pro Attack stadium"],
950
- shippingInfo: "Special championship packaging. Nationwide delivery.",
951
- returnPolicy: "Pre-orders: cancel before dispatch.",
952
- condition: "new",
953
- insurance: false,
954
- shippingPaidBy: "seller",
955
- isAuction: false,
956
- isPreOrder: true,
957
- preOrderDeliveryDate: daysAhead(150),
958
- preOrderProductionStatus: "upcoming",
959
- isPromoted: true,
960
- promotionEndDate: daysAhead(90),
961
- avgRating: 0,
962
- reviewCount: 0,
963
- createdAt: daysAgo(7),
964
- updatedAt: daysAgo(1),
965
- },
966
- // ── ADDITIONAL (10 more) ─────────────────────────────────────────────────
967
- {
968
- id: "product-bb-xcalius-x4-stamina-bp-25",
969
- title: "Beyblade Burst — X4 Xcalius Stamina Type (GT Series)",
970
- slug: "product-bb-gt-xcalius-x4-stamina",
971
- description: "<p>GT Series Xcalius X4 — a stamina-type with the new GT chip system and the infamous Upper Attack performance tip. Balanced between stamina endurance and burst resistance.</p>",
972
- category: "category-bb-stamina", subcategory: "GT Series", brand: "Beyblade Burst",
973
- price: 1799, currency: _CURRENCY, stockQuantity: 20, availableQuantity: 16,
974
- mainImage: img("bb-xcalius-x4"), images: [img("bb-xcalius-x4")],
975
- status: "published", ...BP, featured: false,
976
- tags: ["beyblade", "burst", "xcalius", "x4", "stamina", "gt series"],
977
- specifications: [{ name: "Type", value: "Stamina" }, { name: "Series", value: "GT" }],
978
- features: ["GT chip system", "Upper Attack tip", "High stamina", "Burst-resistant"],
979
- shippingInfo: "Padded box nationwide.", returnPolicy: "10-day returns.",
980
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
981
- avgRating: 4.5, reviewCount: 18, createdAt: daysAgo(25), updatedAt: daysAgo(3),
982
- },
983
- {
984
- id: "product-bb-fafnir-f5-left-spin-bp-26",
985
- title: "Beyblade Burst — Fafnir F5 Left-Spin (Turbo)",
986
- slug: "product-bb-turbo-fafnir-f5-left-spin",
987
- description: "<p>Turbo Fafnir F5 — left-spin stamina type that steals spin from right-spin opponents. The Rubber Frame absorbs right-spin contact and transfers rotation to Fafnir. Devastating in stamina duels.</p>",
988
- category: "category-bb-stamina", subcategory: "Turbo", brand: "Beyblade Burst",
989
- price: 2199, currency: _CURRENCY, stockQuantity: 15, availableQuantity: 12,
990
- mainImage: img("bb-fafnir-f5"), images: [img("bb-fafnir-f5")],
991
- status: "published", ...BP, featured: true,
992
- tags: ["beyblade", "burst", "fafnir", "f5", "left spin", "turbo", "spin steal"],
993
- specifications: [{ name: "Type", value: "Stamina" }, { name: "Spin", value: "Left" }, { name: "Series", value: "Turbo" }],
994
- features: ["Left-spin spin stealing", "Rubber Frame contact", "Stamina dominator", "Burst-resistant core"],
995
- shippingInfo: "Padded box nationwide.", returnPolicy: "10-day returns.",
996
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
997
- avgRating: 4.8, reviewCount: 41, createdAt: daysAgo(30), updatedAt: daysAgo(2),
998
- },
999
- {
1000
- id: "product-bb-storm-spriggan-sp-bp-27",
1001
- title: "Beyblade Burst — Spriggan Requiem SP (Limited Edition)",
1002
- slug: "product-bb-spriggan-requiem-sp-limited",
1003
- description: "<p>Spriggan Requiem SP — the legendary Balance-type with dual-spin capability. Can change spin direction mid-battle. Both left and right spin configurations included. The most versatile Beyblade in competitive play.</p>",
1004
- category: "category-bb-balance", subcategory: "Special Edition", brand: "Beyblade Burst",
1005
- price: 3499, currency: _CURRENCY, stockQuantity: 8, availableQuantity: 5,
1006
- mainImage: img("bb-spriggan-requiem-sp"), images: [img("bb-spriggan-requiem-sp")],
1007
- status: "published", ...BP, featured: true,
1008
- tags: ["beyblade", "burst", "spriggan", "requiem", "dual spin", "limited", "balance"],
1009
- specifications: [{ name: "Type", value: "Balance" }, { name: "Special", value: "Dual-spin switch" }],
1010
- features: ["Dual-spin (L/R switch)", "Both configs included", "Mid-battle spin change", "Limited release"],
1011
- shippingInfo: "Padded collector box nationwide.", returnPolicy: "10-day returns.",
1012
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
1013
- isPromoted: true, promotionEndDate: daysAhead(15),
1014
- avgRating: 4.9, reviewCount: 63, createdAt: daysAgo(15), updatedAt: daysAgo(1),
1015
- },
1016
- {
1017
- id: "product-bb-drain-fafnir-f4-bp-28",
1018
- title: "Beyblade Burst — Drain Fafnir F4 (Evolution)",
1019
- slug: "product-bb-evolution-drain-fafnir-f4",
1020
- description: "<p>Evolution series Drain Fafnir F4 — the original left-spin stamina king. Rubber blades aggressively drain right-spin opponents' rotation. Classic competitive pick for stamina bladers.</p>",
1021
- category: "category-bb-stamina", subcategory: "Evolution", brand: "Beyblade Burst",
1022
- price: 1499, currency: _CURRENCY, stockQuantity: 22, availableQuantity: 18,
1023
- mainImage: img("bb-drain-fafnir-f4"), images: [img("bb-drain-fafnir-f4")],
1024
- status: "published", ...BP, featured: false,
1025
- tags: ["beyblade", "burst", "drain fafnir", "f4", "evolution", "left spin", "stamina"],
1026
- specifications: [{ name: "Type", value: "Stamina" }, { name: "Spin", value: "Left" }, { name: "Series", value: "Evolution" }],
1027
- features: ["Rubber drain blades", "Left-spin original", "Rotation drain specialist", "Evolution energy layer"],
1028
- shippingInfo: "Padded box nationwide.", returnPolicy: "10-day returns.",
1029
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
1030
- avgRating: 4.6, reviewCount: 29, createdAt: daysAgo(40), updatedAt: daysAgo(5),
1031
- },
1032
- {
1033
- id: "product-bb-turbo-stadium-pro-bp-29",
1034
- title: "Beyblade Burst — Turbo Pro Battle Stadium (Official Hasbro)",
1035
- slug: "product-bb-turbo-pro-battle-stadium",
1036
- description: "<p>Official Hasbro Turbo Pro Battle Stadium — full-size competition-grade stadium with outer wall ring. Compatible with all Burst series tops. Recessed launch tracks on opposing sides. Ideal for 1v1 and 2v2 battles.</p>",
1037
- category: "category-bb-stadiums", subcategory: "Official Stadiums", brand: "Beyblade Burst",
1038
- price: 3999, currency: _CURRENCY, stockQuantity: 10, availableQuantity: 7,
1039
- mainImage: img("bb-pro-stadium"), images: [img("bb-pro-stadium")],
1040
- status: "published", ...BP, featured: true,
1041
- tags: ["beyblade", "burst", "stadium", "pro", "turbo", "official", "hasbro"],
1042
- specifications: [{ name: "Type", value: "Competition Pro Stadium" }, { name: "Compatibility", value: "All Burst series" }],
1043
- features: ["Competition grade", "Outer wall ring", "Dual launch tracks", "Official Hasbro"],
1044
- shippingInfo: "Large padded box nationwide.", returnPolicy: "10-day returns.",
1045
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
1046
- avgRating: 4.7, reviewCount: 34, createdAt: daysAgo(35), updatedAt: daysAgo(4),
1047
- },
1048
- {
1049
- id: "product-bb-hyperion-h5-attack-bp-30",
1050
- title: "Beyblade Burst — Hyperion Burn Kendama H5 (Rise Attack)",
1051
- slug: "product-bb-rise-hyperion-h5-attack-burn",
1052
- description: "<p>Rise series Hyperion Burn H5 — right-spin attack top with Kendama Blade set for contact damage. Burn Performance Tip for controlled spin and attack angle. Aggressive design in flaming orange.</p>",
1053
- category: "category-bb-attack", subcategory: "Rise", brand: "Beyblade Burst",
1054
- price: 1799, currency: _CURRENCY, stockQuantity: 18, availableQuantity: 15,
1055
- mainImage: img("bb-hyperion-h5"), images: [img("bb-hyperion-h5")],
1056
- status: "published", ...BP, featured: false,
1057
- tags: ["beyblade", "burst", "hyperion", "h5", "attack", "rise", "burn", "kendama"],
1058
- specifications: [{ name: "Type", value: "Attack" }, { name: "Series", value: "Rise" }],
1059
- features: ["Kendama Blade attack set", "Burn Performance Tip", "Controlled attack angle", "Flaming orange deco"],
1060
- shippingInfo: "Padded box nationwide.", returnPolicy: "10-day returns.",
1061
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
1062
- avgRating: 4.5, reviewCount: 15, createdAt: daysAgo(22), updatedAt: daysAgo(3),
1063
- },
1064
- {
1065
- id: "product-bb-achilles-a5-defense-bp-31",
1066
- title: "Beyblade Burst — Brave Valkyrie EV' / Achilles A5 Defense (Sparking)",
1067
- slug: "product-bb-sparking-achilles-a5-defense",
1068
- description: "<p>Sparking series Achilles A5 — defense-mode configuration with armored EV Performance Tip. The Sparking chip adds weight distribution for high-endurance defense. A stalwart defensive wall for tournament play.</p>",
1069
- category: "category-bb-defense", subcategory: "Sparking", brand: "Beyblade Burst",
1070
- price: 2299, currency: _CURRENCY, stockQuantity: 14, availableQuantity: 11,
1071
- mainImage: img("bb-achilles-a5-sparking"), images: [img("bb-achilles-a5-sparking")],
1072
- status: "published", ...BP, featured: false,
1073
- tags: ["beyblade", "burst", "achilles", "a5", "defense", "sparking"],
1074
- specifications: [{ name: "Type", value: "Defense" }, { name: "Series", value: "Sparking" }],
1075
- features: ["Sparking chip system", "Armored EV tip", "Tournament defense config", "High endurance"],
1076
- shippingInfo: "Padded box nationwide.", returnPolicy: "10-day returns.",
1077
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
1078
- avgRating: 4.6, reviewCount: 22, createdAt: daysAgo(28), updatedAt: daysAgo(5),
1079
- },
1080
- {
1081
- id: "product-bb-twin-launcher-ll-string-bp-32",
1082
- title: "Beyblade Burst — Dual String Launcher LR (Left/Right Spin)",
1083
- slug: "product-bb-dual-string-launcher-lr-left-right",
1084
- description: "<p>Dual String Launcher LR — launches both left-spin and right-spin tops. Premium string launcher with metal handle grip. Compatible with all Burst series layers. Essential accessory for competitive bladers who run dual-spin decks.</p>",
1085
- category: "category-bb-launchers", subcategory: "Launchers", brand: "Beyblade Burst",
1086
- price: 1299, currency: _CURRENCY, stockQuantity: 25, availableQuantity: 22,
1087
- mainImage: img("bb-dual-lr-launcher"), images: [img("bb-dual-lr-launcher")],
1088
- status: "published", ...BP, featured: false,
1089
- tags: ["beyblade", "burst", "launcher", "string", "lr", "left right", "dual"],
1090
- specifications: [{ name: "Type", value: "String Launcher LR" }, { name: "Spin", value: "Left + Right" }],
1091
- features: ["LR dual-spin capability", "Metal grip handle", "String launcher mechanism", "All Burst compatible"],
1092
- shippingInfo: "Padded envelope nationwide.", returnPolicy: "10-day returns.",
1093
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
1094
- avgRating: 4.7, reviewCount: 48, createdAt: daysAgo(32), updatedAt: daysAgo(2),
1095
- },
1096
- {
1097
- id: "product-bb-rage-longinus-l5-bp-33",
1098
- title: "Beyblade Burst — Rage Longinus Destroy' 3A (Sparking)",
1099
- slug: "product-bb-sparking-rage-longinus-l5-destroy",
1100
- description: "<p>Sparking Rage Longinus — left-spin attack with Destroy' Performance Tip for aggressive stamina-attack hybrid. Rubber-tipped blade contact damages right-spin opponents. Strong recoil makes it risky but rewarding in the right hands.</p>",
1101
- category: "category-bb-attack", subcategory: "Sparking", brand: "Beyblade Burst",
1102
- price: 2499, currency: _CURRENCY, stockQuantity: 12, availableQuantity: 9,
1103
- mainImage: img("bb-rage-longinus"), images: [img("bb-rage-longinus")],
1104
- status: "published", ...BP, featured: true,
1105
- tags: ["beyblade", "burst", "rage longinus", "l5", "sparking", "left spin", "attack"],
1106
- specifications: [{ name: "Type", value: "Attack" }, { name: "Spin", value: "Left" }, { name: "Series", value: "Sparking" }],
1107
- features: ["Left-spin attack type", "Destroy' Performance Tip", "Rubber blade damage", "Hybrid attack-stamina"],
1108
- shippingInfo: "Padded box nationwide.", returnPolicy: "10-day returns.",
1109
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
1110
- avgRating: 4.7, reviewCount: 26, createdAt: daysAgo(18), updatedAt: daysAgo(3),
1111
- },
1112
- {
1113
- id: "product-bb-world-beyblade-stadium-bp-34",
1114
- title: "Beyblade Burst — World Stadium (Official Tournament Grade)",
1115
- slug: "product-bb-world-championship-stadium-official",
1116
- description: "<p>Official Beyblade Burst World Stadium — the same design used at World Championships. Extra-wide outer ring prevents early ring-outs. Textured surface adds friction. The definitive competitive arena.</p>",
1117
- category: "category-bb-stadiums", subcategory: "World Championship", brand: "Beyblade Burst",
1118
- price: 5499, currency: _CURRENCY, stockQuantity: 5, availableQuantity: 3,
1119
- mainImage: img("bb-world-stadium"), images: [img("bb-world-stadium")],
1120
- status: "published", ...BP, featured: true,
1121
- tags: ["beyblade", "burst", "world stadium", "tournament", "official", "championship"],
1122
- specifications: [{ name: "Grade", value: "World Championship" }, { name: "Surface", value: "Textured friction" }],
1123
- features: ["World Championship design", "Extra-wide ring", "Tournament friction surface", "Official grade"],
1124
- shippingInfo: "Large padded box. Insured nationwide.", returnPolicy: "10-day returns.",
1125
- condition: "new", insurance: false, shippingPaidBy: "seller", isAuction: false, isPreOrder: false,
1126
- isPromoted: true, promotionEndDate: daysAhead(20),
1127
- avgRating: 4.9, reviewCount: 51, createdAt: daysAgo(10), updatedAt: daysAgo(1),
1128
- },
1129
- ];