@asantemedia-org/leybold-design-system 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/classnames/index.js","../src/components/Button/Button.tsx","../src/components/Pagination/PaginationItem.tsx","../src/components/Pagination/PaginationButton.tsx","../src/components/Pagination/PaginationEllipsis.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Image/Image.tsx","../src/components/ProductCardHorizontal/ProductCardHorizontal.tsx","../src/components/ProductCardDetails/ProductCardDetails.tsx","../src/experience/algolia-dynamic-search/AlgoliaDynamicSearch.tsx","../src/experience/qr-form-journey/QrFormJourney.tsx","../src/components/SearchModal/ModalCloseButton.tsx","../src/components/SearchModal/SearchModal.tsx","../src/components/SearchBar/SearchIcon.tsx","../src/components/SearchBar/SearchInput.tsx","../src/components/SearchBar/SearchSubmitButton.tsx","../src/components/SearchBar/SearchBar.tsx","../src/components/ResultsCount/ResultsCount.tsx","../src/components/SeeAllLinkButton/SeeAllLinkButton.tsx","../src/components/ResultsColumn/ResultsColumn.tsx","../src/components/ContentCardHorizontal/ContentCardHorizontal.tsx","../src/components/InstantResults/FederatedInstantResultsLayout.tsx","../src/components/Filters/FilterSearch.tsx","../src/components/Filters/FilterItem.tsx","../src/components/Filters/FilterAccordion.tsx","../src/components/Filters/AppliedFilterTag.tsx","../src/components/Filters/AppliedFilters.tsx","../src/components/Filters/FiltersPanel.tsx","../src/components/ResultsView/ResultsList.tsx","../src/components/ResultsView/FederatedResultsView.tsx","../src/experience/federated-search/FederatedSearchExperience.tsx","../src/components/SearchTriggerButton/SearchTriggerButton.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react';\nimport styles from './Button.module.scss';\nimport classNames from 'classnames';\n\nexport interface ButtonProps {\n /**\n * Button content\n */\n children: React.ReactNode;\n /**\n * Button variant\n */\n variant?: 'primary' | 'secondary' | 'outline' | 'text';\n /**\n * Button size\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Is button disabled?\n */\n disabled?: boolean;\n /**\n * Optional click handler\n */\n onClick?: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n /**\n * Button type\n */\n type?: 'button' | 'submit' | 'reset';\n /**\n * Additional CSS classes\n */\n className?: string;\n}\n\n/**\n * Primary UI component for user interaction\n */\nexport const Button: React.FC<ButtonProps> = ({\n children,\n variant = 'primary',\n size = 'medium',\n disabled = false,\n onClick,\n type = 'button',\n className,\n ...props\n}) => {\n const buttonClasses = classNames(\n styles.button,\n styles[`button--${variant}`],\n styles[`button--${size}`],\n {\n [styles['button--disabled']]: disabled,\n },\n className\n );\n\n return (\n <button\n type={type}\n className={buttonClasses}\n disabled={disabled}\n onClick={onClick}\n {...props}\n >\n {children}\n </button>\n );\n};\n\n","import React from \"react\";\nimport { PaginationItemProps } from \"./Pagination.types\";\nimport styles from \"./Pagination.module.scss\";\n\nexport const PaginationItem: React.FC<PaginationItemProps> = ({\n page,\n isActive,\n onClick,\n className,\n}) => {\n const handleClick = () => {\n if (!isActive) {\n onClick(page);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n handleClick();\n }\n };\n\n return (\n <li className={styles.paginationItem}>\n <button\n type=\"button\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n className={`${styles.pageButton} ${isActive ? styles.pageButtonActive : \"\"} ${className || \"\"}`}\n aria-current={isActive ? \"page\" : undefined}\n aria-label={`Page ${page}`}\n disabled={isActive}\n tabIndex={isActive ? -1 : 0}\n >\n {page}\n </button>\n </li>\n );\n};\n\n","import React from \"react\";\nimport { PaginationButtonProps } from \"./Pagination.types\";\nimport styles from \"./Pagination.module.scss\";\n\nexport const PaginationButton: React.FC<PaginationButtonProps> = ({\n label,\n disabled,\n onClick,\n direction,\n className,\n ariaLabel,\n}) => {\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n if (!disabled) {\n onClick();\n }\n }\n };\n\n return (\n <li className={styles.paginationItem}>\n <button\n type=\"button\"\n onClick={onClick}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n className={`${styles.navButton} ${styles[`navButton--${direction}`]} ${disabled ? styles.navButtonDisabled : \"\"} ${className || \"\"}`}\n aria-label={ariaLabel || label}\n tabIndex={disabled ? -1 : 0}\n >\n {direction === \"previous\" && (\n <svg\n className={styles.navIcon}\n width=\"8\"\n height=\"12\"\n viewBox=\"0 0 8 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M6 10L2 6L6 2\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n <span>{label}</span>\n {direction === \"next\" && (\n <svg\n className={styles.navIcon}\n width=\"8\"\n height=\"12\"\n viewBox=\"0 0 8 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 2L6 6L2 10\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </button>\n </li>\n );\n};\n\n","import React from \"react\";\nimport { PaginationEllipsisProps } from \"./Pagination.types\";\nimport styles from \"./Pagination.module.scss\";\n\nexport const PaginationEllipsis: React.FC<PaginationEllipsisProps> = ({ className }) => {\n return (\n <li className={`${styles.paginationItem} ${styles.ellipsis}`} aria-hidden=\"true\">\n <span className={`${styles.ellipsisText} ${className || \"\"}`}>...</span>\n </li>\n );\n};\n\n","import React, { useMemo } from \"react\";\nimport { PaginationProps } from \"./Pagination.types\";\nimport { PaginationItem } from \"./PaginationItem\";\nimport { PaginationButton } from \"./PaginationButton\";\nimport { PaginationEllipsis } from \"./PaginationEllipsis\";\nimport styles from \"./Pagination.module.scss\";\n\n/**\n * Generate page numbers to display with ellipsis logic\n */\nconst generatePageNumbers = (\n currentPage: number,\n totalPages: number,\n maxVisiblePages: number\n): (number | \"ellipsis-start\" | \"ellipsis-end\")[] => {\n if (totalPages <= maxVisiblePages) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: (number | \"ellipsis-start\" | \"ellipsis-end\")[] = [];\n const halfVisible = Math.floor(maxVisiblePages / 2);\n\n // Always show first page\n pages.push(1);\n\n let startPage = Math.max(2, currentPage - halfVisible);\n let endPage = Math.min(totalPages - 1, currentPage + halfVisible);\n\n // Adjust if we're near the start\n if (currentPage <= halfVisible + 1) {\n endPage = Math.min(maxVisiblePages - 1, totalPages - 1);\n startPage = 2;\n }\n\n // Adjust if we're near the end\n if (currentPage >= totalPages - halfVisible) {\n startPage = Math.max(2, totalPages - maxVisiblePages + 2);\n endPage = totalPages - 1;\n }\n\n // Add ellipsis after first page if needed\n if (startPage > 2) {\n pages.push(\"ellipsis-start\");\n }\n\n // Add middle pages\n for (let i = startPage; i <= endPage; i++) {\n pages.push(i);\n }\n\n // Add ellipsis before last page if needed\n if (endPage < totalPages - 1) {\n pages.push(\"ellipsis-end\");\n }\n\n // Always show last page\n if (totalPages > 1) {\n pages.push(totalPages);\n }\n\n return pages;\n};\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage,\n totalPages,\n onPageChange,\n maxVisiblePages = 10,\n showPrevious = true,\n showNext = true,\n previousLabel = \"Previous\",\n nextLabel = \"Next\",\n className,\n ariaLabel = \"Pagination\",\n}) => {\n const pageNumbers = useMemo(\n () => generatePageNumbers(currentPage, totalPages, maxVisiblePages),\n [currentPage, totalPages, maxVisiblePages]\n );\n\n const handlePageChange = (page: number) => {\n if (page >= 1 && page <= totalPages && page !== currentPage) {\n onPageChange(page);\n }\n };\n\n const handlePrevious = () => {\n handlePageChange(currentPage - 1);\n };\n\n const handleNext = () => {\n handlePageChange(currentPage + 1);\n };\n\n // Don't render if there's only one page or no pages\n if (totalPages <= 1) {\n return null;\n }\n\n return (\n <nav\n className={`${styles.pagination} ${className || \"\"}`}\n aria-label={ariaLabel}\n role=\"navigation\"\n >\n <ul className={styles.paginationList}>\n {showPrevious && (\n <PaginationButton\n label={previousLabel}\n disabled={currentPage === 1}\n onClick={handlePrevious}\n direction=\"previous\"\n ariaLabel=\"Go to previous page\"\n />\n )}\n\n {pageNumbers.map((page, index) => {\n if (page === \"ellipsis-start\" || page === \"ellipsis-end\") {\n return <PaginationEllipsis key={`ellipsis-${index}`} />;\n }\n\n return (\n <PaginationItem\n key={page}\n page={page}\n isActive={page === currentPage}\n onClick={handlePageChange}\n />\n );\n })}\n\n {showNext && (\n <PaginationButton\n label={nextLabel}\n disabled={currentPage === totalPages}\n onClick={handleNext}\n direction=\"next\"\n ariaLabel=\"Go to next page\"\n />\n )}\n </ul>\n </nav>\n );\n};\n\n","import React, { useState, useCallback } from \"react\";\nimport { ImageProps } from \"./Image.types\";\nimport styles from \"./Image.module.scss\";\n\nexport const Image: React.FC<ImageProps> = ({\n src,\n alt,\n width,\n height,\n loading = \"lazy\",\n decoding = \"async\",\n objectFit = \"cover\",\n objectPosition = \"center\",\n aspectRatio,\n isDecorative = false,\n fallbackSrc,\n onLoad,\n onError,\n className = \"\",\n srcSet,\n sizes,\n}) => {\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentSrc, setCurrentSrc] = useState(src);\n\n const handleLoad = useCallback(() => {\n setIsLoading(false);\n setHasError(false);\n onLoad?.();\n }, [onLoad]);\n\n const handleError = useCallback(() => {\n setIsLoading(false);\n setHasError(true);\n\n // Try fallback if available and not already using it\n if (fallbackSrc && currentSrc !== fallbackSrc) {\n setCurrentSrc(fallbackSrc);\n setHasError(false);\n setIsLoading(true);\n } else {\n onError?.();\n }\n }, [fallbackSrc, currentSrc, onError]);\n\n // Accessibility: decorative images should have empty alt and be hidden from screen readers\n const accessibilityProps = isDecorative\n ? { alt: \"\", \"aria-hidden\": true as const, role: \"presentation\" as const }\n : { alt };\n\n const containerStyle: React.CSSProperties = {\n ...(aspectRatio && { aspectRatio }),\n ...(width && { width: typeof width === \"number\" ? `${width}px` : width }),\n ...(height && { height: typeof height === \"number\" ? `${height}px` : height }),\n };\n\n const imageStyle: React.CSSProperties = {\n objectFit,\n objectPosition,\n };\n\n return (\n <div\n className={`${styles.imageContainer} ${className} ${isLoading ? styles.loading : \"\"} ${hasError ? styles.error : \"\"}`}\n style={containerStyle}\n >\n {isLoading && (\n <div className={styles.skeleton} aria-hidden=\"true\">\n <div className={styles.shimmer} />\n </div>\n )}\n\n {hasError && !fallbackSrc ? (\n <div className={styles.errorState} role=\"img\" aria-label={alt || \"Image failed to load\"}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={styles.errorIcon}\n aria-hidden=\"true\"\n >\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\" />\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" />\n <polyline points=\"21 15 16 10 5 21\" />\n </svg>\n <span className={styles.errorText}>Image unavailable</span>\n </div>\n ) : (\n <img\n src={currentSrc}\n {...accessibilityProps}\n width={width}\n height={height}\n loading={loading}\n decoding={decoding}\n onLoad={handleLoad}\n onError={handleError}\n className={styles.image}\n style={imageStyle}\n srcSet={srcSet}\n sizes={sizes}\n />\n )}\n </div>\n );\n};\n\nexport default Image;\n\n","import React from \"react\";\nimport { ProductCardHorizontalProps } from \"../../types/cards\";\nimport styles from \"./ProductCardHorizontal.module.scss\";\nimport { Button } from \"../Button\";\nimport { Image } from \"../Image\";\n\nexport const ProductCardHorizontal: React.FC<ProductCardHorizontalProps> = ({\n id,\n imageUrl,\n url,\n title,\n description,\n price,\n button,\n className = \"\",\n}) => {\n if (!title) {\n return null;\n }\n\n return (\n <a\n href={url}\n className={`${styles.productCard} ${className}`}\n aria-label={`View product: ${title}`}\n >\n <div className={`${styles.productWrapper} ${imageUrl ? styles.withImage : \"\"}`}>\n {imageUrl && (\n <div className={styles.productImage}>\n <Image src={imageUrl} alt={title} />\n </div>\n )}\n <div className={styles.productTitleDescriptionWrapper}>\n <h3 className={styles.productTitle}>{title}</h3>\n {description && <p className={styles.productDescription}>{description}</p>}\n </div>\n <div className={styles.productPriceCtaWrapper}>\n <p className={styles.productPrice}>{price || \" \"}</p>\n {button && (\n <Button className={styles.productButton} onClick={button.onClick} size=\"small\">\n {button.label}\n </Button>\n )}\n </div>\n </div>\n </a>\n );\n};\n\n// Alias for backward compatibility\nexport const ProductCardHorizontalParts = ProductCardHorizontal;\n","import React from \"react\";\n// @ts-ignore - ProductDetailsCard is exported but types may not be updated yet\nimport { ProductDetailsCard as ProductDetailsCardBase } from \"@asantemedia-org/edwardsvacuum-design-system\";\nimport { ProductCardHorizontalParts } from \"../ProductCardHorizontal/ProductCardHorizontal\";\nimport { ProductCardDetailsProps } from \"../../types/cards\";\nimport styles from \"./ProductCardDetails.module.scss\";\n\n// Adapter to map design system props to ProductCardHorizontalParts props\nconst SpareCardAdapter = (props: any) => {\n const { spare, ...rest } = props;\n\n return (\n <ProductCardHorizontalParts\n url={spare?.url || spare?.link || \"#\"}\n title={spare?.name || spare?.title || \"\"}\n description={spare?.description || \"\"}\n price={spare?.priceValue || spare?.price || \"\"}\n imageUrl={spare?.[\"img-product\"] || spare?.image || \"\"}\n button={{\n label: rest.cta || \"View Product\",\n onClick: () => window.open(spare?.url || spare?.link || \"#\", \"_blank\"),\n }}\n />\n );\n};\n\n// Re-export the design system component with Leybold styling\nexport const ProductCardDetails: React.FC<ProductCardDetailsProps> = ({\n id,\n imageUrl,\n title,\n description,\n price,\n code,\n facets,\n hit,\n className = \"\",\n ProductCardComponent,\n}) => {\n // Build the hit object expected by ProductDetailsCard\n const hitData = hit || {\n id,\n title,\n description,\n price,\n code,\n image: imageUrl,\n };\n\n return (\n <div className={styles.productDetails}>\n <ProductDetailsCardBase\n className={`${className}`}\n title={title}\n imageUrl={imageUrl}\n imageAlt={title}\n hit={hitData}\n facets={facets}\n usePlainClasses={true}\n ProductCardComponent={ProductCardComponent || SpareCardAdapter}\n />\n </div>\n );\n};\n\nexport default ProductCardDetails;\n","import React from \"react\";\nimport { AlgoliaDynamicSearchRaw } from \"@asantemedia-org/edwardsvacuum-design-system\";\n\nimport {\n ProductCardHorizontal,\n ProductCardHorizontalParts,\n} from \"../../components/ProductCardHorizontal/ProductCardHorizontal\";\n\nimport { ProductCardDetails } from \"../../components/ProductCardDetails/ProductCardDetails\";\n\nimport \"./AlgoliaDynamicSearch.scss\";\n\n// Adapter component that maps props from AlgoliaDynamicSearchRaw to ProductCardHorizontal\n// AlgoliaDynamicSearchRaw passes: title, cardLink, productPrice, cta, hit (original data)\nconst ProductCardAdapter = (props: any) => {\n const { hit, title, cardLink, productPrice, cta, showProductPrice, className, code } = props;\n console.log(props);\n // Get values from direct props or fallback to hit object\n const url = cardLink || hit?.link || \"#\";\n const imageUrl = \"\";\n const price = showProductPrice ? productPrice || hit?.price || \"\" : \"\";\n const productTitle = title || hit?.title || \"\";\n const productCode = code || hit?.code || \"\";\n const buttonLabel = cta || \"View Product\";\n\n return (\n <ProductCardHorizontalParts\n imageUrl={imageUrl}\n url={url}\n title={productTitle}\n description={productCode}\n price={price}\n button={{ label: buttonLabel, onClick: () => window.open(url, \"_blank\") }}\n className={className}\n />\n );\n};\n\nconst ProductCardDetailsAdapter = (props: any) => {\n const {\n hit,\n title,\n cardLink,\n productPrice,\n cta,\n showProductPrice,\n className,\n code,\n facets,\n related_products,\n } = props;\n if (!title) {\n return null;\n }\n return (\n <ProductCardDetails\n imageUrl={hit?.image || \"\"}\n title={title}\n description={hit?.description || \"\"}\n price={hit?.price || \"\" || productPrice}\n code={hit?.code || \"\" || code}\n hit={hit}\n className={className}\n facets={facets}\n relatedProducts={hit?.related_products || related_products}\n />\n );\n};\n\nexport const AlgoliaDynamicSearchLeybold = (props: any) => {\n const innerComponents = {\n ProductCard: ProductCardAdapter,\n ProductDetailsCard: ProductCardDetailsAdapter,\n };\n\n return <AlgoliaDynamicSearchRaw {...props} innerComponents={innerComponents} />;\n};\n\nexport default AlgoliaDynamicSearchLeybold;\n","import React from \"react\";\nimport { QrForm } from \"@asantemedia-org/edwardsvacuum-design-system\";\nimport \"./QrFormJourney.scss\";\nimport { Button } from \"../../components/Button\";\n\n// Adapter to map QrForm's expected button props to our Button component\ninterface QrFormButtonProps {\n label?: string;\n onClick?: (e: React.MouseEvent) => void;\n buttonStyle?: \"primary\" | \"secondary\";\n href?: string;\n target?: string;\n type?: \"button\" | \"submit\";\n element?: \"a\" | \"button\";\n \"data-page_target\"?: number;\n className?: string;\n}\n\nconst QrFormButtonAdapter: React.FC<QrFormButtonProps> = ({\n label,\n onClick,\n buttonStyle = \"primary\",\n href,\n target,\n type = \"button\",\n element,\n \"data-page_target\": pageTarget,\n className,\n}) => {\n // Map buttonStyle to our variant\n const variant = buttonStyle === \"secondary\" ? \"secondary\" : \"primary\";\n\n // If it's an anchor element (has href or element='a'), render as link\n if (element === \"a\" || href) {\n return (\n <a\n href={href}\n target={target}\n className={className}\n data-page_target={pageTarget}\n onClick={onClick}\n style={{\n display: \"inline-block\",\n textDecoration: \"none\",\n }}\n >\n <Button variant={variant} type={type}>\n {label}\n </Button>\n </a>\n );\n }\n\n // Otherwise render as button\n return (\n <Button\n variant={variant}\n type={type}\n onClick={onClick ? (e) => onClick(e as React.MouseEvent) : undefined}\n className={className}\n data-page_target={pageTarget}\n >\n {label}\n </Button>\n );\n};\n\nexport const QrFormLeybold = (props: any) => {\n return (\n <div className=\"qr-journey-form-wrapper\">\n <QrForm {...props} ButtonComponent={QrFormButtonAdapter} />\n </div>\n );\n};\n","import React from 'react';\nimport styles from './SearchModal.module.scss';\n\nexport interface ModalCloseButtonProps {\n onClick(): void;\n ariaLabel?: string;\n className?: string;\n}\n\nexport const ModalCloseButton: React.FC<ModalCloseButtonProps> = ({\n onClick,\n ariaLabel = 'Close search',\n className = '',\n}) => {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n aria-label={ariaLabel}\n className={`${styles.closeButton} ${className}`}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n </button>\n );\n};\n\n","import React, { useEffect, useRef } from 'react';\nimport { SearchModalProps } from '../../types/search';\nimport { ModalCloseButton } from './ModalCloseButton';\nimport styles from './SearchModal.module.scss';\n\nexport const SearchModal: React.FC<SearchModalProps> = ({\n isOpen,\n onClose,\n title = 'Search',\n children,\n className = '',\n}) => {\n const modalRef = useRef<HTMLDivElement>(null);\n const previouslyFocusedElement = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (isOpen) {\n // Store the previously focused element\n previouslyFocusedElement.current = document.activeElement as HTMLElement;\n\n // Focus the modal\n if (modalRef.current) {\n modalRef.current.focus();\n }\n\n // Prevent body scroll\n document.body.style.overflow = 'hidden';\n } else {\n // Restore body scroll\n document.body.style.overflow = '';\n\n // Return focus to previously focused element\n if (previouslyFocusedElement.current) {\n previouslyFocusedElement.current.focus();\n }\n }\n\n return () => {\n document.body.style.overflow = '';\n };\n }, [isOpen]);\n\n useEffect(() => {\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && isOpen) {\n onClose();\n }\n };\n\n document.addEventListener('keydown', handleEscape);\n return () => document.removeEventListener('keydown', handleEscape);\n }, [isOpen, onClose]);\n\n // Focus trap implementation\n useEffect(() => {\n if (!isOpen || !modalRef.current) return;\n\n const modal = modalRef.current;\n const focusableElements = modal.querySelectorAll<HTMLElement>(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n );\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n\n const handleTab = (event: KeyboardEvent) => {\n if (event.key !== 'Tab') return;\n\n if (event.shiftKey) {\n // Shift + Tab\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement?.focus();\n }\n } else {\n // Tab\n if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement?.focus();\n }\n }\n };\n\n modal.addEventListener('keydown', handleTab);\n return () => modal.removeEventListener('keydown', handleTab);\n }, [isOpen]);\n\n if (!isOpen) return null;\n\n const handleOverlayClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.target === event.currentTarget) {\n onClose();\n }\n };\n\n return (\n <div\n className={styles.overlay}\n onClick={handleOverlayClick}\n aria-hidden=\"true\"\n >\n <div\n ref={modalRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n tabIndex={-1}\n className={`${styles.modal} ${className}`}\n >\n <div className={styles.header}>\n <h2 className={styles.title}>{title}</h2>\n <ModalCloseButton onClick={onClose} />\n </div>\n <div className={styles.content}>{children}</div>\n </div>\n </div>\n );\n};\n\n","import React from 'react';\nimport styles from './SearchBar.module.scss';\n\nexport interface SearchIconProps {\n className?: string;\n}\n\nexport const SearchIcon: React.FC<SearchIconProps> = ({ className = '' }) => {\n return (\n <svg\n className={`${styles.searchIcon} ${className}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.35-4.35\" />\n </svg>\n );\n};\n\n","import React from 'react';\nimport styles from './SearchBar.module.scss';\n\nexport interface SearchInputProps {\n value: string;\n onChange(value: string): void;\n onKeyDown?(event: React.KeyboardEvent<HTMLInputElement>): void;\n placeholder?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nexport const SearchInput: React.FC<SearchInputProps> = ({\n value,\n onChange,\n onKeyDown,\n placeholder = 'Discover products, innovations, and resources...',\n autoFocus = false,\n className = '',\n}) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange(event.target.value);\n };\n\n return (\n <input\n type=\"text\"\n value={value}\n onChange={handleChange}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n autoFocus={autoFocus}\n aria-label=\"Search\"\n className={`${styles.searchInput} ${className}`}\n />\n );\n};\n\n","import React from 'react';\nimport styles from './SearchBar.module.scss';\n\nexport interface SearchSubmitButtonProps {\n onClick(): void;\n disabled?: boolean;\n ariaLabel?: string;\n label?: string;\n className?: string;\n}\n\nexport const SearchSubmitButton: React.FC<SearchSubmitButtonProps> = ({\n onClick,\n disabled = false,\n ariaLabel = 'Search',\n label = 'Search',\n className = '',\n}) => {\n return (\n <button\n type=\"submit\"\n onClick={onClick}\n disabled={disabled}\n aria-label={ariaLabel}\n className={`${styles.submitButton} ${className}`}\n >\n {label}\n </button>\n );\n};\n\n","import React from 'react';\nimport { SearchBarProps } from '../../types/search';\nimport { SearchIcon } from './SearchIcon';\nimport { SearchInput } from './SearchInput';\nimport { SearchSubmitButton } from './SearchSubmitButton';\nimport styles from './SearchBar.module.scss';\n\nexport const SearchBar: React.FC<SearchBarProps> = ({\n value,\n onChange,\n onSubmit,\n placeholder,\n autoFocus = false,\n className = '',\n}) => {\n const handleSubmit = (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n onSubmit();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n onSubmit();\n }\n };\n\n return (\n <form onSubmit={handleSubmit} className={`${styles.searchBar} ${className}`}>\n <div className={styles.inputWrapper}>\n <SearchIcon />\n <SearchInput\n value={value}\n onChange={onChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n autoFocus={autoFocus}\n />\n </div>\n <SearchSubmitButton onClick={onSubmit} />\n </form>\n );\n};\n\n","import React from 'react';\nimport styles from './ResultsCount.module.scss';\n\nexport interface ResultsCountProps {\n count: number;\n type: 'products' | 'content' | 'results';\n className?: string;\n}\n\nexport const ResultsCount: React.FC<ResultsCountProps> = ({\n count,\n type,\n className = '',\n}) => {\n const label = count === 1 ? type.slice(0, -1) : type;\n \n return (\n <span className={`${styles.resultsCount} ${className}`}>\n {count} {label}\n </span>\n );\n};\n\n","import React from 'react';\nimport styles from './SeeAllLinkButton.module.scss';\n\nexport interface SeeAllLinkButtonProps {\n onClick(): void;\n label?: string;\n className?: string;\n}\n\nexport const SeeAllLinkButton: React.FC<SeeAllLinkButtonProps> = ({\n onClick,\n label = 'See all results',\n className = '',\n}) => {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n className={`${styles.seeAllButton} ${className}`}\n >\n {label}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </button>\n );\n};\n\n","import React from 'react';\nimport { ResultsColumnProps } from '../../types/search';\nimport { ResultsCount } from '../ResultsCount/ResultsCount';\nimport { SeeAllLinkButton } from '../SeeAllLinkButton/SeeAllLinkButton';\nimport styles from './ResultsColumn.module.scss';\n\nexport const ResultsColumn: React.FC<ResultsColumnProps> = ({\n title,\n count,\n isLoading,\n error,\n onSeeAll,\n children,\n className = '',\n}) => {\n return (\n <div className={`${styles.resultsColumn} ${className}`}>\n <div className={styles.columnHeader}>\n <h3 className={styles.columnTitle}>{title}</h3>\n {!isLoading && !error && count > 0 && (\n <ResultsCount\n count={count}\n type={title.toLowerCase().includes('product') ? 'products' : 'content'}\n />\n )}\n </div>\n\n {isLoading && (\n <div className={styles.loadingState}>\n <div className={styles.spinner} aria-label=\"Loading...\" />\n <p>Loading {title.toLowerCase()}...</p>\n </div>\n )}\n\n {error && (\n <div className={styles.errorState}>\n <p>{error}</p>\n </div>\n )}\n\n {!isLoading && !error && count === 0 && (\n <div className={styles.emptyState}>\n <p>No {title.toLowerCase()} found</p>\n </div>\n )}\n\n {!isLoading && !error && count > 0 && (\n <>\n <div className={styles.resultsList}>{children}</div>\n <div className={styles.columnFooter}>\n <SeeAllLinkButton onClick={onSeeAll} label={`See all ${title.toLowerCase()}`} />\n </div>\n </>\n )}\n </div>\n );\n};\n\n","import React from \"react\";\nimport { ContentCardHorizontalProps } from \"../../types/cards\";\nimport styles from \"./ContentCardHorizontal.module.scss\";\n\nexport const ContentCardHorizontal: React.FC<ContentCardHorizontalProps> = ({\n id,\n title,\n url,\n category,\n meta,\n excerpt,\n className = \"\",\n}) => {\n return (\n <a\n href={url}\n className={`${styles.contentCard} ${className}`}\n aria-label={`View content: ${title}`}\n >\n <div className={styles.contentMeta}>\n {category && <span className={styles.contentCategory}>{category}</span>}\n {meta && <span className={styles.contentMetaText}>{meta}</span>}\n </div>\n <h3 className={styles.contentTitle}>{title}</h3>\n {excerpt && <p className={styles.contentExcerpt}>{excerpt}</p>}\n </a>\n );\n};\n","import React from \"react\";\nimport { FederatedInstantResultsLayoutProps } from \"../../types/search\";\nimport { ResultsColumn } from \"../ResultsColumn/ResultsColumn\";\nimport { ProductCardHorizontal } from \"../ProductCardHorizontal/ProductCardHorizontal\";\nimport { ContentCardHorizontal } from \"../ContentCardHorizontal/ContentCardHorizontal\";\nimport { SeeAllLinkButton } from \"../SeeAllLinkButton/SeeAllLinkButton\";\nimport styles from \"./InstantResults.module.scss\";\n\nexport const FederatedInstantResultsLayout: React.FC<FederatedInstantResultsLayoutProps> = ({\n query,\n products,\n contents,\n isLoadingProducts,\n isLoadingContents,\n productsError,\n contentsError,\n onSeeAllProducts,\n onSeeAllContents,\n onSeeAllCombined,\n}) => {\n const totalResults = products.length + contents.length;\n const hasResults = totalResults > 0;\n const showCombinedButton = hasResults && !isLoadingProducts && !isLoadingContents;\n\n // Show first 3 results from each category\n const displayProducts = products.slice(0, 3);\n const displayContents = contents.slice(0, 3);\n\n return (\n <div className={styles.instantResultsLayout}>\n {query && (\n <div className={styles.queryHeader}>\n <h2 className={styles.queryText}>\n Results for <span className={styles.queryHighlight}>\"{query}\"</span>\n </h2>\n {showCombinedButton && (\n <SeeAllLinkButton onClick={onSeeAllCombined} label=\"See all results\" />\n )}\n </div>\n )}\n\n <div className={styles.columnsGrid}>\n <ResultsColumn\n title=\"Products\"\n count={products.length}\n isLoading={isLoadingProducts}\n error={productsError}\n onSeeAll={onSeeAllProducts}\n >\n {displayProducts.map((product) => (\n <ProductCardHorizontal key={product.id} {...product} />\n ))}\n </ResultsColumn>\n\n <ResultsColumn\n title=\"Content\"\n count={contents.length}\n isLoading={isLoadingContents}\n error={contentsError}\n onSeeAll={onSeeAllContents}\n >\n {displayContents.map((content) => (\n <ContentCardHorizontal key={content.id} {...content} />\n ))}\n </ResultsColumn>\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport { FilterSearchProps } from \"./Filter.types\";\nimport styles from \"./Filters.module.scss\";\n\n/**\n * FilterSearch - Search input for filtering facet values\n */\nexport const FilterSearch: React.FC<FilterSearchProps> = ({\n value,\n onChange,\n placeholder = \"Search\",\n className,\n}) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(e.target.value);\n };\n\n const handleClear = () => {\n onChange(\"\");\n };\n\n return (\n <div className={`${styles.filterSearch} ${className || \"\"}`}>\n <svg\n className={styles.searchIcon}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M7 13C10.3137 13 13 10.3137 13 7C13 3.68629 10.3137 1 7 1C3.68629 1 1 3.68629 1 7C1 10.3137 3.68629 13 7 13Z\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M15 15L11.5 11.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <input\n type=\"text\"\n value={value}\n onChange={handleChange}\n placeholder={placeholder}\n className={styles.searchInput}\n aria-label={placeholder}\n />\n {value && (\n <button\n type=\"button\"\n onClick={handleClear}\n className={styles.clearButton}\n aria-label=\"Clear search\"\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 3L3 9M3 3L9 9\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport { FilterItemProps } from \"./Filter.types\";\nimport styles from \"./Filters.module.scss\";\n\n/**\n * FilterItem - Individual facet item with checkbox and count\n */\nexport const FilterItem: React.FC<FilterItemProps> = ({ value, onToggle, className }) => {\n const handleChange = () => {\n onToggle(value.value);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onToggle(value.value);\n }\n };\n\n return (\n <label className={`${styles.filterItem} ${className || \"\"}`} onKeyDown={handleKeyDown}>\n <input\n type=\"checkbox\"\n checked={value.isRefined}\n onChange={handleChange}\n className={styles.filterCheckbox}\n aria-label={`${value.value} (${value.count} results)`}\n />\n <span className={styles.filterLabel}>{value.value}</span>\n <span className={styles.filterCount}>({value.count})</span>\n </label>\n );\n};\n\n","import React, { useState, useMemo } from \"react\";\nimport { FilterAccordionProps } from \"./Filter.types\";\nimport { FilterSearch } from \"./FilterSearch\";\nimport { FilterItem } from \"./FilterItem\";\nimport styles from \"./Filters.module.scss\";\n\n/**\n * FilterAccordion - Collapsible facet section with optional search\n */\nexport const FilterAccordion: React.FC<FilterAccordionProps> = ({\n facet,\n isExpanded,\n onToggle,\n onValueToggle,\n className,\n}) => {\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n // Filter facet values based on search query\n const filteredValues = useMemo(() => {\n if (!searchQuery.trim()) {\n return facet.values;\n }\n const query = searchQuery.toLowerCase();\n return facet.values.filter((value) => value.value.toLowerCase().includes(query));\n }, [facet.values, searchQuery]);\n\n const handleToggle = () => {\n onToggle();\n // Clear search when collapsing\n if (isExpanded) {\n setSearchQuery(\"\");\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleToggle();\n }\n };\n\n const handleValueToggle = (value: string) => {\n onValueToggle(facet.attribute, value);\n };\n\n return (\n <div className={`${styles.filterAccordion} ${className || \"\"}`}>\n <button\n type=\"button\"\n className={`${styles.accordionHeader} ${isExpanded ? styles.accordionHeaderExpanded : \"\"}`}\n onClick={handleToggle}\n onKeyDown={handleKeyDown}\n aria-expanded={isExpanded}\n aria-controls={`accordion-${facet.id}`}\n >\n <span className={styles.accordionTitle}>{facet.label}</span>\n <svg\n className={`${styles.accordionIcon} ${isExpanded ? styles.accordionIconExpanded : \"\"}`}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M4 6L8 10L12 6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n\n {isExpanded && (\n <div id={`accordion-${facet.id}`} className={styles.accordionContent}>\n {/* Search input for searchable facets */}\n {facet.searchable && facet.values.length > 5 && (\n <div className={styles.accordionSearch}>\n <FilterSearch value={searchQuery} onChange={setSearchQuery} placeholder=\"Search\" />\n </div>\n )}\n\n {/* Facet values list */}\n <div className={styles.filterList}>\n {filteredValues.length > 0 ? (\n filteredValues.map((value) => (\n <FilterItem key={value.value} value={value} onToggle={handleValueToggle} />\n ))\n ) : (\n <div className={styles.noResults}>No results found</div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"./Filters.module.scss\";\n\nexport interface AppliedFilterTagProps {\n /**\n * Facet attribute (e.g., \"category\")\n */\n attribute: string;\n /**\n * Facet value (e.g., \"Kits\")\n */\n value: string;\n /**\n * Display label (optional, defaults to value)\n */\n label?: string;\n /**\n * Callback when tag is removed\n */\n onRemove: (attribute: string, value: string) => void;\n /**\n * Additional CSS class\n */\n className?: string;\n}\n\n/**\n * AppliedFilterTag - Individual removable filter tag/chip\n */\nexport const AppliedFilterTag: React.FC<AppliedFilterTagProps> = ({\n attribute,\n value,\n label,\n onRemove,\n className,\n}) => {\n const handleRemove = () => {\n onRemove(attribute, value);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleRemove();\n }\n };\n\n return (\n <div className={`${styles.appliedFilterTag} ${className || \"\"}`}>\n <span className={styles.tagLabel}>{label || value}</span>\n <button\n type=\"button\"\n onClick={handleRemove}\n onKeyDown={handleKeyDown}\n className={styles.tagRemoveButton}\n aria-label={`Remove ${label || value} filter`}\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M9 3L3 9M3 3L9 9\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n );\n};\n\n","import React, { useMemo } from \"react\";\nimport { AppliedFilterTag } from \"./AppliedFilterTag\";\nimport { Facet } from \"./Filter.types\";\nimport styles from \"./Filters.module.scss\";\n\nexport interface AppliedFiltersProps {\n /**\n * List of facets with selected values\n */\n facets: Facet[];\n /**\n * Callback when a filter is removed\n */\n onRemove: (attribute: string, value: string) => void;\n /**\n * Callback when all filters are cleared\n */\n onClearAll?: () => void;\n /**\n * Additional CSS class\n */\n className?: string;\n}\n\n/**\n * AppliedFilters - Shows all active filters as removable tags\n */\nexport const AppliedFilters: React.FC<AppliedFiltersProps> = ({\n facets,\n onRemove,\n onClearAll,\n className,\n}) => {\n // Extract all refined (selected) filters\n const appliedFilters = useMemo(() => {\n const filters: Array<{ attribute: string; value: string; label: string; facetLabel: string }> =\n [];\n\n facets.forEach((facet) => {\n facet.values.forEach((value) => {\n if (value.isRefined) {\n filters.push({\n attribute: facet.attribute,\n value: value.value,\n label: value.value,\n facetLabel: facet.label,\n });\n }\n });\n });\n\n return filters;\n }, [facets]);\n\n // Don't render if no filters are applied\n if (appliedFilters.length === 0) {\n return null;\n }\n\n const handleClearAll = () => {\n if (onClearAll) {\n onClearAll();\n } else {\n // If no clearAll handler, remove each filter individually\n appliedFilters.forEach((filter) => {\n onRemove(filter.attribute, filter.value);\n });\n }\n };\n\n return (\n <div className={`${styles.appliedFilters} ${className || \"\"}`}>\n <div className={styles.appliedFiltersHeader}>\n <h4 className={styles.appliedFiltersTitle}>\n Applied filters\n {appliedFilters.length > 0 && (\n <span className={styles.appliedFiltersCount}>({appliedFilters.length})</span>\n )}\n </h4>\n {appliedFilters.length > 1 && (\n <button\n type=\"button\"\n onClick={handleClearAll}\n className={styles.clearAllButton}\n aria-label=\"Clear all filters\"\n >\n Clear all\n </button>\n )}\n </div>\n\n <div className={styles.appliedFiltersList}>\n {appliedFilters.map((filter) => (\n <AppliedFilterTag\n key={`${filter.attribute}-${filter.value}`}\n attribute={filter.attribute}\n value={filter.value}\n label={filter.label}\n onRemove={onRemove}\n />\n ))}\n </div>\n </div>\n );\n};\n","import React, { useState, useCallback } from \"react\";\nimport { FiltersPanelProps } from \"./Filter.types\";\nimport { FilterAccordion } from \"./FilterAccordion\";\nimport { AppliedFilters } from \"./AppliedFilters\";\nimport styles from \"./Filters.module.scss\";\n\n/**\n * FiltersPanel - Main container for all filters\n */\nexport const FiltersPanel: React.FC<FiltersPanelProps> = ({\n facets,\n onFacetToggle,\n isLoading = false,\n className,\n}) => {\n // Track which accordions are expanded\n const [expandedAccordions, setExpandedAccordions] = useState<Set<string>>(() => {\n // Initialize with default expanded facets\n const expanded = new Set<string>();\n facets.forEach((facet) => {\n if (facet.defaultExpanded) {\n expanded.add(facet.id);\n }\n });\n return expanded;\n });\n\n const handleAccordionToggle = useCallback((facetId: string) => {\n setExpandedAccordions((prev) => {\n const next = new Set(prev);\n if (next.has(facetId)) {\n next.delete(facetId);\n } else {\n next.add(facetId);\n }\n return next;\n });\n }, []);\n\n const handleValueToggle = useCallback(\n (attribute: string, value: string) => {\n onFacetToggle(attribute, value);\n },\n [onFacetToggle]\n );\n\n const handleRemoveFilter = useCallback(\n (attribute: string, value: string) => {\n onFacetToggle(attribute, value);\n },\n [onFacetToggle]\n );\n\n const handleClearAll = useCallback(() => {\n // Remove all refined facets\n facets.forEach((facet) => {\n facet.values.forEach((value) => {\n if (value.isRefined) {\n onFacetToggle(facet.attribute, value.value);\n }\n });\n });\n }, [facets, onFacetToggle]);\n\n if (isLoading) {\n return (\n <div className={`${styles.filtersPanel} ${className || \"\"}`}>\n <div className={styles.filtersPanelHeader}>\n <h3 className={styles.filtersPanelTitle}>Filters</h3>\n </div>\n <div className={styles.loadingState}>\n <div className={styles.spinner} />\n <p>Loading filters...</p>\n </div>\n </div>\n );\n }\n\n if (!facets || facets.length === 0) {\n return null;\n }\n\n return (\n <div className={`${styles.filtersPanel} ${className || \"\"}`}>\n <div className={styles.filtersPanelHeader}>\n <h3 className={styles.filtersPanelTitle}>Filters</h3>\n </div>\n\n {/* Applied Filters Section */}\n <AppliedFilters facets={facets} onRemove={handleRemoveFilter} onClearAll={handleClearAll} />\n\n <div className={styles.filtersList}>\n {facets.map((facet) => (\n <FilterAccordion\n key={facet.id}\n facet={facet}\n isExpanded={expandedAccordions.has(facet.id)}\n onToggle={() => handleAccordionToggle(facet.id)}\n onValueToggle={handleValueToggle}\n />\n ))}\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport { ResultsListProps } from '../../types/search';\nimport { ProductCardHorizontal } from '../ProductCardHorizontal/ProductCardHorizontal';\nimport { ContentCardHorizontal } from '../ContentCardHorizontal/ContentCardHorizontal';\nimport styles from './ResultsView.module.scss';\n\nexport const ResultsList: React.FC<ResultsListProps> = ({\n type,\n products = [],\n contents = [],\n isLoading,\n error,\n className = '',\n}) => {\n if (isLoading) {\n return (\n <div className={`${styles.loadingState} ${className}`}>\n <div className={styles.spinner} aria-label=\"Loading...\" />\n <p>Loading results...</p>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`${styles.errorState} ${className}`}>\n <p>{error}</p>\n </div>\n );\n }\n\n const hasProducts = products.length > 0;\n const hasContents = contents.length > 0;\n const hasResults = hasProducts || hasContents;\n\n if (!hasResults) {\n return (\n <div className={`${styles.emptyState} ${className}`}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={styles.emptyIcon}\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.35-4.35\" />\n </svg>\n <h3>No results found</h3>\n <p>Try adjusting your search or filters to find what you're looking for.</p>\n </div>\n );\n }\n\n // Render based on type\n if (type === 'products') {\n return (\n <div className={`${styles.resultsList} ${className}`}>\n {products.map((product) => (\n <ProductCardHorizontal key={product.id} {...product} />\n ))}\n </div>\n );\n }\n\n if (type === 'content') {\n return (\n <div className={`${styles.resultsList} ${className}`}>\n {contents.map((content) => (\n <ContentCardHorizontal key={content.id} {...content} />\n ))}\n </div>\n );\n }\n\n // type === 'all' - Show mixed results\n return (\n <div className={`${styles.resultsList} ${className}`}>\n {hasProducts && (\n <div className={styles.resultsSection}>\n <h3 className={styles.sectionTitle}>Products ({products.length})</h3>\n {products.map((product) => (\n <ProductCardHorizontal key={product.id} {...product} />\n ))}\n </div>\n )}\n {hasContents && (\n <div className={styles.resultsSection}>\n <h3 className={styles.sectionTitle}>Content ({contents.length})</h3>\n {contents.map((content) => (\n <ContentCardHorizontal key={content.id} {...content} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\n","import React from \"react\";\nimport { FederatedResultsViewProps } from \"../../types/search\";\nimport { SearchBar } from \"../SearchBar/SearchBar\";\nimport { FiltersPanel } from \"../Filters\";\nimport { ResultsList } from \"./ResultsList\";\nimport { Pagination } from \"../Pagination\";\nimport styles from \"./ResultsView.module.scss\";\n\nexport const FederatedResultsView: React.FC<FederatedResultsViewProps> = ({\n query,\n onQueryChange,\n onSearchSubmit,\n activeTab,\n onTabChange,\n products,\n contents,\n isLoadingProducts,\n isLoadingContents,\n productsError,\n contentsError,\n currentPage,\n totalPages,\n onPageChange,\n facets,\n onFacetToggle,\n}) => {\n const tabs = [\n { id: \"products\" as const, label: \"Products\", count: products.length },\n { id: \"content\" as const, label: \"Content\", count: contents.length },\n ];\n\n const isLoading =\n (activeTab === \"products\" && isLoadingProducts) ||\n (activeTab === \"content\" && isLoadingContents);\n\n const error = activeTab === \"products\" ? productsError : contentsError;\n\n // Filter results based on active tab\n const displayProducts = activeTab === \"content\" ? [] : products;\n const displayContents = activeTab === \"products\" ? [] : contents;\n\n return (\n <div className={styles.resultsView}>\n <div className={styles.searchBarWrapper}>\n <SearchBar\n value={query}\n onChange={onQueryChange}\n onSubmit={onSearchSubmit}\n placeholder=\"Refine your search...\"\n />\n </div>\n\n <div className={styles.tabsContainer}>\n <div className={styles.tabs} role=\"tablist\">\n {tabs.map((tab) => (\n <button\n key={tab.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={activeTab === tab.id}\n aria-controls={`tabpanel-${tab.id}`}\n onClick={() => onTabChange(tab.id)}\n className={`${styles.tab} ${activeTab === tab.id ? styles.tabActive : \"\"}`}\n >\n {tab.label}\n {tab.count > 0 && <span className={styles.tabCount}>{tab.count}</span>}\n </button>\n ))}\n </div>\n </div>\n\n <div className={styles.resultsContainer}>\n <aside className={styles.sidebar}>\n <FiltersPanel facets={facets} onFacetToggle={onFacetToggle} />\n </aside>\n\n <main className={styles.mainContent}>\n <div id={`tabpanel-${activeTab}`} role=\"tabpanel\" aria-labelledby={`tab-${activeTab}`}>\n <ResultsList\n type={activeTab}\n products={displayProducts}\n contents={displayContents}\n isLoading={isLoading}\n error={error}\n />\n\n {/* Pagination - only show when not loading and no errors */}\n {!isLoading && !error && (displayProducts.length > 0 || displayContents.length > 0) && (\n <div className={styles.paginationWrapper}>\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={onPageChange}\n maxVisiblePages={10}\n ariaLabel={`${activeTab === \"products\" ? \"Products\" : \"Content\"} pagination`}\n />\n </div>\n )}\n </div>\n </main>\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport { FederatedSearchProps } from \"../../types/search\";\nimport { SearchModal } from \"../../components/SearchModal/SearchModal\";\nimport { SearchBar } from \"../../components/SearchBar/SearchBar\";\nimport { FederatedInstantResultsLayout } from \"../../components/InstantResults/FederatedInstantResultsLayout\";\nimport { FederatedResultsView } from \"../../components/ResultsView/FederatedResultsView\";\nimport styles from \"./FederatedSearchExperience.module.scss\";\n\n/**\n * FederatedSearchExperience - Top-level search experience component\n *\n * This component orchestrates the entire federated search experience, including:\n * - Modal container\n * - Search input\n * - Instant results (2-column layout)\n * - Full results view with tabs and filters\n *\n * The component is fully controlled and does not contain any data fetching logic.\n * All data and callbacks are passed in via props, making it suitable for use in AEM\n * where a controller layer will handle Algolia integration.\n *\n * @example\n * ```tsx\n * <FederatedSearchExperience\n * isOpen={isOpen}\n * onOpen={handleOpen}\n * onClose={handleClose}\n * query={query}\n * onQueryChange={setQuery}\n * onSearchSubmit={handleSubmit}\n * products={products}\n * contents={contents}\n * isLoadingProducts={isLoadingProducts}\n * isLoadingContents={isLoadingContents}\n * onSeeAllProducts={handleSeeAllProducts}\n * onSeeAllContents={handleSeeAllContents}\n * onSeeAllCombined={handleSeeAllCombined}\n * activeView={activeView}\n * onChangeView={setActiveView}\n * activeTab={activeTab}\n * onTabChange={setActiveTab}\n * />\n * ```\n */\nexport const FederatedSearchExperience: React.FC<FederatedSearchProps> = ({\n isOpen,\n onClose,\n query,\n onQueryChange,\n onSearchSubmit,\n products,\n contents,\n isLoadingProducts,\n isLoadingContents,\n productsError,\n contentsError,\n onSeeAllProducts,\n onSeeAllContents,\n onSeeAllCombined,\n activeView,\n onChangeView,\n activeTab,\n onTabChange,\n currentPage,\n totalPages,\n onPageChange,\n facets,\n onFacetToggle,\n}) => {\n return (\n <SearchModal isOpen={isOpen} onClose={onClose} title=\"Search\">\n <div className={styles.searchExperience}>\n {/* Search Bar - Always visible */}\n {activeView === \"instant\" && (\n <div className={styles.searchBarSection}>\n <SearchBar\n value={query}\n onChange={onQueryChange}\n onSubmit={onSearchSubmit}\n placeholder=\"Discover products, innovations, and resources...\"\n autoFocus\n />\n </div>\n )}\n\n {/* Instant Results View */}\n {activeView === \"instant\" && (\n <div className={styles.instantResultsSection}>\n {query ? (\n <FederatedInstantResultsLayout\n query={query}\n products={products}\n contents={contents}\n isLoadingProducts={isLoadingProducts}\n isLoadingContents={isLoadingContents}\n productsError={productsError}\n contentsError={contentsError}\n onSeeAllProducts={onSeeAllProducts}\n onSeeAllContents={onSeeAllContents}\n onSeeAllCombined={onSeeAllCombined}\n />\n ) : (\n <></>\n // <div className={styles.emptyState}>\n // <svg\n // xmlns=\"http://www.w3.org/2000/svg\"\n // viewBox=\"0 0 24 24\"\n // fill=\"none\"\n // stroke=\"currentColor\"\n // strokeWidth=\"2\"\n // strokeLinecap=\"round\"\n // strokeLinejoin=\"round\"\n // className={styles.emptyIcon}\n // >\n // <circle cx=\"11\" cy=\"11\" r=\"8\" />\n // <path d=\"m21 21-4.35-4.35\" />\n // </svg>\n // <h3>Start searching</h3>\n // <p>\n // Search for vacuum pumps, accessories, technical documentation, and more.\n // </p>\n // </div>\n )}\n </div>\n )}\n\n {/* Full Results View */}\n {activeView === \"results\" && (\n <div className={styles.fullResultsSection}>\n <FederatedResultsView\n query={query}\n onQueryChange={onQueryChange}\n onSearchSubmit={onSearchSubmit}\n activeTab={activeTab}\n onTabChange={onTabChange}\n products={products}\n contents={contents}\n isLoadingProducts={isLoadingProducts}\n isLoadingContents={isLoadingContents}\n productsError={productsError}\n contentsError={contentsError}\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={onPageChange}\n facets={facets}\n onFacetToggle={onFacetToggle}\n />\n </div>\n )}\n </div>\n </SearchModal>\n );\n};\n","import React from 'react';\nimport { SearchTriggerButtonProps } from '../../types/search';\nimport styles from './SearchTriggerButton.module.scss';\n\nexport const SearchTriggerButton: React.FC<SearchTriggerButtonProps> = ({\n onOpen,\n ariaLabel = 'Open search',\n label,\n className = '',\n}) => {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onOpen();\n }\n };\n\n return (\n <button\n type=\"button\"\n onClick={onOpen}\n onKeyDown={handleKeyDown}\n aria-label={ariaLabel}\n className={`${styles.searchTrigger} ${className}`}\n >\n <svg\n className={styles.searchIcon}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.35-4.35\" />\n </svg>\n {label && <span className={styles.label}>{label}</span>}\n </button>\n );\n};\n\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","appendClass","parseValue","Array","isArray","apply","toString","Object","prototype","includes","key","call","value","newClass","module","exports","default","window","Button","children","variant","size","disabled","onClick","type","className","props","buttonClasses","styles","button","React","createElement","_extends","PaginationItem","page","isActive","handleClick","handleKeyDown","event","preventDefault","paginationItem","onKeyDown","pageButton","pageButtonActive","undefined","tabIndex","PaginationButton","label","direction","ariaLabel","navButton","navButtonDisabled","navIcon","width","height","viewBox","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","PaginationEllipsis","ellipsis","ellipsisText","generatePageNumbers","currentPage","totalPages","maxVisiblePages","from","_","pages","halfVisible","Math","floor","push","startPage","max","endPage","min","Pagination","onPageChange","showPrevious","showNext","previousLabel","nextLabel","pageNumbers","useMemo","handlePageChange","handlePrevious","handleNext","pagination","role","paginationList","map","index","Image","src","alt","loading","decoding","objectFit","objectPosition","aspectRatio","isDecorative","fallbackSrc","onLoad","onError","srcSet","sizes","isLoading","setIsLoading","useState","hasError","setHasError","currentSrc","setCurrentSrc","handleLoad","useCallback","handleError","accessibilityProps","containerStyle","imageStyle","imageContainer","error","style","skeleton","shimmer","errorState","errorIcon","x","y","rx","ry","cx","cy","r","points","errorText","image","ProductCardHorizontal","id","imageUrl","url","title","description","price","href","productCard","productWrapper","withImage","productImage","productTitleDescriptionWrapper","productTitle","productDescription","productPriceCtaWrapper","productPrice","productButton","ProductCardHorizontalParts","SpareCardAdapter","spare","rest","link","name","priceValue","cta","open","ProductCardDetails","code","facets","hit","ProductCardComponent","hitData","productDetails","ProductDetailsCardBase","imageAlt","usePlainClasses","ProductCardAdapter","cardLink","showProductPrice","console","log","productCode","buttonLabel","ProductCardDetailsAdapter","related_products","relatedProducts","AlgoliaDynamicSearchLeybold","innerComponents","ProductCard","ProductDetailsCard","AlgoliaDynamicSearchRaw","QrFormButtonAdapter","buttonStyle","target","element","pageTarget","display","textDecoration","e","QrFormLeybold","QrForm","ButtonComponent","ModalCloseButton","closeButton","x1","y1","x2","y2","SearchModal","isOpen","onClose","modalRef","useRef","previouslyFocusedElement","useEffect","current","document","activeElement","focus","body","overflow","handleEscape","addEventListener","removeEventListener","modal","focusableElements","querySelectorAll","firstElement","lastElement","handleTab","shiftKey","handleOverlayClick","currentTarget","overlay","ref","header","content","SearchIcon","searchIcon","SearchInput","onChange","placeholder","autoFocus","handleChange","searchInput","SearchSubmitButton","submitButton","SearchBar","onSubmit","handleSubmit","searchBar","inputWrapper","ResultsCount","count","slice","resultsCount","SeeAllLinkButton","seeAllButton","ResultsColumn","onSeeAll","resultsColumn","columnHeader","columnTitle","toLowerCase","loadingState","spinner","emptyState","Fragment","resultsList","columnFooter","ContentCardHorizontal","category","meta","excerpt","contentCard","contentMeta","contentCategory","contentMetaText","contentTitle","contentExcerpt","FederatedInstantResultsLayout","query","products","contents","isLoadingProducts","isLoadingContents","productsError","contentsError","onSeeAllProducts","onSeeAllContents","onSeeAllCombined","totalResults","hasResults","showCombinedButton","displayProducts","displayContents","instantResultsLayout","queryHeader","queryText","queryHighlight","columnsGrid","product","FilterSearch","handleClear","filterSearch","clearButton","FilterItem","onToggle","filterItem","checked","isRefined","filterCheckbox","filterLabel","filterCount","FilterAccordion","facet","isExpanded","onValueToggle","searchQuery","setSearchQuery","filteredValues","trim","values","filter","handleToggle","handleValueToggle","attribute","filterAccordion","accordionHeader","accordionHeaderExpanded","accordionTitle","accordionIcon","accordionIconExpanded","accordionContent","searchable","accordionSearch","filterList","noResults","AppliedFilterTag","onRemove","handleRemove","appliedFilterTag","tagLabel","tagRemoveButton","AppliedFilters","onClearAll","appliedFilters","filters","forEach","facetLabel","handleClearAll","appliedFiltersHeader","appliedFiltersTitle","appliedFiltersCount","clearAllButton","appliedFiltersList","FiltersPanel","onFacetToggle","expandedAccordions","setExpandedAccordions","expanded","Set","defaultExpanded","add","handleAccordionToggle","facetId","prev","next","has","delete","handleRemoveFilter","filtersPanel","filtersPanelHeader","filtersPanelTitle","filtersList","ResultsList","hasProducts","hasContents","emptyIcon","resultsSection","sectionTitle","FederatedResultsView","onQueryChange","onSearchSubmit","activeTab","onTabChange","tabs","resultsView","searchBarWrapper","tabsContainer","tab","tabActive","tabCount","resultsContainer","sidebar","mainContent","paginationWrapper","FederatedSearchExperience","activeView","onChangeView","searchExperience","searchBarSection","instantResultsSection","fullResultsSection","SearchTriggerButton","onOpen","searchTrigger"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/classnames/index.js","../src/components/Button/Button.tsx","../src/components/Pagination/PaginationItem.tsx","../src/components/Pagination/PaginationButton.tsx","../src/components/Pagination/PaginationEllipsis.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Image/Image.tsx","../src/components/ProductCardHorizontal/ProductCardHorizontal.tsx","../src/components/ProductCardDetails/ProductCardDetails.tsx","../src/experience/algolia-dynamic-search/AlgoliaDynamicSearch.tsx","../src/experience/qr-form-journey/QrFormJourney.tsx","../src/components/SearchModal/ModalCloseButton.tsx","../src/components/SearchModal/SearchModal.tsx","../src/components/SearchBar/SearchIcon.tsx","../src/components/SearchBar/SearchInput.tsx","../src/components/SearchBar/SearchSubmitButton.tsx","../src/components/SearchBar/SearchBar.tsx","../src/components/ResultsCount/ResultsCount.tsx","../src/components/SeeAllLinkButton/SeeAllLinkButton.tsx","../src/components/ResultsColumn/ResultsColumn.tsx","../src/components/ContentCardHorizontal/ContentCardHorizontal.tsx","../src/components/InstantResults/FederatedInstantResultsLayout.tsx","../src/components/Filters/FilterSearch.tsx","../src/components/Filters/FilterItem.tsx","../src/components/Filters/FilterAccordion.tsx","../src/components/Filters/AppliedFilterTag.tsx","../src/components/Filters/AppliedFilters.tsx","../src/components/Filters/FiltersPanel.tsx","../src/components/ResultsView/ResultsList.tsx","../src/components/ResultsView/FederatedResultsView.tsx","../src/experience/federated-search/FederatedSearchExperience.tsx","../src/components/SearchTriggerButton/SearchTriggerButton.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react';\nimport styles from './Button.module.scss';\nimport classNames from 'classnames';\n\nexport interface ButtonProps {\n /**\n * Button content\n */\n children: React.ReactNode;\n /**\n * Button variant\n */\n variant?: 'primary' | 'secondary' | 'outline' | 'text';\n /**\n * Button size\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Is button disabled?\n */\n disabled?: boolean;\n /**\n * Optional click handler\n */\n onClick?: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n /**\n * Button type\n */\n type?: 'button' | 'submit' | 'reset';\n /**\n * Additional CSS classes\n */\n className?: string;\n}\n\n/**\n * Primary UI component for user interaction\n */\nexport const Button: React.FC<ButtonProps> = ({\n children,\n variant = 'primary',\n size = 'medium',\n disabled = false,\n onClick,\n type = 'button',\n className,\n ...props\n}) => {\n const buttonClasses = classNames(\n styles.button,\n styles[`button--${variant}`],\n styles[`button--${size}`],\n {\n [styles['button--disabled']]: disabled,\n },\n className\n );\n\n return (\n <button\n type={type}\n className={buttonClasses}\n disabled={disabled}\n onClick={onClick}\n {...props}\n >\n {children}\n </button>\n );\n};\n\n","import React from \"react\";\nimport { PaginationItemProps } from \"./Pagination.types\";\nimport styles from \"./Pagination.module.scss\";\n\nexport const PaginationItem: React.FC<PaginationItemProps> = ({\n page,\n isActive,\n onClick,\n className,\n}) => {\n const handleClick = () => {\n if (!isActive) {\n onClick(page);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n handleClick();\n }\n };\n\n return (\n <li className={styles.paginationItem}>\n <button\n type=\"button\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n className={`${styles.pageButton} ${isActive ? styles.pageButtonActive : \"\"} ${className || \"\"}`}\n aria-current={isActive ? \"page\" : undefined}\n aria-label={`Page ${page}`}\n disabled={isActive}\n tabIndex={isActive ? -1 : 0}\n >\n {page}\n </button>\n </li>\n );\n};\n\n","import React from \"react\";\nimport { PaginationButtonProps } from \"./Pagination.types\";\nimport styles from \"./Pagination.module.scss\";\n\nexport const PaginationButton: React.FC<PaginationButtonProps> = ({\n label,\n disabled,\n onClick,\n direction,\n className,\n ariaLabel,\n}) => {\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n if (!disabled) {\n onClick();\n }\n }\n };\n\n return (\n <li className={styles.paginationItem}>\n <button\n type=\"button\"\n onClick={onClick}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n className={`${styles.navButton} ${styles[`navButton--${direction}`]} ${disabled ? styles.navButtonDisabled : \"\"} ${className || \"\"}`}\n aria-label={ariaLabel || label}\n tabIndex={disabled ? -1 : 0}\n >\n {direction === \"previous\" && (\n <svg\n className={styles.navIcon}\n width=\"8\"\n height=\"12\"\n viewBox=\"0 0 8 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M6 10L2 6L6 2\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n <span>{label}</span>\n {direction === \"next\" && (\n <svg\n className={styles.navIcon}\n width=\"8\"\n height=\"12\"\n viewBox=\"0 0 8 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 2L6 6L2 10\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </button>\n </li>\n );\n};\n\n","import React from \"react\";\nimport { PaginationEllipsisProps } from \"./Pagination.types\";\nimport styles from \"./Pagination.module.scss\";\n\nexport const PaginationEllipsis: React.FC<PaginationEllipsisProps> = ({ className }) => {\n return (\n <li className={`${styles.paginationItem} ${styles.ellipsis}`} aria-hidden=\"true\">\n <span className={`${styles.ellipsisText} ${className || \"\"}`}>...</span>\n </li>\n );\n};\n\n","import React, { useMemo } from \"react\";\nimport { PaginationProps } from \"./Pagination.types\";\nimport { PaginationItem } from \"./PaginationItem\";\nimport { PaginationButton } from \"./PaginationButton\";\nimport { PaginationEllipsis } from \"./PaginationEllipsis\";\nimport styles from \"./Pagination.module.scss\";\n\n/**\n * Generate page numbers to display with ellipsis logic\n */\nconst generatePageNumbers = (\n currentPage: number,\n totalPages: number,\n maxVisiblePages: number\n): (number | \"ellipsis-start\" | \"ellipsis-end\")[] => {\n if (totalPages <= maxVisiblePages) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: (number | \"ellipsis-start\" | \"ellipsis-end\")[] = [];\n const halfVisible = Math.floor(maxVisiblePages / 2);\n\n // Always show first page\n pages.push(1);\n\n let startPage = Math.max(2, currentPage - halfVisible);\n let endPage = Math.min(totalPages - 1, currentPage + halfVisible);\n\n // Adjust if we're near the start\n if (currentPage <= halfVisible + 1) {\n endPage = Math.min(maxVisiblePages - 1, totalPages - 1);\n startPage = 2;\n }\n\n // Adjust if we're near the end\n if (currentPage >= totalPages - halfVisible) {\n startPage = Math.max(2, totalPages - maxVisiblePages + 2);\n endPage = totalPages - 1;\n }\n\n // Add ellipsis after first page if needed\n if (startPage > 2) {\n pages.push(\"ellipsis-start\");\n }\n\n // Add middle pages\n for (let i = startPage; i <= endPage; i++) {\n pages.push(i);\n }\n\n // Add ellipsis before last page if needed\n if (endPage < totalPages - 1) {\n pages.push(\"ellipsis-end\");\n }\n\n // Always show last page\n if (totalPages > 1) {\n pages.push(totalPages);\n }\n\n return pages;\n};\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage,\n totalPages,\n onPageChange,\n maxVisiblePages = 10,\n showPrevious = true,\n showNext = true,\n previousLabel = \"Previous\",\n nextLabel = \"Next\",\n className,\n ariaLabel = \"Pagination\",\n}) => {\n const pageNumbers = useMemo(\n () => generatePageNumbers(currentPage, totalPages, maxVisiblePages),\n [currentPage, totalPages, maxVisiblePages]\n );\n\n const handlePageChange = (page: number) => {\n if (page >= 1 && page <= totalPages && page !== currentPage) {\n onPageChange(page);\n }\n };\n\n const handlePrevious = () => {\n handlePageChange(currentPage - 1);\n };\n\n const handleNext = () => {\n handlePageChange(currentPage + 1);\n };\n\n // Don't render if there's only one page or no pages\n if (totalPages <= 1) {\n return null;\n }\n\n return (\n <nav\n className={`${styles.pagination} ${className || \"\"}`}\n aria-label={ariaLabel}\n role=\"navigation\"\n >\n <ul className={styles.paginationList}>\n {showPrevious && (\n <PaginationButton\n label={previousLabel}\n disabled={currentPage === 1}\n onClick={handlePrevious}\n direction=\"previous\"\n ariaLabel=\"Go to previous page\"\n />\n )}\n\n {pageNumbers.map((page, index) => {\n if (page === \"ellipsis-start\" || page === \"ellipsis-end\") {\n return <PaginationEllipsis key={`ellipsis-${index}`} />;\n }\n\n return (\n <PaginationItem\n key={page}\n page={page}\n isActive={page === currentPage}\n onClick={handlePageChange}\n />\n );\n })}\n\n {showNext && (\n <PaginationButton\n label={nextLabel}\n disabled={currentPage === totalPages}\n onClick={handleNext}\n direction=\"next\"\n ariaLabel=\"Go to next page\"\n />\n )}\n </ul>\n </nav>\n );\n};\n\n","import React, { useState, useCallback } from \"react\";\nimport { ImageProps } from \"./Image.types\";\nimport styles from \"./Image.module.scss\";\n\nexport const Image: React.FC<ImageProps> = ({\n src,\n alt,\n width,\n height,\n loading = \"lazy\",\n decoding = \"async\",\n objectFit = \"cover\",\n objectPosition = \"center\",\n aspectRatio,\n isDecorative = false,\n fallbackSrc,\n onLoad,\n onError,\n className = \"\",\n srcSet,\n sizes,\n}) => {\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentSrc, setCurrentSrc] = useState(src);\n\n const handleLoad = useCallback(() => {\n setIsLoading(false);\n setHasError(false);\n onLoad?.();\n }, [onLoad]);\n\n const handleError = useCallback(() => {\n setIsLoading(false);\n setHasError(true);\n\n // Try fallback if available and not already using it\n if (fallbackSrc && currentSrc !== fallbackSrc) {\n setCurrentSrc(fallbackSrc);\n setHasError(false);\n setIsLoading(true);\n } else {\n onError?.();\n }\n }, [fallbackSrc, currentSrc, onError]);\n\n // Accessibility: decorative images should have empty alt and be hidden from screen readers\n const accessibilityProps = isDecorative\n ? { alt: \"\", \"aria-hidden\": true as const, role: \"presentation\" as const }\n : { alt };\n\n const containerStyle: React.CSSProperties = {\n ...(aspectRatio && { aspectRatio }),\n ...(width && { width: typeof width === \"number\" ? `${width}px` : width }),\n ...(height && { height: typeof height === \"number\" ? `${height}px` : height }),\n };\n\n const imageStyle: React.CSSProperties = {\n objectFit,\n objectPosition,\n };\n\n return (\n <div\n className={`${styles.imageContainer} ${className} ${isLoading ? styles.loading : \"\"} ${hasError ? styles.error : \"\"}`}\n style={containerStyle}\n >\n {isLoading && (\n <div className={styles.skeleton} aria-hidden=\"true\">\n <div className={styles.shimmer} />\n </div>\n )}\n\n {hasError && !fallbackSrc ? (\n <div className={styles.errorState} role=\"img\" aria-label={alt || \"Image failed to load\"}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={styles.errorIcon}\n aria-hidden=\"true\"\n >\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\" />\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" />\n <polyline points=\"21 15 16 10 5 21\" />\n </svg>\n <span className={styles.errorText}>Image unavailable</span>\n </div>\n ) : (\n <img\n src={currentSrc}\n {...accessibilityProps}\n width={width}\n height={height}\n loading={loading}\n decoding={decoding}\n onLoad={handleLoad}\n onError={handleError}\n className={styles.image}\n style={imageStyle}\n srcSet={srcSet}\n sizes={sizes}\n />\n )}\n </div>\n );\n};\n\nexport default Image;\n\n","import React from \"react\";\nimport { ProductCardHorizontalProps } from \"../../types/cards\";\nimport styles from \"./ProductCardHorizontal.module.scss\";\nimport { Button } from \"../Button\";\nimport { Image } from \"../Image\";\n\nexport const ProductCardHorizontal: React.FC<ProductCardHorizontalProps> = ({\n id,\n imageUrl,\n url,\n title,\n description,\n price,\n button,\n className = \"\",\n}) => {\n if (!title) {\n return null;\n }\n\n return (\n <a\n href={url}\n className={`${styles.productCard} ${className}`}\n aria-label={`View product: ${title}`}\n >\n <div className={`${styles.productWrapper} ${imageUrl ? styles.withImage : \"\"}`}>\n {imageUrl && (\n <div className={styles.productImage}>\n <Image src={imageUrl} alt={title} />\n </div>\n )}\n <div className={styles.productTitleDescriptionWrapper}>\n <h3 className={styles.productTitle}>{title}</h3>\n {description && <p className={styles.productDescription}>{description}</p>}\n </div>\n <div className={styles.productPriceCtaWrapper}>\n <p className={styles.productPrice}>{price || \" \"}</p>\n {button && (\n <Button className={styles.productButton} onClick={button.onClick} size=\"small\">\n {button.label}\n </Button>\n )}\n </div>\n </div>\n </a>\n );\n};\n\n// Alias for backward compatibility\nexport const ProductCardHorizontalParts = ProductCardHorizontal;\n","import React from \"react\";\n// @ts-ignore - ProductDetailsCard is exported but types may not be updated yet\nimport { ProductDetailsCard as ProductDetailsCardBase } from \"@asantemedia-org/edwardsvacuum-design-system\";\nimport { ProductCardHorizontalParts } from \"../ProductCardHorizontal/ProductCardHorizontal\";\nimport { ProductCardDetailsProps } from \"../../types/cards\";\nimport styles from \"./ProductCardDetails.module.scss\";\n\n// Adapter to map design system props to ProductCardHorizontalParts props\nconst SpareCardAdapter = (props: any) => {\n const { spare, ...rest } = props;\n\n return (\n <ProductCardHorizontalParts\n url={spare?.url || spare?.link || \"#\"}\n title={spare?.name || spare?.title || \"\"}\n description={spare?.description || \"\"}\n price={spare?.priceValue || spare?.price || \"\"}\n imageUrl={spare?.[\"img-product\"] || spare?.image || \"\"}\n button={{\n label: rest.cta || \"View Product\",\n onClick: () => window.open(spare?.url || spare?.link || \"#\", \"_blank\"),\n }}\n />\n );\n};\n\n// Re-export the design system component with Leybold styling\nexport const ProductCardDetails: React.FC<ProductCardDetailsProps> = ({\n id,\n imageUrl,\n title,\n description,\n price,\n code,\n facets,\n hit,\n className = \"\",\n ProductCardComponent,\n}) => {\n // Build the hit object expected by ProductDetailsCard\n const hitData = hit || {\n id,\n title,\n description,\n price,\n code,\n image: imageUrl,\n };\n\n return (\n <div className={styles.productDetails}>\n <ProductDetailsCardBase\n className={`${className}`}\n title={title}\n imageUrl={imageUrl}\n imageAlt={title}\n hit={hitData}\n facets={facets}\n usePlainClasses={true}\n ProductCardComponent={ProductCardComponent || SpareCardAdapter}\n />\n </div>\n );\n};\n\nexport default ProductCardDetails;\n","import React from \"react\";\nimport { AlgoliaDynamicSearchRaw } from \"@asantemedia-org/edwardsvacuum-design-system\";\n\nimport {\n ProductCardHorizontal,\n ProductCardHorizontalParts,\n} from \"../../components/ProductCardHorizontal/ProductCardHorizontal\";\n\nimport { ProductCardDetails } from \"../../components/ProductCardDetails/ProductCardDetails\";\n\nimport \"./AlgoliaDynamicSearch.scss\";\n\n// Adapter component that maps props from AlgoliaDynamicSearchRaw to ProductCardHorizontal\n// AlgoliaDynamicSearchRaw passes: title, cardLink, productPrice, cta, hit (original data)\nconst ProductCardAdapter = (props: any) => {\n const { hit, title, cardLink, productPrice, cta, showProductPrice, className, code } = props;\n console.log(props);\n // Get values from direct props or fallback to hit object\n const url = cardLink || hit?.link || \"#\";\n const imageUrl = \"\";\n const price = showProductPrice ? productPrice || hit?.price || \"\" : \"\";\n const productTitle = title || hit?.title || \"\";\n const productCode = code || hit?.code || \"\";\n const buttonLabel = cta || \"View Product\";\n\n return (\n <ProductCardHorizontalParts\n imageUrl={imageUrl}\n url={url}\n title={productTitle}\n description={productCode}\n price={price}\n button={{ label: buttonLabel, onClick: () => window.open(url, \"_blank\") }}\n className={className}\n />\n );\n};\n\nconst ProductCardDetailsAdapter = (props: any) => {\n const {\n hit,\n title,\n cardLink,\n productPrice,\n cta,\n showProductPrice,\n className,\n code,\n facets,\n related_products,\n } = props;\n if (!title) {\n return null;\n }\n return (\n <ProductCardDetails\n imageUrl={hit?.image || \"\"}\n title={title}\n description={hit?.description || \"\"}\n price={hit?.price || \"\" || productPrice}\n code={hit?.code || \"\" || code}\n hit={hit}\n className={className}\n facets={facets}\n relatedProducts={hit?.related_products || related_products}\n />\n );\n};\n\nexport const AlgoliaDynamicSearchLeybold = (props: any) => {\n const innerComponents = {\n ProductCard: ProductCardAdapter,\n ProductDetailsCard: ProductCardDetailsAdapter,\n };\n\n return <AlgoliaDynamicSearchRaw {...props} innerComponents={innerComponents} />;\n};\n\nexport default AlgoliaDynamicSearchLeybold;\n","import React from \"react\";\nimport { QrForm } from \"@asantemedia-org/edwardsvacuum-design-system\";\nimport \"./QrFormJourney.scss\";\nimport { Button } from \"../../components/Button\";\n\n// Adapter to map QrForm's expected button props to our Button component\ninterface QrFormButtonProps {\n label?: string;\n onClick?: (e: React.MouseEvent) => void;\n buttonStyle?: \"primary\" | \"secondary\";\n href?: string;\n target?: string;\n type?: \"button\" | \"submit\";\n element?: \"a\" | \"button\";\n \"data-page_target\"?: number;\n className?: string;\n}\n\nconst QrFormButtonAdapter: React.FC<QrFormButtonProps> = ({\n label,\n onClick,\n buttonStyle = \"primary\",\n href,\n target,\n type = \"button\",\n element,\n \"data-page_target\": pageTarget,\n className,\n}) => {\n // Map buttonStyle to our variant\n const variant = buttonStyle === \"secondary\" ? \"secondary\" : \"primary\";\n\n // If it's an anchor element (has href or element='a'), render as link\n if (element === \"a\" || href) {\n return (\n <a\n href={href}\n target={target}\n className={className}\n data-page_target={pageTarget}\n onClick={onClick}\n style={{\n display: \"inline-block\",\n textDecoration: \"none\",\n }}\n >\n <Button variant={variant} type={type}>\n {label}\n </Button>\n </a>\n );\n }\n\n // Otherwise render as button\n return (\n <Button\n variant={variant}\n type={type}\n onClick={onClick ? (e) => onClick(e as React.MouseEvent) : undefined}\n className={className}\n data-page_target={pageTarget}\n >\n {label}\n </Button>\n );\n};\n\nexport const QrFormLeybold = (props: any) => {\n return (\n <div className=\"qr-journey-form-wrapper\">\n <QrForm {...props} ButtonComponent={QrFormButtonAdapter} />\n </div>\n );\n};\n","import React from 'react';\nimport styles from './SearchModal.module.scss';\n\nexport interface ModalCloseButtonProps {\n onClick(): void;\n ariaLabel?: string;\n className?: string;\n}\n\nexport const ModalCloseButton: React.FC<ModalCloseButtonProps> = ({\n onClick,\n ariaLabel = 'Close search',\n className = '',\n}) => {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n aria-label={ariaLabel}\n className={`${styles.closeButton} ${className}`}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n </button>\n );\n};\n\n","import React, { useEffect, useRef } from 'react';\nimport { SearchModalProps } from '../../types/search';\nimport { ModalCloseButton } from './ModalCloseButton';\nimport styles from './SearchModal.module.scss';\n\nexport const SearchModal: React.FC<SearchModalProps> = ({\n isOpen,\n onClose,\n title = 'Search',\n children,\n className = '',\n}) => {\n const modalRef = useRef<HTMLDivElement>(null);\n const previouslyFocusedElement = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (isOpen) {\n // Store the previously focused element\n previouslyFocusedElement.current = document.activeElement as HTMLElement;\n\n // Focus the modal\n if (modalRef.current) {\n modalRef.current.focus();\n }\n\n // Prevent body scroll\n document.body.style.overflow = 'hidden';\n } else {\n // Restore body scroll\n document.body.style.overflow = '';\n\n // Return focus to previously focused element\n if (previouslyFocusedElement.current) {\n previouslyFocusedElement.current.focus();\n }\n }\n\n return () => {\n document.body.style.overflow = '';\n };\n }, [isOpen]);\n\n useEffect(() => {\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && isOpen) {\n onClose();\n }\n };\n\n document.addEventListener('keydown', handleEscape);\n return () => document.removeEventListener('keydown', handleEscape);\n }, [isOpen, onClose]);\n\n // Focus trap implementation\n useEffect(() => {\n if (!isOpen || !modalRef.current) return;\n\n const modal = modalRef.current;\n const focusableElements = modal.querySelectorAll<HTMLElement>(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n );\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n\n const handleTab = (event: KeyboardEvent) => {\n if (event.key !== 'Tab') return;\n\n if (event.shiftKey) {\n // Shift + Tab\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement?.focus();\n }\n } else {\n // Tab\n if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement?.focus();\n }\n }\n };\n\n modal.addEventListener('keydown', handleTab);\n return () => modal.removeEventListener('keydown', handleTab);\n }, [isOpen]);\n\n if (!isOpen) return null;\n\n const handleOverlayClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.target === event.currentTarget) {\n onClose();\n }\n };\n\n return (\n <div\n className={styles.overlay}\n onClick={handleOverlayClick}\n aria-hidden=\"true\"\n >\n <div\n ref={modalRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n tabIndex={-1}\n className={`${styles.modal} ${className}`}\n >\n <div className={styles.header}>\n <h2 className={styles.title}>{title}</h2>\n <ModalCloseButton onClick={onClose} />\n </div>\n <div className={styles.content}>{children}</div>\n </div>\n </div>\n );\n};\n\n","import React from 'react';\nimport styles from './SearchBar.module.scss';\n\nexport interface SearchIconProps {\n className?: string;\n}\n\nexport const SearchIcon: React.FC<SearchIconProps> = ({ className = '' }) => {\n return (\n <svg\n className={`${styles.searchIcon} ${className}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.35-4.35\" />\n </svg>\n );\n};\n\n","import React from 'react';\nimport styles from './SearchBar.module.scss';\n\nexport interface SearchInputProps {\n value: string;\n onChange(value: string): void;\n onKeyDown?(event: React.KeyboardEvent<HTMLInputElement>): void;\n placeholder?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nexport const SearchInput: React.FC<SearchInputProps> = ({\n value,\n onChange,\n onKeyDown,\n placeholder = 'Discover products, innovations, and resources...',\n autoFocus = false,\n className = '',\n}) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange(event.target.value);\n };\n\n return (\n <input\n type=\"text\"\n value={value}\n onChange={handleChange}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n autoFocus={autoFocus}\n aria-label=\"Search\"\n className={`${styles.searchInput} ${className}`}\n />\n );\n};\n\n","import React from 'react';\nimport styles from './SearchBar.module.scss';\n\nexport interface SearchSubmitButtonProps {\n onClick(): void;\n disabled?: boolean;\n ariaLabel?: string;\n label?: string;\n className?: string;\n}\n\nexport const SearchSubmitButton: React.FC<SearchSubmitButtonProps> = ({\n onClick,\n disabled = false,\n ariaLabel = 'Search',\n label = 'Search',\n className = '',\n}) => {\n return (\n <button\n type=\"submit\"\n onClick={onClick}\n disabled={disabled}\n aria-label={ariaLabel}\n className={`${styles.submitButton} ${className}`}\n >\n {label}\n </button>\n );\n};\n\n","import React from 'react';\nimport { SearchBarProps } from '../../types/search';\nimport { SearchIcon } from './SearchIcon';\nimport { SearchInput } from './SearchInput';\nimport { SearchSubmitButton } from './SearchSubmitButton';\nimport styles from './SearchBar.module.scss';\n\nexport const SearchBar: React.FC<SearchBarProps> = ({\n value,\n onChange,\n onSubmit,\n placeholder,\n autoFocus = false,\n className = '',\n}) => {\n const handleSubmit = (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n onSubmit();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n onSubmit();\n }\n };\n\n return (\n <form onSubmit={handleSubmit} className={`${styles.searchBar} ${className}`}>\n <div className={styles.inputWrapper}>\n <SearchIcon />\n <SearchInput\n value={value}\n onChange={onChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n autoFocus={autoFocus}\n />\n </div>\n <SearchSubmitButton onClick={onSubmit} />\n </form>\n );\n};\n\n","import React from 'react';\nimport styles from './ResultsCount.module.scss';\n\nexport interface ResultsCountProps {\n count: number;\n type: 'products' | 'content' | 'results';\n className?: string;\n}\n\nexport const ResultsCount: React.FC<ResultsCountProps> = ({\n count,\n type,\n className = '',\n}) => {\n const label = count === 1 ? type.slice(0, -1) : type;\n \n return (\n <span className={`${styles.resultsCount} ${className}`}>\n {count} {label}\n </span>\n );\n};\n\n","import React from 'react';\nimport styles from './SeeAllLinkButton.module.scss';\n\nexport interface SeeAllLinkButtonProps {\n onClick(): void;\n label?: string;\n className?: string;\n}\n\nexport const SeeAllLinkButton: React.FC<SeeAllLinkButtonProps> = ({\n onClick,\n label = 'See all results',\n className = '',\n}) => {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n className={`${styles.seeAllButton} ${className}`}\n >\n {label}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </button>\n );\n};\n\n","import React from 'react';\nimport { ResultsColumnProps } from '../../types/search';\nimport { ResultsCount } from '../ResultsCount/ResultsCount';\nimport { SeeAllLinkButton } from '../SeeAllLinkButton/SeeAllLinkButton';\nimport styles from './ResultsColumn.module.scss';\n\nexport const ResultsColumn: React.FC<ResultsColumnProps> = ({\n title,\n count,\n isLoading,\n error,\n onSeeAll,\n children,\n className = '',\n}) => {\n return (\n <div className={`${styles.resultsColumn} ${className}`}>\n <div className={styles.columnHeader}>\n <h3 className={styles.columnTitle}>{title}</h3>\n {!isLoading && !error && count > 0 && (\n <ResultsCount\n count={count}\n type={title.toLowerCase().includes('product') ? 'products' : 'content'}\n />\n )}\n </div>\n\n {isLoading && (\n <div className={styles.loadingState}>\n <div className={styles.spinner} aria-label=\"Loading...\" />\n <p>Loading {title.toLowerCase()}...</p>\n </div>\n )}\n\n {error && (\n <div className={styles.errorState}>\n <p>{error}</p>\n </div>\n )}\n\n {!isLoading && !error && count === 0 && (\n <div className={styles.emptyState}>\n <p>No {title.toLowerCase()} found</p>\n </div>\n )}\n\n {!isLoading && !error && count > 0 && (\n <>\n <div className={styles.resultsList}>{children}</div>\n <div className={styles.columnFooter}>\n <SeeAllLinkButton onClick={onSeeAll} label={`See all ${title.toLowerCase()}`} />\n </div>\n </>\n )}\n </div>\n );\n};\n\n","import React from \"react\";\nimport { ContentCardHorizontalProps } from \"../../types/cards\";\nimport styles from \"./ContentCardHorizontal.module.scss\";\n\nexport const ContentCardHorizontal: React.FC<ContentCardHorizontalProps> = ({\n id,\n title,\n url,\n category,\n meta,\n excerpt,\n className = \"\",\n}) => {\n return (\n <a\n href={url}\n className={`${styles.contentCard} ${className}`}\n aria-label={`View content: ${title}`}\n >\n <div className={styles.contentMeta}>\n {category && <span className={styles.contentCategory}>{category}</span>}\n {meta && <span className={styles.contentMetaText}>{meta}</span>}\n </div>\n <h3 className={styles.contentTitle}>{title}</h3>\n {excerpt && <p className={styles.contentExcerpt}>{excerpt}</p>}\n </a>\n );\n};\n","import React from \"react\";\nimport { FederatedInstantResultsLayoutProps } from \"../../types/search\";\nimport { ResultsColumn } from \"../ResultsColumn/ResultsColumn\";\nimport { ProductCardHorizontal } from \"../ProductCardHorizontal/ProductCardHorizontal\";\nimport { ContentCardHorizontal } from \"../ContentCardHorizontal/ContentCardHorizontal\";\nimport { SeeAllLinkButton } from \"../SeeAllLinkButton/SeeAllLinkButton\";\nimport styles from \"./InstantResults.module.scss\";\n\nexport const FederatedInstantResultsLayout: React.FC<FederatedInstantResultsLayoutProps> = ({\n query,\n products,\n contents,\n isLoadingProducts,\n isLoadingContents,\n productsError,\n contentsError,\n onSeeAllProducts,\n onSeeAllContents,\n onSeeAllCombined,\n}) => {\n const totalResults = products.length + contents.length;\n const hasResults = totalResults > 0;\n const showCombinedButton = hasResults && !isLoadingProducts && !isLoadingContents;\n\n // Show first 3 results from each category\n const displayProducts = products.slice(0, 3);\n const displayContents = contents.slice(0, 3);\n\n return (\n <div className={styles.instantResultsLayout}>\n {query && (\n <div className={styles.queryHeader}>\n <h2 className={styles.queryText}>\n Results for <span className={styles.queryHighlight}>\"{query}\"</span>\n </h2>\n {showCombinedButton && (\n <SeeAllLinkButton onClick={onSeeAllCombined} label=\"See all results\" />\n )}\n </div>\n )}\n\n <div className={styles.columnsGrid}>\n <ResultsColumn\n title=\"Products\"\n count={products.length}\n isLoading={isLoadingProducts}\n error={productsError}\n onSeeAll={onSeeAllProducts}\n >\n {displayProducts.map((product) => (\n <ProductCardHorizontal key={product.id} {...product} />\n ))}\n </ResultsColumn>\n\n <ResultsColumn\n title=\"Content\"\n count={contents.length}\n isLoading={isLoadingContents}\n error={contentsError}\n onSeeAll={onSeeAllContents}\n >\n {displayContents.map((content) => (\n <ContentCardHorizontal key={content.id} {...content} />\n ))}\n </ResultsColumn>\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport { FilterSearchProps } from \"./Filter.types\";\nimport styles from \"./Filters.module.scss\";\n\n/**\n * FilterSearch - Search input for filtering facet values\n */\nexport const FilterSearch: React.FC<FilterSearchProps> = ({\n value,\n onChange,\n placeholder = \"Search\",\n className,\n}) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(e.target.value);\n };\n\n const handleClear = () => {\n onChange(\"\");\n };\n\n return (\n <div className={`${styles.filterSearch} ${className || \"\"}`}>\n <svg\n className={styles.searchIcon}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M7 13C10.3137 13 13 10.3137 13 7C13 3.68629 10.3137 1 7 1C3.68629 1 1 3.68629 1 7C1 10.3137 3.68629 13 7 13Z\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M15 15L11.5 11.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <input\n type=\"text\"\n value={value}\n onChange={handleChange}\n placeholder={placeholder}\n className={styles.searchInput}\n aria-label={placeholder}\n />\n {value && (\n <button\n type=\"button\"\n onClick={handleClear}\n className={styles.clearButton}\n aria-label=\"Clear search\"\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 3L3 9M3 3L9 9\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport { FilterItemProps } from \"./Filter.types\";\nimport styles from \"./Filters.module.scss\";\n\n/**\n * FilterItem - Individual facet item with checkbox and count\n */\nexport const FilterItem: React.FC<FilterItemProps> = ({ value, onToggle, className }) => {\n const handleChange = () => {\n onToggle(value.value);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onToggle(value.value);\n }\n };\n\n return (\n <label className={`${styles.filterItem} ${className || \"\"}`} onKeyDown={handleKeyDown}>\n <input\n type=\"checkbox\"\n checked={value.isRefined}\n onChange={handleChange}\n className={styles.filterCheckbox}\n aria-label={`${value.value} (${value.count} results)`}\n />\n <span className={styles.filterLabel}>{value.value}</span>\n <span className={styles.filterCount}>({value.count})</span>\n </label>\n );\n};\n\n","import React, { useState, useMemo } from \"react\";\nimport { FilterAccordionProps } from \"./Filter.types\";\nimport { FilterSearch } from \"./FilterSearch\";\nimport { FilterItem } from \"./FilterItem\";\nimport styles from \"./Filters.module.scss\";\n\n/**\n * FilterAccordion - Collapsible facet section with optional search\n */\nexport const FilterAccordion: React.FC<FilterAccordionProps> = ({\n facet,\n isExpanded,\n onToggle,\n onValueToggle,\n className,\n}) => {\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n // Filter facet values based on search query\n const filteredValues = useMemo(() => {\n if (!searchQuery.trim()) {\n return facet.values;\n }\n const query = searchQuery.toLowerCase();\n return facet.values.filter((value) => value.value.toLowerCase().includes(query));\n }, [facet.values, searchQuery]);\n\n const handleToggle = () => {\n onToggle();\n // Clear search when collapsing\n if (isExpanded) {\n setSearchQuery(\"\");\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleToggle();\n }\n };\n\n const handleValueToggle = (value: string) => {\n onValueToggle(facet.attribute, value);\n };\n\n return (\n <div className={`${styles.filterAccordion} ${className || \"\"}`}>\n <button\n type=\"button\"\n className={`${styles.accordionHeader} ${isExpanded ? styles.accordionHeaderExpanded : \"\"}`}\n onClick={handleToggle}\n onKeyDown={handleKeyDown}\n aria-expanded={isExpanded}\n aria-controls={`accordion-${facet.id}`}\n >\n <span className={styles.accordionTitle}>{facet.label}</span>\n <svg\n className={`${styles.accordionIcon} ${isExpanded ? styles.accordionIconExpanded : \"\"}`}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M4 6L8 10L12 6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n\n {isExpanded && (\n <div id={`accordion-${facet.id}`} className={styles.accordionContent}>\n {/* Search input for searchable facets */}\n {facet.searchable && facet.values.length > 5 && (\n <div className={styles.accordionSearch}>\n <FilterSearch value={searchQuery} onChange={setSearchQuery} placeholder=\"Search\" />\n </div>\n )}\n\n {/* Facet values list */}\n <div className={styles.filterList}>\n {filteredValues.length > 0 ? (\n filteredValues.map((value) => (\n <FilterItem key={value.value} value={value} onToggle={handleValueToggle} />\n ))\n ) : (\n <div className={styles.noResults}>No results found</div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"./Filters.module.scss\";\n\nexport interface AppliedFilterTagProps {\n /**\n * Facet attribute (e.g., \"category\")\n */\n attribute: string;\n /**\n * Facet value (e.g., \"Kits\")\n */\n value: string;\n /**\n * Display label (optional, defaults to value)\n */\n label?: string;\n /**\n * Callback when tag is removed\n */\n onRemove: (attribute: string, value: string) => void;\n /**\n * Additional CSS class\n */\n className?: string;\n}\n\n/**\n * AppliedFilterTag - Individual removable filter tag/chip\n */\nexport const AppliedFilterTag: React.FC<AppliedFilterTagProps> = ({\n attribute,\n value,\n label,\n onRemove,\n className,\n}) => {\n const handleRemove = () => {\n onRemove(attribute, value);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleRemove();\n }\n };\n\n return (\n <div className={`${styles.appliedFilterTag} ${className || \"\"}`}>\n <span className={styles.tagLabel}>{label || value}</span>\n <button\n type=\"button\"\n onClick={handleRemove}\n onKeyDown={handleKeyDown}\n className={styles.tagRemoveButton}\n aria-label={`Remove ${label || value} filter`}\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M9 3L3 9M3 3L9 9\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n );\n};\n\n","import React, { useMemo } from \"react\";\nimport { AppliedFilterTag } from \"./AppliedFilterTag\";\nimport { Facet } from \"./Filter.types\";\nimport styles from \"./Filters.module.scss\";\n\nexport interface AppliedFiltersProps {\n /**\n * List of facets with selected values\n */\n facets: Facet[];\n /**\n * Callback when a filter is removed\n */\n onRemove: (attribute: string, value: string) => void;\n /**\n * Callback when all filters are cleared\n */\n onClearAll?: () => void;\n /**\n * Additional CSS class\n */\n className?: string;\n}\n\n/**\n * AppliedFilters - Shows all active filters as removable tags\n */\nexport const AppliedFilters: React.FC<AppliedFiltersProps> = ({\n facets,\n onRemove,\n onClearAll,\n className,\n}) => {\n // Extract all refined (selected) filters\n const appliedFilters = useMemo(() => {\n const filters: Array<{ attribute: string; value: string; label: string; facetLabel: string }> =\n [];\n\n facets.forEach((facet) => {\n facet.values.forEach((value) => {\n if (value.isRefined) {\n filters.push({\n attribute: facet.attribute,\n value: value.value,\n label: value.value,\n facetLabel: facet.label,\n });\n }\n });\n });\n\n return filters;\n }, [facets]);\n\n // Don't render if no filters are applied\n if (appliedFilters.length === 0) {\n return null;\n }\n\n const handleClearAll = () => {\n if (onClearAll) {\n onClearAll();\n } else {\n // If no clearAll handler, remove each filter individually\n appliedFilters.forEach((filter) => {\n onRemove(filter.attribute, filter.value);\n });\n }\n };\n\n return (\n <div className={`${styles.appliedFilters} ${className || \"\"}`}>\n <div className={styles.appliedFiltersHeader}>\n <h4 className={styles.appliedFiltersTitle}>\n Applied filters\n {appliedFilters.length > 0 && (\n <span className={styles.appliedFiltersCount}>({appliedFilters.length})</span>\n )}\n </h4>\n {appliedFilters.length > 1 && (\n <button\n type=\"button\"\n onClick={handleClearAll}\n className={styles.clearAllButton}\n aria-label=\"Clear all filters\"\n >\n Clear all\n </button>\n )}\n </div>\n\n <div className={styles.appliedFiltersList}>\n {appliedFilters.map((filter) => (\n <AppliedFilterTag\n key={`${filter.attribute}-${filter.value}`}\n attribute={filter.attribute}\n value={filter.value}\n label={filter.label}\n onRemove={onRemove}\n />\n ))}\n </div>\n </div>\n );\n};\n","import React, { useState, useCallback } from \"react\";\nimport { FiltersPanelProps } from \"./Filter.types\";\nimport { FilterAccordion } from \"./FilterAccordion\";\nimport { AppliedFilters } from \"./AppliedFilters\";\nimport styles from \"./Filters.module.scss\";\n\n/**\n * FiltersPanel - Main container for all filters\n */\nexport const FiltersPanel: React.FC<FiltersPanelProps> = ({\n facets,\n onFacetToggle,\n isLoading = false,\n className,\n}) => {\n // Track which accordions are expanded\n const [expandedAccordions, setExpandedAccordions] = useState<Set<string>>(() => {\n // Initialize with default expanded facets\n const expanded = new Set<string>();\n facets.forEach((facet) => {\n if (facet.defaultExpanded) {\n expanded.add(facet.id);\n }\n });\n return expanded;\n });\n\n const handleAccordionToggle = useCallback((facetId: string) => {\n setExpandedAccordions((prev) => {\n const next = new Set(prev);\n if (next.has(facetId)) {\n next.delete(facetId);\n } else {\n next.add(facetId);\n }\n return next;\n });\n }, []);\n\n const handleValueToggle = useCallback(\n (attribute: string, value: string) => {\n onFacetToggle(attribute, value);\n },\n [onFacetToggle]\n );\n\n const handleRemoveFilter = useCallback(\n (attribute: string, value: string) => {\n onFacetToggle(attribute, value);\n },\n [onFacetToggle]\n );\n\n const handleClearAll = useCallback(() => {\n // Remove all refined facets\n facets.forEach((facet) => {\n facet.values.forEach((value) => {\n if (value.isRefined) {\n onFacetToggle(facet.attribute, value.value);\n }\n });\n });\n }, [facets, onFacetToggle]);\n\n if (isLoading) {\n return (\n <div className={`${styles.filtersPanel} ${className || \"\"}`}>\n <div className={styles.filtersPanelHeader}>\n <h3 className={styles.filtersPanelTitle}>Filters</h3>\n </div>\n <div className={styles.loadingState}>\n <div className={styles.spinner} />\n <p>Loading filters...</p>\n </div>\n </div>\n );\n }\n\n if (!facets || facets.length === 0) {\n return null;\n }\n\n return (\n <div className={`${styles.filtersPanel} ${className || \"\"}`}>\n <div className={styles.filtersPanelHeader}>\n <h3 className={styles.filtersPanelTitle}>Filters</h3>\n </div>\n\n {/* Applied Filters Section */}\n <AppliedFilters facets={facets} onRemove={handleRemoveFilter} onClearAll={handleClearAll} />\n\n <div className={styles.filtersList}>\n {facets.map((facet) => (\n <FilterAccordion\n key={facet.id}\n facet={facet}\n isExpanded={expandedAccordions.has(facet.id)}\n onToggle={() => handleAccordionToggle(facet.id)}\n onValueToggle={handleValueToggle}\n />\n ))}\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport { ResultsListProps } from '../../types/search';\nimport { ProductCardHorizontal } from '../ProductCardHorizontal/ProductCardHorizontal';\nimport { ContentCardHorizontal } from '../ContentCardHorizontal/ContentCardHorizontal';\nimport styles from './ResultsView.module.scss';\n\nexport const ResultsList: React.FC<ResultsListProps> = ({\n type,\n products = [],\n contents = [],\n isLoading,\n error,\n className = '',\n}) => {\n if (isLoading) {\n return (\n <div className={`${styles.loadingState} ${className}`}>\n <div className={styles.spinner} aria-label=\"Loading...\" />\n <p>Loading results...</p>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`${styles.errorState} ${className}`}>\n <p>{error}</p>\n </div>\n );\n }\n\n const hasProducts = products.length > 0;\n const hasContents = contents.length > 0;\n const hasResults = hasProducts || hasContents;\n\n if (!hasResults) {\n return (\n <div className={`${styles.emptyState} ${className}`}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={styles.emptyIcon}\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.35-4.35\" />\n </svg>\n <h3>No results found</h3>\n <p>Try adjusting your search or filters to find what you're looking for.</p>\n </div>\n );\n }\n\n // Render based on type\n if (type === 'products') {\n return (\n <div className={`${styles.resultsList} ${className}`}>\n {products.map((product) => (\n <ProductCardHorizontal key={product.id} {...product} />\n ))}\n </div>\n );\n }\n\n if (type === 'content') {\n return (\n <div className={`${styles.resultsList} ${className}`}>\n {contents.map((content) => (\n <ContentCardHorizontal key={content.id} {...content} />\n ))}\n </div>\n );\n }\n\n // type === 'all' - Show mixed results\n return (\n <div className={`${styles.resultsList} ${className}`}>\n {hasProducts && (\n <div className={styles.resultsSection}>\n <h3 className={styles.sectionTitle}>Products ({products.length})</h3>\n {products.map((product) => (\n <ProductCardHorizontal key={product.id} {...product} />\n ))}\n </div>\n )}\n {hasContents && (\n <div className={styles.resultsSection}>\n <h3 className={styles.sectionTitle}>Content ({contents.length})</h3>\n {contents.map((content) => (\n <ContentCardHorizontal key={content.id} {...content} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\n","import React from \"react\";\nimport { FederatedResultsViewProps } from \"../../types/search\";\nimport { SearchBar } from \"../SearchBar/SearchBar\";\nimport { FiltersPanel } from \"../Filters\";\nimport { ResultsList } from \"./ResultsList\";\nimport { Pagination } from \"../Pagination\";\nimport styles from \"./ResultsView.module.scss\";\n\nexport const FederatedResultsView: React.FC<FederatedResultsViewProps> = ({\n query,\n onQueryChange,\n onSearchSubmit,\n activeTab,\n onTabChange,\n products,\n contents,\n isLoadingProducts,\n isLoadingContents,\n productsError,\n contentsError,\n currentPage,\n totalPages,\n onPageChange,\n facets,\n onFacetToggle,\n}) => {\n const tabs = [\n { id: \"products\" as const, label: \"Products\", count: products.length },\n { id: \"content\" as const, label: \"Content\", count: contents.length },\n ];\n\n const isLoading =\n (activeTab === \"products\" && isLoadingProducts) ||\n (activeTab === \"content\" && isLoadingContents);\n\n const error = activeTab === \"products\" ? productsError : contentsError;\n\n // Filter results based on active tab\n const displayProducts = activeTab === \"content\" ? [] : products;\n const displayContents = activeTab === \"products\" ? [] : contents;\n\n return (\n <div className={styles.resultsView}>\n <div className={styles.searchBarWrapper}>\n <SearchBar\n value={query}\n onChange={onQueryChange}\n onSubmit={onSearchSubmit}\n placeholder=\"Refine your search...\"\n />\n </div>\n\n <div className={styles.tabsContainer}>\n <div className={styles.tabs} role=\"tablist\">\n {tabs.map((tab) => (\n <button\n key={tab.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={activeTab === tab.id}\n aria-controls={`tabpanel-${tab.id}`}\n onClick={() => onTabChange(tab.id)}\n className={`${styles.tab} ${activeTab === tab.id ? styles.tabActive : \"\"}`}\n >\n {tab.label}\n {tab.count > 0 && <span className={styles.tabCount}>{tab.count}</span>}\n </button>\n ))}\n </div>\n </div>\n\n <div className={styles.resultsContainer}>\n <aside className={styles.sidebar}>\n <FiltersPanel facets={facets} onFacetToggle={onFacetToggle} />\n </aside>\n\n <main className={styles.mainContent}>\n <div id={`tabpanel-${activeTab}`} role=\"tabpanel\" aria-labelledby={`tab-${activeTab}`}>\n <ResultsList\n type={activeTab}\n products={displayProducts}\n contents={displayContents}\n isLoading={isLoading}\n error={error}\n />\n\n {/* Pagination - only show when not loading and no errors */}\n {!isLoading && !error && (displayProducts.length > 0 || displayContents.length > 0) && (\n <div className={styles.paginationWrapper}>\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={onPageChange}\n maxVisiblePages={10}\n ariaLabel={`${activeTab === \"products\" ? \"Products\" : \"Content\"} pagination`}\n />\n </div>\n )}\n </div>\n </main>\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport { FederatedSearchProps } from \"../../types/search\";\nimport { SearchModal } from \"../../components/SearchModal/SearchModal\";\nimport { SearchBar } from \"../../components/SearchBar/SearchBar\";\nimport { FederatedInstantResultsLayout } from \"../../components/InstantResults/FederatedInstantResultsLayout\";\nimport { FederatedResultsView } from \"../../components/ResultsView/FederatedResultsView\";\nimport styles from \"./FederatedSearchExperience.module.scss\";\n\n/**\n * FederatedSearchExperience - Top-level search experience component\n *\n * This component orchestrates the entire federated search experience, including:\n * - Modal container\n * - Search input\n * - Instant results (2-column layout)\n * - Full results view with tabs and filters\n *\n * The component is fully controlled and does not contain any data fetching logic.\n * All data and callbacks are passed in via props, making it suitable for use in AEM\n * where a controller layer will handle Algolia integration.\n *\n * @example\n * ```tsx\n * <FederatedSearchExperience\n * isOpen={isOpen}\n * onOpen={handleOpen}\n * onClose={handleClose}\n * query={query}\n * onQueryChange={setQuery}\n * onSearchSubmit={handleSubmit}\n * products={products}\n * contents={contents}\n * isLoadingProducts={isLoadingProducts}\n * isLoadingContents={isLoadingContents}\n * onSeeAllProducts={handleSeeAllProducts}\n * onSeeAllContents={handleSeeAllContents}\n * onSeeAllCombined={handleSeeAllCombined}\n * activeView={activeView}\n * onChangeView={setActiveView}\n * activeTab={activeTab}\n * onTabChange={setActiveTab}\n * />\n * ```\n */\nexport const FederatedSearchExperience: React.FC<FederatedSearchProps> = ({\n isOpen,\n onClose,\n query,\n onQueryChange,\n onSearchSubmit,\n products,\n contents,\n isLoadingProducts,\n isLoadingContents,\n productsError,\n contentsError,\n onSeeAllProducts,\n onSeeAllContents,\n onSeeAllCombined,\n activeView,\n onChangeView,\n activeTab,\n onTabChange,\n currentPage,\n totalPages,\n onPageChange,\n facets,\n onFacetToggle,\n}) => {\n return (\n <SearchModal isOpen={isOpen} onClose={onClose} title=\"Search\">\n <div className={styles.searchExperience}>\n {/* Search Bar - Always visible */}\n {activeView === \"instant\" && (\n <div className={styles.searchBarSection}>\n <SearchBar\n value={query}\n onChange={onQueryChange}\n onSubmit={onSearchSubmit}\n placeholder=\"Discover products, innovations, and resources...\"\n autoFocus\n />\n </div>\n )}\n\n {/* Instant Results View */}\n {activeView === \"instant\" && (\n <div className={styles.instantResultsSection}>\n {query ? (\n <FederatedInstantResultsLayout\n query={query}\n products={products}\n contents={contents}\n isLoadingProducts={isLoadingProducts}\n isLoadingContents={isLoadingContents}\n productsError={productsError}\n contentsError={contentsError}\n onSeeAllProducts={onSeeAllProducts}\n onSeeAllContents={onSeeAllContents}\n onSeeAllCombined={onSeeAllCombined}\n />\n ) : (\n <></>\n // <div className={styles.emptyState}>\n // <svg\n // xmlns=\"http://www.w3.org/2000/svg\"\n // viewBox=\"0 0 24 24\"\n // fill=\"none\"\n // stroke=\"currentColor\"\n // strokeWidth=\"2\"\n // strokeLinecap=\"round\"\n // strokeLinejoin=\"round\"\n // className={styles.emptyIcon}\n // >\n // <circle cx=\"11\" cy=\"11\" r=\"8\" />\n // <path d=\"m21 21-4.35-4.35\" />\n // </svg>\n // <h3>Start searching</h3>\n // <p>\n // Search for vacuum pumps, accessories, technical documentation, and more.\n // </p>\n // </div>\n )}\n </div>\n )}\n\n {/* Full Results View */}\n {activeView === \"results\" && (\n <div className={styles.fullResultsSection}>\n <FederatedResultsView\n query={query}\n onQueryChange={onQueryChange}\n onSearchSubmit={onSearchSubmit}\n activeTab={activeTab}\n onTabChange={onTabChange}\n products={products}\n contents={contents}\n isLoadingProducts={isLoadingProducts}\n isLoadingContents={isLoadingContents}\n productsError={productsError}\n contentsError={contentsError}\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={onPageChange}\n facets={facets}\n onFacetToggle={onFacetToggle}\n />\n </div>\n )}\n </div>\n </SearchModal>\n );\n};\n","import React from 'react';\nimport { SearchTriggerButtonProps } from '../../types/search';\nimport styles from './SearchTriggerButton.module.scss';\n\nexport const SearchTriggerButton: React.FC<SearchTriggerButtonProps> = ({\n onOpen,\n ariaLabel = 'Open search',\n label,\n className = '',\n}) => {\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onOpen();\n }\n };\n\n return (\n <button\n type=\"button\"\n onClick={onOpen}\n onKeyDown={handleKeyDown}\n aria-label={ariaLabel}\n className={`${styles.searchTrigger} ${className}`}\n >\n <svg\n className={styles.searchIcon}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.35-4.35\" />\n </svg>\n {label && <span className={styles.label}>{label}</span>}\n </button>\n );\n};\n\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","appendClass","parseValue","Array","isArray","apply","toString","Object","prototype","includes","key","call","value","newClass","module","exports","default","window","Button","children","variant","size","disabled","onClick","type","className","props","buttonClasses","styles","button","React","createElement","_extends","PaginationItem","page","isActive","handleClick","handleKeyDown","event","preventDefault","paginationItem","onKeyDown","pageButton","pageButtonActive","undefined","tabIndex","PaginationButton","label","direction","ariaLabel","navButton","navButtonDisabled","navIcon","width","height","viewBox","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","PaginationEllipsis","ellipsis","ellipsisText","generatePageNumbers","currentPage","totalPages","maxVisiblePages","from","_","pages","halfVisible","Math","floor","push","startPage","max","endPage","min","Pagination","onPageChange","showPrevious","showNext","previousLabel","nextLabel","pageNumbers","useMemo","handlePageChange","handlePrevious","handleNext","pagination","role","paginationList","map","index","Image","src","alt","loading","decoding","objectFit","objectPosition","aspectRatio","isDecorative","fallbackSrc","onLoad","onError","srcSet","sizes","isLoading","setIsLoading","useState","hasError","setHasError","currentSrc","setCurrentSrc","handleLoad","useCallback","handleError","accessibilityProps","containerStyle","imageStyle","imageContainer","error","style","skeleton","shimmer","errorState","errorIcon","x","y","rx","ry","cx","cy","r","points","errorText","image","ProductCardHorizontal","id","imageUrl","url","title","description","price","href","productCard","productWrapper","withImage","productImage","productTitleDescriptionWrapper","productTitle","productDescription","productPriceCtaWrapper","productPrice","productButton","ProductCardHorizontalParts","SpareCardAdapter","spare","rest","link","name","priceValue","cta","open","ProductCardDetails","code","facets","hit","ProductCardComponent","hitData","productDetails","ProductDetailsCardBase","imageAlt","usePlainClasses","ProductCardAdapter","cardLink","showProductPrice","console","log","productCode","buttonLabel","ProductCardDetailsAdapter","related_products","relatedProducts","AlgoliaDynamicSearchLeybold","innerComponents","ProductCard","ProductDetailsCard","AlgoliaDynamicSearchRaw","QrFormButtonAdapter","buttonStyle","target","element","pageTarget","display","textDecoration","e","QrFormLeybold","QrForm","ButtonComponent","ModalCloseButton","closeButton","x1","y1","x2","y2","SearchModal","isOpen","onClose","modalRef","useRef","previouslyFocusedElement","useEffect","current","document","activeElement","focus","body","overflow","handleEscape","addEventListener","removeEventListener","modal","focusableElements","querySelectorAll","firstElement","lastElement","handleTab","shiftKey","handleOverlayClick","currentTarget","overlay","ref","header","content","SearchIcon","searchIcon","SearchInput","onChange","placeholder","autoFocus","handleChange","searchInput","SearchSubmitButton","submitButton","SearchBar","onSubmit","handleSubmit","searchBar","inputWrapper","ResultsCount","count","slice","resultsCount","SeeAllLinkButton","seeAllButton","ResultsColumn","onSeeAll","resultsColumn","columnHeader","columnTitle","toLowerCase","loadingState","spinner","emptyState","Fragment","resultsList","columnFooter","ContentCardHorizontal","category","meta","excerpt","contentCard","contentMeta","contentCategory","contentMetaText","contentTitle","contentExcerpt","FederatedInstantResultsLayout","query","products","contents","isLoadingProducts","isLoadingContents","productsError","contentsError","onSeeAllProducts","onSeeAllContents","onSeeAllCombined","totalResults","hasResults","showCombinedButton","displayProducts","displayContents","instantResultsLayout","queryHeader","queryText","queryHighlight","columnsGrid","product","FilterSearch","handleClear","filterSearch","clearButton","FilterItem","onToggle","filterItem","checked","isRefined","filterCheckbox","filterLabel","filterCount","FilterAccordion","facet","isExpanded","onValueToggle","searchQuery","setSearchQuery","filteredValues","trim","values","filter","handleToggle","handleValueToggle","attribute","filterAccordion","accordionHeader","accordionHeaderExpanded","accordionTitle","accordionIcon","accordionIconExpanded","accordionContent","searchable","accordionSearch","filterList","noResults","AppliedFilterTag","onRemove","handleRemove","appliedFilterTag","tagLabel","tagRemoveButton","AppliedFilters","onClearAll","appliedFilters","filters","forEach","facetLabel","handleClearAll","appliedFiltersHeader","appliedFiltersTitle","appliedFiltersCount","clearAllButton","appliedFiltersList","FiltersPanel","onFacetToggle","expandedAccordions","setExpandedAccordions","expanded","Set","defaultExpanded","add","handleAccordionToggle","facetId","prev","next","has","delete","handleRemoveFilter","filtersPanel","filtersPanelHeader","filtersPanelTitle","filtersList","ResultsList","hasProducts","hasContents","emptyIcon","resultsSection","sectionTitle","FederatedResultsView","onQueryChange","onSearchSubmit","activeTab","onTabChange","tabs","resultsView","searchBarWrapper","tabsContainer","tab","tabActive","tabCount","resultsContainer","sidebar","mainContent","paginationWrapper","FederatedSearchExperience","activeView","onChangeView","searchExperience","searchBarSection","instantResultsSection","fullResultsSection","SearchTriggerButton","onOpen","searchTrigger"],"mappings":"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","x_google_ignoreList":[0]}
|