@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.
- package/dist/.build-stamp.json +4 -4
- package/dist/_internal/server/features/beys/data.d.ts +44 -0
- package/dist/_internal/server/features/beys/data.js +107 -0
- package/dist/_internal/server/features/beys/og.d.ts +42 -0
- package/dist/_internal/server/features/beys/og.js +89 -0
- package/dist/_internal/server/features/parts/data.js +3 -2
- package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/messages.js +1 -1
- package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
- package/dist/_internal/shared/actions/action-registry.js +86 -0
- package/dist/_internal/shared/types/base-document.d.ts +1 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.js +1 -0
- package/dist/constants/api-endpoints.d.ts +12 -0
- package/dist/constants/api-endpoints.js +10 -0
- package/dist/constants/field-names.d.ts +46 -0
- package/dist/constants/field-names.js +46 -0
- package/dist/constants/seed-meta.d.ts +113 -0
- package/dist/constants/seed-meta.js +91 -0
- package/dist/features/admin/components/AdminBeysView.d.ts +27 -0
- package/dist/features/admin/components/AdminBeysView.js +178 -0
- package/dist/features/admin/components/AdminPartsView.d.ts +27 -0
- package/dist/features/admin/components/AdminPartsView.js +160 -0
- package/dist/features/admin/components/OwnerQuickActions.d.ts +19 -2
- package/dist/features/admin/components/OwnerQuickActions.js +31 -3
- package/dist/features/admin/components/RecordOwnerQuickActions.d.ts +31 -0
- package/dist/features/admin/components/RecordOwnerQuickActions.js +128 -0
- package/dist/features/admin/components/ReferenceRecordEditor.d.ts +45 -0
- package/dist/features/admin/components/ReferenceRecordEditor.js +153 -0
- package/dist/features/admin/schemas/firestore.d.ts +1 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +15 -2
- package/dist/features/auth/permissions/constants.d.ts +1 -1
- package/dist/features/auth/permissions/constants.js +12 -1
- package/dist/features/beys/components/BeyDetailPageView.d.ts +50 -0
- package/dist/features/beys/components/BeyDetailPageView.js +98 -0
- package/dist/features/beys/schemas/firestore.d.ts +417 -0
- package/dist/features/beys/schemas/firestore.js +65 -0
- package/dist/features/blog/components/BlogFeaturedCard.js +15 -2
- package/dist/features/blog/components/BlogPostView.js +2 -2
- package/dist/features/categories/components/BrandDetailPageView.js +4 -2
- package/dist/features/categories/components/BundleDetailView.js +2 -2
- package/dist/features/categories/components/CategoryDetailPageView.js +36 -3
- package/dist/features/categories/components/CategoryGrid.js +24 -2
- package/dist/features/categories/components/FranchiseDetailPageView.js +2 -3
- package/dist/features/events/components/EventCard.js +15 -2
- package/dist/features/grouped/components/GroupedListingDetailView.js +2 -3
- package/dist/features/homepage/components/CustomCardsSection.js +67 -50
- package/dist/features/homepage/components/ShopByCategorySection.js +23 -10
- package/dist/features/homepage/schemas/index.d.ts +10 -10
- package/dist/features/parts/components/PartDetailPageView.js +5 -3
- package/dist/features/parts/components/PartsSearchBox.js +79 -4
- package/dist/features/parts/schemas/admin-edit.d.ts +81 -0
- package/dist/features/parts/schemas/admin-edit.js +89 -0
- package/dist/features/parts/schemas/firestore.d.ts +2 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +15 -2
- package/dist/features/products/components/MarketplaceBundleCard.js +15 -2
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +15 -2
- package/dist/features/products/components/ProductGrid.js +18 -2
- package/dist/features/products/schemas/firestore.d.ts +18 -0
- package/dist/features/seller/components/CategoryInlineSelect.d.ts +10 -1
- package/dist/features/seller/components/CategoryInlineSelect.js +53 -5
- package/dist/features/seller/components/SellerProductShell.d.ts +39 -0
- package/dist/features/seller/components/SellerProductShell.js +31 -3
- package/dist/index.d.ts +6 -129
- package/dist/index.js +61 -292
- package/dist/next/routing/route-map.d.ts +13 -1
- package/dist/next/routing/route-map.js +37 -0
- package/dist/schemas/registry.d.ts +6 -6
- package/dist/server.d.ts +2 -69
- package/dist/server.js +8 -69
- package/dist/styles.css +468 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/PosterCard.d.ts +99 -0
- package/dist/ui/components/PosterCard.js +109 -0
- package/dist/ui/components/PosterCard.style.css +466 -0
- package/dist/ui/components/index.style.css +1 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +2 -0
- package/package.json +4 -2
- package/scripts/seed-cli.mjs +177 -2
- package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
- package/dist/features/tester/seed-data/_happy-path.js +0 -710
- package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
- package/dist/features/tester/seed-data/_money-flows.js +0 -610
- package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
- package/dist/features/tester/seed-data/authored/_types.js +0 -35
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
- package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
- package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
- package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
- package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
- package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
- package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
- package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
- package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
- package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
- package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
- package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
- package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
- package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
- package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
- package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
- package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
- package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
- package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
- package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
- package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
- package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
- package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
- package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
- package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/index.js +0 -301
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
- package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
- package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
- package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
- package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
- package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
- package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
- package/dist/features/tester/seed-data/index.d.ts +0 -2
- package/dist/features/tester/seed-data/index.js +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
- package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
- package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
- package/dist/features/tester/seed-data/tester-window.js +0 -66
- package/dist/seed/_helpers/brand-rows.d.ts +0 -35
- package/dist/seed/_helpers/brand-rows.js +0 -600
- package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
- package/dist/seed/_helpers/category-content-generated.js +0 -1853
- package/dist/seed/_helpers/category-content.d.ts +0 -68
- package/dist/seed/_helpers/category-content.js +0 -731
- package/dist/seed/_helpers/category-forest.d.ts +0 -4
- package/dist/seed/_helpers/category-forest.js +0 -824
- package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
- package/dist/seed/_helpers/category-images-generated.js +0 -618
- package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
- package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
- package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
- package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
- package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
- package/dist/seed/_helpers/category-models.d.ts +0 -12
- package/dist/seed/_helpers/category-models.js +0 -45
- package/dist/seed/_helpers/category-names.d.ts +0 -54
- package/dist/seed/_helpers/category-names.js +0 -118
- package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
- package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
- package/dist/seed/_helpers/category-parts.d.ts +0 -9
- package/dist/seed/_helpers/category-parts.js +0 -15022
- package/dist/seed/_helpers/category-tree.d.ts +0 -27
- package/dist/seed/_helpers/category-tree.js +0 -119
- package/dist/seed/_helpers/character-features.d.ts +0 -10
- package/dist/seed/_helpers/character-features.js +0 -120
- package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
- package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
- package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
- package/dist/seed/_helpers/franchise-rows.js +0 -189
- package/dist/seed/_helpers/media.d.ts +0 -67
- package/dist/seed/_helpers/media.js +0 -172
- package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
- package/dist/seed/_helpers/part-colours-generated.js +0 -273
- package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
- package/dist/seed/_helpers/product-search-txt.js +0 -23
- package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
- package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
- package/dist/seed/addresses-seed-data.d.ts +0 -2
- package/dist/seed/addresses-seed-data.js +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
- package/dist/seed/bids-seed-data.d.ts +0 -2
- package/dist/seed/bids-seed-data.js +0 -206
- package/dist/seed/blog-posts-seed-data.d.ts +0 -6
- package/dist/seed/blog-posts-seed-data.js +0 -442
- package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
- package/dist/seed/carousel-slides-seed-data.js +0 -411
- package/dist/seed/carousels-seed-data.d.ts +0 -2
- package/dist/seed/carousels-seed-data.js +0 -36
- package/dist/seed/cart-seed-data.d.ts +0 -2
- package/dist/seed/cart-seed-data.js +0 -241
- package/dist/seed/catalogue-seed-data.d.ts +0 -2
- package/dist/seed/catalogue-seed-data.js +0 -112
- package/dist/seed/categories-seed-data.d.ts +0 -3
- package/dist/seed/categories-seed-data.js +0 -816
- package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
- package/dist/seed/claimed-coupons-seed-data.js +0 -85
- package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
- package/dist/seed/coupon-usage-seed-data.js +0 -55
- package/dist/seed/coupons-seed-data.d.ts +0 -2
- package/dist/seed/coupons-seed-data.js +0 -226
- package/dist/seed/defaults/categories.d.ts +0 -2
- package/dist/seed/defaults/categories.js +0 -12
- package/dist/seed/defaults/faqs.d.ts +0 -2
- package/dist/seed/defaults/faqs.js +0 -40
- package/dist/seed/events-seed-data.d.ts +0 -7
- package/dist/seed/events-seed-data.js +0 -482
- package/dist/seed/factories/address.factory.d.ts +0 -21
- package/dist/seed/factories/address.factory.js +0 -44
- package/dist/seed/factories/bid.factory.d.ts +0 -15
- package/dist/seed/factories/bid.factory.js +0 -33
- package/dist/seed/factories/blog-post.factory.d.ts +0 -15
- package/dist/seed/factories/blog-post.factory.js +0 -22
- package/dist/seed/factories/carousel.factory.d.ts +0 -11
- package/dist/seed/factories/carousel.factory.js +0 -17
- package/dist/seed/factories/cart.factory.d.ts +0 -25
- package/dist/seed/factories/cart.factory.js +0 -35
- package/dist/seed/factories/category.factory.d.ts +0 -11
- package/dist/seed/factories/category.factory.js +0 -16
- package/dist/seed/factories/coupon.factory.d.ts +0 -21
- package/dist/seed/factories/coupon.factory.js +0 -43
- package/dist/seed/factories/faq.factory.d.ts +0 -10
- package/dist/seed/factories/faq.factory.js +0 -15
- package/dist/seed/factories/notification.factory.d.ts +0 -18
- package/dist/seed/factories/notification.factory.js +0 -39
- package/dist/seed/factories/order.factory.d.ts +0 -20
- package/dist/seed/factories/order.factory.js +0 -20
- package/dist/seed/factories/payout.factory.d.ts +0 -21
- package/dist/seed/factories/payout.factory.js +0 -38
- package/dist/seed/factories/product.factory.d.ts +0 -27
- package/dist/seed/factories/product.factory.js +0 -80
- package/dist/seed/factories/review.factory.d.ts +0 -14
- package/dist/seed/factories/review.factory.js +0 -52
- package/dist/seed/factories/session.factory.d.ts +0 -15
- package/dist/seed/factories/session.factory.js +0 -31
- package/dist/seed/factories/store.factory.d.ts +0 -23
- package/dist/seed/factories/store.factory.js +0 -47
- package/dist/seed/factories/user.factory.d.ts +0 -19
- package/dist/seed/factories/user.factory.js +0 -56
- package/dist/seed/faq-seed-data.d.ts +0 -18
- package/dist/seed/faq-seed-data.js +0 -1956
- package/dist/seed/firestore-indexes.d.ts +0 -12
- package/dist/seed/firestore-indexes.js +0 -31
- package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
- package/dist/seed/grouped-listings-seed-data.js +0 -283
- package/dist/seed/history-seed-data.d.ts +0 -12
- package/dist/seed/history-seed-data.js +0 -70
- package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
- package/dist/seed/homepage-sections-seed-data.js +0 -1018
- package/dist/seed/index.d.ts +0 -98
- package/dist/seed/index.js +0 -112
- package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
- package/dist/seed/lottery-entries-seed-data.js +0 -108
- package/dist/seed/manifest.d.ts +0 -16
- package/dist/seed/manifest.js +0 -235
- package/dist/seed/media-assets-seed-data.d.ts +0 -22
- package/dist/seed/media-assets-seed-data.js +0 -5593
- package/dist/seed/model-composition-seed-data.d.ts +0 -15
- package/dist/seed/model-composition-seed-data.js +0 -9032
- package/dist/seed/notifications-seed-data.d.ts +0 -2
- package/dist/seed/notifications-seed-data.js +0 -606
- package/dist/seed/offers-seed-data.d.ts +0 -2
- package/dist/seed/offers-seed-data.js +0 -398
- package/dist/seed/orders-seed-data.d.ts +0 -2
- package/dist/seed/orders-seed-data.js +0 -845
- package/dist/seed/part-glossary/chunk0.d.ts +0 -9
- package/dist/seed/part-glossary/chunk0.js +0 -35448
- package/dist/seed/part-glossary/chunk1.d.ts +0 -9
- package/dist/seed/part-glossary/chunk1.js +0 -40494
- package/dist/seed/part-glossary/chunk2.d.ts +0 -9
- package/dist/seed/part-glossary/chunk2.js +0 -51242
- package/dist/seed/part-glossary/chunk3.d.ts +0 -9
- package/dist/seed/part-glossary/chunk3.js +0 -53337
- package/dist/seed/part-glossary/chunk4.d.ts +0 -9
- package/dist/seed/part-glossary/chunk4.js +0 -51454
- package/dist/seed/part-glossary-seed-data.d.ts +0 -15
- package/dist/seed/part-glossary-seed-data.js +0 -25
- package/dist/seed/payouts-seed-data.d.ts +0 -2
- package/dist/seed/payouts-seed-data.js +0 -302
- package/dist/seed/product-features-seed-data.d.ts +0 -3
- package/dist/seed/product-features-seed-data.js +0 -366
- package/dist/seed/products-art-seed-data.d.ts +0 -2
- package/dist/seed/products-art-seed-data.js +0 -289
- package/dist/seed/products-auctions-seed-data.d.ts +0 -2
- package/dist/seed/products-auctions-seed-data.js +0 -475
- package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
- package/dist/seed/products-beyblade-x-seed-data.js +0 -476
- package/dist/seed/products-catalogue-seed-data.d.ts +0 -22
- package/dist/seed/products-catalogue-seed-data.js +0 -86384
- package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
- package/dist/seed/products-classifieds-seed-data.js +0 -435
- package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
- package/dist/seed/products-digital-codes-seed-data.js +0 -395
- package/dist/seed/products-live-items-seed-data.d.ts +0 -7
- package/dist/seed/products-live-items-seed-data.js +0 -269
- package/dist/seed/products-preorders-seed-data.d.ts +0 -2
- package/dist/seed/products-preorders-seed-data.js +0 -360
- package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
- package/dist/seed/products-prize-draws-seed-data.js +0 -427
- package/dist/seed/products-spares-seed-data.d.ts +0 -2
- package/dist/seed/products-spares-seed-data.js +0 -368
- package/dist/seed/products-standard-seed-data.d.ts +0 -2
- package/dist/seed/products-standard-seed-data.js +0 -632
- package/dist/seed/products-stickers-seed-data.d.ts +0 -2
- package/dist/seed/products-stickers-seed-data.js +0 -319
- package/dist/seed/reviews-seed-data.d.ts +0 -1
- package/dist/seed/reviews-seed-data.js +0 -185
- package/dist/seed/runner.d.ts +0 -2
- package/dist/seed/runner.js +0 -125
- package/dist/seed/scammers-seed-data.d.ts +0 -2
- package/dist/seed/scammers-seed-data.js +0 -235
- package/dist/seed/seed-market-config.d.ts +0 -48
- package/dist/seed/seed-market-config.js +0 -199
- package/dist/seed/seed-purpose.d.ts +0 -299
- package/dist/seed/seed-purpose.js +0 -431
- package/dist/seed/sessions-seed-data.d.ts +0 -3
- package/dist/seed/sessions-seed-data.js +0 -116
- package/dist/seed/shipments-seed-data.d.ts +0 -5
- package/dist/seed/shipments-seed-data.js +0 -185
- package/dist/seed/site-settings-seed-data.d.ts +0 -2
- package/dist/seed/site-settings-seed-data.js +0 -1069
- package/dist/seed/store-addresses-seed-data.d.ts +0 -18
- package/dist/seed/store-addresses-seed-data.js +0 -71
- package/dist/seed/store-extensions-seed-data.d.ts +0 -11
- package/dist/seed/store-extensions-seed-data.js +0 -292
- package/dist/seed/stores-seed-data.d.ts +0 -6
- package/dist/seed/stores-seed-data.js +0 -242
- package/dist/seed/support-tickets-seed-data.d.ts +0 -16
- package/dist/seed/support-tickets-seed-data.js +0 -239
- package/dist/seed/tax-codes-seed-data.d.ts +0 -34
- package/dist/seed/tax-codes-seed-data.js +0 -100
- package/dist/seed/test-data-ttl.d.ts +0 -29
- package/dist/seed/test-data-ttl.js +0 -31
- package/dist/seed/test-utils.d.ts +0 -49
- package/dist/seed/test-utils.js +0 -110
- package/dist/seed/types.d.ts +0 -89
- package/dist/seed/types.js +0 -15
- package/dist/seed/users-seed-data.d.ts +0 -2
- package/dist/seed/users-seed-data.js +0 -597
- package/dist/seed/wishlists-seed-data.d.ts +0 -12
- package/dist/seed/wishlists-seed-data.js +0 -54
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Authored six-part procedures for the cta-layout/editor-action-bar page.
|
|
3
|
-
* WHAT: 1 case, 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
|
-
* 🛑 /store/products/new OPENS THE QUICK FORM, NOT THIS BAR (corrected
|
|
10
|
-
* 2026-09-29). SellerProductShell picks formMode 'quick' whenever mode is
|
|
11
|
-
* create and the listing type is standard, and QuickProductForm's action row
|
|
12
|
-
* has TWO buttons — 'Publish' and 'Save Draft' — plus a ghost
|
|
13
|
-
* 'Show all fields (advanced)' beneath them. No Discard, no Preview, and no
|
|
14
|
-
* four-button bar to overflow. The case has to take the advanced switch first.
|
|
15
|
-
*
|
|
16
|
-
* 🛑 AND THE FULL FORM'S BAR HOLDS THREE, NOT FOUR. FormShell's ActionRow is
|
|
17
|
-
* Discard as the `anchor` (a ghost button, ALWAYS present rather than appearing
|
|
18
|
-
* when the form goes dirty), then Save draft, then Publish. Preview is not in
|
|
19
|
-
* this row at all — it lives in the FormShell TOP bar, and only when a preview
|
|
20
|
-
* slot is supplied. A case counting four buttons in one row is counting a
|
|
21
|
-
* button that is somewhere else.
|
|
22
|
-
*
|
|
23
|
-
* The labels differ between the generic shell and this editor, so the case asks
|
|
24
|
-
* the tester to RECORD what they read rather than asserting one spelling:
|
|
25
|
-
* FORM_ACTION_META says 'Discard' / 'Save Draft' / 'Publish', while
|
|
26
|
-
* SellerProductShell renders 'Save as draft & finish later' and
|
|
27
|
-
* 'Publish {listingTypeLabel}'. Either way the layout question — does anything
|
|
28
|
-
* run off the right edge at 375px — is unchanged, and that is the case.
|
|
29
|
-
*
|
|
30
|
-
* @tag domain:tester
|
|
31
|
-
* @tag layer:seed
|
|
32
|
-
* @tag pattern:none
|
|
33
|
-
* @tag access:server-only
|
|
34
|
-
* @tag consumers:seed-data/authored/index.ts
|
|
35
|
-
* @tag sideEffects:none
|
|
36
|
-
*/
|
|
37
|
-
export const authored = {
|
|
38
|
-
"checklist-cta-layout-editor-action-bar-four-buttons-wrap-not-overflow": {
|
|
39
|
-
roles: ["seller"],
|
|
40
|
-
startPage: "/store/products/new",
|
|
41
|
-
steps: [
|
|
42
|
-
"Resize the browser window to 375 pixels wide.",
|
|
43
|
-
"Sign in as tyson@beybladearena.in / TempPass123!.",
|
|
44
|
-
"Open /store/products/new and read its action row. This is the QUICK form: expect two buttons, Publish and Save Draft, and a ghost link reading 'Show all fields (advanced)'.",
|
|
45
|
-
"Click 'Show all fields (advanced)' to reach the full editor.",
|
|
46
|
-
"Type 'QA Product editor-action-bar' in the Product Name field.",
|
|
47
|
-
"Read the action bar and write down every button in it, in order, with its exact label.",
|
|
48
|
-
"Try to scroll the page sideways.",
|
|
49
|
-
"Read the right edge of the bar for any button that is partly off screen, and the left edge for Discard — it is anchored there rather than sitting beside the other two.",
|
|
50
|
-
],
|
|
51
|
-
inputs: {
|
|
52
|
-
viewportWidth: 375,
|
|
53
|
-
title: "QA Product editor-action-bar",
|
|
54
|
-
quickFormButtons: 2,
|
|
55
|
-
fullFormButtons: 3,
|
|
56
|
-
},
|
|
57
|
-
expectedBehaviour: "Actions that cannot fit one row wrap onto a second. They used to be non-shrinking children of a non-wrapping row, which does not overflow gracefully — it simply runs off the right edge, taking the last button with it. Discard is the row's anchor rather than a third sibling, because a flat justify-between row with three children opened the gap between Save draft and Publish instead of beside Discard.",
|
|
58
|
-
expectedUiState: "Every button in the bar is fully visible, wrapping onto a second line as needed. Nothing is cut off at the right edge and the page does not scroll sideways at all. Expect THREE in the full editor — a Discard anchored left, a save and a publish — and do not count Preview: it is in the top bar, not this row, and only when a preview slot is supplied. Record the exact labels you read; they differ between the generic shell and this editor.",
|
|
59
|
-
expectedData: { quickFormButtonCount: 2, fullFormButtonCount: 3, horizontalScroll: false },
|
|
60
|
-
endResult: "Leave the editor without saving, so no draft product is created. Restore the window width afterwards.",
|
|
61
|
-
},
|
|
62
|
-
};
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Authored six-part procedures for the cta-layout/navbar-ctas checklist page.
|
|
3
|
-
* WHAT: 8 case(s), keyed by full checklist id.
|
|
4
|
-
*
|
|
5
|
-
* The header is mounted once in a persistent shell and does NOT re-mount on
|
|
6
|
-
* client-side navigation. Everything below follows from that: a badge cannot
|
|
7
|
-
* correct itself by re-mounting, a signed-in state cannot appear by reloading,
|
|
8
|
-
* and an active-section marker has to be derived from the current path rather
|
|
9
|
-
* than set once on first render.
|
|
10
|
-
*
|
|
11
|
-
* 🛑 CLEARING THE ANNOUNCEMENT DOES NOT REMOVE THE BAR (corrected 2026-09-29).
|
|
12
|
-
* MarketplaceHomepageView reads
|
|
13
|
-
* announcementBar.message?.trim() || SECTION_COPY.announcementFallback
|
|
14
|
-
* and gates on `announcementBar.enabled ?? true`. So an empty message falls back
|
|
15
|
-
* to 'Free shipping on eligible orders — shop the latest arrivals.'
|
|
16
|
-
* and the bar stays. Removing it means turning OFF 'Show announcement bar'. The
|
|
17
|
-
* last case told the tester to clear the message and check the bar left the
|
|
18
|
-
* homepage, which would have reported correct fallback behaviour as a defect.
|
|
19
|
-
*
|
|
20
|
-
* The seed ships enabled:true with a real message, so no setup toggle is needed,
|
|
21
|
-
* and the ONLY surface that renders it is the homepage.
|
|
22
|
-
*
|
|
23
|
-
* Verified fixed before asserting: the editor writes announcementBar.message,
|
|
24
|
-
* which is the key the renderer reads — the historical bug wrote `text`, a key
|
|
25
|
-
* nothing has ever read, so every announcement saved and none appeared. A pass
|
|
26
|
-
* is the expected result here.
|
|
27
|
-
*
|
|
28
|
-
* @tag domain:tester
|
|
29
|
-
* @tag layer:seed
|
|
30
|
-
* @tag pattern:none
|
|
31
|
-
* @tag access:server-only
|
|
32
|
-
* @tag consumers:seed-data/authored/index.ts
|
|
33
|
-
* @tag sideEffects:none
|
|
34
|
-
*/
|
|
35
|
-
export const authored = {
|
|
36
|
-
"checklist-cta-layout-navbar-ctas-header-ctas-all-navigate": {
|
|
37
|
-
roles: ["guest"],
|
|
38
|
-
startPage: "/",
|
|
39
|
-
steps: [
|
|
40
|
-
"Open the homepage signed out.",
|
|
41
|
-
"List every clickable control in the header, including the logo and any icon-only ones.",
|
|
42
|
-
"Click each in turn, noting where it lands and returning each time.",
|
|
43
|
-
"Record any that does nothing.",
|
|
44
|
-
"Record any that 404s.",
|
|
45
|
-
"Check the logo returns to the homepage.",
|
|
46
|
-
],
|
|
47
|
-
expectedBehaviour: "Every header control goes somewhere real. An inert control is the harder half to notice — it looks like a slow page rather than a broken link, so the visitor waits and then clicks it again.",
|
|
48
|
-
expectedUiState: "Every control navigates to a real page and the logo returns home. Any control that does nothing, or 404s, is a finding named by its label or icon.",
|
|
49
|
-
expectedData: { deadHeaderControls: 0 },
|
|
50
|
-
endResult: "Read-only.",
|
|
51
|
-
},
|
|
52
|
-
"checklist-cta-layout-navbar-ctas-header-cart-badge-live": {
|
|
53
|
-
roles: ["buyer"],
|
|
54
|
-
startPage: "/",
|
|
55
|
-
steps: [
|
|
56
|
-
"Sign in as rehan.sheikh@gmail.com / TempPass123!. No cart is seeded for this buyer, so the badge should start empty — if it does not, empty the cart before continuing.",
|
|
57
|
-
"Read the header's cart control and its badge.",
|
|
58
|
-
"Add a product from /products and read the badge without reloading.",
|
|
59
|
-
"Add a second and read it again.",
|
|
60
|
-
"Navigate to two other pages and read the badge on each.",
|
|
61
|
-
"Open /cart, remove an item, and read the badge.",
|
|
62
|
-
],
|
|
63
|
-
expectedBehaviour: "The badge reads the same cart the pages read, so it tracks every change with no reload. The header never re-mounts across navigation, so a badge holding its own count cannot correct itself — it keeps a stale number for the rest of the session.",
|
|
64
|
-
expectedUiState: "The badge follows every add and removal immediately and stays correct across navigation. A count that lags or freezes is the finding.",
|
|
65
|
-
endResult: "Empty the cart afterwards.",
|
|
66
|
-
},
|
|
67
|
-
"checklist-cta-layout-navbar-ctas-header-signed-out-vs-in": {
|
|
68
|
-
roles: ["guest", "buyer"],
|
|
69
|
-
startPage: "/",
|
|
70
|
-
steps: [
|
|
71
|
-
"Open the homepage signed out and read the header's account area.",
|
|
72
|
-
"Check a sign-in affordance is offered.",
|
|
73
|
-
"Sign in as rehan.sheikh@gmail.com / TempPass123! from that control.",
|
|
74
|
-
"Read the header immediately after signing in, WITHOUT reloading.",
|
|
75
|
-
"Check it now shows an account menu.",
|
|
76
|
-
"Sign out and read the header again without reloading.",
|
|
77
|
-
],
|
|
78
|
-
expectedBehaviour: "The header switches with the session and without a reload. The session resolves asynchronously on a hard load, so the header may briefly not know who the visitor is — but once it does, the change has to reach the persistent header rather than waiting for the next full page load.",
|
|
79
|
-
expectedUiState: "Signed out shows sign-in; signed in shows an account menu; each switch happens without a reload. A header still offering sign-in after a successful sign-in is the finding.",
|
|
80
|
-
endResult: "Signed out.",
|
|
81
|
-
},
|
|
82
|
-
"checklist-cta-layout-navbar-ctas-account-menu-links-resolve": {
|
|
83
|
-
roles: ["buyer", "seller", "admin"],
|
|
84
|
-
startPage: "/",
|
|
85
|
-
steps: [
|
|
86
|
-
"Sign in as rehan.sheikh@gmail.com / TempPass123! and open the account menu.",
|
|
87
|
-
"Click every item in it, noting where each lands and returning each time.",
|
|
88
|
-
"Record any 404 or unauthorised page.",
|
|
89
|
-
"Repeat signed in as tyson@beybladearena.in / TempPass123!.",
|
|
90
|
-
"Repeat signed in as admin@letitrip.in / TempPass123!.",
|
|
91
|
-
],
|
|
92
|
-
expectedBehaviour: "Every account-menu item lands on a page that role can actually open. A menu entry pointing at a route with no page behind it is a dead link, and one pointing at a page the role cannot access bounces them to an unauthorised screen from their own menu.",
|
|
93
|
-
expectedUiState: "Every item resolves for its role. A 404 or an unauthorised redirect is a finding, named with the role and the item.",
|
|
94
|
-
expectedData: { deadMenuLinks: 0 },
|
|
95
|
-
endResult: "Read-only.",
|
|
96
|
-
},
|
|
97
|
-
"checklist-cta-layout-navbar-ctas-role-specific-nav-entries": {
|
|
98
|
-
roles: ["buyer", "seller", "admin"],
|
|
99
|
-
startPage: "/",
|
|
100
|
-
steps: [
|
|
101
|
-
"Sign in as rehan.sheikh@gmail.com / TempPass123! and write down every navigation entry offered.",
|
|
102
|
-
"Check no store or admin entry is among them.",
|
|
103
|
-
"Sign in as tyson@beybladearena.in / TempPass123! and write down the entries.",
|
|
104
|
-
"Check a store entry is present and no admin entry is.",
|
|
105
|
-
"Sign in as admin@letitrip.in / TempPass123! and check an admin entry is present.",
|
|
106
|
-
"Compare the three lists.",
|
|
107
|
-
],
|
|
108
|
-
expectedBehaviour: "Navigation reflects the role. A role check written inline against a role string rather than through the shared predicate drifts from every other check in the product — and the visible symptom is a buyer offered a dashboard that will refuse them.",
|
|
109
|
-
expectedUiState: "The buyer sees neither store nor admin entries, the seller sees store and not admin, the admin sees admin. Any entry offered to a role that cannot use it is the finding.",
|
|
110
|
-
endResult: "Read-only.",
|
|
111
|
-
},
|
|
112
|
-
"checklist-cta-layout-navbar-ctas-mobile-nav-opens-and-closes": {
|
|
113
|
-
roles: ["guest"],
|
|
114
|
-
startPage: "/",
|
|
115
|
-
steps: [
|
|
116
|
-
"Resize the browser to 390 pixels wide and open the homepage.",
|
|
117
|
-
"Open the mobile navigation.",
|
|
118
|
-
"Check it covers the page and its items are readable.",
|
|
119
|
-
"Close it with its own control and check it closes.",
|
|
120
|
-
"Open it again and follow a link.",
|
|
121
|
-
"Check the navigation closed itself on the new page rather than staying over it.",
|
|
122
|
-
],
|
|
123
|
-
inputs: { mobileWidth: 390 },
|
|
124
|
-
expectedBehaviour: "The mobile navigation closes on its own control AND after a link is followed. It lives in a shell that does not re-mount on navigation, so nothing closes it automatically — a menu left open sits over the page the visitor just asked for.",
|
|
125
|
-
expectedUiState: "It opens, closes on its control, and is closed on the destination page after a link. A menu still covering the new page is the finding.",
|
|
126
|
-
endResult: "Restore the window width.",
|
|
127
|
-
},
|
|
128
|
-
"checklist-cta-layout-navbar-ctas-nav-active-state-correct": {
|
|
129
|
-
roles: ["guest"],
|
|
130
|
-
startPage: "/",
|
|
131
|
-
steps: [
|
|
132
|
-
"Open the homepage and read which navigation entry is marked as current.",
|
|
133
|
-
"Navigate to /products and read which is marked.",
|
|
134
|
-
"Navigate to /products/product-beyblade-original-dranzer-s and read which is marked.",
|
|
135
|
-
"Navigate to /events and read which is marked.",
|
|
136
|
-
"Use the browser's back button twice and read the marker each time.",
|
|
137
|
-
],
|
|
138
|
-
expectedBehaviour: "The marker is derived from the current path, so it follows client-side navigation and the back button. Set once on first render, it would freeze on whichever section the visitor happened to land on first and stay there for the whole session.",
|
|
139
|
-
expectedUiState: "The correct entry is marked on every page including the detail page, and it follows the back button. A marker stuck on one section is the finding.",
|
|
140
|
-
endResult: "Read-only.",
|
|
141
|
-
},
|
|
142
|
-
"checklist-cta-layout-navbar-ctas-announcement-bar-message-renders": {
|
|
143
|
-
roles: ["admin", "guest"],
|
|
144
|
-
startPage: "/admin/site",
|
|
145
|
-
steps: [
|
|
146
|
-
"Sign in as admin@letitrip.in / TempPass123! and open Site Settings.",
|
|
147
|
-
"Open the 'Announcement' tab, write down the current message, and confirm 'Show announcement bar' is already on.",
|
|
148
|
-
"Set the message to 'QA announcement probe — checklist case.' and save.",
|
|
149
|
-
"Sign out and open / . Read whether the announcement appears and whether the text matches exactly.",
|
|
150
|
-
"Sign back in, CLEAR the message and save, then reload / . The bar should still be there, now reading the fallback: 'Free shipping on eligible orders — shop the latest arrivals.'",
|
|
151
|
-
"Turn 'Show announcement bar' OFF, save, and reload / . NOW the bar should be gone.",
|
|
152
|
-
"Restore the original message and turn the toggle back on.",
|
|
153
|
-
],
|
|
154
|
-
inputs: {
|
|
155
|
-
message: "QA announcement probe — checklist case.",
|
|
156
|
-
fallback: "Free shipping on eligible orders — shop the latest arrivals.",
|
|
157
|
-
toggle: "Show announcement bar",
|
|
158
|
-
},
|
|
159
|
-
expectedBehaviour: "An announcement an admin saves appears. The editor once wrote the copy under a key no renderer has ever read, so every announcement saved successfully and none of them appeared — a save that reports success while writing to a field with no reader is invisible from both ends.",
|
|
160
|
-
expectedUiState: "The exact text appears in the announcement bar on the homepage. Clearing the message does NOT remove the bar — it falls back to 'Free shipping on eligible orders — shop the latest arrivals.', which is correct and must not be reported as a defect. Only turning the toggle off removes it. A successful save with the OLD text still on the homepage is the finding.",
|
|
161
|
-
endResult: "The announcement is cleared.",
|
|
162
|
-
},
|
|
163
|
-
};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Authored six-part procedures for the cta-layout/product-bottom-bar page.
|
|
3
|
-
* WHAT: 1 case, 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
|
-
* Verified against ProductDetailActions on 2026-09-29. The mobile bar registers
|
|
10
|
-
* three actions with DISTINCT variants, not two secondaries and a primary:
|
|
11
|
-
*
|
|
12
|
-
* ghost Wishlist (reads 'Saved' and is DISABLED once wishlisted)
|
|
13
|
-
* outline Add to Cart (reads 'Adding…' while busy)
|
|
14
|
-
* primary Buy Now (reads 'Out of Stock' when stock is 0)
|
|
15
|
-
*
|
|
16
|
-
* It also publishes an `infoLabel` carrying the price, which doubles as the
|
|
17
|
-
* bar's re-publish key. Signed in that reads the formatted price; signed out it
|
|
18
|
-
* reads 'Sign in to see price' — so the bar is also where the guest price gate
|
|
19
|
-
* is visible on this page, and a buyer who sees that string is looking at a
|
|
20
|
-
* session that did not resolve.
|
|
21
|
-
*
|
|
22
|
-
* 🛑 product-beyblade-original-dranzer-s is stock 4 and not sold, so the
|
|
23
|
-
* labels are Buy Now / Add to Cart rather than Out of Stock, and it is NOT in
|
|
24
|
-
* this buyer's wishlist: the three seeded wishlists belong to user-yugi-muto,
|
|
25
|
-
* user-seto-kaiba and user-admin-letitrip. So Wishlist is enabled and reads
|
|
26
|
-
* 'Wishlist'. If it reads 'Saved' and is disabled, an earlier case added it
|
|
27
|
-
* and that is not a defect.
|
|
28
|
-
*
|
|
29
|
-
* @tag domain:tester
|
|
30
|
-
* @tag layer:seed
|
|
31
|
-
* @tag pattern:none
|
|
32
|
-
* @tag access:server-only
|
|
33
|
-
* @tag consumers:seed-data/authored/index.ts
|
|
34
|
-
* @tag sideEffects:none
|
|
35
|
-
*/
|
|
36
|
-
export const authored = {
|
|
37
|
-
"checklist-cta-layout-product-bottom-bar-three-actions-wrap-to-second-row": {
|
|
38
|
-
roles: ["buyer"],
|
|
39
|
-
startPage: "/products/product-beyblade-original-dranzer-s",
|
|
40
|
-
steps: [
|
|
41
|
-
"Resize the browser window to 375 pixels wide.",
|
|
42
|
-
"Sign in as rehan.sheikh@gmail.com / TempPass123!.",
|
|
43
|
-
"Open /products/product-beyblade-original-dranzer-s.",
|
|
44
|
-
"Read the bottom action bar and note which buttons share a row.",
|
|
45
|
-
"Compare the widths of the two buttons on the upper row.",
|
|
46
|
-
"Read the price shown on the bar — signed in it should read the formatted price, 1,499 for this product.",
|
|
47
|
-
"Click 'Add to Cart' and watch the bar while the label changes.",
|
|
48
|
-
"Count the rows in the bar during and after the change.",
|
|
49
|
-
],
|
|
50
|
-
inputs: {
|
|
51
|
-
viewportWidth: 375,
|
|
52
|
-
productId: "product-beyblade-original-dranzer-s",
|
|
53
|
-
price: 1499,
|
|
54
|
-
expectedRows: 2,
|
|
55
|
-
},
|
|
56
|
-
expectedBehaviour: "Three actions of different weight are laid out as two secondaries sharing a row above one full-width primary. The secondaries share that row proportionally rather than one being pinned to its content width, which is what made the row read lopsided before.",
|
|
57
|
-
expectedUiState: "'Wishlist' and 'Add to Cart' occupy the upper row and neither is squeezed to a fraction of the other. 'Buy Now' spans the full width beneath them. The bar shows the price, which for a signed-in buyer reads the formatted amount and never 'Sign in to see price'. While the label reads 'Adding…' the bar still has exactly two rows — a bar that reflows to three rows and back makes the whole page jump under the buyer's thumb mid-tap.",
|
|
58
|
-
expectedData: { barRowCount: 2, priceOnBar: 1499 },
|
|
59
|
-
endResult: "The item is in the cart. Restore the window width and empty the cart afterwards so later cases start clean.",
|
|
60
|
-
},
|
|
61
|
-
};
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Authored six-part procedures for the design-ux/action-bar-placement 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-action-bar-placement-back-to-top-dismiss-visible": {
|
|
14
|
-
roles: ["guest"],
|
|
15
|
-
startPage: "/products",
|
|
16
|
-
steps: [
|
|
17
|
-
"Open /products and scroll down more than about 400 pixels.",
|
|
18
|
-
"Look at the floating controls in the bottom corner of the window.",
|
|
19
|
-
"Click the smaller of the two controls.",
|
|
20
|
-
"Navigate to /auctions and scroll past 400 pixels again.",
|
|
21
|
-
],
|
|
22
|
-
expectedBehaviour: "The dismiss control is an icon button sized as a true square, so its glyph has room to render. Dismissal is in-memory and resets on route change, so it never hides the control for the rest of the session.",
|
|
23
|
-
expectedUiState: "TWO round controls are visible: a larger one showing an upward chevron, and a smaller one showing a clearly visible ✕. The prior symptom was the smaller control rendering as an EMPTY outlined pill — present and clickable, with no ✕ inside it, because its content box computed to zero width. After clicking the ✕, both controls disappear.",
|
|
24
|
-
endResult: "On /auctions both controls are back after scrolling. Nothing is persisted — a reload also brings them back.",
|
|
25
|
-
},
|
|
26
|
-
"checklist-design-ux-action-bar-placement-action-bar-top-on-desktop": {
|
|
27
|
-
roles: ["guest"],
|
|
28
|
-
startPage: "/products",
|
|
29
|
-
steps: [
|
|
30
|
-
"Maximise the browser window so it is wider than about 1024 pixels.",
|
|
31
|
-
"Open any product detail page from /products.",
|
|
32
|
-
"Look immediately below the site header.",
|
|
33
|
-
"Scroll the page down and watch the bar.",
|
|
34
|
-
],
|
|
35
|
-
expectedBehaviour: "At `lg` and up the chrome tier is pinned under the header rather than to the bottom edge, and its shadow is cast downward onto the page.",
|
|
36
|
-
expectedUiState: "The full-width action bar sits directly beneath the header with no gap, and stays there while the page scrolls. Its drop shadow falls DOWNWARD. It must NOT be at the bottom of the window — that was the prior behaviour at every width.",
|
|
37
|
-
endResult: "Nothing persists; this is layout only. The bar stays under the header for the whole visit at this width.",
|
|
38
|
-
},
|
|
39
|
-
"checklist-design-ux-action-bar-placement-action-bar-bottom-on-mobile": {
|
|
40
|
-
roles: ["guest"],
|
|
41
|
-
startPage: "/products",
|
|
42
|
-
steps: [
|
|
43
|
-
"On the same product detail page, narrow the browser window to phone width (under about 1024 pixels), or switch to device emulation.",
|
|
44
|
-
"Look at the bottom of the window.",
|
|
45
|
-
"Slowly widen the window back past the 1024-pixel line, then narrow it again.",
|
|
46
|
-
],
|
|
47
|
-
expectedBehaviour: "One component serves both layouts, switching on a media query, so the bar must move between the two positions rather than being duplicated or dropped.",
|
|
48
|
-
expectedUiState: "At phone width the action bar is at the BOTTOM, stacked immediately above the bottom navigation bar, with its shadow falling UPWARD. While resizing across the breakpoint the bar moves cleanly from one end to the other — it is never visible in BOTH places at once, and never disappears entirely at any width.",
|
|
49
|
-
endResult: "No state is written. The bar's position always matches the current window width, including after a reload at either width.",
|
|
50
|
-
},
|
|
51
|
-
"checklist-design-ux-action-bar-placement-action-bar-no-content-overlap": {
|
|
52
|
-
roles: ["guest"],
|
|
53
|
-
startPage: "/products",
|
|
54
|
-
steps: [
|
|
55
|
-
"At desktop width, open a product detail page that shows an action bar.",
|
|
56
|
-
"Read the very first line of page content under the header.",
|
|
57
|
-
"Now open a page with no action bar at all, such as /about.",
|
|
58
|
-
"Look at the space immediately under the header.",
|
|
59
|
-
],
|
|
60
|
-
expectedBehaviour: "The bar is fixed, so it is out of flow and would cover content unless space is reserved. `<Main>` reserves exactly the published tier height, which is zero when no bar exists — so the reservation appears and disappears with the bar rather than being a constant allowance.",
|
|
61
|
-
expectedUiState: "With a bar present, the first heading and first row of content are fully visible and not clipped behind it. On /about, with no bar, there is NO empty band under the header — the content starts where it always did.",
|
|
62
|
-
endResult: "Nothing persists. Navigating between a page with a bar and one without must not leave a residual gap on the page that has none.",
|
|
63
|
-
},
|
|
64
|
-
"checklist-design-ux-action-bar-placement-action-bar-panels-open-into-screen": {
|
|
65
|
-
roles: ["admin"],
|
|
66
|
-
startPage: "/admin/products",
|
|
67
|
-
steps: [
|
|
68
|
-
"Sign in as admin@letitrip.in / TempPass123! and open /admin/products at desktop width.",
|
|
69
|
-
"Tick the checkboxes on two rows to enter bulk mode.",
|
|
70
|
-
"Open the bulk action-type picker on the bar.",
|
|
71
|
-
"Narrow the window to phone width and open the same picker again.",
|
|
72
|
-
],
|
|
73
|
-
expectedBehaviour: "The panel is positioned against the bar, so its open direction must follow whichever screen edge the bar is attached to. Opening away from the screen would put the panel partly or wholly out of view.",
|
|
74
|
-
expectedUiState: "At desktop width the picker expands DOWNWARD over the page content, below the bar. At phone width it expands UPWARD from the bar. In both cases the whole panel is on screen and scrollable, and no part of it is cut off by the window edge.",
|
|
75
|
-
endResult: "Closing the picker leaves the bulk selection intact. Clearing the selection removes the bar and the panel together.",
|
|
76
|
-
},
|
|
77
|
-
"checklist-design-ux-action-bar-placement-back-to-top-clears-the-bar": {
|
|
78
|
-
roles: ["guest"],
|
|
79
|
-
startPage: "/products",
|
|
80
|
-
steps: [
|
|
81
|
-
"At phone width, open a product detail page with an action bar and scroll past 400 pixels.",
|
|
82
|
-
"Look at the vertical gap between the back-to-top control and the action bar.",
|
|
83
|
-
"Slowly widen the window past the desktop breakpoint, watching the control.",
|
|
84
|
-
],
|
|
85
|
-
expectedBehaviour: "The back-to-top offset is expressed against the measured tier rather than against any individual bar, so it tracks the bar's height automatically — and when the tier moves to the top on desktop, the bottom measurement collapses to zero and the control settles lower.",
|
|
86
|
-
expectedUiState: "At phone width the control floats clear ABOVE the action bar, which itself sits above the bottom navigation — none of the three overlap. As the window widens past the breakpoint the control moves DOWN into the space the bar vacated. At no point during the resize do the control and any bar overlap.",
|
|
87
|
-
endResult: "Position is derived from layout alone and nothing is stored; reloading at either width reproduces the same spacing.",
|
|
88
|
-
},
|
|
89
|
-
};
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Authored six-part procedures for the design-ux/back-to-top-button page.
|
|
3
|
-
* WHAT: 5 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 bottom edge is three declared tiers with exactly three variables and three
|
|
10
|
-
* writers: the keyboard inset, the mobile tab bar, and one container measuring
|
|
11
|
-
* everything between. This control consumes all three — which is why "does it
|
|
12
|
-
* clear the CTA bar" is a case rather than a detail.
|
|
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-back-to-top-button-appears-and-clickable-on-long-page": {
|
|
23
|
-
roles: ["guest"],
|
|
24
|
-
startPage: "/products",
|
|
25
|
-
steps: [
|
|
26
|
-
"Open /products in a private window at a desktop width of 1280 pixels.",
|
|
27
|
-
"Look for the back-to-top control before scrolling.",
|
|
28
|
-
"Scroll down past 400 pixels.",
|
|
29
|
-
"Look for the control again and read what it shows.",
|
|
30
|
-
"Click it.",
|
|
31
|
-
],
|
|
32
|
-
inputs: { viewportWidth: 1280, revealScrollPx: 400 },
|
|
33
|
-
expectedBehaviour: "The control is hidden at the top of the page, where it would do nothing, and appears once there is somewhere to return to. It must be genuinely clickable rather than sitting behind another fixed element.",
|
|
34
|
-
expectedUiState: "Nothing is shown before scrolling. After 400 pixels the control appears and responds to a click. A control that appears but does not respond means something transparent is on top of it.",
|
|
35
|
-
endResult: "Read-only; nothing persists.",
|
|
36
|
-
},
|
|
37
|
-
"checklist-design-ux-back-to-top-button-above-sticky-buy-bar": {
|
|
38
|
-
roles: ["guest"],
|
|
39
|
-
startPage: "/products/product-beyblade-original-dranzer-s",
|
|
40
|
-
steps: [
|
|
41
|
-
"Open /products/product-beyblade-original-dranzer-s in a private window at 1280 pixels wide.",
|
|
42
|
-
"Scroll down past 400 pixels so both the sticky buy bar and the back-to-top control are showing. Both reveal at exactly 400 — BottomActions.DESKTOP_REVEAL_SCROLL_PX and BackToTop's own default threshold are the same number — so on desktop they appear on the SAME scroll tick and any overlap is deterministic rather than a matter of timing. There is no need to hunt for the moment they collide.",
|
|
43
|
-
"Look at where the back-to-top control sits relative to the buy bar.",
|
|
44
|
-
"Try to click both the back-to-top control and each button in the buy bar.",
|
|
45
|
-
"Resize to 390 pixels wide and repeat.",
|
|
46
|
-
],
|
|
47
|
-
inputs: { desktopWidth: 1280, mobileWidth: 390 },
|
|
48
|
-
expectedBehaviour: "Neither element learns the other's height — both read from the one measured container, so the control clears the bar automatically and a bar added later is covered with no edit. The desktop reveal threshold for the buy bar is the SAME 400 pixels, so the two appear on the same scroll tick and the overlap is guaranteed rather than occasional.",
|
|
49
|
-
expectedUiState: "The back-to-top control sits fully above the buy bar with a visible gap, at both widths. It does not overlap any buy-bar button, and every button in the bar is clickable.",
|
|
50
|
-
endResult: "Read-only; nothing persists. Restore the window width afterwards.",
|
|
51
|
-
},
|
|
52
|
-
"checklist-design-ux-back-to-top-button-scrolls-to-top": {
|
|
53
|
-
roles: ["guest"],
|
|
54
|
-
startPage: "/products",
|
|
55
|
-
steps: [
|
|
56
|
-
"Open /products in a private window and scroll to the bottom of the grid.",
|
|
57
|
-
"Click the back-to-top control.",
|
|
58
|
-
"Watch the page as it moves.",
|
|
59
|
-
"Read what is at the top of the viewport when it stops.",
|
|
60
|
-
"Read the address bar.",
|
|
61
|
-
],
|
|
62
|
-
expectedBehaviour: "The control scrolls the window to the top of the current page. It is not a navigation — the URL, the filters and the page of results are all unchanged.",
|
|
63
|
-
expectedUiState: "The page ends at the top with the header and toolbar visible. The URL is unchanged, the same filters are still applied, and the same page of results is still loaded — a jump back to page one would be a navigation wearing a scroll control's clothes.",
|
|
64
|
-
endResult: "Read-only; nothing persists.",
|
|
65
|
-
},
|
|
66
|
-
"checklist-design-ux-back-to-top-button-dismiss-returns-on-navigation": {
|
|
67
|
-
roles: ["guest"],
|
|
68
|
-
startPage: "/products",
|
|
69
|
-
steps: [
|
|
70
|
-
"Open /products in a private window and scroll past 400 pixels so the control appears.",
|
|
71
|
-
"Click its close or dismiss control.",
|
|
72
|
-
"Scroll up and down again and check whether it returns.",
|
|
73
|
-
"Navigate to /auctions WITHOUT reloading — click a link rather than typing the URL.",
|
|
74
|
-
"Scroll past 400 pixels and look for the control.",
|
|
75
|
-
],
|
|
76
|
-
expectedBehaviour: "Dismissal lasts for the current page and is reset on the next navigation. This control lives in a shell that does NOT remount when the route changes, so a dismissal stored in browser storage reads as permanent: one click hid it until the tab was closed, with no way to bring it back.",
|
|
77
|
-
expectedUiState: "After dismissing, the control stays hidden on /products however much the page is scrolled. After navigating to /auctions it returns on scroll. A control still hidden after navigation is the failure.",
|
|
78
|
-
endResult: "Read-only; nothing persists.",
|
|
79
|
-
},
|
|
80
|
-
"checklist-design-ux-back-to-top-button-not-covering-toast-or-modal-actions": {
|
|
81
|
-
roles: ["buyer"],
|
|
82
|
-
startPage: "/products/product-beyblade-burst-valkyrie",
|
|
83
|
-
steps: [
|
|
84
|
-
"Sign in as rehan.sheikh@gmail.com / TempPass123!.",
|
|
85
|
-
"Open /products/product-beyblade-burst-valkyrie and scroll past 400 pixels so the control appears.",
|
|
86
|
-
"Click 'Add to Cart' and watch for a toast.",
|
|
87
|
-
"Look at whether the control overlaps the toast or any control inside it.",
|
|
88
|
-
"Open any modal on the page and look at its footer buttons.",
|
|
89
|
-
"Try to click each footer button.",
|
|
90
|
-
],
|
|
91
|
-
expectedBehaviour: "The control yields to transient and modal UI. A toast carries actions and a modal footer carries the decision — a floating control on top of either takes a click the user meant for something else.",
|
|
92
|
-
expectedUiState: "The toast is fully visible and its controls are clickable. The modal's footer buttons are unobstructed and every one responds. The back-to-top control either sits clear of both or is hidden while they are open.",
|
|
93
|
-
endResult: "Remove the item from the cart afterwards so later cases start from an empty cart.",
|
|
94
|
-
},
|
|
95
|
-
};
|