@fayz-ai/storefront 0.9.0 → 0.10.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/README.md +3 -3
- package/dist/app/createStorefrontApp.d.ts +65 -0
- package/dist/app/createStorefrontApp.d.ts.map +1 -0
- package/dist/{define.d.ts → app/define.d.ts} +3 -3
- package/dist/app/define.d.ts.map +1 -0
- package/dist/app/hydration.d.ts +37 -0
- package/dist/app/hydration.d.ts.map +1 -0
- package/dist/app/prerender.d.ts +57 -0
- package/dist/app/prerender.d.ts.map +1 -0
- package/dist/{router.d.ts → app/router.d.ts} +140 -113
- package/dist/app/router.d.ts.map +1 -0
- package/dist/{scaffold.d.ts → app/scaffold.d.ts} +2 -2
- package/dist/app/scaffold.d.ts.map +1 -0
- package/dist/app/serving.d.ts +70 -0
- package/dist/app/serving.d.ts.map +1 -0
- package/dist/app/static-render.d.ts +46 -0
- package/dist/app/static-render.d.ts.map +1 -0
- package/dist/blocks/block-at-path.d.ts +59 -0
- package/dist/blocks/block-at-path.d.ts.map +1 -0
- package/dist/blocks/page-blocks.d.ts +163 -0
- package/dist/blocks/page-blocks.d.ts.map +1 -0
- package/dist/blocks/page-data.d.ts +105 -0
- package/dist/blocks/page-data.d.ts.map +1 -0
- package/dist/{blocks.d.ts → blocks/registry.d.ts} +1 -1
- package/dist/blocks/registry.d.ts.map +1 -0
- package/dist/{sections.d.ts → blocks/sections.d.ts} +40 -2
- package/dist/blocks/sections.d.ts.map +1 -0
- package/dist/chunk-6B7H3IZ6.js +10232 -0
- package/dist/chunk-6B7H3IZ6.js.map +1 -0
- package/dist/chunk-6IXTENLB.js +162 -0
- package/dist/chunk-6IXTENLB.js.map +1 -0
- package/dist/components/PaymentTerms.d.ts +34 -0
- package/dist/components/PaymentTerms.d.ts.map +1 -0
- package/dist/components/SmoothImage.d.ts +1 -1
- package/dist/components/SmoothImage.d.ts.map +1 -1
- package/dist/components/account/CustomerAccountShell.d.ts.map +1 -0
- package/dist/components/account/SignInModal.d.ts.map +1 -0
- package/dist/components/cart/CartDrawer.d.ts.map +1 -0
- package/dist/components/cart/QuantityInput.d.ts.map +1 -0
- package/dist/components/checkout/DeliveryEstimator.d.ts.map +1 -0
- package/dist/components/collection/CategoryShowcase.d.ts +44 -0
- package/dist/components/collection/CategoryShowcase.d.ts.map +1 -0
- package/dist/components/collection/FiltersPanel.d.ts +19 -0
- package/dist/components/collection/FiltersPanel.d.ts.map +1 -0
- package/dist/components/collection/ProductGrid.d.ts.map +1 -0
- package/dist/components/layout/PageBodyBlocks.d.ts +40 -0
- package/dist/components/layout/PageBodyBlocks.d.ts.map +1 -0
- package/dist/components/layout/SearchOverlay.d.ts +13 -0
- package/dist/components/layout/SearchOverlay.d.ts.map +1 -0
- package/dist/components/layout/StorefrontErrorBoundary.d.ts.map +1 -0
- package/dist/components/layout/StorefrontFooter.d.ts.map +1 -0
- package/dist/components/layout/StorefrontHeader.d.ts.map +1 -0
- package/dist/components/layout/Toaster.d.ts.map +1 -0
- package/dist/components/marketing/CollectionSections.d.ts +463 -0
- package/dist/components/marketing/CollectionSections.d.ts.map +1 -0
- package/dist/components/marketing/ConversionSections.d.ts +221 -0
- package/dist/components/marketing/ConversionSections.d.ts.map +1 -0
- package/dist/components/marketing/EditorialSections.d.ts +248 -0
- package/dist/components/marketing/EditorialSections.d.ts.map +1 -0
- package/dist/components/marketing/EntityList.d.ts +97 -0
- package/dist/components/marketing/EntityList.d.ts.map +1 -0
- package/dist/components/marketing/FormBlock.d.ts +167 -0
- package/dist/components/marketing/FormBlock.d.ts.map +1 -0
- package/dist/components/marketing/HeroSection.d.ts +125 -0
- package/dist/components/marketing/HeroSection.d.ts.map +1 -0
- package/dist/components/marketing/MediaCarousel.d.ts +135 -0
- package/dist/components/marketing/MediaCarousel.d.ts.map +1 -0
- package/dist/components/marketing/MiscSections.d.ts +252 -0
- package/dist/components/marketing/MiscSections.d.ts.map +1 -0
- package/dist/components/order/OrderTrackingTimeline.d.ts.map +1 -0
- package/dist/components/product/ProductCard.d.ts +14 -0
- package/dist/components/product/ProductCard.d.ts.map +1 -0
- package/dist/components/product/ProductEnquiryForm.d.ts.map +1 -0
- package/dist/components/product/ProductGallery.d.ts +36 -0
- package/dist/components/product/ProductGallery.d.ts.map +1 -0
- package/dist/components/{ProductOptionSelector.d.ts → product/ProductOptionSelector.d.ts} +1 -1
- package/dist/components/product/ProductOptionSelector.d.ts.map +1 -0
- package/dist/components/product/ProductRail.d.ts +93 -0
- package/dist/components/product/ProductRail.d.ts.map +1 -0
- package/dist/components/product/ProductReviews.d.ts +39 -0
- package/dist/components/product/ProductReviews.d.ts.map +1 -0
- package/dist/components/product/ProductSlider.d.ts +169 -0
- package/dist/components/product/ProductSlider.d.ts.map +1 -0
- package/dist/components/product/ProductSpecs.d.ts.map +1 -0
- package/dist/components/product/RelatedProducts.d.ts.map +1 -0
- package/dist/{auth.d.ts → data/auth.d.ts} +9 -0
- package/dist/data/auth.d.ts.map +1 -0
- package/dist/data/facets.d.ts +39 -0
- package/dist/data/facets.d.ts.map +1 -0
- package/dist/data/loaders.d.ts +56 -0
- package/dist/data/loaders.d.ts.map +1 -0
- package/dist/data/order-status.d.ts.map +1 -0
- package/dist/data/product-options.d.ts +36 -0
- package/dist/data/product-options.d.ts.map +1 -0
- package/dist/diagnostics/seo-audit.d.ts +54 -0
- package/dist/diagnostics/seo-audit.d.ts.map +1 -0
- package/dist/diagnostics/seo-audit.js +3 -0
- package/dist/diagnostics/seo-audit.js.map +1 -0
- package/dist/document/change.d.ts +100 -0
- package/dist/document/change.d.ts.map +1 -0
- package/dist/{config.d.ts → document/config.d.ts} +126 -7
- package/dist/document/config.d.ts.map +1 -0
- package/dist/document/describe.d.ts +135 -0
- package/dist/document/describe.d.ts.map +1 -0
- package/dist/document/overlay.d.ts +58 -0
- package/dist/document/overlay.d.ts.map +1 -0
- package/dist/{presets.d.ts → document/presets.d.ts} +2 -2
- package/dist/document/presets.d.ts.map +1 -0
- package/dist/document/render.d.ts +171 -0
- package/dist/document/render.d.ts.map +1 -0
- package/dist/document/round-trip.d.ts +46 -0
- package/dist/document/round-trip.d.ts.map +1 -0
- package/dist/document/sections.d.ts +194 -0
- package/dist/document/sections.d.ts.map +1 -0
- package/dist/document/upgrade.d.ts +112 -0
- package/dist/document/upgrade.d.ts.map +1 -0
- package/dist/document/validate.d.ts +24 -0
- package/dist/document/validate.d.ts.map +1 -0
- package/dist/{component-contracts.d.ts → extend/component-contracts.d.ts} +74 -22
- package/dist/extend/component-contracts.d.ts.map +1 -0
- package/dist/extend/component-override.d.ts +38 -0
- package/dist/extend/component-override.d.ts.map +1 -0
- package/dist/extend/component-selectors.d.ts.map +1 -0
- package/dist/extend/editor-bridge.d.ts +59 -0
- package/dist/extend/editor-bridge.d.ts.map +1 -0
- package/dist/extend/extension-points.d.ts +103 -0
- package/dist/extend/extension-points.d.ts.map +1 -0
- package/dist/extend/slots.d.ts +216 -0
- package/dist/extend/slots.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +25 -6
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/use-address.d.ts +26 -0
- package/dist/hooks/use-address.d.ts.map +1 -0
- package/dist/hooks/use-cart.d.ts +3 -0
- package/dist/hooks/use-cart.d.ts.map +1 -0
- package/dist/hooks/use-catalog.d.ts +24 -0
- package/dist/hooks/use-catalog.d.ts.map +1 -0
- package/dist/hooks/use-categories.d.ts +19 -0
- package/dist/hooks/use-categories.d.ts.map +1 -0
- package/dist/hooks/use-checkout.d.ts +41 -0
- package/dist/hooks/use-checkout.d.ts.map +1 -0
- package/dist/hooks/use-discount-validator.d.ts +20 -0
- package/dist/hooks/use-discount-validator.d.ts.map +1 -0
- package/dist/hooks/use-enquiry.d.ts +7 -0
- package/dist/hooks/use-enquiry.d.ts.map +1 -0
- package/dist/hooks/{useMyOrders.d.ts → use-my-orders.d.ts} +1 -1
- package/dist/hooks/use-my-orders.d.ts.map +1 -0
- package/dist/hooks/use-order.d.ts +17 -0
- package/dist/hooks/use-order.d.ts.map +1 -0
- package/dist/hooks/use-payment-methods.d.ts +19 -0
- package/dist/hooks/use-payment-methods.d.ts.map +1 -0
- package/dist/hooks/use-policies.d.ts +25 -0
- package/dist/hooks/use-policies.d.ts.map +1 -0
- package/dist/hooks/use-product.d.ts +15 -0
- package/dist/hooks/use-product.d.ts.map +1 -0
- package/dist/hooks/{useProducts.d.ts → use-products.d.ts} +1 -1
- package/dist/hooks/use-products.d.ts.map +1 -0
- package/dist/hooks/use-region.d.ts +15 -0
- package/dist/hooks/use-region.d.ts.map +1 -0
- package/dist/hooks/use-shipping.d.ts +29 -0
- package/dist/hooks/use-shipping.d.ts.map +1 -0
- package/dist/hooks/use-storefront-actions.d.ts +12 -0
- package/dist/hooks/use-storefront-actions.d.ts.map +1 -0
- package/dist/hooks/use-storefront-head.d.ts +19 -0
- package/dist/hooks/use-storefront-head.d.ts.map +1 -0
- package/dist/hooks/use-storefront.d.ts +3 -0
- package/dist/hooks/use-storefront.d.ts.map +1 -0
- package/dist/index.d.ts +123 -54
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1311 -5012
- package/dist/index.js.map +1 -1
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/motion.d.ts.map +1 -0
- package/dist/lib/seo.d.ts +26 -0
- package/dist/lib/seo.d.ts.map +1 -0
- package/dist/{testids.d.ts → lib/testids.d.ts} +21 -0
- package/dist/lib/testids.d.ts.map +1 -0
- package/dist/{theme.d.ts → lib/theme.d.ts} +41 -3
- package/dist/lib/theme.d.ts.map +1 -0
- package/dist/render.d.ts +5 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +359 -0
- package/dist/render.js.map +1 -0
- package/dist/stores/cart.store.d.ts +6 -2
- package/dist/stores/cart.store.d.ts.map +1 -1
- package/dist/stores/catalog.store.d.ts +11 -0
- package/dist/stores/catalog.store.d.ts.map +1 -1
- package/dist/views/CatalogPage.d.ts.map +1 -0
- package/dist/views/CheckoutPage.d.ts.map +1 -0
- package/dist/views/ContentPage.d.ts +11 -0
- package/dist/views/ContentPage.d.ts.map +1 -0
- package/dist/views/HomePage.d.ts +9 -0
- package/dist/views/HomePage.d.ts.map +1 -0
- package/dist/views/MyPurchasesPage.d.ts.map +1 -0
- package/dist/views/NotFoundPage.d.ts.map +1 -0
- package/dist/{pages → views}/OrderConfirmationPage.d.ts.map +1 -1
- package/dist/{pages → views}/PolicyPage.d.ts.map +1 -1
- package/dist/views/ProductDetailPage.d.ts.map +1 -0
- package/dist/views/StorefrontPage.d.ts +35 -0
- package/dist/views/StorefrontPage.d.ts.map +1 -0
- package/dist/workflows/checkout.d.ts +1 -1
- package/dist/workflows/checkout.d.ts.map +1 -1
- package/package.json +21 -14
- package/dist/auth.d.ts.map +0 -1
- package/dist/blocks.d.ts.map +0 -1
- package/dist/component-contracts.d.ts.map +0 -1
- package/dist/component-selectors.d.ts.map +0 -1
- package/dist/components/CartDrawer.d.ts.map +0 -1
- package/dist/components/CustomerAccountShell.d.ts.map +0 -1
- package/dist/components/DeliveryEstimator.d.ts.map +0 -1
- package/dist/components/FiltersPanel.d.ts +0 -3
- package/dist/components/FiltersPanel.d.ts.map +0 -1
- package/dist/components/OrderTrackingTimeline.d.ts.map +0 -1
- package/dist/components/ProductCard.d.ts +0 -4
- package/dist/components/ProductCard.d.ts.map +0 -1
- package/dist/components/ProductEnquiryForm.d.ts.map +0 -1
- package/dist/components/ProductGallery.d.ts +0 -22
- package/dist/components/ProductGallery.d.ts.map +0 -1
- package/dist/components/ProductGrid.d.ts.map +0 -1
- package/dist/components/ProductOptionSelector.d.ts.map +0 -1
- package/dist/components/ProductSpecs.d.ts.map +0 -1
- package/dist/components/QuantityInput.d.ts.map +0 -1
- package/dist/components/RelatedProducts.d.ts.map +0 -1
- package/dist/components/SignInModal.d.ts.map +0 -1
- package/dist/components/StorefrontErrorBoundary.d.ts.map +0 -1
- package/dist/components/StorefrontFooter.d.ts.map +0 -1
- package/dist/components/StorefrontHeader.d.ts.map +0 -1
- package/dist/components/Toaster.d.ts.map +0 -1
- package/dist/components/sections/CategoryShowcase.d.ts +0 -6
- package/dist/components/sections/CategoryShowcase.d.ts.map +0 -1
- package/dist/components/sections/HeroSection.d.ts +0 -9
- package/dist/components/sections/HeroSection.d.ts.map +0 -1
- package/dist/components/sections/MediaCarousel.d.ts +0 -11
- package/dist/components/sections/MediaCarousel.d.ts.map +0 -1
- package/dist/components/sections/MiscSections.d.ts +0 -33
- package/dist/components/sections/MiscSections.d.ts.map +0 -1
- package/dist/components/sections/ProductRail.d.ts +0 -9
- package/dist/components/sections/ProductRail.d.ts.map +0 -1
- package/dist/components/sections/ProductSlider.d.ts +0 -15
- package/dist/components/sections/ProductSlider.d.ts.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/createStorefrontApp.d.ts +0 -28
- package/dist/createStorefrontApp.d.ts.map +0 -1
- package/dist/define.d.ts.map +0 -1
- package/dist/format.d.ts.map +0 -1
- package/dist/hooks/useCategories.d.ts +0 -6
- package/dist/hooks/useCategories.d.ts.map +0 -1
- package/dist/hooks/useDiscountValidator.d.ts +0 -14
- package/dist/hooks/useDiscountValidator.d.ts.map +0 -1
- package/dist/hooks/useMyOrders.d.ts.map +0 -1
- package/dist/hooks/useProduct.d.ts +0 -7
- package/dist/hooks/useProduct.d.ts.map +0 -1
- package/dist/hooks/useProducts.d.ts.map +0 -1
- package/dist/hooks/useStorefront.d.ts +0 -35
- package/dist/hooks/useStorefront.d.ts.map +0 -1
- package/dist/hooks/useStorefrontHead.d.ts +0 -11
- package/dist/hooks/useStorefrontHead.d.ts.map +0 -1
- package/dist/motion.d.ts.map +0 -1
- package/dist/order-status.d.ts.map +0 -1
- package/dist/pages/CatalogPage.d.ts.map +0 -1
- package/dist/pages/CheckoutPage.d.ts.map +0 -1
- package/dist/pages/HomePage.d.ts +0 -9
- package/dist/pages/HomePage.d.ts.map +0 -1
- package/dist/pages/MyPurchasesPage.d.ts.map +0 -1
- package/dist/pages/NotFoundPage.d.ts.map +0 -1
- package/dist/pages/ProductDetailPage.d.ts.map +0 -1
- package/dist/presets.d.ts.map +0 -1
- package/dist/product-options.d.ts +0 -12
- package/dist/product-options.d.ts.map +0 -1
- package/dist/router.d.ts.map +0 -1
- package/dist/scaffold.d.ts.map +0 -1
- package/dist/sections.d.ts.map +0 -1
- package/dist/testids.d.ts.map +0 -1
- package/dist/theme.d.ts.map +0 -1
- package/src/auth.ts +0 -227
- package/src/blocks.tsx +0 -51
- package/src/catalog.ts +0 -3
- package/src/component-contracts.ts +0 -154
- package/src/component-selectors.ts +0 -31
- package/src/components/CartDrawer.tsx +0 -279
- package/src/components/CustomerAccountShell.tsx +0 -102
- package/src/components/DeliveryEstimator.tsx +0 -157
- package/src/components/FiltersPanel.tsx +0 -109
- package/src/components/OrderTrackingTimeline.tsx +0 -135
- package/src/components/Price.tsx +0 -32
- package/src/components/ProductCard.tsx +0 -120
- package/src/components/ProductEnquiryForm.tsx +0 -175
- package/src/components/ProductGallery.tsx +0 -174
- package/src/components/ProductGrid.tsx +0 -43
- package/src/components/ProductOptionSelector.tsx +0 -50
- package/src/components/ProductSpecs.tsx +0 -75
- package/src/components/QuantityInput.tsx +0 -52
- package/src/components/RelatedProducts.tsx +0 -40
- package/src/components/SignInModal.tsx +0 -120
- package/src/components/SmoothImage.tsx +0 -59
- package/src/components/StorefrontErrorBoundary.tsx +0 -51
- package/src/components/StorefrontFooter.tsx +0 -110
- package/src/components/StorefrontHeader.tsx +0 -477
- package/src/components/Toaster.tsx +0 -60
- package/src/components/sections/CategoryShowcase.tsx +0 -80
- package/src/components/sections/HeroSection.tsx +0 -193
- package/src/components/sections/MediaCarousel.tsx +0 -141
- package/src/components/sections/MiscSections.tsx +0 -158
- package/src/components/sections/ProductRail.tsx +0 -81
- package/src/components/sections/ProductSlider.tsx +0 -119
- package/src/config.ts +0 -229
- package/src/createStorefrontApp.tsx +0 -247
- package/src/define.ts +0 -34
- package/src/format.ts +0 -7
- package/src/hooks/index.ts +0 -6
- package/src/hooks/useCategories.ts +0 -26
- package/src/hooks/useDiscountValidator.ts +0 -43
- package/src/hooks/useMyOrders.ts +0 -41
- package/src/hooks/useProduct.ts +0 -36
- package/src/hooks/useProducts.ts +0 -39
- package/src/hooks/useStorefront.ts +0 -58
- package/src/hooks/useStorefrontHead.ts +0 -25
- package/src/index.ts +0 -202
- package/src/motion.tsx +0 -94
- package/src/order-status.ts +0 -33
- package/src/pages/CatalogPage.tsx +0 -118
- package/src/pages/CheckoutPage.tsx +0 -689
- package/src/pages/HomePage.tsx +0 -16
- package/src/pages/MyPurchasesPage.tsx +0 -311
- package/src/pages/NotFoundPage.tsx +0 -25
- package/src/pages/OrderConfirmationPage.tsx +0 -190
- package/src/pages/PolicyPage.tsx +0 -47
- package/src/pages/ProductDetailPage.tsx +0 -264
- package/src/presets.ts +0 -324
- package/src/product-options.ts +0 -63
- package/src/router.ts +0 -49
- package/src/scaffold.tsx +0 -115
- package/src/sections.ts +0 -116
- package/src/shop.ts +0 -4
- package/src/stores/cart.store.ts +0 -185
- package/src/stores/catalog.store.ts +0 -39
- package/src/stores/delivery.store.ts +0 -152
- package/src/stores/session.store.ts +0 -28
- package/src/stores/toast.store.ts +0 -43
- package/src/testids.ts +0 -136
- package/src/theme.ts +0 -194
- package/src/ui.ts +0 -5
- package/src/workflows/checkout.ts +0 -119
- /package/dist/components/{CustomerAccountShell.d.ts → account/CustomerAccountShell.d.ts} +0 -0
- /package/dist/components/{SignInModal.d.ts → account/SignInModal.d.ts} +0 -0
- /package/dist/components/{CartDrawer.d.ts → cart/CartDrawer.d.ts} +0 -0
- /package/dist/components/{QuantityInput.d.ts → cart/QuantityInput.d.ts} +0 -0
- /package/dist/components/{DeliveryEstimator.d.ts → checkout/DeliveryEstimator.d.ts} +0 -0
- /package/dist/components/{ProductGrid.d.ts → collection/ProductGrid.d.ts} +0 -0
- /package/dist/components/{StorefrontErrorBoundary.d.ts → layout/StorefrontErrorBoundary.d.ts} +0 -0
- /package/dist/components/{StorefrontFooter.d.ts → layout/StorefrontFooter.d.ts} +0 -0
- /package/dist/components/{StorefrontHeader.d.ts → layout/StorefrontHeader.d.ts} +0 -0
- /package/dist/components/{Toaster.d.ts → layout/Toaster.d.ts} +0 -0
- /package/dist/components/{OrderTrackingTimeline.d.ts → order/OrderTrackingTimeline.d.ts} +0 -0
- /package/dist/components/{ProductEnquiryForm.d.ts → product/ProductEnquiryForm.d.ts} +0 -0
- /package/dist/components/{ProductSpecs.d.ts → product/ProductSpecs.d.ts} +0 -0
- /package/dist/components/{RelatedProducts.d.ts → product/RelatedProducts.d.ts} +0 -0
- /package/dist/{order-status.d.ts → data/order-status.d.ts} +0 -0
- /package/dist/{component-selectors.d.ts → extend/component-selectors.d.ts} +0 -0
- /package/dist/{format.d.ts → lib/format.d.ts} +0 -0
- /package/dist/{motion.d.ts → lib/motion.d.ts} +0 -0
- /package/dist/{pages → views}/CatalogPage.d.ts +0 -0
- /package/dist/{pages → views}/CheckoutPage.d.ts +0 -0
- /package/dist/{pages → views}/MyPurchasesPage.d.ts +0 -0
- /package/dist/{pages → views}/NotFoundPage.d.ts +0 -0
- /package/dist/{pages → views}/OrderConfirmationPage.d.ts +0 -0
- /package/dist/{pages → views}/PolicyPage.d.ts +0 -0
- /package/dist/{pages → views}/ProductDetailPage.d.ts +0 -0
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export declare function BenefitsRow({ items }: {
|
|
3
|
-
items: Array<{
|
|
4
|
-
icon: string;
|
|
5
|
-
title: string;
|
|
6
|
-
text?: string;
|
|
7
|
-
}>;
|
|
8
|
-
}): React.JSX.Element;
|
|
9
|
-
export declare function PromoBanner({ title, subtitle, eyebrow, cta, href, image, hue, }: {
|
|
10
|
-
title: string;
|
|
11
|
-
subtitle?: string;
|
|
12
|
-
eyebrow?: string;
|
|
13
|
-
cta?: string;
|
|
14
|
-
href?: string;
|
|
15
|
-
image?: string;
|
|
16
|
-
hue?: number;
|
|
17
|
-
}): React.JSX.Element;
|
|
18
|
-
export declare function ManifestoBlock({ title, text }: {
|
|
19
|
-
title?: string;
|
|
20
|
-
text: string;
|
|
21
|
-
}): React.JSX.Element;
|
|
22
|
-
export declare function Testimonials({ title, items }: {
|
|
23
|
-
title?: string;
|
|
24
|
-
items: Array<{
|
|
25
|
-
quote: string;
|
|
26
|
-
author: string;
|
|
27
|
-
}>;
|
|
28
|
-
}): React.JSX.Element;
|
|
29
|
-
export declare function NewsletterBand({ title, subtitle }: {
|
|
30
|
-
title?: string;
|
|
31
|
-
subtitle?: string;
|
|
32
|
-
}): React.JSX.Element;
|
|
33
|
-
//# sourceMappingURL=MiscSections.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MiscSections.d.ts","sourceRoot":"","sources":["../../../src/components/sections/MiscSections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAavC,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,qBAkBtG;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,EACH,IAAI,EACJ,KAAK,EACL,GAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,qBA4BA;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,qBAO/E;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,qBA0BjH;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,qBAyCxF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export declare function ProductRail({ title, subtitle, eyebrow, filter, limit, }: {
|
|
3
|
-
title: string;
|
|
4
|
-
subtitle?: string;
|
|
5
|
-
eyebrow?: string;
|
|
6
|
-
filter?: 'sale' | 'new' | 'all';
|
|
7
|
-
limit?: number;
|
|
8
|
-
}): React.JSX.Element | null;
|
|
9
|
-
//# sourceMappingURL=ProductRail.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProductRail.d.ts","sourceRoot":"","sources":["../../../src/components/sections/ProductRail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAStC,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAc,EACd,KAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,4BA2DA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface ProductSliderProps {
|
|
3
|
-
title: string;
|
|
4
|
-
subtitle?: string;
|
|
5
|
-
eyebrow?: string;
|
|
6
|
-
filter?: 'sale' | 'new' | 'all';
|
|
7
|
-
categoryName?: string;
|
|
8
|
-
collection?: string;
|
|
9
|
-
limit?: number;
|
|
10
|
-
cta?: string;
|
|
11
|
-
href?: string;
|
|
12
|
-
className?: string;
|
|
13
|
-
}
|
|
14
|
-
export declare function ProductSlider({ title, subtitle, eyebrow, filter, categoryName, collection, limit, cta, href, className, }: ProductSliderProps): React.JSX.Element | null;
|
|
15
|
-
//# sourceMappingURL=ProductSlider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProductSlider.d.ts","sourceRoot":"","sources":["../../../src/components/sections/ProductSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAA;AAS9C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAc,EACd,YAAY,EACZ,UAAU,EACV,KAAU,EACV,GAAgB,EAChB,IAAI,EACJ,SAAc,GACf,EAAE,kBAAkB,4BAqFpB"}
|
package/dist/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { ShopProvider } from '@fayz-ai/shop/provider';
|
|
3
|
-
import type { StorefrontConfig } from './config';
|
|
4
|
-
import type { StorefrontComponents } from './component-contracts';
|
|
5
|
-
import type { StorefrontSection } from './sections';
|
|
6
|
-
export declare function initStorefrontRuntime(config: StorefrontConfig): void;
|
|
7
|
-
/** The inner storefront UI. Reads everything from the config context, so it is
|
|
8
|
-
* shared by createStorefrontApp and the manifest-driven StorefrontScaffold. */
|
|
9
|
-
export declare function StorefrontShell(): React.JSX.Element;
|
|
10
|
-
/**
|
|
11
|
-
* Declarative storefront factory — the customer-facing counterpart of
|
|
12
|
-
* createSaasApp. Sugar over the manifest path: it is equivalent to
|
|
13
|
-
* renderApp(defineStorefront(config)), sharing initStorefrontRuntime +
|
|
14
|
-
* StorefrontShell with the scaffold.
|
|
15
|
-
*
|
|
16
|
-
* const App = createStorefrontApp({ name: 'Aurora Goods', currency: 'BRL' })
|
|
17
|
-
*/
|
|
18
|
-
export declare function createStorefrontApp(config: StorefrontConfig): React.ComponentType;
|
|
19
|
-
export interface CreateStorefrontOptions {
|
|
20
|
-
config: StorefrontConfig;
|
|
21
|
-
provider?: ShopProvider;
|
|
22
|
-
components?: StorefrontComponents;
|
|
23
|
-
routes?: StorefrontConfig['routes'];
|
|
24
|
-
pages?: StorefrontConfig['routes'];
|
|
25
|
-
sections?: readonly StorefrontSection[];
|
|
26
|
-
}
|
|
27
|
-
export declare function createStorefront(options: CreateStorefrontOptions): React.ComponentType;
|
|
28
|
-
//# sourceMappingURL=createStorefrontApp.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createStorefrontApp.d.ts","sourceRoot":"","sources":["../src/createStorefrontApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAA4B,MAAM,UAAU,CAAA;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AA+GnD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAoCpE;AAED;gFACgF;AAChF,wBAAgB,eAAe,sBAkC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAajF;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAA;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAA;IACjC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACnC,KAAK,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACxC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAgBtF"}
|
package/dist/define.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAErF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,CAAC,SAAS,oBAAoB,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAEjG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,yBAAyB,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEzG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAErG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,uBAAuB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAE1F"}
|
package/dist/format.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ,EAAE,MAAM,SAAU,GAAG,MAAM,CAErF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCategories.d.ts","sourceRoot":"","sources":["../../src/hooks/useCategories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,wBAAgB,aAAa,IAAI;IAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAqB5E"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface DiscountValidation {
|
|
2
|
-
valid: boolean;
|
|
3
|
-
percent: number;
|
|
4
|
-
message?: string;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Storefront coupon validator. The store's own config.discounts (simple percent
|
|
8
|
-
* codes) are trusted directly; everything else goes through the provider-backed
|
|
9
|
-
* validateDiscount primitive, which enforces status/date-window/usage-limit.
|
|
10
|
-
* The storefront cart models discounts as a percentage, so non-percentage codes
|
|
11
|
-
* are rejected for client-side preview (the server still honors them at checkout).
|
|
12
|
-
*/
|
|
13
|
-
export declare function useDiscountValidator(): (code: string) => Promise<DiscountValidation>;
|
|
14
|
-
//# sourceMappingURL=useDiscountValidator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDiscountValidator.d.ts","sourceRoot":"","sources":["../../src/hooks/useDiscountValidator.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AASD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAkBpF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMyOrders.d.ts","sourceRoot":"","sources":["../../src/hooks/useMyOrders.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAGhD,wBAAgB,WAAW,IAAI;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAmCxF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useProduct.d.ts","sourceRoot":"","sources":["../../src/hooks/useProduct.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;IACxC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CA2BA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useProducts.d.ts","sourceRoot":"","sources":["../../src/hooks/useProducts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,mBAAmB,GAAG;IACtD,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CA6BA"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { CreateProductEnquiryInput } from '@fayz-ai/shop/types';
|
|
2
|
-
import { navigateTo } from '../router';
|
|
3
|
-
import type { ProductOptionSelection } from '../product-options';
|
|
4
|
-
import type { Product } from '@fayz-ai/shop/types';
|
|
5
|
-
export declare function useStorefront(): import("..").ResolvedStorefrontConfig;
|
|
6
|
-
export declare function useCatalog(): {
|
|
7
|
-
catalogPath: string;
|
|
8
|
-
config: import("..").ResolvedStorefrontConfig;
|
|
9
|
-
search: string;
|
|
10
|
-
categoryId: string | null;
|
|
11
|
-
priceMin: number | null;
|
|
12
|
-
priceMax: number | null;
|
|
13
|
-
inStockOnly: boolean;
|
|
14
|
-
sort: import("..").CatalogSort;
|
|
15
|
-
setSearch(search: string): void;
|
|
16
|
-
setCategoryId(categoryId: string | null): void;
|
|
17
|
-
setPriceMin(priceMin: number | null): void;
|
|
18
|
-
setPriceMax(priceMax: number | null): void;
|
|
19
|
-
setInStockOnly(inStockOnly: boolean): void;
|
|
20
|
-
setSort(sort: import("..").CatalogSort): void;
|
|
21
|
-
reset(): void;
|
|
22
|
-
};
|
|
23
|
-
export declare function useCart(): import("..").CartState;
|
|
24
|
-
export declare function useEnquiry(): {
|
|
25
|
-
enquiry: Required<Pick<import("..").StorefrontEnquiryConfig, "label" | "successMessage" | "subjectPrefix">> & Omit<import("..").StorefrontEnquiryConfig, "label" | "successMessage" | "subjectPrefix">;
|
|
26
|
-
createProductEnquiry: (input: CreateProductEnquiryInput) => Promise<import("@fayz-ai/shop").ProductEnquiry>;
|
|
27
|
-
};
|
|
28
|
-
export declare function useStorefrontActions(): {
|
|
29
|
-
navigateTo: typeof navigateTo;
|
|
30
|
-
addToCart: (product: Product, quantity?: number, options?: ProductOptionSelection) => void;
|
|
31
|
-
openCart: () => void;
|
|
32
|
-
closeCart: () => void;
|
|
33
|
-
createProductEnquiry: (input: CreateProductEnquiryInput) => Promise<import("@fayz-ai/shop").ProductEnquiry>;
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=useStorefront.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStorefront.d.ts","sourceRoot":"","sources":["../../src/hooks/useStorefront.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAGtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,wBAAgB,aAAa,0CAE5B;AAED,wBAAgB,UAAU;;;;;;;;;;;;;;;;EAQzB;AAED,wBAAgB,OAAO,2BAEtB;AAED,wBAAgB,UAAU;;kCAEmB,yBAAyB;EAYrE;AAED,wBAAgB,oBAAoB;;yBAQX,OAAO,aAAa,MAAM,YAAY,sBAAsB;;;kCAtBxC,yBAAyB;EA4BrE"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Minimal per-route head manager: sets document.title and meta description so
|
|
3
|
-
* each storefront page (product, catalog, account, checkout) has its own title
|
|
4
|
-
* and shareable description instead of one static SPA title. A real SSR/prerender
|
|
5
|
-
* pass (M12) layers OG/canonical on top; this covers the client-rendered baseline.
|
|
6
|
-
*/
|
|
7
|
-
export declare function useStorefrontHead(input: {
|
|
8
|
-
title?: string;
|
|
9
|
-
description?: string | null;
|
|
10
|
-
}): void;
|
|
11
|
-
//# sourceMappingURL=useStorefrontHead.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStorefrontHead.d.ts","sourceRoot":"","sources":["../../src/hooks/useStorefrontHead.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAgB9F"}
|
package/dist/motion.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../src/motion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAO1D,wBAAgB,oBAAoB,IAAI,OAAO,CAG9C;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,SAAoB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAyB1G;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED;;;uDAGuD;AACvD,wBAAgB,MAAM,CAAC,EAAE,KAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,qBAYrF;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,SAAS,SAAI,GAAG,OAAO,CASlD;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAgBrD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"order-status.d.ts","sourceRoot":"","sources":["../src/order-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAmB1D;kFACkF;AAClF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAGlG;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAEvD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAE3D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogPage.d.ts","sourceRoot":"","sources":["../../src/pages/CatalogPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAA;AA0DzD,wBAAgB,WAAW,sBA2D1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutPage.d.ts","sourceRoot":"","sources":["../../src/pages/CheckoutPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AA0GlD,wBAAgB,YAAY,sBAskB3B"}
|
package/dist/pages/HomePage.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { StorefrontSection } from '../sections';
|
|
3
|
-
export declare function StorefrontSections({ sections }: {
|
|
4
|
-
sections: readonly StorefrontSection[];
|
|
5
|
-
}): React.JSX.Element;
|
|
6
|
-
export declare function HomePage({ sections }: {
|
|
7
|
-
sections: readonly StorefrontSection[];
|
|
8
|
-
}): React.JSX.Element;
|
|
9
|
-
//# sourceMappingURL=HomePage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HomePage.d.ts","sourceRoot":"","sources":["../../src/pages/HomePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAOpD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,qBAE1F;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,qBAEhF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MyPurchasesPage.d.ts","sourceRoot":"","sources":["../../src/pages/MyPurchasesPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AA2RvC,wBAAgB,eAAe,sBA2B9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NotFoundPage.d.ts","sourceRoot":"","sources":["../../src/pages/NotFoundPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,wGAAwG;AACxG,wBAAgB,YAAY,sBAkB3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/ProductDetailPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAqBlD,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,qBAkP3D"}
|
package/dist/presets.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAS5C;qFACqF;AACrF,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,eAAe,CAAA;IACtB,0EAA0E;IAC1E,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,UAAU,CAAA;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,EAAE,kBA0C1B,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,cAAc,EAAE,kBA2D5B,CAAA;AAED,kHAAkH;AAClH,eAAO,MAAM,YAAY,EAAE,kBAkD1B,CAAA;AAED,0GAA0G;AAC1G,eAAO,MAAM,eAAe,EAAE,kBA4D7B,CAAA;AAED;;2FAE2F;AAC3F,eAAO,MAAM,YAAY,EAAE,kBA4D1B,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,mBAAmB,CAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Product } from '@fayz-ai/shop/types';
|
|
2
|
-
export interface ProductOptionGroup {
|
|
3
|
-
id: string;
|
|
4
|
-
label: string;
|
|
5
|
-
values: string[];
|
|
6
|
-
}
|
|
7
|
-
export type ProductOptionSelection = Record<string, string>;
|
|
8
|
-
export declare function getProductOptionGroups(product: Product): ProductOptionGroup[];
|
|
9
|
-
export declare function normalizeProductOptionSelection(selection?: ProductOptionSelection | null): ProductOptionSelection;
|
|
10
|
-
export declare function formatProductOptionSelection(selection?: ProductOptionSelection | null): string;
|
|
11
|
-
export declare function productOptionSelectionKey(selection?: ProductOptionSelection | null): string;
|
|
12
|
-
//# sourceMappingURL=product-options.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"product-options.d.ts","sourceRoot":"","sources":["../src/product-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAiB3D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAgB7E;AAED,wBAAgB,+BAA+B,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,IAAI,GAAG,sBAAsB,CAOjH;AAED,wBAAgB,4BAA4B,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,IAAI,GAAG,MAAM,CAI9F;AAED,wBAAgB,yBAAyB,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,IAAI,GAAG,MAAM,CAI3F"}
|
package/dist/router.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AASlD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,WAAW,IAAI,MAAM,CAUpC;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAatF;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC9E,EAAE,EAAE,MAAM,CAAA;CACX;AAED,mFAAmF;AACnF,wBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAExD"}
|
package/dist/scaffold.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAIhD,OAAO,UAAU,CAAA;AAgBjB,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAiCtE;AAgCD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,qBAanG;yBAbe,kBAAkB;;;AAoBlC,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
|
package/dist/sections.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"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"}
|
package/dist/testids.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testids.d.ts","sourceRoot":"","sources":["../src/testids.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG;;;;;;;;8BASG,MAAM;iCACH,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAgCH,MAAM;;;;;;;;;;sCAWJ,MAAM;sCACN,MAAM,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCA6DpB,MAAM;;;;;;;;;;;;;;;;;CAkBxB,CAAA"}
|
package/dist/theme.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAaxC,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AACjE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;AACzE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AACvD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,CAAA;AAE5C,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B;uFACmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,yBAAyB;IACzB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,aAAa,CAAA;QACvB,gDAAgD;QAChD,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,qEAAqE;QACrE,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,8DAA8D;QAC9D,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB;wEACgE;QAChE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAC9B,CAAA;IACD,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,SAAS,CAAA;QACjB,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;KACpC,CAAA;IACD,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;wFAGoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AA2BD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CA+CzD;AAgBD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,eAAe,CAAA;CAAE;;8CAiBzE"}
|
package/src/auth.ts
DELETED
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import type { AuthAdapter, AuthUser } from '@fayz-ai/core'
|
|
2
|
-
import {
|
|
3
|
-
createAuthRuntime,
|
|
4
|
-
createMockAuthAdapter,
|
|
5
|
-
type AuthPluginOptions,
|
|
6
|
-
} from '@fayz-ai/plugin-auth'
|
|
7
|
-
import { getShopProvider } from '@fayz-ai/shop/runtime'
|
|
8
|
-
import { setShopAccessTokenResolver } from '@fayz-ai/sdk/shop'
|
|
9
|
-
import { useSessionStore } from './stores/session.store'
|
|
10
|
-
|
|
11
|
-
// ---------------------------------------------------------------------------
|
|
12
|
-
// Customer auth — the SAME AuthAdapter contract createSaasApp uses, so the
|
|
13
|
-
// mock and Supabase adapters from @fayz-ai/auth serve both the saas admin and
|
|
14
|
-
// the storefront customer. The storefront adds one layer on top: linking the
|
|
15
|
-
// auth identity to a ShopCustomer record (find-or-create by email) so orders
|
|
16
|
-
// and purchase history attach to a customer.
|
|
17
|
-
// ---------------------------------------------------------------------------
|
|
18
|
-
|
|
19
|
-
export type StorefrontAuthAdapter = AuthAdapter | 'mock' | 'supabase' | (string & {})
|
|
20
|
-
|
|
21
|
-
export interface StorefrontAuthConfig {
|
|
22
|
-
adapter?: AuthPluginOptions['adapter']
|
|
23
|
-
provider?: AuthPluginOptions['provider']
|
|
24
|
-
routes?: AuthPluginOptions['routes']
|
|
25
|
-
supabase?: AuthPluginOptions['supabase']
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
let _adapter: AuthAdapter | null = null
|
|
29
|
-
|
|
30
|
-
function isAuthAdapter(value: unknown): value is AuthAdapter {
|
|
31
|
-
return Boolean(
|
|
32
|
-
value &&
|
|
33
|
-
typeof value === 'object' &&
|
|
34
|
-
'getSession' in value &&
|
|
35
|
-
'signIn' in value &&
|
|
36
|
-
'signOut' in value,
|
|
37
|
-
)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function normalizeAuthConfig(
|
|
41
|
-
configured: StorefrontAuthAdapter | StorefrontAuthConfig | undefined,
|
|
42
|
-
): StorefrontAuthConfig {
|
|
43
|
-
if (!configured) return {}
|
|
44
|
-
if (typeof configured === 'string' || isAuthAdapter(configured)) return { adapter: configured }
|
|
45
|
-
return configured
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export function resolveAuthAdapter(
|
|
49
|
-
configured: StorefrontAuthAdapter | StorefrontAuthConfig | undefined,
|
|
50
|
-
fallback?: { supabaseUrl?: string; supabaseAnonKey?: string },
|
|
51
|
-
): AuthAdapter {
|
|
52
|
-
const config = normalizeAuthConfig(configured)
|
|
53
|
-
return createAuthRuntime({
|
|
54
|
-
provider: config.provider ?? config.adapter ?? (fallback?.supabaseUrl ? 'supabase' : 'mock'),
|
|
55
|
-
adapter: config.adapter,
|
|
56
|
-
routes: config.routes,
|
|
57
|
-
requireAuth: false,
|
|
58
|
-
supabase: {
|
|
59
|
-
url: config.supabase?.url ?? fallback?.supabaseUrl,
|
|
60
|
-
anonKey: config.supabase?.anonKey ?? fallback?.supabaseAnonKey,
|
|
61
|
-
client: config.supabase?.client,
|
|
62
|
-
callbackUrl: config.supabase?.callbackUrl,
|
|
63
|
-
resetPasswordUrl: config.supabase?.resetPasswordUrl,
|
|
64
|
-
},
|
|
65
|
-
}).adapter
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// The shopper's current access token, handed to the shop REST client so its
|
|
69
|
-
// requests reach PostgREST as the signed-in user instead of as `anon`. Held
|
|
70
|
-
// here rather than in the session store because it is a credential: it must not
|
|
71
|
-
// be persisted to localStorage alongside the customer id. The Supabase client
|
|
72
|
-
// owns its own refresh; this is only a mirror of the live value.
|
|
73
|
-
let _accessToken: string | null = null
|
|
74
|
-
|
|
75
|
-
/** Whether an authenticated identity was ever seen this session. Distinguishes
|
|
76
|
-
* "signed out" from "was never signed in" — see the onAuthStateChange guard. */
|
|
77
|
-
let _hadAuthUser = false
|
|
78
|
-
|
|
79
|
-
/** Refresh the mirrored token from the adapter. Safe to call on any event. */
|
|
80
|
-
async function syncAccessToken(adapter: AuthAdapter): Promise<void> {
|
|
81
|
-
try {
|
|
82
|
-
const existing = await adapter.getSession()
|
|
83
|
-
_accessToken = existing?.session.accessToken ?? null
|
|
84
|
-
} catch {
|
|
85
|
-
_accessToken = null
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/** Called once by createStorefrontApp. Restores any persisted session. */
|
|
90
|
-
export function initCustomerAuth(adapter: AuthAdapter): void {
|
|
91
|
-
_adapter = adapter
|
|
92
|
-
|
|
93
|
-
// Registered before the first await so no request can slip out anonymously
|
|
94
|
-
// while the session is still being restored.
|
|
95
|
-
setShopAccessTokenResolver(() => _accessToken)
|
|
96
|
-
|
|
97
|
-
adapter
|
|
98
|
-
.getSession()
|
|
99
|
-
.then((existing) => {
|
|
100
|
-
_accessToken = existing?.session.accessToken ?? null
|
|
101
|
-
if (!existing) return
|
|
102
|
-
_hadAuthUser = true
|
|
103
|
-
const store = useSessionStore.getState()
|
|
104
|
-
// Re-link only when the persisted shop session doesn't match the auth user
|
|
105
|
-
if (store.email !== existing.user.email) {
|
|
106
|
-
void linkCustomer(existing.user)
|
|
107
|
-
}
|
|
108
|
-
})
|
|
109
|
-
.catch(() => {})
|
|
110
|
-
|
|
111
|
-
adapter.onAuthStateChange((user) => {
|
|
112
|
-
if (!user) {
|
|
113
|
-
_accessToken = null
|
|
114
|
-
// Only tear down the shop session if there WAS an authenticated identity
|
|
115
|
-
// to lose. The Supabase adapter fires this once on boot with a null user
|
|
116
|
-
// (INITIAL_SESSION), and clearing unconditionally wiped the guest's local
|
|
117
|
-
// session on every page load — a guest who checked out could no longer
|
|
118
|
-
// find their order after a reload. The mock adapter never surfaced this
|
|
119
|
-
// because it always restored a session.
|
|
120
|
-
if (_hadAuthUser) {
|
|
121
|
-
_hadAuthUser = false
|
|
122
|
-
useSessionStore.getState().signOut()
|
|
123
|
-
}
|
|
124
|
-
return
|
|
125
|
-
}
|
|
126
|
-
_hadAuthUser = true
|
|
127
|
-
// Covers token refresh too, not just sign-in: the callback carries the user
|
|
128
|
-
// but not the token, and a stale token would 401 every read an hour in.
|
|
129
|
-
void syncAccessToken(adapter)
|
|
130
|
-
})
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export function getCustomerAuthAdapter(): AuthAdapter {
|
|
134
|
-
if (!_adapter) _adapter = createMockAuthAdapter()
|
|
135
|
-
return _adapter
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/** Resolve (find-or-create + server-side auth link) the ShopCustomer for an email. */
|
|
139
|
-
async function resolveShopCustomer(email: string, name: string) {
|
|
140
|
-
const provider = getShopProvider()
|
|
141
|
-
// Preferred: provider.resolveCustomer find-or-creates AND links auth.uid
|
|
142
|
-
// server-side (RLS-safe). Falls back to generic CRUD for legacy providers.
|
|
143
|
-
if (provider.resolveCustomer) return provider.resolveCustomer({ email, name })
|
|
144
|
-
const matches = await provider.listCustomers({ search: email, limit: 10 })
|
|
145
|
-
const existing = matches.find((c) => (c.email ?? '').toLowerCase() === email)
|
|
146
|
-
if (existing) return existing
|
|
147
|
-
const parts = name.trim().split(/\s+/).filter(Boolean)
|
|
148
|
-
return provider.createCustomer({
|
|
149
|
-
firstName: parts[0] ?? email.split('@')[0] ?? 'Cliente',
|
|
150
|
-
lastName: parts.slice(1).join(' '),
|
|
151
|
-
email,
|
|
152
|
-
})
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/** Find-or-create the ShopCustomer for an auth identity and persist the session. */
|
|
156
|
-
async function linkCustomer(user: AuthUser, fullName?: string): Promise<{ customerId: string }> {
|
|
157
|
-
const email = (user.email ?? '').trim().toLowerCase()
|
|
158
|
-
const name = fullName ?? user.fullName ?? ''
|
|
159
|
-
const customer = await resolveShopCustomer(email, name)
|
|
160
|
-
useSessionStore.getState().setSession({
|
|
161
|
-
customerId: customer.id,
|
|
162
|
-
email,
|
|
163
|
-
name: name || `${customer.firstName} ${customer.lastName}`.trim(),
|
|
164
|
-
})
|
|
165
|
-
return { customerId: customer.id }
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
export interface EstablishSessionOptions {
|
|
169
|
-
/** Provided → adapter.signIn; omitted → passwordless customer identity via signUp (mock-friendly). */
|
|
170
|
-
password?: string
|
|
171
|
-
name?: string
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Sign a customer in through the auth adapter and link the ShopCustomer.
|
|
176
|
-
* Used by the account page sign-in AND by checkout (so a buyer is signed in
|
|
177
|
-
* for "my purchases" immediately after purchase) — one auth path, two doors.
|
|
178
|
-
*/
|
|
179
|
-
export async function establishCustomerSession(
|
|
180
|
-
email: string,
|
|
181
|
-
opts?: EstablishSessionOptions,
|
|
182
|
-
): Promise<{ customerId: string }> {
|
|
183
|
-
const normalized = email.trim().toLowerCase()
|
|
184
|
-
if (opts?.password) {
|
|
185
|
-
const adapter = getCustomerAuthAdapter()
|
|
186
|
-
const session = await adapter.signIn(normalized, opts.password)
|
|
187
|
-
// Before linkCustomer, not after: linkCustomer calls shop_resolve_customer,
|
|
188
|
-
// which reads auth.uid() to fill auth_user_id. Sent with the old token that
|
|
189
|
-
// link silently no-ops and the account stays unlinked forever.
|
|
190
|
-
_accessToken = session.accessToken ?? null
|
|
191
|
-
_hadAuthUser = true
|
|
192
|
-
return linkCustomer(session.user.email ? session.user : { ...session.user, email: normalized }, opts.name)
|
|
193
|
-
}
|
|
194
|
-
// Guest / passwordless checkout: do NOT create an auth account (that made
|
|
195
|
-
// returning guests fail with "user already registered" on Supabase). Just
|
|
196
|
-
// resolve the ShopCustomer and persist the local session for order history.
|
|
197
|
-
return linkCustomer({ id: '', email: normalized } as AuthUser, opts?.name)
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/** Convenience wrapper — passwordless email sign-in (guest checkout path). */
|
|
201
|
-
export function signInByEmail(email: string, name?: string): Promise<{ customerId: string }> {
|
|
202
|
-
return establishCustomerSession(email, { name })
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/** Explicit account creation (account page "Criar conta" form). */
|
|
206
|
-
export async function signUpCustomer(
|
|
207
|
-
email: string,
|
|
208
|
-
password: string,
|
|
209
|
-
name: string,
|
|
210
|
-
): Promise<{ customerId: string }> {
|
|
211
|
-
const adapter = getCustomerAuthAdapter()
|
|
212
|
-
const normalized = email.trim().toLowerCase()
|
|
213
|
-
const session = await adapter.signUp(normalized, password, name)
|
|
214
|
-
_accessToken = session.accessToken ?? null
|
|
215
|
-
_hadAuthUser = true
|
|
216
|
-
return linkCustomer(session.user.email ? session.user : { ...session.user, email: normalized }, name)
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
export async function signOutCustomer(): Promise<void> {
|
|
220
|
-
try {
|
|
221
|
-
await getCustomerAuthAdapter().signOut()
|
|
222
|
-
} finally {
|
|
223
|
-
_accessToken = null
|
|
224
|
-
_hadAuthUser = false
|
|
225
|
-
useSessionStore.getState().signOut()
|
|
226
|
-
}
|
|
227
|
-
}
|
package/src/blocks.tsx
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { registerBlock } from '@fayz-ai/core'
|
|
2
|
-
import type { BlockNode } from '@fayz-ai/core'
|
|
3
|
-
import type { StorefrontSection } from './sections'
|
|
4
|
-
import { HeroSection } from './components/sections/HeroSection'
|
|
5
|
-
import { CategoryShowcase } from './components/sections/CategoryShowcase'
|
|
6
|
-
import { ProductRail } from './components/sections/ProductRail'
|
|
7
|
-
import { MediaCarousel } from './components/sections/MediaCarousel'
|
|
8
|
-
import { ProductSlider } from './components/sections/ProductSlider'
|
|
9
|
-
import {
|
|
10
|
-
BenefitsRow,
|
|
11
|
-
PromoBanner,
|
|
12
|
-
ManifestoBlock,
|
|
13
|
-
Testimonials,
|
|
14
|
-
NewsletterBand,
|
|
15
|
-
} from './components/sections/MiscSections'
|
|
16
|
-
|
|
17
|
-
// ---------------------------------------------------------------------------
|
|
18
|
-
// Storefront blocks — the section components registered into the universal
|
|
19
|
-
// block registry. This replaces HomePage's hardcoded switch: a home page is now
|
|
20
|
-
// a block tree (`{ type, props }[]`) resolved through the registry, identical
|
|
21
|
-
// to how admin pages will compose. Section prop shapes are unchanged, so the
|
|
22
|
-
// components are registered directly.
|
|
23
|
-
// ---------------------------------------------------------------------------
|
|
24
|
-
|
|
25
|
-
let registered = false
|
|
26
|
-
|
|
27
|
-
export function registerStorefrontBlocks(): void {
|
|
28
|
-
if (registered) return
|
|
29
|
-
registered = true
|
|
30
|
-
registerBlock('hero', HeroSection, { source: 'sdk', label: 'Hero' })
|
|
31
|
-
registerBlock('mediaCarousel', MediaCarousel, { source: 'sdk', label: 'Media carousel' })
|
|
32
|
-
registerBlock('categories', CategoryShowcase, { source: 'sdk', label: 'Categories' })
|
|
33
|
-
registerBlock('products', ProductRail, { source: 'sdk', label: 'Product rail' })
|
|
34
|
-
registerBlock('productSlider', ProductSlider, { source: 'sdk', label: 'Product slider' })
|
|
35
|
-
registerBlock('benefits', BenefitsRow, { source: 'sdk', label: 'Benefits row' })
|
|
36
|
-
registerBlock('banner', PromoBanner, { source: 'sdk', label: 'Promo banner' })
|
|
37
|
-
registerBlock('manifesto', ManifestoBlock, { source: 'sdk', label: 'Manifesto' })
|
|
38
|
-
registerBlock('testimonials', Testimonials, { source: 'sdk', label: 'Testimonials' })
|
|
39
|
-
registerBlock('newsletter', NewsletterBand, { source: 'sdk', label: 'Newsletter band' })
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Registration happens in initStorefrontRuntime (both the scaffold and
|
|
43
|
-
// createStorefront call it) so importing this module stays side-effect-free.
|
|
44
|
-
|
|
45
|
-
/** Convert the typed storefront section blueprint into a generic block tree. */
|
|
46
|
-
export function sectionsToBlocks(sections: readonly StorefrontSection[]): BlockNode[] {
|
|
47
|
-
return sections.map((section, i) => {
|
|
48
|
-
const { type, ...props } = section
|
|
49
|
-
return { type, id: `${type}-${i}`, props: props as Record<string, unknown> }
|
|
50
|
-
})
|
|
51
|
-
}
|
package/src/catalog.ts
DELETED