@mohasinac/appkit 4.52.4 → 4.53.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/client/features/sticker-trace/canvas-codec.d.ts +2 -0
- package/dist/_internal/client/features/sticker-trace/canvas-codec.js +148 -0
- package/dist/_internal/server/features/auctions/actions.js +1 -1
- package/dist/_internal/server/features/categories/data.js +23 -7
- package/dist/_internal/server/features/checkout/actions.js +10 -3
- package/dist/_internal/server/features/checkout/data.d.ts +15 -0
- package/dist/_internal/server/features/checkout/data.js +20 -3
- package/dist/_internal/server/features/lottery/actions.js +9 -1
- package/dist/_internal/server/features/lottery/og.d.ts +40 -0
- package/dist/_internal/server/features/lottery/og.js +79 -0
- package/dist/_internal/server/features/messages/actions.js +4 -0
- package/dist/_internal/server/features/offers/adapters.js +17 -3
- package/dist/_internal/server/features/orders/actions.js +7 -2
- package/dist/_internal/server/features/raffle/actions.d.ts +19 -0
- package/dist/_internal/server/features/raffle/actions.js +25 -0
- package/dist/_internal/server/features/reviews/actions.js +1 -1
- package/dist/_internal/server/features/reviews/data.d.ts +1 -1
- package/dist/_internal/server/features/search/index-build/artifact-store.d.ts +89 -0
- package/dist/_internal/server/features/search/index-build/artifact-store.js +208 -0
- package/dist/_internal/server/features/search/index-build/build.d.ts +57 -0
- package/dist/_internal/server/features/search/index-build/build.js +285 -0
- package/dist/_internal/server/features/search/index-build/sources.d.ts +53 -0
- package/dist/_internal/server/features/search/index-build/sources.js +385 -0
- package/dist/_internal/server/features/search/search-sources.d.ts +0 -15
- package/dist/_internal/server/features/search/search-sources.js +142 -7
- package/dist/_internal/server/features/seo/robots.js +21 -1
- package/dist/_internal/server/features/seo/sitemap.js +1 -1
- package/dist/_internal/server/features/shared/listing-data-factory.js +16 -4
- package/dist/_internal/server/features/site-settings/adapters.d.ts +1 -1
- package/dist/_internal/server/features/site-settings/adapters.js +26 -0
- package/dist/_internal/server/features/sticker-trace/actions.d.ts +109 -0
- package/dist/_internal/server/features/sticker-trace/actions.js +172 -0
- package/dist/_internal/server/features/sticker-trace/adapters.d.ts +80 -0
- package/dist/_internal/server/features/sticker-trace/adapters.js +174 -0
- package/dist/_internal/server/features/sticker-trace/build-cut-file.d.ts +26 -0
- package/dist/_internal/server/features/sticker-trace/build-cut-file.js +127 -0
- package/dist/_internal/server/features/sticker-trace/coordinator.d.ts +27 -0
- package/dist/_internal/server/features/sticker-trace/coordinator.js +169 -0
- package/dist/_internal/server/features/sticker-trace/fanout.d.ts +43 -0
- package/dist/_internal/server/features/sticker-trace/fanout.js +180 -0
- package/dist/_internal/server/features/sticker-trace/finalizer.d.ts +25 -0
- package/dist/_internal/server/features/sticker-trace/finalizer.js +123 -0
- package/dist/_internal/server/features/sticker-trace/mosaic-inputs.d.ts +30 -0
- package/dist/_internal/server/features/sticker-trace/mosaic-inputs.js +112 -0
- package/dist/_internal/server/features/sticker-trace/progress.d.ts +81 -0
- package/dist/_internal/server/features/sticker-trace/progress.js +198 -0
- package/dist/_internal/server/features/sticker-trace/promote.d.ts +23 -0
- package/dist/_internal/server/features/sticker-trace/promote.js +193 -0
- package/dist/_internal/server/features/sticker-trace/shard.d.ts +50 -0
- package/dist/_internal/server/features/sticker-trace/shard.js +174 -0
- package/dist/_internal/server/features/sticker-trace/sheet-actions.d.ts +141 -0
- package/dist/_internal/server/features/sticker-trace/sheet-actions.js +279 -0
- package/dist/_internal/server/features/sticker-trace/storage.d.ts +135 -0
- package/dist/_internal/server/features/sticker-trace/storage.js +282 -0
- package/dist/_internal/server/functions/scheduled.d.ts +2 -1
- package/dist/_internal/server/functions/scheduled.js +25 -1
- package/dist/_internal/server/jobs/core/_event-ref.d.ts +51 -0
- package/dist/_internal/server/jobs/core/_event-ref.js +63 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.d.ts +18 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.js +77 -16
- package/dist/_internal/server/jobs/core/auctionSettlement.js +13 -4
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +44 -15
- package/dist/_internal/server/jobs/core/bundleStockSync.js +3 -4
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +44 -0
- package/dist/_internal/server/jobs/core/event-draw-reasons.d.ts +78 -0
- package/dist/_internal/server/jobs/core/event-draw-reasons.js +133 -0
- package/dist/_internal/server/jobs/core/listingProcessor.js +28 -8
- package/dist/_internal/server/jobs/core/onOrderCreate.js +12 -1
- package/dist/_internal/server/jobs/core/onScamReportCreate.js +13 -2
- package/dist/_internal/server/jobs/core/onScamReportRejected.js +8 -2
- package/dist/_internal/server/jobs/core/onScamReportVerified.js +8 -2
- package/dist/_internal/server/jobs/core/onStoreWrite.js +11 -4
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.js +5 -4
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.js +1 -4
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.js +1 -2
- package/dist/_internal/server/jobs/core/promotions.js +7 -4
- package/dist/_internal/server/jobs/core/searchIndexBuild.d.ts +7 -0
- package/dist/_internal/server/jobs/core/searchIndexBuild.js +211 -0
- package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +35 -0
- package/dist/_internal/server/jobs/core/triggerEventRaffle.js +213 -31
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +20 -14
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +15 -15
- package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
- package/dist/_internal/server/jobs/handlers/index.js +1 -0
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +18 -0
- package/dist/_internal/server/jobs/handlers/onProductWrite.js +18 -0
- package/dist/_internal/server/jobs/handlers/onReviewWrite.js +18 -0
- package/dist/_internal/server/jobs/handlers/onScamReportUpdate.js +18 -0
- package/dist/_internal/server/jobs/handlers/onStoreWrite.js +18 -0
- package/dist/_internal/server/jobs/handlers/searchIndexBuild.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/searchIndexBuild.js +2 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +15 -6
- package/dist/_internal/shared/actions/action-registry.js +29 -0
- package/dist/_internal/shared/cache/revalidate-targets.d.ts +0 -1
- package/dist/_internal/shared/cache/revalidate-targets.js +10 -8
- package/dist/_internal/shared/features/events/config.d.ts +14 -0
- package/dist/_internal/shared/features/events/config.js +14 -0
- package/dist/_internal/shared/features/notifications/action-url.js +8 -0
- package/dist/_internal/shared/features/site-settings/types.d.ts +11 -0
- package/dist/_internal/shared/features/sticker-trace/codec.d.ts +81 -0
- package/dist/_internal/shared/features/sticker-trace/codec.js +30 -0
- package/dist/_internal/shared/features/sticker-trace/config.d.ts +81 -0
- package/dist/_internal/shared/features/sticker-trace/config.js +177 -0
- package/dist/_internal/shared/features/sticker-trace/cut-contour.d.ts +20 -0
- package/dist/_internal/shared/features/sticker-trace/cut-contour.js +60 -0
- package/dist/_internal/shared/features/sticker-trace/export/build-export-set.d.ts +65 -0
- package/dist/_internal/shared/features/sticker-trace/export/build-export-set.js +176 -0
- package/dist/_internal/shared/features/sticker-trace/export/cut-svg.d.ts +56 -0
- package/dist/_internal/shared/features/sticker-trace/export/cut-svg.js +120 -0
- package/dist/_internal/shared/features/sticker-trace/export/machine-profiles.d.ts +92 -0
- package/dist/_internal/shared/features/sticker-trace/export/machine-profiles.js +153 -0
- package/dist/_internal/shared/features/sticker-trace/export/nesting.d.ts +51 -0
- package/dist/_internal/shared/features/sticker-trace/export/nesting.js +110 -0
- package/dist/_internal/shared/features/sticker-trace/export/page-sizes.d.ts +68 -0
- package/dist/_internal/shared/features/sticker-trace/export/page-sizes.js +223 -0
- package/dist/_internal/shared/features/sticker-trace/export/part-tiling.d.ts +51 -0
- package/dist/_internal/shared/features/sticker-trace/export/part-tiling.js +178 -0
- package/dist/_internal/shared/features/sticker-trace/export/simplify-budget.d.ts +26 -0
- package/dist/_internal/shared/features/sticker-trace/export/simplify-budget.js +134 -0
- package/dist/_internal/shared/features/sticker-trace/export/vectorise-art.d.ts +40 -0
- package/dist/_internal/shared/features/sticker-trace/export/vectorise-art.js +195 -0
- package/dist/_internal/shared/features/sticker-trace/index.d.ts +2 -0
- package/dist/_internal/shared/features/sticker-trace/index.js +59 -0
- package/dist/_internal/shared/features/sticker-trace/math/catmull-rom.d.ts +11 -0
- package/dist/_internal/shared/features/sticker-trace/math/catmull-rom.js +66 -0
- package/dist/_internal/shared/features/sticker-trace/math/edt.d.ts +27 -0
- package/dist/_internal/shared/features/sticker-trace/math/edt.js +165 -0
- package/dist/_internal/shared/features/sticker-trace/math/label.d.ts +15 -0
- package/dist/_internal/shared/features/sticker-trace/math/label.js +156 -0
- package/dist/_internal/shared/features/sticker-trace/math/marching-squares.d.ts +16 -0
- package/dist/_internal/shared/features/sticker-trace/math/marching-squares.js +242 -0
- package/dist/_internal/shared/features/sticker-trace/math/morphology.d.ts +46 -0
- package/dist/_internal/shared/features/sticker-trace/math/morphology.js +168 -0
- package/dist/_internal/shared/features/sticker-trace/math/rasterize-path.d.ts +88 -0
- package/dist/_internal/shared/features/sticker-trace/math/rasterize-path.js +286 -0
- package/dist/_internal/shared/features/sticker-trace/math/rdp.d.ts +10 -0
- package/dist/_internal/shared/features/sticker-trace/math/rdp.js +74 -0
- package/dist/_internal/shared/features/sticker-trace/resume.d.ts +50 -0
- package/dist/_internal/shared/features/sticker-trace/resume.js +160 -0
- package/dist/_internal/shared/features/sticker-trace/trace/cluster.d.ts +20 -0
- package/dist/_internal/shared/features/sticker-trace/trace/cluster.js +132 -0
- package/dist/_internal/shared/features/sticker-trace/trace/cross-profile.d.ts +28 -0
- package/dist/_internal/shared/features/sticker-trace/trace/cross-profile.js +120 -0
- package/dist/_internal/shared/features/sticker-trace/trace/flood.d.ts +21 -0
- package/dist/_internal/shared/features/sticker-trace/trace/flood.js +104 -0
- package/dist/_internal/shared/features/sticker-trace/trace/geometry.d.ts +3 -0
- package/dist/_internal/shared/features/sticker-trace/trace/geometry.js +140 -0
- package/dist/_internal/shared/features/sticker-trace/trace/line-filter.d.ts +15 -0
- package/dist/_internal/shared/features/sticker-trace/trace/line-filter.js +138 -0
- package/dist/_internal/shared/features/sticker-trace/trace/merge.d.ts +27 -0
- package/dist/_internal/shared/features/sticker-trace/trace/merge.js +187 -0
- package/dist/_internal/shared/features/sticker-trace/trace/paper.d.ts +32 -0
- package/dist/_internal/shared/features/sticker-trace/trace/paper.js +147 -0
- package/dist/_internal/shared/features/sticker-trace/trace/prefilter.d.ts +30 -0
- package/dist/_internal/shared/features/sticker-trace/trace/prefilter.js +125 -0
- package/dist/_internal/shared/features/sticker-trace/trace/quantise.d.ts +10 -0
- package/dist/_internal/shared/features/sticker-trace/trace/quantise.js +153 -0
- package/dist/_internal/shared/features/sticker-trace/trace/ridge.d.ts +88 -0
- package/dist/_internal/shared/features/sticker-trace/trace/ridge.js +344 -0
- package/dist/_internal/shared/features/sticker-trace/trace/segment.d.ts +10 -0
- package/dist/_internal/shared/features/sticker-trace/trace/segment.js +251 -0
- package/dist/_internal/shared/features/sticker-trace/types.d.ts +197 -0
- package/dist/_internal/shared/features/sticker-trace/types.js +49 -0
- package/dist/_internal/shared/listing-types/_registry.d.ts +11 -0
- package/dist/_internal/shared/listing-types/art/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/config.js +1 -0
- package/dist/_internal/shared/listing-types/auction/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/auction/config.js +1 -0
- package/dist/_internal/shared/listing-types/classified/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/config.js +1 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +1 -0
- package/dist/_internal/shared/listing-types/feature-flags.d.ts +7 -0
- package/dist/_internal/shared/listing-types/feature-flags.js +9 -0
- package/dist/_internal/shared/listing-types/live/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/config.js +1 -0
- package/dist/_internal/shared/listing-types/pre-order/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/pre-order/config.js +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.js +1 -0
- package/dist/_internal/shared/listing-types/standard/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/standard/config.js +1 -0
- package/dist/_internal/shared/listing-types/stickers/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/config.js +1 -0
- package/dist/_internal/shared/media/limits.d.ts +12 -2
- package/dist/_internal/shared/media/limits.js +12 -2
- package/dist/_internal/shared/search/artifact-url.d.ts +35 -0
- package/dist/_internal/shared/search/artifact-url.js +119 -0
- package/dist/_internal/shared/search/index-record.d.ts +68 -0
- package/dist/_internal/shared/search/index-record.js +96 -0
- package/dist/_internal/shared/search/match.d.ts +65 -0
- package/dist/_internal/shared/search/match.js +263 -0
- package/dist/client.d.ts +8 -7
- package/dist/client.js +12 -5
- package/dist/configs/eslint.js +22 -2
- package/dist/constants/api-endpoints.d.ts +68 -0
- package/dist/constants/api-endpoints.js +32 -0
- package/dist/constants/field-names.d.ts +7 -1
- package/dist/constants/field-names.js +36 -1
- package/dist/contracts/repository.d.ts +8 -7
- package/dist/contracts/search.d.ts +2 -2
- package/dist/contracts/table.d.ts +3 -3
- package/dist/contracts/table.js +3 -3
- package/dist/core/contact-submissions.repository.js +2 -2
- package/dist/core/integration-keys.js +7 -1
- package/dist/core/newsletter.repository.js +2 -2
- package/dist/core/site-config.js +1 -1
- package/dist/errors/error-codes.d.ts +30 -0
- package/dist/errors/error-codes.js +30 -0
- package/dist/errors/error-display-map.js +40 -1
- package/dist/features/account/api/[userId]/addresses/route.js +1 -1
- package/dist/features/account/components/UserBidsView.js +1 -1
- package/dist/features/account/components/index.d.ts +0 -8
- package/dist/features/account/components/index.js +0 -4
- package/dist/features/addresses/repository/addresses.repository.d.ts +17 -6
- package/dist/features/addresses/repository/addresses.repository.js +65 -9
- package/dist/features/addresses/schemas/firestore.d.ts +17 -6
- package/dist/features/admin/actions/notification-actions.js +15 -6
- package/dist/features/admin/api/bids/route.js +1 -1
- package/dist/features/admin/api/coupons/route.js +1 -1
- package/dist/features/admin/api/products/route.js +1 -1
- package/dist/features/admin/api/reviews/route.js +1 -1
- package/dist/features/admin/components/AdminAdEditorView.js +19 -5
- package/dist/features/admin/components/AdminAuditLogView.js +1 -1
- package/dist/features/admin/components/AdminBlogEditorView.js +0 -1
- package/dist/features/admin/components/AdminBlogView.js +1 -1
- package/dist/features/admin/components/AdminBrandsView.js +17 -1
- package/dist/features/admin/components/AdminCategoryEditorView.js +0 -1
- package/dist/features/admin/components/AdminContactView.js +1 -1
- package/dist/features/admin/components/AdminEmployeeEditorView.js +1 -3
- package/dist/features/admin/components/AdminNewsletterView.js +1 -1
- package/dist/features/admin/components/AdminOrdersView.js +9 -2
- package/dist/features/admin/components/AdminPayoutsView.js +1 -1
- package/dist/features/admin/components/AdminPrizeDrawsView.js +11 -0
- package/dist/features/admin/components/AdminProductEditorView.d.ts +10 -1
- package/dist/features/admin/components/AdminProductEditorView.js +24 -37
- package/dist/features/admin/components/AdminProductsView.js +10 -3
- package/dist/features/admin/components/AdminScammersView.js +1 -1
- package/dist/features/admin/components/AdminSectionsView.js +21 -5
- package/dist/features/admin/components/AdminSessionsView.js +1 -1
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +22 -1
- package/dist/features/admin/components/AdminTeamView.js +1 -1
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +0 -1
- package/dist/features/admin/components/AdminUsersView.js +1 -1
- package/dist/features/admin/components/DataListingView.d.ts +2 -1
- package/dist/features/admin/components/DataListingView.js +9 -4
- package/dist/features/admin/components/analytics/AdminPageViewsReportView.js +0 -2
- package/dist/features/admin/hooks/useAdminListing.d.ts +1 -1
- package/dist/features/admin/repository/site-settings.repository.js +8 -3
- package/dist/features/admin/schemas/firestore.d.ts +62 -1
- package/dist/features/admin/schemas/firestore.js +32 -0
- package/dist/features/admin/types/index.d.ts +1 -1
- package/dist/features/auctions/actions/bid-actions.d.ts +2 -2
- package/dist/features/auctions/actions/bid-actions.js +16 -4
- package/dist/features/auctions/api/route.js +1 -1
- package/dist/features/auctions/components/AuctionBottomActions.js +4 -0
- package/dist/features/auctions/repository/bid.repository.d.ts +46 -4
- package/dist/features/auctions/repository/bid.repository.js +114 -13
- package/dist/features/auctions/schemas/firestore.d.ts +24 -4
- package/dist/features/auctions/schemas/firestore.js +1 -0
- package/dist/features/auth/actions/profile-actions.js +30 -4
- package/dist/features/auth/components/index.d.ts +0 -1
- package/dist/features/auth/components/index.js +0 -1
- package/dist/features/auth/repository/session.repository.d.ts +17 -3
- package/dist/features/auth/repository/session.repository.js +46 -5
- package/dist/features/auth/repository/token.repository.d.ts +27 -4
- package/dist/features/auth/repository/token.repository.js +65 -11
- package/dist/features/auth/repository/user.repository.d.ts +33 -7
- package/dist/features/auth/repository/user.repository.js +100 -15
- package/dist/features/auth/schemas/firestore.d.ts +63 -12
- package/dist/features/auth/schemas/firestore.js +11 -0
- package/dist/features/before-after/api/route.js +1 -1
- package/dist/features/blog/components/BlogListView.js +16 -3
- package/dist/features/blog/components/BlogPostView.js +1 -1
- package/dist/features/blog/schemas/index.d.ts +2 -2
- package/dist/features/cart/api/route.js +1 -1
- package/dist/features/catalogue/repository/catalogue.repository.d.ts +7 -7
- package/dist/features/catalogue/repository/catalogue.repository.js +28 -10
- package/dist/features/catalogue/schemas/firestore.d.ts +11 -0
- package/dist/features/categories/api/route.js +10 -10
- package/dist/features/categories/components/CategoryDetailPageView.js +35 -5
- package/dist/features/categories/components/CategorySelectorCreate.js +0 -1
- package/dist/features/categories/components/index.d.ts +0 -2
- package/dist/features/categories/components/index.js +0 -1
- package/dist/features/categories/repository/categories.repository.d.ts +1 -0
- package/dist/features/categories/repository/categories.repository.js +31 -1
- package/dist/features/categories/schemas/index.d.ts +2 -2
- package/dist/features/categories/utils/taxonomy-visual.d.ts +21 -0
- package/dist/features/categories/utils/taxonomy-visual.js +58 -0
- package/dist/features/checkout/actions/checkout-value-otp-actions.js +8 -1
- package/dist/features/collections/api/[slug]/route.js +3 -3
- package/dist/features/collections/api/route.js +1 -1
- package/dist/features/consultation/api/route.js +1 -1
- package/dist/features/consultation/repository/consultations.repository.js +1 -1
- package/dist/features/consultation/types/index.d.ts +1 -1
- package/dist/features/contact/components/ContactForm.js +1 -3
- package/dist/features/corporate/api/route.js +1 -1
- package/dist/features/corporate/repository/corporate.repository.js +1 -1
- package/dist/features/corporate/types/index.d.ts +1 -1
- package/dist/features/cron/jobs/auction-expiry.job.js +1 -1
- package/dist/features/cron/jobs/preorder-reminder.job.js +1 -1
- package/dist/features/events/actions/event-actions.d.ts +14 -0
- package/dist/features/events/actions/event-actions.js +82 -3
- package/dist/features/events/api/[id]/route.js +2 -2
- package/dist/features/events/components/AdminEventEditorView.js +22 -3
- package/dist/features/events/components/AdminEventsView.js +32 -8
- package/dist/features/events/components/EventRafflesSection.d.ts +34 -1
- package/dist/features/events/components/EventRafflesSection.js +52 -3
- package/dist/features/events/components/SpinWheelView.d.ts +2 -2
- package/dist/features/events/components/SpinWheelView.js +41 -4
- package/dist/features/events/repository/event-entry.repository.d.ts +14 -2
- package/dist/features/events/repository/event-entry.repository.js +41 -7
- package/dist/features/events/schemas/firestore.d.ts +17 -4
- package/dist/features/events/types/index.d.ts +37 -0
- package/dist/features/faq/repository/faqs.repository.js +1 -1
- package/dist/features/faq/schemas/index.d.ts +5 -2
- package/dist/features/faq/schemas/index.js +6 -0
- package/dist/features/faq/types/index.d.ts +0 -1
- package/dist/features/grouped/components/GroupedListingEditorView.js +17 -2
- package/dist/features/homepage/api/carousel/[id]/route.js +1 -1
- package/dist/features/homepage/api/carousel/route.js +4 -4
- package/dist/features/homepage/api/route.js +2 -2
- package/dist/features/homepage/api/sections/route.js +1 -1
- package/dist/features/homepage/components/AnnouncementBar.d.ts +1 -9
- package/dist/features/homepage/components/AnnouncementBar.js +13 -19
- package/dist/features/homepage/components/MarketplaceHomepageView.js +6 -1
- package/dist/features/homepage/components/index.d.ts +0 -2
- package/dist/features/homepage/components/index.js +0 -1
- package/dist/features/homepage/repository/homepage.repository.js +1 -1
- package/dist/features/homepage/schemas/firestore.d.ts +6 -0
- package/dist/features/homepage/schemas/index.d.ts +10 -10
- package/dist/features/layout/AppLayoutShell.d.ts +12 -3
- package/dist/features/layout/AppLayoutShell.js +65 -13
- package/dist/features/layout/BottomActionsContext.d.ts +16 -0
- package/dist/features/layout/BottomActionsContext.js +5 -0
- package/dist/features/layout/BottomChrome.js +48 -9
- package/dist/features/layout/BottomNavbar.d.ts +14 -0
- package/dist/features/layout/BottomNavbar.js +43 -3
- package/dist/features/layout/MainNavbar.d.ts +11 -0
- package/dist/features/layout/NavbarLayout.d.ts +3 -0
- package/dist/features/layout/NavbarLayout.js +88 -11
- package/dist/features/layout/SideActionDock.d.ts +1 -0
- package/dist/features/layout/SideActionDock.js +219 -0
- package/dist/features/layout/TitleBarLayout.d.ts +1 -3
- package/dist/features/layout/TitleBarLayout.js +3 -4
- package/dist/features/layout/cta-anchor.d.ts +31 -0
- package/dist/features/layout/cta-anchor.js +31 -0
- package/dist/features/layout/hooks/useBottomActions.d.ts +7 -0
- package/dist/features/layout/hooks/useBottomActions.js +6 -1
- package/dist/features/layout/index.d.ts +9 -1
- package/dist/features/layout/index.js +9 -1
- package/dist/features/layout/useCtaReveal.d.ts +24 -0
- package/dist/features/layout/useCtaReveal.js +82 -0
- package/dist/features/layout/useHoldToOpen.d.ts +41 -0
- package/dist/features/layout/useHoldToOpen.js +84 -0
- package/dist/features/lottery/repository/lottery-entry.repository.d.ts +18 -3
- package/dist/features/lottery/repository/lottery-entry.repository.js +48 -6
- package/dist/features/lottery/schemas/firestore.d.ts +33 -5
- package/dist/features/loyalty/api/balance/route.js +1 -1
- package/dist/features/loyalty/api/history/route.js +1 -1
- package/dist/features/media/MediaImage.js +0 -1
- package/dist/features/media/MediaPickerModal.js +7 -1
- package/dist/features/media/modals/ImageEditor.js +5 -1
- package/dist/features/media/modals/VideoThumbnailSelector.js +17 -1
- package/dist/features/media/repository/media-assets.repository.d.ts +19 -0
- package/dist/features/media/upload/CameraCapture.js +16 -1
- package/dist/features/media/upload/ImageUpload.js +42 -4
- package/dist/features/media/upload/MediaUploadField.js +69 -13
- package/dist/features/media/upload/downscale-image.d.ts +56 -0
- package/dist/features/media/upload/downscale-image.js +150 -0
- package/dist/features/messages/components/ConversationThreadView.js +45 -2
- package/dist/features/messages/components/MessageSellerButton.d.ts +15 -1
- package/dist/features/messages/components/MessageSellerButton.js +10 -2
- package/dist/features/messages/schemas/firestore.d.ts +15 -0
- package/dist/features/orders/hooks/useOrders.js +4 -2
- package/dist/features/orders/repository/orders.repository.d.ts +15 -4
- package/dist/features/orders/repository/orders.repository.js +52 -20
- package/dist/features/orders/schemas/firestore.d.ts +15 -4
- package/dist/features/orders/schemas/index.d.ts +8 -8
- package/dist/features/orders/types/index.d.ts +2 -2
- package/dist/features/payments/repository/payments.repository.js +2 -2
- package/dist/features/payments/repository/payout.repository.d.ts +23 -6
- package/dist/features/payments/repository/payout.repository.js +63 -23
- package/dist/features/payments/repository/saved-payment-methods.repository.d.ts +17 -6
- package/dist/features/payments/repository/saved-payment-methods.repository.js +59 -11
- package/dist/features/payments/schemas/firestore.d.ts +14 -3
- package/dist/features/payments/schemas/saved-methods-firestore.d.ts +12 -1
- package/dist/features/pre-orders/api/[slug]/route.js +1 -1
- package/dist/features/pre-orders/api/admin/route.js +1 -1
- package/dist/features/pre-orders/api/route.js +1 -1
- package/dist/features/pre-orders/repository/pre-orders.repository.d.ts +3 -3
- package/dist/features/pre-orders/repository/pre-orders.repository.js +6 -6
- package/dist/features/products/api/[id]/route.js +1 -1
- package/dist/features/products/components/ListingBottomActions.js +4 -0
- package/dist/features/products/components/ProductDetailPageView.js +2 -1
- package/dist/features/products/components/ProductGalleryClient.js +2 -2
- package/dist/features/products/components/ProductGrid.js +12 -1
- package/dist/features/products/components/index.d.ts +0 -2
- package/dist/features/products/components/index.js +0 -1
- package/dist/features/products/config/listing-type-listing-config.d.ts +0 -3
- package/dist/features/products/config/listing-type-listing-config.js +27 -2
- package/dist/features/products/constants/listing-tabs.d.ts +9 -0
- package/dist/features/products/constants/listing-tabs.js +3 -2
- package/dist/features/products/hooks/useProducts.js +2 -2
- package/dist/features/products/repository/products.repository.js +13 -1
- package/dist/features/products/schemas/index.d.ts +2 -2
- package/dist/features/products/types/index.d.ts +1 -1
- package/dist/features/promotions/api/route.js +1 -1
- package/dist/features/reviews/actions/review-actions.d.ts +6 -6
- package/dist/features/reviews/actions/review-actions.js +22 -8
- package/dist/features/reviews/components/ReviewDetailPageView.js +13 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.js +21 -4
- package/dist/features/reviews/repository/reviews.repository.d.ts +19 -7
- package/dist/features/reviews/repository/reviews.repository.js +63 -12
- package/dist/features/reviews/schemas/firestore.d.ts +13 -2
- package/dist/features/reviews/schemas/index.d.ts +2 -2
- package/dist/features/scams/actions/scam-actions.js +16 -4
- package/dist/features/search/components/SearchResultsPageView.js +2 -1
- package/dist/features/search/hooks/useSearchIndex.d.ts +34 -0
- package/dist/features/search/hooks/useSearchIndex.js +172 -0
- package/dist/features/search/repository/search.repository.js +2 -2
- package/dist/features/seller/actions/offer-actions.d.ts +5 -5
- package/dist/features/seller/actions/offer-actions.js +38 -8
- package/dist/features/seller/actions/seller-actions.js +34 -7
- package/dist/features/seller/api/coupons/route.js +1 -1
- package/dist/features/seller/api/products/route.js +1 -1
- package/dist/features/seller/api/store/route.js +1 -1
- package/dist/features/seller/components/SellerBidsView.js +1 -1
- package/dist/features/seller/components/SellerCouponsView.js +1 -1
- package/dist/features/seller/components/SellerListingTypeView.js +9 -1
- package/dist/features/seller/components/SellerOrdersView.js +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.js +0 -1
- package/dist/features/seller/components/SellerPayoutsView.js +1 -1
- package/dist/features/seller/components/SellerProductShell.js +0 -1
- package/dist/features/seller/components/SellerProductsView.js +1 -1
- package/dist/features/seller/components/SellerShippingView.js +0 -1
- package/dist/features/seller/components/SellerStorefrontView.js +0 -1
- package/dist/features/seller/components/index.d.ts +0 -4
- package/dist/features/seller/components/index.js +0 -2
- package/dist/features/seller/repository/offer.repository.d.ts +15 -3
- package/dist/features/seller/repository/offer.repository.js +43 -7
- package/dist/features/seller/schemas/firestore.d.ts +14 -3
- package/dist/features/seller/schemas/index.d.ts +4 -4
- package/dist/features/seller/schemas/order-forms.d.ts +39 -0
- package/dist/features/seller/schemas/order-forms.js +37 -0
- package/dist/features/shell/FormShell.js +6 -2
- package/dist/features/shell/QuickFormDrawer.js +15 -1
- package/dist/features/shipments/components/AdminShipmentEditorView.js +0 -1
- package/dist/features/shipments/components/AdminShipmentsView.js +1 -1
- package/dist/features/sticker-trace/components/StickerCommitPanel.d.ts +30 -0
- package/dist/features/sticker-trace/components/StickerCommitPanel.js +93 -0
- package/dist/features/sticker-trace/components/StickerPrintPanel.d.ts +33 -0
- package/dist/features/sticker-trace/components/StickerPrintPanel.js +104 -0
- package/dist/features/sticker-trace/components/StickerRetryPanel.d.ts +20 -0
- package/dist/features/sticker-trace/components/StickerRetryPanel.js +128 -0
- package/dist/features/sticker-trace/components/StickerRunHistoryPanel.d.ts +45 -0
- package/dist/features/sticker-trace/components/StickerRunHistoryPanel.js +84 -0
- package/dist/features/sticker-trace/components/StickerTraceStudio.d.ts +27 -0
- package/dist/features/sticker-trace/components/StickerTraceStudio.js +171 -0
- package/dist/features/sticker-trace/constants/help-content.d.ts +23 -0
- package/dist/features/sticker-trace/constants/help-content.js +172 -0
- package/dist/features/sticker-trace/hooks/useLiveTrace.d.ts +27 -0
- package/dist/features/sticker-trace/hooks/useLiveTrace.js +160 -0
- package/dist/features/sticker-trace/hooks/useStickerTraceProgress.d.ts +22 -0
- package/dist/features/sticker-trace/hooks/useStickerTraceProgress.js +106 -0
- package/dist/features/sticker-trace/repository/sticker-sheets.repository.d.ts +113 -0
- package/dist/features/sticker-trace/repository/sticker-sheets.repository.js +146 -0
- package/dist/features/sticker-trace/repository/sticker-trace-runs.repository.d.ts +132 -0
- package/dist/features/sticker-trace/repository/sticker-trace-runs.repository.js +174 -0
- package/dist/features/sticker-trace/schemas/firestore.d.ts +248 -0
- package/dist/features/sticker-trace/schemas/firestore.js +79 -0
- package/dist/features/sticker-trace/server.d.ts +8 -0
- package/dist/features/sticker-trace/server.js +51 -0
- package/dist/features/stores/actions/store-query-actions.d.ts +2 -2
- package/dist/features/stores/actions/store-query-actions.js +7 -2
- package/dist/features/stores/api/[storeSlug]/auctions/route.js +3 -3
- package/dist/features/stores/api/[storeSlug]/products/route.js +3 -3
- package/dist/features/stores/api/[storeSlug]/reviews/route.js +1 -1
- package/dist/features/stores/api/[storeSlug]/route.js +1 -1
- package/dist/features/stores/components/StoreNavTabs.js +17 -2
- package/dist/features/stores/manifest.js +8 -4
- package/dist/features/support/repository/support.repository.d.ts +14 -3
- package/dist/features/support/repository/support.repository.js +93 -13
- package/dist/features/support/schemas/firestore.d.ts +16 -5
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +61 -19
- package/dist/features/tester/seed-data/authored/buying__browsing-search.js +19 -3
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +243 -0
- package/dist/features/tester/seed-data/authored/content-discovery__events.js +36 -10
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +209 -0
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +90 -0
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +85 -0
- package/dist/features/tester/seed-data/authored/index.js +10 -0
- package/dist/features/tester/seed-data/authored/selling__media-limits.js +19 -17
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +10 -5
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +283 -0
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +235 -22
- package/dist/index.d.ts +10 -23
- package/dist/index.js +27 -19
- package/dist/next/api/routeHandler.js +9 -0
- package/dist/next/routing/require-record.d.ts +13 -0
- package/dist/next/routing/require-record.js +62 -0
- package/dist/next/routing/route-map.d.ts +4 -4
- package/dist/next/routing/route-map.js +25 -3
- package/dist/providers/db-firebase/base.d.ts +4 -2
- package/dist/providers/db-firebase/base.js +21 -5
- package/dist/providers/db-firebase/base.repository.d.ts +11 -9
- package/dist/providers/db-firebase/base.repository.js +19 -0
- package/dist/providers/db-firebase/rtdb-paths.d.ts +12 -0
- package/dist/providers/db-firebase/rtdb-paths.js +12 -0
- package/dist/react/ErrorBoundary.js +6 -1
- package/dist/react/hooks/realtime-event-constants.d.ts +1 -0
- package/dist/react/hooks/realtime-event-constants.js +8 -0
- package/dist/react/hooks/useEntityDelete.js +5 -1
- package/dist/react/hooks/useMessage.js +5 -1
- package/dist/repositories/index.d.ts +2 -2
- package/dist/repositories/index.js +6 -1
- package/dist/schemas/registry.d.ts +13 -20
- package/dist/schemas/registry.js +31 -14
- package/dist/schemas/webhooks/google-oauth.d.ts +2 -2
- package/dist/security/encrypted.d.ts +117 -0
- package/dist/security/encrypted.js +100 -0
- package/dist/security/index.d.ts +5 -2
- package/dist/security/index.js +16 -2
- package/dist/security/pii-accessors.d.ts +71 -0
- package/dist/security/pii-accessors.js +150 -0
- package/dist/security/pii-encrypt.d.ts +0 -8
- package/dist/security/pii-encrypt.js +22 -15
- package/dist/security/pii-mask.d.ts +18 -0
- package/dist/security/pii-mask.js +27 -0
- package/dist/seed/_helpers/search-txt-wrappers.d.ts +6 -6
- package/dist/seed/_helpers/search-txt-wrappers.js +22 -0
- package/dist/seed/addresses-seed-data.d.ts +2 -2
- package/dist/seed/authenticity-knowledge-seed-data.d.ts +34 -0
- package/dist/seed/authenticity-knowledge-seed-data.js +1277 -0
- package/dist/seed/bids-seed-data.d.ts +2 -2
- package/dist/seed/bids-seed-data.js +23 -2
- package/dist/seed/events-seed-data.d.ts +2 -2
- package/dist/seed/events-seed-data.js +5 -0
- package/dist/seed/faq-seed-data.js +175 -5
- package/dist/seed/homepage-sections-seed-data.js +39 -23
- package/dist/seed/index.d.ts +1 -0
- package/dist/seed/index.js +1 -0
- package/dist/seed/lottery-entries-seed-data.d.ts +2 -2
- package/dist/seed/offers-seed-data.d.ts +2 -2
- package/dist/seed/offers-seed-data.js +1 -1
- package/dist/seed/orders-seed-data.d.ts +2 -2
- package/dist/seed/payouts-seed-data.d.ts +2 -2
- package/dist/seed/payouts-seed-data.js +1 -1
- package/dist/seed/reviews-seed-data.d.ts +1 -2
- package/dist/seed/seed-purpose.js +7 -0
- package/dist/seed/sessions-seed-data.d.ts +2 -2
- package/dist/seed/sessions-seed-data.js +5 -0
- package/dist/seed/site-settings-seed-data.js +1 -1
- package/dist/seed/support-tickets-seed-data.d.ts +2 -2
- package/dist/seed/support-tickets-seed-data.js +1 -1
- package/dist/seed/users-seed-data.d.ts +2 -2
- package/dist/seed/users-seed-data.js +1 -1
- package/dist/seo/json-ld.js +5 -1
- package/dist/server.d.ts +18 -3
- package/dist/server.js +59 -3
- package/dist/styles.css +237 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/Button.js +7 -1
- package/dist/ui/components/FilterChipGroup.d.ts +11 -0
- package/dist/ui/components/FilterChipGroup.js +1 -1
- package/dist/ui/components/ImageGallery.js +6 -1
- package/dist/ui/components/ListingLayout.js +14 -8
- package/dist/ui/components/OverflowRow.d.ts +92 -0
- package/dist/ui/components/OverflowRow.js +203 -0
- package/dist/ui/components/OverflowRow.style.css +235 -0
- package/dist/ui/components/RecordDetailModal.js +14 -1
- package/dist/ui/components/RowActionMenu.js +5 -1
- package/dist/ui/components/SideDrawer.js +5 -1
- package/dist/ui/components/SideModal.js +9 -1
- package/dist/ui/components/TabBarShell.d.ts +12 -1
- package/dist/ui/components/TabBarShell.js +3 -2
- package/dist/ui/components/Tabs.js +36 -24
- package/dist/ui/components/Toast.d.ts +3 -24
- package/dist/ui/components/Toast.js +2 -19
- package/dist/ui/components/TopBannerPortal.d.ts +15 -0
- package/dist/ui/components/TopBannerPortal.js +19 -0
- package/dist/ui/components/UnsavedChangesModal.js +5 -1
- package/dist/ui/components/index.style.css +1 -0
- package/dist/ui/components/row-collapse.d.ts +15 -0
- package/dist/ui/components/row-collapse.js +127 -0
- package/dist/ui/components/toast-context.d.ts +63 -0
- package/dist/ui/components/toast-context.js +48 -0
- package/dist/ui/components/top-banner-slot.d.ts +37 -0
- package/dist/ui/components/top-banner-slot.js +45 -0
- package/dist/ui/icons/icon-registry.d.ts +6 -0
- package/dist/ui/icons/icon-registry.js +17 -1
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +1 -0
- package/dist/utils/array.helper.d.ts +2 -2
- package/dist/utils/array.helper.js +5 -5
- package/dist/utils/id-generators.d.ts +6 -0
- package/dist/utils/id-generators.js +10 -0
- package/dist/utils/media-url.js +0 -2
- package/dist/utils/search-txt-builders.d.ts +28 -4
- package/dist/utils/search-txt-builders.js +41 -1
- package/dist/validation/schemas.d.ts +8 -8
- package/package.json +6 -2
- package/scripts/seed-cli.mjs +3 -0
- package/dist/features/account/components/UserAddressesView.d.ts +0 -13
- package/dist/features/account/components/UserAddressesView.js +0 -5
- package/dist/features/account/components/UserNotificationsView.d.ts +0 -15
- package/dist/features/account/components/UserNotificationsView.js +0 -12
- package/dist/features/account/components/UserSettingsView.d.ts +0 -16
- package/dist/features/account/components/UserSettingsView.js +0 -13
- package/dist/features/account/components/UserSupportView.d.ts +0 -3
- package/dist/features/account/components/UserSupportView.js +0 -166
- package/dist/features/admin/components/DemoSeedView.d.ts +0 -11
- package/dist/features/admin/components/DemoSeedView.js +0 -5
- package/dist/features/auth/components/AuthStatusPanel.d.ts +0 -10
- package/dist/features/auth/components/AuthStatusPanel.js +0 -22
- package/dist/features/categories/components/CategoryProductsView.d.ts +0 -45
- package/dist/features/categories/components/CategoryProductsView.js +0 -21
- package/dist/features/homepage/components/HowItWorksInfoView.d.ts +0 -36
- package/dist/features/homepage/components/HowItWorksInfoView.js +0 -10
- package/dist/features/layout/BottomActions.d.ts +0 -1
- package/dist/features/layout/BottomActions.js +0 -311
- package/dist/features/products/components/ProductsView.d.ts +0 -6
- package/dist/features/products/components/ProductsView.js +0 -5
- package/dist/features/seller/components/SellerStoreView.d.ts +0 -8
- package/dist/features/seller/components/SellerStoreView.js +0 -8
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
19
19
|
* @tag sideEffects:none
|
|
20
20
|
*/
|
|
21
|
+
import { PRODUCT_MAX_IMAGES, PRODUCT_MAX_VIDEOS, } from "../../../_internal/shared/media/limits.js";
|
|
21
22
|
import { assignDefaultPhases } from "../utils/phases.js";
|
|
22
23
|
import { happyPathPages } from "./_happy-path.js";
|
|
23
24
|
import { moneyFlowsPages } from "./_money-flows.js";
|
|
@@ -2314,20 +2315,21 @@ const rawTesterChecklistItems = [
|
|
|
2314
2315
|
/*
|
|
2315
2316
|
* REMOVED 2026-09-11 — `media-upload-images-capped-at-5`.
|
|
2316
2317
|
*
|
|
2317
|
-
* It asserted the gallery caps at "5 images (not 10)". The cap
|
|
2318
|
-
* raised
|
|
2319
|
-
*
|
|
2320
|
-
* "
|
|
2321
|
-
*
|
|
2322
|
-
*
|
|
2323
|
-
* would fail against correct code, and anyone "fixing" the product to
|
|
2324
|
-
* satisfy it would re-break ten-image support. Its id encoded the wrong
|
|
2325
|
-
* number too, so correcting the label alone would still mislead.
|
|
2318
|
+
* It asserted the gallery caps at "5 images (not 10)". The cap had been
|
|
2319
|
+
* raised (`PRODUCT_MAX_IMAGES`), so the case documented the OLD
|
|
2320
|
+
* behaviour as the expectation: it would fail against correct code, and
|
|
2321
|
+
* anyone "fixing" the product to satisfy it would re-break multi-image
|
|
2322
|
+
* support. Its id encoded the wrong number too, so correcting the label
|
|
2323
|
+
* alone would still mislead.
|
|
2326
2324
|
*
|
|
2327
2325
|
* The invariant it really tested — the stated limit equals the enforced
|
|
2328
|
-
* limit — survives in `media-
|
|
2329
|
-
* requires the refusal to
|
|
2330
|
-
*
|
|
2326
|
+
* limit — survives in `media-over-cap-image-refused-client-side`, which
|
|
2327
|
+
* requires the refusal to NAME the limit. Nothing was lost.
|
|
2328
|
+
*
|
|
2329
|
+
* 🛑 And the lesson got applied rather than just recorded: the cap moved
|
|
2330
|
+
* again on 2026-10-19 (10 -> 24), and the two cases that would have gone
|
|
2331
|
+
* stale now interpolate `PRODUCT_MAX_IMAGES` and carry no number in
|
|
2332
|
+
* their ids. See the note on the `media-limits` page below.
|
|
2331
2333
|
*/
|
|
2332
2334
|
{
|
|
2333
2335
|
key: "media-upload-video-duration",
|
|
@@ -2903,25 +2905,44 @@ const rawTesterChecklistItems = [
|
|
|
2903
2905
|
},
|
|
2904
2906
|
{
|
|
2905
2907
|
pageKey: "media-limits",
|
|
2906
|
-
pageLabel:
|
|
2908
|
+
pageLabel: `Media \u2014 ${PRODUCT_MAX_IMAGES} images and ${PRODUCT_MAX_VIDEOS} video, on every listing type`,
|
|
2907
2909
|
href: "/store/products/new",
|
|
2908
2910
|
cases: [
|
|
2909
2911
|
{
|
|
2910
2912
|
key: "media-gallery-accepts-images-and-video",
|
|
2911
2913
|
label: "The gallery takes BOTH images and a video, and shows a live per-type count",
|
|
2912
|
-
description:
|
|
2914
|
+
description: `Changed 2026-09-04. BEFORE the single-media control on the listing form was video-only (\`kind="video"\`), so the one "add media" affordance a seller saw refused photos. AFTER: the gallery accepts image files and a video file in the same control, and a counter under it reads "N/${PRODUCT_MAX_IMAGES} images \u00b7 N/${PRODUCT_MAX_VIDEOS} video" as you add them.`,
|
|
2913
2915
|
href: "/store/products/new",
|
|
2914
2916
|
},
|
|
2917
|
+
/*
|
|
2918
|
+
* \ud83d\uded1 These two cases state the cap by INTERPOLATING `PRODUCT_MAX_IMAGES`,
|
|
2919
|
+
* and their keys no longer encode a number.
|
|
2920
|
+
*
|
|
2921
|
+
* The pair they replace (`media-tenth-image-uploads`,
|
|
2922
|
+
* `media-eleventh-image-refused-client-side`) hard-coded 10 in the key,
|
|
2923
|
+
* the label, the description and the authored procedure's `inputs` \u2014
|
|
2924
|
+
* so raising the cap to 24 on 2026-10-19 would have left four cases
|
|
2925
|
+
* asserting the OLD number and failing against correct code. That is
|
|
2926
|
+
* exactly what the removal note above this page records happening the
|
|
2927
|
+
* last time the cap moved, including its warning that "its id encoded
|
|
2928
|
+
* the wrong number too, so correcting the label alone would still
|
|
2929
|
+
* mislead".
|
|
2930
|
+
*
|
|
2931
|
+
* What is actually under test is the BOUNDARY, not the number: that the
|
|
2932
|
+
* last allowed image succeeds (the off-by-one), and that the first one
|
|
2933
|
+
* over is refused client-side. Both are stated cap-agnostically, so the
|
|
2934
|
+
* next change to the cap needs no edit here at all.
|
|
2935
|
+
*/
|
|
2915
2936
|
{
|
|
2916
|
-
key: "media-
|
|
2917
|
-
label: "The
|
|
2918
|
-
description:
|
|
2937
|
+
key: "media-last-allowed-image-uploads",
|
|
2938
|
+
label: "The LAST allowed gallery image uploads \u2014 the cap is inclusive of its own number",
|
|
2939
|
+
description: `Add images one at a time, counting previews, until the control refuses one. BEFORE: the gallery sent its Nth image as index N+1 while the server's signed-URL guard rejected any index above the cap \u2014 so the LAST slot of every product form returned a 400 that read as a random upload failure. AFTER: the count you reach before any refusal must be exactly ${PRODUCT_MAX_IMAGES}, not ${PRODUCT_MAX_IMAGES - 1}. An off-by-one here is the most likely error and the least likely to be noticed, because one short of the cap still looks like plenty.`,
|
|
2919
2940
|
href: "/store/products/new",
|
|
2920
2941
|
},
|
|
2921
2942
|
{
|
|
2922
|
-
key: "media-
|
|
2923
|
-
label: "The
|
|
2924
|
-
description:
|
|
2943
|
+
key: "media-over-cap-image-refused-client-side",
|
|
2944
|
+
label: "The first image OVER the cap is refused by the FORM, not by the server",
|
|
2945
|
+
description: `With ${PRODUCT_MAX_IMAGES} images already added, attempt one more with the browser's Network panel open. The control must refuse it before requesting a signed URL, and the message must NAME the limit ("You can upload up to ${PRODUCT_MAX_IMAGES} images."). A server-side 400 arriving after the bytes have gone up is the wrong behaviour twice over \u2014 the seller has already waited, and an orphaned object is left in storage.`,
|
|
2925
2946
|
href: "/store/products/new",
|
|
2926
2947
|
},
|
|
2927
2948
|
{
|
|
@@ -2932,8 +2953,8 @@ const rawTesterChecklistItems = [
|
|
|
2932
2953
|
},
|
|
2933
2954
|
{
|
|
2934
2955
|
key: "media-caps-flat-across-types",
|
|
2935
|
-
label:
|
|
2936
|
-
description:
|
|
2956
|
+
label: `The same ${PRODUCT_MAX_IMAGES} + ${PRODUCT_MAX_VIDEOS} applies to an auction and a pre-order \u2014 there is no per-type table`,
|
|
2957
|
+
description: `Repeat the boundary check on /store/auctions/new and /store/pre-orders/new. Both must allow ${PRODUCT_MAX_IMAGES}. BEFORE the server carried separate AUCTION_IMAGE_MAX and PREORDER_IMAGE_MAX constants, both 5, disagreeing with everything else.`,
|
|
2937
2958
|
href: "/store/auctions/new",
|
|
2938
2959
|
},
|
|
2939
2960
|
{
|
|
@@ -3091,6 +3112,72 @@ const rawTesterChecklistItems = [
|
|
|
3091
3112
|
{ key: "brand-count-matches-its-listing", label: "A brand page's count equals what that brand page lists" },
|
|
3092
3113
|
],
|
|
3093
3114
|
},
|
|
3115
|
+
{
|
|
3116
|
+
/*
|
|
3117
|
+
* Overflowing pill and tab rows — 2026-10-18.
|
|
3118
|
+
*
|
|
3119
|
+
* 🛑 Every case here is written as an explicit BEFORE → AFTER, because
|
|
3120
|
+
* the defect's symptom is not an error: a row that overflows renders
|
|
3121
|
+
* perfectly, returns HTTP 200, and simply puts some of its items past
|
|
3122
|
+
* the right edge where nothing indicates they exist. A case reading
|
|
3123
|
+
* "check the subcategories show" PASSES against the bug.
|
|
3124
|
+
*
|
|
3125
|
+
* The reported instance had 12 subcategory pills on a 1440px viewport
|
|
3126
|
+
* with the last four unreachable — no scrollbar, no arrow, no hint.
|
|
3127
|
+
*
|
|
3128
|
+
* Width is the thing under test, so every case NAMES A VIEWPORT. A run
|
|
3129
|
+
* at an unstated width cannot distinguish "collapsed correctly" from
|
|
3130
|
+
* "collapsed when it had room", which are opposite defects.
|
|
3131
|
+
*/
|
|
3132
|
+
pageKey: "overflowing-pill-rows",
|
|
3133
|
+
pageLabel: "Pill and tab rows that do not fit collapse into a searchable dropdown",
|
|
3134
|
+
href: "/categories",
|
|
3135
|
+
cases: [
|
|
3136
|
+
{ key: "wide-row-stays-pills", label: "A subcategory row that FITS still renders as pills, not a dropdown" },
|
|
3137
|
+
{ key: "narrow-row-collapses", label: "The same row at a phone width collapses to one dropdown trigger" },
|
|
3138
|
+
{ key: "collapsed-dropdown-is-searchable", label: "The collapsed dropdown has a search box that filters as you type" },
|
|
3139
|
+
{ key: "collapsed-dropdown-keyboard", label: "Arrow keys and Enter pick an item without touching the mouse" },
|
|
3140
|
+
{ key: "every-item-reachable-when-collapsed", label: "Every subcategory is reachable from the dropdown, including ones that used to be off-screen" },
|
|
3141
|
+
{ key: "pills-carry-a-leading-image", label: "Subcategory pills and dropdown rows show the category's own cover image" },
|
|
3142
|
+
{ key: "missing-image-falls-back-to-initial", label: "A subcategory with no cover image shows an initial, not a blank box or a broken image" },
|
|
3143
|
+
{ key: "widening-restores-the-pills", label: "Widening the window back expands the dropdown into pills again" },
|
|
3144
|
+
{ key: "subcategory-click-is-client-side", label: "Clicking a subcategory navigates without a full page reload" },
|
|
3145
|
+
{ key: "tabs-collapse-by-width-not-count", label: "A tab bar with six short tabs stays a row on desktop instead of collapsing on a count" },
|
|
3146
|
+
{ key: "event-tabs-do-not-jump-to-top", label: "Switching event tabs does not scroll the page back to the top" },
|
|
3147
|
+
],
|
|
3148
|
+
},
|
|
3149
|
+
{
|
|
3150
|
+
/*
|
|
3151
|
+
* The authenticity checker — 2026-10-18.
|
|
3152
|
+
*
|
|
3153
|
+
* 🛑 Every case here asserts the presence of a HEDGE, or compares two
|
|
3154
|
+
* inputs, because this tool's failure mode is not a crash: it is a
|
|
3155
|
+
* confident, plausible, wrong answer served with HTTP 200. Code-matching
|
|
3156
|
+
* alone cannot detect a counterfeit (one crawled counterfeit catalogue
|
|
3157
|
+
* printed 900+ genuine Takara Tomy codes), the Metal Fight date-code
|
|
3158
|
+
* decoding is disputed with no manufacturer statement, and two of the
|
|
3159
|
+
* spellings a naive build would flag as fake tells are Takara Tomy's own
|
|
3160
|
+
* romanisation and a licensed Indian importer's name.
|
|
3161
|
+
*/
|
|
3162
|
+
pageKey: "authenticity-checker",
|
|
3163
|
+
pageLabel: "Authenticity checker — box codes, per-generation checks and the sign-in gate",
|
|
3164
|
+
href: "/tools/authenticity",
|
|
3165
|
+
cases: [
|
|
3166
|
+
{ key: "guest-sees-reference-not-a-wall", label: "Signed out, the generation table and universal checks still render — only the lookup is gated" },
|
|
3167
|
+
{ key: "no-signin-flash-when-authenticated", label: "A signed-in user never sees 'Sign in to run a lookup' during a hard reload" },
|
|
3168
|
+
{ key: "midfake-code-reads-as-batch-not-accusation", label: "A matched midfake code reports a batch, never a counterfeit accusation against the seller" },
|
|
3169
|
+
{ key: "date-code-shows-both-readings", label: "A box date code shows BOTH circulating readings and says neither is official" },
|
|
3170
|
+
{ key: "real-product-code-is-not-evidence", label: "A well-formed product code is marked neutral and states that real codes appear on fakes" },
|
|
3171
|
+
{ key: "name-code-mismatch-asks-rather-than-accuses", label: "A name/code mismatch is a question, and ticking Random Booster re-reads it as expected" },
|
|
3172
|
+
{ key: "ambiguous-name-asks-which-model", label: "An ambiguous name asks which release instead of confidently naming one" },
|
|
3173
|
+
{ key: "takara-spelling-is-not-flagged", label: "'Storm Pegasis' (the Takara Tomy spelling) is not flagged, while 'Scythee' is" },
|
|
3174
|
+
{ key: "funskool-is-not-a-fake-signal", label: "Funskool reads as a licensed importer; Rapidity reads as an unlicensed producer" },
|
|
3175
|
+
{ key: "unknown-code-is-not-called-fake", label: "An unrecorded code says 'not recorded' and explicitly not 'fake'" },
|
|
3176
|
+
{ key: "asks-generation-when-nothing-inferable", label: "With no generation inferable the tool asks instead of returning a verdict" },
|
|
3177
|
+
{ key: "api-refuses-signed-out", label: "POST /api/tools/authenticity returns 401/403 signed out and leaks no assessment" },
|
|
3178
|
+
{ key: "json-ld-declares-the-gate", label: "The WebApplication JSON-LD declares the gated region, and its cssSelector matches a real element" },
|
|
3179
|
+
],
|
|
3180
|
+
},
|
|
3094
3181
|
{
|
|
3095
3182
|
/*
|
|
3096
3183
|
* D12 — the parts database, the composition panel, and the part line in a
|
|
@@ -3892,6 +3979,92 @@ const rawTesterChecklistItems = [
|
|
|
3892
3979
|
},
|
|
3893
3980
|
],
|
|
3894
3981
|
},
|
|
3982
|
+
{
|
|
3983
|
+
pageKey: "header-controls-and-messages",
|
|
3984
|
+
pageLabel: "Header Controls — Tour Removed, Messages Enabled",
|
|
3985
|
+
href: "/products",
|
|
3986
|
+
cases: [
|
|
3987
|
+
{
|
|
3988
|
+
key: "no-help-or-tour-icon",
|
|
3989
|
+
label: "The header has NO '?' help / product-tour icon at any window width",
|
|
3990
|
+
description: "Removed 2026-10-15. BEFORE: a '?' icon sat between the theme toggle and the hamburger; it started the product tour (aria-label 'Start product tour'). It was one control, not two — the help glyph WAS the tour button. AFTER: check the header at 320px, 768px, 1024px and 1440px. There must be no '?' icon at any of them. The remaining right-hand controls are search, Today's Deals (sm and up), theme and hamburger — plus the signed-in icons on lg and up.",
|
|
3991
|
+
href: "/products",
|
|
3992
|
+
},
|
|
3993
|
+
{
|
|
3994
|
+
key: "tour-does-not-autostart",
|
|
3995
|
+
label: "No product tour starts on its own, and no tour overlay can be triggered from the header",
|
|
3996
|
+
description: "Removing the button removed the only way to start a tour. Load several pages signed out and signed in and confirm no tour popover, spotlight or step overlay ever appears. If a tour does appear, something still calls startTour and the removal was incomplete.",
|
|
3997
|
+
href: "/",
|
|
3998
|
+
},
|
|
3999
|
+
{
|
|
4000
|
+
key: "messages-icon-visible-when-signed-in",
|
|
4001
|
+
label: "A signed-in user sees a messages/inbox icon in the header that opens the inbox",
|
|
4002
|
+
description: "Enabled 2026-10-15. BEFORE: siteSettings.chat.enabled was absent, and the header renders nothing at all without it — not a disabled icon, nothing — so there was no way into the inbox. AFTER: sign in and look at the header on a desktop width (lg and up). A messages icon must be present beside the notification bell, and clicking it must open /messages, not 404.",
|
|
4003
|
+
href: "/messages",
|
|
4004
|
+
},
|
|
4005
|
+
{
|
|
4006
|
+
key: "messages-icon-on-mobile-row",
|
|
4007
|
+
label: "On mobile the messages icon appears in the secondary header row, not only on desktop",
|
|
4008
|
+
description: "The header hides several signed-in icons below lg and carries them on a second row instead. Signed in at 320–768px, confirm the messages icon is reachable in that secondary row and opens the inbox.",
|
|
4009
|
+
href: "/messages",
|
|
4010
|
+
},
|
|
4011
|
+
{
|
|
4012
|
+
key: "messages-absent-for-guests",
|
|
4013
|
+
label: "A signed-OUT visitor does not see a messages icon",
|
|
4014
|
+
description: "Messages are per-user, so the control should not appear for a guest even with chat enabled. Sign out, reload, and confirm no messages icon is present in either header row.",
|
|
4015
|
+
href: "/products",
|
|
4016
|
+
},
|
|
4017
|
+
{
|
|
4018
|
+
key: "messages-inbox-loads",
|
|
4019
|
+
label: "The /messages inbox page loads for a signed-in user and shows either conversations or a proper empty state",
|
|
4020
|
+
description: "The feature was dormant behind a flag, so this is the first real exercise of the page. Open /messages signed in. It must render the inbox shell with either a conversation list or an explicit empty state — never a crash, a redirect to /unauthorized, or an endless spinner.",
|
|
4021
|
+
href: "/messages",
|
|
4022
|
+
},
|
|
4023
|
+
],
|
|
4024
|
+
},
|
|
4025
|
+
{
|
|
4026
|
+
pageKey: "header-brand-mark-centring",
|
|
4027
|
+
pageLabel: "Header — Centred Brand Mark Never Collides With the Icons",
|
|
4028
|
+
href: "/products",
|
|
4029
|
+
cases: [
|
|
4030
|
+
{
|
|
4031
|
+
key: "mark-clear-of-icons-across-the-lg-band",
|
|
4032
|
+
label: "Sweeping the window from 1024px to 1280px, the centred leaf mark never overlaps the notification, messages, wishlist or cart icons",
|
|
4033
|
+
description: "Fixed 2026-10-19. BEFORE: the mark was `position: absolute; left: 50%` inside the title row, so the row's `justify-between` reserved no space for it and the right-hand cluster grew leftward straight over it. The mark reveals at md (768px) and those four icons reveal at lg (1024px), so from 1024px to roughly 1150px the cluster's left edge crossed the row midpoint and the leaf painted across the bell and the heart. AFTER: resize in ~32px steps from 1024px to 1280px and watch the gap between the wordmark and the first icon. The leaf must sit in clear space at every single step — no part of it may touch an icon's 44px box.",
|
|
4034
|
+
href: "/products",
|
|
4035
|
+
},
|
|
4036
|
+
{
|
|
4037
|
+
key: "mark-clear-signed-out-worst-case",
|
|
4038
|
+
label: "SIGNED OUT at ~1100px — where 'Sign in' and 'Register' make the cluster widest — the mark is still clear of everything",
|
|
4039
|
+
description: "Signed out is the worst case, not the easiest: the two auth buttons (~160px together) stand in for a single 44px avatar, so the cluster reaches ~120px further left than it does signed in. This is the exact width and session the original screenshot was taken at. Compare the same width signed in and signed out; both must be clean, and if only one fails say which.",
|
|
4040
|
+
href: "/products",
|
|
4041
|
+
},
|
|
4042
|
+
{
|
|
4043
|
+
key: "mark-shifts-rather-than-overlapping",
|
|
4044
|
+
label: "When the cluster is too wide to leave room, the mark moves off-centre — it never ends up underneath an icon, and no control is clipped at the window edge",
|
|
4045
|
+
description: "The mark is now one of three in-flow tracks, so a crowded row makes it YIELD. Narrow past the point where a perfectly centred mark would no longer fit and confirm the degradation: the leaf slides toward the wordmark and stays fully visible, the icons keep their full 44px boxes, and nothing is cut off at the right edge. A leaf that vanishes under an icon, or a hamburger sliced by the edge, are both failures — record which.",
|
|
4046
|
+
href: "/products",
|
|
4047
|
+
},
|
|
4048
|
+
{
|
|
4049
|
+
key: "mark-centred-at-wide-widths",
|
|
4050
|
+
label: "At 1440px and wider the leaf is centred in the header, not nudged to one side",
|
|
4051
|
+
description: "With room to spare the two side tracks split the free space evenly, which should put the leaf on the header's midpoint. Maximise the window and eyeball it against the centre of the page — a mark that is visibly off-centre at a wide width means the tracks are no longer balanced, which is a different fault from the collision and should be reported separately.",
|
|
4052
|
+
href: "/products",
|
|
4053
|
+
},
|
|
4054
|
+
{
|
|
4055
|
+
key: "mark-absent-below-md",
|
|
4056
|
+
label: "At 767px and below there is no centred leaf, the wordmark keeps its own small leaf prefix, and the header has no odd empty gap",
|
|
4057
|
+
description: "The centred mark is `hidden` below md, which removes it as a layout item entirely — so the header should look exactly as it always has on mobile. Check 767px, 640px and 320px: no centred leaf, a small leaf immediately left of the 'LetItRip' wordmark, the action cluster still flush to the right edge with no stray gap, and the hamburger fully visible and tappable at 320px.",
|
|
4058
|
+
href: "/products",
|
|
4059
|
+
},
|
|
4060
|
+
{
|
|
4061
|
+
key: "mark-centred-in-left-hand-mode",
|
|
4062
|
+
label: "In left-hand mode the wordmark and the icons swap sides, the leaf stays centred, and it still overlaps nothing",
|
|
4063
|
+
description: "Hand mode mirrors the row, so this is where a layout fix most easily half-works. Turn on left-hand mode, then repeat the 1024px–1280px sweep: the wordmark must sit flush against the RIGHT edge with no gap, the icon cluster flush against the LEFT edge with the hamburger outermost, and the leaf still centred and untouched. A wordmark floating away from its edge means a side track lost its mirrored alignment.",
|
|
4064
|
+
href: "/products",
|
|
4065
|
+
},
|
|
4066
|
+
],
|
|
4067
|
+
},
|
|
3895
4068
|
{
|
|
3896
4069
|
pageKey: "nav-reachability",
|
|
3897
4070
|
pageLabel: "Navigation — Every Item Reachable at Every Width",
|
|
@@ -6668,6 +6841,46 @@ const rawTesterChecklistItems = [
|
|
|
6668
6841
|
* tester reporting "I did the actions" as if it were "the outcome was right".
|
|
6669
6842
|
* ══════════════════════════════════════════════════════════════════════════ */
|
|
6670
6843
|
...group("money-flows", "Money Flows (end to end)", moneyFlowsPages),
|
|
6844
|
+
/*
|
|
6845
|
+
* The sticker-sheet kiss-cut tracer. Admin-only, under a PUBLIC prefix.
|
|
6846
|
+
*
|
|
6847
|
+
* 🛑 `adminOnly` is a presentation flag for the checklist, not the gate. The
|
|
6848
|
+
* real boundary is the layout's server-side session read, which redirects a
|
|
6849
|
+
* non-admin before any HTML exists — which is exactly what the buyer and
|
|
6850
|
+
* guest cases below assert. Marking it admin-only here only keeps it out of a
|
|
6851
|
+
* non-admin tester's list.
|
|
6852
|
+
*
|
|
6853
|
+
* Every case is an explicit BEFORE -> AFTER, because almost every defect this
|
|
6854
|
+
* feature can have returns 200 with plausible content: a wrong part count, a
|
|
6855
|
+
* watermarked original, a millimetre derived from a DPI nobody confirmed. A
|
|
6856
|
+
* case reading "check the tracer works" would pass against all three.
|
|
6857
|
+
*/
|
|
6858
|
+
...group("tools", "Tools", [
|
|
6859
|
+
{
|
|
6860
|
+
pageKey: "sticker-tracer",
|
|
6861
|
+
pageLabel: "Sticker sheet tracer",
|
|
6862
|
+
href: "/tools/sticker-tracer",
|
|
6863
|
+
cases: [
|
|
6864
|
+
{ key: "enclosed-region-opaque", label: "An enclosed region matching the paper colour stays OPAQUE inside its sticker" },
|
|
6865
|
+
{ key: "white-on-white-edge", label: "A white sticker edge on white paper is found with no per-sticker parameter" },
|
|
6866
|
+
{ key: "background-model-named", label: "The result names which background model ran (paper vs art)" },
|
|
6867
|
+
{ key: "name-required", label: "A run cannot be committed without a name" },
|
|
6868
|
+
{ key: "no-watermark-on-original", label: "A downloaded original carries NO watermark and comes from a signed GCS URL" },
|
|
6869
|
+
{ key: "progress-names-stage", label: "Live progress names the current STAGE, not just a percentage" },
|
|
6870
|
+
{ key: "failure-names-stage", label: "A failed run names the stage it died in and survives a reload" },
|
|
6871
|
+
{ key: "runs-never-overwrite", label: "A second run never overwrites the first — both stay in history" },
|
|
6872
|
+
{ key: "accepted-differs-from-succeeded", label: "'accepted' and 'succeeded' are distinct, and exactly one run is accepted" },
|
|
6873
|
+
{ key: "fullres-only-after-accept", label: "Full-resolution parts and the export surface appear only after accepting" },
|
|
6874
|
+
{ key: "no-dpi-no-mm", label: "With no confirmed DPI the export REFUSES rather than inventing a scale" },
|
|
6875
|
+
{ key: "oversized-named-not-scaled", label: "A part too wide for the machine is NAMED before export, never scaled" },
|
|
6876
|
+
{ key: "node-budget-reported", label: "The export node budget reports its cost in millimetres of deviation" },
|
|
6877
|
+
{ key: "retry-shows-clamp", label: "A retry SHOWS the resume clamp before it is applied" },
|
|
6878
|
+
{ key: "buyer-redirected", label: "A signed-in buyer is redirected and sees no Tools entry for it" },
|
|
6879
|
+
{ key: "guest-redirected", label: "A signed-out visitor is redirected; /tools itself is unaffected" },
|
|
6880
|
+
{ key: "storage-meter-honest", label: "The storage meter reports object COUNT beside bytes, and says when it truncated" },
|
|
6881
|
+
],
|
|
6882
|
+
},
|
|
6883
|
+
], { adminOnly: true }),
|
|
6671
6884
|
];
|
|
6672
6885
|
const defaultPhases = assignDefaultPhases(rawTesterChecklistItems);
|
|
6673
6886
|
export const testerChecklistSeedData = rawTesterChecklistItems.map((item, index) => ({
|
package/dist/index.d.ts
CHANGED
|
@@ -913,13 +913,10 @@ export { NotificationBell } from "./features/account/index";
|
|
|
913
913
|
export { OrderDetailView } from "./features/account/index";
|
|
914
914
|
export { ProfileView } from "./features/account/index";
|
|
915
915
|
export { UserAccountHubView } from "./features/account/index";
|
|
916
|
-
export { UserAddressesView } from "./features/account/index";
|
|
917
|
-
export { UserNotificationsView } from "./features/account/index";
|
|
918
916
|
export { UserOffersPanel } from "./features/account/index";
|
|
919
917
|
export type { UserOffersPanelProps } from "./features/account/index";
|
|
920
918
|
export { UserOrderTrackView } from "./features/account/index";
|
|
921
919
|
export { UserOrdersView } from "./features/account/index";
|
|
922
|
-
export { UserSettingsView } from "./features/account/index";
|
|
923
920
|
export { NotificationPreferencesPanel } from "./features/account/index";
|
|
924
921
|
export type { NotificationPreferencesPanelProps } from "./features/account/index";
|
|
925
922
|
export { accountAdminColumns } from "./features/account/index";
|
|
@@ -979,10 +976,6 @@ export type { UseNotificationsOptions } from "./features/account/index";
|
|
|
979
976
|
export type { UserAccountHubViewLabels } from "./features/account/index";
|
|
980
977
|
export type { UserAccountHubViewProps } from "./features/account/index";
|
|
981
978
|
export type { UserAddress } from "./features/account/index";
|
|
982
|
-
export type { UserAddressesViewLabels } from "./features/account/index";
|
|
983
|
-
export type { UserAddressesViewProps } from "./features/account/index";
|
|
984
|
-
export type { UserNotificationsViewLabels } from "./features/account/index";
|
|
985
|
-
export type { UserNotificationsViewProps } from "./features/account/index";
|
|
986
979
|
export type { UserOffer } from "./features/account/index";
|
|
987
980
|
export type { UserOrder } from "./features/account/index";
|
|
988
981
|
export type { UserOrderTrackViewLabels } from "./features/account/index";
|
|
@@ -990,8 +983,6 @@ export type { UserOrderTrackViewProps } from "./features/account/index";
|
|
|
990
983
|
export type { UserOrdersViewProps } from "./features/account/index";
|
|
991
984
|
export type { UserProfile } from "./features/account/index";
|
|
992
985
|
export type { UserProfileStats } from "./features/account/index";
|
|
993
|
-
export type { UserSettingsViewLabels } from "./features/account/index";
|
|
994
|
-
export type { UserSettingsViewProps } from "./features/account/index";
|
|
995
986
|
export { AccountRepository } from "./features/account/server";
|
|
996
987
|
export { createAddressForUser } from "./features/account/server";
|
|
997
988
|
export { deleteAddressForUser } from "./features/account/server";
|
|
@@ -1483,7 +1474,6 @@ export { CategoryCard } from "./features/categories/index";
|
|
|
1483
1474
|
export { CategoryFilters } from "./features/categories/index";
|
|
1484
1475
|
export { CategoryForm } from "./features/categories/index";
|
|
1485
1476
|
export { CategoryGrid } from "./features/categories/index";
|
|
1486
|
-
export { CategoryProductsView } from "./features/categories/index";
|
|
1487
1477
|
export { CategoryProductsListing } from "./features/categories/index";
|
|
1488
1478
|
export type { CategoryProductsListingProps } from "./features/categories/index";
|
|
1489
1479
|
export { CategoriesIndexListing } from "./features/categories/index";
|
|
@@ -1539,7 +1529,6 @@ export type { CategoryGridProps } from "./features/categories/index";
|
|
|
1539
1529
|
export type { CategoryItem } from "./features/categories/index";
|
|
1540
1530
|
export type { CategoryMetrics } from "./features/categories/index";
|
|
1541
1531
|
export type { CategoryMoveInput } from "./features/categories/index";
|
|
1542
|
-
export type { CategoryProductsViewProps } from "./features/categories/index";
|
|
1543
1532
|
export type { CategorySelectorCreateLabels } from "./features/categories/index";
|
|
1544
1533
|
export type { CategorySelectorCreateProps } from "./features/categories/index";
|
|
1545
1534
|
export type { CategorySeo } from "./features/categories/index";
|
|
@@ -1642,6 +1631,7 @@ export { AdminEventsView } from "./features/events/index";
|
|
|
1642
1631
|
export { AdminEventEditorView } from "./features/events/index";
|
|
1643
1632
|
export type { AdminEventEditorViewProps } from "./features/events/index";
|
|
1644
1633
|
export { EVENTS_COLLECTION } from "./features/events/index";
|
|
1634
|
+
export { RAFFLE_MAX_ENTRIES_PER_USER } from "./_internal/shared/features/events/config";
|
|
1645
1635
|
export { EVENT_ADMIN_SORT_OPTIONS } from "./features/events/index";
|
|
1646
1636
|
export { EVENT_ENTRIES_COLLECTION } from "./features/events/index";
|
|
1647
1637
|
export { LOTTERY_ENTRIES_COLLECTION } from "./features/lottery/schemas/firestore";
|
|
@@ -1882,7 +1872,6 @@ export { HeroCarousel } from "./features/homepage/index";
|
|
|
1882
1872
|
export { HeroSection } from "./features/homepage/index";
|
|
1883
1873
|
export { HomepageSkeleton } from "./features/homepage/index";
|
|
1884
1874
|
export { HomepageView } from "./features/homepage/index";
|
|
1885
|
-
export { HowItWorksInfoView } from "./features/homepage/index";
|
|
1886
1875
|
export { HowItWorksSection } from "./features/homepage/index";
|
|
1887
1876
|
export { NewsletterBanner } from "./features/homepage/index";
|
|
1888
1877
|
export { NewsletterSection } from "./features/homepage/index";
|
|
@@ -1930,9 +1919,6 @@ export type { HomepageSection } from "./features/homepage/index";
|
|
|
1930
1919
|
export type { HomepageSectionContent } from "./features/homepage/index";
|
|
1931
1920
|
export type { HomepageViewProps } from "./features/homepage/index";
|
|
1932
1921
|
export type { HotspotPin } from "./features/homepage/index";
|
|
1933
|
-
export type { HowItWorksInfoDetail } from "./features/homepage/index";
|
|
1934
|
-
export type { HowItWorksInfoStep } from "./features/homepage/index";
|
|
1935
|
-
export type { HowItWorksInfoViewProps } from "./features/homepage/index";
|
|
1936
1922
|
export type { HowItWorksSectionProps } from "./features/homepage/index";
|
|
1937
1923
|
export type { HowItWorksStep } from "./features/homepage/index";
|
|
1938
1924
|
export type { NewsletterBannerProps } from "./features/homepage/index";
|
|
@@ -1995,6 +1981,8 @@ export { AppLayoutShell } from "./features/layout/index";
|
|
|
1995
1981
|
export { AutoBreadcrumbs } from "./features/layout/index";
|
|
1996
1982
|
export { BackToTop } from "./features/layout/index";
|
|
1997
1983
|
export { BottomActions } from "./features/layout/index";
|
|
1984
|
+
export { SideActionDock } from "./features/layout/index";
|
|
1985
|
+
export { ctaAnchorProps, CTA_ANCHOR_ATTR } from "./features/layout/index";
|
|
1998
1986
|
export { BottomActionsProvider } from "./features/layout/index";
|
|
1999
1987
|
export { BottomNavItem } from "./features/layout/index";
|
|
2000
1988
|
export { BottomNavLayout } from "./features/layout/index";
|
|
@@ -2341,7 +2329,6 @@ export { ProductGrid } from "./features/products/index";
|
|
|
2341
2329
|
export { ProductInfo } from "./features/products/index";
|
|
2342
2330
|
export { ProductStatusValues } from "./features/products/index";
|
|
2343
2331
|
export { ProductTabs } from "./features/products/index";
|
|
2344
|
-
export { ProductsView } from "./features/products/index";
|
|
2345
2332
|
export { RelatedProducts } from "./features/products/index";
|
|
2346
2333
|
export { buildProductColumns } from "./features/products/index";
|
|
2347
2334
|
export { createAuctionId } from "./features/products/index";
|
|
@@ -2352,7 +2339,7 @@ export { getProductSortOptions } from "./features/products/index";
|
|
|
2352
2339
|
export { getProductTableColumns } from "./features/products/index";
|
|
2353
2340
|
export { normalizeListingType, isAuctionListing, isPreOrderListing, isStandardListing, isPrizeDrawListing, isClassifiedListing, isDigitalCodeListing, isLiveListing, isArtListing, isStickersListing, } from "./features/products/index";
|
|
2354
2341
|
export { isFinalSale, acceptsChangeOfMindReturns, } from "./features/products/constants/final-sale";
|
|
2355
|
-
export { isListingTypeEnabled, isCategoryTypeEnabled, enabledListingTypes, enabledCategoryTypes, ALL_LISTING_TYPES, } from "./_internal/shared/listing-types/feature-flags";
|
|
2342
|
+
export { isListingTypeEnabled, isCategoryTypeEnabled, enabledListingTypes, enabledCategoryTypes, ALL_LISTING_TYPES, isListingType, } from "./_internal/shared/listing-types/feature-flags";
|
|
2356
2343
|
export { actionTracker, setActionTrackerSink, resetActionTrackerSink, type ActionEvent, type ActionTrackerSink, } from "./_internal/shared/listing-types/action-tracker";
|
|
2357
2344
|
export { cartRequiresShipping, cartIsDigitalOnly, cartIsChatOnly, } from "./_internal/shared/listing-types/cart-shipping";
|
|
2358
2345
|
export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLabel, type ActionDef, type ActionKind, type ActionResource, type ActionTree, type ActionConfirmation, } from "./_internal/shared/actions/action-registry";
|
|
@@ -2414,7 +2401,6 @@ export type { ProductTableColumnsConfig } from "./features/products/index";
|
|
|
2414
2401
|
export type { ProductTabsProps } from "./features/products/index";
|
|
2415
2402
|
export type { ProductUpdateInput } from "./features/products/index";
|
|
2416
2403
|
export type { ProductVideoField } from "./features/products/index";
|
|
2417
|
-
export type { ProductsViewProps } from "./features/products/index";
|
|
2418
2404
|
export type { RelatedProductsProps } from "./features/products/index";
|
|
2419
2405
|
export { getFeaturedAuctions } from "./features/products/server";
|
|
2420
2406
|
export { getFeaturedPreOrders } from "./features/products/server";
|
|
@@ -2579,6 +2565,8 @@ export { searchQuerySchema } from "./features/search/index";
|
|
|
2579
2565
|
export { searchResultAdminColumns } from "./features/search/index";
|
|
2580
2566
|
export { useNavSuggestions } from "./features/search/index";
|
|
2581
2567
|
export { useSearch } from "./features/search/index";
|
|
2568
|
+
export { useSearchIndex, ensureSearchIndex } from "./features/search/hooks/useSearchIndex";
|
|
2569
|
+
export type { SearchIndexState, SearchIndexStatus, LoadedSearchIndex, UseSearchIndexOptions, } from "./features/search/hooks/useSearchIndex";
|
|
2582
2570
|
export type { NavSuggestionRecord } from "./features/search/index";
|
|
2583
2571
|
export type { SearchCategoryOption } from "./features/search/index";
|
|
2584
2572
|
export type { SearchLabels } from "./features/search/index";
|
|
@@ -2632,7 +2620,6 @@ export { SellerProductsView } from "./features/seller/index";
|
|
|
2632
2620
|
export { SellerRevenueChart } from "./features/seller/index";
|
|
2633
2621
|
export { SellerShippingView } from "./features/seller/index";
|
|
2634
2622
|
export { SellerStoreSetupView } from "./features/seller/index";
|
|
2635
|
-
export { SellerStoreView } from "./features/seller/index";
|
|
2636
2623
|
export { SellerStorefrontView } from "./features/seller/index";
|
|
2637
2624
|
export { SellerTopProducts } from "./features/seller/index";
|
|
2638
2625
|
export { SellersListView } from "./features/seller/index";
|
|
@@ -2648,7 +2635,6 @@ export { SellerPayoutSettingsView as StorePayoutSettingsView } from "./features/
|
|
|
2648
2635
|
export { SellerPayoutsView as StorePayoutsView } from "./features/seller/index";
|
|
2649
2636
|
export { SellerProductsView as StoreProductListingsView } from "./features/seller/index";
|
|
2650
2637
|
export { SellerShippingView as StoreShippingView } from "./features/seller/index";
|
|
2651
|
-
export { SellerStorefrontView as StoreStorefrontView } from "./features/seller/index";
|
|
2652
2638
|
export { buildPayoutColumns } from "./features/seller/index";
|
|
2653
2639
|
export { buildSellerColumns } from "./features/seller/index";
|
|
2654
2640
|
export { createOfferId } from "./features/seller/index";
|
|
@@ -2705,7 +2691,6 @@ export type { SellerRevenueDataPoint } from "./features/seller/index";
|
|
|
2705
2691
|
export type { SellerShippingViewProps } from "./features/seller/index";
|
|
2706
2692
|
export type { SellerStore } from "./features/seller/index";
|
|
2707
2693
|
export type { SellerStoreSetupViewProps } from "./features/seller/index";
|
|
2708
|
-
export type { SellerStoreViewProps } from "./features/seller/index";
|
|
2709
2694
|
export type { SellerStorefrontViewProps, StorefrontDraft } from "./features/seller/index";
|
|
2710
2695
|
export type { SellerTopProductsLabels } from "./features/seller/index";
|
|
2711
2696
|
export type { SellerTopProductsProps } from "./features/seller/index";
|
|
@@ -2721,7 +2706,6 @@ export type { SellerPayoutSettingsViewProps as StorePayoutSettingsViewProps } fr
|
|
|
2721
2706
|
export type { SellerPayoutsViewProps as StorePayoutsViewProps } from "./features/seller/index";
|
|
2722
2707
|
export type { SellerProductsViewProps as StoreProductListingsViewProps } from "./features/seller/index";
|
|
2723
2708
|
export type { SellerShippingViewProps as StoreShippingViewProps } from "./features/seller/index";
|
|
2724
|
-
export type { SellerStorefrontViewProps as StoreStorefrontViewProps } from "./features/seller/index";
|
|
2725
2709
|
export type { StoreStatus } from "./features/seller/index";
|
|
2726
2710
|
export type { UpdateSellerStoreInput } from "./features/seller/index";
|
|
2727
2711
|
export type { UseBecomeSellerOptions } from "./features/seller/index";
|
|
@@ -2978,6 +2962,8 @@ export { CardBody, MenuTrigger, MenuContent, MenuSeparator, RoleBadge, SkipToMai
|
|
|
2978
2962
|
export { Tabs, TabsList, TabsTrigger, TabsContent, PasswordStrengthIndicator, TablePagination } from "./ui/index";
|
|
2979
2963
|
export { TabBarShell, TabBarButton, TabsNavSelect } from "./ui/index";
|
|
2980
2964
|
export type { TabBarShellProps, TabBarButtonProps, TabsNavSelectProps } from "./ui/index";
|
|
2965
|
+
export { OverflowRow } from "./ui/index";
|
|
2966
|
+
export type { OverflowRowProps, OverflowRowItem, OverflowRowDotTone, OverflowRowLinkProps } from "./ui/index";
|
|
2981
2967
|
export { Stack, classNames, mergeTailwindClasses, SideModal, SideDrawer, RichText, RichTextRenderer } from "./ui/index";
|
|
2982
2968
|
export type { RichTextRendererProps } from "./ui/index";
|
|
2983
2969
|
export { SlottedListingView, DetailViewShell, StackedViewShell } from "./ui/index";
|
|
@@ -2992,7 +2978,7 @@ export { WishlistFullError } from "./features/wishlist/server";
|
|
|
2992
2978
|
export { useHistory, useHistoryMergeOnLogin, getGuestHistory, trackGuestHistory, removeGuestHistoryItem, clearGuestHistory, getGuestHistoryCount, type GuestHistoryItem, type GuestHistoryType, type UserHistoryItem, type HistoryProductType, type HistoryItemSnapshot, type TrackArgs as TrackHistoryArgs, } from "./features/history";
|
|
2993
2979
|
export { historyRepository, UserHistoryRepository, trackHistoryView, getHistoryForUser, removeHistoryItem, clearHistory, mergeGuestHistory, } from "./features/history/server";
|
|
2994
2980
|
export { useMediaQuery, useBreakpoint, useClickOutside, useKeyPress, useLongPress, useGesture, useSwipe, useSession, useAuth, useCountdown, useCamera, useBulkSelection, useUrlTable, usePendingFilters, usePendingTable, useUnsavedChanges, UNSAVED_CHANGES_EVENT, useBulkAction, useEntityDelete, useContainerGrid, useMessage, useModalStack, RTDBPayloadStatus, } from "./react/index";
|
|
2995
|
-
export { RoleGate, ProtectedRoute, SocialAuthButtons,
|
|
2981
|
+
export { RoleGate, ProtectedRoute, SocialAuthButtons, LoginForm, RegisterForm, ForgotPasswordView, ResetPasswordView, VerifyEmailView, OAuthLoadingView } from "./features/auth/index";
|
|
2996
2982
|
export type { RoleGateProps, ProtectedRouteProps, AuthGuardUser, AuthRouteConfig, LoginFormProps, LoginFormValues, RegisterFormProps, RegisterFormValues, ForgotPasswordViewProps, ResetPasswordViewProps, VerifyEmailViewProps, } from "./features/auth/index";
|
|
2997
2983
|
export { CartItemRow, CartDrawer, CartView, CartSummary, ShippingPicker } from "./features/cart/index";
|
|
2998
2984
|
export type { ShippingPickerProps } from "./features/cart/index";
|
|
@@ -3059,6 +3045,7 @@ export { navItemFormSchema, navItemCreateSchema, navItemUpdateSchema, type NavIt
|
|
|
3059
3045
|
export { groupedListingFormSchema, groupedListingCreateSchema, groupedListingUpdateSchema, type GroupedListingFormValues, } from "./features/grouped/schemas/grouped-listing-form";
|
|
3060
3046
|
export { scammersSeedData } from "./seed/index";
|
|
3061
3047
|
export { productFeaturesSeedData } from "./seed/index";
|
|
3048
|
+
export { authenticityKnowledgeSeedData, AUTHENTICITY_KNOWLEDGE_COLLECTION, AUTHENTICITY_KNOWLEDGE_COUNT, } from "./seed/index";
|
|
3062
3049
|
export { taxCodesSeedData } from "./seed/index";
|
|
3063
3050
|
export { PART_GLOSSARY_COLLECTION, MODEL_COMPOSITION_COLLECTION, PART_SLOT_VALUES, PART_SLOT_LABEL, ALL_PART_SLOTS, LISTING_TYPE_HAS_COMPOSITION, partSlotFromSegment, partGlossaryId, } from "./features/parts/schemas/firestore";
|
|
3064
3051
|
export type { PartGlossaryDocument, ModelCompositionDocument, ModelSlot, ModelSlotMerge, PartSlot, } from "./features/parts/schemas/firestore";
|