@shopify/hydrogen 0.1.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 +29 -0
- package/client.d.ts +1 -0
- package/client.js +1 -0
- package/dist/esnext/client.d.ts +7 -0
- package/dist/esnext/client.js +7 -0
- package/dist/esnext/components/AddToCartButton/AddToCartButton.client.d.ts +15 -0
- package/dist/esnext/components/AddToCartButton/AddToCartButton.client.js +44 -0
- package/dist/esnext/components/AddToCartButton/index.d.ts +1 -0
- package/dist/esnext/components/AddToCartButton/index.js +1 -0
- package/dist/esnext/components/BuyNowButton/BuyNowButton.d.ts +12 -0
- package/dist/esnext/components/BuyNowButton/BuyNowButton.js +29 -0
- package/dist/esnext/components/BuyNowButton/index.d.ts +1 -0
- package/dist/esnext/components/BuyNowButton/index.js +1 -0
- package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.d.ts +7 -0
- package/dist/esnext/components/CartCheckoutButton/CartCheckoutButton.client.js +14 -0
- package/dist/esnext/components/CartCheckoutButton/index.d.ts +1 -0
- package/dist/esnext/components/CartCheckoutButton/index.js +1 -0
- package/dist/esnext/components/CartContainer/CartContainer.client.d.ts +9 -0
- package/dist/esnext/components/CartContainer/CartContainer.client.js +24 -0
- package/dist/esnext/components/CartContainer/index.d.ts +1 -0
- package/dist/esnext/components/CartContainer/index.js +1 -0
- package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.d.ts +10 -0
- package/dist/esnext/components/CartLineAttributes/CartLineAttributes.client.js +9 -0
- package/dist/esnext/components/CartLineAttributes/index.d.ts +1 -0
- package/dist/esnext/components/CartLineAttributes/index.js +1 -0
- package/dist/esnext/components/CartLineImage/CartLineImage.client.d.ts +6 -0
- package/dist/esnext/components/CartLineImage/CartLineImage.client.js +8 -0
- package/dist/esnext/components/CartLineImage/index.d.ts +1 -0
- package/dist/esnext/components/CartLineImage/index.js +1 -0
- package/dist/esnext/components/CartLinePrice/CartLinePrice.client.d.ts +6 -0
- package/dist/esnext/components/CartLinePrice/CartLinePrice.client.js +17 -0
- package/dist/esnext/components/CartLinePrice/index.d.ts +1 -0
- package/dist/esnext/components/CartLinePrice/index.js +1 -0
- package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.d.ts +3 -0
- package/dist/esnext/components/CartLineProductTitle/CartLineProductTitle.client.js +8 -0
- package/dist/esnext/components/CartLineProductTitle/index.d.ts +1 -0
- package/dist/esnext/components/CartLineProductTitle/index.js +1 -0
- package/dist/esnext/components/CartLineProvider/CartLineProvider.client.d.ts +6 -0
- package/dist/esnext/components/CartLineProvider/CartLineProvider.client.js +5 -0
- package/dist/esnext/components/CartLineProvider/context.d.ts +26 -0
- package/dist/esnext/components/CartLineProvider/context.js +2 -0
- package/dist/esnext/components/CartLineProvider/hooks.d.ts +26 -0
- package/dist/esnext/components/CartLineProvider/hooks.js +9 -0
- package/dist/esnext/components/CartLineProvider/index.d.ts +2 -0
- package/dist/esnext/components/CartLineProvider/index.js +2 -0
- package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.d.ts +3 -0
- package/dist/esnext/components/CartLineQuantity/CartLineQuantity.client.js +8 -0
- package/dist/esnext/components/CartLineQuantity/index.d.ts +1 -0
- package/dist/esnext/components/CartLineQuantity/index.js +1 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.d.ts +8 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/CartLineQuantityAdjustButton.js +17 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/index.d.ts +1 -0
- package/dist/esnext/components/CartLineQuantityAdjustButton/index.js +1 -0
- package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.d.ts +10 -0
- package/dist/esnext/components/CartLineSelectedOptions/CartLineSelectedOptions.client.js +9 -0
- package/dist/esnext/components/CartLineSelectedOptions/index.d.ts +1 -0
- package/dist/esnext/components/CartLineSelectedOptions/index.js +1 -0
- package/dist/esnext/components/CartLines/CartLines.d.ts +7 -0
- package/dist/esnext/components/CartLines/CartLines.js +15 -0
- package/dist/esnext/components/CartLines/index.d.ts +1 -0
- package/dist/esnext/components/CartLines/index.js +1 -0
- package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +7 -0
- package/dist/esnext/components/CartProvider/CartProvider.client.js +422 -0
- package/dist/esnext/components/CartProvider/CartServerProvider.server.d.ts +11 -0
- package/dist/esnext/components/CartProvider/CartServerProvider.server.js +20 -0
- package/dist/esnext/components/CartProvider/constants.d.ts +2 -0
- package/dist/esnext/components/CartProvider/constants.js +2 -0
- package/dist/esnext/components/CartProvider/context.d.ts +2 -0
- package/dist/esnext/components/CartProvider/context.js +2 -0
- package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartAttributesUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartBuyerIdentityUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.d.ts +17 -0
- package/dist/esnext/components/CartProvider/graphql/CartCreateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartDiscountCodesUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartFragment.d.ts +68 -0
- package/dist/esnext/components/CartProvider/graphql/CartFragment.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineAddMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineRemoveMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartLineUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.d.ts +18 -0
- package/dist/esnext/components/CartProvider/graphql/CartNoteUpdateMutation.js +1 -0
- package/dist/esnext/components/CartProvider/graphql/CartQuery.d.ts +13 -0
- package/dist/esnext/components/CartProvider/graphql/CartQuery.js +1 -0
- package/dist/esnext/components/CartProvider/hooks.d.ts +18 -0
- package/dist/esnext/components/CartProvider/hooks.js +79 -0
- package/dist/esnext/components/CartProvider/index.d.ts +4 -0
- package/dist/esnext/components/CartProvider/index.js +4 -0
- package/dist/esnext/components/CartProvider/types.d.ts +105 -0
- package/dist/esnext/components/CartProvider/types.js +1 -0
- package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.d.ts +2 -0
- package/dist/esnext/components/CartShopPayButton/CartShopPayButton.client.js +10 -0
- package/dist/esnext/components/CartShopPayButton/index.d.ts +1 -0
- package/dist/esnext/components/CartShopPayButton/index.js +1 -0
- package/dist/esnext/components/CartToggle/CartToggle.client.d.ts +8 -0
- package/dist/esnext/components/CartToggle/CartToggle.client.js +11 -0
- package/dist/esnext/components/CartToggle/index.d.ts +1 -0
- package/dist/esnext/components/CartToggle/index.js +1 -0
- package/dist/esnext/components/CartTotal/CartTotal.client.d.ts +3 -0
- package/dist/esnext/components/CartTotal/CartTotal.client.js +8 -0
- package/dist/esnext/components/CartTotal/index.d.ts +1 -0
- package/dist/esnext/components/CartTotal/index.js +1 -0
- package/dist/esnext/components/CartUIProvider/CartUIProvider.client.d.ts +5 -0
- package/dist/esnext/components/CartUIProvider/CartUIProvider.client.js +26 -0
- package/dist/esnext/components/CartUIProvider/context.d.ts +9 -0
- package/dist/esnext/components/CartUIProvider/context.js +2 -0
- package/dist/esnext/components/CartUIProvider/hooks.d.ts +1 -0
- package/dist/esnext/components/CartUIProvider/hooks.js +9 -0
- package/dist/esnext/components/CartUIProvider/index.d.ts +2 -0
- package/dist/esnext/components/CartUIProvider/index.js +2 -0
- package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +14 -0
- package/dist/esnext/components/ExternalVideo/ExternalVideo.js +9 -0
- package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.d.ts +4 -0
- package/dist/esnext/components/ExternalVideo/ExternalVideoFragment.js +1 -0
- package/dist/esnext/components/ExternalVideo/index.d.ts +1 -0
- package/dist/esnext/components/ExternalVideo/index.js +1 -0
- package/dist/esnext/components/Image/Image.d.ts +14 -0
- package/dist/esnext/components/Image/Image.js +10 -0
- package/dist/esnext/components/Image/ImageFragment.d.ts +4 -0
- package/dist/esnext/components/Image/ImageFragment.js +1 -0
- package/dist/esnext/components/Image/index.d.ts +1 -0
- package/dist/esnext/components/Image/index.js +1 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.d.ts +6 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +14 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.d.ts +8 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationContext.client.js +2 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +4 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +8 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationQuery.d.ts +18 -0
- package/dist/esnext/components/LocalizationProvider/LocalizationQuery.js +1 -0
- package/dist/esnext/components/LocalizationProvider/hooks.d.ts +8 -0
- package/dist/esnext/components/LocalizationProvider/hooks.js +17 -0
- package/dist/esnext/components/LocalizationProvider/index.d.ts +2 -0
- package/dist/esnext/components/LocalizationProvider/index.js +2 -0
- package/dist/esnext/components/MediaFile/MediaFile.d.ts +19 -0
- package/dist/esnext/components/MediaFile/MediaFile.js +22 -0
- package/dist/esnext/components/MediaFile/MediaFileFragment.d.ts +22 -0
- package/dist/esnext/components/MediaFile/MediaFileFragment.js +1 -0
- package/dist/esnext/components/MediaFile/index.d.ts +1 -0
- package/dist/esnext/components/MediaFile/index.js +1 -0
- package/dist/esnext/components/Metafield/Metafield.client.d.ts +8 -0
- package/dist/esnext/components/Metafield/Metafield.client.js +50 -0
- package/dist/esnext/components/Metafield/MetafieldFragment.d.ts +4 -0
- package/dist/esnext/components/Metafield/MetafieldFragment.js +1 -0
- package/dist/esnext/components/Metafield/components/StarRating/StarRating.d.ts +12 -0
- package/dist/esnext/components/Metafield/components/StarRating/StarRating.js +48 -0
- package/dist/esnext/components/Metafield/components/StarRating/index.d.ts +1 -0
- package/dist/esnext/components/Metafield/components/StarRating/index.js +1 -0
- package/dist/esnext/components/Metafield/components/index.d.ts +1 -0
- package/dist/esnext/components/Metafield/components/index.js +1 -0
- package/dist/esnext/components/Metafield/index.d.ts +3 -0
- package/dist/esnext/components/Metafield/index.js +1 -0
- package/dist/esnext/components/Metafield/types.d.ts +4 -0
- package/dist/esnext/components/Metafield/types.js +1 -0
- package/dist/esnext/components/Model3D/Model3D.client.d.ts +25 -0
- package/dist/esnext/components/Model3D/Model3D.client.js +30 -0
- package/dist/esnext/components/Model3D/Model3DFragment.d.ts +11 -0
- package/dist/esnext/components/Model3D/Model3DFragment.js +1 -0
- package/dist/esnext/components/Model3D/index.d.ts +1 -0
- package/dist/esnext/components/Model3D/index.js +1 -0
- package/dist/esnext/components/Money/Money.client.d.ts +7 -0
- package/dist/esnext/components/Money/Money.client.js +10 -0
- package/dist/esnext/components/Money/index.d.ts +1 -0
- package/dist/esnext/components/Money/index.js +1 -0
- package/dist/esnext/components/ProductDescription/ProductDescription.client.d.ts +3 -0
- package/dist/esnext/components/ProductDescription/ProductDescription.client.js +10 -0
- package/dist/esnext/components/ProductDescription/index.d.ts +1 -0
- package/dist/esnext/components/ProductDescription/index.js +1 -0
- package/dist/esnext/components/ProductMetafield/ProductMetafield.client.d.ts +7 -0
- package/dist/esnext/components/ProductMetafield/ProductMetafield.client.js +16 -0
- package/dist/esnext/components/ProductMetafield/index.d.ts +1 -0
- package/dist/esnext/components/ProductMetafield/index.js +1 -0
- package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +7 -0
- package/dist/esnext/components/ProductPrice/ProductPrice.client.js +32 -0
- package/dist/esnext/components/ProductPrice/index.d.ts +1 -0
- package/dist/esnext/components/ProductPrice/index.js +1 -0
- package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +7 -0
- package/dist/esnext/components/ProductProvider/ProductProvider.client.js +35 -0
- package/dist/esnext/components/ProductProvider/ProductProviderFragment.d.ts +96 -0
- package/dist/esnext/components/ProductProvider/ProductProviderFragment.js +1 -0
- package/dist/esnext/components/ProductProvider/context.d.ts +13 -0
- package/dist/esnext/components/ProductProvider/context.js +2 -0
- package/dist/esnext/components/ProductProvider/hooks.d.ts +1 -0
- package/dist/esnext/components/ProductProvider/hooks.js +6 -0
- package/dist/esnext/components/ProductProvider/index.d.ts +2 -0
- package/dist/esnext/components/ProductProvider/index.js +2 -0
- package/dist/esnext/components/ProductProvider/types.d.ts +5 -0
- package/dist/esnext/components/ProductProvider/types.js +1 -0
- package/dist/esnext/components/ProductTitle/ProductTitle.client.d.ts +3 -0
- package/dist/esnext/components/ProductTitle/ProductTitle.client.js +11 -0
- package/dist/esnext/components/ProductTitle/index.d.ts +1 -0
- package/dist/esnext/components/ProductTitle/index.js +1 -0
- package/dist/esnext/components/RawHtml/RawHtml.d.ts +7 -0
- package/dist/esnext/components/RawHtml/RawHtml.js +13 -0
- package/dist/esnext/components/RawHtml/index.d.ts +1 -0
- package/dist/esnext/components/RawHtml/index.js +1 -0
- package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.d.ts +6 -0
- package/dist/esnext/components/SelectedVariantAddToCartButton/SelectedVariantAddToCartButton.client.js +12 -0
- package/dist/esnext/components/SelectedVariantAddToCartButton/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantAddToCartButton/index.js +1 -0
- package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.d.ts +4 -0
- package/dist/esnext/components/SelectedVariantBuyNowButton/SelectedVariantBuyNowButton.js +12 -0
- package/dist/esnext/components/SelectedVariantBuyNowButton/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantBuyNowButton/index.js +1 -0
- package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.d.ts +6 -0
- package/dist/esnext/components/SelectedVariantImage/SelectedVariantImage.client.js +12 -0
- package/dist/esnext/components/SelectedVariantImage/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantImage/index.js +1 -0
- package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.d.ts +7 -0
- package/dist/esnext/components/SelectedVariantMetafield/SelectedVariantMetafield.client.js +15 -0
- package/dist/esnext/components/SelectedVariantMetafield/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantMetafield/index.js +1 -0
- package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.d.ts +6 -0
- package/dist/esnext/components/SelectedVariantPrice/SelectedVariantPrice.client.js +18 -0
- package/dist/esnext/components/SelectedVariantPrice/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantPrice/index.js +1 -0
- package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.d.ts +2 -0
- package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.js +12 -0
- package/dist/esnext/components/SelectedVariantShopPayButton/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantShopPayButton/index.js +1 -0
- package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.d.ts +3 -0
- package/dist/esnext/components/SelectedVariantUnitPrice/SelectedVariantUnitPrice.client.js +12 -0
- package/dist/esnext/components/SelectedVariantUnitPrice/index.d.ts +1 -0
- package/dist/esnext/components/SelectedVariantUnitPrice/index.js +1 -0
- package/dist/esnext/components/ShopPayButton/ShopPayButton.client.d.ts +15 -0
- package/dist/esnext/components/ShopPayButton/ShopPayButton.client.js +32 -0
- package/dist/esnext/components/ShopPayButton/index.d.ts +1 -0
- package/dist/esnext/components/ShopPayButton/index.js +1 -0
- package/dist/esnext/components/UnitPrice/UnitPrice.client.d.ts +8 -0
- package/dist/esnext/components/UnitPrice/UnitPrice.client.js +16 -0
- package/dist/esnext/components/UnitPrice/index.d.ts +1 -0
- package/dist/esnext/components/UnitPrice/index.js +1 -0
- package/dist/esnext/components/Video/Video.d.ts +13 -0
- package/dist/esnext/components/Video/Video.js +8 -0
- package/dist/esnext/components/Video/VideoFragment.d.ts +11 -0
- package/dist/esnext/components/Video/VideoFragment.js +1 -0
- package/dist/esnext/components/Video/index.d.ts +1 -0
- package/dist/esnext/components/Video/index.js +1 -0
- package/dist/esnext/components/index.d.ts +41 -0
- package/dist/esnext/components/index.js +87 -0
- package/dist/esnext/components/types.d.ts +73 -0
- package/dist/esnext/components/types.js +10 -0
- package/dist/esnext/entry-client.d.ts +3 -0
- package/dist/esnext/entry-client.js +36 -0
- package/dist/esnext/entry-server.d.ts +3 -0
- package/dist/esnext/entry-server.js +286 -0
- package/dist/esnext/foundation/ClientMarker/ClientMarker.d.ts +10 -0
- package/dist/esnext/foundation/ClientMarker/ClientMarker.js +25 -0
- package/dist/esnext/foundation/ClientMarker/index.d.ts +1 -0
- package/dist/esnext/foundation/ClientMarker/index.js +1 -0
- package/dist/esnext/foundation/Hydration/Cache.client.d.ts +9 -0
- package/dist/esnext/foundation/Hydration/Cache.client.js +131 -0
- package/dist/esnext/foundation/Hydration/ClientComponents.server.d.ts +13 -0
- package/dist/esnext/foundation/Hydration/ClientComponents.server.js +18 -0
- package/dist/esnext/foundation/Hydration/Html.d.ts +5 -0
- package/dist/esnext/foundation/Hydration/Html.js +9 -0
- package/dist/esnext/foundation/Hydration/HydrationContext.server.d.ts +1 -0
- package/dist/esnext/foundation/Hydration/HydrationContext.server.js +2 -0
- package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
- package/dist/esnext/foundation/Hydration/ServerComponentRequest.server.js +39 -0
- package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
- package/dist/esnext/foundation/Hydration/ServerComponentResponse.server.js +35 -0
- package/dist/esnext/foundation/Hydration/react-utils.d.ts +5 -0
- package/dist/esnext/foundation/Hydration/react-utils.js +55 -0
- package/dist/esnext/foundation/Hydration/wire.server.d.ts +4 -0
- package/dist/esnext/foundation/Hydration/wire.server.js +75 -0
- package/dist/esnext/foundation/Hydration/writer.server.d.ts +14 -0
- package/dist/esnext/foundation/Hydration/writer.server.js +29 -0
- package/dist/esnext/foundation/Router/DefaultRoutes.d.ts +20 -0
- package/dist/esnext/foundation/Router/DefaultRoutes.js +54 -0
- package/dist/esnext/foundation/Router/ServerStateRouter.client.d.ts +6 -0
- package/dist/esnext/foundation/Router/ServerStateRouter.client.js +27 -0
- package/dist/esnext/foundation/Router/index.d.ts +1 -0
- package/dist/esnext/foundation/Router/index.js +1 -0
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.d.ts +11 -0
- package/dist/esnext/foundation/ServerStateProvider/ServerStateProvider.client.js +48 -0
- package/dist/esnext/foundation/ServerStateProvider/index.d.ts +1 -0
- package/dist/esnext/foundation/ServerStateProvider/index.js +1 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.d.ts +1 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyContext.js +2 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.d.ts +3 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyProvider.js +11 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +8 -0
- package/dist/esnext/foundation/ShopifyProvider/ShopifyServerProvider.server.js +7 -0
- package/dist/esnext/foundation/ShopifyProvider/hooks.d.ts +2 -0
- package/dist/esnext/foundation/ShopifyProvider/hooks.js +9 -0
- package/dist/esnext/foundation/ShopifyProvider/index.d.ts +2 -0
- package/dist/esnext/foundation/ShopifyProvider/index.js +2 -0
- package/dist/esnext/foundation/ShopifyProvider/types.d.ts +12 -0
- package/dist/esnext/foundation/ShopifyProvider/types.js +1 -0
- package/dist/esnext/foundation/index.d.ts +4 -0
- package/dist/esnext/foundation/index.js +4 -0
- package/dist/esnext/framework/graphiql.d.ts +1 -0
- package/dist/esnext/framework/graphiql.js +39 -0
- package/dist/esnext/framework/middleware.d.ts +17 -0
- package/dist/esnext/framework/middleware.js +116 -0
- package/dist/esnext/framework/plugin.d.ts +3 -0
- package/dist/esnext/framework/plugin.js +14 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +43 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +4 -0
- package/dist/esnext/framework/plugins/vite-plugin-hydrogen-middleware.js +28 -0
- package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.d.ts +3 -0
- package/dist/esnext/framework/plugins/vite-plugin-react-server-components-shim.js +123 -0
- package/dist/esnext/framework/server-components.d.ts +12 -0
- package/dist/esnext/framework/server-components.js +72 -0
- package/dist/esnext/graphql/graphql-constants.d.ts +1295 -0
- package/dist/esnext/graphql/graphql-constants.js +2482 -0
- package/dist/esnext/graphql/types/types.d.ts +5583 -0
- package/dist/esnext/graphql/types/types.js +1414 -0
- package/dist/esnext/handle-event.d.ts +20 -0
- package/dist/esnext/handle-event.js +140 -0
- package/dist/esnext/handle-worker-event.d.ts +11 -0
- package/dist/esnext/handle-worker-event.js +14 -0
- package/dist/esnext/hooks/index.d.ts +5 -0
- package/dist/esnext/hooks/index.js +5 -0
- package/dist/esnext/hooks/useMeasurement/hooks.d.ts +9 -0
- package/dist/esnext/hooks/useMeasurement/hooks.js +13 -0
- package/dist/esnext/hooks/useMeasurement/index.d.ts +1 -0
- package/dist/esnext/hooks/useMeasurement/index.js +1 -0
- package/dist/esnext/hooks/useMoney/hooks.d.ts +11 -0
- package/dist/esnext/hooks/useMoney/hooks.js +33 -0
- package/dist/esnext/hooks/useMoney/index.d.ts +1 -0
- package/dist/esnext/hooks/useMoney/index.js +1 -0
- package/dist/esnext/hooks/useParsedMetafields/hooks.d.ts +3 -0
- package/dist/esnext/hooks/useParsedMetafields/hooks.js +15 -0
- package/dist/esnext/hooks/useParsedMetafields/index.d.ts +1 -0
- package/dist/esnext/hooks/useParsedMetafields/index.js +1 -0
- package/dist/esnext/hooks/useProductOptions/helpers.d.ts +4 -0
- package/dist/esnext/hooks/useProductOptions/helpers.js +33 -0
- package/dist/esnext/hooks/useProductOptions/index.d.ts +2 -0
- package/dist/esnext/hooks/useProductOptions/index.js +2 -0
- package/dist/esnext/hooks/useProductOptions/types.d.ts +50 -0
- package/dist/esnext/hooks/useProductOptions/types.js +1 -0
- package/dist/esnext/hooks/useProductOptions/useProductOptions.d.ts +23 -0
- package/dist/esnext/hooks/useProductOptions/useProductOptions.js +84 -0
- package/dist/esnext/hooks/useQuery/QueryProvider.d.ts +6 -0
- package/dist/esnext/hooks/useQuery/QueryProvider.js +13 -0
- package/dist/esnext/hooks/useQuery/hooks.d.ts +12 -0
- package/dist/esnext/hooks/useQuery/hooks.js +28 -0
- package/dist/esnext/hooks/useQuery/index.d.ts +2 -0
- package/dist/esnext/hooks/useQuery/index.js +2 -0
- package/dist/esnext/hooks/useShopQuery/hooks.d.ts +9 -0
- package/dist/esnext/hooks/useShopQuery/hooks.js +34 -0
- package/dist/esnext/hooks/useShopQuery/index.d.ts +1 -0
- package/dist/esnext/hooks/useShopQuery/index.js +1 -0
- package/dist/esnext/index.d.ts +9 -0
- package/dist/esnext/index.js +11 -0
- package/dist/esnext/types.d.ts +62 -0
- package/dist/esnext/types.js +1 -0
- package/dist/esnext/utilities/connections.d.ts +2 -0
- package/dist/esnext/utilities/connections.js +4 -0
- package/dist/esnext/utilities/environment.d.ts +2 -0
- package/dist/esnext/utilities/environment.js +2 -0
- package/dist/esnext/utilities/image_size.d.ts +17 -0
- package/dist/esnext/utilities/image_size.js +45 -0
- package/dist/esnext/utilities/index.d.ts +8 -0
- package/dist/esnext/utilities/index.js +8 -0
- package/dist/esnext/utilities/meaurement.d.ts +3 -0
- package/dist/esnext/utilities/meaurement.js +98 -0
- package/dist/esnext/utilities/metafields.d.ts +2 -0
- package/dist/esnext/utilities/metafields.js +32 -0
- package/dist/esnext/utilities/script_loader.d.ts +3 -0
- package/dist/esnext/utilities/script_loader.js +23 -0
- package/dist/esnext/utilities/suspense.d.ts +7 -0
- package/dist/esnext/utilities/suspense.js +32 -0
- package/dist/esnext/utilities/video_parameters.d.ts +47 -0
- package/dist/esnext/utilities/video_parameters.js +22 -0
- package/dist/esnext/version.d.ts +1 -0
- package/dist/esnext/version.js +1 -0
- package/dist/node/foundation/ClientMarker/ClientMarker.d.ts +10 -0
- package/dist/node/foundation/ClientMarker/ClientMarker.js +48 -0
- package/dist/node/foundation/ClientMarker/index.d.ts +1 -0
- package/dist/node/foundation/ClientMarker/index.js +13 -0
- package/dist/node/foundation/Hydration/HydrationContext.server.d.ts +1 -0
- package/dist/node/foundation/Hydration/HydrationContext.server.js +5 -0
- package/dist/node/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
- package/dist/node/foundation/Hydration/ServerComponentRequest.server.js +43 -0
- package/dist/node/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
- package/dist/node/foundation/Hydration/ServerComponentResponse.server.js +39 -0
- package/dist/node/foundation/Hydration/react-utils.d.ts +5 -0
- package/dist/node/foundation/Hydration/react-utils.js +63 -0
- package/dist/node/foundation/Router/DefaultRoutes.d.ts +20 -0
- package/dist/node/foundation/Router/DefaultRoutes.js +78 -0
- package/dist/node/foundation/Router/index.d.ts +1 -0
- package/dist/node/foundation/Router/index.js +5 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyContext.d.ts +1 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyContext.js +5 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyProvider.d.ts +3 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyProvider.js +34 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.d.ts +8 -0
- package/dist/node/foundation/ShopifyProvider/ShopifyServerProvider.server.js +14 -0
- package/dist/node/foundation/ShopifyProvider/hooks.d.ts +2 -0
- package/dist/node/foundation/ShopifyProvider/hooks.js +13 -0
- package/dist/node/foundation/ShopifyProvider/index.d.ts +2 -0
- package/dist/node/foundation/ShopifyProvider/index.js +8 -0
- package/dist/node/foundation/ShopifyProvider/types.d.ts +12 -0
- package/dist/node/foundation/ShopifyProvider/types.js +2 -0
- package/dist/node/foundation/index.d.ts +4 -0
- package/dist/node/foundation/index.js +13 -0
- package/dist/node/framework/graphiql.d.ts +1 -0
- package/dist/node/framework/graphiql.js +43 -0
- package/dist/node/framework/middleware.d.ts +17 -0
- package/dist/node/framework/middleware.js +141 -0
- package/dist/node/framework/plugin.d.ts +3 -0
- package/dist/node/framework/plugin.js +19 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-config.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +45 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.d.ts +4 -0
- package/dist/node/framework/plugins/vite-plugin-hydrogen-middleware.js +33 -0
- package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.d.ts +3 -0
- package/dist/node/framework/plugins/vite-plugin-react-server-components-shim.js +128 -0
- package/dist/node/framework/server-components.d.ts +12 -0
- package/dist/node/framework/server-components.js +77 -0
- package/dist/node/graphql/types/types.d.ts +5583 -0
- package/dist/node/graphql/types/types.js +1417 -0
- package/dist/node/handle-event.d.ts +20 -0
- package/dist/node/handle-event.js +143 -0
- package/dist/node/hooks/useQuery/QueryProvider.d.ts +6 -0
- package/dist/node/hooks/useQuery/QueryProvider.js +20 -0
- package/dist/node/hooks/useQuery/hooks.d.ts +12 -0
- package/dist/node/hooks/useQuery/hooks.js +32 -0
- package/dist/node/hooks/useQuery/index.d.ts +2 -0
- package/dist/node/hooks/useQuery/index.js +14 -0
- package/dist/node/types.d.ts +62 -0
- package/dist/node/types.js +2 -0
- package/dist/worker/foundation/Hydration/ServerComponentRequest.server.d.ts +13 -0
- package/dist/worker/foundation/Hydration/ServerComponentRequest.server.js +39 -0
- package/dist/worker/foundation/Hydration/ServerComponentResponse.server.d.ts +18 -0
- package/dist/worker/foundation/Hydration/ServerComponentResponse.server.js +35 -0
- package/dist/worker/graphql/types/types.d.ts +5583 -0
- package/dist/worker/graphql/types/types.js +1414 -0
- package/dist/worker/handle-event.d.ts +20 -0
- package/dist/worker/handle-event.js +140 -0
- package/dist/worker/handle-worker-event.d.ts +11 -0
- package/dist/worker/handle-worker-event.js +14 -0
- package/dist/worker/types.d.ts +62 -0
- package/dist/worker/types.js +1 -0
- package/entry-client.d.ts +1 -0
- package/entry-client.js +1 -0
- package/entry-server.d.ts +1 -0
- package/entry-server.js +1 -0
- package/marker.js +1 -0
- package/middleware.d.ts +1 -0
- package/middleware.js +1 -0
- package/package.json +98 -0
- package/plugin.d.ts +1 -0
- package/plugin.js +1 -0
- package/worker.js +1 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ProductProviderFragmentFragment } from './ProductProviderFragment';
|
|
2
|
+
export declare type Product = Omit<Partial<ProductProviderFragmentFragment>, 'compareAtPriceRange' | 'priceRange'> & {
|
|
3
|
+
compareAtPriceRange?: Partial<ProductProviderFragmentFragment['compareAtPriceRange']>;
|
|
4
|
+
priceRange?: Partial<ProductProviderFragmentFragment['priceRange']>;
|
|
5
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useProduct } from '../ProductProvider';
|
|
3
|
+
export function ProductTitle(props) {
|
|
4
|
+
const product = useProduct();
|
|
5
|
+
if (product == null) {
|
|
6
|
+
throw new Error('Expected a ProductProvider context, but none was found');
|
|
7
|
+
}
|
|
8
|
+
const { as, ...passthroughProps } = props;
|
|
9
|
+
const Wrapper = as ? as : 'span';
|
|
10
|
+
return product.title ? (React.createElement(Wrapper, { ...passthroughProps }, product.title)) : null;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ProductTitle } from './ProductTitle.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ProductTitle } from './ProductTitle.client';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export function RawHtml(props) {
|
|
3
|
+
const { string, unsanitized, as, ...passthroughProps } = props;
|
|
4
|
+
const Wrapper = as !== null && as !== void 0 ? as : 'div';
|
|
5
|
+
const sanitizedString = React.useMemo(() => {
|
|
6
|
+
if (unsanitized || true) {
|
|
7
|
+
return string;
|
|
8
|
+
}
|
|
9
|
+
// TODO: Re-enable when we find a way to support Worker runtime
|
|
10
|
+
// return DOMPurify.sanitize(text, DOMPURIFY_CONFIG);
|
|
11
|
+
}, [string, unsanitized]);
|
|
12
|
+
return (React.createElement(Wrapper, { ...passthroughProps, dangerouslySetInnerHTML: { __html: sanitizedString } }));
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RawHtml, RawHtmlProps } from './RawHtml';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RawHtml } from './RawHtml';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AddToCartButtonProps } from '../AddToCartButton';
|
|
3
|
+
import { Props } from '../types';
|
|
4
|
+
declare type PropsWeControl = 'disabled';
|
|
5
|
+
export declare function SelectedVariantAddToCartButton<TTag extends React.ElementType = 'button'>(props: Props<TTag, PropsWeControl> & Omit<AddToCartButtonProps, 'variantID'>): JSX.Element;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useProduct } from '../ProductProvider';
|
|
3
|
+
import { AddToCartButton as CartButton, } from '../AddToCartButton';
|
|
4
|
+
export function SelectedVariantAddToCartButton(props) {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const product = useProduct();
|
|
7
|
+
if (product == null) {
|
|
8
|
+
throw new Error('Expected a Product context, but none was found');
|
|
9
|
+
}
|
|
10
|
+
const { children, quantity, attributes, ...passthroughProps } = props;
|
|
11
|
+
return (React.createElement(CartButton, { ...passthroughProps, variantID: (_b = (_a = product.selectedVariant) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '', quantity: quantity !== null && quantity !== void 0 ? quantity : 1, disabled: !product.selectedVariant, attributes: attributes }, children));
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantAddToCartButton } from './SelectedVariantAddToCartButton.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantAddToCartButton } from './SelectedVariantAddToCartButton.client';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
import { BuyNowButtonProps, BuyNowButtonPropsWeControl } from '../BuyNowButton';
|
|
3
|
+
import { Props } from '../types';
|
|
4
|
+
export declare function SelectedVariantBuyNowButton<TTag extends ElementType = 'button'>(props: Props<TTag, BuyNowButtonPropsWeControl> & Omit<BuyNowButtonProps, 'variantId'>): JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BuyNowButton, } from '../BuyNowButton';
|
|
3
|
+
import { useProduct } from '../ProductProvider';
|
|
4
|
+
export function SelectedVariantBuyNowButton(props) {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const product = useProduct();
|
|
7
|
+
if (product == null) {
|
|
8
|
+
throw new Error('Expected a Product context, but none was found');
|
|
9
|
+
}
|
|
10
|
+
const { children, quantity, attributes, ...passthroughProps } = props;
|
|
11
|
+
return (React.createElement(BuyNowButton, { quantity: quantity !== null && quantity !== void 0 ? quantity : 1, attributes: attributes, variantId: (_b = (_a = product.selectedVariant) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '', disabled: !product.selectedVariant, ...passthroughProps }, children));
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantBuyNowButton } from './SelectedVariantBuyNowButton';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantBuyNowButton } from './SelectedVariantBuyNowButton';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
import { Props } from '../types';
|
|
3
|
+
import { ImageSizeOptions } from '../../utilities';
|
|
4
|
+
export declare function SelectedVariantImage<TTag extends ElementType = 'img'>(props: Props<TTag> & {
|
|
5
|
+
options?: ImageSizeOptions;
|
|
6
|
+
}): JSX.Element | null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useProduct } from '../ProductProvider';
|
|
3
|
+
import { Image } from '../Image';
|
|
4
|
+
export function SelectedVariantImage(props) {
|
|
5
|
+
var _a;
|
|
6
|
+
const product = useProduct();
|
|
7
|
+
if (product == null) {
|
|
8
|
+
throw new Error('Expected a Product context, but none was found');
|
|
9
|
+
}
|
|
10
|
+
const { options, ...passthroughProps } = props;
|
|
11
|
+
return ((_a = product.selectedVariant) === null || _a === void 0 ? void 0 : _a.image) ? (React.createElement(Image, { image: product.selectedVariant.image, options: options, ...passthroughProps })) : null;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantImage } from './SelectedVariantImage.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantImage } from './SelectedVariantImage.client';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
import { Props } from '../types';
|
|
3
|
+
export interface SelectedVariantMetafieldProps {
|
|
4
|
+
keyName: string;
|
|
5
|
+
namespace: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function SelectedVariantMetafield<TTag extends ElementType>(props: Props<TTag> & SelectedVariantMetafieldProps): JSX.Element | null;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useProduct } from '../ProductProvider';
|
|
3
|
+
import { Metafield } from '../Metafield';
|
|
4
|
+
export function SelectedVariantMetafield(props) {
|
|
5
|
+
var _a, _b, _c, _d;
|
|
6
|
+
const product = useProduct();
|
|
7
|
+
if (product == null) {
|
|
8
|
+
throw new Error('Expected a Product context, but none was found');
|
|
9
|
+
}
|
|
10
|
+
const { keyName, namespace, ...passthroughProps } = props;
|
|
11
|
+
const metafield = (_d = (_c = (_b = (_a = product.selectedVariant) === null || _a === void 0 ? void 0 : _a.metafields) === null || _b === void 0 ? void 0 : _b.edges) === null || _c === void 0 ? void 0 : _c.find(({ node }) => {
|
|
12
|
+
return node.namespace === namespace && node.key === keyName;
|
|
13
|
+
})) === null || _d === void 0 ? void 0 : _d.node;
|
|
14
|
+
return metafield ? (React.createElement(Metafield, { metafield: metafield, ...passthroughProps })) : null;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantMetafield } from './SelectedVariantMetafield.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantMetafield } from './SelectedVariantMetafield.client';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
import { Props } from '../types';
|
|
3
|
+
export interface SelectedVariantPriceProps {
|
|
4
|
+
priceType?: 'regular' | 'compareAt';
|
|
5
|
+
}
|
|
6
|
+
export declare function SelectedVariantPrice<TTag extends ElementType>(props: Props<TTag> & SelectedVariantPriceProps): JSX.Element | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useProduct } from '../ProductProvider';
|
|
3
|
+
import { Money } from '../Money';
|
|
4
|
+
export function SelectedVariantPrice(props) {
|
|
5
|
+
const product = useProduct();
|
|
6
|
+
const { priceType = 'regular', ...passthroughProps } = props;
|
|
7
|
+
if (product == null) {
|
|
8
|
+
throw new Error('Expected a ProductProvider context, but none was found');
|
|
9
|
+
}
|
|
10
|
+
const selectedVariant = product.selectedVariant;
|
|
11
|
+
const price = priceType === 'regular'
|
|
12
|
+
? selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.priceV2
|
|
13
|
+
: selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.compareAtPriceV2;
|
|
14
|
+
if (price == null) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return (React.createElement(Money, { ...passthroughProps, money: price }, props.children));
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantPrice } from './SelectedVariantPrice.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantPrice } from './SelectedVariantPrice.client';
|
package/dist/esnext/components/SelectedVariantShopPayButton/SelectedVariantShopPayButton.client.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ShopPayButton } from '../ShopPayButton';
|
|
3
|
+
import { useProduct } from '../ProductProvider';
|
|
4
|
+
export function SelectedVariantShopPayButton({ className, }) {
|
|
5
|
+
var _a;
|
|
6
|
+
const product = useProduct();
|
|
7
|
+
if (product == null) {
|
|
8
|
+
throw new Error('Expected a ProductProvider context, but none was found');
|
|
9
|
+
}
|
|
10
|
+
const id = (_a = product === null || product === void 0 ? void 0 : product.selectedVariant) === null || _a === void 0 ? void 0 : _a.id;
|
|
11
|
+
return id ? React.createElement(ShopPayButton, { className: className, variantIds: [id] }) : null;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantShopPayButton } from './SelectedVariantShopPayButton.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantShopPayButton } from './SelectedVariantShopPayButton.client';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useProduct } from '../ProductProvider';
|
|
3
|
+
import { UnitPrice } from '../UnitPrice';
|
|
4
|
+
export function SelectedVariantUnitPrice(props) {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const product = useProduct();
|
|
7
|
+
if (product == null) {
|
|
8
|
+
throw new Error('Expected a ProductProvider context, but none was found');
|
|
9
|
+
}
|
|
10
|
+
return ((_a = product.selectedVariant) === null || _a === void 0 ? void 0 : _a.unitPrice) &&
|
|
11
|
+
((_b = product.selectedVariant) === null || _b === void 0 ? void 0 : _b.unitPriceMeasurement) ? (React.createElement(UnitPrice, { ...props, unitPrice: product.selectedVariant.unitPrice, unitPriceMeasurement: product.selectedVariant.unitPriceMeasurement })) : null;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantUnitPrice } from './SelectedVariantUnitPrice.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SelectedVariantUnitPrice } from './SelectedVariantUnitPrice.client';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface ShopPayButtonProps {
|
|
2
|
+
variantIds: string[];
|
|
3
|
+
className?: string;
|
|
4
|
+
}
|
|
5
|
+
declare global {
|
|
6
|
+
namespace JSX {
|
|
7
|
+
interface IntrinsicElements {
|
|
8
|
+
'shop-pay-button': {
|
|
9
|
+
variants: string;
|
|
10
|
+
'store-url': string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export declare function ShopPayButton({ variantIds, className }: ShopPayButtonProps): JSX.Element;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { useShop } from '../../foundation/ShopifyProvider';
|
|
3
|
+
import { loadScript } from '../../utilities';
|
|
4
|
+
const URL = 'https://cdn.shopify.com/shopifycloud/shop-js/v0.1/client.js';
|
|
5
|
+
export function ShopPayButton({ variantIds, className }) {
|
|
6
|
+
const [ids, setIds] = useState([]);
|
|
7
|
+
const [shopPayLoaded, setShopPayLoaded] = useState(false);
|
|
8
|
+
const { storeDomain } = useShop();
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const ids = variantIds.reduce((accumulator, gid) => {
|
|
11
|
+
const id = atob(gid).split('/').pop();
|
|
12
|
+
if (id) {
|
|
13
|
+
accumulator.push(id);
|
|
14
|
+
}
|
|
15
|
+
return accumulator;
|
|
16
|
+
}, []);
|
|
17
|
+
setIds(ids);
|
|
18
|
+
}, [variantIds]);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
async function loadShopPay() {
|
|
21
|
+
const loaded = await loadScript(URL, {
|
|
22
|
+
module: true,
|
|
23
|
+
});
|
|
24
|
+
if (!loaded) {
|
|
25
|
+
console.warn('shop-pay-button library did not load');
|
|
26
|
+
}
|
|
27
|
+
setShopPayLoaded(true);
|
|
28
|
+
}
|
|
29
|
+
loadShopPay();
|
|
30
|
+
}, []);
|
|
31
|
+
return (React.createElement("div", { className: className }, shopPayLoaded && (React.createElement("shop-pay-button", { "store-url": `https://${storeDomain}`, variants: ids.join(',') }))));
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ShopPayButton, ShopPayButtonProps } from './ShopPayButton.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ShopPayButton } from './ShopPayButton.client';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
import { Props } from '../types';
|
|
3
|
+
import { UnitPriceMeasurement, MoneyV2 } from '../../graphql/types/types';
|
|
4
|
+
export interface UnitPriceProps {
|
|
5
|
+
unitPrice: MoneyV2;
|
|
6
|
+
unitPriceMeasurement: UnitPriceMeasurement;
|
|
7
|
+
}
|
|
8
|
+
export declare function UnitPrice<TTag extends ElementType>(props: Props<TTag> & UnitPriceProps): JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useMoney } from '../../hooks';
|
|
3
|
+
import { Money } from '../Money';
|
|
4
|
+
export function UnitPrice(props) {
|
|
5
|
+
const { unitPrice, unitPriceMeasurement, children, as, ...passthroughProps } = props;
|
|
6
|
+
const Wrapper = as !== null && as !== void 0 ? as : 'div';
|
|
7
|
+
const unitPriceMoneyObject = useMoney(unitPrice);
|
|
8
|
+
const unitPriceAndMeasurementObject = {
|
|
9
|
+
...unitPriceMoneyObject,
|
|
10
|
+
...unitPriceMeasurement,
|
|
11
|
+
};
|
|
12
|
+
return (React.createElement(Wrapper, { ...passthroughProps }, typeof children === 'function' ? (children(unitPriceAndMeasurementObject)) : (React.createElement(React.Fragment, null,
|
|
13
|
+
React.createElement(Money, { money: unitPrice }),
|
|
14
|
+
"/",
|
|
15
|
+
unitPriceMeasurement.referenceUnit))));
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UnitPrice } from './UnitPrice.client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UnitPrice } from './UnitPrice.client';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Props } from '../types';
|
|
3
|
+
import { ImageSizeOptions } from '../../utilities';
|
|
4
|
+
import { Video as VideoType, VideoSource, Image } from '../../graphql/types/types';
|
|
5
|
+
export interface VideoProps {
|
|
6
|
+
video: {
|
|
7
|
+
id?: VideoType['id'];
|
|
8
|
+
previewImage?: Pick<Image, 'originalSrc'>;
|
|
9
|
+
sources: Pick<VideoSource, 'url' | 'mimeType'>[];
|
|
10
|
+
};
|
|
11
|
+
options?: ImageSizeOptions;
|
|
12
|
+
}
|
|
13
|
+
export declare function Video<TTag extends React.ElementType = 'video'>(props: Props<TTag> & VideoProps): JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useImageUrl } from '../../utilities';
|
|
3
|
+
export function Video(props) {
|
|
4
|
+
var _a;
|
|
5
|
+
const { video, options, id = video.id, playsInline = true, controls = true, ...passthroughProps } = props;
|
|
6
|
+
const posterUrl = useImageUrl((_a = video.previewImage) === null || _a === void 0 ? void 0 : _a.originalSrc, options);
|
|
7
|
+
return (React.createElement("video", { ...passthroughProps, id: id, playsInline: playsInline, controls: controls, poster: posterUrl }, video.sources.map((source) => (React.createElement("source", { key: source.url, src: source.url, type: source.mimeType })))));
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as Types from '../../graphql/types/types';
|
|
2
|
+
export declare type VideoFragmentFragment = {
|
|
3
|
+
__typename?: 'Video';
|
|
4
|
+
} & Pick<Types.Video, 'id'> & {
|
|
5
|
+
previewImage?: Types.Maybe<{
|
|
6
|
+
__typename?: 'Image';
|
|
7
|
+
} & Pick<Types.Image, 'originalSrc'>>;
|
|
8
|
+
sources: Array<{
|
|
9
|
+
__typename?: 'VideoSource';
|
|
10
|
+
} & Pick<Types.VideoSource, 'mimeType' | 'url'>>;
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Video, VideoProps } from './Video';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Video } from './Video';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export { Link } from 'react-router-dom';
|
|
2
|
+
export * from './MediaFile';
|
|
3
|
+
export * from './Video';
|
|
4
|
+
export * from './Image';
|
|
5
|
+
export * from './ExternalVideo';
|
|
6
|
+
export * from './RawHtml';
|
|
7
|
+
export * from './AddToCartButton';
|
|
8
|
+
export * from './Model3D';
|
|
9
|
+
export * from './Money';
|
|
10
|
+
export * from './CartUIProvider';
|
|
11
|
+
export * from './CartToggle';
|
|
12
|
+
export * from './CartLineProvider';
|
|
13
|
+
export * from './CartLineImage';
|
|
14
|
+
export * from './CartLinePrice';
|
|
15
|
+
export * from './CartLineProductTitle';
|
|
16
|
+
export * from './CartLineQuantity';
|
|
17
|
+
export * from './CartLineQuantityAdjustButton';
|
|
18
|
+
export * from './CartLineAttributes';
|
|
19
|
+
export * from './CartLines';
|
|
20
|
+
export * from './CartContainer';
|
|
21
|
+
export * from './CartCheckoutButton';
|
|
22
|
+
export * from './CartShopPayButton';
|
|
23
|
+
export * from './CartTotal';
|
|
24
|
+
export * from './Metafield';
|
|
25
|
+
export * from './ProductProvider';
|
|
26
|
+
export * from './ProductDescription';
|
|
27
|
+
export * from './ProductTitle';
|
|
28
|
+
export * from './ProductPrice';
|
|
29
|
+
export * from './ProductMetafield';
|
|
30
|
+
export * from './SelectedVariantPrice';
|
|
31
|
+
export * from './SelectedVariantAddToCartButton';
|
|
32
|
+
export * from './SelectedVariantBuyNowButton';
|
|
33
|
+
export * from './SelectedVariantShopPayButton';
|
|
34
|
+
export * from './SelectedVariantUnitPrice';
|
|
35
|
+
export * from './SelectedVariantImage';
|
|
36
|
+
export * from './SelectedVariantMetafield';
|
|
37
|
+
export * from './BuyNowButton';
|
|
38
|
+
export * from './ShopPayButton';
|
|
39
|
+
export * from './CartProvider';
|
|
40
|
+
export declare const Product: Function & Record<string, any>;
|
|
41
|
+
export declare const CartLine: Function & Record<string, any>;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export { Link } from 'react-router-dom';
|
|
2
|
+
export * from './MediaFile';
|
|
3
|
+
export * from './Video';
|
|
4
|
+
export * from './Image';
|
|
5
|
+
export * from './ExternalVideo';
|
|
6
|
+
export * from './RawHtml';
|
|
7
|
+
export * from './AddToCartButton';
|
|
8
|
+
export * from './Model3D';
|
|
9
|
+
export * from './Money';
|
|
10
|
+
export * from './CartUIProvider';
|
|
11
|
+
export * from './CartToggle';
|
|
12
|
+
export * from './CartLineProvider';
|
|
13
|
+
export * from './CartLineImage';
|
|
14
|
+
export * from './CartLinePrice';
|
|
15
|
+
export * from './CartLineProductTitle';
|
|
16
|
+
export * from './CartLineQuantity';
|
|
17
|
+
export * from './CartLineQuantityAdjustButton';
|
|
18
|
+
export * from './CartLineAttributes';
|
|
19
|
+
export * from './CartLines';
|
|
20
|
+
export * from './CartContainer';
|
|
21
|
+
export * from './CartCheckoutButton';
|
|
22
|
+
export * from './CartShopPayButton';
|
|
23
|
+
export * from './CartTotal';
|
|
24
|
+
export * from './Metafield';
|
|
25
|
+
export * from './ProductProvider';
|
|
26
|
+
export * from './ProductDescription';
|
|
27
|
+
export * from './ProductTitle';
|
|
28
|
+
export * from './ProductPrice';
|
|
29
|
+
export * from './ProductMetafield';
|
|
30
|
+
export * from './SelectedVariantPrice';
|
|
31
|
+
export * from './SelectedVariantAddToCartButton';
|
|
32
|
+
export * from './SelectedVariantBuyNowButton';
|
|
33
|
+
export * from './SelectedVariantShopPayButton';
|
|
34
|
+
export * from './SelectedVariantUnitPrice';
|
|
35
|
+
export * from './SelectedVariantImage';
|
|
36
|
+
export * from './SelectedVariantMetafield';
|
|
37
|
+
export * from './BuyNowButton';
|
|
38
|
+
export * from './ShopPayButton';
|
|
39
|
+
export * from './CartProvider';
|
|
40
|
+
/**
|
|
41
|
+
* Provide namespaced aliases for the `Product` group.
|
|
42
|
+
*/
|
|
43
|
+
import { ProductProvider } from './ProductProvider';
|
|
44
|
+
import { ProductPrice } from './ProductPrice';
|
|
45
|
+
import { ProductDescription } from './ProductDescription';
|
|
46
|
+
import { ProductTitle } from './ProductTitle';
|
|
47
|
+
import { ProductMetafield } from './ProductMetafield';
|
|
48
|
+
import { SelectedVariantAddToCartButton } from './SelectedVariantAddToCartButton';
|
|
49
|
+
import { SelectedVariantBuyNowButton } from './SelectedVariantBuyNowButton';
|
|
50
|
+
import { SelectedVariantShopPayButton } from './SelectedVariantShopPayButton';
|
|
51
|
+
import { SelectedVariantImage } from './SelectedVariantImage';
|
|
52
|
+
import { SelectedVariantPrice } from './SelectedVariantPrice';
|
|
53
|
+
import { SelectedVariantUnitPrice } from './SelectedVariantUnitPrice';
|
|
54
|
+
import { SelectedVariantMetafield } from './SelectedVariantMetafield';
|
|
55
|
+
export const Product = ProductProvider;
|
|
56
|
+
Product.Description = ProductDescription;
|
|
57
|
+
Product.Price = ProductPrice;
|
|
58
|
+
Product.Title = ProductTitle;
|
|
59
|
+
Product.Metafield = ProductMetafield;
|
|
60
|
+
Product.SelectedVariant = {
|
|
61
|
+
AddToCartButton: SelectedVariantAddToCartButton,
|
|
62
|
+
BuyNowButton: SelectedVariantBuyNowButton,
|
|
63
|
+
ShopPayButton: SelectedVariantShopPayButton,
|
|
64
|
+
Price: SelectedVariantPrice,
|
|
65
|
+
Image: SelectedVariantImage,
|
|
66
|
+
UnitPrice: SelectedVariantUnitPrice,
|
|
67
|
+
Metafield: SelectedVariantMetafield,
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Provide namespaced aliases for the `CartLine` group.
|
|
71
|
+
*/
|
|
72
|
+
import { CartLineProvider } from './CartLineProvider';
|
|
73
|
+
import { CartLineImage } from './CartLineImage';
|
|
74
|
+
import { CartLinePrice } from './CartLinePrice';
|
|
75
|
+
import { CartLineProductTitle } from './CartLineProductTitle';
|
|
76
|
+
import { CartLineQuantity } from './CartLineQuantity';
|
|
77
|
+
import { CartLineQuantityAdjustButton } from './CartLineQuantityAdjustButton';
|
|
78
|
+
import { CartLineSelectedOptions } from './CartLineSelectedOptions';
|
|
79
|
+
import { CartLineAttributes } from './CartLineAttributes';
|
|
80
|
+
export const CartLine = CartLineProvider;
|
|
81
|
+
CartLine.Image = CartLineImage;
|
|
82
|
+
CartLine.Price = CartLinePrice;
|
|
83
|
+
CartLine.ProductTitle = CartLineProductTitle;
|
|
84
|
+
CartLine.Quantity = CartLineQuantity;
|
|
85
|
+
CartLine.QuantityAdjustButton = CartLineQuantityAdjustButton;
|
|
86
|
+
CartLine.SelectedOptions = CartLineSelectedOptions;
|
|
87
|
+
CartLine.Attributes = CartLineAttributes;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ReactNode, ElementType, ComponentProps, ReactElement } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Inspired by HeadlessUI
|
|
4
|
+
* @see https://github.com/tailwindlabs/headlessui/blob/6a01c54b15bc0291af737dfc2a225dca88f3fa55/packages/@headlessui-react/src/types.ts#L11-L13
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Used as a default value for TOmitableProps. Actual values will be element props
|
|
8
|
+
* we control e.g. `value` which we don't want developers to set on a component.
|
|
9
|
+
*/
|
|
10
|
+
declare const __: "__";
|
|
11
|
+
declare type __ = typeof __;
|
|
12
|
+
/**
|
|
13
|
+
* This helper type pulls the ComponentProps from a given `TTag` element. This is
|
|
14
|
+
* nice because it smartly pulls props from native HTML elements in addition to
|
|
15
|
+
* React components.
|
|
16
|
+
*/
|
|
17
|
+
declare type PropsOf<TTag = any> = TTag extends ElementType ? ComponentProps<TTag> : never;
|
|
18
|
+
/**
|
|
19
|
+
* This is a "global" list of props we are always going to control, meaning
|
|
20
|
+
* we'll omit the original prop definition if it exists.
|
|
21
|
+
*/
|
|
22
|
+
declare type PropsWeControl = 'as' | 'children';
|
|
23
|
+
/**
|
|
24
|
+
* This is the "global" list of our props, similar to above. It is applied to
|
|
25
|
+
* every component using `Props`.
|
|
26
|
+
*/
|
|
27
|
+
declare type OurProps<TTag> = {
|
|
28
|
+
as?: TTag;
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
};
|
|
31
|
+
declare type CleanProps<TTag, TOmitableProps extends keyof any = __> = TOmitableProps extends __ ? Omit<PropsOf<TTag>, PropsWeControl> : Omit<PropsOf<TTag>, TOmitableProps | PropsWeControl>;
|
|
32
|
+
/**
|
|
33
|
+
* Props is a helper type which allows us to combine the base props of a given element `TTag`, combine "global" `OurProps`,
|
|
34
|
+
* and Omit props that we do not allow for the given component.
|
|
35
|
+
*
|
|
36
|
+
* ## How to use Props
|
|
37
|
+
*
|
|
38
|
+
* Think of it like a function!
|
|
39
|
+
* - The first arg, `TTag`, should extend `React.ElementType` and it might default to a native HTML element,
|
|
40
|
+
* like `input`.
|
|
41
|
+
* - The second arg, `TOmittableProps`, is optional. It is a string or union of strings that represent props
|
|
42
|
+
* that you do NOT allow in your component, because you overwrite them and control them yourself. One example
|
|
43
|
+
* of this is an `onClick` handler for e.g. a button.
|
|
44
|
+
*
|
|
45
|
+
* You can combine `Props` with your own type definition with & to define props for your component.
|
|
46
|
+
*
|
|
47
|
+
* Example:
|
|
48
|
+
*
|
|
49
|
+
* ```
|
|
50
|
+
* type MyProps = {
|
|
51
|
+
* customThing: string
|
|
52
|
+
* }
|
|
53
|
+
*
|
|
54
|
+
* type PropsWeControl = 'onClick'
|
|
55
|
+
*
|
|
56
|
+
* export function MyButton<TTag extends React.ElementType = 'button'>(props: Props<TTag, PropsWeControl> & MyProps) {
|
|
57
|
+
* const {customThing, children, ...passthroughProps} = props;
|
|
58
|
+
*
|
|
59
|
+
* return <button {...passthroughProps} onClick={() => {}}>{children}</button>
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
*/
|
|
64
|
+
export declare type Props<TTag, TOmitableProps extends keyof any = __> = CleanProps<TTag, TOmitableProps> & OurProps<TTag>;
|
|
65
|
+
/**
|
|
66
|
+
* While similar to `Props`, this props an additional second argument `TSlot` which represents the interface
|
|
67
|
+
* of the object passed to the callback via render props. Useful for headless components that expect render props.
|
|
68
|
+
*/
|
|
69
|
+
export declare type PropsWithSlot<TTag, TSlot = any, TOmitableProps extends keyof any = __> = CleanProps<TTag, TOmitableProps> & {
|
|
70
|
+
children?: ReactNode | ((props: TSlot) => ReactElement);
|
|
71
|
+
as?: TTag;
|
|
72
|
+
};
|
|
73
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inspired by HeadlessUI
|
|
3
|
+
* @see https://github.com/tailwindlabs/headlessui/blob/6a01c54b15bc0291af737dfc2a225dca88f3fa55/packages/@headlessui-react/src/types.ts#L11-L13
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Used as a default value for TOmitableProps. Actual values will be element props
|
|
7
|
+
* we control e.g. `value` which we don't want developers to set on a component.
|
|
8
|
+
*/
|
|
9
|
+
const __ = '__';
|
|
10
|
+
export {};
|