@mohasinac/appkit 2.7.58 → 2.8.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/_internal/client/features/filters/filter-load-options.d.ts +4 -5
- package/dist/_internal/server/features/auctions/og.js +8 -32
- package/dist/_internal/server/features/blog/og.js +10 -49
- package/dist/_internal/server/features/checkout/actions.js +6 -0
- package/dist/_internal/server/features/classified/og.js +9 -51
- package/dist/_internal/server/features/digital-code/actions.d.ts +11 -0
- package/dist/_internal/server/features/digital-code/actions.js +30 -0
- package/dist/_internal/server/features/digital-code/index.d.ts +1 -0
- package/dist/_internal/server/features/digital-code/index.js +1 -0
- package/dist/_internal/server/features/digital-code/og.js +9 -51
- package/dist/_internal/server/features/events/og.js +10 -49
- package/dist/_internal/server/features/item-requests/data.d.ts +17 -0
- package/dist/_internal/server/features/item-requests/data.js +20 -0
- package/dist/_internal/server/features/item-requests/index.d.ts +2 -0
- package/dist/_internal/server/features/item-requests/index.js +2 -0
- package/dist/_internal/server/features/item-requests/og.d.ts +40 -0
- package/dist/_internal/server/features/item-requests/og.js +136 -0
- package/dist/_internal/server/features/live/actions.d.ts +5 -0
- package/dist/_internal/server/features/live/actions.js +24 -0
- package/dist/_internal/server/features/live/index.d.ts +1 -0
- package/dist/_internal/server/features/live/index.js +1 -0
- package/dist/_internal/server/features/live/og.js +9 -51
- package/dist/_internal/server/features/media/contextGuards.js +19 -8
- package/dist/_internal/server/features/pre-orders/og.js +8 -32
- package/dist/_internal/server/features/prize-draws/data.d.ts +17 -0
- package/dist/_internal/server/features/prize-draws/data.js +20 -0
- package/dist/_internal/server/features/prize-draws/index.d.ts +2 -0
- package/dist/_internal/server/features/prize-draws/index.js +2 -0
- package/dist/_internal/server/features/prize-draws/og.d.ts +30 -0
- package/dist/_internal/server/features/prize-draws/og.js +50 -0
- package/dist/_internal/server/features/products/og.js +8 -33
- package/dist/_internal/server/features/scams/og.js +1 -1
- package/dist/_internal/server/features/seo/og-layout.d.ts +42 -0
- package/dist/_internal/server/features/seo/og-layout.js +69 -0
- package/dist/_internal/server/features/stores/og.js +8 -41
- package/dist/_internal/server/features/sublisting-categories/og.js +11 -42
- package/dist/_internal/shared/actions/bulk-helpers.d.ts +3 -0
- package/dist/_internal/shared/actions/bulk-helpers.js +19 -0
- package/dist/_internal/shared/config/schema.d.ts +4 -4
- package/dist/client.d.ts +13 -6
- package/dist/client.js +9 -3
- package/dist/configs/next.js +11 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.js +2 -0
- package/dist/constants/notification-types.d.ts +20 -0
- package/dist/constants/notification-types.js +37 -0
- package/dist/constants/pagination-presets.d.ts +39 -0
- package/dist/constants/pagination-presets.js +38 -0
- package/dist/errors/messages.d.ts +0 -4
- package/dist/errors/messages.js +0 -4
- package/dist/features/account/components/AddressesIndexListing.js +3 -4
- package/dist/features/account/components/UserOffersPanel.js +1 -1
- package/dist/features/account/components/UserSidebar.js +14 -10
- package/dist/features/account/components/UserSupportView.d.ts +1 -2
- package/dist/features/account/components/UserSupportView.js +9 -1
- package/dist/features/admin/actions/admin-actions.js +16 -1
- package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +2 -3
- package/dist/features/admin/components/AdminAllEventEntriesView.js +50 -89
- package/dist/features/admin/components/AdminBidsView.d.ts +2 -3
- package/dist/features/admin/components/AdminBidsView.js +64 -104
- package/dist/features/admin/components/AdminBlogView.d.ts +3 -7
- package/dist/features/admin/components/AdminBlogView.js +53 -88
- package/dist/features/admin/components/AdminBrandEditorView.js +14 -17
- package/dist/features/admin/components/AdminBrandsView.d.ts +2 -3
- package/dist/features/admin/components/AdminBrandsView.js +85 -89
- package/dist/features/admin/components/AdminBundlesView.js +68 -130
- package/dist/features/admin/components/AdminCarouselView.d.ts +2 -2
- package/dist/features/admin/components/AdminCarouselView.js +22 -70
- package/dist/features/admin/components/AdminCartsView.d.ts +2 -3
- package/dist/features/admin/components/AdminCartsView.js +39 -89
- package/dist/features/admin/components/AdminCategoriesView.d.ts +3 -3
- package/dist/features/admin/components/AdminCategoriesView.js +97 -96
- package/dist/features/admin/components/AdminCategoryEditorView.js +2 -6
- package/dist/features/admin/components/AdminClassifiedView.d.ts +3 -0
- package/dist/features/admin/components/AdminClassifiedView.js +44 -0
- package/dist/features/admin/components/AdminContactView.d.ts +2 -2
- package/dist/features/admin/components/AdminContactView.js +105 -130
- package/dist/features/admin/components/AdminCouponEditorView.js +14 -17
- package/dist/features/admin/components/AdminCouponsView.d.ts +3 -6
- package/dist/features/admin/components/AdminCouponsView.js +69 -97
- package/dist/features/admin/components/AdminDigitalCodesView.d.ts +3 -0
- package/dist/features/admin/components/AdminDigitalCodesView.js +51 -0
- package/dist/features/admin/components/AdminFaqEditorView.js +14 -17
- package/dist/features/admin/components/AdminFaqsView.d.ts +4 -4
- package/dist/features/admin/components/AdminFaqsView.js +79 -86
- package/dist/features/admin/components/AdminFeatureEditorView.js +7 -9
- package/dist/features/admin/components/AdminFeaturesView.d.ts +2 -3
- package/dist/features/admin/components/AdminFeaturesView.js +57 -70
- package/dist/features/admin/components/AdminGroupedListingsView.d.ts +3 -0
- package/dist/features/admin/components/AdminGroupedListingsView.js +43 -0
- package/dist/features/admin/components/AdminHistoryView.d.ts +2 -3
- package/dist/features/admin/components/AdminHistoryView.js +35 -52
- package/dist/features/admin/components/AdminListingScaffold.d.ts +2 -2
- package/dist/features/admin/components/AdminListingScaffold.js +3 -3
- package/dist/features/admin/components/AdminLiveView.d.ts +3 -0
- package/dist/features/admin/components/AdminLiveView.js +50 -0
- package/dist/features/admin/components/AdminNewsletterView.d.ts +2 -2
- package/dist/features/admin/components/AdminNewsletterView.js +68 -108
- package/dist/features/admin/components/AdminNotificationsView.d.ts +2 -3
- package/dist/features/admin/components/AdminNotificationsView.js +67 -99
- package/dist/features/admin/components/AdminOrderEditorView.js +10 -10
- package/dist/features/admin/components/AdminOrdersView.d.ts +2 -3
- package/dist/features/admin/components/AdminOrdersView.js +93 -113
- package/dist/features/admin/components/AdminPayoutsView.d.ts +2 -3
- package/dist/features/admin/components/AdminPayoutsView.js +51 -97
- package/dist/features/admin/components/AdminPrizeDrawsView.d.ts +2 -3
- package/dist/features/admin/components/AdminPrizeDrawsView.js +41 -83
- package/dist/features/admin/components/AdminProductEditorView.js +3 -7
- package/dist/features/admin/components/AdminProductsView.d.ts +4 -4
- package/dist/features/admin/components/AdminProductsView.js +166 -167
- package/dist/features/admin/components/AdminReturnRequestsView.d.ts +1 -1
- package/dist/features/admin/components/AdminReturnRequestsView.js +64 -66
- package/dist/features/admin/components/AdminReviewsView.d.ts +3 -7
- package/dist/features/admin/components/AdminReviewsView.js +94 -116
- package/dist/features/admin/components/AdminScammersView.d.ts +2 -3
- package/dist/features/admin/components/AdminScammersView.js +53 -103
- package/dist/features/admin/components/AdminSectionsView.js +1 -1
- package/dist/features/admin/components/AdminSessionsView.d.ts +2 -3
- package/dist/features/admin/components/AdminSessionsView.js +62 -95
- package/dist/features/admin/components/AdminStoreAddressesView.d.ts +1 -1
- package/dist/features/admin/components/AdminStoreAddressesView.js +39 -53
- package/dist/features/admin/components/AdminStoreEditorView.js +21 -8
- package/dist/features/admin/components/AdminStoresView.d.ts +2 -3
- package/dist/features/admin/components/AdminStoresView.js +67 -105
- package/dist/features/admin/components/AdminSublistingCategoriesView.d.ts +1 -1
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +29 -49
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +17 -20
- package/dist/features/admin/components/AdminSupportTicketDetailView.d.ts +10 -1
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +191 -5
- package/dist/features/admin/components/AdminSupportTicketsView.d.ts +2 -3
- package/dist/features/admin/components/AdminSupportTicketsView.js +65 -102
- package/dist/features/admin/components/AdminTeamView.d.ts +2 -2
- package/dist/features/admin/components/AdminTeamView.js +42 -85
- package/dist/features/admin/components/AdminUserEditorView.d.ts +11 -1
- package/dist/features/admin/components/AdminUserEditorView.js +80 -6
- package/dist/features/admin/components/AdminUsersView.d.ts +2 -3
- package/dist/features/admin/components/AdminUsersView.js +108 -106
- package/dist/features/admin/components/AdminViewCards.d.ts +1 -1
- package/dist/features/admin/components/AdminWishlistsView.d.ts +2 -3
- package/dist/features/admin/components/AdminWishlistsView.js +36 -62
- package/dist/features/admin/components/DataListingView.d.ts +122 -0
- package/dist/features/admin/components/DataListingView.js +66 -0
- package/dist/features/admin/components/index.d.ts +10 -4
- package/dist/features/admin/components/index.js +6 -2
- package/dist/features/admin/constants/filter-tabs.d.ts +23 -17
- package/dist/features/admin/constants/filter-tabs.js +21 -17
- package/dist/features/admin/hooks/useAdminListing.d.ts +59 -0
- package/dist/features/admin/hooks/useAdminListing.js +71 -0
- package/dist/features/admin/schemas/firestore.js +6 -7
- package/dist/features/auctions/server.d.ts +0 -1
- package/dist/features/auctions/server.js +0 -1
- package/dist/features/auth/actions/realtime-token-actions.js +1 -1
- package/dist/features/auth/repository/user.repository.js +1 -1
- package/dist/features/auth/schemas/firestore.d.ts +1 -0
- package/dist/features/blog/components/BlogIndexListing.js +3 -6
- package/dist/features/cart/repository/cart.repository.d.ts +4 -1
- package/dist/features/cart/repository/cart.repository.js +12 -0
- package/dist/features/categories/components/CategoriesIndexListing.js +3 -6
- package/dist/features/checkout/hooks/useCheckoutApi.d.ts +0 -2
- package/dist/features/checkout/index.d.ts +1 -1
- package/dist/features/events/components/AdminEventsView.d.ts +3 -3
- package/dist/features/events/components/AdminEventsView.js +50 -86
- package/dist/features/events/components/EventOfferCard.d.ts +19 -0
- package/dist/features/events/components/EventOfferCard.js +29 -0
- package/dist/features/events/components/EventRaffleEntryForm.d.ts +25 -0
- package/dist/features/events/components/EventRaffleEntryForm.js +37 -0
- package/dist/features/events/components/EventRafflesSection.d.ts +1 -4
- package/dist/features/events/components/EventRafflesSection.js +17 -6
- package/dist/features/events/components/EventSaleBanner.d.ts +21 -0
- package/dist/features/events/components/EventSaleBanner.js +18 -0
- package/dist/features/events/components/EventsIndexListing.js +3 -4
- package/dist/features/events/components/index.d.ts +6 -0
- package/dist/features/events/components/index.js +4 -0
- package/dist/features/events/repository/event-entry.repository.d.ts +5 -0
- package/dist/features/events/repository/event-entry.repository.js +7 -0
- package/dist/features/filters/AsyncFacetSection.d.ts +1 -1
- package/dist/features/homepage/components/AnnouncementBar.d.ts +4 -1
- package/dist/features/homepage/components/AnnouncementBar.js +51 -4
- package/dist/features/homepage/components/FAQSection.d.ts +0 -5
- package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +3 -1
- package/dist/features/homepage/components/MarketplaceHomepageView.js +2 -2
- package/dist/features/homepage/components/index.d.ts +1 -1
- package/dist/features/homepage/components/index.js +1 -1
- package/dist/features/homepage/lib/live-stats.js +1 -1
- package/dist/features/homepage/lib/section-renderer.d.ts +2 -2
- package/dist/features/homepage/lib/section-renderer.js +2 -2
- package/dist/features/homepage/schemas/firestore.d.ts +0 -2
- package/dist/features/layout/index.d.ts +0 -2
- package/dist/features/layout/index.js +0 -1
- package/dist/features/orders/repository/orders.repository.d.ts +0 -1
- package/dist/features/orders/repository/orders.repository.js +0 -1
- package/dist/features/orders/server.d.ts +1 -1
- package/dist/features/orders/server.js +1 -1
- package/dist/features/pre-orders/server.d.ts +0 -1
- package/dist/features/pre-orders/server.js +0 -1
- package/dist/features/products/components/GroupSettingsPanel.js +65 -49
- package/dist/features/products/components/PrizeDrawItemsEditor.js +2 -2
- package/dist/features/products/components/PrizeDrawsSection.d.ts +1 -4
- package/dist/features/products/components/PrizeDrawsSection.js +17 -6
- package/dist/features/products/components/PrizeRevealModal.js +1 -1
- package/dist/features/products/components/ProductCardMetadataSection.d.ts +11 -0
- package/dist/features/products/components/ProductCardMetadataSection.js +25 -0
- package/dist/features/products/components/ProductDetailPageView.js +3 -1
- package/dist/features/products/components/ProductFeaturesSelector.js +1 -1
- package/dist/features/products/components/ProductGradingTab.d.ts +13 -0
- package/dist/features/products/components/ProductGradingTab.js +25 -0
- package/dist/features/products/components/ProductGrid.js +14 -2
- package/dist/features/products/components/ProductTabsShell.d.ts +5 -1
- package/dist/features/products/components/ProductTabsShell.js +6 -1
- package/dist/features/products/components/index.d.ts +4 -0
- package/dist/features/products/components/index.js +3 -0
- package/dist/features/products/constants/action-defs.d.ts +5 -0
- package/dist/features/products/constants/action-defs.js +52 -32
- package/dist/features/products/constants/sieve.d.ts +24 -4
- package/dist/features/products/constants/sieve.js +20 -11
- package/dist/features/products/repository/products.repository.d.ts +0 -2
- package/dist/features/products/repository/products.repository.js +0 -2
- package/dist/features/products/schemas/firestore.d.ts +17 -0
- package/dist/features/products/schemas/product-features.validators.d.ts +2 -2
- package/dist/features/products/schemas/product-templates.d.ts +2 -4
- package/dist/features/products/server.d.ts +1 -1
- package/dist/features/products/server.js +1 -1
- package/dist/features/products/types/index.d.ts +4 -0
- package/dist/features/promotions/components/CouponCard.js +5 -5
- package/dist/features/promotions/components/CouponsIndexListing.js +3 -2
- package/dist/features/promotions/server.d.ts +0 -1
- package/dist/features/promotions/server.js +0 -1
- package/dist/features/reviews/components/ReviewsIndexListing.js +3 -4
- package/dist/features/reviews/repository/reviews.repository.d.ts +0 -1
- package/dist/features/reviews/repository/reviews.repository.js +0 -1
- package/dist/features/reviews/server.d.ts +1 -1
- package/dist/features/reviews/server.js +1 -1
- package/dist/features/search/api/route.js +44 -1
- package/dist/features/search/components/Search.js +2 -0
- package/dist/features/search/hooks/useNavSuggestions.d.ts +5 -1
- package/dist/features/search/hooks/useNavSuggestions.js +31 -4
- package/dist/features/seller/components/BrandInlineSelect.js +2 -2
- package/dist/features/seller/components/CategoryInlineSelect.js +2 -2
- package/dist/features/seller/components/SellerAddressesView.js +10 -20
- package/dist/features/seller/components/SellerAuctionsView.d.ts +3 -3
- package/dist/features/seller/components/SellerAuctionsView.js +67 -106
- package/dist/features/seller/components/SellerBidsView.js +6 -6
- package/dist/features/seller/components/SellerBundlesView.js +72 -105
- package/dist/features/seller/components/SellerClassifiedView.js +74 -105
- package/dist/features/seller/components/SellerCouponEditorView.js +1 -1
- package/dist/features/seller/components/SellerCouponsView.d.ts +2 -2
- package/dist/features/seller/components/SellerCouponsView.js +51 -96
- package/dist/features/seller/components/SellerDigitalCodesView.js +70 -103
- package/dist/features/seller/components/SellerGroupedListingsView.js +34 -54
- package/dist/features/seller/components/SellerLiveView.js +70 -99
- package/dist/features/seller/components/SellerOffersPanel.js +1 -1
- package/dist/features/seller/components/SellerOffersView.d.ts +2 -2
- package/dist/features/seller/components/SellerOffersView.js +37 -70
- package/dist/features/seller/components/SellerOrdersView.d.ts +2 -2
- package/dist/features/seller/components/SellerOrdersView.js +10 -24
- package/dist/features/seller/components/SellerPayoutMethodsView.js +12 -24
- package/dist/features/seller/components/SellerPayoutsView.d.ts +2 -2
- package/dist/features/seller/components/SellerPayoutsView.js +34 -69
- package/dist/features/seller/components/SellerPreOrdersView.d.ts +2 -2
- package/dist/features/seller/components/SellerPreOrdersView.js +55 -97
- package/dist/features/seller/components/SellerPrizeDrawsView.d.ts +2 -2
- package/dist/features/seller/components/SellerPrizeDrawsView.js +55 -97
- package/dist/features/seller/components/SellerProductShell.d.ts +1 -1
- package/dist/features/seller/components/SellerProductsFilterDrawer.d.ts +1 -1
- package/dist/features/seller/components/SellerProductsFilterDrawer.js +3 -6
- package/dist/features/seller/components/SellerProductsView.d.ts +2 -2
- package/dist/features/seller/components/SellerProductsView.js +24 -32
- package/dist/features/seller/components/SellerShippingConfigsView.js +12 -24
- package/dist/features/seller/components/SellerSidebar.d.ts +0 -4
- package/dist/features/seller/components/SellerSidebar.js +0 -2
- package/dist/features/seller/components/SellerStoreCategoriesView.js +15 -34
- package/dist/features/seller/components/SellerTemplatesView.js +27 -43
- package/dist/features/seller/components/SellersListView.d.ts +1 -2
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.d.ts +5 -0
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.js +2 -8
- package/dist/features/seller/components/index.d.ts +0 -3
- package/dist/features/seller/components/index.js +0 -2
- package/dist/features/seller/server.d.ts +0 -1
- package/dist/features/seller/server.js +0 -1
- package/dist/features/shell/FormShell.d.ts +1 -1
- package/dist/features/shell/FormShell.js +4 -1
- package/dist/features/shell/field-groups/ImageFieldGroup.d.ts +18 -0
- package/dist/features/shell/field-groups/ImageFieldGroup.js +15 -0
- package/dist/features/shell/field-groups/SeoFieldGroup.d.ts +22 -0
- package/dist/features/shell/field-groups/SeoFieldGroup.js +16 -0
- package/dist/features/shell/field-groups/StatusFieldGroup.d.ts +35 -0
- package/dist/features/shell/field-groups/StatusFieldGroup.js +16 -0
- package/dist/features/shell/field-groups/TitleDescriptionGroup.d.ts +40 -0
- package/dist/features/shell/field-groups/TitleDescriptionGroup.js +16 -0
- package/dist/features/shell/field-groups/index.d.ts +13 -0
- package/dist/features/shell/field-groups/index.js +9 -0
- package/dist/features/shell/index.d.ts +2 -0
- package/dist/features/shell/index.js +1 -0
- package/dist/features/stores/components/StoreCapabilitiesGuideView.d.ts +1 -2
- package/dist/features/stores/components/StoreFinanceGuideView.d.ts +1 -2
- package/dist/features/stores/components/StoreHeader.js +2 -1
- package/dist/features/stores/components/StoreListingsGuideView.d.ts +1 -2
- package/dist/features/stores/components/StoreOrdersGuideView.d.ts +1 -2
- package/dist/features/stores/components/StoreReviewsListing.js +3 -4
- package/dist/features/stores/components/StoreScopedSearch.d.ts +16 -0
- package/dist/features/stores/components/StoreScopedSearch.js +27 -0
- package/dist/features/stores/components/StoreSettingsGuideView.d.ts +1 -2
- package/dist/features/stores/components/StoresIndexListing.js +3 -4
- package/dist/features/stores/server.d.ts +0 -1
- package/dist/features/stores/server.js +0 -1
- package/dist/features/support/schemas/firestore.d.ts +22 -1
- package/dist/features/support/schemas/firestore.js +10 -0
- package/dist/features/wishlist/server.d.ts +0 -1
- package/dist/features/wishlist/server.js +0 -1
- package/dist/index.d.ts +11 -33
- package/dist/index.js +17 -62
- package/dist/next/routing/route-map.d.ts +8 -0
- package/dist/next/routing/route-map.js +4 -0
- package/dist/react/contexts/SessionContext.d.ts +2 -0
- package/dist/react/contexts/SessionContext.js +2 -0
- package/dist/react/hooks/useEntityDelete.d.ts +15 -0
- package/dist/react/hooks/useEntityDelete.js +39 -0
- package/dist/react/hooks/useListingTypeFlags.d.ts +32 -0
- package/dist/react/hooks/useListingTypeFlags.js +19 -0
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.js +2 -0
- package/dist/repositories/index.d.ts +3 -3
- package/dist/repositories/index.js +3 -3
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.js +1 -1
- package/dist/security/pii-redact.d.ts +8 -0
- package/dist/security/pii-redact.js +10 -1
- package/dist/seed/grouped-listings-seed-data.d.ts +4 -0
- package/dist/seed/products-preorders-seed-data.d.ts +4 -0
- package/dist/seed/products-prize-draws-seed-data.js +3 -0
- package/dist/seed/site-settings-seed-data.js +5 -5
- package/dist/seed/sub-listings-seed-data.d.ts +4 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +4 -0
- package/dist/styles.css +54 -395
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/BaseListingCard.d.ts +10 -0
- package/dist/ui/components/BaseListingCard.js +17 -1
- package/dist/ui/components/DetailPageGallery.d.ts +32 -0
- package/dist/ui/components/DetailPageGallery.js +47 -0
- package/dist/ui/components/DetailPageHero.d.ts +30 -0
- package/dist/ui/components/DetailPageHero.js +22 -0
- package/dist/ui/components/DetailPageTabs.d.ts +34 -0
- package/dist/ui/components/DetailPageTabs.js +38 -0
- package/dist/ui/components/HorizontalScroller.style.css +15 -2
- package/dist/ui/components/ListingFilterDrawer.d.ts +10 -0
- package/dist/ui/components/ListingFilterDrawer.js +8 -0
- package/dist/ui/components/ListingLayout.d.ts +11 -2
- package/dist/ui/components/ListingLayout.js +12 -6
- package/dist/ui/components/PaginatedSelect.d.ts +66 -0
- package/dist/ui/components/PaginatedSelect.js +201 -0
- package/dist/ui/components/PaginatedSelect.style.css +254 -0
- package/dist/ui/components/Semantic.d.ts +0 -4
- package/dist/ui/components/Semantic.js +0 -2
- package/dist/ui/components/SettingsSection.d.ts +47 -0
- package/dist/ui/components/SettingsSection.js +38 -0
- package/dist/ui/components/index.style.css +1 -4
- package/dist/ui/index.d.ts +14 -14
- package/dist/ui/index.js +7 -7
- package/dist/utils/id-generators.d.ts +1 -18
- package/dist/utils/id-generators.js +51 -18
- package/dist/validation/schemas.d.ts +25 -0
- package/dist/validation/schemas.js +28 -0
- package/package.json +1 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
const DEFAULT_THEME = {
|
|
3
|
+
background: "#0f172a",
|
|
4
|
+
titleColor: "#f1f5f9",
|
|
5
|
+
bodyColor: "#cbd5e1",
|
|
6
|
+
accentColor: "#84e122",
|
|
7
|
+
overlayGradient: "linear-gradient(135deg, rgba(15,23,42,0.95) 0%, rgba(15,23,42,0.8) 100%)",
|
|
8
|
+
};
|
|
9
|
+
export function renderOgLayout(slots) {
|
|
10
|
+
const theme = { ...DEFAULT_THEME, ...(slots.theme ?? {}) };
|
|
11
|
+
const { title, subtitle, imageUrl, siteName, badges, accentSlot } = slots;
|
|
12
|
+
return (_jsxs("div", { style: {
|
|
13
|
+
display: "flex",
|
|
14
|
+
width: "100%",
|
|
15
|
+
height: "100%",
|
|
16
|
+
background: theme.background,
|
|
17
|
+
fontFamily: "sans-serif",
|
|
18
|
+
position: "relative",
|
|
19
|
+
overflow: "hidden",
|
|
20
|
+
}, children: [imageUrl ? (_jsx("img", { src: imageUrl, alt: "", style: {
|
|
21
|
+
position: "absolute",
|
|
22
|
+
inset: 0,
|
|
23
|
+
width: "100%",
|
|
24
|
+
height: "100%",
|
|
25
|
+
objectFit: "cover",
|
|
26
|
+
opacity: 0.15,
|
|
27
|
+
} })) : null, _jsx("div", { style: {
|
|
28
|
+
position: "absolute",
|
|
29
|
+
inset: 0,
|
|
30
|
+
background: theme.overlayGradient,
|
|
31
|
+
} }), _jsxs("div", { style: {
|
|
32
|
+
position: "relative",
|
|
33
|
+
display: "flex",
|
|
34
|
+
width: "100%",
|
|
35
|
+
height: "100%",
|
|
36
|
+
padding: "60px",
|
|
37
|
+
gap: "48px",
|
|
38
|
+
alignItems: "center",
|
|
39
|
+
}, children: [imageUrl ? (_jsx("img", { src: imageUrl, alt: title, style: {
|
|
40
|
+
width: 420,
|
|
41
|
+
height: 420,
|
|
42
|
+
objectFit: "contain",
|
|
43
|
+
borderRadius: 16,
|
|
44
|
+
flexShrink: 0,
|
|
45
|
+
} })) : null, _jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 24, flex: 1 }, children: [_jsx("div", { style: {
|
|
46
|
+
fontSize: 20,
|
|
47
|
+
color: theme.accentColor,
|
|
48
|
+
fontWeight: 600,
|
|
49
|
+
letterSpacing: 2,
|
|
50
|
+
textTransform: "uppercase",
|
|
51
|
+
}, children: siteName }), badges && badges.length > 0 ? (_jsx("div", { style: { display: "flex", gap: 12, flexWrap: "wrap" }, children: badges.map((b, i) => (_jsx("div", { style: {
|
|
52
|
+
display: "flex",
|
|
53
|
+
padding: "8px 16px",
|
|
54
|
+
borderRadius: 9999,
|
|
55
|
+
background: "rgba(255,255,255,0.1)",
|
|
56
|
+
color: theme.bodyColor,
|
|
57
|
+
fontSize: 18,
|
|
58
|
+
fontWeight: 600,
|
|
59
|
+
}, children: b }, i))) })) : null, _jsx("div", { style: {
|
|
60
|
+
fontSize: imageUrl ? 44 : 56,
|
|
61
|
+
fontWeight: 700,
|
|
62
|
+
color: theme.titleColor,
|
|
63
|
+
lineHeight: 1.2,
|
|
64
|
+
display: "-webkit-box",
|
|
65
|
+
WebkitLineClamp: 3,
|
|
66
|
+
WebkitBoxOrient: "vertical",
|
|
67
|
+
overflow: "hidden",
|
|
68
|
+
}, children: title }), accentSlot ? (_jsx("div", { style: { display: "flex", fontSize: 36, fontWeight: 800, color: theme.accentColor }, children: accentSlot })) : null, subtitle ? (_jsx("div", { style: { display: "flex", fontSize: 24, color: theme.bodyColor }, children: subtitle })) : null] })] })] }));
|
|
69
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { renderOgLayout } from "../seo/og-layout";
|
|
2
2
|
import { resolveOgImageUrl } from "../seo/og";
|
|
3
3
|
/** High-level OG renderer — accepts the raw store document from `getStoreForDetail`. */
|
|
4
4
|
export function renderStoreOg(doc, opts) {
|
|
@@ -10,44 +10,11 @@ export function renderStoreOg(doc, opts) {
|
|
|
10
10
|
}, opts.siteName);
|
|
11
11
|
}
|
|
12
12
|
export function renderStoreOgImage(data, siteName) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
fontFamily: "sans-serif",
|
|
21
|
-
position: "relative",
|
|
22
|
-
overflow: "hidden",
|
|
23
|
-
}, children: [bgImage && (_jsx("img", { src: bgImage, alt: "", style: { position: "absolute", inset: 0, width: "100%", height: "100%", objectFit: "cover", opacity: 0.12 } })), _jsx("div", { style: {
|
|
24
|
-
position: "absolute",
|
|
25
|
-
inset: 0,
|
|
26
|
-
background: "linear-gradient(135deg, rgba(15,23,42,0.97) 0%, rgba(15,23,42,0.85) 100%)",
|
|
27
|
-
} }), _jsxs("div", { style: {
|
|
28
|
-
position: "relative",
|
|
29
|
-
display: "flex",
|
|
30
|
-
width: "100%",
|
|
31
|
-
height: "100%",
|
|
32
|
-
padding: "60px",
|
|
33
|
-
gap: "48px",
|
|
34
|
-
alignItems: "center",
|
|
35
|
-
}, children: [logoUrl && (_jsx("img", { src: logoUrl, alt: name, style: { width: 200, height: 200, objectFit: "contain", borderRadius: 16, flexShrink: 0, background: "rgba(255,255,255,0.06)" } })), _jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 20, flex: 1 }, children: [_jsxs("div", { style: { fontSize: 18, color: "#38bdf8", fontWeight: 600, letterSpacing: 2, textTransform: "uppercase" }, children: [siteName, " \u00B7 Store"] }), _jsx("div", { style: {
|
|
36
|
-
fontSize: logoUrl ? 52 : 62,
|
|
37
|
-
fontWeight: 700,
|
|
38
|
-
color: "#f1f5f9",
|
|
39
|
-
lineHeight: 1.15,
|
|
40
|
-
display: "-webkit-box",
|
|
41
|
-
WebkitLineClamp: 2,
|
|
42
|
-
WebkitBoxOrient: "vertical",
|
|
43
|
-
overflow: "hidden",
|
|
44
|
-
}, children: name }), description && (_jsx("div", { style: {
|
|
45
|
-
fontSize: 26,
|
|
46
|
-
color: "#94a3b8",
|
|
47
|
-
lineHeight: 1.4,
|
|
48
|
-
display: "-webkit-box",
|
|
49
|
-
WebkitLineClamp: 2,
|
|
50
|
-
WebkitBoxOrient: "vertical",
|
|
51
|
-
overflow: "hidden",
|
|
52
|
-
}, children: description }))] })] })] }));
|
|
13
|
+
return renderOgLayout({
|
|
14
|
+
title: data.name,
|
|
15
|
+
subtitle: data.description ?? undefined,
|
|
16
|
+
imageUrl: data.logoUrl ?? data.bannerUrl,
|
|
17
|
+
siteName: `${siteName} · Store`,
|
|
18
|
+
theme: { accentColor: "#38bdf8" },
|
|
19
|
+
});
|
|
53
20
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { renderOgLayout } from "../seo/og-layout";
|
|
2
2
|
import { resolveOgImageUrl } from "../seo/og";
|
|
3
3
|
/** High-level OG renderer — accepts the raw sublisting-category doc from the repository. */
|
|
4
4
|
export function renderSublistingCategoryOg(doc, opts) {
|
|
@@ -12,46 +12,15 @@ export function renderSublistingCategoryOg(doc, opts) {
|
|
|
12
12
|
}, opts.siteName);
|
|
13
13
|
}
|
|
14
14
|
export function renderSublistingCategoryOgImage(data, siteName) {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
? `${productCount} listing${productCount !== 1 ? "s" : ""} available`
|
|
15
|
+
const countLabel = data.productCount !== null && data.productCount !== undefined && data.productCount > 0
|
|
16
|
+
? `${data.productCount} listing${data.productCount !== 1 ? "s" : ""} available`
|
|
18
17
|
: null;
|
|
19
|
-
return (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}, children: [coverImage && (_jsx("img", { src: coverImage, alt: "", style: { position: "absolute", inset: 0, width: "100%", height: "100%", objectFit: "cover", opacity: 0.12 } })), _jsx("div", { style: {
|
|
28
|
-
position: "absolute",
|
|
29
|
-
inset: 0,
|
|
30
|
-
background: "linear-gradient(135deg, rgba(15,23,42,0.97) 0%, rgba(15,23,42,0.82) 100%)",
|
|
31
|
-
} }), _jsxs("div", { style: {
|
|
32
|
-
position: "relative",
|
|
33
|
-
display: "flex",
|
|
34
|
-
width: "100%",
|
|
35
|
-
height: "100%",
|
|
36
|
-
padding: "60px",
|
|
37
|
-
gap: "48px",
|
|
38
|
-
alignItems: "center",
|
|
39
|
-
}, children: [coverImage && (_jsx("img", { src: coverImage, alt: name, style: { width: 300, height: 300, objectFit: "cover", borderRadius: 16, flexShrink: 0 } })), _jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 20, flex: 1 }, children: [_jsxs("div", { style: { fontSize: 16, color: "#f59e0b", fontWeight: 600, letterSpacing: 2, textTransform: "uppercase" }, children: [siteName, " \u00B7 Listings"] }), _jsx("div", { style: {
|
|
40
|
-
fontSize: coverImage ? 48 : 60,
|
|
41
|
-
fontWeight: 700,
|
|
42
|
-
color: "#f1f5f9",
|
|
43
|
-
lineHeight: 1.15,
|
|
44
|
-
display: "-webkit-box",
|
|
45
|
-
WebkitLineClamp: 2,
|
|
46
|
-
WebkitBoxOrient: "vertical",
|
|
47
|
-
overflow: "hidden",
|
|
48
|
-
}, children: name }), description && (_jsx("div", { style: {
|
|
49
|
-
fontSize: 24,
|
|
50
|
-
color: "#94a3b8",
|
|
51
|
-
lineHeight: 1.45,
|
|
52
|
-
display: "-webkit-box",
|
|
53
|
-
WebkitLineClamp: 2,
|
|
54
|
-
WebkitBoxOrient: "vertical",
|
|
55
|
-
overflow: "hidden",
|
|
56
|
-
}, children: description })), countLabel && (_jsx("div", { style: { fontSize: 20, fontWeight: 600, color: "#f59e0b" }, children: countLabel }))] })] })] }));
|
|
18
|
+
return renderOgLayout({
|
|
19
|
+
title: data.name,
|
|
20
|
+
subtitle: data.description ?? undefined,
|
|
21
|
+
imageUrl: data.coverImage,
|
|
22
|
+
siteName: `${siteName} · Listings`,
|
|
23
|
+
accentSlot: countLabel,
|
|
24
|
+
theme: { accentColor: "#f59e0b" },
|
|
25
|
+
});
|
|
57
26
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ActionDef } from "./action-registry";
|
|
2
|
+
import type { BulkActionItem } from "../../../ui/components/BulkActionBar";
|
|
3
|
+
export declare function buildBulkAction(actionDef: ActionDef, onClick: () => void | Promise<void>, overrides?: Partial<Pick<BulkActionItem, "id" | "variant" | "icon" | "disabled" | "loading">>): BulkActionItem;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const KIND_TO_VARIANT = {
|
|
2
|
+
primary: "primary",
|
|
3
|
+
secondary: "secondary",
|
|
4
|
+
danger: "danger",
|
|
5
|
+
ghost: "ghost",
|
|
6
|
+
link: "ghost",
|
|
7
|
+
chip: "ghost",
|
|
8
|
+
};
|
|
9
|
+
export function buildBulkAction(actionDef, onClick, overrides) {
|
|
10
|
+
return {
|
|
11
|
+
id: overrides?.id ?? `bulk-${actionDef.id}`,
|
|
12
|
+
label: actionDef.label,
|
|
13
|
+
variant: overrides?.variant ?? KIND_TO_VARIANT[actionDef.kind] ?? "secondary",
|
|
14
|
+
onClick,
|
|
15
|
+
...(overrides?.icon !== undefined && { icon: overrides.icon }),
|
|
16
|
+
...(overrides?.disabled !== undefined && { disabled: overrides.disabled }),
|
|
17
|
+
...(overrides?.loading !== undefined && { loading: overrides.loading }),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* baseUrl: "http://localhost:3000",
|
|
14
14
|
* locales: ["en"],
|
|
15
15
|
* routes: {
|
|
16
|
-
* smoke: [{ path: "/", expect: ["
|
|
16
|
+
* smoke: [{ path: "/", expect: ["MyBrand"] }],
|
|
17
17
|
* },
|
|
18
18
|
* };
|
|
19
19
|
* export default config;
|
|
@@ -84,7 +84,7 @@ export interface AppkitFirebaseConfig {
|
|
|
84
84
|
extensions?: AppkitFirebaseExtensions;
|
|
85
85
|
}
|
|
86
86
|
export interface AppkitBrandConfig {
|
|
87
|
-
/** Display name of the brand, e.g. "
|
|
87
|
+
/** Display name of the brand, e.g. "Acme Store" */
|
|
88
88
|
name: string;
|
|
89
89
|
/** Short / abbreviated name, e.g. "LT" */
|
|
90
90
|
shortName?: string;
|
|
@@ -102,7 +102,7 @@ export interface AppkitBrandConfig {
|
|
|
102
102
|
};
|
|
103
103
|
}
|
|
104
104
|
export interface AppkitSeoConfig {
|
|
105
|
-
/** Canonical site URL, e.g. "https://
|
|
105
|
+
/** Canonical site URL, e.g. "https://example.com" */
|
|
106
106
|
siteUrl: string;
|
|
107
107
|
/** Default page <title> */
|
|
108
108
|
defaultTitle?: string;
|
|
@@ -112,7 +112,7 @@ export interface AppkitSeoConfig {
|
|
|
112
112
|
defaultImage?: string;
|
|
113
113
|
/** OG site name */
|
|
114
114
|
siteName?: string;
|
|
115
|
-
/** Twitter/X handle including @, e.g. "@
|
|
115
|
+
/** Twitter/X handle including @, e.g. "@mybrand" */
|
|
116
116
|
twitterHandle?: string;
|
|
117
117
|
/** BCP 47 locale tag for OG/schema.org, e.g. "en-IN" */
|
|
118
118
|
locale?: string;
|
package/dist/client.d.ts
CHANGED
|
@@ -59,6 +59,8 @@ export { useUrlTable } from "./react/hooks/useUrlTable";
|
|
|
59
59
|
export type { UseUrlTableOptions } from "./react/hooks/useUrlTable";
|
|
60
60
|
export { useBulkSelection } from "./react/hooks/useBulkSelection";
|
|
61
61
|
export type { UseBulkSelectionOptions, UseBulkSelectionReturn } from "./react/hooks/useBulkSelection";
|
|
62
|
+
export { useEntityDelete } from "./react/hooks/useEntityDelete";
|
|
63
|
+
export type { UseEntityDeleteOptions, UseEntityDeleteReturn } from "./react/hooks/useEntityDelete";
|
|
62
64
|
export { ROUTES, PUBLIC_ROUTES, PROTECTED_ROUTES, AUTH_ROUTES } from "./constants/index";
|
|
63
65
|
export { Container, Grid, Row, Stack } from "./ui/components/Layout";
|
|
64
66
|
export { Div } from "./ui/components/Div";
|
|
@@ -89,8 +91,10 @@ export { TextLink } from "./ui/components/TextLink";
|
|
|
89
91
|
export type { TextLinkProps } from "./ui/components/TextLink";
|
|
90
92
|
export { Textarea } from "./ui/components/Textarea";
|
|
91
93
|
export { GlobalError } from "./next/components/GlobalError";
|
|
92
|
-
export { AppLayoutShell, LocaleSwitcher, useDashboardNav, BottomActionsProvider, useBottomActions, DashboardNavProvider, LayoutClient
|
|
93
|
-
export type { AppLayoutShellProps, AppLayoutShellSidebarLink, AppLayoutShellSidebarSection, DashboardNavState, MainNavbarItem, LayoutClientProps
|
|
94
|
+
export { AppLayoutShell, LocaleSwitcher, useDashboardNav, BottomActionsProvider, useBottomActions, DashboardNavProvider, LayoutClient } from "./features/layout/index";
|
|
95
|
+
export type { AppLayoutShellProps, AppLayoutShellSidebarLink, AppLayoutShellSidebarSection, DashboardNavState, MainNavbarItem, LayoutClientProps } from "./features/layout/index";
|
|
96
|
+
export { ListingLayout } from "./ui/components/ListingLayout";
|
|
97
|
+
export type { ListingLayoutProps, ListingLayoutLabels } from "./ui/components/ListingLayout";
|
|
94
98
|
export { Search } from "./features/search/components";
|
|
95
99
|
export type { SearchLabels, SearchProps, SearchQuickLink, SearchRouterAdapter, SearchResourceType, SearchResourceTypeOption } from "./features/search/components";
|
|
96
100
|
export { ToastProvider, SkipToMain, NavigationLoader } from "./ui/index";
|
|
@@ -99,8 +103,8 @@ export { ZodSetup } from "./validation/ZodSetup";
|
|
|
99
103
|
export type { ZodSetupProps } from "./validation/ZodSetup";
|
|
100
104
|
export { AdminSidebar } from "./features/admin/components/AdminSidebar";
|
|
101
105
|
export type { AdminSidebarProps, AdminNavItem, AdminNavGroup } from "./features/admin/components/AdminSidebar";
|
|
102
|
-
export { AdminDashboardView, AdminAnalyticsView,
|
|
103
|
-
export type { AdminDashboardViewProps, AdminAnalyticsViewProps, AdminAnalyticsViewLabels, AdminPrizeDrawsViewProps, AdminCarouselViewProps } from "./features/admin/index";
|
|
106
|
+
export { AdminDashboardView, AdminAnalyticsView, AdminPrizeDrawsView, AdminCarouselView, AdminSublistingCategoriesView, DataTable, DataListingView, useAdminListingData, toRecordArray, toStringValue, toRelativeDate, toRupees } from "./features/admin/index";
|
|
107
|
+
export type { AdminDashboardViewProps, AdminAnalyticsViewProps, AdminAnalyticsViewLabels, AdminPrizeDrawsViewProps, AdminCarouselViewProps, AdminListingScaffoldRow, ListingViewConfig } from "./features/admin/index";
|
|
104
108
|
export type { BulkActionItem } from "./ui/components/BulkActionBar";
|
|
105
109
|
export { ADMIN_ENDPOINTS } from "./constants/index";
|
|
106
110
|
export { apiClient, ApiClientError } from "./http/index";
|
|
@@ -127,8 +131,8 @@ export { useProfile, useUpdateProfile } from "./features/account/index";
|
|
|
127
131
|
export { CategoryProductsView } from "./features/categories/index";
|
|
128
132
|
export type { CategoryItem } from "./features/categories/index";
|
|
129
133
|
export { MediaImage } from "./features/media/index";
|
|
130
|
-
export { StoreSidebar
|
|
131
|
-
export type { StoreNavItem, StoreNavGroup
|
|
134
|
+
export { StoreSidebar } from "./features/seller/components/SellerSidebar";
|
|
135
|
+
export type { StoreNavItem, StoreNavGroup } from "./features/seller/components/SellerSidebar";
|
|
132
136
|
export { StoreProductsView, StoreAboutView } from "./features/stores/index";
|
|
133
137
|
export type { StoreProductItem, StoreAboutViewProps, StoreDetail } from "./features/stores/index";
|
|
134
138
|
export { SearchView } from "./features/search/index";
|
|
@@ -175,6 +179,8 @@ export { DASHBOARD_QUICK_ACTION_ID, DASHBOARD_QUICK_ACTION_META, DASHBOARD_QUICK
|
|
|
175
179
|
export type { DashboardQuickActionId, DashboardQuickActionMeta } from "./features/products/index";
|
|
176
180
|
export { useAuthGate } from "./react/hooks/useAuthGate";
|
|
177
181
|
export type { UseAuthGateReturn } from "./react/hooks/useAuthGate";
|
|
182
|
+
export { useListingTypeFlags } from "./react/hooks/useListingTypeFlags";
|
|
183
|
+
export type { ListingTypeFlags, ListingTypeFlagsShape, } from "./react/hooks/useListingTypeFlags";
|
|
178
184
|
export { useActionDispatch } from "./react/hooks/use-action-dispatch";
|
|
179
185
|
export type { DispatchAction, UseActionDispatchOptions } from "./react/hooks/use-action-dispatch";
|
|
180
186
|
export { usePanelStore } from "./stores/panel-store";
|
|
@@ -225,6 +231,7 @@ export { isListingTypeEnabled, isCategoryTypeEnabled, enabledListingTypes, enabl
|
|
|
225
231
|
export { actionTracker, setActionTrackerSink, resetActionTrackerSink, type ActionEvent, type ActionTrackerSink, } from "./_internal/shared/listing-types/action-tracker";
|
|
226
232
|
export { cartRequiresShipping, cartIsDigitalOnly, cartIsChatOnly, } from "./_internal/shared/listing-types/cart-shipping";
|
|
227
233
|
export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLabel, type ActionDef, type ActionKind, type ActionResource, type ActionTree, type ActionConfirmation, } from "./_internal/shared/actions/action-registry";
|
|
234
|
+
export { buildBulkAction } from "./_internal/shared/actions/bulk-helpers";
|
|
228
235
|
export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, } from "./features/auth/role-predicates";
|
|
229
236
|
export { DashboardLayoutClient, RoleGuard } from "./_internal/client/features/layout/index";
|
|
230
237
|
export type { DashboardLayoutClientProps, RoleGuardProps, } from "./_internal/client/features/layout/index";
|
package/dist/client.js
CHANGED
|
@@ -122,6 +122,7 @@ export { SessionProvider, useSession } from "./react/contexts/SessionContext";
|
|
|
122
122
|
export { ThemeProvider } from "./react/contexts/ThemeContext";
|
|
123
123
|
export { useUrlTable } from "./react/hooks/useUrlTable";
|
|
124
124
|
export { useBulkSelection } from "./react/hooks/useBulkSelection";
|
|
125
|
+
export { useEntityDelete } from "./react/hooks/useEntityDelete";
|
|
125
126
|
// Client-safe constants, UI primitives, and views
|
|
126
127
|
export { ROUTES, PUBLIC_ROUTES, PROTECTED_ROUTES, AUTH_ROUTES } from "./constants/index";
|
|
127
128
|
export { Container, Grid, Row, Stack } from "./ui/components/Layout";
|
|
@@ -144,12 +145,13 @@ export { Label, Text, Span, Caption } from "./ui/components/Typography";
|
|
|
144
145
|
export { TextLink } from "./ui/components/TextLink";
|
|
145
146
|
export { Textarea } from "./ui/components/Textarea";
|
|
146
147
|
export { GlobalError } from "./next/components/GlobalError";
|
|
147
|
-
export { AppLayoutShell, LocaleSwitcher, useDashboardNav, BottomActionsProvider, useBottomActions, DashboardNavProvider, LayoutClient
|
|
148
|
+
export { AppLayoutShell, LocaleSwitcher, useDashboardNav, BottomActionsProvider, useBottomActions, DashboardNavProvider, LayoutClient } from "./features/layout/index";
|
|
149
|
+
export { ListingLayout } from "./ui/components/ListingLayout";
|
|
148
150
|
export { Search } from "./features/search/components";
|
|
149
151
|
export { ToastProvider, SkipToMain, NavigationLoader } from "./ui/index";
|
|
150
152
|
export { ZodSetup } from "./validation/ZodSetup";
|
|
151
153
|
export { AdminSidebar } from "./features/admin/components/AdminSidebar";
|
|
152
|
-
export { AdminDashboardView, AdminAnalyticsView,
|
|
154
|
+
export { AdminDashboardView, AdminAnalyticsView, AdminPrizeDrawsView, AdminCarouselView, AdminSublistingCategoriesView, DataTable, DataListingView, useAdminListingData, toRecordArray, toStringValue, toRelativeDate, toRupees } from "./features/admin/index";
|
|
153
155
|
export { ADMIN_ENDPOINTS } from "./constants/index";
|
|
154
156
|
export { apiClient, ApiClientError } from "./http/index";
|
|
155
157
|
export { UserSidebar } from "./features/account/components/UserSidebar";
|
|
@@ -165,7 +167,7 @@ export { AddressBook, AddressCard, AddressForm } from "./features/account/index"
|
|
|
165
167
|
export { useProfile, useUpdateProfile } from "./features/account/index";
|
|
166
168
|
export { CategoryProductsView } from "./features/categories/index";
|
|
167
169
|
export { MediaImage } from "./features/media/index";
|
|
168
|
-
export { StoreSidebar
|
|
170
|
+
export { StoreSidebar } from "./features/seller/components/SellerSidebar";
|
|
169
171
|
export { StoreProductsView, StoreAboutView } from "./features/stores/index";
|
|
170
172
|
export { SearchView } from "./features/search/index";
|
|
171
173
|
export { UserSettingsView } from "./features/account/index";
|
|
@@ -198,6 +200,9 @@ export { FORM_ACTION_ID, FORM_ACTION_META, FORM_FOOTER_PRESET } from "./features
|
|
|
198
200
|
export { DASHBOARD_QUICK_ACTION_ID, DASHBOARD_QUICK_ACTION_META, DASHBOARD_QUICK_ACTIONS } from "./features/products/index";
|
|
199
201
|
// [CLIENT-ONLY] useAuthGate: pre-dispatch auth gate using ACTION_ID registry.
|
|
200
202
|
export { useAuthGate } from "./react/hooks/useAuthGate";
|
|
203
|
+
// [CLIENT-ONLY] W1-43 — useListingTypeFlags: read featureFlags.listingTypes
|
|
204
|
+
// from siteSettings; hide nav/search/picker entries for disabled types.
|
|
205
|
+
export { useListingTypeFlags } from "./react/hooks/useListingTypeFlags";
|
|
201
206
|
// Action dispatch hook + panel store
|
|
202
207
|
export { useActionDispatch } from "./react/hooks/use-action-dispatch";
|
|
203
208
|
export { usePanelStore } from "./stores/panel-store";
|
|
@@ -239,6 +244,7 @@ export { cartRequiresShipping, cartIsDigitalOnly, cartIsChatOnly, } from "./_int
|
|
|
239
244
|
// SB-UNI-W-1 2026-05-13 — CTA action registry shell (client-safe).
|
|
240
245
|
// Phase 7 W-2..W-4 sweeps fill the per-resource buckets surface by surface.
|
|
241
246
|
export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLabel, } from "./_internal/shared/actions/action-registry";
|
|
247
|
+
export { buildBulkAction } from "./_internal/shared/actions/bulk-helpers";
|
|
242
248
|
// SB-UNI-E user-role predicates (pure functions, client-safe).
|
|
243
249
|
export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, } from "./features/auth/role-predicates";
|
|
244
250
|
// Layout feature — client islands (unifies admin/store/user dashboard layouts).
|
package/dist/configs/next.js
CHANGED
|
@@ -90,6 +90,17 @@ export function defineNextConfig(override = {}) {
|
|
|
90
90
|
"/api/**": [
|
|
91
91
|
// Firebase Admin — entire package (lib/ + esm/, all sub-SDKs)
|
|
92
92
|
"./node_modules/firebase-admin/**",
|
|
93
|
+
// @firebase/database-compat — dynamically required by firebase-admin/database
|
|
94
|
+
"./node_modules/@firebase/database-compat/**",
|
|
95
|
+
"./node_modules/@firebase/database/**",
|
|
96
|
+
"./node_modules/@firebase/database-types/**",
|
|
97
|
+
"./node_modules/@firebase/component/**",
|
|
98
|
+
"./node_modules/@firebase/util/**",
|
|
99
|
+
"./node_modules/@firebase/logger/**",
|
|
100
|
+
"./node_modules/@firebase/app/**",
|
|
101
|
+
"./node_modules/@firebase/app-check-interop-types/**",
|
|
102
|
+
"./node_modules/@firebase/auth-interop-types/**",
|
|
103
|
+
"./node_modules/faye-websocket/**",
|
|
93
104
|
// All @google-cloud packages: firestore (incl. protos/**), storage, paginator, etc.
|
|
94
105
|
"./node_modules/@google-cloud/**",
|
|
95
106
|
// Auth libraries used by Firebase Admin token verification
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export { API_ENDPOINTS, API_ROUTES, LOGS_ENDPOINTS, AUTH_ENDPOINTS, ACCOUNT_ENDPOINTS, NOTIFICATIONS_ENDPOINTS, SITE_SETTINGS_ENDPOINTS, ADMIN_ENDPOINTS, CHAT_ENDPOINTS, AUCTION_ENDPOINTS, BID_ENDPOINTS, CART_ENDPOINTS, CATEGORY_ENDPOINTS, CHECKOUT_ENDPOINTS, PAYMENT_ENDPOINTS, COLLECTION_ENDPOINTS, CONSULTATION_ENDPOINTS, COPILOT_ENDPOINTS, CORPORATE_ENDPOINTS, EVENT_ENDPOINTS, FAQ_ENDPOINTS, HOMEPAGE_ENDPOINTS, LOYALTY_ENDPOINTS, MEDIA_ENDPOINTS, ORDER_ENDPOINTS, PREORDER_ENDPOINTS, PRODUCT_ENDPOINTS, PROMOTION_ENDPOINTS, REVIEW_ENDPOINTS, SEARCH_ENDPOINTS, SELLER_ENDPOINTS, BLOG_ENDPOINTS, STORE_ENDPOINTS, WISHLIST_ENDPOINTS, PROFILE_STATS_ENDPOINTS, DEMO_ENDPOINTS, } from "./api-endpoints";
|
|
13
13
|
export { COLLECTION_CACHE_PATHS } from "./cache-invalidation";
|
|
14
|
+
export { PAGE_SIZES, MAX_PAGE_SIZE, FEATURED_LIMITS, SITEMAP_LIMITS, } from "./pagination-presets";
|
|
15
|
+
export type { PageSizeKey } from "./pagination-presets";
|
|
16
|
+
export { NOTIFICATION_TYPES, NOTIFICATION_TYPE_TABS, } from "./notification-types";
|
|
17
|
+
export type { NotificationType } from "./notification-types";
|
|
14
18
|
export { resolveEndpoint, resolveEndpointFn } from "./api-endpoint-resolver";
|
|
15
19
|
export { ROUTES, PUBLIC_ROUTES, PROTECTED_ROUTES, AUTH_ROUTES } from "../next/routing/route-map";
|
|
16
20
|
export { WISHLIST_MAX, HISTORY_MAX, CART_MAX_ITEMS, WISHLIST_DOC_ID, HISTORY_DOC_ID, WISHLIST_COLLECTION, HISTORY_COLLECTION, } from "./limits";
|
package/dist/constants/index.js
CHANGED
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export { API_ENDPOINTS, API_ROUTES, LOGS_ENDPOINTS, AUTH_ENDPOINTS, ACCOUNT_ENDPOINTS, NOTIFICATIONS_ENDPOINTS, SITE_SETTINGS_ENDPOINTS, ADMIN_ENDPOINTS, CHAT_ENDPOINTS, AUCTION_ENDPOINTS, BID_ENDPOINTS, CART_ENDPOINTS, CATEGORY_ENDPOINTS, CHECKOUT_ENDPOINTS, PAYMENT_ENDPOINTS, COLLECTION_ENDPOINTS, CONSULTATION_ENDPOINTS, COPILOT_ENDPOINTS, CORPORATE_ENDPOINTS, EVENT_ENDPOINTS, FAQ_ENDPOINTS, HOMEPAGE_ENDPOINTS, LOYALTY_ENDPOINTS, MEDIA_ENDPOINTS, ORDER_ENDPOINTS, PREORDER_ENDPOINTS, PRODUCT_ENDPOINTS, PROMOTION_ENDPOINTS, REVIEW_ENDPOINTS, SEARCH_ENDPOINTS, SELLER_ENDPOINTS, BLOG_ENDPOINTS, STORE_ENDPOINTS, WISHLIST_ENDPOINTS, PROFILE_STATS_ENDPOINTS, DEMO_ENDPOINTS, } from "./api-endpoints";
|
|
13
13
|
export { COLLECTION_CACHE_PATHS } from "./cache-invalidation";
|
|
14
|
+
export { PAGE_SIZES, MAX_PAGE_SIZE, FEATURED_LIMITS, SITEMAP_LIMITS, } from "./pagination-presets";
|
|
15
|
+
export { NOTIFICATION_TYPES, NOTIFICATION_TYPE_TABS, } from "./notification-types";
|
|
14
16
|
export { resolveEndpoint, resolveEndpointFn } from "./api-endpoint-resolver";
|
|
15
17
|
export { ROUTES, PUBLIC_ROUTES, PROTECTED_ROUTES, AUTH_ROUTES } from "../next/routing/route-map";
|
|
16
18
|
export { WISHLIST_MAX, HISTORY_MAX, CART_MAX_ITEMS, WISHLIST_DOC_ID, HISTORY_DOC_ID, WISHLIST_COLLECTION, HISTORY_COLLECTION, } from "./limits";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Notification Type Registry — W1-33
|
|
3
|
+
*
|
|
4
|
+
* Canonical list of notification type IDs. Shared across:
|
|
5
|
+
* - AdminNotificationsView filter chips
|
|
6
|
+
* - NotificationPreferencesPanel (per-type toggles)
|
|
7
|
+
* - sendNotification() dispatch (type-based channel routing)
|
|
8
|
+
*
|
|
9
|
+
* Add new types here. Don't redefine the list inline in components.
|
|
10
|
+
*/
|
|
11
|
+
export declare const NOTIFICATION_TYPES: readonly ["order_placed", "order_shipped", "order_delivered", "order_cancelled", "bid_placed", "bid_outbid", "bid_won", "review_posted", "payout_processed"];
|
|
12
|
+
export type NotificationType = (typeof NOTIFICATION_TYPES)[number];
|
|
13
|
+
/**
|
|
14
|
+
* Shape used by filter-chip rows (id + display label).
|
|
15
|
+
* Prepended with an "All" option for the typical filter-chip pattern.
|
|
16
|
+
*/
|
|
17
|
+
export declare const NOTIFICATION_TYPE_TABS: ReadonlyArray<{
|
|
18
|
+
id: string;
|
|
19
|
+
label: string;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Notification Type Registry — W1-33
|
|
3
|
+
*
|
|
4
|
+
* Canonical list of notification type IDs. Shared across:
|
|
5
|
+
* - AdminNotificationsView filter chips
|
|
6
|
+
* - NotificationPreferencesPanel (per-type toggles)
|
|
7
|
+
* - sendNotification() dispatch (type-based channel routing)
|
|
8
|
+
*
|
|
9
|
+
* Add new types here. Don't redefine the list inline in components.
|
|
10
|
+
*/
|
|
11
|
+
export const NOTIFICATION_TYPES = [
|
|
12
|
+
"order_placed",
|
|
13
|
+
"order_shipped",
|
|
14
|
+
"order_delivered",
|
|
15
|
+
"order_cancelled",
|
|
16
|
+
"bid_placed",
|
|
17
|
+
"bid_outbid",
|
|
18
|
+
"bid_won",
|
|
19
|
+
"review_posted",
|
|
20
|
+
"payout_processed",
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* Shape used by filter-chip rows (id + display label).
|
|
24
|
+
* Prepended with an "All" option for the typical filter-chip pattern.
|
|
25
|
+
*/
|
|
26
|
+
export const NOTIFICATION_TYPE_TABS = [
|
|
27
|
+
{ id: "All", label: "All" },
|
|
28
|
+
{ id: "order_placed", label: "Order placed" },
|
|
29
|
+
{ id: "order_shipped", label: "Order shipped" },
|
|
30
|
+
{ id: "order_delivered", label: "Order delivered" },
|
|
31
|
+
{ id: "order_cancelled", label: "Order cancelled" },
|
|
32
|
+
{ id: "bid_placed", label: "Bid placed" },
|
|
33
|
+
{ id: "bid_outbid", label: "Bid outbid" },
|
|
34
|
+
{ id: "bid_won", label: "Bid won" },
|
|
35
|
+
{ id: "review_posted", label: "Review posted" },
|
|
36
|
+
{ id: "payout_processed", label: "Payout processed" },
|
|
37
|
+
];
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination presets — W2-5
|
|
3
|
+
*
|
|
4
|
+
* Canonical page-size and limit constants. Reference these instead of
|
|
5
|
+
* redefining `PAGE_SIZE` / `DEFAULT_PAGE_SIZE` / `FEATURED_LIMIT` per feature.
|
|
6
|
+
*
|
|
7
|
+
* Empirically derived from the existing distribution (2026-05-23):
|
|
8
|
+
* - public marketplace cards (24 per page) — GRID
|
|
9
|
+
* - admin tables (50 per page) — LARGE
|
|
10
|
+
* - admin tables (default 25) — DEFAULT
|
|
11
|
+
* - bundle/category page nav (12 per page) — SMALL
|
|
12
|
+
*/
|
|
13
|
+
export declare const PAGE_SIZES: {
|
|
14
|
+
readonly SMALL: 12;
|
|
15
|
+
readonly DEFAULT: 25;
|
|
16
|
+
readonly GRID: 24;
|
|
17
|
+
readonly LARGE: 50;
|
|
18
|
+
};
|
|
19
|
+
export type PageSizeKey = keyof typeof PAGE_SIZES;
|
|
20
|
+
/** Maximum permissible page-size for paginated API routes. Server-side guard. */
|
|
21
|
+
export declare const MAX_PAGE_SIZE = 100;
|
|
22
|
+
/** Per-resource featured-section limits (homepage hero strips). */
|
|
23
|
+
export declare const FEATURED_LIMITS: {
|
|
24
|
+
readonly products: 8;
|
|
25
|
+
readonly categories: 12;
|
|
26
|
+
readonly stores: 8;
|
|
27
|
+
readonly blog: 3;
|
|
28
|
+
readonly bundles: 12;
|
|
29
|
+
readonly events: 6;
|
|
30
|
+
readonly auctions: 8;
|
|
31
|
+
};
|
|
32
|
+
/** Per-resource sitemap node-count limits (URL caps). */
|
|
33
|
+
export declare const SITEMAP_LIMITS: {
|
|
34
|
+
readonly products: 5000;
|
|
35
|
+
readonly categories: 200;
|
|
36
|
+
readonly stores: 200;
|
|
37
|
+
readonly blog: 5000;
|
|
38
|
+
readonly auctions: 5000;
|
|
39
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination presets — W2-5
|
|
3
|
+
*
|
|
4
|
+
* Canonical page-size and limit constants. Reference these instead of
|
|
5
|
+
* redefining `PAGE_SIZE` / `DEFAULT_PAGE_SIZE` / `FEATURED_LIMIT` per feature.
|
|
6
|
+
*
|
|
7
|
+
* Empirically derived from the existing distribution (2026-05-23):
|
|
8
|
+
* - public marketplace cards (24 per page) — GRID
|
|
9
|
+
* - admin tables (50 per page) — LARGE
|
|
10
|
+
* - admin tables (default 25) — DEFAULT
|
|
11
|
+
* - bundle/category page nav (12 per page) — SMALL
|
|
12
|
+
*/
|
|
13
|
+
export const PAGE_SIZES = {
|
|
14
|
+
SMALL: 12,
|
|
15
|
+
DEFAULT: 25,
|
|
16
|
+
GRID: 24,
|
|
17
|
+
LARGE: 50,
|
|
18
|
+
};
|
|
19
|
+
/** Maximum permissible page-size for paginated API routes. Server-side guard. */
|
|
20
|
+
export const MAX_PAGE_SIZE = 100;
|
|
21
|
+
/** Per-resource featured-section limits (homepage hero strips). */
|
|
22
|
+
export const FEATURED_LIMITS = {
|
|
23
|
+
products: 8,
|
|
24
|
+
categories: 12,
|
|
25
|
+
stores: 8,
|
|
26
|
+
blog: 3,
|
|
27
|
+
bundles: 12,
|
|
28
|
+
events: 6,
|
|
29
|
+
auctions: 8,
|
|
30
|
+
};
|
|
31
|
+
/** Per-resource sitemap node-count limits (URL caps). */
|
|
32
|
+
export const SITEMAP_LIMITS = {
|
|
33
|
+
products: 5000,
|
|
34
|
+
categories: 200,
|
|
35
|
+
stores: 200,
|
|
36
|
+
blog: 5000,
|
|
37
|
+
auctions: 5000,
|
|
38
|
+
};
|
|
@@ -463,10 +463,6 @@ export declare const ERROR_MESSAGES: {
|
|
|
463
463
|
readonly ORDER_CREATE_FAILED: "Failed to create shipment with shipping provider";
|
|
464
464
|
readonly AWB_ASSIGN_FAILED: "Failed to assign courier AWB number";
|
|
465
465
|
readonly PICKUP_SCHEDULE_FAILED: "Failed to schedule pickup with shipping provider";
|
|
466
|
-
/** @deprecated Use PROVIDER_CREDS_REQUIRED */
|
|
467
|
-
readonly SHIPROCKET_CREDS_REQUIRED: "Shipping provider email and password are required";
|
|
468
|
-
/** @deprecated Use PROVIDER_AUTH_FAILED */
|
|
469
|
-
readonly SHIPROCKET_AUTH_FAILED: "Failed to authenticate with shipping provider — check your credentials";
|
|
470
466
|
readonly TRACKING_FAILED: "Failed to fetch tracking details";
|
|
471
467
|
readonly INVALID_TRACKING_URL: "Please provide a valid tracking URL";
|
|
472
468
|
readonly CARRIER_NAME_REQUIRED: "Carrier name is required when providing tracking details";
|
package/dist/errors/messages.js
CHANGED
|
@@ -496,10 +496,6 @@ export const ERROR_MESSAGES = {
|
|
|
496
496
|
ORDER_CREATE_FAILED: "Failed to create shipment with shipping provider",
|
|
497
497
|
AWB_ASSIGN_FAILED: "Failed to assign courier AWB number",
|
|
498
498
|
PICKUP_SCHEDULE_FAILED: "Failed to schedule pickup with shipping provider",
|
|
499
|
-
/** @deprecated Use PROVIDER_CREDS_REQUIRED */
|
|
500
|
-
SHIPROCKET_CREDS_REQUIRED: "Shipping provider email and password are required",
|
|
501
|
-
/** @deprecated Use PROVIDER_AUTH_FAILED */
|
|
502
|
-
SHIPROCKET_AUTH_FAILED: "Failed to authenticate with shipping provider — check your credentials",
|
|
503
499
|
TRACKING_FAILED: "Failed to fetch tracking details",
|
|
504
500
|
INVALID_TRACKING_URL: "Please provide a valid tracking URL",
|
|
505
501
|
CARRIER_NAME_REQUIRED: "Carrier name is required when providing tracking details",
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useCallback, useMemo } from "react";
|
|
4
|
-
import { X } from "lucide-react";
|
|
5
4
|
import { useUrlTable } from "../../../react/hooks/useUrlTable";
|
|
6
5
|
import { useAddresses } from "../hooks/useAddresses";
|
|
7
|
-
import { ListingToolbar, Text } from "../../../ui";
|
|
6
|
+
import { ListingFilterDrawer, ListingToolbar, Text } from "../../../ui";
|
|
8
7
|
import { AddressBook } from "./AddressBook";
|
|
9
8
|
import { AddressFilters } from "./AddressFilters";
|
|
10
9
|
import { TABLE_KEYS, VIEW_MODE } from "../../../constants/table-keys";
|
|
@@ -75,5 +74,5 @@ export function AddressesIndexListing({ onAdd, onEdit, onDelete, }) {
|
|
|
75
74
|
},
|
|
76
75
|
});
|
|
77
76
|
return (_jsxs("div", { className: "space-y-4", children: [_jsx(ListingToolbar, { filterCount: activeFilterCount, onFiltersClick: openFilters, searchValue: searchInput, searchPlaceholder: "Search by address, postcode or label...", onSearchChange: setSearchInput, onSearchCommit: commitSearch, view: view, onViewChange: (v) => { if (v === "table")
|
|
78
|
-
return; setView(v); }, onResetAll: resetAll, hasActiveState: hasActiveState }), _jsx("div", { className: "px-3 sm:px-4", children: isLoading ? (_jsx("div", { className: "grid sm:grid-cols-2 gap-4", children: Array.from({ length: 4 }).map((_, i) => (_jsxs("div", { className: "rounded-xl border border-zinc-200 dark:border-slate-700 animate-pulse p-4 space-y-2", children: [_jsx("div", { className: "h-4 bg-zinc-200 dark:bg-slate-700 rounded w-1/3" }), _jsx("div", { className: "h-3 bg-zinc-200 dark:bg-slate-700 rounded w-3/4" }), _jsx("div", { className: "h-3 bg-zinc-200 dark:bg-slate-700 rounded w-1/2" })] }, i))) })) : addresses.length === 0 ? (_jsx(Text, { className: "py-8 text-center text-sm text-zinc-500 dark:text-zinc-400", children: table.get(TABLE_KEYS.QUERY) ? `No addresses matching "${table.get(TABLE_KEYS.QUERY)}"` : "No saved addresses." })) : (_jsx(AddressBook, { addresses: addresses, onEdit: onEdit, onDelete: onDelete, onAdd: onAdd })) }),
|
|
77
|
+
return; setView(v); }, onResetAll: resetAll, hasActiveState: hasActiveState }), _jsx("div", { className: "px-3 sm:px-4", children: isLoading ? (_jsx("div", { className: "grid sm:grid-cols-2 gap-4", children: Array.from({ length: 4 }).map((_, i) => (_jsxs("div", { className: "rounded-xl border border-zinc-200 dark:border-slate-700 animate-pulse p-4 space-y-2", children: [_jsx("div", { className: "h-4 bg-zinc-200 dark:bg-slate-700 rounded w-1/3" }), _jsx("div", { className: "h-3 bg-zinc-200 dark:bg-slate-700 rounded w-3/4" }), _jsx("div", { className: "h-3 bg-zinc-200 dark:bg-slate-700 rounded w-1/2" })] }, i))) })) : addresses.length === 0 ? (_jsx(Text, { className: "py-8 text-center text-sm text-zinc-500 dark:text-zinc-400", children: table.get(TABLE_KEYS.QUERY) ? `No addresses matching "${table.get(TABLE_KEYS.QUERY)}"` : "No saved addresses." })) : (_jsx(AddressBook, { addresses: addresses, onEdit: onEdit, onDelete: onDelete, onAdd: onAdd })) }), _jsx(ListingFilterDrawer, { open: filterOpen, onClose: () => setFilterOpen(false), onApply: applyFilters, onClear: clearFilters, activeCount: activeFilterCount, children: _jsx(AddressFilters, { table: pendingTable }) })] }));
|
|
79
78
|
}
|