@coveo/atomic-react 3.11.1 → 3.11.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"atomic-react.mjs","sources":["../../../src/components/commerce/components.ts","../../../src/components/commerce/CommerceInterfaceWrapper.tsx","../../../src/components/commerce/CommerceProductListWrapper.tsx","../../../src/components/commerce/CommerceRecommendationInterfaceWrapper.tsx","../../../src/components/commerce/CommerceRecommendationListWrapper.tsx"],"sourcesContent":["import {\n AtomicAriaLive as LitAtomicAriaLive,\n AtomicCommerceBreadbox as LitAtomicCommerceBreadbox,\n AtomicCommerceCategoryFacet as LitAtomicCommerceCategoryFacet,\n AtomicCommerceDidYouMean as LitAtomicCommerceDidYouMean,\n AtomicCommerceFacet as LitAtomicCommerceFacet,\n AtomicCommerceFacets as LitAtomicCommerceFacets,\n AtomicCommerceInterface as LitAtomicCommerceInterface,\n AtomicCommerceLayout as LitAtomicCommerceLayout,\n AtomicCommerceLoadMoreProducts as LitAtomicCommerceLoadMoreProducts,\n AtomicCommerceNoProducts as LitAtomicCommerceNoProducts,\n AtomicCommerceNumericFacet as LitAtomicCommerceNumericFacet,\n AtomicCommercePager as LitAtomicCommercePager,\n AtomicCommerceProductList as LitAtomicCommerceProductList,\n AtomicCommerceProductsPerPage as LitAtomicCommerceProductsPerPage,\n AtomicCommerceQueryError as LitAtomicCommerceQueryError,\n AtomicCommerceQuerySummary as LitAtomicCommerceQuerySummary,\n AtomicCommerceRecommendationInterface as LitAtomicCommerceRecommendationInterface,\n AtomicCommerceRecommendationList as LitAtomicCommerceRecommendationList,\n AtomicCommerceRefineModal as LitAtomicCommerceRefineModal,\n AtomicCommerceRefineToggle as LitAtomicCommerceRefineToggle,\n AtomicCommerceSearchBox as LitAtomicCommerceSearchBox,\n AtomicCommerceSearchBoxInstantProducts as LitAtomicCommerceSearchBoxInstantProducts,\n AtomicCommerceSearchBoxQuerySuggestions as LitAtomicCommerceSearchBoxQuerySuggestions,\n AtomicCommerceSearchBoxRecentQueries as LitAtomicCommerceSearchBoxRecentQueries,\n AtomicCommerceSortDropdown as LitAtomicCommerceSortDropdown,\n AtomicCommerceText as LitAtomicCommerceText,\n AtomicCommerceTimeframeFacet as LitAtomicCommerceTimeframeFacet,\n AtomicComponentError as LitAtomicComponentError,\n AtomicFocusTrap as LitAtomicFocusTrap,\n AtomicGeneratedAnswerFeedbackModal as LitAtomicGeneratedAnswerFeedbackModal,\n AtomicIcon as LitAtomicIcon,\n AtomicLayoutSection as LitAtomicLayoutSection,\n AtomicNumericRange as LitAtomicNumericRange,\n AtomicProduct as LitAtomicProduct,\n AtomicProductChildren as LitAtomicProductChildren,\n AtomicProductDescription as LitAtomicProductDescription,\n AtomicProductExcerpt as LitAtomicProductExcerpt,\n AtomicProductFieldCondition as LitAtomicProductFieldCondition,\n AtomicProductImage as LitAtomicProductImage,\n AtomicProductLink as LitAtomicProductLink,\n AtomicProductMultiValueText as LitAtomicProductMultiValueText,\n AtomicProductNumericFieldValue as LitAtomicProductNumericFieldValue,\n AtomicProductPrice as LitAtomicProductPrice,\n AtomicProductRating as LitAtomicProductRating,\n AtomicProductSectionActions as LitAtomicProductSectionActions,\n AtomicProductSectionBadges as LitAtomicProductSectionBadges,\n AtomicProductSectionBottomMetadata as LitAtomicProductSectionBottomMetadata,\n AtomicProductSectionChildren as LitAtomicProductSectionChildren,\n AtomicProductSectionDescription as LitAtomicProductSectionDescription,\n AtomicProductSectionEmphasized as LitAtomicProductSectionEmphasized,\n AtomicProductSectionMetadata as LitAtomicProductSectionMetadata,\n AtomicProductSectionName as LitAtomicProductSectionName,\n AtomicProductSectionVisual as LitAtomicProductSectionVisual,\n AtomicProductText as LitAtomicProductText,\n AtomicTimeframe as LitAtomicTimeframe,\n} from '@coveo/atomic/components';\nimport {createComponent} from '@lit/react';\nimport React from 'react';\n\nexport const AtomicAriaLive = /*@__PURE__*/ createComponent({\n tagName: 'atomic-aria-live',\n react: React,\n elementClass: LitAtomicAriaLive,\n});\n\nexport const AtomicCommerceBreadbox = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-breadbox',\n react: React,\n elementClass: LitAtomicCommerceBreadbox,\n});\n\nexport const AtomicCommerceCategoryFacet = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-category-facet',\n react: React,\n elementClass: LitAtomicCommerceCategoryFacet,\n});\n\nexport const AtomicCommerceDidYouMean = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-did-you-mean',\n react: React,\n elementClass: LitAtomicCommerceDidYouMean,\n});\n\nexport const AtomicCommerceFacet = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-facet',\n react: React,\n elementClass: LitAtomicCommerceFacet,\n});\n\nexport const AtomicCommerceFacets = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-facets',\n react: React,\n elementClass: LitAtomicCommerceFacets,\n});\n\nexport const AtomicCommerceInterface = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-interface',\n react: React,\n elementClass: LitAtomicCommerceInterface,\n});\n\nexport const AtomicCommerceLayout = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-layout',\n react: React,\n elementClass: LitAtomicCommerceLayout,\n});\n\nexport const AtomicCommerceLoadMoreProducts = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-load-more-products',\n react: React,\n elementClass: LitAtomicCommerceLoadMoreProducts,\n});\n\nexport const AtomicCommerceNoProducts = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-no-products',\n react: React,\n elementClass: LitAtomicCommerceNoProducts,\n});\n\nexport const AtomicCommerceNumericFacet = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-numeric-facet',\n react: React,\n elementClass: LitAtomicCommerceNumericFacet,\n});\n\nexport const AtomicCommercePager = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-pager',\n react: React,\n elementClass: LitAtomicCommercePager,\n});\n\nexport const AtomicCommerceProductList = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-product-list',\n react: React,\n elementClass: LitAtomicCommerceProductList,\n});\n\nexport const AtomicCommerceProductsPerPage = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-products-per-page',\n react: React,\n elementClass: LitAtomicCommerceProductsPerPage,\n});\n\nexport const AtomicCommerceQueryError = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-query-error',\n react: React,\n elementClass: LitAtomicCommerceQueryError,\n});\n\nexport const AtomicCommerceQuerySummary = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-query-summary',\n react: React,\n elementClass: LitAtomicCommerceQuerySummary,\n});\n\nexport const AtomicCommerceRecommendationInterface =\n /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-recommendation-interface',\n react: React,\n elementClass: LitAtomicCommerceRecommendationInterface,\n });\n\nexport const AtomicCommerceRecommendationList = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-recommendation-list',\n react: React,\n elementClass: LitAtomicCommerceRecommendationList,\n});\n\nexport const AtomicCommerceRefineModal = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-refine-modal',\n react: React,\n elementClass: LitAtomicCommerceRefineModal,\n});\n\nexport const AtomicCommerceRefineToggle = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-refine-toggle',\n react: React,\n elementClass: LitAtomicCommerceRefineToggle,\n});\n\nexport const AtomicCommerceSearchBox = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-search-box',\n react: React,\n elementClass: LitAtomicCommerceSearchBox,\n});\n\nexport const AtomicCommerceSearchBoxInstantProducts =\n /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-search-box-instant-products',\n react: React,\n elementClass: LitAtomicCommerceSearchBoxInstantProducts,\n });\n\nexport const AtomicCommerceSearchBoxQuerySuggestions =\n /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-search-box-query-suggestions',\n react: React,\n elementClass: LitAtomicCommerceSearchBoxQuerySuggestions,\n });\n\nexport const AtomicCommerceSearchBoxRecentQueries =\n /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-search-box-recent-queries',\n react: React,\n elementClass: LitAtomicCommerceSearchBoxRecentQueries,\n });\n\nexport const AtomicCommerceSortDropdown = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-sort-dropdown',\n react: React,\n elementClass: LitAtomicCommerceSortDropdown,\n});\n\nexport const AtomicCommerceText = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-text',\n react: React,\n elementClass: LitAtomicCommerceText,\n});\n\nexport const AtomicCommerceTimeframeFacet = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-timeframe-facet',\n react: React,\n elementClass: LitAtomicCommerceTimeframeFacet,\n});\n\nexport const AtomicComponentError = /*@__PURE__*/ createComponent({\n tagName: 'atomic-component-error',\n react: React,\n elementClass: LitAtomicComponentError,\n});\n\nexport const AtomicFocusTrap = /*@__PURE__*/ createComponent({\n tagName: 'atomic-focus-trap',\n react: React,\n elementClass: LitAtomicFocusTrap,\n});\n\nexport const AtomicGeneratedAnswerFeedbackModal = /*@__PURE__*/ createComponent(\n {\n tagName: 'atomic-generated-answer-feedback-modal',\n react: React,\n elementClass: LitAtomicGeneratedAnswerFeedbackModal,\n }\n);\n\nexport const AtomicIcon = /*@__PURE__*/ createComponent({\n tagName: 'atomic-icon',\n react: React,\n elementClass: LitAtomicIcon,\n});\n\nexport const AtomicLayoutSection = /*@__PURE__*/ createComponent({\n tagName: 'atomic-layout-section',\n react: React,\n elementClass: LitAtomicLayoutSection,\n});\n\nexport const AtomicNumericRange = /*@__PURE__*/ createComponent({\n tagName: 'atomic-numeric-range',\n react: React,\n elementClass: LitAtomicNumericRange,\n});\n\nexport const AtomicProduct = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product',\n react: React,\n elementClass: LitAtomicProduct,\n});\n\nexport const AtomicProductChildren = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-children',\n react: React,\n elementClass: LitAtomicProductChildren,\n});\n\nexport const AtomicProductDescription = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-description',\n react: React,\n elementClass: LitAtomicProductDescription,\n});\n\nexport const AtomicProductExcerpt = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-excerpt',\n react: React,\n elementClass: LitAtomicProductExcerpt,\n});\n\nexport const AtomicProductFieldCondition = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-field-condition',\n react: React,\n elementClass: LitAtomicProductFieldCondition,\n});\n\nexport const AtomicProductImage = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-image',\n react: React,\n elementClass: LitAtomicProductImage,\n});\n\nexport const AtomicProductLink = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-link',\n react: React,\n elementClass: LitAtomicProductLink,\n});\n\nexport const AtomicProductMultiValueText = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-multi-value-text',\n react: React,\n elementClass: LitAtomicProductMultiValueText,\n});\n\nexport const AtomicProductNumericFieldValue = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-numeric-field-value',\n react: React,\n elementClass: LitAtomicProductNumericFieldValue,\n});\n\nexport const AtomicProductPrice = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-price',\n react: React,\n elementClass: LitAtomicProductPrice,\n});\n\nexport const AtomicProductRating = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-rating',\n react: React,\n elementClass: LitAtomicProductRating,\n});\n\nexport const AtomicProductSectionActions = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-actions',\n react: React,\n elementClass: LitAtomicProductSectionActions,\n});\n\nexport const AtomicProductSectionBadges = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-badges',\n react: React,\n elementClass: LitAtomicProductSectionBadges,\n});\n\nexport const AtomicProductSectionBottomMetadata = /*@__PURE__*/ createComponent(\n {\n tagName: 'atomic-product-section-bottom-metadata',\n react: React,\n elementClass: LitAtomicProductSectionBottomMetadata,\n }\n);\n\nexport const AtomicProductSectionChildren = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-children',\n react: React,\n elementClass: LitAtomicProductSectionChildren,\n});\n\nexport const AtomicProductSectionDescription = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-description',\n react: React,\n elementClass: LitAtomicProductSectionDescription,\n});\n\nexport const AtomicProductSectionEmphasized = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-emphasized',\n react: React,\n elementClass: LitAtomicProductSectionEmphasized,\n});\n\nexport const AtomicProductSectionMetadata = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-metadata',\n react: React,\n elementClass: LitAtomicProductSectionMetadata,\n});\n\nexport const AtomicProductSectionName = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-name',\n react: React,\n elementClass: LitAtomicProductSectionName,\n});\n\nexport const AtomicProductSectionVisual = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-visual',\n react: React,\n elementClass: LitAtomicProductSectionVisual,\n});\n\nexport const AtomicProductText = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-text',\n react: React,\n elementClass: LitAtomicProductText,\n});\n\nexport const AtomicTimeframe = /*@__PURE__*/ createComponent({\n tagName: 'atomic-timeframe',\n react: React,\n elementClass: LitAtomicTimeframe,\n});\n","import type {i18n} from '@coveo/atomic';\n// biome-ignore lint/style/useImportType: <React is needed>\nimport React, {useEffect, useRef} from 'react';\nimport {AtomicCommerceInterface} from './components';\n\ntype AtomicCommerceInterfaceProps = React.ComponentProps<\n typeof AtomicCommerceInterface\n>;\n\ntype ExecuteRequest = AtomicCommerceInterfaceProps['executeFirstRequest'];\n\ninterface WrapperProps\n extends Omit<\n AtomicCommerceInterfaceProps,\n 'i18n' | 'pipeline' | 'searchHub'\n > {\n /**\n * An optional callback function that can be used to control the execution of the first request.\n *\n * If not provided, a default function will be used, which executes the first request immediately after initialization.\n */\n onReady?: (executeFirstRequest: ExecuteRequest) => Promise<void>;\n /**\n * An optional callback that lets you control the interface localization.\n *\n * The function receives the search interface 18n instance, which you can then modify (see [Localization](https://docs.coveo.com/en/atomic/latest/usage/atomic-localization/)).\n *\n */\n localization?: (i18n: i18n) => void;\n}\n\nconst DefaultProps: Required<Pick<WrapperProps, 'onReady' | 'localization'>> = {\n onReady: (executeFirstRequest) => {\n return executeFirstRequest ? executeFirstRequest() : Promise.resolve();\n },\n localization: () => {},\n};\n\n/**\n * This component serves as a wrapper for the core AtomicCommerceInterface.\n * @param props\n * @returns\n */\nexport const InterfaceWrapper = (\n props: React.PropsWithChildren<WrapperProps>\n) => {\n const mergedProps = {...DefaultProps, ...props};\n if (!mergedProps.engine) {\n throw new Error('The \"engine\" prop is required.');\n //TODO, maybe: provide a default engine\n }\n const {engine, localization, onReady, ...allOtherProps} = mergedProps;\n const interfaceRef =\n useRef<React.ElementRef<typeof AtomicCommerceInterface>>(null);\n let initialization: Promise<void> | null = null;\n\n useEffect(() => {\n const commerceInterfaceAtomic = interfaceRef.current!;\n if (!initialization) {\n initialization = commerceInterfaceAtomic.initializeWithEngine(engine);\n initialization.then(() => {\n localization(commerceInterfaceAtomic.i18n);\n onReady(\n commerceInterfaceAtomic.executeFirstRequest.bind(\n commerceInterfaceAtomic\n )\n );\n });\n }\n }, [engine, initialization, localization, onReady]);\n\n return (\n <AtomicCommerceInterface ref={interfaceRef} {...allOtherProps}>\n {props.children}\n </AtomicCommerceInterface>\n );\n};\n","import type {AtomicCommerceProductList} from '@coveo/atomic/components';\nimport type {Product} from '@coveo/headless/commerce';\nimport React, {type JSX, useEffect, useRef} from 'react';\nimport {flushSync} from 'react-dom';\nimport {createRoot} from 'react-dom/client';\nimport {\n AtomicProductLink,\n AtomicCommerceProductList as LitAtomicCommerceProductList,\n} from './components.js';\n\ninterface Template {\n contentTemplate: JSX.Element;\n linkTemplate: JSX.Element;\n}\n\ninterface AtomicCommerceProductListProps {\n /**\n * The spacing of various elements in the product list, including the gap between products, the gap between parts of a product, and the font sizes of different parts in a product.\n */\n density?: AtomicCommerceProductList['density'];\n /**\n * The desired layout to use when displaying products. Layouts affect how many products to display per row and how visually distinct they are from each other.\n */\n display?: AtomicCommerceProductList['display'];\n /**\n * The expected size of the image displayed for products.\n */\n imageSize?: AtomicCommerceProductList['imageSize'];\n /**\n * The desired number of placeholders to display while the product list is loading.\n */\n numberOfPlaceholders?: number;\n}\n\ninterface HTMLAtomicCommerceProductListElement\n extends AtomicCommerceProductList,\n HTMLElement {}\n\n// biome-ignore lint/correctness/noUnusedVariables: <>\nvar HTMLAtomicCommerceProductListElement: {\n prototype: HTMLAtomicCommerceProductListElement;\n new (): HTMLAtomicCommerceProductListElement;\n};\n\n/**\n * The properties of the AtomicCommerceProductList component\n */\ninterface WrapperProps extends AtomicCommerceProductListProps {\n /**\n * A template function that takes a result item and outputs its target rendering as a JSX element.\n * It can be used to conditionally render different type of result templates based on the properties of each result.\n */\n template: (result: Product) => JSX.Element | Template;\n}\n/**\n * This component serves as a wrapper for the core AtomicCommerceProductList.\n *\n * @param props\n * @returns\n */\nexport const ListWrapper: React.FC<WrapperProps> = (props) => {\n const {template, ...otherProps} = props;\n const commerceProductListRef =\n useRef<HTMLAtomicCommerceProductListElement>(null);\n useEffect(() => {\n commerceProductListRef.current?.setRenderFunction(\n (result, root, linkContainer) => {\n const templateResult = template(result as Product);\n if (isTemplate(templateResult)) {\n return renderTemplate(linkContainer, templateResult, root);\n } else {\n return renderJSXTemplate(\n linkContainer,\n root,\n templateResult,\n otherProps.display\n );\n }\n }\n );\n }, [otherProps.display, template]);\n return (\n <LitAtomicCommerceProductList\n ref={commerceProductListRef}\n {...otherProps}\n />\n );\n};\n\nconst isTemplate = (template: JSX.Element | Template): template is Template => {\n return (template as Template).linkTemplate !== undefined;\n};\n\nfunction renderJSXTemplate(\n linkContainer: HTMLElement | undefined,\n root: HTMLElement,\n templateResult: JSX.Element,\n display: WrapperProps['display']\n) {\n const contentRoot = createRoot(root);\n const linkRoot = linkContainer ? createRoot(linkContainer!) : null;\n flushSync(() => {\n contentRoot.render(templateResult);\n if (!linkRoot) {\n return;\n }\n display === 'grid'\n ? linkRoot.render(<AtomicProductLink></AtomicProductLink>)\n : // biome-ignore lint/complexity/noUselessFragments: <>\n linkRoot.render(<></>);\n });\n return root.innerHTML;\n}\n\nfunction renderTemplate(\n linkContainer: HTMLElement | undefined,\n templateResult: Template,\n root: HTMLElement\n) {\n const linkRoot = createRoot(linkContainer!);\n const contentRoot = createRoot(root);\n flushSync(() => {\n linkRoot.render(templateResult.linkTemplate);\n contentRoot.render(templateResult.contentTemplate);\n });\n return root.innerHTML;\n}\n","import type {i18n} from '@coveo/atomic';\n// biome-ignore lint/style/useImportType: <React is needed>\nimport React, {useEffect, useRef} from 'react';\nimport {AtomicCommerceRecommendationInterface} from './components.js';\n\ntype AtomicCommerceRecommendationInterfaceProps = React.ComponentProps<\n typeof AtomicCommerceRecommendationInterface\n>;\n\ninterface WrapperProps\n extends Omit<\n AtomicCommerceRecommendationInterfaceProps,\n 'i18n' | 'pipeline' | 'searchHub'\n > {\n /**\n * An optional callback that lets you control the interface localization.\n *\n * The function receives the search interface 18n instance, which you can then modify (see [Localization](https://docs.coveo.com/en/atomic/latest/usage/atomic-localization/)).\n *\n */\n localization?: (i18n: i18n) => void;\n}\nconst DefaultProps: Required<Pick<WrapperProps, 'localization'>> = {\n localization: () => {},\n};\n\n/**\n * This component serves as a wrapper for the core AtomicCommerceRecommendationInterface.\n * @param props\n * @returns\n */\nexport const InterfaceWrapper = (\n props: React.PropsWithChildren<WrapperProps>\n) => {\n const mergedProps = {...DefaultProps, ...props};\n if (!mergedProps.engine) {\n throw new Error('The \"engine\" prop is required.');\n }\n const {engine, localization, ...allOtherProps} = mergedProps;\n const interfaceRef =\n useRef<React.ElementRef<typeof AtomicCommerceRecommendationInterface>>(\n null\n );\n let initialization: Promise<void> | null = null;\n\n useEffect(() => {\n const CommerceRecommendationInterfaceAtomic = interfaceRef.current!;\n if (!initialization) {\n initialization =\n CommerceRecommendationInterfaceAtomic.initializeWithEngine(engine);\n initialization.then(() => {\n localization(CommerceRecommendationInterfaceAtomic.i18n);\n });\n }\n }, [localization, engine, initialization]);\n\n return (\n <AtomicCommerceRecommendationInterface\n engine={engine}\n ref={interfaceRef}\n {...allOtherProps}\n >\n {props.children}\n </AtomicCommerceRecommendationInterface>\n );\n};\n","import type {AtomicCommerceRecommendationList} from '@coveo/atomic/components';\nimport type {\n ItemDisplayBasicLayout,\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '@coveo/atomic/loader';\nimport type {Product} from '@coveo/headless/commerce';\nimport React, {type JSX, useEffect, useRef} from 'react';\nimport {flushSync} from 'react-dom';\nimport {createRoot} from 'react-dom/client';\nimport {\n AtomicProductLink,\n AtomicCommerceRecommendationList as LitAtomicCommerceRecommendationList,\n} from './components.js';\n\ninterface Template {\n contentTemplate: JSX.Element;\n linkTemplate: JSX.Element;\n}\n\ninterface AtomicCommerceRecommendationListProps {\n /**\n * The spacing of various elements in the recommendation list, including the gap between products, the gap between parts of a product, and the font sizes of different parts in a product.\n */\n density?: ItemDisplayDensity;\n /**\n * The desired layout to use when displaying recommendations. Layouts affect how many products to display per row and how visually distinct they are from each other.\n */\n display?: ItemDisplayBasicLayout;\n /**\n * The expected size of the image displayed for recommendations.\n */\n imageSize?: ItemDisplayImageSize;\n /**\n * The desired number of placeholders to display while the recommendation list is loading.\n */\n numberOfPlaceholders?: number;\n\n slotId?: string;\n\n productsPerPage?: number;\n}\n\ninterface HTMLAtomicCommerceRecommendationListElement\n extends AtomicCommerceRecommendationList,\n HTMLElement {}\n\n// biome-ignore lint/correctness/noUnusedVariables: <>\nvar HTMLAtomicCommerceRecommendationListElement: {\n prototype: HTMLAtomicCommerceRecommendationListElement;\n new (): HTMLAtomicCommerceRecommendationListElement;\n};\n\n/**\n * The properties of the AtomicCommerceRecommendationList component\n */\ninterface WrapperProps extends AtomicCommerceRecommendationListProps {\n /**\n * A template function that takes a result item and outputs its target rendering as a JSX element.\n * It can be used to conditionally render different type of result templates based on the properties of each result.\n */\n template: (result: Product) => JSX.Element | Template;\n}\n\n/**\n * This component serves as a wrapper for the core AtomicCommerceRecommendationList.\n *\n * @param props\n * @returns\n */\nexport const ListWrapper: React.FC<WrapperProps> = (props) => {\n const {template, ...otherProps} = props;\n const commerceRecommendationListRef =\n useRef<HTMLAtomicCommerceRecommendationListElement>(null);\n useEffect(() => {\n commerceRecommendationListRef.current?.setRenderFunction(\n (product, root, linkContainer) => {\n const templateResult = template(product as Product);\n if (hasLinkTemplate(templateResult)) {\n const linkRoot = createRoot(linkContainer!);\n linkRoot.render(templateResult.linkTemplate);\n const contentRoot = createRoot(root);\n flushSync(() => {\n contentRoot.render(templateResult.contentTemplate);\n });\n return root.innerHTML;\n } else {\n const contentRoot = createRoot(root);\n const linkRoot = createRoot(linkContainer!);\n flushSync(() => {\n contentRoot.render(templateResult);\n otherProps.display === 'grid'\n ? linkRoot.render(<AtomicProductLink></AtomicProductLink>)\n : // biome-ignore lint/complexity/noUselessFragments: <>\n linkRoot.render(<></>);\n });\n return root.innerHTML;\n }\n }\n );\n }, [otherProps.display, template]);\n return (\n <LitAtomicCommerceRecommendationList\n ref={commerceRecommendationListRef}\n {...otherProps}\n />\n );\n};\n\nconst hasLinkTemplate = (\n template: JSX.Element | Template\n): template is Template => {\n return (template as Template).linkTemplate !== undefined;\n};\n"],"names":["LitAtomicAriaLive","LitAtomicCommerceBreadbox","LitAtomicCommerceCategoryFacet","LitAtomicCommerceDidYouMean","LitAtomicCommerceFacet","LitAtomicCommerceFacets","LitAtomicCommerceInterface","LitAtomicCommerceLayout","LitAtomicCommerceLoadMoreProducts","LitAtomicCommerceNoProducts","LitAtomicCommerceNumericFacet","LitAtomicCommercePager","LitAtomicCommerceProductList","LitAtomicCommerceProductsPerPage","LitAtomicCommerceQueryError","LitAtomicCommerceQuerySummary","LitAtomicCommerceRecommendationInterface","LitAtomicCommerceRecommendationList","LitAtomicCommerceRefineModal","LitAtomicCommerceRefineToggle","LitAtomicCommerceSearchBox","LitAtomicCommerceSearchBoxInstantProducts","LitAtomicCommerceSearchBoxQuerySuggestions","LitAtomicCommerceSearchBoxRecentQueries","LitAtomicCommerceSortDropdown","LitAtomicCommerceText","LitAtomicCommerceTimeframeFacet","LitAtomicComponentError","LitAtomicFocusTrap","LitAtomicGeneratedAnswerFeedbackModal","LitAtomicIcon","LitAtomicLayoutSection","LitAtomicNumericRange","LitAtomicProduct","LitAtomicProductChildren","LitAtomicProductDescription","LitAtomicProductExcerpt","LitAtomicProductFieldCondition","LitAtomicProductImage","LitAtomicProductLink","LitAtomicProductMultiValueText","LitAtomicProductNumericFieldValue","LitAtomicProductPrice","LitAtomicProductRating","LitAtomicProductSectionActions","LitAtomicProductSectionBadges","LitAtomicProductSectionBottomMetadata","LitAtomicProductSectionChildren","LitAtomicProductSectionDescription","LitAtomicProductSectionEmphasized","LitAtomicProductSectionMetadata","LitAtomicProductSectionName","LitAtomicProductSectionVisual","LitAtomicProductText","LitAtomicTimeframe","DefaultProps","InterfaceWrapper","ListWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"atomic-react.mjs","sources":["../../../src/components/commerce/components.ts","../../../src/components/commerce/CommerceInterfaceWrapper.tsx","../../../src/components/commerce/CommerceProductListWrapper.tsx","../../../src/components/commerce/CommerceRecommendationInterfaceWrapper.tsx","../../../src/components/commerce/CommerceRecommendationListWrapper.tsx"],"sourcesContent":["import {\n AtomicAriaLive as LitAtomicAriaLive,\n AtomicCommerceBreadbox as LitAtomicCommerceBreadbox,\n AtomicCommerceCategoryFacet as LitAtomicCommerceCategoryFacet,\n AtomicCommerceDidYouMean as LitAtomicCommerceDidYouMean,\n AtomicCommerceFacet as LitAtomicCommerceFacet,\n AtomicCommerceFacets as LitAtomicCommerceFacets,\n AtomicCommerceInterface as LitAtomicCommerceInterface,\n AtomicCommerceLayout as LitAtomicCommerceLayout,\n AtomicCommerceLoadMoreProducts as LitAtomicCommerceLoadMoreProducts,\n AtomicCommerceNoProducts as LitAtomicCommerceNoProducts,\n AtomicCommerceNumericFacet as LitAtomicCommerceNumericFacet,\n AtomicCommercePager as LitAtomicCommercePager,\n AtomicCommerceProductList as LitAtomicCommerceProductList,\n AtomicCommerceProductsPerPage as LitAtomicCommerceProductsPerPage,\n AtomicCommerceQueryError as LitAtomicCommerceQueryError,\n AtomicCommerceQuerySummary as LitAtomicCommerceQuerySummary,\n AtomicCommerceRecommendationInterface as LitAtomicCommerceRecommendationInterface,\n AtomicCommerceRecommendationList as LitAtomicCommerceRecommendationList,\n AtomicCommerceRefineModal as LitAtomicCommerceRefineModal,\n AtomicCommerceRefineToggle as LitAtomicCommerceRefineToggle,\n AtomicCommerceSearchBox as LitAtomicCommerceSearchBox,\n AtomicCommerceSearchBoxInstantProducts as LitAtomicCommerceSearchBoxInstantProducts,\n AtomicCommerceSearchBoxQuerySuggestions as LitAtomicCommerceSearchBoxQuerySuggestions,\n AtomicCommerceSearchBoxRecentQueries as LitAtomicCommerceSearchBoxRecentQueries,\n AtomicCommerceSortDropdown as LitAtomicCommerceSortDropdown,\n AtomicCommerceText as LitAtomicCommerceText,\n AtomicCommerceTimeframeFacet as LitAtomicCommerceTimeframeFacet,\n AtomicComponentError as LitAtomicComponentError,\n AtomicFocusTrap as LitAtomicFocusTrap,\n AtomicGeneratedAnswerFeedbackModal as LitAtomicGeneratedAnswerFeedbackModal,\n AtomicIcon as LitAtomicIcon,\n AtomicLayoutSection as LitAtomicLayoutSection,\n AtomicNumericRange as LitAtomicNumericRange,\n AtomicProduct as LitAtomicProduct,\n AtomicProductChildren as LitAtomicProductChildren,\n AtomicProductDescription as LitAtomicProductDescription,\n AtomicProductExcerpt as LitAtomicProductExcerpt,\n AtomicProductFieldCondition as LitAtomicProductFieldCondition,\n AtomicProductImage as LitAtomicProductImage,\n AtomicProductLink as LitAtomicProductLink,\n AtomicProductMultiValueText as LitAtomicProductMultiValueText,\n AtomicProductNumericFieldValue as LitAtomicProductNumericFieldValue,\n AtomicProductPrice as LitAtomicProductPrice,\n AtomicProductRating as LitAtomicProductRating,\n AtomicProductSectionActions as LitAtomicProductSectionActions,\n AtomicProductSectionBadges as LitAtomicProductSectionBadges,\n AtomicProductSectionBottomMetadata as LitAtomicProductSectionBottomMetadata,\n AtomicProductSectionChildren as LitAtomicProductSectionChildren,\n AtomicProductSectionDescription as LitAtomicProductSectionDescription,\n AtomicProductSectionEmphasized as LitAtomicProductSectionEmphasized,\n AtomicProductSectionMetadata as LitAtomicProductSectionMetadata,\n AtomicProductSectionName as LitAtomicProductSectionName,\n AtomicProductSectionVisual as LitAtomicProductSectionVisual,\n AtomicProductText as LitAtomicProductText,\n AtomicTimeframe as LitAtomicTimeframe,\n} from '@coveo/atomic/components';\nimport {createComponent} from '@lit/react';\nimport React from 'react';\n\nexport const AtomicAriaLive = /*@__PURE__*/ createComponent({\n tagName: 'atomic-aria-live',\n react: React,\n elementClass: LitAtomicAriaLive,\n});\n\nexport const AtomicCommerceBreadbox = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-breadbox',\n react: React,\n elementClass: LitAtomicCommerceBreadbox,\n});\n\nexport const AtomicCommerceCategoryFacet = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-category-facet',\n react: React,\n elementClass: LitAtomicCommerceCategoryFacet,\n});\n\nexport const AtomicCommerceDidYouMean = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-did-you-mean',\n react: React,\n elementClass: LitAtomicCommerceDidYouMean,\n});\n\nexport const AtomicCommerceFacet = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-facet',\n react: React,\n elementClass: LitAtomicCommerceFacet,\n});\n\nexport const AtomicCommerceFacets = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-facets',\n react: React,\n elementClass: LitAtomicCommerceFacets,\n});\n\nexport const AtomicCommerceInterface = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-interface',\n react: React,\n elementClass: LitAtomicCommerceInterface,\n});\n\nexport const AtomicCommerceLayout = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-layout',\n react: React,\n elementClass: LitAtomicCommerceLayout,\n});\n\nexport const AtomicCommerceLoadMoreProducts = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-load-more-products',\n react: React,\n elementClass: LitAtomicCommerceLoadMoreProducts,\n});\n\nexport const AtomicCommerceNoProducts = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-no-products',\n react: React,\n elementClass: LitAtomicCommerceNoProducts,\n});\n\nexport const AtomicCommerceNumericFacet = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-numeric-facet',\n react: React,\n elementClass: LitAtomicCommerceNumericFacet,\n});\n\nexport const AtomicCommercePager = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-pager',\n react: React,\n elementClass: LitAtomicCommercePager,\n});\n\nexport const AtomicCommerceProductList = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-product-list',\n react: React,\n elementClass: LitAtomicCommerceProductList,\n});\n\nexport const AtomicCommerceProductsPerPage = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-products-per-page',\n react: React,\n elementClass: LitAtomicCommerceProductsPerPage,\n});\n\nexport const AtomicCommerceQueryError = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-query-error',\n react: React,\n elementClass: LitAtomicCommerceQueryError,\n});\n\nexport const AtomicCommerceQuerySummary = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-query-summary',\n react: React,\n elementClass: LitAtomicCommerceQuerySummary,\n});\n\nexport const AtomicCommerceRecommendationInterface =\n /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-recommendation-interface',\n react: React,\n elementClass: LitAtomicCommerceRecommendationInterface,\n });\n\nexport const AtomicCommerceRecommendationList = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-recommendation-list',\n react: React,\n elementClass: LitAtomicCommerceRecommendationList,\n});\n\nexport const AtomicCommerceRefineModal = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-refine-modal',\n react: React,\n elementClass: LitAtomicCommerceRefineModal,\n});\n\nexport const AtomicCommerceRefineToggle = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-refine-toggle',\n react: React,\n elementClass: LitAtomicCommerceRefineToggle,\n});\n\nexport const AtomicCommerceSearchBox = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-search-box',\n react: React,\n elementClass: LitAtomicCommerceSearchBox,\n});\n\nexport const AtomicCommerceSearchBoxInstantProducts =\n /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-search-box-instant-products',\n react: React,\n elementClass: LitAtomicCommerceSearchBoxInstantProducts,\n });\n\nexport const AtomicCommerceSearchBoxQuerySuggestions =\n /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-search-box-query-suggestions',\n react: React,\n elementClass: LitAtomicCommerceSearchBoxQuerySuggestions,\n });\n\nexport const AtomicCommerceSearchBoxRecentQueries =\n /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-search-box-recent-queries',\n react: React,\n elementClass: LitAtomicCommerceSearchBoxRecentQueries,\n });\n\nexport const AtomicCommerceSortDropdown = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-sort-dropdown',\n react: React,\n elementClass: LitAtomicCommerceSortDropdown,\n});\n\nexport const AtomicCommerceText = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-text',\n react: React,\n elementClass: LitAtomicCommerceText,\n});\n\nexport const AtomicCommerceTimeframeFacet = /*@__PURE__*/ createComponent({\n tagName: 'atomic-commerce-timeframe-facet',\n react: React,\n elementClass: LitAtomicCommerceTimeframeFacet,\n});\n\nexport const AtomicComponentError = /*@__PURE__*/ createComponent({\n tagName: 'atomic-component-error',\n react: React,\n elementClass: LitAtomicComponentError,\n});\n\nexport const AtomicFocusTrap = /*@__PURE__*/ createComponent({\n tagName: 'atomic-focus-trap',\n react: React,\n elementClass: LitAtomicFocusTrap,\n});\n\nexport const AtomicGeneratedAnswerFeedbackModal = /*@__PURE__*/ createComponent(\n {\n tagName: 'atomic-generated-answer-feedback-modal',\n react: React,\n elementClass: LitAtomicGeneratedAnswerFeedbackModal,\n }\n);\n\nexport const AtomicIcon = /*@__PURE__*/ createComponent({\n tagName: 'atomic-icon',\n react: React,\n elementClass: LitAtomicIcon,\n});\n\nexport const AtomicLayoutSection = /*@__PURE__*/ createComponent({\n tagName: 'atomic-layout-section',\n react: React,\n elementClass: LitAtomicLayoutSection,\n});\n\nexport const AtomicNumericRange = /*@__PURE__*/ createComponent({\n tagName: 'atomic-numeric-range',\n react: React,\n elementClass: LitAtomicNumericRange,\n});\n\nexport const AtomicProduct = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product',\n react: React,\n elementClass: LitAtomicProduct,\n});\n\nexport const AtomicProductChildren = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-children',\n react: React,\n elementClass: LitAtomicProductChildren,\n});\n\nexport const AtomicProductDescription = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-description',\n react: React,\n elementClass: LitAtomicProductDescription,\n});\n\nexport const AtomicProductExcerpt = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-excerpt',\n react: React,\n elementClass: LitAtomicProductExcerpt,\n});\n\nexport const AtomicProductFieldCondition = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-field-condition',\n react: React,\n elementClass: LitAtomicProductFieldCondition,\n});\n\nexport const AtomicProductImage = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-image',\n react: React,\n elementClass: LitAtomicProductImage,\n});\n\nexport const AtomicProductLink = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-link',\n react: React,\n elementClass: LitAtomicProductLink,\n});\n\nexport const AtomicProductMultiValueText = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-multi-value-text',\n react: React,\n elementClass: LitAtomicProductMultiValueText,\n});\n\nexport const AtomicProductNumericFieldValue = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-numeric-field-value',\n react: React,\n elementClass: LitAtomicProductNumericFieldValue,\n});\n\nexport const AtomicProductPrice = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-price',\n react: React,\n elementClass: LitAtomicProductPrice,\n});\n\nexport const AtomicProductRating = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-rating',\n react: React,\n elementClass: LitAtomicProductRating,\n});\n\nexport const AtomicProductSectionActions = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-actions',\n react: React,\n elementClass: LitAtomicProductSectionActions,\n});\n\nexport const AtomicProductSectionBadges = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-badges',\n react: React,\n elementClass: LitAtomicProductSectionBadges,\n});\n\nexport const AtomicProductSectionBottomMetadata = /*@__PURE__*/ createComponent(\n {\n tagName: 'atomic-product-section-bottom-metadata',\n react: React,\n elementClass: LitAtomicProductSectionBottomMetadata,\n }\n);\n\nexport const AtomicProductSectionChildren = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-children',\n react: React,\n elementClass: LitAtomicProductSectionChildren,\n});\n\nexport const AtomicProductSectionDescription = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-description',\n react: React,\n elementClass: LitAtomicProductSectionDescription,\n});\n\nexport const AtomicProductSectionEmphasized = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-emphasized',\n react: React,\n elementClass: LitAtomicProductSectionEmphasized,\n});\n\nexport const AtomicProductSectionMetadata = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-metadata',\n react: React,\n elementClass: LitAtomicProductSectionMetadata,\n});\n\nexport const AtomicProductSectionName = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-name',\n react: React,\n elementClass: LitAtomicProductSectionName,\n});\n\nexport const AtomicProductSectionVisual = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-section-visual',\n react: React,\n elementClass: LitAtomicProductSectionVisual,\n});\n\nexport const AtomicProductText = /*@__PURE__*/ createComponent({\n tagName: 'atomic-product-text',\n react: React,\n elementClass: LitAtomicProductText,\n});\n\nexport const AtomicTimeframe = /*@__PURE__*/ createComponent({\n tagName: 'atomic-timeframe',\n react: React,\n elementClass: LitAtomicTimeframe,\n});\n","import type {i18n} from '@coveo/atomic';\n// biome-ignore lint/style/useImportType: <React is needed>\nimport React, {useEffect, useRef} from 'react';\nimport {AtomicCommerceInterface} from './components';\n\ntype AtomicCommerceInterfaceProps = React.ComponentProps<\n typeof AtomicCommerceInterface\n>;\n\ntype ExecuteRequest = AtomicCommerceInterfaceProps['executeFirstRequest'];\n\ninterface WrapperProps\n extends Omit<\n AtomicCommerceInterfaceProps,\n 'i18n' | 'pipeline' | 'searchHub'\n > {\n /**\n * An optional callback function that can be used to control the execution of the first request.\n *\n * If not provided, a default function will be used, which executes the first request immediately after initialization.\n */\n onReady?: (executeFirstRequest: ExecuteRequest) => Promise<void>;\n /**\n * An optional callback that lets you control the interface localization.\n *\n * The function receives the search interface 18n instance, which you can then modify (see [Localization](https://docs.coveo.com/en/atomic/latest/usage/atomic-localization/)).\n *\n */\n localization?: (i18n: i18n) => void;\n}\n\nconst DefaultProps: Required<Pick<WrapperProps, 'onReady' | 'localization'>> = {\n onReady: (executeFirstRequest) => {\n return executeFirstRequest ? executeFirstRequest() : Promise.resolve();\n },\n localization: () => {},\n};\n\n/**\n * This component serves as a wrapper for the core AtomicCommerceInterface.\n * @param props\n * @returns\n */\nexport const InterfaceWrapper = (\n props: React.PropsWithChildren<WrapperProps>\n) => {\n const mergedProps = {...DefaultProps, ...props};\n if (!mergedProps.engine) {\n throw new Error('The \"engine\" prop is required.');\n //TODO, maybe: provide a default engine\n }\n const {engine, localization, onReady, ...allOtherProps} = mergedProps;\n const interfaceRef =\n useRef<React.ElementRef<typeof AtomicCommerceInterface>>(null);\n let initialization: Promise<void> | null = null;\n\n useEffect(() => {\n const commerceInterfaceAtomic = interfaceRef.current!;\n if (!initialization) {\n initialization = commerceInterfaceAtomic.initializeWithEngine(engine);\n initialization.then(() => {\n localization(commerceInterfaceAtomic.i18n);\n onReady(\n commerceInterfaceAtomic.executeFirstRequest.bind(\n commerceInterfaceAtomic\n )\n );\n });\n }\n }, [engine, initialization, localization, onReady]);\n\n return (\n <AtomicCommerceInterface ref={interfaceRef} {...allOtherProps}>\n {props.children}\n </AtomicCommerceInterface>\n );\n};\n","import type {AtomicCommerceProductList} from '@coveo/atomic/components';\nimport type {Product} from '@coveo/headless/commerce';\nimport React, {type JSX, useEffect, useRef} from 'react';\nimport {flushSync} from 'react-dom';\nimport {createRoot} from 'react-dom/client';\nimport {\n AtomicProductLink,\n AtomicCommerceProductList as LitAtomicCommerceProductList,\n} from './components.js';\n\ninterface Template {\n contentTemplate: JSX.Element;\n linkTemplate: JSX.Element;\n}\n\ninterface AtomicCommerceProductListProps {\n /**\n * The spacing of various elements in the product list, including the gap between products, the gap between parts of a product, and the font sizes of different parts in a product.\n */\n density?: AtomicCommerceProductList['density'];\n /**\n * The desired layout to use when displaying products. Layouts affect how many products to display per row and how visually distinct they are from each other.\n */\n display?: AtomicCommerceProductList['display'];\n /**\n * The expected size of the image displayed for products.\n */\n imageSize?: AtomicCommerceProductList['imageSize'];\n /**\n * The desired number of placeholders to display while the product list is loading.\n */\n numberOfPlaceholders?: number;\n}\n\ninterface HTMLAtomicCommerceProductListElement\n extends AtomicCommerceProductList,\n HTMLElement {}\n\n// biome-ignore lint/correctness/noUnusedVariables: <>\nvar HTMLAtomicCommerceProductListElement: {\n prototype: HTMLAtomicCommerceProductListElement;\n new (): HTMLAtomicCommerceProductListElement;\n};\n\n/**\n * The properties of the AtomicCommerceProductList component\n */\ninterface WrapperProps extends AtomicCommerceProductListProps {\n /**\n * A template function that takes a result item and outputs its target rendering as a JSX element.\n * It can be used to conditionally render different type of result templates based on the properties of each result.\n */\n template: (result: Product) => JSX.Element | Template;\n}\n/**\n * This component serves as a wrapper for the core AtomicCommerceProductList.\n *\n * @param props\n * @returns\n */\nexport const ListWrapper: React.FC<WrapperProps> = (props) => {\n const {template, ...otherProps} = props;\n const commerceProductListRef =\n useRef<HTMLAtomicCommerceProductListElement>(null);\n useEffect(() => {\n commerceProductListRef.current?.setRenderFunction(\n (result, root, linkContainer) => {\n const templateResult = template(result as Product);\n if (isTemplate(templateResult)) {\n return renderTemplate(linkContainer, templateResult, root);\n } else {\n return renderJSXTemplate(\n linkContainer,\n root,\n templateResult,\n otherProps.display\n );\n }\n }\n );\n }, [otherProps.display, template]);\n return (\n <LitAtomicCommerceProductList\n ref={commerceProductListRef}\n {...otherProps}\n />\n );\n};\n\nconst isTemplate = (template: JSX.Element | Template): template is Template => {\n return (template as Template).linkTemplate !== undefined;\n};\n\nfunction renderJSXTemplate(\n linkContainer: HTMLElement | undefined,\n root: HTMLElement,\n templateResult: JSX.Element,\n display: WrapperProps['display']\n) {\n const contentRoot = createRoot(root);\n const linkRoot = linkContainer ? createRoot(linkContainer!) : null;\n flushSync(() => {\n contentRoot.render(templateResult);\n if (!linkRoot) {\n return;\n }\n display === 'grid'\n ? linkRoot.render(<AtomicProductLink></AtomicProductLink>)\n : // biome-ignore lint/complexity/noUselessFragments: <>\n linkRoot.render(<></>);\n });\n return root.innerHTML;\n}\n\nfunction renderTemplate(\n linkContainer: HTMLElement | undefined,\n templateResult: Template,\n root: HTMLElement\n) {\n const linkRoot = createRoot(linkContainer!);\n const contentRoot = createRoot(root);\n flushSync(() => {\n linkRoot.render(templateResult.linkTemplate);\n contentRoot.render(templateResult.contentTemplate);\n });\n return root.innerHTML;\n}\n","import type {i18n} from '@coveo/atomic';\n// biome-ignore lint/style/useImportType: <React is needed>\nimport React, {useEffect, useRef} from 'react';\nimport {AtomicCommerceRecommendationInterface} from './components.js';\n\ntype AtomicCommerceRecommendationInterfaceProps = React.ComponentProps<\n typeof AtomicCommerceRecommendationInterface\n>;\n\ninterface WrapperProps\n extends Omit<\n AtomicCommerceRecommendationInterfaceProps,\n 'i18n' | 'pipeline' | 'searchHub'\n > {\n /**\n * An optional callback that lets you control the interface localization.\n *\n * The function receives the search interface 18n instance, which you can then modify (see [Localization](https://docs.coveo.com/en/atomic/latest/usage/atomic-localization/)).\n *\n */\n localization?: (i18n: i18n) => void;\n}\nconst DefaultProps: Required<Pick<WrapperProps, 'localization'>> = {\n localization: () => {},\n};\n\n/**\n * This component serves as a wrapper for the core AtomicCommerceRecommendationInterface.\n * @param props\n * @returns\n */\nexport const InterfaceWrapper = (\n props: React.PropsWithChildren<WrapperProps>\n) => {\n const mergedProps = {...DefaultProps, ...props};\n if (!mergedProps.engine) {\n throw new Error('The \"engine\" prop is required.');\n }\n const {engine, localization, ...allOtherProps} = mergedProps;\n const interfaceRef =\n useRef<React.ElementRef<typeof AtomicCommerceRecommendationInterface>>(\n null\n );\n let initialization: Promise<void> | null = null;\n\n useEffect(() => {\n const CommerceRecommendationInterfaceAtomic = interfaceRef.current!;\n if (!initialization) {\n initialization =\n CommerceRecommendationInterfaceAtomic.initializeWithEngine(engine);\n initialization.then(() => {\n localization(CommerceRecommendationInterfaceAtomic.i18n);\n });\n }\n }, [localization, engine, initialization]);\n\n return (\n <AtomicCommerceRecommendationInterface\n engine={engine}\n ref={interfaceRef}\n {...allOtherProps}\n >\n {props.children}\n </AtomicCommerceRecommendationInterface>\n );\n};\n","import type {AtomicCommerceRecommendationList} from '@coveo/atomic/components';\nimport type {Product} from '@coveo/headless/commerce';\nimport React, {type JSX, useEffect, useRef} from 'react';\nimport {flushSync} from 'react-dom';\nimport {createRoot} from 'react-dom/client';\nimport {\n AtomicProductLink,\n AtomicCommerceRecommendationList as LitAtomicCommerceRecommendationList,\n} from './components.js';\n\ninterface Template {\n contentTemplate: JSX.Element;\n linkTemplate: JSX.Element;\n}\n\ninterface AtomicCommerceRecommendationListProps {\n /**\n * The spacing of various elements in the recommendation list, including the gap between products, the gap between parts of a product, and the font sizes of different parts in a product.\n */\n density?: AtomicCommerceRecommendationList['density'];\n /**\n * The desired layout to use when displaying recommendations. Layouts affect how many products to display per row and how visually distinct they are from each other.\n */\n display?: AtomicCommerceRecommendationList['display'];\n /**\n * The expected size of the image displayed for recommendations.\n */\n imageSize?: AtomicCommerceRecommendationList['imageSize'];\n /**\n * The desired number of placeholders to display while the recommendation list is loading.\n */\n numberOfPlaceholders?: number;\n\n slotId?: string;\n\n productsPerPage?: number;\n}\n\ninterface HTMLAtomicCommerceRecommendationListElement\n extends AtomicCommerceRecommendationList,\n HTMLElement {}\n\n// biome-ignore lint/correctness/noUnusedVariables: <>\nvar HTMLAtomicCommerceRecommendationListElement: {\n prototype: HTMLAtomicCommerceRecommendationListElement;\n new (): HTMLAtomicCommerceRecommendationListElement;\n};\n\n/**\n * The properties of the AtomicCommerceRecommendationList component\n */\ninterface WrapperProps extends AtomicCommerceRecommendationListProps {\n /**\n * A template function that takes a result item and outputs its target rendering as a JSX element.\n * It can be used to conditionally render different type of result templates based on the properties of each result.\n */\n template: (result: Product) => JSX.Element | Template;\n}\n\n/**\n * This component serves as a wrapper for the core AtomicCommerceRecommendationList.\n *\n * @param props\n * @returns\n */\nexport const ListWrapper: React.FC<WrapperProps> = (props) => {\n const {template, ...otherProps} = props;\n const commerceRecommendationListRef =\n useRef<HTMLAtomicCommerceRecommendationListElement>(null);\n useEffect(() => {\n commerceRecommendationListRef.current?.setRenderFunction(\n (product, root, linkContainer) => {\n const templateResult = template(product as Product);\n if (hasLinkTemplate(templateResult)) {\n const linkRoot = createRoot(linkContainer!);\n linkRoot.render(templateResult.linkTemplate);\n const contentRoot = createRoot(root);\n flushSync(() => {\n contentRoot.render(templateResult.contentTemplate);\n });\n return root.innerHTML;\n } else {\n const contentRoot = createRoot(root);\n const linkRoot = createRoot(linkContainer!);\n flushSync(() => {\n contentRoot.render(templateResult);\n otherProps.display === 'grid'\n ? linkRoot.render(<AtomicProductLink></AtomicProductLink>)\n : // biome-ignore lint/complexity/noUselessFragments: <>\n linkRoot.render(<></>);\n });\n return root.innerHTML;\n }\n }\n );\n }, [otherProps.display, template]);\n return (\n <LitAtomicCommerceRecommendationList\n ref={commerceRecommendationListRef}\n {...otherProps}\n />\n );\n};\n\nconst hasLinkTemplate = (\n template: JSX.Element | Template\n): template is Template => {\n return (template as Template).linkTemplate !== undefined;\n};\n"],"names":["LitAtomicAriaLive","LitAtomicCommerceBreadbox","LitAtomicCommerceCategoryFacet","LitAtomicCommerceDidYouMean","LitAtomicCommerceFacet","LitAtomicCommerceFacets","LitAtomicCommerceInterface","LitAtomicCommerceLayout","LitAtomicCommerceLoadMoreProducts","LitAtomicCommerceNoProducts","LitAtomicCommerceNumericFacet","LitAtomicCommercePager","LitAtomicCommerceProductList","LitAtomicCommerceProductsPerPage","LitAtomicCommerceQueryError","LitAtomicCommerceQuerySummary","LitAtomicCommerceRecommendationInterface","LitAtomicCommerceRecommendationList","LitAtomicCommerceRefineModal","LitAtomicCommerceRefineToggle","LitAtomicCommerceSearchBox","LitAtomicCommerceSearchBoxInstantProducts","LitAtomicCommerceSearchBoxQuerySuggestions","LitAtomicCommerceSearchBoxRecentQueries","LitAtomicCommerceSortDropdown","LitAtomicCommerceText","LitAtomicCommerceTimeframeFacet","LitAtomicComponentError","LitAtomicFocusTrap","LitAtomicGeneratedAnswerFeedbackModal","LitAtomicIcon","LitAtomicLayoutSection","LitAtomicNumericRange","LitAtomicProduct","LitAtomicProductChildren","LitAtomicProductDescription","LitAtomicProductExcerpt","LitAtomicProductFieldCondition","LitAtomicProductImage","LitAtomicProductLink","LitAtomicProductMultiValueText","LitAtomicProductNumericFieldValue","LitAtomicProductPrice","LitAtomicProductRating","LitAtomicProductSectionActions","LitAtomicProductSectionBadges","LitAtomicProductSectionBottomMetadata","LitAtomicProductSectionChildren","LitAtomicProductSectionDescription","LitAtomicProductSectionEmphasized","LitAtomicProductSectionMetadata","LitAtomicProductSectionName","LitAtomicProductSectionVisual","LitAtomicProductText","LitAtomicTimeframe","DefaultProps","InterfaceWrapper","ListWrapper"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ItemDisplayBasicLayout, ItemDisplayDensity, ItemDisplayImageSize } from '@coveo/atomic/loader';
1
+ import type { AtomicCommerceRecommendationList } from '@coveo/atomic/components';
2
2
  import type { Product } from '@coveo/headless/commerce';
3
3
  import React, { type JSX } from 'react';
4
4
  interface Template {
@@ -9,15 +9,15 @@ interface AtomicCommerceRecommendationListProps {
9
9
  /**
10
10
  * The spacing of various elements in the recommendation list, including the gap between products, the gap between parts of a product, and the font sizes of different parts in a product.
11
11
  */
12
- density?: ItemDisplayDensity;
12
+ density?: AtomicCommerceRecommendationList['density'];
13
13
  /**
14
14
  * The desired layout to use when displaying recommendations. Layouts affect how many products to display per row and how visually distinct they are from each other.
15
15
  */
16
- display?: ItemDisplayBasicLayout;
16
+ display?: AtomicCommerceRecommendationList['display'];
17
17
  /**
18
18
  * The expected size of the image displayed for recommendations.
19
19
  */
20
- imageSize?: ItemDisplayImageSize;
20
+ imageSize?: AtomicCommerceRecommendationList['imageSize'];
21
21
  /**
22
22
  * The desired number of placeholders to display while the recommendation list is loading.
23
23
  */
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@coveo/atomic-react",
3
3
  "sideEffects": false,
4
4
  "type": "module",
5
- "version": "3.11.1",
5
+ "version": "3.11.2",
6
6
  "description": "React specific wrapper for the Atomic component library",
7
7
  "repository": {
8
8
  "type": "git",
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "dependencies": {
21
21
  "@lit/react": "1.0.8",
22
- "@coveo/atomic": "3.50.0"
22
+ "@coveo/atomic": "3.51.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@rollup/plugin-commonjs": "28.0.6",
@@ -38,7 +38,7 @@
38
38
  "peerDependencies": {
39
39
  "react": ">=18.0.0",
40
40
  "react-dom": ">=18.0.0",
41
- "@coveo/headless": "3.45.0"
41
+ "@coveo/headless": "3.45.1"
42
42
  },
43
43
  "engines": {
44
44
  "node": "^20.9.0 || ^22.11.0 || ^24.11.0"