{"version":3,"file":"atomic-react.mjs","sources":["../../../src/components/stencil-generated/commerce/react-component-lib/utils/case.ts","../../../src/components/stencil-generated/commerce/react-component-lib/utils/attachProps.ts","../../../src/components/stencil-generated/commerce/react-component-lib/utils/index.tsx","../../../src/components/stencil-generated/commerce/react-component-lib/createComponent.tsx","../../../src/components/stencil-generated/commerce/index.ts","../../../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":["export const dashToPascalCase = (str: string) =>\n  str\n    .toLowerCase()\n    .split('-')\n    .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))\n    .join('');\nexport const camelToDashCase = (str: string) => str.replace(/([A-Z])/g, (m: string) => `-${m[0].toLowerCase()}`);\n","import { camelToDashCase } from './case.js';\n\nexport const attachProps = (node: HTMLElement, newProps: any, oldProps: any = {}) => {\n  // some test frameworks don't render DOM elements, so we test here to make sure we are dealing with DOM first\n  if (node instanceof Element) {\n    // add any classes in className to the class list\n    const className = getClassName(node.classList, newProps, oldProps);\n    if (className !== '') {\n      node.className = className;\n    }\n\n    Object.keys(newProps).forEach((name) => {\n      if (\n        name === 'children' ||\n        name === 'style' ||\n        name === 'ref' ||\n        name === 'class' ||\n        name === 'className' ||\n        name === 'forwardedRef'\n      ) {\n        return;\n      }\n      if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {\n        const eventName = name.substring(2);\n        const eventNameLc = eventName[0].toLowerCase() + eventName.substring(1);\n\n        if (!isCoveredByReact(eventNameLc)) {\n          syncEvent(node, eventNameLc, newProps[name]);\n        }\n      } else {\n        (node as any)[name] = newProps[name];\n        const propType = typeof newProps[name];\n        if (propType === 'string') {\n          node.setAttribute(camelToDashCase(name), newProps[name]);\n        }\n      }\n    });\n  }\n};\n\nexport const getClassName = (classList: DOMTokenList, newProps: any, oldProps: any) => {\n  const newClassProp: string = newProps.className || newProps.class;\n  const oldClassProp: string = oldProps.className || oldProps.class;\n  // map the classes to Maps for performance\n  const currentClasses = arrayToMap(classList);\n  const incomingPropClasses = arrayToMap(newClassProp ? newClassProp.split(' ') : []);\n  const oldPropClasses = arrayToMap(oldClassProp ? oldClassProp.split(' ') : []);\n  const finalClassNames: string[] = [];\n  // loop through each of the current classes on the component\n  // to see if it should be a part of the classNames added\n  currentClasses.forEach((currentClass) => {\n    if (incomingPropClasses.has(currentClass)) {\n      // add it as its already included in classnames coming in from newProps\n      finalClassNames.push(currentClass);\n      incomingPropClasses.delete(currentClass);\n    } else if (!oldPropClasses.has(currentClass)) {\n      // add it as it has NOT been removed by user\n      finalClassNames.push(currentClass);\n    }\n  });\n  incomingPropClasses.forEach((s) => finalClassNames.push(s));\n  return finalClassNames.join(' ');\n};\n\n/**\n * Transforms a React event name to a browser event name.\n */\nexport const transformReactEventName = (eventNameSuffix: string) => {\n  switch (eventNameSuffix) {\n    case 'doubleclick':\n      return 'dblclick';\n  }\n  return eventNameSuffix;\n};\n\n/**\n * Checks if an event is supported in the current execution environment.\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nexport const isCoveredByReact = (eventNameSuffix: string) => {\n  if (typeof document === 'undefined') {\n    return true;\n  } else {\n    const eventName = 'on' + transformReactEventName(eventNameSuffix);\n    let isSupported = eventName in document;\n\n    if (!isSupported) {\n      const element = document.createElement('div');\n      element.setAttribute(eventName, 'return;');\n      isSupported = typeof (element as any)[eventName] === 'function';\n    }\n\n    return isSupported;\n  }\n};\n\nexport const syncEvent = (\n  node: Element & { __events?: { [key: string]: ((e: Event) => any) | undefined } },\n  eventName: string,\n  newEventHandler?: (e: Event) => any\n) => {\n  const eventStore = node.__events || (node.__events = {});\n  const oldEventHandler = eventStore[eventName];\n\n  // Remove old listener so they don't double up.\n  if (oldEventHandler) {\n    node.removeEventListener(eventName, oldEventHandler);\n  }\n\n  // Bind new listener.\n  node.addEventListener(\n    eventName,\n    (eventStore[eventName] = function handler(e: Event) {\n      if (newEventHandler) {\n        newEventHandler.call(this, e);\n      }\n    })\n  );\n};\n\nconst arrayToMap = (arr: string[] | DOMTokenList) => {\n  const map = new Map<string, string>();\n  (arr as string[]).forEach((s: string) => map.set(s, s));\n  return map;\n};\n","import React from 'react';\n\nimport type { StyleReactProps } from '../interfaces.js';\n\nexport type StencilReactExternalProps<PropType, ElementType> = PropType &\n  Omit<React.HTMLAttributes<ElementType>, 'style'> &\n  StyleReactProps;\n\n// This will be replaced with React.ForwardedRef when react-output-target is upgraded to React v17\nexport type StencilReactForwardedRef<T> = ((instance: T | null) => void) | React.MutableRefObject<T | null> | null;\n\nexport const setRef = (ref: StencilReactForwardedRef<any> | React.Ref<any> | undefined, value: any) => {\n  if (typeof ref === 'function') {\n    ref(value);\n  } else if (ref != null) {\n    // Cast as a MutableRef so we can assign current\n    (ref as React.MutableRefObject<any>).current = value;\n  }\n};\n\nexport const mergeRefs = (\n  ...refs: (StencilReactForwardedRef<any> | React.Ref<any> | undefined)[]\n): React.RefCallback<any> => {\n  return (value: any) => {\n    refs.forEach((ref) => {\n      setRef(ref, value);\n    });\n  };\n};\n\nexport const createForwardRef = <PropType, ElementType>(ReactComponent: any, displayName: string) => {\n  type InternalProps = StencilReactExternalProps<PropType, ElementType> & { forwardedRef?: StencilReactForwardedRef<ElementType> };\n  type ExternalProps = Omit<InternalProps, 'forwardedRef'>;\n\n  const Forwarded = React.forwardRef<ElementType, ExternalProps>((props, ref) => {\n    return <ReactComponent {...(props as InternalProps)} forwardedRef={ref} />;\n  });\n  (Forwarded as any).displayName = displayName;\n  return Forwarded;\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n  if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n    customElements.define(tagName, customElement);\n  }\n};\n\nexport * from './attachProps.js';\nexport * from './case.js';\n","import React, { createElement } from 'react';\n\nimport { attachProps, camelToDashCase, createForwardRef, dashToPascalCase, isCoveredByReact, mergeRefs } from './utils/index.js';\n\nexport interface HTMLStencilElement extends HTMLElement {\n  componentOnReady(): Promise<this>;\n}\n\ninterface StencilReactInternalProps<ElementType> extends React.HTMLAttributes<ElementType> {\n  forwardedRef: React.RefObject<ElementType>;\n  ref?: React.Ref<any>;\n}\n\nexport const createReactComponent = <\n  PropType,\n  ElementType extends HTMLStencilElement,\n  ContextStateType = {},\n  ExpandedPropsTypes = {}\n>(\n  tagName: string,\n  ReactComponentContext?: React.Context<ContextStateType>,\n  manipulatePropsFunction?: (\n    originalProps: StencilReactInternalProps<ElementType>,\n    propsToPass: any\n  ) => ExpandedPropsTypes,\n  defineCustomElement?: () => void\n) => {\n  if (defineCustomElement !== undefined) {\n    defineCustomElement();\n  }\n\n  const displayName = dashToPascalCase(tagName);\n  const ReactComponent = class extends React.Component<StencilReactInternalProps<ElementType>> {\n    componentEl!: ElementType;\n\n    setComponentElRef = (element: ElementType) => {\n      this.componentEl = element;\n    };\n\n    constructor(props: StencilReactInternalProps<ElementType>) {\n      super(props);\n    }\n\n    componentDidMount() {\n      this.componentDidUpdate(this.props);\n    }\n\n    componentDidUpdate(prevProps: StencilReactInternalProps<ElementType>) {\n      attachProps(this.componentEl, this.props, prevProps);\n    }\n\n    render() {\n      const { children, forwardedRef, style, className, ref, ...cProps } = this.props;\n\n      let propsToPass = Object.keys(cProps).reduce((acc: any, name) => {\n        const value = (cProps as any)[name];\n\n        if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {\n          const eventName = name.substring(2).toLowerCase();\n          if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {\n            acc[name] = value;\n          }\n        } else {\n          // we should only render strings, booleans, and numbers as attrs in html.\n          // objects, functions, arrays etc get synced via properties on mount.\n          const type = typeof value;\n\n          if (type === 'string' || type === 'boolean' || type === 'number') {\n            acc[camelToDashCase(name)] = value;\n          }\n        }\n        return acc;\n      }, {} as ExpandedPropsTypes);\n\n      if (manipulatePropsFunction) {\n        propsToPass = manipulatePropsFunction(this.props, propsToPass);\n      }\n\n      const newProps: Omit<StencilReactInternalProps<ElementType>, 'forwardedRef'> = {\n        ...propsToPass,\n        ref: mergeRefs(forwardedRef, this.setComponentElRef),\n        style,\n      };\n\n      /**\n       * We use createElement here instead of\n       * React.createElement to work around a\n       * bug in Vite (https://github.com/vitejs/vite/issues/6104).\n       * React.createElement causes all elements to be rendered\n       * as <tagname> instead of the actual Web Component.\n       */\n      return createElement(tagName, newProps, children);\n    }\n\n    static get displayName() {\n      return displayName;\n    }\n  };\n\n  // If context was passed to createReactComponent then conditionally add it to the Component Class\n  if (ReactComponentContext) {\n    ReactComponent.contextType = ReactComponentContext;\n  }\n\n  return createForwardRef<PropType, ElementType>(ReactComponent, displayName);\n};\n","/* eslint-disable */\n/* tslint:disable */\n/* auto-generated react proxies */\nimport { createReactComponent } from './react-component-lib/index.js';\n\nimport type { JSX } from '@eternal-baguette/atomic';\n\nimport { defineCustomElements } from '@eternal-baguette/atomic/loader';\n\ndefineCustomElements();\nexport const AtomicCitation = /*@__PURE__*/createReactComponent<JSX.AtomicCitation, HTMLAtomicCitationElement>('atomic-citation');\nexport const AtomicGeneratedAnswerFeedbackModal = /*@__PURE__*/createReactComponent<JSX.AtomicGeneratedAnswerFeedbackModal, HTMLAtomicGeneratedAnswerFeedbackModalElement>('atomic-generated-answer-feedback-modal');\nexport const AtomicInsightUserActionsTimeline = /*@__PURE__*/createReactComponent<JSX.AtomicInsightUserActionsTimeline, HTMLAtomicInsightUserActionsTimelineElement>('atomic-insight-user-actions-timeline');\nexport const AtomicInsightUserActionsToggle = /*@__PURE__*/createReactComponent<JSX.AtomicInsightUserActionsToggle, HTMLAtomicInsightUserActionsToggleElement>('atomic-insight-user-actions-toggle');\nexport const AtomicTimeframe = /*@__PURE__*/createReactComponent<JSX.AtomicTimeframe, HTMLAtomicTimeframeElement>('atomic-timeframe');\n","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  AtomicIcon as LitAtomicIcon,\n  AtomicInsightGenerateAnswerButton as LitAtomicInsightGenerateAnswerButton,\n  AtomicInsightInterface as LitAtomicInsightInterface,\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} from '@eternal-baguette/atomic/components';\nimport {createComponent} from '@lit/react';\nimport React from 'react';\n\nexport const AtomicAriaLive = createComponent({\n  tagName: 'atomic-aria-live',\n  react: React,\n  elementClass: LitAtomicAriaLive,\n});\n\nexport const AtomicCommerceBreadbox = createComponent({\n  tagName: 'atomic-commerce-breadbox',\n  react: React,\n  elementClass: LitAtomicCommerceBreadbox,\n});\n\nexport const AtomicCommerceCategoryFacet = createComponent({\n  tagName: 'atomic-commerce-category-facet',\n  react: React,\n  elementClass: LitAtomicCommerceCategoryFacet,\n});\n\nexport const AtomicCommerceDidYouMean = createComponent({\n  tagName: 'atomic-commerce-did-you-mean',\n  react: React,\n  elementClass: LitAtomicCommerceDidYouMean,\n});\n\nexport const AtomicCommerceFacet = createComponent({\n  tagName: 'atomic-commerce-facet',\n  react: React,\n  elementClass: LitAtomicCommerceFacet,\n});\n\nexport const AtomicCommerceFacets = createComponent({\n  tagName: 'atomic-commerce-facets',\n  react: React,\n  elementClass: LitAtomicCommerceFacets,\n});\n\nexport const AtomicCommerceInterface = createComponent({\n  tagName: 'atomic-commerce-interface',\n  react: React,\n  elementClass: LitAtomicCommerceInterface,\n});\n\nexport const AtomicCommerceLayout = createComponent({\n  tagName: 'atomic-commerce-layout',\n  react: React,\n  elementClass: LitAtomicCommerceLayout,\n});\n\nexport const AtomicCommerceLoadMoreProducts = createComponent({\n  tagName: 'atomic-commerce-load-more-products',\n  react: React,\n  elementClass: LitAtomicCommerceLoadMoreProducts,\n});\n\nexport const AtomicCommerceNoProducts = createComponent({\n  tagName: 'atomic-commerce-no-products',\n  react: React,\n  elementClass: LitAtomicCommerceNoProducts,\n});\n\nexport const AtomicCommerceNumericFacet = createComponent({\n  tagName: 'atomic-commerce-numeric-facet',\n  react: React,\n  elementClass: LitAtomicCommerceNumericFacet,\n});\n\nexport const AtomicCommercePager = createComponent({\n  tagName: 'atomic-commerce-pager',\n  react: React,\n  elementClass: LitAtomicCommercePager,\n});\n\nexport const AtomicCommerceProductList = createComponent({\n  tagName: 'atomic-commerce-product-list',\n  react: React,\n  elementClass: LitAtomicCommerceProductList,\n});\n\nexport const AtomicCommerceProductsPerPage = createComponent({\n  tagName: 'atomic-commerce-products-per-page',\n  react: React,\n  elementClass: LitAtomicCommerceProductsPerPage,\n});\n\nexport const AtomicCommerceQueryError = createComponent({\n  tagName: 'atomic-commerce-query-error',\n  react: React,\n  elementClass: LitAtomicCommerceQueryError,\n});\n\nexport const AtomicCommerceQuerySummary = createComponent({\n  tagName: 'atomic-commerce-query-summary',\n  react: React,\n  elementClass: LitAtomicCommerceQuerySummary,\n});\n\nexport const AtomicCommerceRecommendationInterface = createComponent({\n  tagName: 'atomic-commerce-recommendation-interface',\n  react: React,\n  elementClass: LitAtomicCommerceRecommendationInterface,\n});\n\nexport const AtomicCommerceRecommendationList = createComponent({\n  tagName: 'atomic-commerce-recommendation-list',\n  react: React,\n  elementClass: LitAtomicCommerceRecommendationList,\n});\n\nexport const AtomicCommerceRefineModal = createComponent({\n  tagName: 'atomic-commerce-refine-modal',\n  react: React,\n  elementClass: LitAtomicCommerceRefineModal,\n});\n\nexport const AtomicCommerceRefineToggle = createComponent({\n  tagName: 'atomic-commerce-refine-toggle',\n  react: React,\n  elementClass: LitAtomicCommerceRefineToggle,\n});\n\nexport const AtomicCommerceSearchBox = createComponent({\n  tagName: 'atomic-commerce-search-box',\n  react: React,\n  elementClass: LitAtomicCommerceSearchBox,\n});\n\nexport const AtomicCommerceSearchBoxInstantProducts = createComponent({\n  tagName: 'atomic-commerce-search-box-instant-products',\n  react: React,\n  elementClass: LitAtomicCommerceSearchBoxInstantProducts,\n});\n\nexport const AtomicCommerceSearchBoxQuerySuggestions = createComponent({\n  tagName: 'atomic-commerce-search-box-query-suggestions',\n  react: React,\n  elementClass: LitAtomicCommerceSearchBoxQuerySuggestions,\n});\n\nexport const AtomicCommerceSearchBoxRecentQueries = createComponent({\n  tagName: 'atomic-commerce-search-box-recent-queries',\n  react: React,\n  elementClass: LitAtomicCommerceSearchBoxRecentQueries,\n});\n\nexport const AtomicCommerceSortDropdown = createComponent({\n  tagName: 'atomic-commerce-sort-dropdown',\n  react: React,\n  elementClass: LitAtomicCommerceSortDropdown,\n});\n\nexport const AtomicCommerceText = createComponent({\n  tagName: 'atomic-commerce-text',\n  react: React,\n  elementClass: LitAtomicCommerceText,\n});\n\nexport const AtomicCommerceTimeframeFacet = createComponent({\n  tagName: 'atomic-commerce-timeframe-facet',\n  react: React,\n  elementClass: LitAtomicCommerceTimeframeFacet,\n});\n\nexport const AtomicComponentError = createComponent({\n  tagName: 'atomic-component-error',\n  react: React,\n  elementClass: LitAtomicComponentError,\n});\n\nexport const AtomicFocusTrap = createComponent({\n  tagName: 'atomic-focus-trap',\n  react: React,\n  elementClass: LitAtomicFocusTrap,\n});\n\nexport const AtomicIcon = createComponent({\n  tagName: 'atomic-icon',\n  react: React,\n  elementClass: LitAtomicIcon,\n});\n\nexport const AtomicInsightGenerateAnswerButton = createComponent({\n  tagName: 'atomic-insight-generate-answer-button',\n  react: React,\n  elementClass: LitAtomicInsightGenerateAnswerButton,\n});\n\nexport const AtomicInsightInterface = createComponent({\n  tagName: 'atomic-insight-interface',\n  react: React,\n  elementClass: LitAtomicInsightInterface,\n});\n\nexport const AtomicLayoutSection = createComponent({\n  tagName: 'atomic-layout-section',\n  react: React,\n  elementClass: LitAtomicLayoutSection,\n});\n\nexport const AtomicNumericRange = createComponent({\n  tagName: 'atomic-numeric-range',\n  react: React,\n  elementClass: LitAtomicNumericRange,\n});\n\nexport const AtomicProduct = createComponent({\n  tagName: 'atomic-product',\n  react: React,\n  elementClass: LitAtomicProduct,\n});\n\nexport const AtomicProductChildren = createComponent({\n  tagName: 'atomic-product-children',\n  react: React,\n  elementClass: LitAtomicProductChildren,\n});\n\nexport const AtomicProductDescription = createComponent({\n  tagName: 'atomic-product-description',\n  react: React,\n  elementClass: LitAtomicProductDescription,\n});\n\nexport const AtomicProductExcerpt = createComponent({\n  tagName: 'atomic-product-excerpt',\n  react: React,\n  elementClass: LitAtomicProductExcerpt,\n});\n\nexport const AtomicProductFieldCondition = createComponent({\n  tagName: 'atomic-product-field-condition',\n  react: React,\n  elementClass: LitAtomicProductFieldCondition,\n});\n\nexport const AtomicProductImage = createComponent({\n  tagName: 'atomic-product-image',\n  react: React,\n  elementClass: LitAtomicProductImage,\n});\n\nexport const AtomicProductLink = createComponent({\n  tagName: 'atomic-product-link',\n  react: React,\n  elementClass: LitAtomicProductLink,\n});\n\nexport const AtomicProductMultiValueText = createComponent({\n  tagName: 'atomic-product-multi-value-text',\n  react: React,\n  elementClass: LitAtomicProductMultiValueText,\n});\n\nexport const AtomicProductNumericFieldValue = createComponent({\n  tagName: 'atomic-product-numeric-field-value',\n  react: React,\n  elementClass: LitAtomicProductNumericFieldValue,\n});\n\nexport const AtomicProductPrice = createComponent({\n  tagName: 'atomic-product-price',\n  react: React,\n  elementClass: LitAtomicProductPrice,\n});\n\nexport const AtomicProductRating = createComponent({\n  tagName: 'atomic-product-rating',\n  react: React,\n  elementClass: LitAtomicProductRating,\n});\n\nexport const AtomicProductSectionActions = createComponent({\n  tagName: 'atomic-product-section-actions',\n  react: React,\n  elementClass: LitAtomicProductSectionActions,\n});\n\nexport const AtomicProductSectionBadges = createComponent({\n  tagName: 'atomic-product-section-badges',\n  react: React,\n  elementClass: LitAtomicProductSectionBadges,\n});\n\nexport const AtomicProductSectionBottomMetadata = createComponent({\n  tagName: 'atomic-product-section-bottom-metadata',\n  react: React,\n  elementClass: LitAtomicProductSectionBottomMetadata,\n});\n\nexport const AtomicProductSectionChildren = createComponent({\n  tagName: 'atomic-product-section-children',\n  react: React,\n  elementClass: LitAtomicProductSectionChildren,\n});\n\nexport const AtomicProductSectionDescription = createComponent({\n  tagName: 'atomic-product-section-description',\n  react: React,\n  elementClass: LitAtomicProductSectionDescription,\n});\n\nexport const AtomicProductSectionEmphasized = createComponent({\n  tagName: 'atomic-product-section-emphasized',\n  react: React,\n  elementClass: LitAtomicProductSectionEmphasized,\n});\n\nexport const AtomicProductSectionMetadata = createComponent({\n  tagName: 'atomic-product-section-metadata',\n  react: React,\n  elementClass: LitAtomicProductSectionMetadata,\n});\n\nexport const AtomicProductSectionName = createComponent({\n  tagName: 'atomic-product-section-name',\n  react: React,\n  elementClass: LitAtomicProductSectionName,\n});\n\nexport const AtomicProductSectionVisual = createComponent({\n  tagName: 'atomic-product-section-visual',\n  react: React,\n  elementClass: LitAtomicProductSectionVisual,\n});\n\nexport const AtomicProductText = createComponent({\n  tagName: 'atomic-product-text',\n  react: React,\n  elementClass: LitAtomicProductText,\n});\n","import type {i18n} from '@eternal-baguette/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 '@eternal-baguette/atomic/components';\nimport type {\n  ItemDisplayDensity,\n  ItemDisplayImageSize,\n  ItemDisplayLayout,\n} from '@eternal-baguette/atomic/loader';\nimport type {Product} from '@eternal-baguette/headless/commerce';\nimport React, {type JSX, useEffect, useRef} from 'react';\nimport {createRoot} from 'react-dom/client';\nimport {renderToString} from 'react-dom/server';\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?: ItemDisplayDensity;\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?: ItemDisplayLayout;\n  /**\n   * The expected size of the image displayed for products.\n   */\n  imageSize?: ItemDisplayImageSize;\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      (product, root, linkContainer) => {\n        const templateResult = template(product as Product);\n        if (hasLinkTemplate(templateResult)) {\n          createRoot(linkContainer!).render(templateResult.linkTemplate);\n          createRoot(root).render(templateResult.contentTemplate);\n          return renderToString(templateResult.contentTemplate);\n        }\n        if (linkContainer !== undefined) {\n          createRoot(root).render(templateResult);\n          otherProps.display === 'grid'\n            ? createRoot(linkContainer).render(\n                <AtomicProductLink></AtomicProductLink>\n              )\n            : // biome-ignore lint/complexity/noUselessFragments: <>\n              createRoot(linkContainer).render(<></>);\n        }\n        return renderToString(templateResult);\n      }\n    );\n  }, [otherProps.display, template]);\n  return (\n    <LitAtomicCommerceProductList\n      ref={commerceProductListRef}\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","import type {i18n} from '@eternal-baguette/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 '@eternal-baguette/atomic/components';\nimport type {\n  ItemDisplayBasicLayout,\n  ItemDisplayDensity,\n  ItemDisplayImageSize,\n} from '@eternal-baguette/atomic/loader';\nimport type {Product} from '@eternal-baguette/headless/commerce';\nimport React, {type JSX, useEffect, useRef} from 'react';\nimport {createRoot} from 'react-dom/client';\nimport {renderToString} from 'react-dom/server';\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          createRoot(linkContainer!).render(templateResult.linkTemplate);\n          createRoot(root).render(templateResult.contentTemplate);\n          return renderToString(templateResult.contentTemplate);\n        } else {\n          createRoot(root).render(templateResult);\n          otherProps.display === 'grid'\n            ? createRoot(linkContainer!).render(\n                <AtomicProductLink></AtomicProductLink>\n              )\n            : // biome-ignore lint/complexity/noUselessFragments: <>\n              createRoot(linkContainer!).render(<></>);\n          return renderToString(templateResult);\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","LitAtomicIcon","LitAtomicInsightGenerateAnswerButton","LitAtomicInsightInterface","LitAtomicLayoutSection","LitAtomicNumericRange","LitAtomicProduct","LitAtomicProductChildren","LitAtomicProductDescription","LitAtomicProductExcerpt","LitAtomicProductFieldCondition","LitAtomicProductImage","LitAtomicProductLink","LitAtomicProductMultiValueText","LitAtomicProductNumericFieldValue","LitAtomicProductPrice","LitAtomicProductRating","LitAtomicProductSectionActions","LitAtomicProductSectionBadges","LitAtomicProductSectionBottomMetadata","LitAtomicProductSectionChildren","LitAtomicProductSectionDescription","LitAtomicProductSectionEmphasized","LitAtomicProductSectionMetadata","LitAtomicProductSectionName","LitAtomicProductSectionVisual","LitAtomicProductText","DefaultProps","InterfaceWrapper","ListWrapper","hasLinkTemplate"],"mappings":"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"}