From 7fd6fe18ebb18339a776cb568370361de75720cf Mon Sep 17 00:00:00 2001 From: Laurel Thorburn Date: Thu, 26 Mar 2026 20:49:42 -0600 Subject: [PATCH 01/14] update gen docs and add public docs tags --- packages/hydrogen-react/src/ExternalVideo.tsx | 5 + packages/hydrogen-react/src/Image.tsx | 1 + packages/hydrogen-react/src/MediaFile.tsx | 6 + packages/hydrogen-react/src/ModelViewer.tsx | 7 +- packages/hydrogen-react/src/Money.doc.ts | 2 +- packages/hydrogen-react/src/Money.tsx | 5 + packages/hydrogen-react/src/RichText.tsx | 4 + packages/hydrogen-react/src/ShopPayButton.tsx | 7 +- packages/hydrogen-react/src/Video.tsx | 5 + .../hydrogen-react/src/analytics-types.ts | 4 + .../hydrogen-react/src/analytics-utils.ts | 1 + packages/hydrogen-react/src/analytics.ts | 5 + packages/hydrogen-react/src/cookies-utils.tsx | 1 + .../hydrogen-react/src/flatten-connection.ts | 9 + packages/hydrogen-react/src/load-script.tsx | 7 +- .../hydrogen-react/src/optionValueDecoder.ts | 6 + .../hydrogen-react/src/parse-metafield.ts | 1 + packages/hydrogen-react/src/tracking-utils.ts | 1 + packages/hydrogen-react/src/useMoney.tsx | 1 + .../hydrogen-react/src/useShopifyCookies.tsx | 1 + packages/hydrogen/docs/build-docs.sh | 12 +- .../docs/copy-docs-to-shopify-dev.mjs | 53 + .../generated/generated_docs_data_v2.json | 14383 ++++++++++++++++ packages/hydrogen/package.json | 2 +- .../analytics-manager/AnalyticsProvider.tsx | 12 + .../src/analytics-manager/AnalyticsView.tsx | 20 + .../hydrogen/src/cache/create-with-cache.ts | 4 + packages/hydrogen/src/cache/strategies.ts | 16 +- packages/hydrogen/src/cart/CartForm.tsx | 4 + .../hydrogen/src/cart/cartGetIdDefault.ts | 4 + .../hydrogen/src/cart/cartSetIdDefault.ts | 4 + .../hydrogen/src/cart/createCartHandler.ts | 4 + .../src/cart/optimistic/useOptimisticCart.tsx | 2 + .../queries/cartAttributesUpdateDefault.ts | 4 + .../queries/cartBuyerIdentityUpdateDefault.ts | 4 + .../src/cart/queries/cartCreateDefault.ts | 4 + .../cartDeliveryAddressesAddDefault.tsx | 1 + .../cartDeliveryAddressesRemoveDefault.tsx | 1 + .../cartDeliveryAddressesUpdateDefault.tsx | 1 + .../queries/cartDiscountCodesUpdateDefault.ts | 4 + .../src/cart/queries/cartGetDefault.ts | 4 + .../queries/cartGiftCardCodeUpdateDefault.ts | 1 + .../queries/cartGiftCardCodesRemoveDefault.ts | 4 + .../src/cart/queries/cartLinesAddDefault.ts | 4 + .../cart/queries/cartLinesRemoveDefault.ts | 4 + .../cart/queries/cartLinesUpdateDefault.ts | 4 + .../queries/cartMetafieldDeleteDefault.ts | 4 + .../cart/queries/cartMetafieldsSetDefault.ts | 4 + .../src/cart/queries/cartNoteUpdateDefault.ts | 4 + ...artSelectedDeliveryOptionsUpdateDefault.ts | 4 + .../hydrogen/src/createHydrogenContext.ts | 4 + packages/hydrogen/src/createRequestHandler.ts | 4 + packages/hydrogen/src/csp/Script.tsx | 8 + packages/hydrogen/src/csp/csp.ts | 6 + .../ShopifyCustomerPrivacy.tsx | 4 + packages/hydrogen/src/customer/types.ts | 1 + .../src/optimistic-ui/optimistic-ui.tsx | 8 + .../hydrogen/src/pagination/Pagination.ts | 3 + .../hydrogen/src/product/VariantSelector.ts | 6 + .../src/product/useOptimisticVariant.ts | 1 + packages/hydrogen/src/routing/graphiql.ts | 8 + packages/hydrogen/src/routing/redirect.ts | 1 + packages/hydrogen/src/seo/getSeoMeta.ts | 4 + packages/hydrogen/src/seo/seo.ts | 4 + packages/hydrogen/src/sitemap/sitemap.ts | 2 + packages/hydrogen/src/storefront.ts | 1 + pnpm-lock.yaml | 14 +- tsdoc.json | 9 + 68 files changed, 14726 insertions(+), 17 deletions(-) create mode 100644 packages/hydrogen/docs/copy-docs-to-shopify-dev.mjs create mode 100644 packages/hydrogen/docs/generated/generated_docs_data_v2.json create mode 100644 tsdoc.json diff --git a/packages/hydrogen-react/src/ExternalVideo.tsx b/packages/hydrogen-react/src/ExternalVideo.tsx index 6fc3b92654..72a58efdc3 100644 --- a/packages/hydrogen-react/src/ExternalVideo.tsx +++ b/packages/hydrogen-react/src/ExternalVideo.tsx @@ -2,6 +2,10 @@ import type {ExternalVideo as ExternalVideoType} from './storefront-api-types.js import type {Entries, PartialDeep} from 'type-fest'; import {forwardRef, IframeHTMLAttributes} from 'react'; +/** + * The `ExternalVideo` component renders an embedded video for the Storefront API's [ExternalVideo object](https://shopify.dev/api/storefront/reference/products/externalvideo). + * @publicDocs + */ export interface ExternalVideoBaseProps { /** * An object with fields that correspond to the Storefront API's [ExternalVideo object](https://shopify.dev/api/storefront/reference/products/externalvideo). @@ -23,6 +27,7 @@ export type ExternalVideoProps = Omit< /** * The `ExternalVideo` component renders an embedded video for the Storefront * API's [ExternalVideo object](https://shopify.dev/api/storefront/reference/products/externalvideo). + * @publicDocs */ export const ExternalVideo = forwardRef( (props, ref): JSX.Element => { diff --git a/packages/hydrogen-react/src/Image.tsx b/packages/hydrogen-react/src/Image.tsx index 3c4a04508e..da7272b66e 100644 --- a/packages/hydrogen-react/src/Image.tsx +++ b/packages/hydrogen-react/src/Image.tsx @@ -148,6 +148,7 @@ export const IMAGE_FRAGMENT = `#graphql * ``` * * {@link https://shopify.dev/docs/api/hydrogen-react/components/image} + * @publicDocs */ export const Image = React.forwardRef( ( diff --git a/packages/hydrogen-react/src/MediaFile.tsx b/packages/hydrogen-react/src/MediaFile.tsx index e6b5490455..c8d2ebe644 100644 --- a/packages/hydrogen-react/src/MediaFile.tsx +++ b/packages/hydrogen-react/src/MediaFile.tsx @@ -9,6 +9,10 @@ import type {ModelViewerElement} from '@google/model-viewer/lib/model-viewer.js' type BaseProps = React.HTMLAttributes< HTMLImageElement | HTMLVideoElement | HTMLIFrameElement | ModelViewerElement >; +/** + * MediaFile renders an `Image`, `Video`, `ExternalVideo`, or `ModelViewer` component. Use the `mediaOptions` prop to customize the props sent to each of these components. + * @publicDocs + */ export interface MediaFileProps extends BaseProps { /** An object with fields that correspond to the Storefront API's [Media object](https://shopify.dev/api/storefront/reference/products/media). */ data: PartialDeep; @@ -34,6 +38,8 @@ type MediaOptions = { * The `MediaFile` component renders the media for the Storefront API's * [Media object](https://shopify.dev/api/storefront/reference/products/media). It renders an `Image`, a * `Video`, an `ExternalVideo`, or a `ModelViewer` depending on the `__typename` of the `data` prop. + * Use the `mediaOptions` prop to customize the props sent to each of these components. + * @publicDocs */ export function MediaFile({ data, diff --git a/packages/hydrogen-react/src/ModelViewer.tsx b/packages/hydrogen-react/src/ModelViewer.tsx index f89099a17c..9b43268d69 100644 --- a/packages/hydrogen-react/src/ModelViewer.tsx +++ b/packages/hydrogen-react/src/ModelViewer.tsx @@ -22,7 +22,11 @@ type ModelViewerProps = Omit< > & ModelViewerBaseProps; -type ModelViewerBaseProps = { +/** + * The `ModelViewer` component renders a 3D model (with the `model-viewer` custom element) for the Storefront API's [Model3d object](https://shopify.dev/api/storefront/reference/products/model3d). The `model-viewer` custom element is lazily downloaded through a dynamically-injected `