@mohasinac/appkit 4.57.0 → 4.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. package/dist/.build-stamp.json +4 -4
  2. package/dist/_internal/server/features/beys/data.d.ts +44 -0
  3. package/dist/_internal/server/features/beys/data.js +107 -0
  4. package/dist/_internal/server/features/beys/og.d.ts +42 -0
  5. package/dist/_internal/server/features/beys/og.js +89 -0
  6. package/dist/_internal/server/features/parts/data.js +3 -2
  7. package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
  8. package/dist/_internal/server/jobs/handlers/messages.js +1 -1
  9. package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
  10. package/dist/_internal/shared/actions/action-registry.js +86 -0
  11. package/dist/_internal/shared/types/base-document.d.ts +1 -1
  12. package/dist/client.d.ts +2 -0
  13. package/dist/client.js +1 -0
  14. package/dist/constants/api-endpoints.d.ts +12 -0
  15. package/dist/constants/api-endpoints.js +10 -0
  16. package/dist/constants/field-names.d.ts +46 -0
  17. package/dist/constants/field-names.js +46 -0
  18. package/dist/constants/seed-meta.d.ts +113 -0
  19. package/dist/constants/seed-meta.js +91 -0
  20. package/dist/features/admin/components/AdminBeysView.d.ts +27 -0
  21. package/dist/features/admin/components/AdminBeysView.js +178 -0
  22. package/dist/features/admin/components/AdminPartsView.d.ts +27 -0
  23. package/dist/features/admin/components/AdminPartsView.js +160 -0
  24. package/dist/features/admin/components/OwnerQuickActions.d.ts +19 -2
  25. package/dist/features/admin/components/OwnerQuickActions.js +31 -3
  26. package/dist/features/admin/components/RecordOwnerQuickActions.d.ts +31 -0
  27. package/dist/features/admin/components/RecordOwnerQuickActions.js +128 -0
  28. package/dist/features/admin/components/ReferenceRecordEditor.d.ts +45 -0
  29. package/dist/features/admin/components/ReferenceRecordEditor.js +153 -0
  30. package/dist/features/admin/schemas/firestore.d.ts +1 -1
  31. package/dist/features/auctions/components/MarketplaceAuctionCard.js +15 -2
  32. package/dist/features/auth/permissions/constants.d.ts +1 -1
  33. package/dist/features/auth/permissions/constants.js +12 -1
  34. package/dist/features/beys/components/BeyDetailPageView.d.ts +50 -0
  35. package/dist/features/beys/components/BeyDetailPageView.js +98 -0
  36. package/dist/features/beys/schemas/firestore.d.ts +417 -0
  37. package/dist/features/beys/schemas/firestore.js +65 -0
  38. package/dist/features/blog/components/BlogFeaturedCard.js +15 -2
  39. package/dist/features/blog/components/BlogPostView.js +2 -2
  40. package/dist/features/categories/components/BrandDetailPageView.js +4 -2
  41. package/dist/features/categories/components/BundleDetailView.js +2 -2
  42. package/dist/features/categories/components/CategoryDetailPageView.js +36 -3
  43. package/dist/features/categories/components/CategoryGrid.js +24 -2
  44. package/dist/features/categories/components/FranchiseDetailPageView.js +2 -3
  45. package/dist/features/events/components/EventCard.js +15 -2
  46. package/dist/features/grouped/components/GroupedListingDetailView.js +2 -3
  47. package/dist/features/homepage/components/CustomCardsSection.js +67 -50
  48. package/dist/features/homepage/components/ShopByCategorySection.js +23 -10
  49. package/dist/features/homepage/schemas/index.d.ts +10 -10
  50. package/dist/features/parts/components/PartDetailPageView.js +5 -3
  51. package/dist/features/parts/components/PartsSearchBox.js +79 -4
  52. package/dist/features/parts/schemas/admin-edit.d.ts +81 -0
  53. package/dist/features/parts/schemas/admin-edit.js +89 -0
  54. package/dist/features/parts/schemas/firestore.d.ts +2 -1
  55. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +15 -2
  56. package/dist/features/products/components/MarketplaceBundleCard.js +15 -2
  57. package/dist/features/products/components/MarketplacePrizeDrawCard.js +15 -2
  58. package/dist/features/products/components/ProductGrid.js +18 -2
  59. package/dist/features/products/schemas/firestore.d.ts +18 -0
  60. package/dist/features/seller/components/CategoryInlineSelect.d.ts +10 -1
  61. package/dist/features/seller/components/CategoryInlineSelect.js +53 -5
  62. package/dist/features/seller/components/SellerProductShell.d.ts +39 -0
  63. package/dist/features/seller/components/SellerProductShell.js +31 -3
  64. package/dist/index.d.ts +6 -129
  65. package/dist/index.js +61 -292
  66. package/dist/next/routing/route-map.d.ts +13 -1
  67. package/dist/next/routing/route-map.js +37 -0
  68. package/dist/schemas/registry.d.ts +6 -6
  69. package/dist/server.d.ts +2 -69
  70. package/dist/server.js +8 -69
  71. package/dist/styles.css +468 -1
  72. package/dist/tailwind-utilities.css +1 -1
  73. package/dist/ui/components/PosterCard.d.ts +99 -0
  74. package/dist/ui/components/PosterCard.js +109 -0
  75. package/dist/ui/components/PosterCard.style.css +466 -0
  76. package/dist/ui/components/index.style.css +1 -0
  77. package/dist/ui/index.d.ts +2 -0
  78. package/dist/ui/index.js +2 -0
  79. package/package.json +4 -2
  80. package/scripts/seed-cli.mjs +177 -2
  81. package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
  82. package/dist/features/tester/seed-data/_happy-path.js +0 -710
  83. package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
  84. package/dist/features/tester/seed-data/_money-flows.js +0 -610
  85. package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
  86. package/dist/features/tester/seed-data/authored/_types.js +0 -35
  87. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
  88. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
  89. package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
  90. package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
  91. package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
  92. package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
  93. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
  94. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
  95. package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
  96. package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
  97. package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
  98. package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
  99. package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
  100. package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
  101. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
  102. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
  103. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
  104. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
  105. package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
  106. package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
  107. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
  108. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
  109. package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
  110. package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
  111. package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
  112. package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
  113. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
  114. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
  115. package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
  116. package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
  117. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
  118. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
  119. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
  120. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
  121. package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
  122. package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
  123. package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
  124. package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
  125. package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
  126. package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
  127. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
  128. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
  129. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
  130. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
  131. package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
  132. package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
  133. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
  134. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
  135. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
  136. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
  137. package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
  138. package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
  139. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
  140. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
  141. package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
  142. package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
  143. package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
  144. package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
  145. package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
  146. package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
  147. package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
  148. package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
  149. package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
  150. package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
  151. package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
  152. package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
  153. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
  154. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
  155. package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
  156. package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
  157. package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
  158. package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
  159. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
  160. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
  161. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
  162. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
  163. package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
  164. package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
  165. package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
  166. package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
  167. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
  168. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
  169. package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
  170. package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
  171. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
  172. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
  173. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
  174. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
  175. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
  176. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
  177. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
  178. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
  179. package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
  180. package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
  181. package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
  182. package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
  183. package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
  184. package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
  185. package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
  186. package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
  187. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
  188. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
  189. package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
  190. package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
  191. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
  192. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
  193. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
  194. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
  195. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
  196. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
  197. package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
  198. package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
  199. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
  200. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
  201. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
  202. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
  203. package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
  204. package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
  205. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
  206. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
  207. package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
  208. package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
  209. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
  210. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
  211. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
  212. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
  213. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
  214. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
  215. package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
  216. package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
  217. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
  218. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
  219. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
  220. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
  221. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
  222. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
  223. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
  224. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
  225. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
  226. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
  227. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
  228. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
  229. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
  230. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
  231. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
  232. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
  233. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
  234. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
  235. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
  236. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
  237. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
  238. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
  239. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
  240. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
  241. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
  242. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
  243. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
  244. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
  245. package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
  246. package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
  247. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
  248. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
  249. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
  250. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
  251. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
  252. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
  253. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
  254. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
  255. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
  256. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
  257. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
  258. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
  259. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
  260. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
  261. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
  262. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
  263. package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
  264. package/dist/features/tester/seed-data/authored/index.js +0 -301
  265. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
  266. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
  267. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
  268. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
  269. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
  270. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
  271. package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
  272. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
  273. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
  274. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
  275. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
  276. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
  277. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
  278. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
  279. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
  280. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
  281. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
  282. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
  283. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
  284. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
  285. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
  286. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
  287. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
  288. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
  289. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
  290. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
  291. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
  292. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
  293. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
  294. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
  295. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
  296. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
  297. package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
  298. package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
  299. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
  300. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
  301. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
  302. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
  303. package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
  304. package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
  305. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
  306. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
  307. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
  308. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
  309. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
  310. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
  311. package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
  312. package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
  313. package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
  314. package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
  315. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
  316. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
  317. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
  318. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
  319. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
  320. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
  321. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
  322. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
  323. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
  324. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
  325. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
  326. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
  327. package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
  328. package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
  329. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
  330. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
  331. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
  332. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
  333. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
  334. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
  335. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
  336. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
  337. package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
  338. package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
  339. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
  340. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
  341. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
  342. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
  343. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
  344. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
  345. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
  346. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
  347. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
  348. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
  349. package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
  350. package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
  351. package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
  352. package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
  353. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
  354. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
  355. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
  356. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
  357. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
  358. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
  359. package/dist/features/tester/seed-data/index.d.ts +0 -2
  360. package/dist/features/tester/seed-data/index.js +0 -2
  361. package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
  362. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
  363. package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
  364. package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
  365. package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
  366. package/dist/features/tester/seed-data/tester-window.js +0 -66
  367. package/dist/seed/_helpers/brand-rows.d.ts +0 -35
  368. package/dist/seed/_helpers/brand-rows.js +0 -600
  369. package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
  370. package/dist/seed/_helpers/category-content-generated.js +0 -1853
  371. package/dist/seed/_helpers/category-content.d.ts +0 -68
  372. package/dist/seed/_helpers/category-content.js +0 -731
  373. package/dist/seed/_helpers/category-forest.d.ts +0 -4
  374. package/dist/seed/_helpers/category-forest.js +0 -824
  375. package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
  376. package/dist/seed/_helpers/category-images-generated.js +0 -618
  377. package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
  378. package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
  379. package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
  380. package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
  381. package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
  382. package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
  383. package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
  384. package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
  385. package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
  386. package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
  387. package/dist/seed/_helpers/category-models.d.ts +0 -12
  388. package/dist/seed/_helpers/category-models.js +0 -45
  389. package/dist/seed/_helpers/category-names.d.ts +0 -54
  390. package/dist/seed/_helpers/category-names.js +0 -118
  391. package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
  392. package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
  393. package/dist/seed/_helpers/category-parts.d.ts +0 -9
  394. package/dist/seed/_helpers/category-parts.js +0 -15022
  395. package/dist/seed/_helpers/category-tree.d.ts +0 -27
  396. package/dist/seed/_helpers/category-tree.js +0 -119
  397. package/dist/seed/_helpers/character-features.d.ts +0 -10
  398. package/dist/seed/_helpers/character-features.js +0 -120
  399. package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
  400. package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
  401. package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
  402. package/dist/seed/_helpers/franchise-rows.js +0 -189
  403. package/dist/seed/_helpers/media.d.ts +0 -67
  404. package/dist/seed/_helpers/media.js +0 -172
  405. package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
  406. package/dist/seed/_helpers/part-colours-generated.js +0 -273
  407. package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
  408. package/dist/seed/_helpers/product-search-txt.js +0 -23
  409. package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
  410. package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
  411. package/dist/seed/addresses-seed-data.d.ts +0 -2
  412. package/dist/seed/addresses-seed-data.js +0 -78
  413. package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
  414. package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
  415. package/dist/seed/bids-seed-data.d.ts +0 -2
  416. package/dist/seed/bids-seed-data.js +0 -206
  417. package/dist/seed/blog-posts-seed-data.d.ts +0 -6
  418. package/dist/seed/blog-posts-seed-data.js +0 -442
  419. package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
  420. package/dist/seed/carousel-slides-seed-data.js +0 -411
  421. package/dist/seed/carousels-seed-data.d.ts +0 -2
  422. package/dist/seed/carousels-seed-data.js +0 -36
  423. package/dist/seed/cart-seed-data.d.ts +0 -2
  424. package/dist/seed/cart-seed-data.js +0 -241
  425. package/dist/seed/catalogue-seed-data.d.ts +0 -2
  426. package/dist/seed/catalogue-seed-data.js +0 -112
  427. package/dist/seed/categories-seed-data.d.ts +0 -3
  428. package/dist/seed/categories-seed-data.js +0 -816
  429. package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
  430. package/dist/seed/claimed-coupons-seed-data.js +0 -85
  431. package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
  432. package/dist/seed/coupon-usage-seed-data.js +0 -55
  433. package/dist/seed/coupons-seed-data.d.ts +0 -2
  434. package/dist/seed/coupons-seed-data.js +0 -226
  435. package/dist/seed/defaults/categories.d.ts +0 -2
  436. package/dist/seed/defaults/categories.js +0 -12
  437. package/dist/seed/defaults/faqs.d.ts +0 -2
  438. package/dist/seed/defaults/faqs.js +0 -40
  439. package/dist/seed/events-seed-data.d.ts +0 -7
  440. package/dist/seed/events-seed-data.js +0 -482
  441. package/dist/seed/factories/address.factory.d.ts +0 -21
  442. package/dist/seed/factories/address.factory.js +0 -44
  443. package/dist/seed/factories/bid.factory.d.ts +0 -15
  444. package/dist/seed/factories/bid.factory.js +0 -33
  445. package/dist/seed/factories/blog-post.factory.d.ts +0 -15
  446. package/dist/seed/factories/blog-post.factory.js +0 -22
  447. package/dist/seed/factories/carousel.factory.d.ts +0 -11
  448. package/dist/seed/factories/carousel.factory.js +0 -17
  449. package/dist/seed/factories/cart.factory.d.ts +0 -25
  450. package/dist/seed/factories/cart.factory.js +0 -35
  451. package/dist/seed/factories/category.factory.d.ts +0 -11
  452. package/dist/seed/factories/category.factory.js +0 -16
  453. package/dist/seed/factories/coupon.factory.d.ts +0 -21
  454. package/dist/seed/factories/coupon.factory.js +0 -43
  455. package/dist/seed/factories/faq.factory.d.ts +0 -10
  456. package/dist/seed/factories/faq.factory.js +0 -15
  457. package/dist/seed/factories/notification.factory.d.ts +0 -18
  458. package/dist/seed/factories/notification.factory.js +0 -39
  459. package/dist/seed/factories/order.factory.d.ts +0 -20
  460. package/dist/seed/factories/order.factory.js +0 -20
  461. package/dist/seed/factories/payout.factory.d.ts +0 -21
  462. package/dist/seed/factories/payout.factory.js +0 -38
  463. package/dist/seed/factories/product.factory.d.ts +0 -27
  464. package/dist/seed/factories/product.factory.js +0 -80
  465. package/dist/seed/factories/review.factory.d.ts +0 -14
  466. package/dist/seed/factories/review.factory.js +0 -52
  467. package/dist/seed/factories/session.factory.d.ts +0 -15
  468. package/dist/seed/factories/session.factory.js +0 -31
  469. package/dist/seed/factories/store.factory.d.ts +0 -23
  470. package/dist/seed/factories/store.factory.js +0 -47
  471. package/dist/seed/factories/user.factory.d.ts +0 -19
  472. package/dist/seed/factories/user.factory.js +0 -56
  473. package/dist/seed/faq-seed-data.d.ts +0 -18
  474. package/dist/seed/faq-seed-data.js +0 -1956
  475. package/dist/seed/firestore-indexes.d.ts +0 -12
  476. package/dist/seed/firestore-indexes.js +0 -31
  477. package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
  478. package/dist/seed/grouped-listings-seed-data.js +0 -283
  479. package/dist/seed/history-seed-data.d.ts +0 -12
  480. package/dist/seed/history-seed-data.js +0 -70
  481. package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
  482. package/dist/seed/homepage-sections-seed-data.js +0 -1018
  483. package/dist/seed/index.d.ts +0 -98
  484. package/dist/seed/index.js +0 -112
  485. package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
  486. package/dist/seed/lottery-entries-seed-data.js +0 -108
  487. package/dist/seed/manifest.d.ts +0 -16
  488. package/dist/seed/manifest.js +0 -235
  489. package/dist/seed/media-assets-seed-data.d.ts +0 -22
  490. package/dist/seed/media-assets-seed-data.js +0 -5593
  491. package/dist/seed/model-composition-seed-data.d.ts +0 -15
  492. package/dist/seed/model-composition-seed-data.js +0 -9032
  493. package/dist/seed/notifications-seed-data.d.ts +0 -2
  494. package/dist/seed/notifications-seed-data.js +0 -606
  495. package/dist/seed/offers-seed-data.d.ts +0 -2
  496. package/dist/seed/offers-seed-data.js +0 -398
  497. package/dist/seed/orders-seed-data.d.ts +0 -2
  498. package/dist/seed/orders-seed-data.js +0 -845
  499. package/dist/seed/part-glossary/chunk0.d.ts +0 -9
  500. package/dist/seed/part-glossary/chunk0.js +0 -35448
  501. package/dist/seed/part-glossary/chunk1.d.ts +0 -9
  502. package/dist/seed/part-glossary/chunk1.js +0 -40494
  503. package/dist/seed/part-glossary/chunk2.d.ts +0 -9
  504. package/dist/seed/part-glossary/chunk2.js +0 -51242
  505. package/dist/seed/part-glossary/chunk3.d.ts +0 -9
  506. package/dist/seed/part-glossary/chunk3.js +0 -53337
  507. package/dist/seed/part-glossary/chunk4.d.ts +0 -9
  508. package/dist/seed/part-glossary/chunk4.js +0 -51454
  509. package/dist/seed/part-glossary-seed-data.d.ts +0 -15
  510. package/dist/seed/part-glossary-seed-data.js +0 -25
  511. package/dist/seed/payouts-seed-data.d.ts +0 -2
  512. package/dist/seed/payouts-seed-data.js +0 -302
  513. package/dist/seed/product-features-seed-data.d.ts +0 -3
  514. package/dist/seed/product-features-seed-data.js +0 -366
  515. package/dist/seed/products-art-seed-data.d.ts +0 -2
  516. package/dist/seed/products-art-seed-data.js +0 -289
  517. package/dist/seed/products-auctions-seed-data.d.ts +0 -2
  518. package/dist/seed/products-auctions-seed-data.js +0 -475
  519. package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
  520. package/dist/seed/products-beyblade-x-seed-data.js +0 -476
  521. package/dist/seed/products-catalogue-seed-data.d.ts +0 -22
  522. package/dist/seed/products-catalogue-seed-data.js +0 -86384
  523. package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
  524. package/dist/seed/products-classifieds-seed-data.js +0 -435
  525. package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
  526. package/dist/seed/products-digital-codes-seed-data.js +0 -395
  527. package/dist/seed/products-live-items-seed-data.d.ts +0 -7
  528. package/dist/seed/products-live-items-seed-data.js +0 -269
  529. package/dist/seed/products-preorders-seed-data.d.ts +0 -2
  530. package/dist/seed/products-preorders-seed-data.js +0 -360
  531. package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
  532. package/dist/seed/products-prize-draws-seed-data.js +0 -427
  533. package/dist/seed/products-spares-seed-data.d.ts +0 -2
  534. package/dist/seed/products-spares-seed-data.js +0 -368
  535. package/dist/seed/products-standard-seed-data.d.ts +0 -2
  536. package/dist/seed/products-standard-seed-data.js +0 -632
  537. package/dist/seed/products-stickers-seed-data.d.ts +0 -2
  538. package/dist/seed/products-stickers-seed-data.js +0 -319
  539. package/dist/seed/reviews-seed-data.d.ts +0 -1
  540. package/dist/seed/reviews-seed-data.js +0 -185
  541. package/dist/seed/runner.d.ts +0 -2
  542. package/dist/seed/runner.js +0 -125
  543. package/dist/seed/scammers-seed-data.d.ts +0 -2
  544. package/dist/seed/scammers-seed-data.js +0 -235
  545. package/dist/seed/seed-market-config.d.ts +0 -48
  546. package/dist/seed/seed-market-config.js +0 -199
  547. package/dist/seed/seed-purpose.d.ts +0 -299
  548. package/dist/seed/seed-purpose.js +0 -431
  549. package/dist/seed/sessions-seed-data.d.ts +0 -3
  550. package/dist/seed/sessions-seed-data.js +0 -116
  551. package/dist/seed/shipments-seed-data.d.ts +0 -5
  552. package/dist/seed/shipments-seed-data.js +0 -185
  553. package/dist/seed/site-settings-seed-data.d.ts +0 -2
  554. package/dist/seed/site-settings-seed-data.js +0 -1069
  555. package/dist/seed/store-addresses-seed-data.d.ts +0 -18
  556. package/dist/seed/store-addresses-seed-data.js +0 -71
  557. package/dist/seed/store-extensions-seed-data.d.ts +0 -11
  558. package/dist/seed/store-extensions-seed-data.js +0 -292
  559. package/dist/seed/stores-seed-data.d.ts +0 -6
  560. package/dist/seed/stores-seed-data.js +0 -242
  561. package/dist/seed/support-tickets-seed-data.d.ts +0 -16
  562. package/dist/seed/support-tickets-seed-data.js +0 -239
  563. package/dist/seed/tax-codes-seed-data.d.ts +0 -34
  564. package/dist/seed/tax-codes-seed-data.js +0 -100
  565. package/dist/seed/test-data-ttl.d.ts +0 -29
  566. package/dist/seed/test-data-ttl.js +0 -31
  567. package/dist/seed/test-utils.d.ts +0 -49
  568. package/dist/seed/test-utils.js +0 -110
  569. package/dist/seed/types.d.ts +0 -89
  570. package/dist/seed/types.js +0 -15
  571. package/dist/seed/users-seed-data.d.ts +0 -2
  572. package/dist/seed/users-seed-data.js +0 -597
  573. package/dist/seed/wishlists-seed-data.d.ts +0 -12
  574. package/dist/seed/wishlists-seed-data.js +0 -54
@@ -1,600 +0,0 @@
1
- /*
2
- * WHY: The seed carried FOUR brand rows for a catalogue that was about to span
3
- * Beyblade, trading cards, figures and die-cast. A product's `brand`
4
- * string that matches no brand row is invisible on every brand page, and
5
- * the four existing rows cover none of the three new verticals.
6
- * WHAT: One factory plus 28 compact declarations. The boilerplate every brand
7
- * row needs — tier-0 coordinates, isBrand, searchability, the seo block —
8
- * is written once; each brand declares only what differs.
9
- *
10
- * EXPORTS:
11
- * BRAND_ROWS — Partial<CategoryDocument>[], categoryType:"brand"
12
- * BRAND_ROW_COUNT — asserted by the seed so a silent drop is loud
13
- *
14
- * ## 🛑 Three traps, all of them live
15
- *
16
- * 1. **`BrandDetailPageView` filters products on the brand's DISPLAY NAME**
17
- * (`sieveFilter("brand", EQ, brandName)`), not on `brandSlug`. So renaming
18
- * a brand silently orphans its entire catalogue — which is why
19
- * `Takara-Tomy` keeps its existing hyphenated spelling even though the
20
- * company writes it "Takara Tomy". Keep `brand` and `brandSlug` in lockstep
21
- * on the product side.
22
- *
23
- * 2. **`display.icon` BEATS `display.coverImage`.** `BrandsSection` reads
24
- * `brand.display?.icon` first and only falls back to `coverImage`. The
25
- * existing seed uses `icon` for EMOJI, so an emoji left there wins over a
26
- * real logo. Every row here leaves `icon` unset.
27
- *
28
- * 3. **A brand row with no product is a DEAD FACET, and worse than absent** —
29
- * it renders as a card in the brands grid that opens an empty page. That is
30
- * the whole reason there is no standalone `Tomy` row: Takara is the
31
- * pre-merger Beyblade maker and Takara Tomy is the merged entity, while
32
- * Tomy's own pre-merger role is established by NO source we hold (zero
33
- * `Tomy`-only brand values across all fifteen crawls, and the local corpus
34
- * never attributes a product code to Tomy alone). Every row below is one
35
- * B6 can put at least one real product behind.
36
- *
37
- * ## 🛑 Real logos, decided 2026-10-20 — and what the earlier caution was right about
38
- *
39
- * This block used to argue for neutral `seedPhoto` tiles over real logos, on
40
- * the grounds that 26 of these are marques we do not own and "shipping drawn
41
- * approximations of their logos is trademark reproduction for commercial
42
- * use… a licensed-asset task, not a seed task."
43
- *
44
- * That call was reversed deliberately, not forgotten. Real wordmarks are now
45
- * used to IDENTIFY the line a listing belongs to, which is nominative use, and
46
- * the help pages carry an explicit fair-use and non-affiliation notice naming
47
- * every marque. Provenance for each file is recorded per-image in
48
- * `docs/research/taxonomy-images-2026-10/image-provenance.json`, so
49
- * attribution is possible and a takedown is mechanical.
50
- *
51
- * 🛑 Two things the old reasoning got right and this did NOT change:
52
- *
53
- * 1. **Never `seedExtMedia`.** A persisted `/api/media/ext?url=…` costs a
54
- * lambda plus a third-party fetch plus a sharp encode PER RENDER — Root
55
- * Cause #104, which took Fast Origin Transfer to 52.52 GB against a
56
- * 10 GB cap. These are fetched ONCE, stored in our own bucket, and
57
- * referenced as `/media/<slug>`.
58
- * 2. **No drawn approximations.** Nothing here is an imitation of a logo we
59
- * traced; each is the actual wordmark, cited.
60
- *
61
- * Only three brands resolve an image today (Beyblade, Hasbro, Sonokong). The
62
- * other 25 have no verified source yet and show no cover rather than a guessed
63
- * one — see `knownGaps` in the manifest.
64
- *
65
- * @tag domain:categories
66
- * @tag layer:seed
67
- * @tag pattern:shared-literal
68
- * @tag access:server-only
69
- * @tag consumers:seed/categories-seed-data.ts
70
- * @tag sideEffects:none
71
- */
72
- /*
73
- * 🛑 `constants/field-names`, NOT `features/categories/schemas/firestore`.
74
- * There are TWO `CATEGORY_FIELDS` constants in this codebase and they have
75
- * drifted — only this one carries `CATEGORY_TYPE_VALUES`, and the schema copy
76
- * carries `PRODUCT_DEFAULTS_TAX_CODE_ID`, which this one does not.
77
- * `categories-seed-data.ts` imports this copy; matching it is what keeps the
78
- * brand discriminator a single spelling.
79
- */
80
- import { CATEGORY_FIELDS } from "../../constants/field-names.js";
81
- import { seedPhoto } from "./media.js";
82
- export function brandRow(input, order, stamps) {
83
- const id = `brand-${input.slug}`;
84
- return {
85
- id,
86
- slug: id,
87
- name: input.name,
88
- categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
89
- description: input.description,
90
- ...(input.website ? { brandWebsite: input.website } : {}),
91
- brandCountry: input.country,
92
- ...(input.founded ? { brandFounded: input.founded } : {}),
93
- highlights: input.highlights,
94
- ...(input.faqs ? { faqs: input.faqs } : {}),
95
- rootId: id,
96
- parentIds: [],
97
- childrenIds: [],
98
- ancestors: [],
99
- tier: 0,
100
- path: id,
101
- isLeaf: true,
102
- order,
103
- /*
104
- * 🛑 `icon` deliberately UNSET — see trap 2. A cover image only.
105
- * `position` is NOT set here: brand rows live outside the category
106
- * forest's DFS numbering, and giving them a position inside it would
107
- * corrupt the ranges `onCategoryWrite` shifts on insert.
108
- */
109
- /*
110
- * A placeholder tile, which a real logo now OVERRIDES rather than being
111
- * blocked by — `withGeneratedCoverImage` treats a `/images/seed-tiles/`
112
- * path as a default to improve on, not as a hand-authored decision
113
- * (`isSeedPlaceholderImage`).
114
- *
115
- * 🛑 So keep it. Three brands resolve a real wordmark today (Beyblade,
116
- * Hasbro, Sonokong) and override this; the other 25 have no verified
117
- * source and fall back to the tile. Removing the line would give those 25
118
- * an EMPTY grey box, because a brand row carries no `color` and no `icon`
119
- * either — strictly worse than a neutral tile.
120
- *
121
- * `icon` stays unset — see trap 2. An emoji here would outrank the logo.
122
- */
123
- display: {
124
- coverImage: seedPhoto(`brand-logo-${input.slug}-20260101`, 800, 800),
125
- showInMenu: false,
126
- showInFooter: input.footer ?? false,
127
- },
128
- isFeatured: input.featured ?? false,
129
- isBrand: true,
130
- isActive: true,
131
- isSearchable: true,
132
- createdBy: stamps.createdBy,
133
- createdAt: stamps.createdAt,
134
- updatedAt: stamps.updatedAt,
135
- seo: {
136
- title: `${input.name} | LetItRip`,
137
- description: input.seoDescription,
138
- keywords: input.keywords,
139
- },
140
- };
141
- }
142
- // ─────────────────────────────────────────────────────────────────────────────
143
- // Beyblade — EIGHT rows, and the count is the interesting part
144
- //
145
- // Takara is the pre-2006 maker (beybladeshopindia's Brand field is literally
146
- // `Takara` on 2,011 products, and the local corpus attributes Gen-1 codes to
147
- // `(Takara)` while BX-era codes carry `(TT)`). Takara Tomy is the merged
148
- // entity. There is NO standalone Tomy row — see trap 3.
149
- //
150
- // `Beyblade` itself stays a row because the existing seed has it and products
151
- // reference it; it is the FRANCHISE rather than a manufacturer, the same
152
- // precedent `Hot Wheels` follows on the die-cast side.
153
- // ─────────────────────────────────────────────────────────────────────────────
154
- const BEYBLADE_BRANDS = [
155
- {
156
- slug: "takara-tomy",
157
- // 🛑 Hyphenated, matching what products already carry. The company writes
158
- // it "Takara Tomy"; renaming to match them orphans the catalogue.
159
- name: "Takara-Tomy",
160
- description: "The Japanese toy company behind every Beyblade generation since the 2006 merger, plus Tomica, Transformers (Japan) and Duel Masters. Known for premium tooling and Japan-exclusive releases.",
161
- country: "Japan",
162
- founded: 2006,
163
- website: "https://www.takaratomy.co.jp",
164
- highlights: [
165
- "Manufactures every Beyblade generation from 2006 onward",
166
- "Also behind Tomica, Transformers (Japan region) and Duel Masters",
167
- "Japan-exclusive releases and the tighter tolerances competitive players prefer",
168
- ],
169
- faqs: [
170
- { question: "Is Takara-Tomy the same company as Hasbro's Beyblade line?", answer: "No. Takara-Tomy manufactures and sells Beyblade in Japan and most of Asia; Hasbro licenses and distributes a separate — sometimes genuinely different — product line internationally, primarily in North America." },
171
- { question: "Are Takara-Tomy imports compatible with Hasbro Beyblade parts?", answer: "Within the same generation, almost always yes. Across generations, no: the launcher and locking systems changed every time." },
172
- ],
173
- footer: true,
174
- featured: true,
175
- keywords: ["takara tomy", "takara tomy beyblade", "tomica takara", "beyblade japan"],
176
- seoDescription: "Shop Takara-Tomy collectibles — Beyblade across every generation, plus Tomica and Transformers Japan releases.",
177
- },
178
- {
179
- slug: "takara",
180
- name: "Takara",
181
- description: "The pre-merger company that created Beyblade in 1999 and made every Plastic Generation, Spin Gear, Magnacore, Engine Gear and HMS release until it merged with Tomy in 2006.",
182
- country: "Japan",
183
- founded: 1955,
184
- highlights: [
185
- "Created Beyblade in 1999 — every original-generation top is a Takara product",
186
- "The marque on Gen-1 product codes (A-xx, MA-xx) before the 2006 merger",
187
- "Vintage Takara pieces in playable condition are the scarcest Beyblade tier",
188
- ],
189
- faqs: [
190
- { question: "What is the difference between Takara and Takara-Tomy?", answer: "Takara made Beyblade alone from 1999 until it merged with Tomy in 2006 to form Takara Tomy. A top with an A-xx or MA-xx code is a Takara release; a BB-xx, B-xx or BX-xx code is Takara Tomy." },
191
- { question: "Is a Takara-era top still usable?", answer: "Yes, though plastic from 1999–2003 has aged. Check the listing for stress marks around the Blade Base and for a clean spin gear — a cracked base is not repairable." },
192
- ],
193
- featured: true,
194
- keywords: ["takara", "takara beyblade", "plastic generation", "vintage beyblade"],
195
- seoDescription: "Shop Takara-era Beyblade — the original 1999–2003 generations, from Spin Gear through HMS.",
196
- },
197
- {
198
- slug: "beyblade",
199
- name: "Beyblade",
200
- description: "The spinning-top battle franchise itself, by Takara-Tomy in Japan and Hasbro internationally — spanning the Original series, Metal Fight, Burst and Beyblade X.",
201
- country: "Japan",
202
- founded: 1999,
203
- website: "https://beyblade.takaratomy.co.jp",
204
- highlights: [
205
- "Four generations since 1999, all of them traded here",
206
- "One of the best-selling spinning-top toy lines in the world",
207
- "A live competitive tournament scene alongside collecting",
208
- ],
209
- faqs: [
210
- { question: "What age range is Beyblade designed for?", answer: "Most sets are labelled 8+ for small parts and launcher spring mechanisms. Check the age rating on the listing before buying for a younger child." },
211
- { question: "Where can I find official tournament rules?", answer: "Takara-Tomy and Hasbro each publish rules for their own regions, and the World Beyblade Organization runs the community formats most Indian events use. The manufacturer link on this page goes to the current official rulebook." },
212
- ],
213
- footer: true,
214
- featured: true,
215
- keywords: ["beyblade", "beyblade x", "beyblade burst", "spinning top battle", "beyblade india"],
216
- seoDescription: "Shop Beyblade in India — Original, Metal Fight, Burst and Beyblade X tops, parts, launchers and stadiums.",
217
- },
218
- {
219
- slug: "hasbro",
220
- name: "Hasbro",
221
- description: "The international Beyblade licensee. Hasbro distributes its own product line outside Japan with different packaging, different part names and occasionally different mould tolerances from the Takara-Tomy originals.",
222
- country: "United States",
223
- founded: 1923,
224
- website: "https://shop.hasbro.com",
225
- highlights: [
226
- "The Beyblade line most collectors outside Japan grew up with",
227
- "Widely available and generally cheaper than Japanese imports",
228
- "Same-generation parts are usually cross-compatible with Takara-Tomy",
229
- ],
230
- faqs: [
231
- { question: "Is a Hasbro Beyblade worse than the Takara-Tomy version?", answer: "Not worse, but often different. Hasbro releases can use softer plastics and slightly looser tolerances, which competitive players notice and casual players generally do not." },
232
- { question: "Why does my Hasbro top have a different name?", answer: "Hasbro renames most releases for western markets — Lost Longinus is sold as Lost Luinor L2, Spriggan as Spryzen. They are the same mould. Both names are indexed here, so either one finds the listing." },
233
- ],
234
- keywords: ["hasbro", "hasbro beyblade", "beyblade burst hasbro", "luinor"],
235
- seoDescription: "Shop Hasbro Beyblade — the international product line, with both Hasbro and Takara-Tomy names searchable.",
236
- },
237
- {
238
- slug: "sonokong",
239
- name: "Sonokong",
240
- description: "The South Korean Beyblade licensee, distributing localised releases across Korea with its own packaging and occasional market-exclusive colourways.",
241
- country: "South Korea",
242
- founded: 1979,
243
- highlights: [
244
- "Korean-market releases, including colourways sold nowhere else",
245
- "Same moulds as the Takara-Tomy originals under Korean packaging",
246
- ],
247
- keywords: ["sonokong", "korean beyblade", "sonokong beyblade"],
248
- seoDescription: "Shop Sonokong Beyblade — Korean-market releases and market-exclusive colourways.",
249
- },
250
- {
251
- slug: "funskool",
252
- name: "Funskool",
253
- description: "The Indian licensee for several Hasbro lines, including locally packaged Beyblade releases — the version many Indian collectors owned first.",
254
- country: "India",
255
- founded: 1987,
256
- highlights: [
257
- "Indian-market packaging, and the release many local collectors started with",
258
- "Locally distributed, so no import duty in the original purchase price",
259
- ],
260
- faqs: [
261
- { question: "Is a Funskool Beyblade genuine?", answer: "Yes. Funskool is a licensed Indian distributor, not a reproduction — the product inside is the licensed release under Indian packaging." },
262
- ],
263
- keywords: ["funskool", "funskool beyblade", "beyblade india original"],
264
- seoDescription: "Shop Funskool Beyblade — the licensed Indian-market releases.",
265
- },
266
- {
267
- slug: "young-toys",
268
- name: "Young Toys",
269
- description: "A Korean toy manufacturer and regional Beyblade licensee, also known for its own spinning-top lines.",
270
- country: "South Korea",
271
- highlights: ["Korean regional releases", "Also produces its own spinning-top lines"],
272
- keywords: ["young toys", "young toys beyblade", "korean spinning tops"],
273
- seoDescription: "Shop Young Toys releases — Korean regional Beyblade and spinning-top lines.",
274
- },
275
- {
276
- slug: "newboy",
277
- name: "NewBoy",
278
- description: "The Middle East regional licensee, distributing Beyblade across the Gulf states with localised packaging.",
279
- country: "United Arab Emirates",
280
- highlights: ["Gulf-market packaging", "Licensed regional distribution, not a reproduction"],
281
- keywords: ["newboy", "newboy beyblade", "middle east beyblade"],
282
- seoDescription: "Shop NewBoy Beyblade — licensed Middle East regional releases.",
283
- },
284
- ];
285
- // ─────────────────────────────────────────────────────────────────────────────
286
- // Trading card publishers — FIVE
287
- //
288
- // 🛑 Nintendo and Creatures Inc. are deliberately absent despite co-owning
289
- // Pokémon. Their names appear on no card a buyer searches by, so a row for
290
- // either is trap 3: a card in the brands grid that opens an empty page.
291
- // ─────────────────────────────────────────────────────────────────────────────
292
- const TCG_BRANDS = [
293
- {
294
- slug: "pokemon-company",
295
- name: "The Pokémon Company",
296
- description: "Publisher of the Pokémon Trading Card Game, and the marque on every modern Japanese and English set since Wizards of the Coast's licence ended in 2003.",
297
- country: "Japan",
298
- founded: 1998,
299
- website: "https://www.pokemon.co.jp",
300
- highlights: [
301
- "Publishes every modern Pokémon TCG set in both Japanese and English",
302
- "Japanese print runs are smaller and card stock is generally better regarded",
303
- ],
304
- faqs: [
305
- { question: "Why do Japanese and English Pokémon cards differ in price?", answer: "Different print runs, different pull rates and a different collector base. Japanese sets often have higher card quality and smaller runs; English sets have the larger market. They are genuinely different products, which is why language is a filter here." },
306
- ],
307
- footer: true,
308
- featured: true,
309
- keywords: ["pokemon company", "pokemon tcg", "pokemon cards india", "pokemon japanese"],
310
- seoDescription: "Shop Pokémon Trading Card Game product — singles, sealed boxes and ETBs in Japanese and English.",
311
- },
312
- {
313
- slug: "wizards-of-the-coast",
314
- name: "Wizards of the Coast",
315
- description: "Held the English-language Pokémon TCG licence from 1999 to 2003, and publishes Magic: The Gathering. WotC-era Pokémon cards are the vintage tier of the game.",
316
- country: "United States",
317
- founded: 1990,
318
- website: "https://company.wizards.com",
319
- highlights: [
320
- "The 1999–2003 English Pokémon sets — Base Set through e-Card",
321
- "A WotC copyright line on the card is the single fastest vintage check",
322
- ],
323
- faqs: [
324
- { question: "How do I tell a WotC-era Pokémon card from a modern reprint?", answer: "The copyright line at the bottom names Wizards of the Coast and the year. A modern reprint of the same artwork carries The Pokémon Company instead, and the two are priced very differently." },
325
- ],
326
- keywords: ["wizards of the coast", "wotc pokemon", "base set", "vintage pokemon cards"],
327
- seoDescription: "Shop Wizards of the Coast-era Pokémon — the 1999–2003 English vintage sets.",
328
- },
329
- {
330
- slug: "bandai",
331
- name: "Bandai",
332
- description: "Publisher of the One Piece Card Game, Digimon Card Game and Gundam Card Game, and — through Bandai Spirits — one of the largest collectible figure and model-kit makers in the world.",
333
- country: "Japan",
334
- founded: 1950,
335
- website: "https://www.bandai.com",
336
- highlights: [
337
- "One Piece, Digimon and Gundam card games",
338
- "Bandai Spirits figures and the entire Gunpla model-kit range",
339
- "The broadest single catalogue of any publisher here",
340
- ],
341
- footer: true,
342
- featured: true,
343
- keywords: ["bandai", "one piece card game", "gunpla", "digimon tcg", "bandai spirits"],
344
- seoDescription: "Shop Bandai — One Piece and Digimon card games, Gunpla model kits and Bandai Spirits figures.",
345
- },
346
- {
347
- slug: "konami",
348
- name: "Konami",
349
- description: "Publisher of the Yu-Gi-Oh! Trading Card Game worldwide.",
350
- country: "Japan",
351
- founded: 1969,
352
- website: "https://www.konami.com",
353
- highlights: ["Yu-Gi-Oh! TCG structure decks, boosters and singles"],
354
- keywords: ["konami", "yu-gi-oh", "yugioh cards india"],
355
- seoDescription: "Shop Konami's Yu-Gi-Oh! Trading Card Game — structure decks, boosters and singles.",
356
- },
357
- {
358
- slug: "bushiroad",
359
- name: "Bushiroad",
360
- description: "Publisher of Weiss Schwarz and Union Arena — crossover card games that license dozens of anime properties into one playable system.",
361
- country: "Japan",
362
- founded: 2007,
363
- website: "https://bushiroad.com",
364
- highlights: [
365
- "Weiss Schwarz and Union Arena",
366
- "Crossover sets licensing dozens of anime properties into one game",
367
- ],
368
- keywords: ["bushiroad", "weiss schwarz", "union arena"],
369
- seoDescription: "Shop Bushiroad card games — Weiss Schwarz and Union Arena sealed product and singles.",
370
- },
371
- ];
372
- // ─────────────────────────────────────────────────────────────────────────────
373
- // Figure makers — THIRTEEN, ordered by their measured tag counts in the crawl
374
- // ─────────────────────────────────────────────────────────────────────────────
375
- const FIGURE_BRANDS = [
376
- {
377
- slug: "banpresto",
378
- name: "Banpresto",
379
- description: "A Bandai Spirits label producing prize figures for Japanese arcade machines — the largest single figure line in the crawl, and the entry price point for collecting at scale.",
380
- country: "Japan",
381
- founded: 1977,
382
- highlights: [
383
- "Prize figures made for Japanese arcade machines, not retail",
384
- "Usually unarticulated and genuinely cheaper rather than lower value",
385
- "The broadest anime-figure selection at the ₹1,200–2,200 tier",
386
- ],
387
- faqs: [
388
- { question: "Are Banpresto prize figures lower quality?", answer: "They are simpler — fewer parts, no articulation, less complex paint — and priced accordingly. For display they hold up well, which is why prize figures are a tier rather than a compromise." },
389
- ],
390
- footer: true,
391
- featured: true,
392
- keywords: ["banpresto", "prize figure", "anime figure india"],
393
- seoDescription: "Shop Banpresto prize figures — the broadest anime-figure selection at the entry tier.",
394
- },
395
- {
396
- slug: "tamashii-nations",
397
- name: "Tamashii Nations",
398
- description: "Bandai Spirits' collector label, best known for S.H.Figuarts — highly articulated 1/12-scale figures aimed at adult collectors.",
399
- country: "Japan",
400
- founded: 2008,
401
- highlights: ["S.H.Figuarts and the Tamashii collector lines", "The articulation benchmark at 1/12 scale"],
402
- keywords: ["tamashii nations", "s.h.figuarts", "shf", "articulated figures"],
403
- seoDescription: "Shop Tamashii Nations — S.H.Figuarts and the Bandai Spirits collector lines.",
404
- },
405
- {
406
- slug: "max-factory",
407
- name: "Max Factory",
408
- description: "Japanese figure maker behind the Figma articulated line and a large catalogue of scale statues.",
409
- country: "Japan",
410
- founded: 1987,
411
- highlights: ["The Figma articulated line", "Scale statues across a wide anime licence range"],
412
- keywords: ["max factory", "figma", "anime figures"],
413
- seoDescription: "Shop Max Factory — Figma articulated figures and scale statues.",
414
- },
415
- {
416
- slug: "good-smile-company",
417
- name: "Good Smile Company",
418
- description: "Creator of the Nendoroid line — stylised chibi figures with swappable faces and parts — alongside a premium scale-statue catalogue.",
419
- country: "Japan",
420
- founded: 2001,
421
- highlights: ["Nendoroid, the definitive chibi collectible line", "Swappable faces and parts on every Nendoroid"],
422
- keywords: ["good smile company", "nendoroid", "chibi figure"],
423
- seoDescription: "Shop Good Smile Company — Nendoroid chibi figures and premium scale statues.",
424
- },
425
- {
426
- slug: "megahouse",
427
- name: "MegaHouse",
428
- description: "A Bandai Namco figure label known for its One Piece and Gundam scale statues.",
429
- country: "Japan",
430
- founded: 2001,
431
- highlights: ["One Piece Portrait.Of.Pirates and Gundam scale lines"],
432
- keywords: ["megahouse", "portrait of pirates", "one piece figure"],
433
- seoDescription: "Shop MegaHouse figures — One Piece Portrait.Of.Pirates and Gundam scale statues.",
434
- },
435
- {
436
- slug: "furyu",
437
- name: "FuRyu",
438
- description: "Japanese prize-figure and scale-figure maker across a broad anime licence range.",
439
- country: "Japan",
440
- founded: 2007,
441
- highlights: ["Prize and scale figures at the mid tier"],
442
- keywords: ["furyu", "anime prize figure"],
443
- seoDescription: "Shop FuRyu figures — prize and scale anime collectibles.",
444
- },
445
- {
446
- slug: "taito",
447
- name: "Taito",
448
- description: "Arcade operator and prize-figure maker, whose figures come from its own crane machines.",
449
- country: "Japan",
450
- founded: 1953,
451
- highlights: ["Arcade prize figures from Taito's own machines"],
452
- keywords: ["taito", "taito prize figure"],
453
- seoDescription: "Shop Taito prize figures — arcade-exclusive anime collectibles.",
454
- },
455
- {
456
- slug: "medicom-toy",
457
- name: "Medicom Toy",
458
- description: "Japanese maker behind Mafex — highly articulated 1/12-scale comic and film figures — and the Be@rbrick line.",
459
- country: "Japan",
460
- founded: 1996,
461
- highlights: ["The Mafex articulated line", "Be@rbrick designer collectibles"],
462
- keywords: ["medicom", "mafex", "bearbrick"],
463
- seoDescription: "Shop Medicom Toy — Mafex articulated figures and Be@rbrick collectibles.",
464
- },
465
- {
466
- slug: "toy-biz",
467
- name: "Toy Biz",
468
- description: "The pre-Hasbro Marvel licensee. Its 1990s figures are a genuine vintage tier, and an unopened Toy Biz card is one of the scarcer things in this catalogue.",
469
- country: "United States",
470
- founded: 1990,
471
- highlights: [
472
- "1990s Marvel figures — the vintage tier of comic collecting",
473
- "Carded examples are scarce and priced well above loose ones",
474
- ],
475
- faqs: [
476
- { question: "Why are Toy Biz figures collectible?", answer: "They are the Marvel figures a generation grew up with, they predate Hasbro's licence, and the cards were rarely kept. Condition of the blister and card drives most of the price." },
477
- ],
478
- keywords: ["toy biz", "vintage marvel figures", "1990s marvel"],
479
- seoDescription: "Shop Toy Biz — vintage 1990s Marvel figures, carded and loose.",
480
- },
481
- {
482
- slug: "mcfarlane-toys",
483
- name: "McFarlane Toys",
484
- description: "Holder of the DC figure licence, producing the DC Multiverse line alongside sports and game properties.",
485
- country: "United States",
486
- founded: 1994,
487
- highlights: ["DC Multiverse — the current DC figure line", "Sports and video-game licences alongside it"],
488
- keywords: ["mcfarlane", "dc multiverse", "dc figures"],
489
- seoDescription: "Shop McFarlane Toys — DC Multiverse figures and licensed sports and game lines.",
490
- },
491
- {
492
- slug: "mattel",
493
- name: "Mattel",
494
- description: "American toy company behind Hot Wheels, the Pixar Cars die-cast line and a long history of licensed action figures.",
495
- country: "United States",
496
- founded: 1945,
497
- website: "https://shop.mattel.com",
498
- highlights: ["Hot Wheels and Pixar Cars", "A deep back catalogue of licensed figures"],
499
- keywords: ["mattel", "pixar cars", "mattel figures"],
500
- seoDescription: "Shop Mattel — Pixar Cars die-cast and licensed figure lines.",
501
- },
502
- {
503
- slug: "hot-toys",
504
- name: "Hot Toys",
505
- description: "Hong Kong maker of 1/6-scale film collectibles with tailored fabric costumes and portrait likenesses — the premium ceiling of this catalogue.",
506
- country: "Hong Kong",
507
- founded: 2000,
508
- highlights: ["1/6-scale film figures with fabric costumes", "The premium end of collectible figures"],
509
- keywords: ["hot toys", "1/6 scale", "movie masterpiece"],
510
- seoDescription: "Shop Hot Toys — 1/6-scale premium film collectibles.",
511
- },
512
- {
513
- slug: "mezco",
514
- name: "Mezco Toyz",
515
- description: "American maker of the One:12 Collective — 1/12-scale figures with fabric costumes.",
516
- country: "United States",
517
- founded: 1999,
518
- highlights: ["The One:12 Collective line at 1/12 scale with fabric costumes"],
519
- keywords: ["mezco", "one 12 collective"],
520
- seoDescription: "Shop Mezco Toyz — One:12 Collective figures.",
521
- },
522
- ];
523
- // ─────────────────────────────────────────────────────────────────────────────
524
- // Die-cast — ONE
525
- //
526
- // 🛑 Hot Wheels only, and it is the LINE rather than its parent company —
527
- // matching the precedent `Beyblade` already set. The twenty other marques the
528
- // crawl surfaced (Matchbox, Tomica, Mini GT, M2, Greenlight, Maisto, Kyosho …)
529
- // are out of scope; their data stays in docs/research/ so re-adding one is a
530
- // seed change and not another crawl.
531
- // ─────────────────────────────────────────────────────────────────────────────
532
- const DIECAST_BRANDS = [
533
- {
534
- slug: "hot-wheels",
535
- name: "Hot Wheels",
536
- description: "Mattel's 1:64 die-cast line since 1968 — Mainline blister singles, Premium series with metal bases and Real Riders tyres, and the members-only Red Line Club.",
537
- country: "United States",
538
- founded: 1968,
539
- website: "https://creations.mattel.com",
540
- highlights: [
541
- "Mainline, Premium and Red Line Club, all at 1:64",
542
- "Treasure Hunt and Super Treasure Hunt chase variants identified on every listing",
543
- "Indian-card releases flagged, because collectors here price them differently",
544
- ],
545
- faqs: [
546
- { question: "What is a Super Treasure Hunt?", answer: "A chase variant within a mainline wave carrying Spectraflame paint, Real Riders rubber tyres and the TH logo — usually one per case. A regular Treasure Hunt has the flame-circle logo without the premium paint and tyres." },
547
- { question: "Why does the Indian blister card matter?", answer: "It is printed differently from the US release and collectors here value the two differently, so listings state which card a car is on rather than leaving you to compare photographs." },
548
- ],
549
- footer: true,
550
- featured: true,
551
- keywords: ["hot wheels", "hot wheels india", "treasure hunt", "car culture", "diecast 1:64"],
552
- seoDescription: "Shop Hot Wheels in India — Mainline, Premium, Red Line Club and chase variants at 1:64.",
553
- },
554
- ];
555
- // ─────────────────────────────────────────────────────────────────────────────
556
- // Living collectibles — ONE
557
- // ─────────────────────────────────────────────────────────────────────────────
558
- const LIVING_BRANDS = [
559
- {
560
- slug: "independent-keepers",
561
- name: "Independent Keepers",
562
- description: "Live animals and plants come from individual keepers, breeders and growers rather than a manufacturer. This entry groups those listings so they are reachable from brand browsing like everything else.",
563
- country: "India",
564
- highlights: [
565
- "Every seller is verified before a live listing can go public",
566
- "Provenance, age and health information disclosed per listing",
567
- ],
568
- faqs: [
569
- { question: "Why is there a \"brand\" for living things at all?", answer: "Purely so live listings behave like every other listing in browse and search. It identifies the class of seller, not a manufacturer." },
570
- ],
571
- keywords: ["independent keepers", "breeders", "live plants"],
572
- seoDescription: "Live animals and plants from verified independent keepers and growers.",
573
- },
574
- ];
575
- /** Declaration order is display order; `order` is assigned from it. */
576
- export const BRAND_SEED_INPUTS = [
577
- ...BEYBLADE_BRANDS,
578
- ...TCG_BRANDS,
579
- ...FIGURE_BRANDS,
580
- ...DIECAST_BRANDS,
581
- ...LIVING_BRANDS,
582
- ];
583
- export function buildBrandRows(stamps) {
584
- const seen = new Set();
585
- return BRAND_SEED_INPUTS.map((input, i) => {
586
- const id = `brand-${input.slug}`;
587
- /*
588
- * 🛑 Fatal, not last-write-wins. A brand id derives from the slug, so two
589
- * rows at one id write the first and SILENTLY overwrite it — and
590
- * `appkit-seed status` cannot see it, because it counts ids and the id
591
- * exists either way.
592
- */
593
- if (seen.has(id))
594
- throw new Error(`duplicate brand id ${id}`);
595
- seen.add(id);
596
- return brandRow(input, i + 1, stamps);
597
- });
598
- }
599
- /** Asserted by the seed so a silently dropped row is loud. */
600
- export const BRAND_ROW_COUNT = BRAND_SEED_INPUTS.length;
@@ -1,24 +0,0 @@
1
- /**
2
- * GENERATED by scripts/gen-category-content.mjs — do not edit by hand.
3
- *
4
- * `contentBody` per category, composed from FACTS ONLY (I7). Every clause
5
- * traces to a committed source: canonical-beys.json for a model leaf,
6
- * part-glossary.json for a part leaf, the forest's own child lists above them.
7
- *
8
- * 🛑 A node with nothing factual to say is ABSENT from this map rather than
9
- * carrying an empty body — `CategoryHighlightsAndFaqSection` renders nothing
10
- * when its inputs are empty, and an empty paragraph reads as a defect.
11
- *
12
- * 🛑 No price band appears here. `MARKET_BANDS` omits a band rather than
13
- * guessing one, and a body that stated an unmeasured "typical price" would be
14
- * the same guess with better typography.
15
- *
16
- * 🛑 No listing COUNT appears here either. Counts live in `categoryCounts` and
17
- * move; a sentence saying "48 listings" is wrong the next day and nothing
18
- * reports it.
19
- *
20
- * Model leaves with a body: 217 of 220
21
- * Part leaves with a body: 534 of 752
22
- */
23
- export declare const GENERATED_CATEGORY_CONTENT: Record<string, string>;
24
- export declare const GENERATED_CATEGORY_CONTENT_COUNT = 751;