@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,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React from "react";
|
|
3
4
|
import { PaginatedSelect } from "../../../ui/components/PaginatedSelect.js";
|
|
4
5
|
import { CategoryQuickCreateForm } from "../../admin/components/CategoryQuickCreateForm.js";
|
|
5
6
|
import { apiClient } from "../../../http/index.js";
|
|
@@ -7,14 +8,48 @@ import { ADMIN_ENDPOINTS, CATEGORY_ENDPOINTS } from "../../../constants/api-endp
|
|
|
7
8
|
import { Stack } from "../../../ui/components/Layout.js";
|
|
8
9
|
import { Text } from "../../../ui/components/Typography.js";
|
|
9
10
|
import { MAX_CATEGORY_ASSIGNMENTS } from "../../products/repository/category-assignment.js";
|
|
11
|
+
/**
|
|
12
|
+
* ── 🛑 LOT vs SINGLE SCOPES THE ROWS, AND THE SERVER ALREADY REFUSES THE
|
|
13
|
+
* WRONG ONE ───────────────────────────────────────────────────────────────
|
|
14
|
+
*
|
|
15
|
+
* `assertAssignmentShape` has enforced both directions since 2026-10-14
|
|
16
|
+
* (`ENFORCE_LEAF_FILING = true`):
|
|
17
|
+
*
|
|
18
|
+
* a LOT at a LEAF -> "A lot holds several different items, so it cannot
|
|
19
|
+
* be filed under X, which is a single-item category."
|
|
20
|
+
* a SINGLE at a BRANCH -> "X has subcategories, so it describes a group
|
|
21
|
+
* rather than one item."
|
|
22
|
+
*
|
|
23
|
+
* Until now the picker offered EVERY category to both, so roughly half of all
|
|
24
|
+
* choices walked the seller into a 400 they could not act on. Scoping the rows
|
|
25
|
+
* is therefore not a convenience — it is the client half of a rule the server
|
|
26
|
+
* already holds.
|
|
27
|
+
*
|
|
28
|
+
* 🛑 `isLeaf` NEEDS NO ROUTE CHANGE. `/api/admin/categories` forwards its
|
|
29
|
+
* `filters` string straight into `categoriesRepository.list`, and the public
|
|
30
|
+
* `/api/categories` whitelists `isLeaf` in `SAFE_CATEGORY_FILTER_FIELDS`. So
|
|
31
|
+
* this is a query-string addition, not new endpoint surface — which is also
|
|
32
|
+
* why it can ship without a build to verify it.
|
|
33
|
+
*
|
|
34
|
+
* `undefined` means UNSCOPED, which is what every existing caller gets. A
|
|
35
|
+
* caller that does not know whether it is a lot must not be silently told it
|
|
36
|
+
* is a single.
|
|
37
|
+
*/
|
|
38
|
+
function leafFilterFor(leavesOnly) {
|
|
39
|
+
if (leavesOnly === undefined)
|
|
40
|
+
return null;
|
|
41
|
+
return leavesOnly ? "isLeaf==true" : "isLeaf==false";
|
|
42
|
+
}
|
|
10
43
|
// Admin: paginated + server-side search via /api/admin/categories (admin/mod only).
|
|
11
44
|
// Response via successResponse({ data: items, total }) → apiClient unwraps to { data, total, ... }.
|
|
12
|
-
async function loadAdminCategoryOptions(query, page) {
|
|
45
|
+
async function loadAdminCategoryOptions(query, page, leavesOnly) {
|
|
46
|
+
const leafFilter = leafFilterFor(leavesOnly);
|
|
13
47
|
const params = new URLSearchParams({
|
|
14
48
|
q: query,
|
|
15
49
|
page: String(page),
|
|
16
50
|
pageSize: "20",
|
|
17
51
|
flat: "true",
|
|
52
|
+
...(leafFilter ? { filters: leafFilter } : {}),
|
|
18
53
|
});
|
|
19
54
|
const res = await apiClient.get(`${ADMIN_ENDPOINTS.CATEGORIES}?${params}`);
|
|
20
55
|
const items = (res.data ?? []).map((c) => ({
|
|
@@ -26,8 +61,13 @@ async function loadAdminCategoryOptions(query, page) {
|
|
|
26
61
|
}
|
|
27
62
|
// Seller: fetch all flat categories from the public unauthenticated endpoint,
|
|
28
63
|
// filter client-side by query. Public endpoint returns { success, data: CategoryItem[] }.
|
|
29
|
-
async function loadPublicCategoryOptions(query, _page) {
|
|
30
|
-
const
|
|
64
|
+
async function loadPublicCategoryOptions(query, _page, leavesOnly) {
|
|
65
|
+
const leafFilter = leafFilterFor(leavesOnly);
|
|
66
|
+
const params = new URLSearchParams({
|
|
67
|
+
flat: "true",
|
|
68
|
+
pageSize: "200",
|
|
69
|
+
...(leafFilter ? { filters: leafFilter } : {}),
|
|
70
|
+
});
|
|
31
71
|
const res = await fetch(CATEGORY_ENDPOINTS.FILTERED(params.toString()), { credentials: "include" });
|
|
32
72
|
const json = await res.json().catch(() => ({}));
|
|
33
73
|
const all = (json.data ?? []).map((c) => ({
|
|
@@ -38,8 +78,16 @@ async function loadPublicCategoryOptions(query, _page) {
|
|
|
38
78
|
const items = q ? all.filter((c) => c.label.toLowerCase().includes(q)) : all;
|
|
39
79
|
return { items, hasMore: false, nextPage: 2 };
|
|
40
80
|
}
|
|
41
|
-
export function CategoryInlineSelect({ value, onChange, placeholder = "Search categories…", disabled, allowCreate = true, extraValues, onExtraValuesChange, maxAssignments = MAX_CATEGORY_ASSIGNMENTS, }) {
|
|
42
|
-
|
|
81
|
+
export function CategoryInlineSelect({ value, onChange, placeholder = "Search categories…", disabled, allowCreate = true, extraValues, onExtraValuesChange, maxAssignments = MAX_CATEGORY_ASSIGNMENTS, leavesOnly, }) {
|
|
82
|
+
/*
|
|
83
|
+
* 🛑 MEMOISED, because `PaginatedSelect` consumes `loadOptions` inside an
|
|
84
|
+
* effect keyed on query/page. A fresh function identity every render
|
|
85
|
+
* re-triggers that effect, and the existing loaders are module-scope
|
|
86
|
+
* functions precisely to avoid it — binding the scope here would reintroduce
|
|
87
|
+
* the loop if it were done inline.
|
|
88
|
+
*/
|
|
89
|
+
const base = allowCreate ? loadAdminCategoryOptions : loadPublicCategoryOptions;
|
|
90
|
+
const loadOptions = React.useCallback((query, page) => base(query, page, leavesOnly), [base, leavesOnly]);
|
|
43
91
|
const primary = (_jsx(PaginatedSelect, { value: value || null, onChange: (v) => onChange(v ?? ""), loadOptions: loadOptions, placeholder: placeholder, disabled: disabled, createLabel: "category", drawerTitle: "Create Category", renderCreateForm: allowCreate
|
|
44
92
|
? ({ onCreated, onCancel }) => (_jsx(CategoryQuickCreateForm, { onSaved: (id, name) => onCreated({ value: id, label: name }), onCancel: onCancel }))
|
|
45
93
|
: undefined }));
|
|
@@ -19,6 +19,28 @@ import type { ListingType } from "../../products/types/index";
|
|
|
19
19
|
export type ProductListingMode = ListingType | "bundle";
|
|
20
20
|
export interface SellerProductDraft {
|
|
21
21
|
title?: string;
|
|
22
|
+
/**
|
|
23
|
+
* LOT or SINGLE — and this had a field and a server rule but no control.
|
|
24
|
+
*
|
|
25
|
+
* 🛑 `ProductDocument.isLot` has existed since G3a and
|
|
26
|
+
* `ProductRepository.deriveTaxonomy` ENFORCES it at line 488
|
|
27
|
+
* (`assertAssignmentShape(resolved, input.isLot === true, …)`): a lot must
|
|
28
|
+
* file under a non-leaf category, a single may file anywhere. The form never
|
|
29
|
+
* set it, so every listing reached that check as a single — and a seller
|
|
30
|
+
* with a mixed pile had no way to say otherwise.
|
|
31
|
+
*
|
|
32
|
+
* The reason the rule exists is a claim about the ITEMS, not about counting:
|
|
33
|
+
* filing "12 assorted Burst beys" under `category-dragoon-g` asserts all
|
|
34
|
+
* twelve are Dragoon G.
|
|
35
|
+
*/
|
|
36
|
+
isLot?: boolean;
|
|
37
|
+
/** How many items the lot holds. Optional even when `isLot` — a seller who
|
|
38
|
+
* has not counted the pile yet must still be able to save a draft. */
|
|
39
|
+
lotSize?: number;
|
|
40
|
+
/** The named bey this single IS, when the seller picked one. */
|
|
41
|
+
beyId?: string;
|
|
42
|
+
/** The named PART this single is, when it is a component rather than a bey. */
|
|
43
|
+
partGlossaryId?: string;
|
|
22
44
|
slug?: string;
|
|
23
45
|
description?: string;
|
|
24
46
|
category?: string;
|
|
@@ -170,6 +192,23 @@ export interface SellerProductShellProps {
|
|
|
170
192
|
renderCategorySelector?: (props: {
|
|
171
193
|
value: string;
|
|
172
194
|
onChange: (v: string) => void;
|
|
195
|
+
/**
|
|
196
|
+
* Whether the listing is a LOT, so the selector can offer the right rows.
|
|
197
|
+
*
|
|
198
|
+
* 🛑 OPTIONAL, like `extraValues` beside it and for the same measured
|
|
199
|
+
* reason: `QuickProductForm` is a second consumer of this slot and making
|
|
200
|
+
* a new prop required broke it immediately last time (Root Cause #20, a
|
|
201
|
+
* public prop change without its consumers — which the comment below
|
|
202
|
+
* already warns about). A selector that ignores this keeps today's
|
|
203
|
+
* behaviour exactly.
|
|
204
|
+
*
|
|
205
|
+
* 🛑 The server has enforced the split since 2026-10-14
|
|
206
|
+
* (`ENFORCE_LEAF_FILING = true`): a lot at a leaf and a single at a branch
|
|
207
|
+
* are both refused. So a selector that offers the wrong rows is not a
|
|
208
|
+
* cosmetic issue — it walks the seller into a 400 they cannot act on,
|
|
209
|
+
* which is what every seller hit before this prop existed.
|
|
210
|
+
*/
|
|
211
|
+
isLot?: boolean;
|
|
173
212
|
/**
|
|
174
213
|
* 🛑 OPTIONAL, and that is the whole point. `QuickProductForm` is a second
|
|
175
214
|
* consumer of this slot and making these required broke it immediately —
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx,
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { useRouter } from "next/navigation.js";
|
|
5
5
|
import { z } from "zod";
|
|
@@ -46,6 +46,21 @@ const sellerProductSchema = z.object({
|
|
|
46
46
|
title: z.string().min(1, "Product title is required").max(200),
|
|
47
47
|
description: z.string().max(10000).optional().or(z.literal("")),
|
|
48
48
|
price: z.number().min(0).optional(),
|
|
49
|
+
/*
|
|
50
|
+
* LOT vs SINGLE. 🛑 Declared HERE as well as on the interface, for the exact
|
|
51
|
+
* reason the `categoryIds` note below gives: this schema is
|
|
52
|
+
* `.passthrough()`, so an undeclared key survives at runtime and stays
|
|
53
|
+
* UNTYPED — the render site could not read `values.isLot` at all.
|
|
54
|
+
*
|
|
55
|
+
* No `.default(false)`, matching `src/validation/request-schemas.ts`: absent
|
|
56
|
+
* means single, and a default would write a field the seller never touched.
|
|
57
|
+
*/
|
|
58
|
+
isLot: z.boolean().optional(),
|
|
59
|
+
/* Bounds mirror the request schema (2–999). A "lot of 1" is a single. */
|
|
60
|
+
lotSize: z.number().int().min(2).max(999).optional(),
|
|
61
|
+
/* The single-item identity, one or the other and never both. */
|
|
62
|
+
beyId: z.string().optional(),
|
|
63
|
+
partGlossaryId: z.string().optional(),
|
|
49
64
|
category: z.string().optional(),
|
|
50
65
|
/**
|
|
51
66
|
* I2 — the assignment list, DEFAULT FIRST. `category` mirrors `[0]`.
|
|
@@ -116,9 +131,22 @@ function StepBasic({ values, onChange, renderCategorySelector, renderBrandSelect
|
|
|
116
131
|
condition: CONDITION_OPTIONS.find((o) => o.value === (values.condition ?? "new"))?.label ?? "",
|
|
117
132
|
siteName: "LetItRip",
|
|
118
133
|
};
|
|
119
|
-
return (_jsxs(Stack, { gap: "md", children: [_jsx(FormField, { name: "title", label: "Title", type: "text", value: values.title ?? "", onChange: (v) => onChange({ title: v }), placeholder: "e.g. Charizard Base Set PSA 9" }), _jsxs(
|
|
134
|
+
return (_jsxs(Stack, { gap: "md", children: [_jsx(FormField, { name: "title", label: "Title", type: "text", value: values.title ?? "", onChange: (v) => onChange({ title: v }), placeholder: "e.g. Charizard Base Set PSA 9" }), _jsxs(Stack, { gap: "xs", children: [_jsx(Text, { className: "text-[var(--appkit-color-text)]", size: "sm", weight: "medium", children: "What is in this listing?" }), _jsxs(Row, { gap: "sm", align: "center", wrap: true, children: [_jsx(Toggle, { checked: values.isLot === true, onChange: (next) => onChange(next
|
|
135
|
+
? /*
|
|
136
|
+
* Switching TO a lot clears the single-item identity. A
|
|
137
|
+
* stale `beyId` would keep the listing pointing at one
|
|
138
|
+
* named bey while claiming to be a mixed pile — the
|
|
139
|
+
* contradiction the server rule exists to prevent, smuggled
|
|
140
|
+
* past it by a field the seller can no longer see.
|
|
141
|
+
*/
|
|
142
|
+
{ isLot: true, beyId: undefined, partGlossaryId: undefined }
|
|
143
|
+
: /* And back again drops the count, for the same reason. */
|
|
144
|
+
{ isLot: false, lotSize: undefined }), label: values.isLot ? "A lot of several items" : "A single item", size: "sm" }), values.isLot && (_jsx(FormField, { name: "lotSize", label: "How many?", type: "number", value: values.lotSize != null ? String(values.lotSize) : "", onChange: (v) => onChange({ lotSize: v ? Number(v) : undefined }), placeholder: "optional" }))] }), _jsx(Text, { size: "xs", color: "muted", children: values.isLot
|
|
145
|
+
? "A lot files under a category rather than one model, because a category is a collection — naming one model would claim every item in the pile is that model."
|
|
146
|
+
: "A single item can be filed against the exact bey or part it is, so buyers searching that name find it." })] }), _jsxs(FormGroup, { columns: 2, children: [renderCategorySelector ? (_jsxs(_Fragment, { children: [_jsx(Text, { className: "text-[var(--appkit-color-text)] mb-1", size: "sm", weight: "medium", children: "Category" }), renderCategorySelector({
|
|
120
147
|
value: values.category ?? "",
|
|
121
148
|
onChange: (v) => onChange({ category: v }),
|
|
149
|
+
isLot: values.isLot === true,
|
|
122
150
|
/*
|
|
123
151
|
* 🛑 `categoryIds[0]` is the DEFAULT assignment and is already
|
|
124
152
|
* rendered by the primary picker above, so the extras list is
|
|
@@ -596,7 +624,7 @@ productId, onSave, onPublish, onDiscard, isLoading = false, storeSlug, renderCat
|
|
|
596
624
|
label: "Basic",
|
|
597
625
|
required: true,
|
|
598
626
|
quick: true,
|
|
599
|
-
fields: ["title", "description", "category", "brand", "condition", "tags", "barcodeId"],
|
|
627
|
+
fields: ["title", "isLot", "lotSize", "description", "category", "brand", "condition", "tags", "barcodeId"],
|
|
600
628
|
render: ({ values, onChange }) => (_jsx(StepBasic, { values: values, onChange: onChange, renderCategorySelector: renderCategorySelector, renderBrandSelector: renderBrandSelector, renderTemplateSelector: renderTemplateSelector })),
|
|
601
629
|
schema: sectionSchemas.basic,
|
|
602
630
|
},
|
package/dist/index.d.ts
CHANGED
|
@@ -546,9 +546,6 @@ export { scammerRepository } from "./repositories/index";
|
|
|
546
546
|
export { supportRepository, SupportRepository } from "./repositories/index";
|
|
547
547
|
export type { SupportTicketDocument, SupportTicketCreateInput, SupportTicketUpdateInput, TicketMessage, TicketCategory, TicketStatus, TicketPriority, } from "./repositories/index";
|
|
548
548
|
export { ELIGIBLE_ORDER_STATUSES_FOR_TICKET, SUPPORT_TICKET_COLLECTION, ACTIVE_TICKET_STATUSES, SUPPORT_TICKET_FIELDS, TicketCategoryValues, TicketStatusValues, TicketPriorityValues, } from "./features/support/schemas/firestore";
|
|
549
|
-
export { supportTicketsSeedData } from "./seed/index";
|
|
550
|
-
export { offersSeedData } from "./seed/index";
|
|
551
|
-
export { payoutMethodsSeedData, shippingConfigsSeedData, analyticsCardsSeedData, analyticsAlertsSeedData, storeCategoriesSeedData, listingTemplatesSeedData, moderationQueueSeedData, reportsSeedData, itemRequestsSeedData, storeGoogleConfigSeedData, } from "./seed/index";
|
|
552
549
|
export { AdminTaxCodesView } from "./features/admin/components/AdminTaxCodesView";
|
|
553
550
|
export type { AdminTaxCodesViewProps } from "./features/admin/components/AdminTaxCodesView";
|
|
554
551
|
export { AdminTaxCodeEditorView } from "./features/admin/components/AdminTaxCodeEditorView";
|
|
@@ -567,127 +564,8 @@ export type { MediaAssetDocument, MediaAssetCreateInput } from "./repositories/i
|
|
|
567
564
|
export { GroupedListingsRepository, groupedListingsRepository } from "./repositories/index";
|
|
568
565
|
export type { NewsletterListModel } from "./repositories/index";
|
|
569
566
|
export type { WishlistItem } from "./repositories/index";
|
|
570
|
-
export { type SeedPurpose, type SeedPurposeFields, type WithSeedPurpose, SEED_PURPOSE_VALUES, ALL_SEED_PURPOSES, SEED_COLLECTION_PURPOSE, SEED_TEST_TTL_DAYS, isSeedPurpose, resolveSeedPurpose, seedPurposeFields, stampSeedPurpose, asSeedPurpose, } from "./seed/index";
|
|
571
|
-
export { ADDRESS_FIXTURES } from "./seed/index";
|
|
572
|
-
export { BID_FIXTURES } from "./seed/index";
|
|
573
|
-
export { CART_FIXTURES } from "./seed/index";
|
|
574
|
-
export { COUPON_FIXTURES } from "./seed/index";
|
|
575
|
-
export { DEFAULT_CATEGORIES } from "./seed/index";
|
|
576
|
-
export { DEFAULT_FAQS } from "./seed/index";
|
|
577
|
-
export { NOTIFICATION_FIXTURES } from "./seed/index";
|
|
578
|
-
export { PAYOUT_FIXTURES } from "./seed/index";
|
|
579
|
-
export { PRODUCT_FIXTURES } from "./seed/index";
|
|
580
|
-
export { SESSION_COLLECTION } from "./seed/index";
|
|
581
|
-
export { SESSION_FIXTURES } from "./seed/index";
|
|
582
|
-
export { STORE_FIXTURES } from "./seed/index";
|
|
583
|
-
export { USER_FIXTURES } from "./seed/index";
|
|
584
|
-
export { addressesSeedData } from "./seed/index";
|
|
585
|
-
export { assertPiiRoundTrip } from "./seed/index";
|
|
586
|
-
export { bidsSeedData } from "./seed/index";
|
|
587
|
-
export { blogPostsSeedData } from "./seed/index";
|
|
588
|
-
export { carouselSlidesSeedData } from "./seed/index";
|
|
589
|
-
export { carouselsSeedData } from "./seed/index";
|
|
590
|
-
export { cartsSeedData } from "./seed/index";
|
|
591
|
-
export { categoriesSeedData, categoriesP1SeedData } from "./seed/index";
|
|
592
|
-
export { couponsSeedData } from "./seed/index";
|
|
593
|
-
export type { CouponUsageSeedRecord } from "./seed/index";
|
|
594
|
-
export { couponUsageSeedData } from "./seed/index";
|
|
595
|
-
export { claimedCouponsSeedData } from "./seed/index";
|
|
596
|
-
export { eventEntriesSeedData } from "./seed/index";
|
|
597
|
-
export { eventsSeedData } from "./seed/index";
|
|
598
|
-
export { faqSeedData } from "./seed/index";
|
|
599
|
-
export { testerChecklistSeedData } from "./seed/index";
|
|
600
|
-
export { testerResponsesSeedData } from "./seed/index";
|
|
601
|
-
export { formatSeedPrice } from "./seed/index";
|
|
602
|
-
export { getSeedLocale } from "./seed/index";
|
|
603
|
-
export { homepageSectionsSeedData } from "./seed/index";
|
|
604
|
-
export { makeAddress } from "./seed/index";
|
|
605
|
-
export { makeBid } from "./seed/index";
|
|
606
|
-
export { makeBlogPost } from "./seed/index";
|
|
607
|
-
export { makeCarouselSlide } from "./seed/index";
|
|
608
|
-
export { makeCart } from "./seed/index";
|
|
609
|
-
export { makeCartItem } from "./seed/index";
|
|
610
|
-
export { makeCategory } from "./seed/index";
|
|
611
|
-
export { makeCoupon } from "./seed/index";
|
|
612
|
-
export { makeFaq } from "./seed/index";
|
|
613
|
-
export { makeFullAddress } from "./seed/index";
|
|
614
|
-
export { makeFullCart } from "./seed/index";
|
|
615
|
-
export { makeFullCoupon } from "./seed/index";
|
|
616
|
-
export { makeFullNotification } from "./seed/index";
|
|
617
|
-
export { makeFullPayout } from "./seed/index";
|
|
618
|
-
export { makeFullProduct } from "./seed/index";
|
|
619
|
-
export { makeFullStore } from "./seed/index";
|
|
620
|
-
export { makeFullUser } from "./seed/index";
|
|
621
|
-
export { makeNotification } from "./seed/index";
|
|
622
|
-
export { makeOrder } from "./seed/index";
|
|
623
|
-
export { makePayout } from "./seed/index";
|
|
624
|
-
export { makeProduct } from "./seed/index";
|
|
625
|
-
export { makeReview } from "./seed/index";
|
|
626
|
-
export { makeRevokedSession } from "./seed/index";
|
|
627
|
-
export { makeSeedPhone } from "./seed/index";
|
|
628
|
-
export { makeSession } from "./seed/index";
|
|
629
|
-
export { makeStore } from "./seed/index";
|
|
630
|
-
export { makeUser } from "./seed/index";
|
|
631
|
-
export { makeWinningBid } from "./seed/index";
|
|
632
|
-
export { notificationsSeedData } from "./seed/index";
|
|
633
|
-
export { ordersSeedData } from "./seed/index";
|
|
634
|
-
export { payoutsSeedData } from "./seed/index";
|
|
635
|
-
export { shipmentsSeedData, shipmentLotsSeedData, shipmentItemsSeedData } from "./seed/index";
|
|
636
|
-
export { catalogueSeedData } from "./seed/index";
|
|
637
|
-
export { productsStandardSeedData } from "./seed/index";
|
|
638
|
-
export { productsBeybladeXSeedData } from "./seed/index";
|
|
639
|
-
export { productsAuctionsSeedData } from "./seed/index";
|
|
640
|
-
export { productsPreordersSeedData } from "./seed/index";
|
|
641
|
-
export { productsPrizeDrawsSeedData } from "./seed/index";
|
|
642
|
-
export { productsClassifiedsSeedData } from "./seed/index";
|
|
643
|
-
export { productsDigitalCodesSeedData } from "./seed/index";
|
|
644
|
-
export { productsLiveItemsSeedData } from "./seed/index";
|
|
645
|
-
export { productsArtSeedData } from "./seed/index";
|
|
646
|
-
export { productsStickersSeedData } from "./seed/index";
|
|
647
|
-
export { productsSparesSeedData } from "./seed/index";
|
|
648
|
-
export { registerSeedLocale } from "./seed/index";
|
|
649
|
-
export { reviewsSeedData } from "./seed/index";
|
|
650
|
-
export { seedForTest } from "./seed/index";
|
|
651
|
-
export { sessionsSeedData } from "./seed/index";
|
|
652
|
-
export { siteSettingsSeedData } from "./seed/index";
|
|
653
|
-
export { storeAddressesSeedData } from "./seed/index";
|
|
654
|
-
export { storesSeedData } from "./seed/index";
|
|
655
|
-
export { usersSeedData } from "./seed/index";
|
|
656
|
-
export { wishlistsSeedData } from "./seed/index";
|
|
657
|
-
export { historySeedData } from "./seed/index";
|
|
658
|
-
export { groupedListingsSeedData } from "./seed/index";
|
|
659
|
-
export { mediaAssetsSeedData, MEDIA_ASSET_SEED_COUNT } from "./seed/index";
|
|
660
|
-
export { productsCatalogueSeedData, CATALOGUE_LISTING_COUNT, } from "./seed/index";
|
|
661
|
-
export { FRANCHISE_ROW_COUNT, FRANCHISE_SLUGS, FRANCHISE_BY_CATEGORY_ROOT, } from "./seed/index";
|
|
662
|
-
export type { CouponDiscountType } from "./seed/index";
|
|
663
|
-
export type { FirestoreIndexConfig } from "./seed/index";
|
|
664
567
|
export type { NotificationType, NotificationRelatedType } from "./features/admin/schemas/firestore";
|
|
665
568
|
export { NOTIFICATION_TYPE_VALUES, NOTIFICATION_RELATED_TYPE_VALUES } from "./features/admin/schemas/firestore";
|
|
666
|
-
export type { PayoutStatus } from "./seed/index";
|
|
667
|
-
export type { SeedAddressDocument } from "./seed/index";
|
|
668
|
-
export type { SeedBaseOrderDocument } from "./seed/index";
|
|
669
|
-
export type { SeedBaseOrderItem } from "./seed/index";
|
|
670
|
-
export type { SeedBaseProductDocument } from "./seed/index";
|
|
671
|
-
export type { SeedBaseStoreDocument } from "./seed/index";
|
|
672
|
-
export type { SeedBaseUserDocument } from "./seed/index";
|
|
673
|
-
export type { SeedBidDocument } from "./seed/index";
|
|
674
|
-
export type { SeedBlogPostDocument } from "./seed/index";
|
|
675
|
-
export type { SeedCarouselSlideDocument } from "./seed/index";
|
|
676
|
-
export type { SeedCartDocument } from "./seed/index";
|
|
677
|
-
export type { SeedCartItemDocument } from "./seed/index";
|
|
678
|
-
export type { SeedCategoryDocument } from "./seed/index";
|
|
679
|
-
export type { SeedCollection } from "./seed/index";
|
|
680
|
-
export type { SeedCollectionName } from "./seed/index";
|
|
681
|
-
export type { SeedConfig } from "./seed/index";
|
|
682
|
-
export type { SeedCouponDocument } from "./seed/index";
|
|
683
|
-
export type { SeedFaqDocument } from "./seed/index";
|
|
684
|
-
export type { SeedLocaleData } from "./seed/index";
|
|
685
|
-
export type { SeedNotificationDocument } from "./seed/index";
|
|
686
|
-
export type { SeedPayoutDocument } from "./seed/index";
|
|
687
|
-
export type { SeedResult } from "./seed/index";
|
|
688
|
-
export type { SeedReviewDocument } from "./seed/index";
|
|
689
|
-
export type { SeedSessionDocument } from "./seed/index";
|
|
690
|
-
export type { TestSeedHandles } from "./seed/index";
|
|
691
569
|
export { ErrorCategory } from "./monitoring/index";
|
|
692
570
|
export { ErrorSeverity } from "./monitoring/index";
|
|
693
571
|
export { addTraceAttribute } from "./monitoring/index";
|
|
@@ -1650,7 +1528,6 @@ export { supportTicketCreateSchema } from "./features/support/schemas/ticket-cre
|
|
|
1650
1528
|
export type { SupportTicketCreateValues } from "./features/support/schemas/ticket-create-form";
|
|
1651
1529
|
export { lotteryConfigWriteSchema, lotterySlotWriteSchema, mergeLotteryConfig } from "./features/lottery/schemas/config-write";
|
|
1652
1530
|
export type { LotteryConfigWriteInput, LotteryMergeResult } from "./features/lottery/schemas/config-write";
|
|
1653
|
-
export { lotteryEntriesSeedData } from "./seed/index";
|
|
1654
1531
|
export { LOTTERY_ENTRY_FIELDS } from "./features/lottery/schemas/firestore";
|
|
1655
1532
|
export { EVENT_ENTRY_FIELDS } from "./features/events/index";
|
|
1656
1533
|
export { EVENT_ENTRY_INDEXED_FIELDS } from "./features/events/index";
|
|
@@ -2983,14 +2860,12 @@ export { bundleCreateSchema, bundleUpdateSchema, bundleQueryRuleSchema, bundleDi
|
|
|
2983
2860
|
export type { GroupedListingDocument, GroupTheme, GroupVisibility } from "./features/grouped/schemas/firestore";
|
|
2984
2861
|
export { navItemFormSchema, navItemCreateSchema, navItemUpdateSchema, type NavItemFormValues, } from "./features/admin/schemas/nav-item-form";
|
|
2985
2862
|
export { groupedListingFormSchema, groupedListingCreateSchema, groupedListingUpdateSchema, type GroupedListingFormValues, } from "./features/grouped/schemas/grouped-listing-form";
|
|
2986
|
-
export { scammersSeedData } from "./seed/index";
|
|
2987
|
-
export { productFeaturesSeedData } from "./seed/index";
|
|
2988
|
-
export { authenticityKnowledgeSeedData, AUTHENTICITY_KNOWLEDGE_COLLECTION, AUTHENTICITY_KNOWLEDGE_COUNT, } from "./seed/index";
|
|
2989
|
-
export { taxCodesSeedData } from "./seed/index";
|
|
2990
2863
|
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";
|
|
2991
2864
|
export type { PartGlossaryDocument, ModelCompositionDocument, ModelSlot, ModelSlotMerge, PartSlot, } from "./features/parts/schemas/firestore";
|
|
2992
|
-
export {
|
|
2993
|
-
export {
|
|
2865
|
+
export { BEYS_COLLECTION, BEY_PRODUCTS_COLLECTION, beyId, } from "./features/beys/schemas/firestore";
|
|
2866
|
+
export type { BeyDocument, BeyProductDocument, BeyCompositionEntry, BeyRatings, BeyDerivationCoverage, BeyProductAssortmentEntry, } from "./features/beys/schemas/firestore";
|
|
2867
|
+
export { BeyDetailPageView } from "./features/beys/components/BeyDetailPageView";
|
|
2868
|
+
export type { BeyDetailPageViewProps, BeyListingRow } from "./features/beys/components/BeyDetailPageView";
|
|
2994
2869
|
export { ModelCompositionPanel } from "./features/parts/components/ModelCompositionPanel";
|
|
2995
2870
|
export { PartsIndexPageView, PartClassificationPageView, } from "./features/parts/components/PartsIndexPageView";
|
|
2996
2871
|
export { PartDetailPageView } from "./features/parts/components/PartDetailPageView";
|
|
@@ -3067,6 +2942,8 @@ export { LISTING_TYPE_CAPABILITIES, capabilityFor, canAddToCart, canBid, support
|
|
|
3067
2942
|
export type { ListingTypeCapability } from "./_internal/shared/listing-types/capabilities";
|
|
3068
2943
|
export { LISTING_TYPE_REGISTRY, pluginFor, detectListingTypeFromSlug } from "./_internal/shared/listing-types/_registry";
|
|
3069
2944
|
export { OwnerQuickActions } from "./features/admin/components/OwnerQuickActions";
|
|
2945
|
+
export { RecordOwnerQuickActions } from "./features/admin/components/RecordOwnerQuickActions";
|
|
2946
|
+
export type { RecordOwnerQuickActionsProps, RecordQuickActionResource } from "./features/admin/components/RecordOwnerQuickActions";
|
|
3070
2947
|
export type { OwnerQuickActionsProps, OwnerQuickActionsResource } from "./features/admin/components/OwnerQuickActions";
|
|
3071
2948
|
export type { ListingTypePlugin } from "./_internal/shared/listing-types/_registry";
|
|
3072
2949
|
export { getListingRule, getCategoryRule, pickOrderType, getSplitKey, runSyncPreflight, CHECKOUT_RULES, CATEGORY_CHECKOUT_RULES, CHECKOUT_MAX_ORDERS_PER_TX, PRIZE_DRAW_MAX_REVEALS_PER_ORDER, BUNDLE_MAX_QTY_PER_TX, STANDARD_MAX_QTY_PER_LINE, } from "./_internal/shared/checkout/rules";
|