@mohasinac/appkit 4.58.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 (556) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
  3. package/dist/_internal/server/jobs/handlers/messages.js +1 -1
  4. package/dist/_internal/shared/types/base-document.d.ts +1 -1
  5. package/dist/constants/seed-meta.d.ts +113 -0
  6. package/dist/constants/seed-meta.js +91 -0
  7. package/dist/index.d.ts +0 -131
  8. package/dist/index.js +50 -294
  9. package/dist/server.d.ts +0 -69
  10. package/dist/server.js +0 -69
  11. package/package.json +4 -2
  12. package/scripts/seed-cli.mjs +69 -1
  13. package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
  14. package/dist/features/tester/seed-data/_happy-path.js +0 -710
  15. package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
  16. package/dist/features/tester/seed-data/_money-flows.js +0 -610
  17. package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
  18. package/dist/features/tester/seed-data/authored/_types.js +0 -35
  19. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
  20. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
  21. package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
  22. package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
  23. package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
  24. package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
  25. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
  26. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
  27. package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
  28. package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
  29. package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
  30. package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
  31. package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
  32. package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
  33. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
  34. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
  35. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
  36. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
  37. package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
  38. package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
  39. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
  40. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
  41. package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
  42. package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
  43. package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
  44. package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
  45. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
  46. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
  47. package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
  48. package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
  49. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
  50. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
  51. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
  52. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
  53. package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
  54. package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
  55. package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
  56. package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
  57. package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
  58. package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
  59. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
  60. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
  61. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
  62. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
  63. package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
  64. package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
  65. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
  66. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
  67. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
  68. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
  69. package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
  70. package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
  71. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
  72. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
  73. package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
  74. package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
  75. package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
  76. package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
  77. package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
  78. package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
  79. package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
  80. package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
  81. package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
  82. package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
  83. package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
  84. package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
  85. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
  86. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
  87. package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
  88. package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
  89. package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
  90. package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
  91. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
  92. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
  93. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
  94. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
  95. package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
  96. package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
  97. package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
  98. package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
  99. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
  100. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
  101. package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
  102. package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
  103. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
  104. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
  105. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
  106. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
  107. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
  108. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
  109. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
  110. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
  111. package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
  112. package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
  113. package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
  114. package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
  115. package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
  116. package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
  117. package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
  118. package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
  119. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
  120. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
  121. package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
  122. package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
  123. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
  124. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
  125. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
  126. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
  127. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
  128. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
  129. package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
  130. package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
  131. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
  132. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
  133. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
  134. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
  135. package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
  136. package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
  137. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
  138. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
  139. package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
  140. package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
  141. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
  142. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
  143. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
  144. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
  145. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
  146. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
  147. package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
  148. package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
  149. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
  150. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
  151. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
  152. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
  153. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
  154. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
  155. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
  156. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
  157. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
  158. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
  159. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
  160. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
  161. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
  162. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
  163. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
  164. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
  165. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
  166. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
  167. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
  168. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
  169. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
  170. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
  171. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
  172. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
  173. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
  174. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
  175. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
  176. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
  177. package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
  178. package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
  179. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
  180. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
  181. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
  182. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
  183. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
  184. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
  185. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
  186. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
  187. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
  188. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
  189. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
  190. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
  191. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
  192. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
  193. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
  194. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
  195. package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
  196. package/dist/features/tester/seed-data/authored/index.js +0 -301
  197. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
  198. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
  199. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
  200. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
  201. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
  202. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
  203. package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
  204. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
  205. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
  206. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
  207. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
  208. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
  209. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
  210. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
  211. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
  212. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
  213. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
  214. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
  215. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
  216. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
  217. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
  218. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
  219. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
  220. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
  221. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
  222. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
  223. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
  224. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
  225. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
  226. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
  227. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
  228. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
  229. package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
  230. package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
  231. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
  232. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
  233. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
  234. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
  235. package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
  236. package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
  237. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
  238. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
  239. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
  240. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
  241. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
  242. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
  243. package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
  244. package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
  245. package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
  246. package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
  247. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
  248. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
  249. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
  250. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
  251. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
  252. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
  253. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
  254. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
  255. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
  256. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
  257. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
  258. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
  259. package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
  260. package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
  261. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
  262. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
  263. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
  264. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
  265. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
  266. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
  267. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
  268. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
  269. package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
  270. package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
  271. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
  272. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
  273. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
  274. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
  275. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
  276. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
  277. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
  278. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
  279. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
  280. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
  281. package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
  282. package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
  283. package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
  284. package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
  285. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
  286. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
  287. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
  288. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
  289. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
  290. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
  291. package/dist/features/tester/seed-data/index.d.ts +0 -2
  292. package/dist/features/tester/seed-data/index.js +0 -2
  293. package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
  294. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
  295. package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
  296. package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
  297. package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
  298. package/dist/features/tester/seed-data/tester-window.js +0 -66
  299. package/dist/seed/_helpers/brand-rows.d.ts +0 -35
  300. package/dist/seed/_helpers/brand-rows.js +0 -600
  301. package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
  302. package/dist/seed/_helpers/category-content-generated.js +0 -1853
  303. package/dist/seed/_helpers/category-content.d.ts +0 -68
  304. package/dist/seed/_helpers/category-content.js +0 -731
  305. package/dist/seed/_helpers/category-forest.d.ts +0 -4
  306. package/dist/seed/_helpers/category-forest.js +0 -824
  307. package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
  308. package/dist/seed/_helpers/category-images-generated.js +0 -618
  309. package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
  310. package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
  311. package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
  312. package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
  313. package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
  314. package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
  315. package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
  316. package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
  317. package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
  318. package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
  319. package/dist/seed/_helpers/category-models.d.ts +0 -12
  320. package/dist/seed/_helpers/category-models.js +0 -45
  321. package/dist/seed/_helpers/category-names.d.ts +0 -54
  322. package/dist/seed/_helpers/category-names.js +0 -118
  323. package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
  324. package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
  325. package/dist/seed/_helpers/category-parts.d.ts +0 -9
  326. package/dist/seed/_helpers/category-parts.js +0 -15022
  327. package/dist/seed/_helpers/category-tree.d.ts +0 -27
  328. package/dist/seed/_helpers/category-tree.js +0 -119
  329. package/dist/seed/_helpers/character-features.d.ts +0 -10
  330. package/dist/seed/_helpers/character-features.js +0 -120
  331. package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
  332. package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
  333. package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
  334. package/dist/seed/_helpers/franchise-rows.js +0 -189
  335. package/dist/seed/_helpers/media.d.ts +0 -67
  336. package/dist/seed/_helpers/media.js +0 -172
  337. package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
  338. package/dist/seed/_helpers/part-colours-generated.js +0 -273
  339. package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
  340. package/dist/seed/_helpers/product-search-txt.js +0 -23
  341. package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
  342. package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
  343. package/dist/seed/addresses-seed-data.d.ts +0 -2
  344. package/dist/seed/addresses-seed-data.js +0 -78
  345. package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
  346. package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
  347. package/dist/seed/bey-products-seed-data.d.ts +0 -18
  348. package/dist/seed/bey-products-seed-data.js +0 -18011
  349. package/dist/seed/beys/chunk0.d.ts +0 -17
  350. package/dist/seed/beys/chunk0.js +0 -36733
  351. package/dist/seed/beys/chunk1.d.ts +0 -17
  352. package/dist/seed/beys/chunk1.js +0 -35728
  353. package/dist/seed/beys/chunk2.d.ts +0 -17
  354. package/dist/seed/beys/chunk2.js +0 -35857
  355. package/dist/seed/beys/chunk3.d.ts +0 -17
  356. package/dist/seed/beys/chunk3.js +0 -34476
  357. package/dist/seed/beys-seed-data.d.ts +0 -18
  358. package/dist/seed/beys-seed-data.js +0 -11
  359. package/dist/seed/bids-seed-data.d.ts +0 -2
  360. package/dist/seed/bids-seed-data.js +0 -206
  361. package/dist/seed/blog-posts-seed-data.d.ts +0 -6
  362. package/dist/seed/blog-posts-seed-data.js +0 -442
  363. package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
  364. package/dist/seed/carousel-slides-seed-data.js +0 -411
  365. package/dist/seed/carousels-seed-data.d.ts +0 -2
  366. package/dist/seed/carousels-seed-data.js +0 -36
  367. package/dist/seed/cart-seed-data.d.ts +0 -2
  368. package/dist/seed/cart-seed-data.js +0 -241
  369. package/dist/seed/catalogue-seed-data.d.ts +0 -2
  370. package/dist/seed/catalogue-seed-data.js +0 -112
  371. package/dist/seed/categories-seed-data.d.ts +0 -3
  372. package/dist/seed/categories-seed-data.js +0 -816
  373. package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
  374. package/dist/seed/claimed-coupons-seed-data.js +0 -85
  375. package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
  376. package/dist/seed/coupon-usage-seed-data.js +0 -55
  377. package/dist/seed/coupons-seed-data.d.ts +0 -2
  378. package/dist/seed/coupons-seed-data.js +0 -226
  379. package/dist/seed/defaults/categories.d.ts +0 -2
  380. package/dist/seed/defaults/categories.js +0 -12
  381. package/dist/seed/defaults/faqs.d.ts +0 -2
  382. package/dist/seed/defaults/faqs.js +0 -40
  383. package/dist/seed/events-seed-data.d.ts +0 -7
  384. package/dist/seed/events-seed-data.js +0 -482
  385. package/dist/seed/factories/address.factory.d.ts +0 -21
  386. package/dist/seed/factories/address.factory.js +0 -44
  387. package/dist/seed/factories/bid.factory.d.ts +0 -15
  388. package/dist/seed/factories/bid.factory.js +0 -33
  389. package/dist/seed/factories/blog-post.factory.d.ts +0 -15
  390. package/dist/seed/factories/blog-post.factory.js +0 -22
  391. package/dist/seed/factories/carousel.factory.d.ts +0 -11
  392. package/dist/seed/factories/carousel.factory.js +0 -17
  393. package/dist/seed/factories/cart.factory.d.ts +0 -25
  394. package/dist/seed/factories/cart.factory.js +0 -35
  395. package/dist/seed/factories/category.factory.d.ts +0 -11
  396. package/dist/seed/factories/category.factory.js +0 -16
  397. package/dist/seed/factories/coupon.factory.d.ts +0 -21
  398. package/dist/seed/factories/coupon.factory.js +0 -43
  399. package/dist/seed/factories/faq.factory.d.ts +0 -10
  400. package/dist/seed/factories/faq.factory.js +0 -15
  401. package/dist/seed/factories/notification.factory.d.ts +0 -18
  402. package/dist/seed/factories/notification.factory.js +0 -39
  403. package/dist/seed/factories/order.factory.d.ts +0 -20
  404. package/dist/seed/factories/order.factory.js +0 -20
  405. package/dist/seed/factories/payout.factory.d.ts +0 -21
  406. package/dist/seed/factories/payout.factory.js +0 -38
  407. package/dist/seed/factories/product.factory.d.ts +0 -27
  408. package/dist/seed/factories/product.factory.js +0 -80
  409. package/dist/seed/factories/review.factory.d.ts +0 -14
  410. package/dist/seed/factories/review.factory.js +0 -52
  411. package/dist/seed/factories/session.factory.d.ts +0 -15
  412. package/dist/seed/factories/session.factory.js +0 -31
  413. package/dist/seed/factories/store.factory.d.ts +0 -23
  414. package/dist/seed/factories/store.factory.js +0 -47
  415. package/dist/seed/factories/user.factory.d.ts +0 -19
  416. package/dist/seed/factories/user.factory.js +0 -56
  417. package/dist/seed/faq-seed-data.d.ts +0 -18
  418. package/dist/seed/faq-seed-data.js +0 -1956
  419. package/dist/seed/firestore-indexes.d.ts +0 -12
  420. package/dist/seed/firestore-indexes.js +0 -31
  421. package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
  422. package/dist/seed/grouped-listings-seed-data.js +0 -283
  423. package/dist/seed/history-seed-data.d.ts +0 -12
  424. package/dist/seed/history-seed-data.js +0 -70
  425. package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
  426. package/dist/seed/homepage-sections-seed-data.js +0 -1034
  427. package/dist/seed/index.d.ts +0 -100
  428. package/dist/seed/index.js +0 -115
  429. package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
  430. package/dist/seed/lottery-entries-seed-data.js +0 -108
  431. package/dist/seed/manifest.d.ts +0 -16
  432. package/dist/seed/manifest.js +0 -235
  433. package/dist/seed/media-assets-seed-data.d.ts +0 -22
  434. package/dist/seed/media-assets-seed-data.js +0 -5593
  435. package/dist/seed/model-composition-seed-data.d.ts +0 -15
  436. package/dist/seed/model-composition-seed-data.js +0 -9032
  437. package/dist/seed/notifications-seed-data.d.ts +0 -2
  438. package/dist/seed/notifications-seed-data.js +0 -606
  439. package/dist/seed/offers-seed-data.d.ts +0 -2
  440. package/dist/seed/offers-seed-data.js +0 -398
  441. package/dist/seed/orders-seed-data.d.ts +0 -2
  442. package/dist/seed/orders-seed-data.js +0 -845
  443. package/dist/seed/part-glossary/chunk0.d.ts +0 -9
  444. package/dist/seed/part-glossary/chunk0.js +0 -35448
  445. package/dist/seed/part-glossary/chunk1.d.ts +0 -9
  446. package/dist/seed/part-glossary/chunk1.js +0 -40494
  447. package/dist/seed/part-glossary/chunk2.d.ts +0 -9
  448. package/dist/seed/part-glossary/chunk2.js +0 -51242
  449. package/dist/seed/part-glossary/chunk3.d.ts +0 -9
  450. package/dist/seed/part-glossary/chunk3.js +0 -53337
  451. package/dist/seed/part-glossary/chunk4.d.ts +0 -9
  452. package/dist/seed/part-glossary/chunk4.js +0 -51454
  453. package/dist/seed/part-glossary-seed-data.d.ts +0 -15
  454. package/dist/seed/part-glossary-seed-data.js +0 -25
  455. package/dist/seed/payouts-seed-data.d.ts +0 -2
  456. package/dist/seed/payouts-seed-data.js +0 -302
  457. package/dist/seed/product-features-seed-data.d.ts +0 -3
  458. package/dist/seed/product-features-seed-data.js +0 -366
  459. package/dist/seed/products-art-seed-data.d.ts +0 -2
  460. package/dist/seed/products-art-seed-data.js +0 -289
  461. package/dist/seed/products-auctions-seed-data.d.ts +0 -2
  462. package/dist/seed/products-auctions-seed-data.js +0 -475
  463. package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
  464. package/dist/seed/products-beyblade-x-seed-data.js +0 -476
  465. package/dist/seed/products-catalogue/chunk0.d.ts +0 -12
  466. package/dist/seed/products-catalogue/chunk0.js +0 -7262
  467. package/dist/seed/products-catalogue/chunk1.d.ts +0 -12
  468. package/dist/seed/products-catalogue/chunk1.js +0 -7290
  469. package/dist/seed/products-catalogue/chunk10.d.ts +0 -12
  470. package/dist/seed/products-catalogue/chunk10.js +0 -7290
  471. package/dist/seed/products-catalogue/chunk11.d.ts +0 -12
  472. package/dist/seed/products-catalogue/chunk11.js +0 -7005
  473. package/dist/seed/products-catalogue/chunk12.d.ts +0 -12
  474. package/dist/seed/products-catalogue/chunk12.js +0 -7002
  475. package/dist/seed/products-catalogue/chunk13.d.ts +0 -12
  476. package/dist/seed/products-catalogue/chunk13.js +0 -7002
  477. package/dist/seed/products-catalogue/chunk14.d.ts +0 -12
  478. package/dist/seed/products-catalogue/chunk14.js +0 -7002
  479. package/dist/seed/products-catalogue/chunk15.d.ts +0 -12
  480. package/dist/seed/products-catalogue/chunk15.js +0 -7002
  481. package/dist/seed/products-catalogue/chunk16.d.ts +0 -12
  482. package/dist/seed/products-catalogue/chunk16.js +0 -7002
  483. package/dist/seed/products-catalogue/chunk17.d.ts +0 -12
  484. package/dist/seed/products-catalogue/chunk17.js +0 -7002
  485. package/dist/seed/products-catalogue/chunk18.d.ts +0 -12
  486. package/dist/seed/products-catalogue/chunk18.js +0 -4398
  487. package/dist/seed/products-catalogue/chunk2.d.ts +0 -12
  488. package/dist/seed/products-catalogue/chunk2.js +0 -7268
  489. package/dist/seed/products-catalogue/chunk3.d.ts +0 -12
  490. package/dist/seed/products-catalogue/chunk3.js +0 -7264
  491. package/dist/seed/products-catalogue/chunk4.d.ts +0 -12
  492. package/dist/seed/products-catalogue/chunk4.js +0 -7268
  493. package/dist/seed/products-catalogue/chunk5.d.ts +0 -12
  494. package/dist/seed/products-catalogue/chunk5.js +0 -7258
  495. package/dist/seed/products-catalogue/chunk6.d.ts +0 -12
  496. package/dist/seed/products-catalogue/chunk6.js +0 -7268
  497. package/dist/seed/products-catalogue/chunk7.d.ts +0 -12
  498. package/dist/seed/products-catalogue/chunk7.js +0 -7311
  499. package/dist/seed/products-catalogue/chunk8.d.ts +0 -12
  500. package/dist/seed/products-catalogue/chunk8.js +0 -7304
  501. package/dist/seed/products-catalogue/chunk9.d.ts +0 -12
  502. package/dist/seed/products-catalogue/chunk9.js +0 -7309
  503. package/dist/seed/products-catalogue-seed-data.d.ts +0 -2
  504. package/dist/seed/products-catalogue-seed-data.js +0 -60
  505. package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
  506. package/dist/seed/products-classifieds-seed-data.js +0 -435
  507. package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
  508. package/dist/seed/products-digital-codes-seed-data.js +0 -395
  509. package/dist/seed/products-live-items-seed-data.d.ts +0 -7
  510. package/dist/seed/products-live-items-seed-data.js +0 -269
  511. package/dist/seed/products-preorders-seed-data.d.ts +0 -2
  512. package/dist/seed/products-preorders-seed-data.js +0 -360
  513. package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
  514. package/dist/seed/products-prize-draws-seed-data.js +0 -427
  515. package/dist/seed/products-spares-seed-data.d.ts +0 -2
  516. package/dist/seed/products-spares-seed-data.js +0 -368
  517. package/dist/seed/products-standard-seed-data.d.ts +0 -2
  518. package/dist/seed/products-standard-seed-data.js +0 -632
  519. package/dist/seed/products-stickers-seed-data.d.ts +0 -2
  520. package/dist/seed/products-stickers-seed-data.js +0 -319
  521. package/dist/seed/reviews-seed-data.d.ts +0 -1
  522. package/dist/seed/reviews-seed-data.js +0 -185
  523. package/dist/seed/runner.d.ts +0 -2
  524. package/dist/seed/runner.js +0 -125
  525. package/dist/seed/scammers-seed-data.d.ts +0 -2
  526. package/dist/seed/scammers-seed-data.js +0 -235
  527. package/dist/seed/seed-market-config.d.ts +0 -48
  528. package/dist/seed/seed-market-config.js +0 -199
  529. package/dist/seed/seed-purpose.d.ts +0 -299
  530. package/dist/seed/seed-purpose.js +0 -440
  531. package/dist/seed/sessions-seed-data.d.ts +0 -3
  532. package/dist/seed/sessions-seed-data.js +0 -116
  533. package/dist/seed/shipments-seed-data.d.ts +0 -5
  534. package/dist/seed/shipments-seed-data.js +0 -185
  535. package/dist/seed/site-settings-seed-data.d.ts +0 -2
  536. package/dist/seed/site-settings-seed-data.js +0 -1069
  537. package/dist/seed/store-addresses-seed-data.d.ts +0 -18
  538. package/dist/seed/store-addresses-seed-data.js +0 -71
  539. package/dist/seed/store-extensions-seed-data.d.ts +0 -11
  540. package/dist/seed/store-extensions-seed-data.js +0 -292
  541. package/dist/seed/stores-seed-data.d.ts +0 -6
  542. package/dist/seed/stores-seed-data.js +0 -242
  543. package/dist/seed/support-tickets-seed-data.d.ts +0 -16
  544. package/dist/seed/support-tickets-seed-data.js +0 -239
  545. package/dist/seed/tax-codes-seed-data.d.ts +0 -34
  546. package/dist/seed/tax-codes-seed-data.js +0 -100
  547. package/dist/seed/test-data-ttl.d.ts +0 -29
  548. package/dist/seed/test-data-ttl.js +0 -31
  549. package/dist/seed/test-utils.d.ts +0 -49
  550. package/dist/seed/test-utils.js +0 -110
  551. package/dist/seed/types.d.ts +0 -89
  552. package/dist/seed/types.js +0 -15
  553. package/dist/seed/users-seed-data.d.ts +0 -2
  554. package/dist/seed/users-seed-data.js +0 -597
  555. package/dist/seed/wishlists-seed-data.d.ts +0 -12
  556. package/dist/seed/wishlists-seed-data.js +0 -54
@@ -1,191 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the design-ux/carousel-arrow-bounds page.
3
- * WHAT: 12 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
- * Every carousel in the app shares one implementation, so the last two cases
10
- * exist to prove that sharing is real: a fix that lands on the homepage rail and
11
- * not on the related-items rail means there are two implementations.
12
- *
13
- * @tag domain:tester
14
- * @tag layer:seed
15
- * @tag pattern:none
16
- * @tag access:server-only
17
- * @tag consumers:seed-data/authored/index.ts
18
- * @tag sideEffects:none
19
- */
20
- export const authored = {
21
- "checklist-design-ux-carousel-arrow-bounds-arrows-never-cover-cards": {
22
- roles: ["guest"],
23
- startPage: "/",
24
- steps: [
25
- "Open / in a private window at 1280 pixels wide. πŸ›‘ EVERY STEP BELOW MEANS THE CARD CAROUSELS β€” 'Featured Products', 'Live Auctions', 'Shop by Category', 'Reserve Before It Ships' β€” and NOT the full-bleed hero slider at the top of the page, which is a different component with its own arrows and its own behaviour. Reading the hero instead is the easiest way to record a finding about the wrong thing.",
26
- "Scroll to a horizontal card carousel.",
27
- "Look at the left and right arrows and what sits under each.",
28
- "Read the title and the price row (signed out that row reads 'Sign in to see price') of the first and last visible cards.",
29
- "Try to click the first card's title without hitting an arrow.",
30
- ],
31
- inputs: { viewportWidth: 1280 },
32
- expectedBehaviour: "Arrows sit in reserved gutters beside the rail rather than floating over the first and last cards. An arrow on top of a card takes the click meant for the card, which reads as a card that does not open.",
33
- expectedUiState: "Neither arrow overlaps a card's image, title or price row. The first card is clickable across its whole area. An arrow covering the corner of the end card is the failure even when the card still opens from elsewhere.",
34
- endResult: "Read-only; restore the window width afterwards.",
35
- },
36
- "checklist-design-ux-carousel-arrow-bounds-arrows-no-overlap-mid-scroll": {
37
- roles: ["guest"],
38
- startPage: "/",
39
- steps: [
40
- "Open / in a private window at 1280 pixels wide and scroll to the 'Featured Products' carousel.",
41
- "Click the right arrow once and watch the cards move.",
42
- "While the cards are still moving, look at where the arrows are.",
43
- "Let it settle and look again.",
44
- "Click through to the middle of the rail and look once more.",
45
- ],
46
- expectedBehaviour: "The arrows are fixed to the rail's gutters and do not move with its content, so a card sliding past never ends up under one β€” mid-scroll is the moment a card is most likely to be beneath an arrow.",
47
- expectedUiState: "Arrows stay in place while the cards move and no card passes under them. In the middle of the rail neither arrow overlaps a card.",
48
- endResult: "Read-only; restore the window width afterwards.",
49
- },
50
- "checklist-design-ux-carousel-arrow-bounds-no-arrows-on-mobile": {
51
- roles: ["guest"],
52
- startPage: "/",
53
- steps: [
54
- "Resize the browser window to 390 pixels wide and open / in a private window.",
55
- "Scroll to the 'Featured Products' carousel and look for arrows.",
56
- "Swipe the rail and check it moves.",
57
- "Resize to 1280 pixels and look for the arrows again.",
58
- ],
59
- inputs: { mobileWidth: 390, desktopWidth: 1280 },
60
- expectedBehaviour: "Arrows are a pointer affordance and are hidden on touch widths, where swiping is the interaction. Keeping them costs horizontal space the cards need on the narrowest screens.",
61
- expectedUiState: "No arrows at 390 pixels, and the rail still swipes. Arrows return at 1280. Arrows present at 390 are the failure.",
62
- endResult: "Read-only; restore the window width afterwards.",
63
- },
64
- "checklist-design-ux-carousel-arrow-bounds-mobile-card-not-clipped": {
65
- roles: ["guest"],
66
- startPage: "/",
67
- steps: [
68
- "Resize the browser window to 390 pixels wide and open / in a private window.",
69
- "Scroll to the 'Featured Products' carousel and look at the first card's left edge.",
70
- "Look at the last card's right edge after swiping to the end.",
71
- "Read each visible card's title and price row in full.",
72
- "Try to scroll the page sideways rather than the rail.",
73
- ],
74
- inputs: { mobileWidth: 390 },
75
- expectedBehaviour: "Cards are fully readable at the rail's ends, with the container's own padding preserved. A rail that bleeds into the page's edge padding makes the whole page scroll sideways instead of the rail.",
76
- expectedUiState: "No card is clipped at either end. Every visible title and price row reads in full. The PAGE does not scroll sideways β€” only the rail does.",
77
- endResult: "Read-only; restore the window width afterwards.",
78
- },
79
- "checklist-design-ux-carousel-arrow-bounds-mobile-swipe-and-snap": {
80
- roles: ["guest"],
81
- startPage: "/",
82
- steps: [
83
- "Resize the browser window to 390 pixels wide and open / in a private window.",
84
- "Scroll to the 'Featured Products' carousel and swipe it left with a short flick.",
85
- "Watch where it comes to rest.",
86
- "Swipe again with a long flick and watch where it rests.",
87
- "Swipe back to the start.",
88
- ],
89
- inputs: { mobileWidth: 390 },
90
- expectedBehaviour: "The rail snaps so a card edge aligns to the viewport rather than resting mid-card. Both a short and a long flick end aligned β€” a snap that only works for one gesture length is not a snap.",
91
- expectedUiState: "After both flicks the rail rests with a card edge aligned, not with a card half off screen. Swiping back reaches the true start with the first card fully visible.",
92
- endResult: "Read-only; restore the window width afterwards.",
93
- },
94
- "checklist-design-ux-carousel-arrow-bounds-no-white-fade-smear": {
95
- roles: ["guest"],
96
- startPage: "/",
97
- steps: [
98
- "Open / in a private window in light mode at 1280 pixels and scroll to the 'Featured Products' carousel.",
99
- "Look at the left and right edges of the rail for a fade or gradient overlay.",
100
- "Switch to dark mode and look at the same edges.",
101
- "Scroll the rail to the middle and look again in dark mode.",
102
- ],
103
- expectedBehaviour: "Any edge fade is drawn from a theme-relative surface so it matches the page behind it. A fade hard-coded to white sits as a pale smear over a dark page β€” visible as a haze rather than as a gradient into the background.",
104
- expectedUiState: "The rail's edges blend into the page background in both themes. In dark mode there is no light smear or milky band at either edge.",
105
- endResult: "Read-only; return the site to light mode and restore the width.",
106
- },
107
- "checklist-design-ux-carousel-arrow-bounds-two-row-tall-arrows": {
108
- roles: ["guest"],
109
- startPage: "/",
110
- steps: [
111
- "Open / in a private window at 1280 pixels and find a carousel whose cards are TALLER than the Featured Products row β€” 'Live Auctions' carries a countdown and bid line, so its cards run taller than a plain product card. If no section on the page wraps to two rows, say so and test the tallest single row instead rather than hunting for a layout that may not exist.",
112
- "Look at the arrows' vertical position relative to the rail.",
113
- "Check whether they are centred on the full height or on one row.",
114
- "Click each and check it scrolls the whole rail.",
115
- ],
116
- expectedBehaviour: "Arrows centre on the rail's full height whatever the card height, so a taller card variant does not leave them stranded near the top.",
117
- expectedUiState: "Both arrows are vertically centred against the full rail height and both scroll the entire rail. Arrows aligned to the first row of a two-row rail are the failure.",
118
- endResult: "Read-only; restore the window width afterwards.",
119
- },
120
- "checklist-design-ux-carousel-arrow-bounds-arrows-dark-mode": {
121
- roles: ["guest"],
122
- startPage: "/",
123
- steps: [
124
- "Open / in a private window and switch to dark mode.",
125
- "Scroll to the 'Featured Products' carousel and look at both arrows.",
126
- "Hover each and look at it while hovering.",
127
- "Compare their visibility against light mode.",
128
- ],
129
- expectedBehaviour: "Arrow fill and glyph both come from tokens that invert, so the control is visible in both themes at rest and on hover. A named palette tint as the hover fill is the same near-white in both, and swallows the glyph in dark.",
130
- expectedUiState: "Both arrows are clearly visible in dark mode and stay visible while hovered. An arrow that disappears under its own hover fill is the failure.",
131
- endResult: "Read-only; return the site to light mode afterwards.",
132
- },
133
- "checklist-design-ux-carousel-arrow-bounds-arrow-end-state-no-jump": {
134
- roles: ["guest"],
135
- startPage: "/",
136
- steps: [
137
- "Open / in a private window at 1280 pixels and scroll to the 'Featured Products' carousel.",
138
- "Look at the left arrow while the rail is at its start.",
139
- "Click right repeatedly to the end of the rail.",
140
- "Look at the right arrow at the end and at the rail's position.",
141
- "Watch whether the cards shift when an arrow changes state.",
142
- ],
143
- expectedBehaviour: "An arrow that cannot act is disabled in place rather than removed. Removing it frees its gutter, the rail widens, and every card jumps sideways at exactly the moment the user is reaching for one.",
144
- expectedUiState: "At the start the left arrow is present and visibly disabled, not absent. At the end the right arrow is the same. The cards do not shift horizontally when either changes state.",
145
- endResult: "Read-only; restore the window width afterwards.",
146
- },
147
- "checklist-design-ux-carousel-arrow-bounds-resize-across-breakpoint": {
148
- roles: ["guest"],
149
- startPage: "/",
150
- steps: [
151
- "Open / in a private window at 1280 pixels and scroll to the 'Featured Products' carousel.",
152
- "Slowly resize the window down through 1024, 768 and 640 to 390 pixels, watching the rail throughout.",
153
- "Note the width at which the arrows disappear.",
154
- "Slowly resize back up to 1280, watching the rail.",
155
- "Check no card is left clipped or overlapped at any width.",
156
- ],
157
- expectedBehaviour: "The rail re-measures as the viewport changes, so arrows appear and disappear at the breakpoint and the card widths keep up. A rail that measures once on mount is correct at the width it loaded at and wrong at every other.",
158
- expectedUiState: "Arrows appear and disappear cleanly at the breakpoint in both directions. At no intermediate width is a card clipped, overlapped by an arrow, or left at a stale width. The page never scrolls sideways.",
159
- endResult: "Read-only; restore the window width afterwards.",
160
- },
161
- "checklist-design-ux-carousel-arrow-bounds-related-carousels-same-behaviour": {
162
- roles: ["guest"],
163
- startPage: "/products/product-beyblade-burst-valkyrie",
164
- steps: [
165
- "Open /products/product-beyblade-burst-valkyrie in a private window at 1280 pixels.",
166
- "Scroll to the related-items carousels below the main content.",
167
- "Check the arrows against the same points as the homepage: no card overlap, disabled at the ends, centred vertically.",
168
- "Resize to 390 pixels and check the arrows disappear and the rail swipes.",
169
- "Compare everything against how the homepage carousel behaved.",
170
- ],
171
- inputs: { desktopWidth: 1280, mobileWidth: 390 },
172
- expectedBehaviour: "Related-items rails use the same carousel as the homepage, so every behaviour above holds here without a separate fix. A difference means there are two implementations and a fix has only landed on one.",
173
- expectedUiState: "Arrow bounds, disabled end states, vertical centring and mobile behaviour all match the homepage carousel. Any difference is the finding, named specifically.",
174
- endResult: "Read-only; restore the window width afterwards.",
175
- },
176
- "checklist-design-ux-carousel-arrow-bounds-category-page-carousels-same-behaviour": {
177
- roles: ["guest"],
178
- startPage: "/categories/category-beyblade-burst",
179
- steps: [
180
- "Open /categories/category-beyblade-burst in a private window at 1280 pixels.",
181
- "Scroll to the grouped-listings carousel.",
182
- "Check the arrows against the same points as the homepage rail.",
183
- "Open /brands/brand-beyblade and check its carousel the same way.",
184
- "Resize both to 390 pixels and check the arrows disappear and the rails swipe.",
185
- ],
186
- inputs: { desktopWidth: 1280, mobileWidth: 390 },
187
- expectedBehaviour: "Category and brand pages use the same carousel again. These two are worth checking separately because the category and brand tab components are deliberate near-duplicates, and a duplicate is exactly where a shared component gets replaced by a local copy.",
188
- expectedUiState: "Both pages' carousels behave identically to the homepage rail at both widths. A difference between the category page and the brand page is itself a finding, since they should be the same component scoped differently.",
189
- endResult: "Read-only; restore the window width afterwards.",
190
- },
191
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,158 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the design-ux/dashboard-layout page.
3
- * WHAT: 9 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 three portal shells are deliberate near-duplicates β€” different domain
10
- * semantics over one structural shell β€” so the three collapsible cases are the
11
- * same check run three times rather than one case with a loop. That is the point:
12
- * a shared shell is only shared if all three actually behave alike.
13
- *
14
- * @tag domain:tester
15
- * @tag layer:seed
16
- * @tag pattern:none
17
- * @tag access:server-only
18
- * @tag consumers:seed-data/authored/index.ts
19
- * @tag sideEffects:none
20
- */
21
- export const authored = {
22
- "checklist-design-ux-dashboard-layout-collapsible-admin": {
23
- roles: ["admin"],
24
- startPage: "/admin",
25
- steps: [
26
- "Sign in as admin@letitrip.in / TempPass123!.",
27
- "Open /admin β€” it redirects to the admin dashboard, which is expected β€” and read the sidebar's group headings. There are TWELVE, and exactly one, 'Guides', ships defaultOpen:false, so a group already closed on arrival is the fixture rather than a collapse you caused.",
28
- "Collapse one expanded group and read what remains.",
29
- "Expand a collapsed group and read its contents.",
30
- "Navigate to another admin page using the sidebar.",
31
- "Read whether the collapsed group is still collapsed.",
32
- "Reload the page and read it again.",
33
- ],
34
- expectedBehaviour: "Groups collapse and expand, and the state survives navigation within the portal. Whether it survives a full reload is the second question β€” a preference held only in memory resets on refresh, which for a sidebar the user has arranged is a small but repeated annoyance.",
35
- expectedUiState: "Collapsing hides that group's entries and leaves its heading. The state holds across sidebar navigation. Record in the comment whether it also survives the reload.",
36
- endResult: "Re-expand anything collapsed, so later cases that count sidebar entries are not reading a collapsed sidebar.",
37
- },
38
- "checklist-design-ux-dashboard-layout-collapsible-store": {
39
- roles: ["seller"],
40
- startPage: "/store",
41
- steps: [
42
- "Sign in as tyson@beybladearena.in / TempPass123!.",
43
- "Open /store and read the sidebar's group headings. There are SIX β€” Overview, Listings, Orders & Reviews, Finance, Store, Guides β€” and the last, 'Guides', ships defaultOpen:false.",
44
- "Collapse one expanded group and read what remains.",
45
- "Expand a collapsed group and read its contents.",
46
- "Navigate to another store page using the sidebar and read the state.",
47
- "Reload the page and read it again.",
48
- ],
49
- expectedBehaviour: "The store sidebar behaves the same way as the admin one, because both wrap one structural shell. A difference between them means the behaviour lives in the wrapper rather than the shell.",
50
- expectedUiState: "Collapse and expand work, and the state survives sidebar navigation β€” the same as /admin. Any divergence from the admin sidebar's behaviour is the finding.",
51
- endResult: "Re-expand anything collapsed.",
52
- },
53
- "checklist-design-ux-dashboard-layout-collapsible-user": {
54
- roles: ["buyer"],
55
- startPage: "/user",
56
- steps: [
57
- "Sign in as rehan.sheikh@gmail.com / TempPass123!.",
58
- "Open /user and read the sidebar's group headings. There are FIVE, and none ships collapsed β€” so on this portal every group should be open on arrival, which makes an already-closed one a real finding here rather than the fixture.",
59
- "Collapse one expanded group and read what remains.",
60
- "Expand a collapsed group and read its contents.",
61
- "Navigate to another user page using the sidebar and read the state.",
62
- "Reload the page and read it again.",
63
- ],
64
- expectedBehaviour: "The user sidebar behaves like the other two. This portal's layout reads no session server-side, so its shell is prerendered and hydrated client-side β€” a difference in collapse behaviour here would point at that difference rather than at the shell.",
65
- expectedUiState: "Collapse and expand work and survive sidebar navigation, matching /admin and /store. Any divergence is the finding.",
66
- endResult: "Re-expand anything collapsed.",
67
- },
68
- "checklist-design-ux-dashboard-layout-mobile-table-cards": {
69
- roles: ["admin"],
70
- startPage: "/admin/products",
71
- steps: [
72
- "Sign in as admin@letitrip.in / TempPass123!.",
73
- "Open /admin/products at a desktop width of 1280 pixels and read how rows are presented.",
74
- "Resize the window to 390 pixels wide.",
75
- "Read how the same rows are presented now.",
76
- "Try to scroll the page sideways.",
77
- "Open a row's action menu and read its entries.",
78
- ],
79
- inputs: { desktopWidth: 1280, mobileWidth: 390 },
80
- expectedBehaviour: "A table becomes cards on a phone rather than a sideways-scrolling table, because columns off the right edge are columns nobody reads. Every row action stays reachable in the card form.",
81
- expectedUiState: "At 1280 the rows are a table. At 390 they are cards, each carrying the row's key fields. The page does not scroll sideways. The row action menu opens and is fully on screen.",
82
- endResult: "Read-only; restore the window width afterwards.",
83
- },
84
- "checklist-design-ux-dashboard-layout-view-mode-persist": {
85
- roles: ["admin"],
86
- startPage: "/admin/products",
87
- steps: [
88
- "Sign in as admin@letitrip.in / TempPass123!.",
89
- "Open /admin/products and read which view mode is active.",
90
- "Switch to the other view mode.",
91
- "Read the URL.",
92
- "Reload the page and read the view mode before touching anything.",
93
- "Navigate to /admin/orders and back to /admin/products, then read the view mode.",
94
- ],
95
- expectedBehaviour: "View mode lives in the URL alongside the other listing state, so the server's first paint and the control agree and the choice is shareable. It is one of the few keys that does NOT reset the page number when it changes β€” switching how rows are drawn is not a new query.",
96
- expectedUiState: "The URL carries the view mode. After the reload the chosen mode is active on first paint, not the default that then switches. Changing it does not send the list back to page one.",
97
- endResult: "Read-only; nothing persists beyond the URL.",
98
- },
99
- "checklist-design-ux-dashboard-layout-list-view-default": {
100
- roles: ["admin"],
101
- startPage: "/admin/orders",
102
- steps: [
103
- "Sign in as admin@letitrip.in / TempPass123!.",
104
- "Open /admin/orders with no query parameters and read which view mode is active.",
105
- "Open /admin/products the same way and read its default.",
106
- "Open /admin/users the same way and read its default.",
107
- "Compare the three.",
108
- ],
109
- expectedBehaviour: "Listing pages open in the same default view. Three admin listings opening in three different modes means each is choosing its own default rather than taking the shared one.",
110
- expectedUiState: "All three open in the same view mode with no parameter in the URL. A page that differs is the finding, named specifically.",
111
- endResult: "Read-only; nothing persists.",
112
- },
113
- "checklist-design-ux-dashboard-layout-row-table-click-consistency": {
114
- roles: ["admin"],
115
- startPage: "/admin/orders",
116
- steps: [
117
- "Sign in as admin@letitrip.in / TempPass123!.",
118
- "Open /admin/orders in table view and click a row anywhere except on a control.",
119
- "Read what opens.",
120
- "Go back, switch to card view, and click a card the same way.",
121
- "Read what opens and compare with the table result.",
122
- "Repeat both on /admin/products.",
123
- ],
124
- expectedBehaviour: "A row and its card open the same thing, because both derive their click target from the same row href. A card that only offers a menu while its table row opens a drawer means the two renderers have diverged.",
125
- expectedUiState: "Clicking a row and clicking its card open the same record in the same way, on both listings. A card that is inert while its row is clickable is the failure.",
126
- endResult: "Read-only; close whatever opens without saving.",
127
- },
128
- "checklist-design-ux-dashboard-layout-list-card-row-actions": {
129
- roles: ["admin"],
130
- startPage: "/admin/products",
131
- steps: [
132
- "Sign in as admin@letitrip.in / TempPass123!.",
133
- "Open /admin/products in table view and open a row's action menu.",
134
- "Write down every action it offers.",
135
- "Switch to card view and open the same record's action menu.",
136
- "Write down every action it offers and compare the two lists.",
137
- "Check whether either list offers a way to VIEW the record, not only to mutate it.",
138
- ],
139
- expectedBehaviour: "Both renderers offer the same actions from the same preset. A menu of pure mutations is a dead end: it lets an admin act on a record they were never able to read, which is why a detail affordance has to be among them.",
140
- expectedUiState: "The two menus offer the same actions. At least one is a view or edit action rather than all being mutations. Destructive entries are visually marked as such.",
141
- endResult: "Read-only; close the menus without choosing anything.",
142
- },
143
- "checklist-design-ux-dashboard-layout-listing-toolbar-consistency": {
144
- roles: ["admin"],
145
- startPage: "/admin/products",
146
- steps: [
147
- "Sign in as admin@letitrip.in / TempPass123!.",
148
- "Open /admin/products and write down every control in its toolbar, left to right.",
149
- "Open /admin/orders and write down the same.",
150
- "Open /admin/users and write down the same.",
151
- "Compare the three orderings.",
152
- "Look for any toolbar with an empty gap where a control would sit.",
153
- ],
154
- expectedBehaviour: "Every listing draws its toolbar from one shared scaffold, so search, filters, sort and view mode appear in the same order everywhere. A listing whose controls are in a different order is one that has been hand-wired.",
155
- expectedUiState: "All three toolbars present the same controls in the same order. None shows an empty gap where a removed control used to be β€” a collapsed control must collapse its layout too.",
156
- endResult: "Read-only; nothing persists.",
157
- },
158
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,82 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the design-ux/feature-badge-picker page.
3
- * WHAT: 5 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-feature-badge-picker-features-are-searchable": {
14
- roles: ["seller"],
15
- startPage: "/store/products",
16
- steps: [
17
- "Sign in as the seller who owns the store and open /store/products.",
18
- "Open any product for editing.",
19
- "Scroll to the 'Feature badges' section of the form.",
20
- "Open the control and type a few letters of a badge name.",
21
- ],
22
- expectedBehaviour: "Anything over five options is a searchable picker in this codebase. The control loads the platform badges eligible for this listing type plus the store's own, and filters them client-side as you type.",
23
- expectedUiState: "'Feature badges' is a SINGLE control that opens a searchable list with a text input β€” not a two-column grid of bordered checkbox tiles, which is what it was. Typing narrows the visible options, and selected badges appear as removable chips on the control.",
24
- endResult: "Closing and reopening the picker preserves the current selection. Nothing is saved until the product form itself is saved.",
25
- },
26
- "checklist-design-ux-feature-badge-picker-features-search-matches-description": {
27
- roles: ["seller"],
28
- startPage: "/store/products",
29
- steps: [
30
- "With the badge picker open, note a badge whose description contains a word that is NOT in its label β€” 'Sealed' is described as 'Factory wrap intact and never opened'.",
31
- "Type that description-only word into the picker's search box, e.g. 'factory'.",
32
- ],
33
- inputs: { "picker search": "factory" },
34
- expectedBehaviour: "Each option's description is folded into its label text specifically so it remains searchable after the conversion. In the old grid the description was visible on every tile, so it was findable by eye; in a filtered list it would be unreachable unless it is part of what is matched.",
35
- expectedUiState: "The badge whose DESCRIPTION contains the typed word is listed, even though its name does not contain it. Searching a word in neither the label nor any description shows the no-results message instead.",
36
- endResult: "Clearing the search box restores the full list. No selection has changed.",
37
- },
38
- "checklist-design-ux-feature-badge-picker-features-scope-is-visible": {
39
- roles: ["seller"],
40
- startPage: "/store/products",
41
- steps: [
42
- "Open the badge picker on a product belonging to a store that has at least one custom badge of its own.",
43
- "Read the full text of several options in the list.",
44
- "Select one platform badge and one store badge, then close the picker and read the two chips.",
45
- ],
46
- expectedBehaviour: "The grid separated the two scopes under 'Platform features' and 'Store custom features' headings. A flat searchable list has no headings, so the scope is carried in each option's own text β€” which also means it survives into the selected chip, where the grid's headings never reached.",
47
- expectedUiState: "Every option ends with '(platform)' or '(your store)'. The two selected chips each still show which scope they came from. An option with no scope marker at all is a regression.",
48
- endResult: "The distinction persists after saving and reopening the product β€” it is derived from the badge's own scope, not from selection order.",
49
- },
50
- "checklist-design-ux-feature-badge-picker-features-respects-the-cap": {
51
- roles: ["seller"],
52
- startPage: "/store/products",
53
- steps: [
54
- "Open the badge picker and read the 'Selected: N of 24' line above it.",
55
- "Select badges one at a time until N reaches the stated maximum.",
56
- "Try to select one more badge.",
57
- ],
58
- expectedBehaviour: "The ceiling is applied to the incoming selection rather than by disabling unticked rows, because a multi-select has no per-row disabled state. Selections beyond the cap are refused, keeping the earliest ones β€” so the badge that fails is the one just clicked, which is what a user expects.",
59
- expectedUiState: "The counter stops at the maximum and does not go above it. Attempting to add one more does not increase the count and does not silently replace an existing selection. The counter line always matches the number of chips shown.",
60
- expectedData: { "selected badge count": "never exceeds the stated maximum" },
61
- endResult: "Saving the product stores at most the maximum number of badges. Reopening the product shows the same set.",
62
- },
63
- "checklist-design-ux-feature-badge-picker-features-inline-create": {
64
- roles: ["seller"],
65
- startPage: "/store/products",
66
- steps: [
67
- "Open the badge picker on one of your own products.",
68
- "Choose 'Create a badge for my store'.",
69
- "Enter a label such as 'QA inline badge' and leave the icon as its default.",
70
- "Submit the create form.",
71
- "Close the picker, reload the page, and reopen the picker.",
72
- ],
73
- inputs: { "Badge label": "QA inline badge", Icon: "star" },
74
- expectedBehaviour: "Creating posts to the store-scope features route, which sets the owning store server-side rather than trusting the request body, and scopes the new badge to the listing type being edited. The picker's option list is refetched afterwards so the badge becomes a real option rather than a chip with nothing behind it.",
75
- expectedUiState: "The create drawer closes on success and the new badge appears immediately as a SELECTED chip. Reopening the picker lists it among the options, marked '(your store)'. After a full page reload it is still listed and still selected on the product.",
76
- expectedData: {
77
- "new badge scope": "store",
78
- "new badge owner": "the signed-in seller's store",
79
- },
80
- endResult: "The badge persists as a store-scope feature and is available on that store's other products too. Remove it from the store's feature settings afterwards so it does not accumulate.",
81
- },
82
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,106 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the design-ux/footer-theme page.
3
- * WHAT: 6 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
- * πŸ›‘ EVERY CASE HERE IS READ IN BOTH THEMES. A near-white tint is the same fill
10
- * in every theme, so white-on-white shows up in exactly one of them β€” reading
11
- * only the light theme passes the whole page while half of it is invisible.
12
- *
13
- * @tag domain:tester
14
- * @tag layer:seed
15
- * @tag pattern:none
16
- * @tag access:server-only
17
- * @tag consumers:seed-data/authored/index.ts
18
- * @tag sideEffects:none
19
- */
20
- export const authored = {
21
- "checklist-design-ux-footer-theme-footer-dark-mode": {
22
- roles: ["guest"],
23
- startPage: "/",
24
- steps: [
25
- "Open / in a private window and switch the site to dark mode.",
26
- "Scroll to the footer.",
27
- "Read every link, heading and paragraph in it.",
28
- "Hover each link and read it while hovering.",
29
- "Write down anything that becomes unreadable at any point.",
30
- ],
31
- expectedBehaviour: "Footer colours come from theme tokens that invert, so text stays readable in both themes and a hover fill stays behind its own ink. A named palette tint such as zinc-50 is the same near-white in every theme, so under inverted ink it is white-on-white on hover only.",
32
- expectedUiState: "Every link, heading and paragraph is legible against the dark footer. Hovering any link keeps its text readable β€” a link that vanishes on hover is the specific failure, and it is invisible until the pointer is actually over it.",
33
- expectedData: { unreadableElementsOnHover: 0 },
34
- endResult: "Read-only; return the site to light mode afterwards.",
35
- },
36
- "checklist-design-ux-footer-theme-footer-github-icon": {
37
- roles: ["guest"],
38
- startPage: "/",
39
- steps: [
40
- "Open / in a private window and scroll to the footer.",
41
- "Find the GitHub icon and look at its size relative to the other social icon. There are exactly TWO β€” WhatsApp and GitHub, both inline SVGs at w-4 h-4 in src/constants/footer.tsx β€” so 'the other social icons' means one neighbour, and any size difference between two identically-classed SVGs is a real finding rather than a judgement call.",
42
- "Hover it and read any tooltip or label. Its aria-label reads 'View the developer’s GitHub profile' β€” with a straight apostrophe in source β€” so a screen-reader label that differs, or is missing, is the finding.",
43
- "Click it and read where it lands.",
44
- "Switch to dark mode and look at the icon again.",
45
- ],
46
- expectedBehaviour: "The icon is a real sized glyph inside its control, not a text character. A text character cannot be sized by any width or height utility β€” it renders at the platform font fallback, which is exactly what makes one icon in a row look wrong next to its neighbours.",
47
- expectedUiState: "The GitHub icon is the same size as the other social icons in the row and is visible in both themes. It opens the real profile rather than a 404 or the GitHub homepage.",
48
- endResult: "Read-only; return the site to light mode afterwards.",
49
- },
50
- "checklist-design-ux-footer-theme-footer-text-weight-readable": {
51
- roles: ["guest"],
52
- startPage: "/",
53
- steps: [
54
- "Open / in a private window at a desktop width and scroll to the footer.",
55
- "Read the body text in each column at normal viewing distance.",
56
- "Compare the link text's weight and contrast against the paragraph text around it.",
57
- "Resize to 390 pixels wide and read the same text.",
58
- ],
59
- expectedBehaviour: "Footer text is legible rather than technically present. A muted token applied to text that is already small enough to be secondary compounds into text nobody reads.",
60
- expectedUiState: "Body text in every column is readable without leaning in, at both widths. Links are distinguishable from surrounding paragraph text by more than colour alone.",
61
- endResult: "Read-only; restore the window width afterwards.",
62
- },
63
- "checklist-design-ux-footer-theme-footer-column-headings-stand-out": {
64
- roles: ["guest"],
65
- startPage: "/",
66
- steps: [
67
- "Open / in a private window and scroll to the footer.",
68
- "Read each column heading and the links beneath it.",
69
- "Compare each heading's weight and size against its own links.",
70
- "Switch to dark mode and compare them again.",
71
- ],
72
- expectedBehaviour: "A column heading is visually distinct from its links, so the footer reads as grouped columns rather than one long list. The distinction has to survive both themes, since it usually comes from a colour token.",
73
- expectedUiState: "Every heading is clearly heavier or larger than the links under it, in both themes. A heading indistinguishable from its own links is the failure β€” the grouping is then invisible and the footer reads as noise.",
74
- endResult: "Read-only; return the site to light mode afterwards.",
75
- },
76
- "checklist-design-ux-footer-theme-footer-weight-both-themes": {
77
- roles: ["guest"],
78
- startPage: "/",
79
- steps: [
80
- "Open / in a private window in light mode and scroll to the footer.",
81
- "Write down how the footer reads: heading weights, link contrast, divider visibility.",
82
- "Switch to dark mode without navigating.",
83
- "Read the same three things again and compare.",
84
- "Look specifically at any divider or border between columns or rows.",
85
- ],
86
- expectedBehaviour: "The footer's visual hierarchy is the same in both themes because every colour is a token that inverts. A divider declared once under the root and never inverted is invisible in one of the two.",
87
- expectedUiState: "Headings, links and dividers all read equivalently in both themes. A divider visible in light and gone in dark β€” or the reverse β€” is the failure this case is looking for.",
88
- endResult: "Read-only; return the site to light mode afterwards.",
89
- },
90
- "checklist-design-ux-footer-theme-footer-mobile-accordions": {
91
- roles: ["guest"],
92
- startPage: "/",
93
- steps: [
94
- "Resize the browser window to 390 pixels wide and open / in a private window.",
95
- "Scroll to the footer.",
96
- "Read how the columns are presented.",
97
- "Expand one section and read its links.",
98
- "Collapse it and expand another.",
99
- "Try to scroll the page sideways.",
100
- ],
101
- inputs: { mobileWidth: 390 },
102
- expectedBehaviour: "On a phone the columns collapse to accordions so the footer does not become a screen-and-a-half of links. Collapsing must remove the section's height rather than hide it by transform, or the page keeps the full footer's length with nothing in it.",
103
- expectedUiState: "Sections are collapsed by default and expand on tap, showing their links. A collapsed section takes no vertical space. The page does not scroll sideways.",
104
- endResult: "Read-only; restore the window width afterwards.",
105
- },
106
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;