@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,90 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the design-ux/header-brand-mark-centring page.
3
- * WHAT: 6 case(s), keyed by full checklist id.
4
- *
5
- * @tag domain:tester
6
- * @tag layer:seed
7
- * @tag pattern:none
8
- * @tag access:server-only
9
- * @tag consumers:seed-data/authored/index.ts
10
- * @tag sideEffects:none
11
- */
12
- export const authored = {
13
- "checklist-design-ux-header-brand-mark-centring-mark-clear-of-icons-across-the-lg-band": {
14
- roles: ["guest"],
15
- startPage: "/products",
16
- steps: [
17
- "Open /products signed out.",
18
- "Set the window to exactly 1024px wide.",
19
- "Widen in roughly 32px steps to 1280px, pausing at each step.",
20
- "At each step look at the space between the 'LetItRip' wordmark and the first icon of the right-hand cluster.",
21
- ],
22
- expectedBehaviour: "The mark is one of three in-flow tracks in the title row, so the row's layout reserves its width and the action cluster cannot be laid out across it at any width. Previously it was absolutely positioned and the cluster simply grew over it between 1024px and ~1150px.",
23
- expectedUiState: "At every step the leaf mark sits in clear space with visible gap on both sides. No part of it overlaps the notification bell, the messages icon, the wishlist heart or the cart. Each icon's full 44px square is unobstructed. If an overlap appears, record the exact window width it starts and stops at — the band is the finding, not the single screenshot.",
24
- endResult: "Pure layout; nothing persists. Reloading at any width in the band reproduces the same clean header, and the band must not reappear after a reload.",
25
- },
26
- "checklist-design-ux-header-brand-mark-centring-mark-clear-signed-out-worst-case": {
27
- roles: ["guest", "buyer"],
28
- startPage: "/products",
29
- steps: [
30
- "Sign out completely and load /products.",
31
- "Set the window to approximately 1100px wide.",
32
- "Screenshot the header.",
33
- "Sign in as any buyer and, without changing the window width, screenshot the header again.",
34
- ],
35
- expectedBehaviour: "Signed out the cluster is at its widest, because 'Sign in' and 'Register' (~160px together) replace a single 44px avatar. ~1100px signed out is the exact combination the original bug report was captured at, so it is the case most likely to regress.",
36
- expectedUiState: "Both screenshots show the leaf mark clear of every control. Signed out the cluster reads search, Today's Deals, theme and hamburger plus 'Sign in' and 'Register'; signed in it reads bell, messages, heart, cart, avatar and the same four. In neither does the leaf touch an icon. If exactly one of the two fails, say which — signed-out-only failure means the auth buttons' extra width is still unaccounted for.",
37
- endResult: "Navigation and session change only. Signing back out at the same width must return to the clean signed-out header, not to an overlapping one.",
38
- },
39
- "checklist-design-ux-header-brand-mark-centring-mark-shifts-rather-than-overlapping": {
40
- roles: ["guest"],
41
- startPage: "/products",
42
- steps: [
43
- "Signed out at /products, start from 1280px.",
44
- "Narrow the window slowly toward 1024px.",
45
- "Watch the leaf mark's horizontal position as the gap closes.",
46
- "Stop at the narrowest point where the cluster still shows all of its icons.",
47
- ],
48
- expectedBehaviour: "When the cluster needs more than its half of the row, the side track holding the wordmark yields and the mark is pushed off-centre. Shifting is the intended degradation — the alternative designs either hide the mark under the icons (the old bug) or let the cluster shrink below its own content and be clipped, and the app shell is overflow-clipped, so clipped is gone rather than scrollable.",
49
- expectedUiState: "As the window narrows the leaf drifts toward the wordmark and stays fully visible the whole way — it never slides beneath an icon and never gets cropped. Every icon keeps its full box, the hamburger stays entirely inside the right edge, and nothing is cut off. Report separately whether the failure was an overlap, a clipped control, or a disappearing leaf; they have different causes.",
50
- endResult: "Nothing persists. Widening back to 1280px returns the leaf to the centre, which also confirms the shift is layout-driven and not a one-way state.",
51
- },
52
- "checklist-design-ux-header-brand-mark-centring-mark-centred-at-wide-widths": {
53
- roles: ["guest"],
54
- startPage: "/products",
55
- steps: [
56
- "Load /products and maximise the window (1440px or wider).",
57
- "Compare the leaf mark's position against the horizontal centre of the page content.",
58
- "Repeat at 1920px if the display allows it.",
59
- ],
60
- expectedBehaviour: "With room to spare the two side tracks each take an equal share of the free space, which places the middle track on the row's midpoint — the mark is centred by the layout rather than by a `left: 50%` offset.",
61
- expectedUiState: "The leaf is centred in the header to the eye, lining up with the centre of the page beneath it. A mark that is visibly nudged to one side at a wide width is a DIFFERENT fault from the collision — the side tracks are no longer balanced — and should be filed as such, with the window width noted.",
62
- endResult: "No state. The centring must hold across a reload and across a soft navigation to another page.",
63
- },
64
- "checklist-design-ux-header-brand-mark-centring-mark-absent-below-md": {
65
- roles: ["guest"],
66
- startPage: "/products",
67
- steps: [
68
- "Load /products signed out.",
69
- "Set the window to 767px, then 640px, then 320px.",
70
- "At each width inspect the whole header row end to end.",
71
- "At 320px tap the hamburger.",
72
- ],
73
- expectedBehaviour: "The centred mark is hidden below md, which removes it as a layout item entirely rather than merely making it invisible — so the mobile header should be identical to how it has always rendered, with the two side tracks splitting the full width.",
74
- expectedUiState: "No centred leaf at any of the three widths. A small leaf sits immediately left of the 'LetItRip' wordmark. The action cluster is still flush against the right edge with no unexplained empty gap between it and the edge. At 320px the hamburger is fully visible, not sliced by the edge, and tapping it opens the menu.",
75
- endResult: "Nothing is written. Widening back past 768px brings the centred leaf back, confirming the hide is width-driven.",
76
- },
77
- "checklist-design-ux-header-brand-mark-centring-mark-centred-in-left-hand-mode": {
78
- roles: ["guest"],
79
- startPage: "/products",
80
- steps: [
81
- "Load /products and switch the interface to left-hand mode.",
82
- "Set the window to 1024px.",
83
- "Widen in ~32px steps to 1280px, checking the header at each step.",
84
- "Narrow to 320px and check the header once more.",
85
- ],
86
- expectedBehaviour: "Hand mode reverses the row's main axis, so the two side tracks swap ends. Each side carries its own mirrored alignment, and the middle track is deliberately hand-neutral — a centred brand mark must not move when the hands swap.",
87
- expectedUiState: "The wordmark sits flush against the RIGHT edge with no gap between it and the edge; the icon cluster sits flush against the LEFT edge with the hamburger outermost; the leaf stays centred and overlaps nothing at any step. A wordmark floating away from the right edge means a side track lost its mirrored alignment — that is a fix that only works in right-hand mode, and it is the most likely way this regresses.",
88
- endResult: "The hand-mode preference persists across a reload; the header must render the same way after it. Switching back to right-hand mode mirrors everything again with the leaf still centred.",
89
- },
90
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,85 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the design-ux/header-controls-and-messages page.
3
- * WHAT: 6 case(s), keyed by full checklist id.
4
- *
5
- * @tag domain:tester
6
- * @tag layer:seed
7
- * @tag pattern:none
8
- * @tag access:server-only
9
- * @tag consumers:seed-data/authored/index.ts
10
- * @tag sideEffects:none
11
- */
12
- export const authored = {
13
- "checklist-design-ux-header-controls-and-messages-no-help-or-tour-icon": {
14
- roles: ["guest"],
15
- startPage: "/products",
16
- steps: [
17
- "Open /products at a maximised window.",
18
- "Read every icon in the top header row, right of the logo.",
19
- "Repeat at 1024px, 768px and 320px.",
20
- ],
21
- expectedBehaviour: "The tour control was removed outright, along with the prop that fed it, so there is no width at which it can reappear.",
22
- expectedUiState: "No '?' icon anywhere in the header at any of the four widths. The right-hand cluster is search, Today's Deals (640px and up), theme toggle and hamburger — plus the signed-in icons at 1024px and up. The removed control previously sat between the theme toggle and the hamburger.",
23
- endResult: "Nothing persists; this is a pure chrome check. The hamburger must still be present and fully visible at 320px.",
24
- },
25
- "checklist-design-ux-header-controls-and-messages-tour-does-not-autostart": {
26
- roles: ["guest", "buyer"],
27
- startPage: "/",
28
- steps: [
29
- "Signed out, load /, then /products, then a product detail page.",
30
- "Wait a few seconds on each without clicking anything.",
31
- "Sign in and repeat the same three pages.",
32
- ],
33
- expectedBehaviour: "Removing the header button removed the only call to `startTour`. Nothing else should be able to begin a tour, on any route or for any role.",
34
- expectedUiState: "No tour popover, spotlight, highlight ring or step counter appears at any point, signed in or out. A tour appearing means something still calls startTour and the removal is incomplete — record which page it fired on.",
35
- endResult: "No tour state is written. Reloading any of the pages produces no tour either.",
36
- },
37
- "checklist-design-ux-header-controls-and-messages-messages-icon-visible-when-signed-in": {
38
- roles: ["buyer"],
39
- startPage: "/messages",
40
- steps: [
41
- "Sign in as any buyer.",
42
- "At a window 1024px or wider, look at the header beside the notification bell.",
43
- "Click the messages icon.",
44
- ],
45
- expectedBehaviour: "The header renders the messages control only when `siteSettings.chat.enabled` is true — and renders nothing at all when it is not, rather than a disabled icon. The flag is now on, so the control should exist and route to the inbox.",
46
- expectedUiState: "A messages/inbox icon is present beside the notification bell and carries an unread badge when there are unread messages. Clicking it navigates to /messages, which loads — not a 404 and not /unauthorized.",
47
- endResult: "Navigation only; nothing is written. Going back returns to the previous page with the icon still present.",
48
- },
49
- "checklist-design-ux-header-controls-and-messages-messages-icon-on-mobile-row": {
50
- roles: ["buyer"],
51
- startPage: "/messages",
52
- steps: [
53
- "Still signed in, narrow the window to 320px.",
54
- "Look at BOTH header rows — the main row and the secondary row beneath it.",
55
- "Tap the messages icon.",
56
- ],
57
- expectedBehaviour: "Several signed-in icons are hidden from the main row below 1024px and carried on a secondary row instead, so the control moves rather than disappearing.",
58
- expectedUiState: "The messages icon is present and fully visible in the secondary header row at 320px — not clipped at the edge and not absent. Tapping it opens /messages.",
59
- endResult: "Nothing persists. Widening back past 1024px moves the icon to the main row again.",
60
- },
61
- "checklist-design-ux-header-controls-and-messages-messages-absent-for-guests": {
62
- roles: ["guest"],
63
- startPage: "/products",
64
- steps: [
65
- "Sign out completely.",
66
- "Reload /products.",
67
- "Inspect both header rows at a desktop width and again at 320px.",
68
- ],
69
- expectedBehaviour: "A message inbox is per-user, so enabling the feature site-wide must not expose the control to visitors who have no inbox.",
70
- expectedUiState: "No messages icon in either header row at either width. The guest header shows search, deals, theme, hamburger and the sign-in affordances only.",
71
- endResult: "No state. Signing back in brings the icon back, which also confirms the gate is on the session and not on the page.",
72
- },
73
- "checklist-design-ux-header-controls-and-messages-messages-inbox-loads": {
74
- roles: ["buyer"],
75
- startPage: "/messages",
76
- steps: [
77
- "Signed in, navigate directly to /messages.",
78
- "Wait for the page to settle.",
79
- "Reload once.",
80
- ],
81
- expectedBehaviour: "The messaging feature has been dormant behind a disabled flag, so this is the first real exercise of the page. It must handle having no conversations as a normal state.",
82
- expectedUiState: "The inbox shell renders with either a list of conversations or an explicit empty state saying there are none. It must NOT be a crash, an error boundary, a redirect to /unauthorized, or a spinner that never resolves. Note the exact empty-state wording so a later run can tell 'empty' from 'failed to load'.",
83
- endResult: "Reloading shows the same state. Visiting /messages signed out should send you to sign-in rather than rendering an empty inbox.",
84
- },
85
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,407 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the design-ux/homepage-carousels page.
3
- * WHAT: 26 case(s), keyed by full checklist id.
4
- *
5
- * Written by hand, case by case, against the label each one states. There is no
6
- * generator: the authoring scripts were deleted once it was clear they were
7
- * scaffolding around work that is simply writing.
8
- *
9
- * 🛑 THE HOMEPAGE COMPOSES ~26 INDEPENDENTLY-FETCHED SECTIONS, each inside its
10
- * own boundary that renders NOTHING on failure and reports server-side. That is
11
- * deliberate — a visitor should see a homepage missing one row, not an apology —
12
- * but it means a broken section is silent. Several cases here therefore ask what
13
- * is ABSENT, which is the only way a swallowed section becomes visible.
14
- *
15
- * @tag domain:tester
16
- * @tag layer:seed
17
- * @tag pattern:none
18
- * @tag access:server-only
19
- * @tag consumers:seed-data/authored/index.ts
20
- * @tag sideEffects:none
21
- */
22
- export const authored = {
23
- "checklist-design-ux-homepage-carousels-carousel-loops": {
24
- roles: ["guest"],
25
- startPage: "/",
26
- steps: [
27
- "Open / in a private window at 1280 pixels wide.",
28
- "Watch the hero carousel through a full cycle without touching it, counting the slides.",
29
- "Keep watching past the last slide.",
30
- "Note whether it returns to the first slide or stops.",
31
- "Watch one more full cycle to check the count is the same.",
32
- ],
33
- inputs: { viewportWidth: 1280 },
34
- expectedBehaviour: "The hero advances on its own and wraps from the last slide back to the first. At most five slides are active at once, so a cycle that never repeats a slide has more active than the cap allows.",
35
- expectedUiState: "Slides advance automatically and the carousel returns to the first slide after the last. The same number of slides appears in both cycles, and that number is at most five.",
36
- endResult: "Read-only; restore the window width afterwards.",
37
- },
38
- "checklist-design-ux-homepage-carousels-carousel-no-flicker": {
39
- roles: ["guest"],
40
- startPage: "/",
41
- steps: [
42
- "Open / in a private window at 1280 pixels wide and watch the hero as it first appears.",
43
- "Watch each transition between slides for a flash of background or a jump in height.",
44
- "Hard-reload with Ctrl+Shift+R and watch the first paint again.",
45
- "Do that three more times, watching each time.",
46
- ],
47
- inputs: { viewportWidth: 1280 },
48
- expectedBehaviour: "Slides cross-fade or slide without an intermediate empty frame, and the carousel holds one height throughout so the page below never shifts. A flash on first paint is usually the first slide's image arriving after its container.",
49
- expectedUiState: "No flash of empty background between slides and none on any of the four loads. The content below the hero does not move vertically as slides change.",
50
- endResult: "Read-only; restore the window width afterwards.",
51
- },
52
- "checklist-design-ux-homepage-carousels-hero-carousel-video-plays": {
53
- roles: ["guest"],
54
- startPage: "/",
55
- steps: [
56
- "Open / in a private window at 1280 pixels wide.",
57
- "Wait for the slide whose background is a video.",
58
- "Watch whether the video plays and whether it loops.",
59
- "Look for any error text or a black rectangle where the video should be.",
60
- "Resize to 390 pixels and watch the same slide again.",
61
- ],
62
- inputs: { viewportWidth: 1280, mobileWidth: 390 },
63
- expectedBehaviour: "A video background renders through a real video element and must therefore point at a directly playable file — the image proxy that watermarks still images rejects video outright, so a video URL routed through it never plays. The poster image is a still and does go through the proxy.",
64
- expectedUiState: "The video plays and loops at both widths, with the dim overlay and slide copy readable over it. A black rectangle, a broken-media icon or an unsupported-format message are all the same failure.",
65
- endResult: "Read-only; restore the window width afterwards.",
66
- },
67
- "checklist-design-ux-homepage-carousels-carousel-pause-on-interaction": {
68
- roles: ["guest"],
69
- startPage: "/",
70
- steps: [
71
- "Open / in a private window at 1280 pixels wide and let the hero advance once on its own.",
72
- "Hover the pointer over the hero and hold it there for 15 seconds.",
73
- "Note whether the slides keep advancing.",
74
- "Move the pointer away and watch whether autoplay resumes.",
75
- "Click a slide's own control and check the carousel does not advance out from under the click.",
76
- ],
77
- inputs: { viewportWidth: 1280 },
78
- expectedBehaviour: "Autoplay pauses while the visitor is interacting and resumes afterwards. A carousel that advances mid-click moves the target the user was aiming at, which is how a hero sends someone to the wrong page.",
79
- expectedUiState: "Slides stop advancing while hovered and resume shortly after the pointer leaves. Clicking a slide control does not coincide with an advance.",
80
- endResult: "Read-only; restore the window width afterwards.",
81
- },
82
- "checklist-design-ux-homepage-carousels-carousel-arrows-work": {
83
- roles: ["guest"],
84
- startPage: "/",
85
- steps: [
86
- "Open / in a private window at 1280 pixels wide.",
87
- "Click the hero's next control and note which slide appears.",
88
- "Click it repeatedly through a full cycle back to the starting slide.",
89
- "Click the previous control and check it goes back one.",
90
- "Use any slide indicators to jump directly to a slide.",
91
- ],
92
- inputs: { viewportWidth: 1280 },
93
- expectedBehaviour: "Manual controls move exactly one slide per press and wrap in both directions. Indicators jump directly and reflect the current slide.",
94
- expectedUiState: "Next advances one slide, previous goes back one, and both wrap. The active indicator tracks the visible slide, including after an automatic advance.",
95
- endResult: "Read-only; restore the window width afterwards.",
96
- },
97
- "checklist-design-ux-homepage-carousels-hero-banner-loops": {
98
- roles: ["guest"],
99
- startPage: "/",
100
- steps: [
101
- "Open / in a private window at 1280 pixels and find any banner strip distinct from the hero carousel.",
102
- "Watch it through a full cycle and note the item count.",
103
- "Watch past the last item to see whether it wraps.",
104
- "Resize to 390 pixels and watch it again.",
105
- ],
106
- inputs: { viewportWidth: 1280, mobileWidth: 390 },
107
- expectedBehaviour: "A banner strip wraps like the hero does and keeps its cycle at both widths. A strip that wraps on desktop and stops on mobile has been re-measured on resize but not re-armed.",
108
- expectedUiState: "The strip cycles and wraps at both widths, with the same items in the same order.",
109
- endResult: "Read-only; restore the window width afterwards.",
110
- },
111
- "checklist-design-ux-homepage-carousels-sections-showcase-render": {
112
- roles: ["guest"],
113
- startPage: "/",
114
- steps: [
115
- "Open / in a private window at 1280 pixels wide.",
116
- "Find each product-showcase section and read its heading.",
117
- "Check each has cards beneath it with titles, images and a price row.",
118
- "Write down any showcase heading whose rail is empty.",
119
- "Click one card and confirm it opens that listing.",
120
- ],
121
- expectedBehaviour: "A showcase section renders its own query's results. Because each section fails silently to nothing, an empty rail under a heading is the visible half of a section whose fetch returned nothing — the heading rendering at all means the section itself did not throw.",
122
- expectedUiState: "Every showcase heading has populated cards beneath it, each with a real title, a rendered image and a price row — which for a signed-out visitor reads 'Sign in to see price' rather than an amount. A heading with an empty rail is the finding, named specifically.",
123
- expectedData: { emptyShowcaseRails: 0 },
124
- endResult: "Read-only; nothing persists.",
125
- },
126
- "checklist-design-ux-homepage-carousels-sections-promo-render": {
127
- roles: ["guest"],
128
- startPage: "/",
129
- steps: [
130
- "Open / in a private window at 1280 pixels wide.",
131
- "Find each promotional section and read its heading, copy and action buttons.",
132
- "Check each button's label is not truncated and that it leads somewhere.",
133
- "Click one and read where it lands.",
134
- "Switch to dark mode and read the same sections.",
135
- ],
136
- expectedBehaviour: "Promo sections render their configured copy and actions, and their buttons resolve. Buttons on a coloured band need the solid pairing rather than a theme-relative surface, which is a light background in every light theme.",
137
- expectedUiState: "Each promo section shows its copy and buttons with readable labels in both themes, and every button lands on a real page. An empty promo band, or a button whose label is invisible in one theme, are both failures.",
138
- endResult: "Read-only; return the site to light mode afterwards.",
139
- },
140
- "checklist-design-ux-homepage-carousels-sections-live-reserve-render": {
141
- roles: ["guest"],
142
- startPage: "/",
143
- steps: [
144
- "Open / in a private window at 1280 pixels wide.",
145
- "Find the live auctions section and read every card.",
146
- "Check each card's countdown and note whether any reads as already ended.",
147
- "Find the pre-order or reserve section and read its cards.",
148
- "Check whether any is sold out.",
149
- ],
150
- expectedBehaviour: "Both strips filter by availability before rendering. The auctions strip is the one worth checking hardest: sorted by end date ASCENDING with no lower bound, it front-loads the OLDEST end dates, so a 'Live Auctions' rail leads with the longest-dead lots in the catalogue — and an ended auction renders as a perfectly ordinary card with nothing to flag it.",
151
- expectedUiState: "Every card in the live auctions strip has a future end date and a running countdown. No card reads 'Ended'. The reserve strip holds no sold-out pre-orders.",
152
- expectedData: { endedAuctionsInLiveStrip: 0 },
153
- endResult: "Read-only; nothing persists. Read every card's countdown rather than the first — the dead ones sort to the front, but a partially-fixed filter can leave them anywhere.",
154
- },
155
- "checklist-design-ux-homepage-carousels-sections-social-proof-render": {
156
- roles: ["guest"],
157
- startPage: "/",
158
- steps: [
159
- "Open / in a private window at 1280 pixels wide.",
160
- "Find the social-proof section — reviews, ratings or testimonials.",
161
- "Read each entry for its text, its rating and its attribution.",
162
- "Check whether any attribution shows a full real name.",
163
- "Check whether any review image renders as a broken tile.",
164
- ],
165
- expectedBehaviour: "Reviewer identities are masked on the way out of the server. Review images are stored as plain URL strings — a renderer that expects objects and reads a nested property off each string gets undefined for every one and falls back to a placeholder, which is what makes every review photo on a page vanish at once.",
166
- expectedUiState: "Entries show their text and rating with masked attributions rather than full names. Any review photos render rather than showing placeholder icons.",
167
- endResult: "Read-only; nothing persists.",
168
- },
169
- "checklist-design-ux-homepage-carousels-sections-social-feed-hidden": {
170
- roles: ["guest"],
171
- startPage: "/",
172
- steps: [
173
- "Open / in a private window with no session.",
174
- "Scroll the whole page looking for an embedded social feed.",
175
- "Open the browser's View Source and search for instagram, twitter, x.com and facebook embed markers.",
176
- "Open DevTools' Network tab, reload, and look for requests to any social host.",
177
- ],
178
- expectedBehaviour: "A social feed section stays hidden until it is configured. An unconfigured embed either renders an empty framed box or loads a third-party script for every visitor and shows nothing — both are worse than the section being absent.",
179
- expectedUiState: "No social feed section is rendered, no empty framed box sits where one would be, and no request goes to a social host.",
180
- expectedData: { socialHostRequests: 0 },
181
- endResult: "Read-only; nothing persists. If a feed IS configured on this environment, record that rather than failing the case.",
182
- },
183
- "checklist-design-ux-homepage-carousels-hero-welcome-logo-sized-padded": {
184
- roles: ["guest"],
185
- startPage: "/",
186
- steps: [
187
- "Open / in a private window at 1280 pixels wide.",
188
- "Look at the welcome hero's brand mark and wordmark.",
189
- "Check the space around them against the surrounding copy.",
190
- "Resize to 390 pixels and look again.",
191
- "Switch to dark mode and look at both widths again.",
192
- ],
193
- inputs: { desktopWidth: 1280, mobileWidth: 390 },
194
- expectedBehaviour: "The logo takes its size from a named size rather than hand-written height classes, so it scales across breakpoints without each call site restating the ladder. Its gradient stops come from theme colours, so it restyles with the theme instead of needing a second asset.",
195
- expectedUiState: "The mark and wordmark are proportionate with even padding at both widths, and both are legible in both themes. A logo that is enormous on mobile or crushed against its neighbours is the failure.",
196
- endResult: "Read-only; return to light mode and restore the width.",
197
- },
198
- "checklist-design-ux-homepage-carousels-welcome-hero-no-gap": {
199
- roles: ["guest"],
200
- startPage: "/",
201
- steps: [
202
- "Open / in a private window at 1280 pixels wide.",
203
- "Look at the join between the header and the welcome hero.",
204
- "Look at the join between the hero and the section below it.",
205
- "Resize to 390 pixels and look at both joins again.",
206
- "Scroll down and back up and look once more.",
207
- ],
208
- inputs: { desktopWidth: 1280, mobileWidth: 390 },
209
- expectedBehaviour: "The hero meets the header and the following section without a stray band of page background. Such a gap usually comes from a section applying its own top margin on top of the shell's spacing.",
210
- expectedUiState: "No unexplained horizontal band above or below the hero at either width. The hero's background meets the header cleanly.",
211
- endResult: "Read-only; restore the window width afterwards.",
212
- },
213
- "checklist-design-ux-homepage-carousels-promo-banner-overlay": {
214
- roles: ["guest"],
215
- startPage: "/",
216
- steps: [
217
- "Open / in a private window at 1280 pixels wide and find a promo banner with copy over an image.",
218
- "Read every word of its heading, body and button labels.",
219
- "Resize to 390 pixels and read them again.",
220
- "Switch to dark mode and read them at both widths.",
221
- "Note any word that is hard to read against the image behind it.",
222
- ],
223
- inputs: { desktopWidth: 1280, mobileWidth: 390 },
224
- expectedBehaviour: "A dim overlay sits between the image and the copy so text stays readable whatever the image is. Without it, legibility depends on which photo an admin uploaded — which means it will fail eventually and not during testing.",
225
- expectedUiState: "All banner copy is readable at both widths in both themes, with a visible dim layer between image and text. Copy fighting a busy photograph is the failure even if it is just about readable today.",
226
- endResult: "Read-only; return to light mode and restore the width.",
227
- },
228
- "checklist-design-ux-homepage-carousels-hero-slides-have-copy": {
229
- roles: ["guest"],
230
- startPage: "/",
231
- steps: [
232
- "Open / in a private window at 1280 pixels wide.",
233
- "Watch the hero through a full cycle, reading each slide's heading, body and button.",
234
- "Write down any slide that is image-only with no copy.",
235
- "Click each slide's button and read where it lands.",
236
- "Resize to 390 pixels and check the copy is still readable and not clipped.",
237
- ],
238
- inputs: { desktopWidth: 1280, mobileWidth: 390 },
239
- expectedBehaviour: "Every active slide carries copy and a destination. An image-only slide is a large piece of screen that says nothing and goes nowhere, which is worse than one fewer slide.",
240
- expectedUiState: "Each slide has a heading, some body copy and a working button. Nothing is clipped at 390 pixels. A slide whose button leads nowhere is the failure.",
241
- expectedData: { slidesWithoutCopy: 0 },
242
- endResult: "Read-only; restore the window width afterwards.",
243
- },
244
- "checklist-design-ux-homepage-carousels-homepage-single-h1": {
245
- roles: ["guest"],
246
- startPage: "/",
247
- steps: [
248
- "Open / in a private window with no session.",
249
- "Open the browser's View Source and search for every h1 tag.",
250
- "Count them.",
251
- "Read the text of each one found.",
252
- "Repeat on /products and on a product detail page.",
253
- ],
254
- expectedBehaviour: "One top-level heading per page. Several compete for what the page is about, which weakens the signal a crawler reads and makes the document outline meaningless to a screen reader.",
255
- expectedUiState: "Exactly one h1 in the homepage source, describing the site. The same holds on /products and on a product page, where the h1 is the product's own title.",
256
- expectedData: { h1Count: 1 },
257
- endResult: "Read-only; nothing persists.",
258
- },
259
- "checklist-design-ux-homepage-carousels-homepage-section-order": {
260
- roles: ["admin", "guest"],
261
- startPage: "/",
262
- steps: [
263
- "Open / in a private window and write down every section heading in the order it appears.",
264
- "Sign in as admin@letitrip.in / TempPass123! and open the homepage sections editor.",
265
- "Write down the configured order.",
266
- "Compare the two lists.",
267
- "Move one section up in the editor and save.",
268
- "Reload the public homepage and check that section has moved, then put it back.",
269
- ],
270
- expectedBehaviour: "The rendered order follows the configured order, and a change takes effect on the public page. An order held in the renderer rather than read from configuration makes the admin control decorative.",
271
- expectedUiState: "The two lists match. After the move, the public page reflects the new position. A saved change with no visible effect is the failure.",
272
- endResult: "The section is back in its original position by the final step.",
273
- },
274
- "checklist-design-ux-homepage-carousels-homepage-no-franchise-specific-strips": {
275
- roles: ["guest"],
276
- startPage: "/",
277
- steps: [
278
- "Open / in a private window with no session.",
279
- "Read every section heading down the page.",
280
- "Write down any heading naming a specific franchise or brand rather than a category or a state.",
281
- "Check whether any such strip is empty.",
282
- ],
283
- expectedBehaviour: "Homepage strips are configured, not hard-coded to a franchise. A strip named for one brand is a strip that empties the day that brand's stock runs out — and an empty strip under a heading is exactly what a silent section failure looks like, so the two become indistinguishable.",
284
- expectedUiState: "Section headings describe categories, states or configured collections rather than naming a single franchise. No strip is empty.",
285
- endResult: "Read-only; nothing persists.",
286
- },
287
- "checklist-design-ux-homepage-carousels-section-config-actually-renders": {
288
- roles: ["admin", "guest"],
289
- startPage: "/admin/sections",
290
- steps: [
291
- "Sign in as admin@letitrip.in / TempPass123! and open the homepage sections editor.",
292
- "Open /admin/sections — the homepage sections editor; /admin is only a redirect to the dashboard — then open one section's configuration and write down every field it offers.",
293
- "Change a visible field — a heading or an item limit — and save.",
294
- "Open / in a private window and read that section.",
295
- "Check whether the change is reflected.",
296
- "Repeat for a second section of a different type, then restore both.",
297
- ],
298
- expectedBehaviour: "Every field a section's configuration offers reaches the renderer. A field that is editable and saved but never read is invisible from both ends — the admin sees it save and the page never changes.",
299
- expectedUiState: "Both changed fields are reflected on the public homepage after saving. A field that saves without changing anything is the finding, named by section and field.",
300
- endResult: "Both sections are restored to their original configuration by the final step.",
301
- },
302
- "checklist-design-ux-homepage-carousels-section-save-preserves-other-fields": {
303
- roles: ["admin"],
304
- startPage: "/admin/sections",
305
- steps: [
306
- "Sign in as admin@letitrip.in / TempPass123! and open the homepage sections editor.",
307
- "Open /admin/sections, then one section, and write down the value of EVERY field it holds.",
308
- "Change exactly one field and save.",
309
- "RELOAD the editor and read every field again.",
310
- "Compare against what was written down.",
311
- "Restore the changed field and save.",
312
- ],
313
- expectedBehaviour: "Saving one field leaves the rest untouched. A form that submits its whole object from partly-populated state overwrites every field it did not load — and the save returns a perfectly normal success, so only a reload shows it.",
314
- expectedUiState: "After the reload only the changed field differs. Every other field holds its original value. A field silently reset to its default is the failure, and it is invisible without the reload.",
315
- endResult: "The section is back to its original configuration by the final step.",
316
- },
317
- "checklist-design-ux-homepage-carousels-carousel-toggles-take-effect": {
318
- roles: ["admin", "guest"],
319
- startPage: "/admin/carousel",
320
- steps: [
321
- "Sign in as admin@letitrip.in / TempPass123! and open the carousel or homepage section settings.",
322
- "Open /admin/carousel — the flat hero-SLIDE editor, singular; /admin/carousels plural is the named-carousel list and is a different feature — and note which carousel-related toggles are offered and their current states.",
323
- "Turn one off and save.",
324
- "Open / in a private window and check whether that behaviour has stopped.",
325
- "Turn it back on, save, and check the behaviour returns.",
326
- ],
327
- expectedBehaviour: "Each toggle reaches the rendered carousel. A toggle that saves without changing behaviour is decorative, and the admin has no way to tell — the setting reads as applied.",
328
- expectedUiState: "Turning the toggle off visibly stops the behaviour on the public homepage, and turning it on restores it. No effect in either direction is the failure.",
329
- endResult: "Every toggle is back in its original state by the final step.",
330
- },
331
- "checklist-design-ux-homepage-carousels-banner-buttons-from-config": {
332
- roles: ["admin", "guest"],
333
- startPage: "/admin/carousel",
334
- steps: [
335
- "Sign in as admin@letitrip.in / TempPass123! and open the homepage section holding a banner with buttons.",
336
- "Open /admin/carousel, the flat hero-slide editor, then change a button's label to 'QA Banner buttons-from-config' and its destination to /about, and save.",
337
- "Open / in a private window and find that banner.",
338
- "Read the button's label and click it.",
339
- "Read where it lands.",
340
- "Restore the original label and destination.",
341
- ],
342
- inputs: { buttonLabel: "QA Banner buttons-from-config", destination: "/about" },
343
- expectedBehaviour: "Banner buttons are rendered from configuration rather than hard-coded, so both label and destination follow what the admin set.",
344
- expectedUiState: "The public banner shows the typed label and clicking it lands on /about. A button still showing its old label, or still going to its old destination, is the failure — and a label that updates while the destination does not is the more likely half.",
345
- endResult: "The button is restored to its original label and destination by the final step.",
346
- },
347
- "checklist-design-ux-homepage-carousels-trust-and-security-from-config": {
348
- roles: ["admin", "guest"],
349
- startPage: "/",
350
- steps: [
351
- "Open / in a private window and find the trust or security section, reading every item in it.",
352
- "Sign in as admin@letitrip.in / TempPass123! and open that section's configuration.",
353
- "Compare the configured items against what the public page showed.",
354
- "Change one item's text and save.",
355
- "Reload the public homepage and read that item.",
356
- "Restore the original text.",
357
- ],
358
- expectedBehaviour: "The trust section's items come from configuration rather than being hard-coded copy. Hard-coded trust claims cannot be corrected without a deploy, which matters more here than in most sections.",
359
- expectedUiState: "The configured items match what the public page renders, and the edited item's new text appears after saving. An unchanged public page means the section ignores its configuration.",
360
- endResult: "The item is restored by the final step.",
361
- },
362
- "checklist-design-ux-homepage-carousels-homepage-newsletter-enter-key": {
363
- roles: ["guest"],
364
- startPage: "/",
365
- steps: [
366
- "Open / in a private window and find the newsletter signup on the homepage.",
367
- "Click into its email field and press Enter with the field empty.",
368
- "Read what happens.",
369
- "Type not-an-email and press Enter.",
370
- "Read where any error appears.",
371
- "Type qa-newsletter-1@mailnull.com and press Enter without clicking the button.",
372
- ],
373
- inputs: { invalidEmail: "not-an-email", validEmail: "qa-newsletter-1@mailnull.com" },
374
- expectedBehaviour: "Enter submits the form, exactly as the button does. A field that ignores Enter loses every visitor who types an address and presses return — which is most of them.",
375
- expectedUiState: "The empty and malformed submissions produce an inline error on the field. The valid one produces a confirmation. Enter behaves identically to clicking the button, and the page does not reload.",
376
- endResult: "A newsletter subscription exists for that address. The address is numbered so a second run can increment it rather than colliding.",
377
- },
378
- "checklist-design-ux-homepage-carousels-footer-newsletter-inline-error": {
379
- roles: ["guest"],
380
- startPage: "/",
381
- steps: [
382
- "Open / in a private window and scroll to the footer's newsletter signup.",
383
- "Submit it with the field empty and read where any message appears.",
384
- "Type not-an-email and submit, then read where the message appears.",
385
- "Check whether the error is attached to the field or shown as a floating toast.",
386
- "Type qa-newsletter-2@mailnull.com and submit.",
387
- ],
388
- inputs: { invalidEmail: "not-an-email", validEmail: "qa-newsletter-2@mailnull.com" },
389
- expectedBehaviour: "The footer form reports its errors inline on the field, like every other form in the app. A toast for a field-level problem forces the user to look away from the field they need to fix, and disappears before they have.",
390
- expectedUiState: "Both invalid submissions put an error under the email field, not in a toast. The valid one confirms. The behaviour matches the homepage newsletter form.",
391
- endResult: "A subscription exists for that address. Note any difference from the homepage form — two newsletter forms behaving differently is itself the finding.",
392
- },
393
- "checklist-design-ux-homepage-carousels-homepage-faq-structured-data": {
394
- roles: ["guest"],
395
- startPage: "/",
396
- steps: [
397
- "Open / in a private window with no session.",
398
- "Find the FAQ section on the page and read its questions.",
399
- "Open the browser's View Source and search for application/ld+json.",
400
- "Read the structured data block and find the FAQ entries.",
401
- "Compare the questions in the markup against the ones rendered.",
402
- ],
403
- expectedBehaviour: "The FAQ section emits matching structured data, so the questions a crawler reads are the questions on the page. Markup describing questions that are not rendered is a mismatch a search engine will eventually penalise.",
404
- expectedUiState: "A structured-data block is present and its FAQ entries match the rendered questions and answers one for one. Markup with no visible section, or a section with no markup, are both failures.",
405
- endResult: "Read-only; nothing persists.",
406
- },
407
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;