@mohasinac/appkit 3.0.3 → 3.0.6
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.js +11 -1
- package/dist/_internal/client/features/layout/filterNavItems.js +0 -1
- package/dist/_internal/client/features/layout/index.js +0 -1
- package/dist/_internal/client/features/maintenance/views/MaintenanceDashboardView.js +0 -1
- package/dist/_internal/client/features/maintenance/views/ServerErrorDetailView.js +0 -1
- package/dist/_internal/server/features/auctions/data.d.ts +2 -4
- package/dist/_internal/server/features/auctions/data.js +3 -9
- package/dist/_internal/server/features/checkout/actions.js +9 -9
- package/dist/_internal/server/features/classified/adapters.d.ts +2 -15
- package/dist/_internal/server/features/classified/adapters.js +2 -17
- package/dist/_internal/server/features/classified/data.d.ts +1 -6
- package/dist/_internal/server/features/classified/data.js +2 -10
- package/dist/_internal/server/features/digital-code/adapters.d.ts +2 -15
- package/dist/_internal/server/features/digital-code/adapters.js +2 -17
- package/dist/_internal/server/features/digital-code/data.d.ts +1 -6
- package/dist/_internal/server/features/digital-code/data.js +2 -10
- package/dist/_internal/server/features/live/adapters.d.ts +2 -15
- package/dist/_internal/server/features/live/adapters.js +2 -17
- package/dist/_internal/server/features/live/data.d.ts +1 -6
- package/dist/_internal/server/features/live/data.js +2 -10
- package/dist/_internal/server/features/pre-orders/data.d.ts +2 -4
- package/dist/_internal/server/features/pre-orders/data.js +3 -9
- package/dist/_internal/server/features/prize-draws/actions.d.ts +2 -0
- package/dist/_internal/server/features/prize-draws/actions.js +22 -0
- package/dist/_internal/server/features/prize-draws/data.d.ts +1 -17
- package/dist/_internal/server/features/prize-draws/data.js +2 -20
- package/dist/_internal/server/features/prize-draws/index.d.ts +3 -1
- package/dist/_internal/server/features/prize-draws/index.js +2 -0
- package/dist/_internal/server/features/prize-draws/service.d.ts +3 -0
- package/dist/_internal/server/features/prize-draws/service.js +19 -0
- package/dist/_internal/server/features/shared/listing-adapters.d.ts +19 -0
- package/dist/_internal/server/features/shared/listing-adapters.js +20 -0
- package/dist/_internal/server/features/shared/listing-data-factory.d.ts +9 -0
- package/dist/_internal/server/features/shared/listing-data-factory.js +33 -0
- package/dist/_internal/server/features/stores/data.d.ts +3 -14
- package/dist/_internal/server/features/stores/data.js +6 -44
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +1 -1
- package/dist/_internal/shared/features/cart/schema.d.ts +8 -8
- package/dist/_internal/shared/features/cart/schema.js +3 -0
- package/dist/_internal/shared/listing-types/_registry.js +2 -0
- package/dist/_internal/shared/listing-types/action-tracker.js +1 -1
- package/dist/_internal/shared/listing-types/auction/schema.d.ts +3 -1
- package/dist/_internal/shared/listing-types/auction/schema.js +7 -1
- package/dist/_internal/shared/listing-types/classified/schema.d.ts +2 -1
- package/dist/_internal/shared/listing-types/classified/schema.js +3 -1
- package/dist/_internal/shared/listing-types/digital-code/schema.d.ts +3 -1
- package/dist/_internal/shared/listing-types/digital-code/schema.js +7 -1
- package/dist/_internal/shared/listing-types/live/schema.d.ts +2 -1
- package/dist/_internal/shared/listing-types/live/schema.js +3 -1
- package/dist/_internal/shared/listing-types/pre-order/schema.d.ts +3 -1
- package/dist/_internal/shared/listing-types/pre-order/schema.js +7 -1
- package/dist/_internal/shared/listing-types/prize-draw/schema.d.ts +3 -1
- package/dist/_internal/shared/listing-types/prize-draw/schema.js +13 -1
- package/dist/_internal/shared/listing-types/standard/schema.d.ts +2 -1
- package/dist/_internal/shared/listing-types/standard/schema.js +4 -1
- package/dist/_internal/shared/types/base-document.d.ts +15 -0
- package/dist/_internal/shared/types/base-document.js +1 -0
- package/dist/_internal/shared/types/index.d.ts +2 -0
- package/dist/_internal/shared/types/index.js +1 -0
- package/dist/client/api/ApiError.d.ts +10 -4
- package/dist/client/api/surface-error.js +0 -1
- package/dist/client.d.ts +8 -4
- package/dist/client.js +4 -2
- package/dist/constants/api-endpoints.d.ts +12 -0
- package/dist/constants/api-endpoints.js +4 -0
- package/dist/core/hooks/useSyncManager.js +4 -4
- package/dist/features/_guide-cls.d.ts +1 -1
- package/dist/features/_guide-cls.js +1 -1
- package/dist/features/about/components/AboutView.js +1 -4
- package/dist/features/about/components/FAQPageView.js +1 -1
- package/dist/features/about/components/FeesView.js +1 -1
- package/dist/features/about/components/HelpPageView.js +1 -1
- package/dist/features/about/components/HowOrdersWorkView.js +1 -1
- package/dist/features/about/components/PublicProfileView.js +6 -6
- package/dist/features/about/components/TrackOrderView.js +1 -1
- package/dist/features/account/components/AddressBook.js +1 -1
- package/dist/features/account/components/AddressForm.js +10 -2
- package/dist/features/account/components/AddressesIndexListing.js +1 -1
- package/dist/features/account/components/BuyerAccountGuideView.js +1 -1
- package/dist/features/account/components/BuyerAuctionsGuideView.js +1 -1
- package/dist/features/account/components/BuyerOrdersGuideView.js +1 -1
- package/dist/features/account/components/BuyerShoppingGuideView.js +1 -1
- package/dist/features/account/components/ChatWindow.js +1 -1
- package/dist/features/account/components/MessagesView.js +1 -1
- package/dist/features/account/components/NotificationBell.js +25 -10
- package/dist/features/account/components/NotificationPreferencesPanel.js +2 -2
- package/dist/features/account/components/UserOffersPanel.js +1 -0
- package/dist/features/account/components/UserSidebar.js +1 -6
- package/dist/features/account/components/UserSupportView.js +1 -1
- package/dist/features/addresses/schemas/firestore.d.ts +2 -4
- package/dist/features/admin/components/AdminAnalyticsGuideView.js +2 -2
- package/dist/features/admin/components/AdminBlogEditorView.js +1 -1
- package/dist/features/admin/components/AdminBundlesView.js +1 -1
- package/dist/features/admin/components/AdminCarouselEditorView.js +1 -1
- package/dist/features/admin/components/AdminCatalogGuideView.js +2 -2
- package/dist/features/admin/components/AdminContentGuideView.js +2 -2
- package/dist/features/admin/components/AdminEmployeeEditorView.js +2 -2
- package/dist/features/admin/components/AdminFulfillmentView.d.ts +6 -0
- package/dist/features/admin/components/AdminFulfillmentView.js +107 -0
- package/dist/features/admin/components/AdminGuideHubView.js +1 -5
- package/dist/features/admin/components/AdminMediaView.js +1 -1
- package/dist/features/admin/components/AdminNavigationView.js +1 -1
- package/dist/features/admin/components/AdminOrdersGuideView.js +3 -3
- package/dist/features/admin/components/AdminPayoutsView.js +1 -4
- package/dist/features/admin/components/AdminProductEditorView.js +21 -9
- package/dist/features/admin/components/AdminProductsView.js +3 -0
- package/dist/features/admin/components/AdminSidebar.js +1 -6
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +9 -1
- package/dist/features/admin/components/AdminStoreEditorView.js +1 -1
- package/dist/features/admin/components/AdminStoresGuideView.js +2 -2
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +7 -7
- package/dist/features/admin/components/AdminTeamGuideView.js +2 -2
- package/dist/features/admin/components/AdminTrustGuideView.js +3 -3
- package/dist/features/admin/components/AdminUsersGuideView.js +3 -3
- package/dist/features/admin/components/DashboardStats.js +6 -5
- package/dist/features/admin/components/DataListingView.d.ts +1 -0
- package/dist/features/admin/components/DataTable.js +2 -2
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +4 -6
- package/dist/features/admin/components/analytics/AdminStatCard.js +4 -3
- package/dist/features/admin/components/analytics/AdminTopProductsTable.js +1 -1
- package/dist/features/admin/components/index.d.ts +2 -0
- package/dist/features/admin/components/index.js +1 -0
- package/dist/features/admin/schemas/firestore.d.ts +3 -8
- package/dist/features/auctions/components/AuctionBidsTable.js +1 -1
- package/dist/features/auctions/components/AuctionDetailPageView.js +1 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +3 -3
- package/dist/features/auctions/schemas/firestore.d.ts +2 -4
- package/dist/features/auctions/schemas/index.d.ts +2 -2
- package/dist/features/auth/components/ForgotPasswordView.js +19 -8
- package/dist/features/auth/components/LoginForm.js +10 -2
- package/dist/features/auth/components/RegisterForm.js +10 -2
- package/dist/features/auth/components/ResetPasswordView.js +19 -8
- package/dist/features/auth/components/SocialAuthButtons.js +1 -1
- package/dist/features/before-after/components/BeforeAfterSlider.js +1 -1
- package/dist/features/before-after/schemas/index.d.ts +2 -2
- package/dist/features/blog/api/[slug]/route.js +1 -1
- package/dist/features/blog/components/BlogFeaturedCard.js +1 -1
- package/dist/features/blog/components/BlogListView.js +1 -1
- package/dist/features/blog/components/BlogPostView.js +1 -1
- package/dist/features/blog/schemas/firestore.d.ts +2 -4
- package/dist/features/blog/schemas/index.d.ts +6 -6
- package/dist/features/cart/components/CartDrawer.js +2 -2
- package/dist/features/cart/components/CartView.js +1 -1
- package/dist/features/cart/components/CheckoutView.js +1 -1
- package/dist/features/cart/schemas/firestore.d.ts +2 -4
- package/dist/features/categories/components/BrandDetailPageView.js +2 -1
- package/dist/features/categories/components/BundleDetailView.js +1 -1
- package/dist/features/categories/components/BundleItemsPicker.js +1 -1
- package/dist/features/categories/components/CategoryBundlesListing.js +3 -1
- package/dist/features/categories/components/CategoryDetailPageView.js +1 -1
- package/dist/features/categories/components/CategoryGrid.js +2 -1
- package/dist/features/categories/components/CategoryTableColumns.js +5 -2
- package/dist/features/categories/components/CategoryTree.js +3 -2
- package/dist/features/categories/components/ConcernCard.js +1 -1
- package/dist/features/categories/schemas/firestore.d.ts +2 -4
- package/dist/features/categories/schemas/index.d.ts +6 -6
- package/dist/features/checkout/components/CheckoutStepper.js +1 -1
- package/dist/features/collections/components/CollectionCard.js +1 -1
- package/dist/features/contact/components/ContactPageView.js +27 -27
- package/dist/features/contact/email.js +4 -4
- package/dist/features/copilot/components/AdminCopilotView.js +3 -3
- package/dist/features/email/primitives.d.ts +4 -0
- package/dist/features/email/primitives.js +4 -0
- package/dist/features/events/components/EventCard.js +2 -2
- package/dist/features/events/components/EventOfferCard.js +1 -1
- package/dist/features/events/components/EventRaffleEntryForm.js +1 -1
- package/dist/features/events/components/EventRaffleWinnerView.js +2 -2
- package/dist/features/events/components/EventSaleBanner.js +0 -1
- package/dist/features/events/schemas/firestore.d.ts +2 -4
- package/dist/features/events/schemas/index.d.ts +4 -4
- package/dist/features/faq/components/ContactCTA.js +1 -1
- package/dist/features/faq/components/FAQAccordion.js +2 -2
- package/dist/features/faq/components/FAQCategorySidebar.js +2 -2
- package/dist/features/faq/components/FAQHelpfulButtons.js +2 -2
- package/dist/features/faq/components/RelatedFAQs.js +1 -1
- package/dist/features/faq/schemas/firestore.d.ts +2 -4
- package/dist/features/faq/schemas/index.d.ts +4 -4
- package/dist/features/filters/AsyncFacetSection.js +3 -3
- package/dist/features/filters/FilterFacetSection.js +6 -6
- package/dist/features/filters/RangeFilter.js +2 -2
- package/dist/features/filters/SwitchFilter.js +1 -1
- package/dist/features/forms/Checkbox.js +1 -1
- package/dist/features/forms/Slider.js +7 -2
- package/dist/features/forms/utils.d.ts +2 -2
- package/dist/features/forms/utils.js +2 -2
- package/dist/features/grouped/schemas/index.d.ts +2 -2
- package/dist/features/history/hooks/useHistory.js +1 -1
- package/dist/features/homepage/components/AdSlot.js +3 -3
- package/dist/features/homepage/components/AdvertisementBanner.js +5 -4
- package/dist/features/homepage/components/BeforeAfterCard.js +9 -1
- package/dist/features/homepage/components/CharacterHotspot.js +42 -49
- package/dist/features/homepage/components/CharacterHotspotForm.js +18 -20
- package/dist/features/homepage/components/CollectionCardsSection.js +2 -2
- package/dist/features/homepage/components/CustomCardsSection.js +3 -6
- package/dist/features/homepage/components/CustomerReviewsSection.js +1 -1
- package/dist/features/homepage/components/FAQSection.js +2 -2
- package/dist/features/homepage/components/FeaturedResultsSection.js +1 -1
- package/dist/features/homepage/components/GoogleReviewsSection.js +4 -4
- package/dist/features/homepage/components/HeroBanner.js +12 -63
- package/dist/features/homepage/components/HeroCarousel.js +6 -6
- package/dist/features/homepage/components/HeroSection.js +1 -1
- package/dist/features/homepage/components/HowItWorksInfoView.js +1 -1
- package/dist/features/homepage/components/HowItWorksSection.js +5 -3
- package/dist/features/homepage/components/NewsletterBanner.js +3 -7
- package/dist/features/homepage/components/PromoGrid.js +2 -26
- package/dist/features/homepage/components/SectionCarousel.js +1 -1
- package/dist/features/homepage/components/SecurityHighlightsSection.js +6 -3
- package/dist/features/homepage/components/ShopByCategorySection.js +3 -3
- package/dist/features/homepage/components/SiteFeaturesSection.js +1 -1
- package/dist/features/homepage/components/SocialPostCard.js +2 -3
- package/dist/features/homepage/components/StatsCounterSection.js +6 -3
- package/dist/features/homepage/components/TestimonialsCarousel.js +2 -25
- package/dist/features/homepage/components/TrustBadges.js +1 -9
- package/dist/features/homepage/components/TrustFeaturesSection.js +6 -3
- package/dist/features/homepage/components/TrustIndicatorsSection.js +1 -1
- package/dist/features/homepage/components/WelcomeSection.js +2 -2
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +1 -1
- package/dist/features/homepage/lib/franchise-colors.d.ts +7 -0
- package/dist/features/homepage/lib/franchise-colors.js +7 -0
- package/dist/features/homepage/lib/live-stats.js +5 -5
- package/dist/features/homepage/schemas/firestore.d.ts +4 -12
- package/dist/features/homepage/schemas/index.d.ts +2 -2
- package/dist/features/layout/AppLayoutShell.js +7 -9
- package/dist/features/layout/BottomNavbar.js +1 -2
- package/dist/features/messages/hooks/useConversation.js +2 -1
- package/dist/features/messages/hooks/useConversations.js +1 -0
- package/dist/features/messages/schemas/firestore.d.ts +2 -4
- package/dist/features/messages/schemas/index.d.ts +2 -2
- package/dist/features/orders/components/OrdersList.js +1 -1
- package/dist/features/orders/components/RefundHistoryTable.d.ts +6 -0
- package/dist/features/orders/components/RefundHistoryTable.js +3 -2
- package/dist/features/orders/repository/orders.repository.d.ts +5 -0
- package/dist/features/orders/repository/orders.repository.js +26 -0
- package/dist/features/orders/schemas/firestore.d.ts +9 -5
- package/dist/features/orders/schemas/firestore.js +3 -0
- package/dist/features/payments/schemas/firestore.d.ts +2 -4
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +2 -2
- package/dist/features/pre-orders/components/PreOrderBadge.js +1 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +2 -1
- package/dist/features/pre-orders/schemas/index.d.ts +2 -2
- package/dist/features/products/components/CompareOverlay.js +11 -8
- package/dist/features/products/components/CustomSectionTabContent.js +1 -1
- package/dist/features/products/components/FeatureBadge.js +11 -1
- package/dist/features/products/components/GroupSettingsPanel.js +2 -2
- package/dist/features/products/components/MarketplaceBundleCard.js +1 -1
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +2 -2
- package/dist/features/products/components/PrizeDrawItemsEditor.js +1 -1
- package/dist/features/products/components/PrizeDrawsIndexListing.js +1 -1
- package/dist/features/products/components/ProductCardMetadataSection.js +0 -1
- package/dist/features/products/components/ProductDetailPageView.js +1 -1
- package/dist/features/products/components/ProductFeatureBadges.js +1 -1
- package/dist/features/products/components/ProductGalleryClient.js +1 -1
- package/dist/features/products/components/ProductGrid.js +7 -7
- package/dist/features/products/components/ShareButton.js +1 -1
- package/dist/features/products/components/ShowGroupSection.js +7 -5
- package/dist/features/products/components/SublistingCarouselSection.js +2 -2
- package/dist/features/products/constants/action-defs.d.ts +16 -0
- package/dist/features/products/constants/action-defs.js +16 -0
- package/dist/features/products/constants/listing-tabs.d.ts +48 -0
- package/dist/features/products/constants/listing-tabs.js +12 -0
- package/dist/features/products/repository/products.repository.d.ts +37 -0
- package/dist/features/products/repository/products.repository.js +28 -1
- package/dist/features/products/schemas/firestore.d.ts +8 -6
- package/dist/features/products/schemas/firestore.js +2 -0
- package/dist/features/products/schemas/index.d.ts +8 -8
- package/dist/features/products/types/index.d.ts +2 -0
- package/dist/features/promotions/components/CouponCard.js +2 -2
- package/dist/features/promotions/schemas/firestore.d.ts +2 -4
- package/dist/features/promotions/schemas/index.d.ts +6 -6
- package/dist/features/reviews/components/ReviewDetailShell.js +3 -3
- package/dist/features/reviews/components/ReviewModal.js +2 -4
- package/dist/features/reviews/components/ReviewSummary.js +3 -2
- package/dist/features/reviews/components/ReviewsList.js +1 -1
- package/dist/features/reviews/schemas/firestore.d.ts +2 -4
- package/dist/features/reviews/schemas/index.d.ts +2 -2
- package/dist/features/scams/actions/scam-actions.js +1 -1
- package/dist/features/scams/components/ScamProfileView.js +1 -1
- package/dist/features/scams/schemas/firestore.d.ts +2 -4
- package/dist/features/scams/schemas/index.d.ts +4 -4
- package/dist/features/search/components/Search.js +2 -2
- package/dist/features/search/components/SearchFiltersRow.js +1 -1
- package/dist/features/search/schemas/index.d.ts +3 -3
- package/dist/features/seller/components/BarcodeField.d.ts +17 -0
- package/dist/features/seller/components/BarcodeField.js +30 -0
- package/dist/features/seller/components/FulfillmentView.d.ts +5 -0
- package/dist/features/seller/components/FulfillmentView.js +120 -0
- package/dist/features/seller/components/PhysicalLocationModal.js +2 -3
- package/dist/features/seller/components/PrintCenterView.d.ts +3 -1
- package/dist/features/seller/components/PrintCenterView.js +52 -4
- package/dist/features/seller/components/SellerAddressesView.js +2 -1
- package/dist/features/seller/components/SellerAnalyticsAlertsView.js +1 -1
- package/dist/features/seller/components/SellerBidsView.js +1 -1
- package/dist/features/seller/components/SellerCouponEditorView.js +1 -1
- package/dist/features/seller/components/SellerGoogleReviewsView.js +1 -1
- package/dist/features/seller/components/SellerLiveView.js +1 -1
- package/dist/features/seller/components/SellerOffersPanel.js +1 -0
- package/dist/features/seller/components/SellerOrdersView.js +1 -1
- package/dist/features/seller/components/SellerPayoutMethodsView.js +8 -2
- package/dist/features/seller/components/SellerPayoutRequestView.js +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.js +1 -1
- package/dist/features/seller/components/SellerProductShell.d.ts +2 -0
- package/dist/features/seller/components/SellerProductShell.js +4 -3
- package/dist/features/seller/components/SellerProductsCards.js +1 -1
- package/dist/features/seller/components/SellerProductsView.js +1 -1
- package/dist/features/seller/components/SellerReviewsView.js +2 -1
- package/dist/features/seller/components/SellerShippingConfigsView.js +9 -3
- package/dist/features/seller/components/SellerShippingView.js +1 -1
- package/dist/features/seller/components/SellerSidebar.js +3 -8
- package/dist/features/seller/components/SellerStoreCategoriesView.js +11 -3
- package/dist/features/seller/components/SellerTemplatesView.js +8 -2
- package/dist/features/seller/components/analytics/SellerRevenueChart.js +1 -1
- package/dist/features/seller/components/analytics/SellerTopProducts.js +1 -1
- package/dist/features/seller/components/index.d.ts +4 -0
- package/dist/features/seller/components/index.js +2 -0
- package/dist/features/seller/schemas/index.d.ts +4 -4
- package/dist/features/shell/FormShell.js +2 -2
- package/dist/features/shell/QuickFormDrawer.js +1 -1
- package/dist/features/site-settings/components/NavPermissionsManager.js +1 -1
- package/dist/features/store-extensions/schemas/firestore.d.ts +12 -44
- package/dist/features/stores/components/StoreCapabilitiesGuideView.js +1 -1
- package/dist/features/stores/components/StoreClassifiedsListing.d.ts +5 -0
- package/dist/features/stores/components/StoreClassifiedsListing.js +48 -0
- package/dist/features/stores/components/StoreClassifiedsPageView.d.ts +4 -0
- package/dist/features/stores/components/StoreClassifiedsPageView.js +20 -0
- package/dist/features/stores/components/StoreDetailLayoutView.js +23 -2
- package/dist/features/stores/components/StoreDigitalCodesListing.d.ts +5 -0
- package/dist/features/stores/components/StoreDigitalCodesListing.js +48 -0
- package/dist/features/stores/components/StoreDigitalCodesPageView.d.ts +4 -0
- package/dist/features/stores/components/StoreDigitalCodesPageView.js +20 -0
- package/dist/features/stores/components/StoreGuideHubView.js +2 -9
- package/dist/features/stores/components/StoreHeader.js +1 -1
- package/dist/features/stores/components/StoreListingsGuideView.js +4 -4
- package/dist/features/stores/components/StoreLiveItemsListing.d.ts +5 -0
- package/dist/features/stores/components/StoreLiveItemsListing.js +48 -0
- package/dist/features/stores/components/StoreLiveItemsPageView.d.ts +4 -0
- package/dist/features/stores/components/StoreLiveItemsPageView.js +20 -0
- package/dist/features/stores/components/StoreOrdersGuideView.js +2 -2
- package/dist/features/stores/components/StoresIndexListing.js +1 -1
- package/dist/features/stores/components/index.d.ts +9 -0
- package/dist/features/stores/components/index.js +3 -0
- package/dist/features/stores/schemas/firestore.d.ts +2 -4
- package/dist/features/stores/schemas/index.d.ts +4 -4
- package/dist/features/support/schemas/firestore.d.ts +2 -4
- package/dist/features/support/schemas/index.d.ts +2 -2
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +2 -2
- package/dist/features/wishlist/components/WishlistPage.js +1 -1
- package/dist/features/wishlist/components/WishlistToggleButton.js +3 -3
- package/dist/features/wishlist/hooks/useWishlistCount.js +1 -1
- package/dist/http/ApiClient.d.ts +1 -0
- package/dist/http/ApiClient.js +20 -0
- package/dist/monitoring/error-tracking.d.ts +0 -3
- package/dist/monitoring/error-tracking.js +1 -1
- package/dist/monitoring/server-logger.js +3 -3
- package/dist/next/components/GlobalError.js +1 -1
- package/dist/next/routing/route-map.d.ts +11 -0
- package/dist/next/routing/route-map.js +5 -0
- package/dist/react/ErrorBoundary.js +1 -1
- package/dist/schemas/registry.d.ts +24 -24
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -1
- package/dist/seed/products-preorders-seed-data.d.ts +2 -1
- package/dist/seed/products-standard-seed-data.js +8 -0
- package/dist/server-entry.d.ts +3 -0
- package/dist/server-entry.js +3 -0
- package/dist/server.d.ts +4 -4
- package/dist/styles.css +45 -7
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/themes/default-light.js +3 -0
- package/dist/tokens/tokens.css +43 -6
- package/dist/ui/components/Anchor.d.ts +8 -1
- package/dist/ui/components/Anchor.js +16 -2
- package/dist/ui/components/Button.d.ts +5 -2
- package/dist/ui/components/Button.js +5 -2
- package/dist/ui/components/Details.d.ts +33 -2
- package/dist/ui/components/Details.js +73 -4
- package/dist/ui/components/Div.d.ts +3 -0
- package/dist/ui/components/Div.js +12 -1
- package/dist/ui/components/DynamicBgDiv.d.ts +13 -0
- package/dist/ui/components/DynamicBgDiv.js +18 -0
- package/dist/ui/components/Form.d.ts +3 -19
- package/dist/ui/components/Form.js +8 -1
- package/dist/ui/components/Layout.d.ts +12 -1
- package/dist/ui/components/Layout.js +9 -1
- package/dist/ui/components/Progress.d.ts +1 -1
- package/dist/ui/components/Progress.js +1 -0
- package/dist/ui/components/Progress.style.css +1 -0
- package/dist/ui/components/ProgressBarFill.d.ts +6 -0
- package/dist/ui/components/ProgressBarFill.js +11 -0
- package/dist/ui/components/Semantic.d.ts +26 -7
- package/dist/ui/components/Semantic.js +33 -8
- package/dist/ui/components/TextLink.d.ts +36 -1
- package/dist/ui/components/TextLink.js +30 -2
- package/dist/ui/components/Typography.d.ts +26 -6
- package/dist/ui/components/Typography.js +37 -13
- package/dist/ui/components/VacationBanner.js +0 -1
- package/dist/ui/components/surface-tokens.d.ts +12 -2
- package/dist/ui/components/surface-tokens.js +19 -1
- package/dist/ui/rich-text/RichText.js +1 -1
- package/dist/utils/id-generators.d.ts +8 -0
- package/dist/utils/id-generators.js +14 -0
- package/dist/validation/schemas.d.ts +1 -1
- package/package.json +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { SurfaceProps } from "./surface-tokens";
|
|
2
|
+
import type { SurfaceProps, RoundedKey, PaddingKey, BorderKey, SurfaceKey } from "./surface-tokens";
|
|
3
3
|
/**
|
|
4
4
|
* Semantic HTML Wrapper Components
|
|
5
5
|
*
|
|
@@ -170,6 +170,7 @@ export type ListSize = "xs" | "sm" | "base" | "lg";
|
|
|
170
170
|
export type ListColor = "default" | "primary" | "muted" | "faint";
|
|
171
171
|
type UlPaddingX = "none" | "x-xs" | "x-sm" | "x-md" | "x-lg";
|
|
172
172
|
type UlPaddingY = "none" | "y-2xs" | "y-xs" | "y-sm" | "y-md" | "y-lg" | "y-bottom-xs";
|
|
173
|
+
type UlGap = "none" | "1" | "2" | "3" | "4" | "6";
|
|
173
174
|
export interface UlProps extends React.HTMLAttributes<HTMLUListElement> {
|
|
174
175
|
/** Marker style — replaces consumer `list-disc`/`list-none` className. */
|
|
175
176
|
marker?: ListMarker;
|
|
@@ -185,6 +186,10 @@ export interface UlProps extends React.HTMLAttributes<HTMLUListElement> {
|
|
|
185
186
|
size?: ListSize;
|
|
186
187
|
/** Colour variant cascaded onto list items. */
|
|
187
188
|
color?: ListColor;
|
|
189
|
+
/** Border radius — replaces consumer `rounded-*` className. */
|
|
190
|
+
rounded?: RoundedKey;
|
|
191
|
+
/** Gap between items (for grid/flex list shells). */
|
|
192
|
+
gap?: UlGap;
|
|
188
193
|
children: React.ReactNode;
|
|
189
194
|
}
|
|
190
195
|
export declare const Ul: React.ForwardRefExoticComponent<UlProps & React.RefAttributes<HTMLUListElement>>;
|
|
@@ -229,9 +234,17 @@ export interface LiProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
|
229
234
|
textSize?: LiTextSize;
|
|
230
235
|
/** Cascaded text colour. */
|
|
231
236
|
color?: LiColor;
|
|
237
|
+
/** Padding — replaces consumer `p-*` / `px-* py-*` className. */
|
|
238
|
+
padding?: PaddingKey;
|
|
239
|
+
/** Border radius — replaces consumer `rounded-*` className. */
|
|
240
|
+
rounded?: RoundedKey;
|
|
241
|
+
/** Border style — replaces consumer `border border-*` className. */
|
|
242
|
+
border?: BorderKey;
|
|
243
|
+
/** Background surface — replaces consumer `bg-*` className. */
|
|
244
|
+
surface?: SurfaceKey;
|
|
232
245
|
children: React.ReactNode;
|
|
233
246
|
}
|
|
234
|
-
export declare function Li({ layout, gap, textSize, color, className, children, ...props }: LiProps): import("react/jsx-runtime").JSX.Element;
|
|
247
|
+
export declare function Li({ layout, gap, textSize, color, padding, rounded, border, surface, className, children, ...props }: LiProps): import("react/jsx-runtime").JSX.Element;
|
|
235
248
|
type TableVariant = "default" | "striped" | "bordered";
|
|
236
249
|
type TableSize = "sm" | "md" | "lg";
|
|
237
250
|
export interface TableProps extends Omit<React.TableHTMLAttributes<HTMLTableElement>, "border">, SurfaceProps {
|
|
@@ -249,9 +262,13 @@ export interface TheadProps extends React.HTMLAttributes<HTMLTableSectionElement
|
|
|
249
262
|
}
|
|
250
263
|
export declare function Thead({ surface, className, children, ...props }: TheadProps): import("react/jsx-runtime").JSX.Element;
|
|
251
264
|
export interface TbodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
|
|
265
|
+
/** Cascaded typography size for all cells in this tbody. */
|
|
266
|
+
size?: CellTypographySize;
|
|
267
|
+
/** Cascaded text colour for all cells in this tbody. */
|
|
268
|
+
color?: CellColor;
|
|
252
269
|
children: React.ReactNode;
|
|
253
270
|
}
|
|
254
|
-
export declare function Tbody({ className, children, ...props }: TbodyProps): import("react/jsx-runtime").JSX.Element;
|
|
271
|
+
export declare function Tbody({ className, size, color, children, ...props }: TbodyProps): import("react/jsx-runtime").JSX.Element;
|
|
255
272
|
type TrBorder = "none" | "default" | "subtle" | "strong";
|
|
256
273
|
type TrSurface = "none" | "default" | "muted" | "subtle";
|
|
257
274
|
export interface TrProps extends React.HTMLAttributes<HTMLTableRowElement> {
|
|
@@ -268,7 +285,7 @@ type CellPadding = "none" | "xs" | "xs-tall" | "xs-3" | "sm" | "sm-tall" | "md"
|
|
|
268
285
|
type CellColor = "default" | "primary" | "muted" | "faint" | "success" | "warning" | "error" | "info";
|
|
269
286
|
type CellPaddingX = "none" | "xs" | "sm" | "md" | "lg";
|
|
270
287
|
type CellPaddingY = "none" | "2xs" | "xs" | "sm" | "md";
|
|
271
|
-
type CellPaddingSide = "none" | "pr-md" | "pl-md" | "pr-lg" | "pl-lg" | "pt-md" | "pb-md";
|
|
288
|
+
type CellPaddingSide = "none" | "pr-sm" | "pb-sm" | "pr-md" | "pl-md" | "pr-lg" | "pl-lg" | "pt-md" | "pb-md";
|
|
272
289
|
export interface ThProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
|
|
273
290
|
align?: CellAlign;
|
|
274
291
|
size?: CellTypographySize;
|
|
@@ -303,15 +320,17 @@ type CodeSize = "xs" | "sm" | "base";
|
|
|
303
320
|
type CodePadding = "none" | "xs" | "sm" | "inline";
|
|
304
321
|
type CodeRounded = "none" | "default" | "sm" | "md" | "lg";
|
|
305
322
|
type CodeSurface = "none" | "muted" | "subtle" | "default";
|
|
323
|
+
type CodeWeight = "normal" | "medium" | "semibold" | "bold";
|
|
306
324
|
export interface CodeProps extends React.HTMLAttributes<HTMLElement> {
|
|
307
|
-
color?: "default" | "primary" | "error" | "success";
|
|
325
|
+
color?: "default" | "primary" | "error" | "success" | "muted" | "faint";
|
|
326
|
+
weight?: CodeWeight;
|
|
308
327
|
size?: CodeSize;
|
|
309
328
|
padding?: CodePadding;
|
|
310
329
|
rounded?: CodeRounded;
|
|
311
330
|
surface?: CodeSurface;
|
|
312
331
|
children: React.ReactNode;
|
|
313
332
|
}
|
|
314
|
-
export declare function Code({ color, size, padding, rounded, surface, className, children, ...props }: CodeProps): import("react/jsx-runtime").JSX.Element;
|
|
333
|
+
export declare function Code({ color, weight, size, padding, rounded, surface, className, children, ...props }: CodeProps): import("react/jsx-runtime").JSX.Element;
|
|
315
334
|
export interface PreProps extends React.HTMLAttributes<HTMLPreElement>, SurfaceProps {
|
|
316
335
|
children: React.ReactNode;
|
|
317
336
|
}
|
|
@@ -320,7 +339,7 @@ export interface BlockquoteProps extends React.BlockquoteHTMLAttributes<HTMLQuot
|
|
|
320
339
|
color?: "default" | "primary" | "info" | "warning";
|
|
321
340
|
children: React.ReactNode;
|
|
322
341
|
}
|
|
323
|
-
export declare function Blockquote({ color, className, surface, padding, rounded, border, shadow, children, ...props }: BlockquoteProps): import("react/jsx-runtime").JSX.Element;
|
|
342
|
+
export declare function Blockquote({ color, className, surface, padding, paddingX, paddingY, rounded, border, shadow, children, ...props }: BlockquoteProps): import("react/jsx-runtime").JSX.Element;
|
|
324
343
|
export interface FigureProps extends React.HTMLAttributes<HTMLElement>, SurfaceProps {
|
|
325
344
|
children: React.ReactNode;
|
|
326
345
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { buildSurfaceClasses } from "./surface-tokens";
|
|
3
|
+
import { buildSurfaceClasses, ROUNDED_MAP, PADDING_MAP, BORDER_MAP, SURFACE_MAP } from "./surface-tokens";
|
|
4
4
|
const SECTION_TONE_MAP = {
|
|
5
5
|
plain: "",
|
|
6
6
|
"page-header": "appkit-section--tone-page-header",
|
|
@@ -167,7 +167,15 @@ const UL_PADDING_Y_MAP = {
|
|
|
167
167
|
"y-lg": "py-6",
|
|
168
168
|
"y-bottom-xs": "pb-1",
|
|
169
169
|
};
|
|
170
|
-
|
|
170
|
+
const UL_GAP_MAP = {
|
|
171
|
+
none: "",
|
|
172
|
+
"1": "gap-1",
|
|
173
|
+
"2": "gap-2",
|
|
174
|
+
"3": "gap-3",
|
|
175
|
+
"4": "gap-4",
|
|
176
|
+
"6": "gap-6",
|
|
177
|
+
};
|
|
178
|
+
export const Ul = React.forwardRef(({ marker, spacing, indent, paddingX, paddingY, size, color, rounded, gap, className = "", children, ...props }, ref) => (_jsx("ul", { ref: ref, className: [
|
|
171
179
|
marker ? LIST_MARKER_MAP[marker] : "",
|
|
172
180
|
spacing ? LIST_SPACING_MAP[spacing] : "",
|
|
173
181
|
indent ? LIST_INDENT_MAP[indent] : "",
|
|
@@ -175,6 +183,8 @@ export const Ul = React.forwardRef(({ marker, spacing, indent, paddingX, padding
|
|
|
175
183
|
paddingY ? UL_PADDING_Y_MAP[paddingY] : "",
|
|
176
184
|
size ? LIST_SIZE_MAP[size] : "",
|
|
177
185
|
color ? LIST_COLOR_MAP[color] : "",
|
|
186
|
+
rounded ? ROUNDED_MAP[rounded] : "",
|
|
187
|
+
gap ? UL_GAP_MAP[gap] : "",
|
|
178
188
|
className,
|
|
179
189
|
]
|
|
180
190
|
.filter(Boolean)
|
|
@@ -216,12 +226,16 @@ const LI_COLOR_MAP = {
|
|
|
216
226
|
muted: "text-[var(--appkit-color-text-muted)]",
|
|
217
227
|
faint: "text-[var(--appkit-color-text-faint)]",
|
|
218
228
|
};
|
|
219
|
-
export function Li({ layout, gap, textSize, color, className = "", children, ...props }) {
|
|
229
|
+
export function Li({ layout, gap, textSize, color, padding, rounded, border, surface, className = "", children, ...props }) {
|
|
220
230
|
const classes = [
|
|
221
231
|
layout ? LI_LAYOUT_MAP[layout] : "",
|
|
222
232
|
gap ? LI_GAP_MAP[gap] : "",
|
|
223
233
|
textSize ? LI_TEXT_SIZE_MAP[textSize] : "",
|
|
224
234
|
color ? LI_COLOR_MAP[color] : "",
|
|
235
|
+
padding ? PADDING_MAP[padding] : "",
|
|
236
|
+
rounded ? ROUNDED_MAP[rounded] : "",
|
|
237
|
+
border ? BORDER_MAP[border] : "",
|
|
238
|
+
surface ? SURFACE_MAP[surface] : "",
|
|
225
239
|
className,
|
|
226
240
|
].filter(Boolean).join(" ");
|
|
227
241
|
return (_jsx("li", { className: classes, ...props, children: children }));
|
|
@@ -252,8 +266,8 @@ export function Thead({ surface, className = "", children, ...props }) {
|
|
|
252
266
|
className,
|
|
253
267
|
].filter(Boolean).join(" "), ...props, children: children }));
|
|
254
268
|
}
|
|
255
|
-
export function Tbody({ className = "", children, ...props }) {
|
|
256
|
-
return (_jsx("tbody", { className: ["appkit-tbody", className].filter(Boolean).join(" "), ...props, children: children }));
|
|
269
|
+
export function Tbody({ className = "", size, color, children, ...props }) {
|
|
270
|
+
return (_jsx("tbody", { className: ["appkit-tbody", size ? CELL_SIZE_MAP[size] : "", color ? CELL_COLOR_MAP[color] : "", className].filter(Boolean).join(" "), ...props, children: children }));
|
|
257
271
|
}
|
|
258
272
|
const TR_BORDER_MAP = {
|
|
259
273
|
none: "",
|
|
@@ -306,6 +320,8 @@ const CELL_PADDING_Y_MAP = {
|
|
|
306
320
|
};
|
|
307
321
|
const CELL_PADDING_SIDE_MAP = {
|
|
308
322
|
none: "",
|
|
323
|
+
"pr-sm": "pr-3",
|
|
324
|
+
"pb-sm": "pb-2",
|
|
309
325
|
"pr-md": "pr-4",
|
|
310
326
|
"pl-md": "pl-4",
|
|
311
327
|
"pr-lg": "pr-6",
|
|
@@ -365,11 +381,19 @@ export function Td({ align, size, weight, padding, paddingX, paddingY, paddingSi
|
|
|
365
381
|
className,
|
|
366
382
|
].filter(Boolean).join(" "), ...props, children: children }));
|
|
367
383
|
}
|
|
384
|
+
const CODE_WEIGHT_MAP = {
|
|
385
|
+
normal: "appkit-font--normal",
|
|
386
|
+
medium: "appkit-font--medium",
|
|
387
|
+
semibold: "appkit-font--semibold",
|
|
388
|
+
bold: "appkit-font--bold",
|
|
389
|
+
};
|
|
368
390
|
const CODE_COLOR_MAP = {
|
|
369
391
|
default: "appkit-code--default",
|
|
370
392
|
primary: "appkit-code--primary",
|
|
371
393
|
error: "appkit-code--error",
|
|
372
394
|
success: "appkit-code--success",
|
|
395
|
+
muted: "appkit-color--muted",
|
|
396
|
+
faint: "appkit-color--faint",
|
|
373
397
|
};
|
|
374
398
|
const CODE_SIZE_MAP = {
|
|
375
399
|
xs: "appkit-text--xs",
|
|
@@ -395,10 +419,11 @@ const CODE_SURFACE_MAP = {
|
|
|
395
419
|
subtle: "bg-[var(--appkit-color-border-subtle)]",
|
|
396
420
|
default: "bg-[var(--appkit-color-surface)]",
|
|
397
421
|
};
|
|
398
|
-
export function Code({ color = "default", size, padding, rounded, surface, className = "", children, ...props }) {
|
|
422
|
+
export function Code({ color = "default", weight, size, padding, rounded, surface, className = "", children, ...props }) {
|
|
399
423
|
return (_jsx("code", { className: [
|
|
400
424
|
"appkit-code",
|
|
401
425
|
CODE_COLOR_MAP[color],
|
|
426
|
+
weight ? CODE_WEIGHT_MAP[weight] : "",
|
|
402
427
|
size ? CODE_SIZE_MAP[size] : "",
|
|
403
428
|
padding ? CODE_PADDING_MAP[padding] : "",
|
|
404
429
|
rounded ? CODE_ROUNDED_MAP[rounded] : "",
|
|
@@ -415,8 +440,8 @@ const BLOCKQUOTE_COLOR_MAP = {
|
|
|
415
440
|
info: "appkit-blockquote--info",
|
|
416
441
|
warning: "appkit-blockquote--warning",
|
|
417
442
|
};
|
|
418
|
-
export function Blockquote({ color = "default", className = "", surface, padding, rounded, border, shadow, children, ...props }) {
|
|
419
|
-
return (_jsx("blockquote", { className: ["appkit-blockquote", BLOCKQUOTE_COLOR_MAP[color], buildSurfaceClasses({ surface, padding, rounded, border, shadow }), className].filter(Boolean).join(" "), ...props, children: children }));
|
|
443
|
+
export function Blockquote({ color = "default", className = "", surface, padding, paddingX, paddingY, rounded, border, shadow, children, ...props }) {
|
|
444
|
+
return (_jsx("blockquote", { className: ["appkit-blockquote", BLOCKQUOTE_COLOR_MAP[color], buildSurfaceClasses({ surface, padding, paddingX, paddingY, rounded, border, shadow }), className].filter(Boolean).join(" "), ...props, children: children }));
|
|
420
445
|
}
|
|
421
446
|
export function Figure({ className = "", surface, padding, rounded, border, shadow, children, ...props }) {
|
|
422
447
|
return (_jsx("figure", { className: ["appkit-figure", buildSurfaceClasses({ surface, padding, rounded, border, shadow }), className].filter(Boolean).join(" "), ...props, children: children }));
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import type { ShadowKey } from "./surface-tokens";
|
|
2
3
|
declare const VARIANTS: {
|
|
3
4
|
readonly default: "appkit-text-link appkit-text-link--default";
|
|
4
5
|
readonly muted: "appkit-text-link appkit-text-link--muted";
|
|
@@ -19,6 +20,14 @@ type LinkTruncate = boolean | 1 | 2 | 3 | 4;
|
|
|
19
20
|
type LinkRounded = "none" | "default" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
20
21
|
type LinkPaddingX = "none" | "sm" | "md" | "lg" | "xl";
|
|
21
22
|
type LinkPaddingY = "none" | "xs" | "sm" | "md";
|
|
23
|
+
/** Display layout for button-style / nav-style links. */
|
|
24
|
+
type LinkLayout = "flex" | "inline-flex" | "flex-col";
|
|
25
|
+
/** Cross-axis alignment — only takes effect when `layout` is set. */
|
|
26
|
+
type LinkAlign = "center" | "start" | "end" | "stretch" | "baseline";
|
|
27
|
+
/** Main-axis distribution — only takes effect when `layout` is set. */
|
|
28
|
+
type LinkJustify = "start" | "center" | "end" | "between" | "around" | "evenly";
|
|
29
|
+
/** Gap between flex children — only takes effect when `layout` is set. */
|
|
30
|
+
type LinkGap = "none" | "xs" | "sm" | "md" | "lg";
|
|
22
31
|
export interface TextLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
23
32
|
href: string;
|
|
24
33
|
children: React.ReactNode;
|
|
@@ -35,6 +44,32 @@ export interface TextLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElem
|
|
|
35
44
|
paddingX?: LinkPaddingX;
|
|
36
45
|
/** Vertical padding — for button-shaped links. */
|
|
37
46
|
paddingY?: LinkPaddingY;
|
|
47
|
+
/**
|
|
48
|
+
* Display layout. Use `"flex"` or `"inline-flex"` to turn the link into a
|
|
49
|
+
* flex container (e.g. nav items that need icon + label side by side).
|
|
50
|
+
* Replaces raw `className="flex"` / `"inline-flex"` tokens.
|
|
51
|
+
*/
|
|
52
|
+
layout?: LinkLayout;
|
|
53
|
+
/**
|
|
54
|
+
* Cross-axis alignment. Only takes effect when `layout` is set.
|
|
55
|
+
* Replaces raw `className="items-center"` etc.
|
|
56
|
+
*/
|
|
57
|
+
align?: LinkAlign;
|
|
58
|
+
/**
|
|
59
|
+
* Main-axis distribution. Only takes effect when `layout` is set.
|
|
60
|
+
* Replaces raw `className="justify-between"` etc.
|
|
61
|
+
*/
|
|
62
|
+
justify?: LinkJustify;
|
|
63
|
+
/**
|
|
64
|
+
* Gap between flex children. Only takes effect when `layout` is set.
|
|
65
|
+
* Replaces raw `className="gap-2"` etc.
|
|
66
|
+
*/
|
|
67
|
+
gap?: LinkGap;
|
|
68
|
+
/**
|
|
69
|
+
* Box shadow variant — replaces raw `className="shadow-*"` / `hover:shadow-*`.
|
|
70
|
+
* Uses the same `SHADOW_MAP` as layout primitives.
|
|
71
|
+
*/
|
|
72
|
+
shadow?: ShadowKey;
|
|
38
73
|
/**
|
|
39
74
|
* Force external rendering (`<a target="_blank" rel="noopener noreferrer">`).
|
|
40
75
|
* Auto-detected when `href` starts with http/https/mailto/tel.
|
|
@@ -56,5 +91,5 @@ export interface TextLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElem
|
|
|
56
91
|
* <TextLink href="#" variant="danger" onClick={handleDelete}>Delete</TextLink>
|
|
57
92
|
* ```
|
|
58
93
|
*/
|
|
59
|
-
export declare function TextLink({ href, children, variant, size, weight, truncate, rounded, paddingX, paddingY, external, className, ...props }: TextLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
export declare function TextLink({ href, children, variant, size, weight, truncate, rounded, paddingX, paddingY, layout, align, justify, gap, shadow, external, className, ...props }: TextLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
60
95
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import Link from "next/link";
|
|
3
|
+
import { SHADOW_MAP } from "./surface-tokens";
|
|
3
4
|
import { twMerge } from "tailwind-merge";
|
|
4
5
|
const VARIANTS = {
|
|
5
6
|
default: "appkit-text-link appkit-text-link--default",
|
|
@@ -67,6 +68,33 @@ const LINK_PADDING_Y_MAP = {
|
|
|
67
68
|
sm: "py-2.5",
|
|
68
69
|
md: "py-3",
|
|
69
70
|
};
|
|
71
|
+
const LINK_LAYOUT_MAP = {
|
|
72
|
+
flex: "flex",
|
|
73
|
+
"inline-flex": "inline-flex",
|
|
74
|
+
"flex-col": "flex flex-col",
|
|
75
|
+
};
|
|
76
|
+
const LINK_ALIGN_MAP = {
|
|
77
|
+
center: "items-center",
|
|
78
|
+
start: "items-start",
|
|
79
|
+
end: "items-end",
|
|
80
|
+
stretch: "items-stretch",
|
|
81
|
+
baseline: "items-baseline",
|
|
82
|
+
};
|
|
83
|
+
const LINK_JUSTIFY_MAP = {
|
|
84
|
+
start: "justify-start",
|
|
85
|
+
center: "justify-center",
|
|
86
|
+
end: "justify-end",
|
|
87
|
+
between: "justify-between",
|
|
88
|
+
around: "justify-around",
|
|
89
|
+
evenly: "justify-evenly",
|
|
90
|
+
};
|
|
91
|
+
const LINK_GAP_MAP = {
|
|
92
|
+
none: "",
|
|
93
|
+
xs: "gap-1",
|
|
94
|
+
sm: "gap-2",
|
|
95
|
+
md: "gap-3",
|
|
96
|
+
lg: "gap-4",
|
|
97
|
+
};
|
|
70
98
|
/**
|
|
71
99
|
* Styled anchor wrapper. Uses `next/link` for internal navigation and
|
|
72
100
|
* a plain `<a>` for external/mailto/tel links.
|
|
@@ -82,8 +110,8 @@ const LINK_PADDING_Y_MAP = {
|
|
|
82
110
|
* <TextLink href="#" variant="danger" onClick={handleDelete}>Delete</TextLink>
|
|
83
111
|
* ```
|
|
84
112
|
*/
|
|
85
|
-
export function TextLink({ href, children, variant = "default", size, weight, truncate, rounded, paddingX, paddingY, external, className = "", ...props }) {
|
|
86
|
-
const cls = twMerge(VARIANTS[variant], size ? LINK_SIZE_MAP[size] : "", weight ? LINK_WEIGHT_MAP[weight] : "", truncateClass(truncate), rounded ? LINK_ROUNDED_MAP[rounded] : "", paddingX ? LINK_PADDING_X_MAP[paddingX] : "", paddingY ? LINK_PADDING_Y_MAP[paddingY] : "", className);
|
|
113
|
+
export function TextLink({ href, children, variant = "default", size, weight, truncate, rounded, paddingX, paddingY, layout, align, justify, gap, shadow, external, className = "", ...props }) {
|
|
114
|
+
const cls = twMerge(VARIANTS[variant], size ? LINK_SIZE_MAP[size] : "", weight ? LINK_WEIGHT_MAP[weight] : "", truncateClass(truncate), rounded ? LINK_ROUNDED_MAP[rounded] : "", paddingX ? LINK_PADDING_X_MAP[paddingX] : "", paddingY ? LINK_PADDING_Y_MAP[paddingY] : "", layout ? LINK_LAYOUT_MAP[layout] : "", align ? LINK_ALIGN_MAP[align] : "", justify ? LINK_JUSTIFY_MAP[justify] : "", gap ? LINK_GAP_MAP[gap] : "", shadow ? SHADOW_MAP[shadow] : "", className);
|
|
87
115
|
const shouldBeExternal = external ?? isExternalUrl(href);
|
|
88
116
|
if (shouldBeExternal) {
|
|
89
117
|
return (_jsx("a", { href: href, className: cls, target: "_blank", rel: "noopener noreferrer", ...props, children: children }));
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { type RoundedKey, type PaddingKey, type XPaddingKey } from "./surface-tokens";
|
|
2
3
|
declare const TYPOGRAPHY: {
|
|
3
4
|
readonly headingLevel: {
|
|
4
5
|
readonly 1: "appkit-heading--h1";
|
|
@@ -53,6 +54,10 @@ export type FontFamily = "sans" | "display" | "editorial" | "mono";
|
|
|
53
54
|
export type TextGradient = "none" | "brand" | "brand-tri" | "accent";
|
|
54
55
|
/** Multi-line ellipsis: `true` = 1 line; pass `2`, `3`, or `4` for line-clamp. */
|
|
55
56
|
export type TextTruncate = boolean | 1 | 2 | 3 | 4;
|
|
57
|
+
/** Drop-shadow preset shared by Heading and Text (over-image/hero text). */
|
|
58
|
+
export type DropShadowPreset = "none" | "sm" | "md" | "lg" | "2xl";
|
|
59
|
+
/** CSS text-shadow preset for hero headings where filter drop-shadow is insufficient. */
|
|
60
|
+
export type HeadingTextShadow = "soft-dark";
|
|
56
61
|
type HeadingSize = "xs" | "sm" | "base" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl";
|
|
57
62
|
interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
|
|
58
63
|
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
@@ -77,9 +82,13 @@ interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
|
|
|
77
82
|
family?: FontFamily;
|
|
78
83
|
align?: TextAlign;
|
|
79
84
|
gradient?: TextGradient;
|
|
85
|
+
/** Drop-shadow filter preset for over-image / hero-section headings. */
|
|
86
|
+
shadow?: DropShadowPreset;
|
|
87
|
+
/** CSS text-shadow preset — use instead of wrapping children in a native `<span style>`. */
|
|
88
|
+
textShadow?: HeadingTextShadow;
|
|
80
89
|
children: React.ReactNode;
|
|
81
90
|
}
|
|
82
|
-
export declare function Heading({ level, variant, color, size, smSize, mdSize, lgSize, xlSize, weight, transform, truncate, numeric, italic, family, align, gradient, className, children, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
|
|
91
|
+
export declare function Heading({ level, variant, color, size, smSize, mdSize, lgSize, xlSize, weight, transform, truncate, numeric, italic, family, align, gradient, shadow, textShadow, className, children, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
|
|
83
92
|
type TextPaddingY = "none" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
|
|
84
93
|
type TextLayout = "default" | "inline-flex" | "flex" | "inline-block";
|
|
85
94
|
type TextGap = "none" | "1" | "1.5" | "2" | "3";
|
|
@@ -102,6 +111,10 @@ interface TextProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
|
102
111
|
gradient?: TextGradient;
|
|
103
112
|
/** Vertical padding — used for empty-state Text wrappers. */
|
|
104
113
|
paddingY?: TextPaddingY;
|
|
114
|
+
/** Horizontal padding — use instead of raw `px-*` className. */
|
|
115
|
+
paddingX?: XPaddingKey;
|
|
116
|
+
/** Border radius — use instead of raw `rounded-*` className. */
|
|
117
|
+
rounded?: RoundedKey;
|
|
105
118
|
/** Layout — `inline-flex` / `flex` for icon + label compositions. */
|
|
106
119
|
layout?: TextLayout;
|
|
107
120
|
/** Flex gap between children (only when `layout` is `inline-flex` / `flex`). */
|
|
@@ -112,8 +125,8 @@ interface TextProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
|
112
125
|
as?: React.ElementType;
|
|
113
126
|
children: React.ReactNode;
|
|
114
127
|
}
|
|
115
|
-
export declare function Text({ variant, color, size, smSize, mdSize, lgSize, xlSize, weight, transform, truncate, numeric, italic, family, align, gradient, paddingY, layout, gap, shadow, className, as: Tag, children, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
116
|
-
type LabelLayout = "inline" | "inline-flex" | "flex" | "flex-start";
|
|
128
|
+
export declare function Text({ variant, color, size, smSize, mdSize, lgSize, xlSize, weight, transform, truncate, numeric, italic, family, align, gradient, paddingY, paddingX, rounded, layout, gap, shadow, className, as: Tag, children, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
129
|
+
type LabelLayout = "inline" | "inline-flex" | "flex" | "flex-start" | "flex-col-center";
|
|
117
130
|
type LabelGap = "none" | "xs" | "sm" | "md" | "lg";
|
|
118
131
|
interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
|
|
119
132
|
required?: boolean;
|
|
@@ -128,9 +141,13 @@ interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
|
|
|
128
141
|
layout?: LabelLayout;
|
|
129
142
|
/** Gap between children. Only takes effect when `layout` is set to a flex variant. */
|
|
130
143
|
gap?: LabelGap;
|
|
144
|
+
/** Border radius — replaces consumer `rounded-*` className. */
|
|
145
|
+
rounded?: RoundedKey;
|
|
146
|
+
/** Padding — replaces consumer `p-*` className. */
|
|
147
|
+
padding?: PaddingKey;
|
|
131
148
|
children: React.ReactNode;
|
|
132
149
|
}
|
|
133
|
-
export declare function Label({ required, size, weight, color, transform, align, layout, gap, className, children, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
|
|
150
|
+
export declare function Label({ required, size, weight, color, transform, align, layout, gap, rounded, padding, className, children, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
|
|
134
151
|
interface CaptionProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
135
152
|
/** "default" — muted grey (default); "accent" — indigo, semibold; "inverse" — light indigo for use on dark indigo backgrounds */
|
|
136
153
|
variant?: "default" | "accent" | "inverse";
|
|
@@ -158,10 +175,11 @@ export declare function Caption({ variant, color, weight, className, children, .
|
|
|
158
175
|
/** Inline-decorations allowed on Span (pill chips, code-like wraps, etc). */
|
|
159
176
|
type SpanRounded = "none" | "default" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
|
|
160
177
|
type SpanBorder = "none" | "default" | "subtle" | "strong";
|
|
161
|
-
type SpanPadding = "none" | "x-xs" | "x-sm" | "x-md" | "y-2xs" | "y-xs" | "y-sm" | "inline-sm" | "inline" | "pill-2xs" | "pill-xs" | "pill-sm" | "pill-sm-tall" | "pill-md" | "pill-lg";
|
|
178
|
+
type SpanPadding = "none" | "2xs" | "x-xs" | "x-sm" | "x-md" | "y-2xs" | "y-xs" | "y-sm" | "inline-sm" | "inline" | "pill-2xs" | "pill-xs" | "pill-sm" | "pill-sm-tall" | "pill-md" | "pill-lg";
|
|
162
179
|
type SpanBg = "none" | "muted" | "subtle" | "default" | "success-surface" | "danger-surface" | "warning-surface" | "info-surface" | "overlay-xs" | "overlay-sm" | "overlay-md" | "overlay-lg" | "overlay-xl";
|
|
163
180
|
type SpanLayout = "inline" | "inline-flex" | "flex" | "inline-flex-center" | "flex-center" | "inline-block" | "block";
|
|
164
181
|
type SpanGap = "none" | "2xs" | "xs" | "sm" | "md" | "lg";
|
|
182
|
+
type SpanShadow = "none" | "sm" | "md" | "lg" | "2xl" | "default";
|
|
165
183
|
interface SpanProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
166
184
|
/** Colour variant. "inherit" (default) applies no colour class. */
|
|
167
185
|
variant?: "inherit" | "primary" | "secondary" | "muted" | "error" | "success" | "accent";
|
|
@@ -194,7 +212,9 @@ interface SpanProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
194
212
|
padding?: SpanPadding;
|
|
195
213
|
surface?: SpanBg;
|
|
196
214
|
border?: SpanBorder;
|
|
215
|
+
/** Box shadow preset for Span overlays (e.g. toggle thumb). */
|
|
216
|
+
shadow?: SpanShadow;
|
|
197
217
|
children?: React.ReactNode;
|
|
198
218
|
}
|
|
199
|
-
export declare
|
|
219
|
+
export declare const Span: React.ForwardRefExoticComponent<SpanProps & React.RefAttributes<HTMLSpanElement>>;
|
|
200
220
|
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ROUNDED_MAP, PADDING_MAP, X_ONLY_MAP } from "./surface-tokens";
|
|
2
4
|
const TYPOGRAPHY = {
|
|
3
5
|
headingLevel: {
|
|
4
6
|
1: "appkit-heading--h1",
|
|
@@ -45,6 +47,16 @@ const TYPOGRAPHY = {
|
|
|
45
47
|
inverse: "appkit-color--inverse",
|
|
46
48
|
},
|
|
47
49
|
};
|
|
50
|
+
const DROP_SHADOW_MAP = {
|
|
51
|
+
none: "",
|
|
52
|
+
sm: "drop-shadow-sm",
|
|
53
|
+
md: "drop-shadow-md",
|
|
54
|
+
lg: "drop-shadow-lg",
|
|
55
|
+
"2xl": "drop-shadow-2xl",
|
|
56
|
+
};
|
|
57
|
+
const HEADING_TEXT_SHADOW_MAP = {
|
|
58
|
+
"soft-dark": "[text-shadow:0_4px_32px_rgba(0,0,0,0.5)]",
|
|
59
|
+
};
|
|
48
60
|
function shapingClasses(opts) {
|
|
49
61
|
const out = [];
|
|
50
62
|
if (opts.transform && opts.transform !== "none") {
|
|
@@ -74,7 +86,7 @@ function responsiveSizeClass(prefix, size) {
|
|
|
74
86
|
// than the custom .appkit-text--N classes (which don't).
|
|
75
87
|
return `${prefix}text-${size}`;
|
|
76
88
|
}
|
|
77
|
-
export function Heading({ level = 1, variant = "primary", color, size, smSize, mdSize, lgSize, xlSize, weight, transform, truncate, numeric, italic, family, align, gradient, className = "", children, ...props }) {
|
|
89
|
+
export function Heading({ level = 1, variant = "primary", color, size, smSize, mdSize, lgSize, xlSize, weight, transform, truncate, numeric, italic, family, align, gradient, shadow, textShadow, className = "", children, ...props }) {
|
|
78
90
|
const Tag = `h${level}`;
|
|
79
91
|
const resolvedColor = color ?? variant;
|
|
80
92
|
return (_jsx(Tag, { className: [
|
|
@@ -88,6 +100,8 @@ export function Heading({ level = 1, variant = "primary", color, size, smSize, m
|
|
|
88
100
|
responsiveSizeClass("xl:", xlSize),
|
|
89
101
|
weight ? TYPOGRAPHY.textWeight[weight] : "",
|
|
90
102
|
...shapingClasses({ transform, truncate, numeric, italic, family, align, gradient }),
|
|
103
|
+
shadow ? DROP_SHADOW_MAP[shadow] : "",
|
|
104
|
+
textShadow ? HEADING_TEXT_SHADOW_MAP[textShadow] : "",
|
|
91
105
|
className,
|
|
92
106
|
]
|
|
93
107
|
.filter(Boolean)
|
|
@@ -126,14 +140,8 @@ const TEXT_GAP_MAP = {
|
|
|
126
140
|
"2": "gap-2",
|
|
127
141
|
"3": "gap-3",
|
|
128
142
|
};
|
|
129
|
-
const TEXT_SHADOW_MAP =
|
|
130
|
-
|
|
131
|
-
sm: "drop-shadow-sm",
|
|
132
|
-
md: "drop-shadow-md",
|
|
133
|
-
lg: "drop-shadow-lg",
|
|
134
|
-
"2xl": "drop-shadow-2xl",
|
|
135
|
-
};
|
|
136
|
-
export function Text({ variant = "primary", color, size = "base", smSize, mdSize, lgSize, xlSize, weight = "normal", transform, truncate, numeric, italic, family, align, gradient, paddingY, layout, gap, shadow, className = "", as: Tag = "p", children, ...props }) {
|
|
143
|
+
const TEXT_SHADOW_MAP = DROP_SHADOW_MAP;
|
|
144
|
+
export function Text({ variant = "primary", color, size = "base", smSize, mdSize, lgSize, xlSize, weight = "normal", transform, truncate, numeric, italic, family, align, gradient, paddingY, paddingX, rounded, layout, gap, shadow, className = "", as: Tag = "p", children, ...props }) {
|
|
137
145
|
const resolvedColor = color ?? variant;
|
|
138
146
|
return (_jsx(Tag, { className: [
|
|
139
147
|
"appkit-text",
|
|
@@ -146,6 +154,8 @@ export function Text({ variant = "primary", color, size = "base", smSize, mdSize
|
|
|
146
154
|
TYPOGRAPHY.colorVariant[resolvedColor],
|
|
147
155
|
...shapingClasses({ transform, truncate, numeric, italic, family, align, gradient }),
|
|
148
156
|
paddingY ? TEXT_PADDING_Y_MAP[paddingY] : "",
|
|
157
|
+
paddingX ? X_ONLY_MAP[paddingX] : "",
|
|
158
|
+
rounded ? ROUNDED_MAP[rounded] : "",
|
|
149
159
|
layout ? TEXT_LAYOUT_MAP[layout] : "",
|
|
150
160
|
gap ? TEXT_GAP_MAP[gap] : "",
|
|
151
161
|
shadow ? TEXT_SHADOW_MAP[shadow] : "",
|
|
@@ -160,6 +170,8 @@ const LABEL_LAYOUT_MAP = {
|
|
|
160
170
|
flex: CLS_FLEX,
|
|
161
171
|
/** Flex container with `items-start` cross-axis alignment — for checkbox + multi-line description rows. */
|
|
162
172
|
"flex-start": "flex items-start",
|
|
173
|
+
/** Flex column with center cross-axis + main-axis alignment — for upload drop-zone labels. */
|
|
174
|
+
"flex-col-center": "flex flex-col items-center justify-center",
|
|
163
175
|
};
|
|
164
176
|
const LABEL_GAP_MAP = {
|
|
165
177
|
none: "",
|
|
@@ -168,7 +180,7 @@ const LABEL_GAP_MAP = {
|
|
|
168
180
|
md: "gap-2",
|
|
169
181
|
lg: "gap-3",
|
|
170
182
|
};
|
|
171
|
-
export function Label({ required, size, weight, color, transform, align, layout, gap, className = "", children, ...props }) {
|
|
183
|
+
export function Label({ required, size, weight, color, transform, align, layout, gap, rounded, padding, className = "", children, ...props }) {
|
|
172
184
|
return (_jsxs("label", { className: [
|
|
173
185
|
"appkit-label",
|
|
174
186
|
size ? TYPOGRAPHY.textSize[size] : "",
|
|
@@ -178,6 +190,8 @@ export function Label({ required, size, weight, color, transform, align, layout,
|
|
|
178
190
|
align ? `appkit-text--align-${align}` : "",
|
|
179
191
|
layout ? LABEL_LAYOUT_MAP[layout] : "",
|
|
180
192
|
gap ? LABEL_GAP_MAP[gap] : "",
|
|
193
|
+
rounded ? ROUNDED_MAP[rounded] : "",
|
|
194
|
+
padding ? PADDING_MAP[padding] : "",
|
|
181
195
|
className,
|
|
182
196
|
]
|
|
183
197
|
.filter(Boolean)
|
|
@@ -217,6 +231,7 @@ const SPAN_ROUNDED_MAP = {
|
|
|
217
231
|
};
|
|
218
232
|
const SPAN_PADDING_MAP = {
|
|
219
233
|
none: "",
|
|
234
|
+
"2xs": "p-2",
|
|
220
235
|
"x-xs": "px-2",
|
|
221
236
|
"x-sm": "px-3",
|
|
222
237
|
"x-md": "px-4",
|
|
@@ -264,7 +279,15 @@ const SPAN_GAP_MAP = {
|
|
|
264
279
|
md: "gap-2",
|
|
265
280
|
lg: "gap-3",
|
|
266
281
|
};
|
|
267
|
-
|
|
282
|
+
const SPAN_SHADOW_MAP = {
|
|
283
|
+
none: "",
|
|
284
|
+
default: "shadow",
|
|
285
|
+
sm: "shadow-sm",
|
|
286
|
+
md: "shadow-md",
|
|
287
|
+
lg: "shadow-lg",
|
|
288
|
+
"2xl": "shadow-2xl",
|
|
289
|
+
};
|
|
290
|
+
export const Span = React.forwardRef(function Span({ variant = "inherit", color, size, smSize, mdSize, lgSize, xlSize, weight, transform, truncate, numeric, italic, family, align, gradient, rounded, padding, surface, border, layout, gap, shadow, className = "", children, ...props }, ref) {
|
|
268
291
|
const resolvedColor = color ?? variant;
|
|
269
292
|
const classes = [
|
|
270
293
|
"appkit-span",
|
|
@@ -282,9 +305,10 @@ export function Span({ variant = "inherit", color, size, smSize, mdSize, lgSize,
|
|
|
282
305
|
border ? SPAN_BORDER_MAP[border] : "",
|
|
283
306
|
layout ? SPAN_LAYOUT_MAP[layout] : "",
|
|
284
307
|
gap ? SPAN_GAP_MAP[gap] : "",
|
|
308
|
+
shadow ? SPAN_SHADOW_MAP[shadow] : "",
|
|
285
309
|
className,
|
|
286
310
|
]
|
|
287
311
|
.filter(Boolean)
|
|
288
312
|
.join(" ");
|
|
289
|
-
return (_jsx("span", { className: classes, ...props, children: children }));
|
|
290
|
-
}
|
|
313
|
+
return (_jsx("span", { ref: ref, className: classes, ...props, children: children }));
|
|
314
|
+
});
|
|
@@ -39,6 +39,7 @@ export declare const PADDING_MAP: {
|
|
|
39
39
|
readonly "5": "p-5";
|
|
40
40
|
readonly lg: "p-6";
|
|
41
41
|
readonly xl: "p-8";
|
|
42
|
+
readonly "3xl": "p-12";
|
|
42
43
|
readonly card: "p-5 sm:p-6 lg:p-8";
|
|
43
44
|
readonly "card-tight": "p-3 sm:p-4";
|
|
44
45
|
readonly section: "py-10 sm:py-14 xl:py-20";
|
|
@@ -122,6 +123,10 @@ export declare const SHADOW_MAP: {
|
|
|
122
123
|
readonly "hover-md": "hover:shadow-md transition-shadow";
|
|
123
124
|
/** No static shadow; transitions to shadow-lg on hover. */
|
|
124
125
|
readonly "hover-lg": "hover:shadow-lg transition-shadow";
|
|
126
|
+
/** Resting shadow-sm that lifts to shadow-md on hover. */
|
|
127
|
+
readonly "sm-hover-md": "shadow-sm hover:shadow-md transition-shadow";
|
|
128
|
+
/** Themed card shadow via --card-shadow CSS variable. */
|
|
129
|
+
readonly card: "shadow-[var(--card-shadow)]";
|
|
125
130
|
};
|
|
126
131
|
export type ShadowKey = keyof typeof SHADOW_MAP;
|
|
127
132
|
/**
|
|
@@ -164,6 +169,7 @@ export declare const PADDING_PRESETS: {
|
|
|
164
169
|
readonly "5": "p-5";
|
|
165
170
|
readonly lg: "p-6";
|
|
166
171
|
readonly xl: "p-8";
|
|
172
|
+
readonly "3xl": "p-12";
|
|
167
173
|
readonly card: "p-5 sm:p-6 lg:p-8";
|
|
168
174
|
readonly "card-tight": "p-3 sm:p-4";
|
|
169
175
|
readonly section: "py-10 sm:py-14 xl:py-20";
|
|
@@ -210,8 +216,10 @@ export declare const PADDING_PRESETS: {
|
|
|
210
216
|
readonly "content-banner": "py-10 md:py-12 lg:py-16";
|
|
211
217
|
};
|
|
212
218
|
export type PaddingPresetKey = PaddingKey;
|
|
213
|
-
type XPaddingKey = "none" | "x-xs" | "x-sm" | "x-md" | "x-5" | "x-lg" | "x-xl" | "x-sm-md" | "x-sm-lg-md" | "x-md-lg" | "x-md-xl" | "x-md-2xl" | "x-page";
|
|
214
|
-
type YPaddingKey = "none" | "y-2xs" | "y-2xs-tall" | "y-xs" | "y-xs-tall" | "y-sm" | "y-sm-tall" | "y-md" | "y-md-lg" | "y-lg" | "y-xl" | "y-2xl" | "y-3xl" | "y-4xl" | "y-5xl" | "y-6xl" | "y-2-5xl" | "t-2xs" | "b-2xs" | "t-xs" | "b-xs" | "t-sm" | "b-sm" | "t-md" | "b-md" | "b-md-lg" | "b-lg";
|
|
219
|
+
export type XPaddingKey = "none" | "x-xs" | "x-sm" | "x-md" | "x-5" | "x-lg" | "x-xl" | "x-sm-md" | "x-sm-lg-md" | "x-md-lg" | "x-md-xl" | "x-md-2xl" | "x-page";
|
|
220
|
+
type YPaddingKey = "none" | "y-2xs" | "y-2xs-tall" | "y-xs" | "y-xs-tall" | "y-sm" | "y-sm-tall" | "y-md" | "y-md-lg" | "y-lg" | "y-xl" | "y-2xl" | "y-3xl" | "y-4xl" | "y-5xl" | "y-6xl" | "y-2-5xl" | "t-2xs" | "b-2xs" | "t-xs" | "b-xs" | "t-sm" | "b-sm" | "t-md" | "b-md" | "b-md-lg" | "b-lg" | "t-md-b-lg";
|
|
221
|
+
export declare const X_ONLY_MAP: Record<XPaddingKey, string>;
|
|
222
|
+
export type OverflowKey = "auto" | "hidden" | "scroll" | "visible" | "x-auto" | "x-hidden" | "y-auto" | "y-hidden";
|
|
215
223
|
export interface SurfaceProps {
|
|
216
224
|
surface?: SurfaceKey;
|
|
217
225
|
padding?: PaddingKey;
|
|
@@ -222,6 +230,8 @@ export interface SurfaceProps {
|
|
|
222
230
|
rounded?: RoundedKey;
|
|
223
231
|
border?: BorderKey;
|
|
224
232
|
shadow?: ShadowKey;
|
|
233
|
+
/** Overflow behaviour — replaces consumer `overflow-*` className. */
|
|
234
|
+
overflow?: OverflowKey;
|
|
225
235
|
}
|
|
226
236
|
export declare function buildSurfaceClasses(props: SurfaceProps): string;
|
|
227
237
|
export {};
|