@asantemedia-org/leybold-design-system 1.0.19 → 1.0.21
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/assets/search-product.png +0 -0
- package/dist/index.css +5559 -0
- package/dist/index.esm.css +5559 -0
- package/dist/index.esm.js +1032 -418
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.scss +2562 -1169
- package/dist/index.js +1031 -416
- package/dist/index.js.map +1 -1
- package/dist/index.scss +2562 -1169
- package/dist/src/components/Button/Button.d.ts +1 -1
- package/dist/src/components/Button/Button.stories.d.ts +0 -4
- package/dist/src/components/Filters/Filter.types.d.ts +28 -0
- package/dist/src/components/Filters/FiltersPanel.d.ts +4 -0
- package/dist/src/components/ProductCardVertical/ProductCardVertical.d.ts +22 -0
- package/dist/src/components/ProductCardVertical/ProductCardVertical.types.d.ts +50 -0
- package/dist/src/components/ProductCardVertical/index.d.ts +2 -0
- package/dist/src/components/SearchBar/SearchSubmitButton.d.ts +1 -0
- package/dist/src/experience/algolia-dynamic-search/AlgoliaDynamicSearch.d.ts +0 -1
- package/dist/src/experience/federated-search/components/AssistanceBanner/AssistanceBanner.d.ts +22 -0
- package/dist/src/experience/federated-search/components/AssistanceBanner/AssistanceBanner.types.d.ts +29 -0
- package/dist/src/experience/federated-search/components/AssistanceBanner/AssistanceIcon.d.ts +2 -0
- package/dist/src/experience/federated-search/components/AssistanceBanner/index.d.ts +3 -0
- package/dist/src/experience/federated-search/components/FilterDrawer/FilterDrawer.d.ts +24 -0
- package/dist/src/experience/federated-search/components/FilterDrawer/FilterDrawer.types.d.ts +22 -0
- package/dist/src/experience/federated-search/components/FilterDrawer/index.d.ts +2 -0
- package/dist/src/experience/federated-search/components/TabButton/TabButton.d.ts +31 -0
- package/dist/src/experience/federated-search/components/TabButton/TabButton.types.d.ts +32 -0
- package/dist/src/experience/federated-search/components/TabButton/index.d.ts +2 -0
- package/dist/src/experience/qr-form-journey/QrFormJourney.d.ts +0 -1
- package/dist/src/experience/qr-form-journey/QrFormJourney.stories.d.ts +1 -0
- package/dist/src/hooks/useFederatedSearchMock.d.ts +9 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/types/cards.d.ts +2 -0
- package/dist/src/types/search.d.ts +12 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ var React = require('react');
|
|
|
4
4
|
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
5
5
|
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
6
6
|
var freeBrandsSvgIcons = require('@fortawesome/free-brands-svg-icons');
|
|
7
|
+
var proSolidSvgIcons = require('@fortawesome/pro-solid-svg-icons');
|
|
7
8
|
var edwardsvacuumDesignSystem = require('@asantemedia-org/edwardsvacuum-design-system');
|
|
8
9
|
|
|
9
10
|
function _extends() {
|
|
@@ -55,7 +56,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
55
56
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
56
57
|
};
|
|
57
58
|
|
|
58
|
-
var styles$
|
|
59
|
+
var styles$k = {"button":"Button-module__button___18Bed","button--primary":"Button-module__button--primary___VuF-P","button--disabled":"Button-module__button--disabled___IuOY8","button--secondary":"Button-module__button--secondary___lD5E3","button--solid-grey":"Button-module__button--solid-grey___oRbEy","button--solid-black":"Button-module__button--solid-black___1Ma5K","button--solid-white":"Button-module__button--solid-white___bE-Z0","button--outlined-grey":"Button-module__button--outlined-grey___xWGbB","button--outlined-black":"Button-module__button--outlined-black___qfX5o","button--outlined-white":"Button-module__button--outlined-white___QLXNP","button--link-text":"Button-module__button--link-text___R2kun","button__icon":"Button-module__button__icon___hlcHo","button--link-text-alt":"Button-module__button--link-text-alt___1p7wH","button--external-link":"Button-module__button--external-link___Mhxuk","button--carousel-arrow-left":"Button-module__button--carousel-arrow-left___Wx-Jo","button--carousel-arrow-right":"Button-module__button--carousel-arrow-right___3ZtgT","button__icon__default":"Button-module__button__icon__default___0qlF1","button__icon__hover":"Button-module__button__icon__hover___3xPGT","button--extra-small":"Button-module__button--extra-small___R0QTM","button--small":"Button-module__button--small___ADJQe","button--medium":"Button-module__button--medium___ZuR4Z","button--large":"Button-module__button--large___-FaV5","button__icon--left":"Button-module__button__icon--left___wMCeH","button__icon--right":"Button-module__button__icon--right___-pGHl"};
|
|
59
60
|
|
|
60
61
|
function getDefaultExportFromCjs (x) {
|
|
61
62
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
@@ -182,8 +183,6 @@ var getDefaultIcon = function (variant) {
|
|
|
182
183
|
*/
|
|
183
184
|
var mapVariantToClass = function (variant) {
|
|
184
185
|
switch (variant) {
|
|
185
|
-
case "outline":
|
|
186
|
-
return "outlined-red";
|
|
187
186
|
case "text":
|
|
188
187
|
return "link-text";
|
|
189
188
|
default:
|
|
@@ -221,8 +220,8 @@ var Button = function (_a) {
|
|
|
221
220
|
var isIconOnly = variant === "carousel-arrow-left" || variant === "carousel-arrow-right";
|
|
222
221
|
var isCarouselLeft = variant === "carousel-arrow-left";
|
|
223
222
|
var isCarouselRight = variant === "carousel-arrow-right";
|
|
224
|
-
var buttonClasses = classNames(styles$
|
|
225
|
-
var iconClasses = classNames(styles$
|
|
223
|
+
var buttonClasses = classNames(styles$k.button, styles$k["button--".concat(cssVariant)], styles$k["button--".concat(size)], (_b = {}, _b[styles$k["button--disabled"]] = disabled, _b), className);
|
|
224
|
+
var iconClasses = classNames(styles$k.button__icon, styles$k["button__icon--".concat(iconPosition)]);
|
|
226
225
|
// Generate accessible label for icon-only buttons
|
|
227
226
|
var accessibleLabel = ariaLabel || (isIconOnly ? variant === "carousel-arrow-left" ? "Previous" : "Next" : undefined);
|
|
228
227
|
return /*#__PURE__*/React.createElement("button", _extends({
|
|
@@ -236,24 +235,24 @@ var Button = function (_a) {
|
|
|
236
235
|
className: iconClasses
|
|
237
236
|
}, /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
238
237
|
icon: freeSolidSvgIcons.faArrowLeft,
|
|
239
|
-
className: styles$
|
|
238
|
+
className: styles$k.button__icon__default
|
|
240
239
|
}), /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
241
240
|
icon: freeSolidSvgIcons.faArrowLeftLong,
|
|
242
|
-
className: styles$
|
|
241
|
+
className: styles$k.button__icon__hover
|
|
243
242
|
})), isCarouselRight && /*#__PURE__*/React.createElement("span", {
|
|
244
243
|
className: iconClasses
|
|
245
244
|
}, /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
246
245
|
icon: freeSolidSvgIcons.faArrowRight,
|
|
247
|
-
className: styles$
|
|
246
|
+
className: styles$k.button__icon__default
|
|
248
247
|
}), /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
249
248
|
icon: freeSolidSvgIcons.faArrowRightLong,
|
|
250
|
-
className: styles$
|
|
249
|
+
className: styles$k.button__icon__hover
|
|
251
250
|
})), !isIconOnly && iconElement && /*#__PURE__*/React.createElement("span", {
|
|
252
251
|
className: iconClasses
|
|
253
252
|
}, iconElement));
|
|
254
253
|
};
|
|
255
254
|
|
|
256
|
-
var styles$
|
|
255
|
+
var styles$j = {"footer":"Footer-module__footer___Oavyx","footer--mobile":"Footer-module__footer--mobile___9HQC-","footer__container":"Footer-module__footer__container___ohvnm","footer__links":"Footer-module__footer__links___DdVK8","footer__linkGroup":"Footer-module__footer__linkGroup___1B7JA","footer__linkList":"Footer-module__footer__linkList___j-DWF","footer__linkHeading":"Footer-module__footer__linkHeading___LtE6X","footer__link":"Footer-module__footer__link___G5HPW","footer__cta":"Footer-module__footer__cta___MRJLr","footer__socialIcons":"Footer-module__footer__socialIcons___j0aRp","footer__socialIcon":"Footer-module__footer__socialIcon___1uVTm","footer__countrySelector":"Footer-module__footer__countrySelector___pVtN5","footer__bottom":"Footer-module__footer__bottom___77bPL","footer__bottomLeft":"Footer-module__footer__bottomLeft___tlst1","footer__bottomLinks":"Footer-module__footer__bottomLinks___s22h7","footer__bottomLink":"Footer-module__footer__bottomLink___SLzwY","footer__copyright":"Footer-module__footer__copyright___4bZOF","footer__brandSection":"Footer-module__footer__brandSection___BBr5f","footer__logo":"Footer-module__footer__logo___mv-9M","footer__leftCol":"Footer-module__footer__leftCol___vmKNN","footer__motto":"Footer-module__footer__motto___QtB2m","footer__main":"Footer-module__footer__main___NSU9d","footer__badge":"Footer-module__footer__badge___faejb","footer__badgeIcon":"Footer-module__footer__badgeIcon___xJ519","footer__badgeText":"Footer-module__footer__badgeText___imXgG","footer__linkText":"Footer-module__footer__linkText___Gc18Z","footer__linkIcon":"Footer-module__footer__linkIcon___IZzJM","footer__countrySelectorIcon":"Footer-module__footer__countrySelectorIcon___hhEd4"};
|
|
257
256
|
|
|
258
257
|
/**
|
|
259
258
|
* External link icon (↗) for footer links that open in new tabs
|
|
@@ -326,7 +325,7 @@ var FooterLink = function (_a) {
|
|
|
326
325
|
className = _a.className,
|
|
327
326
|
_b = _a.variant,
|
|
328
327
|
variant = _b === void 0 ? 'default' : _b;
|
|
329
|
-
var baseClass = variant === 'bottom' ? styles$
|
|
328
|
+
var baseClass = variant === 'bottom' ? styles$j.footer__bottomLink : styles$j.footer__link;
|
|
330
329
|
var linkClasses = classNames(baseClass, className);
|
|
331
330
|
var handleClick = function (e) {
|
|
332
331
|
if (item.onClick) {
|
|
@@ -342,9 +341,9 @@ var FooterLink = function (_a) {
|
|
|
342
341
|
target: '_blank',
|
|
343
342
|
rel: 'noopener noreferrer'
|
|
344
343
|
}), /*#__PURE__*/React.createElement("span", {
|
|
345
|
-
className: styles$
|
|
344
|
+
className: styles$j.footer__linkText
|
|
346
345
|
}, item.label), item.external && /*#__PURE__*/React.createElement("span", {
|
|
347
|
-
className: styles$
|
|
346
|
+
className: styles$j.footer__linkIcon
|
|
348
347
|
}, /*#__PURE__*/React.createElement(ExternalLinkIcon, {
|
|
349
348
|
size: 15
|
|
350
349
|
})));
|
|
@@ -355,11 +354,11 @@ var FooterLinkGroup = function (_a) {
|
|
|
355
354
|
className = _a.className,
|
|
356
355
|
children = _a.children;
|
|
357
356
|
return /*#__PURE__*/React.createElement("div", {
|
|
358
|
-
className: classNames(styles$
|
|
357
|
+
className: classNames(styles$j.footer__linkGroup, className)
|
|
359
358
|
}, /*#__PURE__*/React.createElement("h3", {
|
|
360
|
-
className: styles$
|
|
359
|
+
className: styles$j.footer__linkHeading
|
|
361
360
|
}, heading), /*#__PURE__*/React.createElement("ul", {
|
|
362
|
-
className: styles$
|
|
361
|
+
className: styles$j.footer__linkList
|
|
363
362
|
}, links.map(function (link, index) {
|
|
364
363
|
return /*#__PURE__*/React.createElement("li", {
|
|
365
364
|
key: index
|
|
@@ -372,12 +371,12 @@ var FooterSocialIcons = function (_a) {
|
|
|
372
371
|
var links = _a.links,
|
|
373
372
|
className = _a.className;
|
|
374
373
|
return /*#__PURE__*/React.createElement("div", {
|
|
375
|
-
className: classNames(styles$
|
|
374
|
+
className: classNames(styles$j.footer__socialIcons, className)
|
|
376
375
|
}, links.map(function (link, index) {
|
|
377
376
|
return /*#__PURE__*/React.createElement("a", {
|
|
378
377
|
key: index,
|
|
379
378
|
href: link.href,
|
|
380
|
-
className: styles$
|
|
379
|
+
className: styles$j.footer__socialIcon,
|
|
381
380
|
"aria-label": link.ariaLabel,
|
|
382
381
|
target: "_blank",
|
|
383
382
|
rel: "noopener noreferrer"
|
|
@@ -389,7 +388,7 @@ var FooterSocialIcons = function (_a) {
|
|
|
389
388
|
var FooterSocialIcon = function (_a) {
|
|
390
389
|
var platform = _a.platform,
|
|
391
390
|
className = _a.className;
|
|
392
|
-
var iconClasses = classNames(styles$
|
|
391
|
+
var iconClasses = classNames(styles$j.footer__socialIcon, className);
|
|
393
392
|
return /*#__PURE__*/React.createElement("span", {
|
|
394
393
|
className: iconClasses
|
|
395
394
|
}, /*#__PURE__*/React.createElement(SocialIconComponent, {
|
|
@@ -402,11 +401,11 @@ var FooterBottom = function (_a) {
|
|
|
402
401
|
countrySelector = _a.countrySelector,
|
|
403
402
|
className = _a.className;
|
|
404
403
|
return /*#__PURE__*/React.createElement("div", {
|
|
405
|
-
className: classNames(styles$
|
|
404
|
+
className: classNames(styles$j.footer__bottom, className)
|
|
406
405
|
}, /*#__PURE__*/React.createElement("div", {
|
|
407
|
-
className: styles$
|
|
406
|
+
className: styles$j.footer__bottomLeft
|
|
408
407
|
}, /*#__PURE__*/React.createElement("div", {
|
|
409
|
-
className: styles$
|
|
408
|
+
className: styles$j.footer__bottomLinks
|
|
410
409
|
}, links.map(function (link, index) {
|
|
411
410
|
return /*#__PURE__*/React.createElement(FooterLink, {
|
|
412
411
|
key: index,
|
|
@@ -414,12 +413,12 @@ var FooterBottom = function (_a) {
|
|
|
414
413
|
variant: "bottom"
|
|
415
414
|
});
|
|
416
415
|
})), /*#__PURE__*/React.createElement("p", {
|
|
417
|
-
className: styles$
|
|
416
|
+
className: styles$j.footer__copyright
|
|
418
417
|
}, copyright)), countrySelector && /*#__PURE__*/React.createElement("a", {
|
|
419
418
|
href: countrySelector.href || '#',
|
|
420
|
-
className: styles$
|
|
419
|
+
className: styles$j.footer__countrySelector
|
|
421
420
|
}, countrySelector.showIcon !== false && /*#__PURE__*/React.createElement("span", {
|
|
422
|
-
className: styles$
|
|
421
|
+
className: styles$j.footer__countrySelectorIcon
|
|
423
422
|
}, /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
424
423
|
icon: freeSolidSvgIcons.faGlobe
|
|
425
424
|
})), countrySelector.label));
|
|
@@ -452,13 +451,13 @@ var Footer = function (_a) {
|
|
|
452
451
|
countrySelector = _a.countrySelector,
|
|
453
452
|
className = _a.className;
|
|
454
453
|
var isMobile = variant === 'mobile';
|
|
455
|
-
var footerClasses = classNames(styles$
|
|
454
|
+
var footerClasses = classNames(styles$j.footer, isMobile && styles$j['footer--mobile'], className);
|
|
456
455
|
var LogoWrapper = logo.href ? 'a' : 'div';
|
|
457
456
|
var logoProps = logo.href ? {
|
|
458
457
|
href: logo.href,
|
|
459
|
-
className: styles$
|
|
458
|
+
className: styles$j.footer__logo
|
|
460
459
|
} : {
|
|
461
|
-
className: styles$
|
|
460
|
+
className: styles$j.footer__logo
|
|
462
461
|
};
|
|
463
462
|
// Logo + Motto + Badge component (used in both layouts)
|
|
464
463
|
var LogoSection = function () {
|
|
@@ -466,17 +465,17 @@ var Footer = function (_a) {
|
|
|
466
465
|
src: logo.src,
|
|
467
466
|
alt: logo.alt
|
|
468
467
|
})), /*#__PURE__*/React.createElement("div", {
|
|
469
|
-
className: styles$
|
|
468
|
+
className: styles$j.footer__leftCol
|
|
470
469
|
}, /*#__PURE__*/React.createElement("h2", {
|
|
471
|
-
className: styles$
|
|
470
|
+
className: styles$j.footer__motto
|
|
472
471
|
}, motto), atlasCopcoBadge && /*#__PURE__*/React.createElement("div", {
|
|
473
|
-
className: styles$
|
|
472
|
+
className: styles$j.footer__badge
|
|
474
473
|
}, atlasCopcoBadge.showIcon !== false && /*#__PURE__*/React.createElement("span", {
|
|
475
|
-
className: styles$
|
|
474
|
+
className: styles$j.footer__badgeIcon
|
|
476
475
|
}, /*#__PURE__*/React.createElement(AtlasCopcoIcon, {
|
|
477
476
|
size: 14
|
|
478
477
|
})), /*#__PURE__*/React.createElement("span", {
|
|
479
|
-
className: styles$
|
|
478
|
+
className: styles$j.footer__badgeText
|
|
480
479
|
}, atlasCopcoBadge.text))));
|
|
481
480
|
};
|
|
482
481
|
// Mobile layout: Links at top, logo/motto at bottom
|
|
@@ -484,9 +483,9 @@ var Footer = function (_a) {
|
|
|
484
483
|
return /*#__PURE__*/React.createElement("footer", {
|
|
485
484
|
className: footerClasses
|
|
486
485
|
}, /*#__PURE__*/React.createElement("div", {
|
|
487
|
-
className: styles$
|
|
486
|
+
className: styles$j.footer__container
|
|
488
487
|
}, /*#__PURE__*/React.createElement("div", {
|
|
489
|
-
className: styles$
|
|
488
|
+
className: styles$j.footer__links
|
|
490
489
|
}, /*#__PURE__*/React.createElement(FooterLinkGroup, {
|
|
491
490
|
heading: quickLinksHeading,
|
|
492
491
|
links: quickLinks
|
|
@@ -494,7 +493,7 @@ var Footer = function (_a) {
|
|
|
494
493
|
heading: contactHeading,
|
|
495
494
|
links: contactLinks
|
|
496
495
|
})), contactFormButton && /*#__PURE__*/React.createElement("div", {
|
|
497
|
-
className: styles$
|
|
496
|
+
className: styles$j.footer__cta
|
|
498
497
|
}, /*#__PURE__*/React.createElement("a", {
|
|
499
498
|
href: contactFormButton.href,
|
|
500
499
|
style: {
|
|
@@ -502,7 +501,7 @@ var Footer = function (_a) {
|
|
|
502
501
|
width: '100%'
|
|
503
502
|
}
|
|
504
503
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
505
|
-
variant: "
|
|
504
|
+
variant: "primary",
|
|
506
505
|
style: {
|
|
507
506
|
width: '100%'
|
|
508
507
|
}
|
|
@@ -513,33 +512,33 @@ var Footer = function (_a) {
|
|
|
513
512
|
copyright: copyright,
|
|
514
513
|
countrySelector: countrySelector
|
|
515
514
|
}), /*#__PURE__*/React.createElement("div", {
|
|
516
|
-
className: styles$
|
|
515
|
+
className: styles$j.footer__brandSection
|
|
517
516
|
}, /*#__PURE__*/React.createElement(LogoSection, null))));
|
|
518
517
|
}
|
|
519
518
|
// Desktop layout: Logo at top, 3-column main content
|
|
520
519
|
return /*#__PURE__*/React.createElement("footer", {
|
|
521
520
|
className: footerClasses
|
|
522
521
|
}, /*#__PURE__*/React.createElement("div", {
|
|
523
|
-
className: styles$
|
|
522
|
+
className: styles$j.footer__container
|
|
524
523
|
}, /*#__PURE__*/React.createElement(LogoWrapper, logoProps, /*#__PURE__*/React.createElement("img", {
|
|
525
524
|
src: logo.src,
|
|
526
525
|
alt: logo.alt
|
|
527
526
|
})), /*#__PURE__*/React.createElement("div", {
|
|
528
|
-
className: styles$
|
|
527
|
+
className: styles$j.footer__main
|
|
529
528
|
}, /*#__PURE__*/React.createElement("div", {
|
|
530
|
-
className: styles$
|
|
529
|
+
className: styles$j.footer__leftCol
|
|
531
530
|
}, /*#__PURE__*/React.createElement("h2", {
|
|
532
|
-
className: styles$
|
|
531
|
+
className: styles$j.footer__motto
|
|
533
532
|
}, motto), atlasCopcoBadge && /*#__PURE__*/React.createElement("div", {
|
|
534
|
-
className: styles$
|
|
533
|
+
className: styles$j.footer__badge
|
|
535
534
|
}, atlasCopcoBadge.showIcon !== false && /*#__PURE__*/React.createElement("span", {
|
|
536
|
-
className: styles$
|
|
535
|
+
className: styles$j.footer__badgeIcon
|
|
537
536
|
}, /*#__PURE__*/React.createElement(AtlasCopcoIcon, {
|
|
538
537
|
size: 14
|
|
539
538
|
})), /*#__PURE__*/React.createElement("span", {
|
|
540
|
-
className: styles$
|
|
539
|
+
className: styles$j.footer__badgeText
|
|
541
540
|
}, atlasCopcoBadge.text))), /*#__PURE__*/React.createElement("div", {
|
|
542
|
-
className: styles$
|
|
541
|
+
className: styles$j.footer__links
|
|
543
542
|
}, /*#__PURE__*/React.createElement(FooterLinkGroup, {
|
|
544
543
|
heading: quickLinksHeading,
|
|
545
544
|
links: quickLinks
|
|
@@ -555,7 +554,7 @@ var Footer = function (_a) {
|
|
|
555
554
|
})));
|
|
556
555
|
};
|
|
557
556
|
|
|
558
|
-
var styles$
|
|
557
|
+
var styles$i = {"pagination":"Pagination-module__pagination___Kih79","dividerLine":"Pagination-module__dividerLine___85LAX","paginationList":"Pagination-module__paginationList___-lZpm","paginationItem":"Pagination-module__paginationItem___VsGFa","pageButton":"Pagination-module__pageButton___b6UNF","pageButtonActive":"Pagination-module__pageButtonActive___D9m18","navButton":"Pagination-module__navButton___ZCIai","navButtonDisabled":"Pagination-module__navButtonDisabled___IZK8H","navIcon":"Pagination-module__navIcon___-BVJ3","ellipsis":"Pagination-module__ellipsis___iAsGN","ellipsisText":"Pagination-module__ellipsisText___fd6u1"};
|
|
559
558
|
|
|
560
559
|
var PaginationItem = function (_a) {
|
|
561
560
|
var page = _a.page,
|
|
@@ -574,12 +573,12 @@ var PaginationItem = function (_a) {
|
|
|
574
573
|
}
|
|
575
574
|
};
|
|
576
575
|
return /*#__PURE__*/React.createElement("li", {
|
|
577
|
-
className: styles$
|
|
576
|
+
className: styles$i.paginationItem
|
|
578
577
|
}, /*#__PURE__*/React.createElement("button", {
|
|
579
578
|
type: "button",
|
|
580
579
|
onClick: handleClick,
|
|
581
580
|
onKeyDown: handleKeyDown,
|
|
582
|
-
className: "".concat(styles$
|
|
581
|
+
className: "".concat(styles$i.pageButton, " ").concat(isActive ? styles$i.pageButtonActive : "", " ").concat(className || ""),
|
|
583
582
|
"aria-current": isActive ? "page" : undefined,
|
|
584
583
|
"aria-label": "Page ".concat(page),
|
|
585
584
|
disabled: isActive,
|
|
@@ -603,53 +602,29 @@ var PaginationButton = function (_a) {
|
|
|
603
602
|
}
|
|
604
603
|
};
|
|
605
604
|
return /*#__PURE__*/React.createElement("li", {
|
|
606
|
-
className: styles$
|
|
605
|
+
className: styles$i.paginationItem
|
|
607
606
|
}, /*#__PURE__*/React.createElement("button", {
|
|
608
607
|
type: "button",
|
|
609
608
|
onClick: onClick,
|
|
610
609
|
onKeyDown: handleKeyDown,
|
|
611
610
|
disabled: disabled,
|
|
612
|
-
className: "".concat(styles$
|
|
611
|
+
className: "".concat(styles$i.navButton, " ").concat(styles$i["navButton--".concat(direction)], " ").concat(disabled ? styles$i.navButtonDisabled : "", " ").concat(className || ""),
|
|
613
612
|
"aria-label": ariaLabel || label,
|
|
614
613
|
tabIndex: disabled ? -1 : 0
|
|
615
|
-
}, direction === "
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
height: "12",
|
|
619
|
-
viewBox: "0 0 8 12",
|
|
620
|
-
fill: "none",
|
|
621
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
614
|
+
}, /*#__PURE__*/React.createElement("span", null, label), direction === "next" && /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
615
|
+
icon: proSolidSvgIcons.faChevronRight,
|
|
616
|
+
className: styles$i.navIcon,
|
|
622
617
|
"aria-hidden": "true"
|
|
623
|
-
}
|
|
624
|
-
d: "M6 10L2 6L6 2",
|
|
625
|
-
stroke: "currentColor",
|
|
626
|
-
strokeWidth: "2",
|
|
627
|
-
strokeLinecap: "round",
|
|
628
|
-
strokeLinejoin: "round"
|
|
629
|
-
})), /*#__PURE__*/React.createElement("span", null, label), direction === "next" && /*#__PURE__*/React.createElement("svg", {
|
|
630
|
-
className: styles$e.navIcon,
|
|
631
|
-
width: "8",
|
|
632
|
-
height: "12",
|
|
633
|
-
viewBox: "0 0 8 12",
|
|
634
|
-
fill: "none",
|
|
635
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
636
|
-
"aria-hidden": "true"
|
|
637
|
-
}, /*#__PURE__*/React.createElement("path", {
|
|
638
|
-
d: "M2 2L6 6L2 10",
|
|
639
|
-
stroke: "currentColor",
|
|
640
|
-
strokeWidth: "2",
|
|
641
|
-
strokeLinecap: "round",
|
|
642
|
-
strokeLinejoin: "round"
|
|
643
|
-
}))));
|
|
618
|
+
})));
|
|
644
619
|
};
|
|
645
620
|
|
|
646
621
|
var PaginationEllipsis = function (_a) {
|
|
647
622
|
var className = _a.className;
|
|
648
623
|
return /*#__PURE__*/React.createElement("li", {
|
|
649
|
-
className: "".concat(styles$
|
|
624
|
+
className: "".concat(styles$i.paginationItem, " ").concat(styles$i.ellipsis),
|
|
650
625
|
"aria-hidden": "true"
|
|
651
626
|
}, /*#__PURE__*/React.createElement("span", {
|
|
652
|
-
className: "".concat(styles$
|
|
627
|
+
className: "".concat(styles$i.ellipsisText, " ").concat(className || "")
|
|
653
628
|
}, "..."));
|
|
654
629
|
};
|
|
655
630
|
|
|
@@ -734,11 +709,13 @@ var Pagination = function (_a) {
|
|
|
734
709
|
return null;
|
|
735
710
|
}
|
|
736
711
|
return /*#__PURE__*/React.createElement("nav", {
|
|
737
|
-
className: "".concat(styles$
|
|
712
|
+
className: "".concat(styles$i.pagination, " ").concat(className || ""),
|
|
738
713
|
"aria-label": ariaLabel,
|
|
739
714
|
role: "navigation"
|
|
740
|
-
}, /*#__PURE__*/React.createElement("
|
|
741
|
-
className: styles$
|
|
715
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
716
|
+
className: styles$i.dividerLine
|
|
717
|
+
}), /*#__PURE__*/React.createElement("ul", {
|
|
718
|
+
className: styles$i.paginationList
|
|
742
719
|
}, showPrevious && /*#__PURE__*/React.createElement(PaginationButton, {
|
|
743
720
|
label: previousLabel,
|
|
744
721
|
disabled: currentPage === 1,
|
|
@@ -766,9 +743,9 @@ var Pagination = function (_a) {
|
|
|
766
743
|
})));
|
|
767
744
|
};
|
|
768
745
|
|
|
769
|
-
var styles$
|
|
746
|
+
var styles$h = {"productCard":"ProductCardHorizontal-module__productCard___Nl4jK","productWrapper":"ProductCardHorizontal-module__productWrapper___gs8fn","withImage":"ProductCardHorizontal-module__withImage___pPFw2","productTitle":"ProductCardHorizontal-module__productTitle___xBuu7","productPrice":"ProductCardHorizontal-module__productPrice___lf32A","productImage":"ProductCardHorizontal-module__productImage___sQsUO","productId":"ProductCardHorizontal-module__productId___3oOQV","productTitleDescriptionWrapper":"ProductCardHorizontal-module__productTitleDescriptionWrapper___Obv-j","productPriceCtaWrapper":"ProductCardHorizontal-module__productPriceCtaWrapper___Npkfl","productArrowIcon":"ProductCardHorizontal-module__productArrowIcon___1-A76"};
|
|
770
747
|
|
|
771
|
-
var styles$
|
|
748
|
+
var styles$g = {"imageContainer":"Image-module__imageContainer___iD5Kd","loading":"Image-module__loading___Sh1zO","image":"Image-module__image___1pa50","error":"Image-module__error___0LGZ2","skeleton":"Image-module__skeleton___0bGS6","shimmer":"Image-module__shimmer___aanrl","errorState":"Image-module__errorState___TjV-8","errorIcon":"Image-module__errorIcon___QCKvj","errorText":"Image-module__errorText___Q8pnb"};
|
|
772
749
|
|
|
773
750
|
var Image = function (_a) {
|
|
774
751
|
var src = _a.src,
|
|
@@ -839,15 +816,15 @@ var Image = function (_a) {
|
|
|
839
816
|
objectPosition: objectPosition
|
|
840
817
|
};
|
|
841
818
|
return /*#__PURE__*/React.createElement("div", {
|
|
842
|
-
className: "".concat(styles$
|
|
819
|
+
className: "".concat(styles$g.imageContainer, " ").concat(className, " ").concat(isLoading ? styles$g.loading : "", " ").concat(hasError ? styles$g.error : ""),
|
|
843
820
|
style: containerStyle
|
|
844
821
|
}, isLoading && /*#__PURE__*/React.createElement("div", {
|
|
845
|
-
className: styles$
|
|
822
|
+
className: styles$g.skeleton,
|
|
846
823
|
"aria-hidden": "true"
|
|
847
824
|
}, /*#__PURE__*/React.createElement("div", {
|
|
848
|
-
className: styles$
|
|
825
|
+
className: styles$g.shimmer
|
|
849
826
|
})), hasError && !fallbackSrc ? /*#__PURE__*/React.createElement("div", {
|
|
850
|
-
className: styles$
|
|
827
|
+
className: styles$g.errorState,
|
|
851
828
|
role: "img",
|
|
852
829
|
"aria-label": alt || "Image failed to load"
|
|
853
830
|
}, /*#__PURE__*/React.createElement("svg", {
|
|
@@ -858,7 +835,7 @@ var Image = function (_a) {
|
|
|
858
835
|
strokeWidth: "1.5",
|
|
859
836
|
strokeLinecap: "round",
|
|
860
837
|
strokeLinejoin: "round",
|
|
861
|
-
className: styles$
|
|
838
|
+
className: styles$g.errorIcon,
|
|
862
839
|
"aria-hidden": "true"
|
|
863
840
|
}, /*#__PURE__*/React.createElement("rect", {
|
|
864
841
|
x: "3",
|
|
@@ -874,7 +851,7 @@ var Image = function (_a) {
|
|
|
874
851
|
}), /*#__PURE__*/React.createElement("polyline", {
|
|
875
852
|
points: "21 15 16 10 5 21"
|
|
876
853
|
})), /*#__PURE__*/React.createElement("span", {
|
|
877
|
-
className: styles$
|
|
854
|
+
className: styles$g.errorText
|
|
878
855
|
}, "Image unavailable")) : /*#__PURE__*/React.createElement("img", _extends({
|
|
879
856
|
src: currentSrc
|
|
880
857
|
}, accessibilityProps, {
|
|
@@ -884,20 +861,32 @@ var Image = function (_a) {
|
|
|
884
861
|
decoding: decoding,
|
|
885
862
|
onLoad: handleLoad,
|
|
886
863
|
onError: handleError,
|
|
887
|
-
className: styles$
|
|
864
|
+
className: styles$g.image,
|
|
888
865
|
style: imageStyle,
|
|
889
866
|
srcSet: srcSet,
|
|
890
867
|
sizes: sizes
|
|
891
868
|
})));
|
|
892
869
|
};
|
|
893
870
|
|
|
871
|
+
/*!
|
|
872
|
+
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
873
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
874
|
+
* Copyright 2024 Fonticons, Inc.
|
|
875
|
+
*/
|
|
876
|
+
const faArrowUpRight = {
|
|
877
|
+
prefix: 'far',
|
|
878
|
+
iconName: 'arrow-up-right',
|
|
879
|
+
icon: [384, 512, [], "e09f", "M328 96c13.3 0 24 10.7 24 24l0 240c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-182.1L73 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l231-231L88 144c-13.3 0-24-10.7-24-24s10.7-24 24-24l240 0z"]
|
|
880
|
+
};
|
|
881
|
+
|
|
894
882
|
var ProductCardHorizontal = function (_a) {
|
|
895
883
|
_a.id;
|
|
896
884
|
var imageUrl = _a.imageUrl,
|
|
897
885
|
url = _a.url,
|
|
898
|
-
title = _a.title
|
|
899
|
-
|
|
900
|
-
price = _a.price,
|
|
886
|
+
title = _a.title;
|
|
887
|
+
_a.description;
|
|
888
|
+
var price = _a.price,
|
|
889
|
+
productId = _a.productId,
|
|
901
890
|
button = _a.button,
|
|
902
891
|
_b = _a.className,
|
|
903
892
|
className = _b === void 0 ? "" : _b;
|
|
@@ -906,41 +895,46 @@ var ProductCardHorizontal = function (_a) {
|
|
|
906
895
|
}
|
|
907
896
|
return /*#__PURE__*/React.createElement("a", {
|
|
908
897
|
href: url,
|
|
909
|
-
className: "".concat(styles$
|
|
898
|
+
className: "".concat(styles$h.productCard, " ").concat(className),
|
|
910
899
|
"aria-label": "View product: ".concat(title)
|
|
911
900
|
}, /*#__PURE__*/React.createElement("div", {
|
|
912
|
-
className: "".concat(styles$
|
|
901
|
+
className: "".concat(styles$h.productWrapper, " ").concat(imageUrl ? styles$h.withImage : "")
|
|
913
902
|
}, imageUrl && /*#__PURE__*/React.createElement("div", {
|
|
914
|
-
className: styles$
|
|
903
|
+
className: styles$h.productImage
|
|
915
904
|
}, /*#__PURE__*/React.createElement(Image, {
|
|
916
905
|
src: imageUrl,
|
|
917
906
|
alt: title
|
|
918
907
|
})), /*#__PURE__*/React.createElement("div", {
|
|
919
|
-
className: styles$
|
|
908
|
+
className: styles$h.productTitleDescriptionWrapper
|
|
920
909
|
}, /*#__PURE__*/React.createElement("h3", {
|
|
921
|
-
className: styles$
|
|
922
|
-
}, title),
|
|
923
|
-
className: styles$
|
|
924
|
-
},
|
|
925
|
-
className: styles$
|
|
910
|
+
className: styles$h.productTitle
|
|
911
|
+
}, title), productId && /*#__PURE__*/React.createElement("p", {
|
|
912
|
+
className: styles$h.productId
|
|
913
|
+
}, productId)), /*#__PURE__*/React.createElement("div", {
|
|
914
|
+
className: styles$h.productPriceCtaWrapper
|
|
926
915
|
}, /*#__PURE__*/React.createElement("p", {
|
|
927
|
-
className: styles$
|
|
928
|
-
}, price || " "), button
|
|
929
|
-
className: styles$
|
|
916
|
+
className: styles$h.productPrice
|
|
917
|
+
}, price || " "), button ? /*#__PURE__*/React.createElement(Button, {
|
|
918
|
+
className: styles$h.productButton,
|
|
930
919
|
onClick: button.onClick,
|
|
931
920
|
size: "extra-small"
|
|
932
|
-
}, button.label)
|
|
921
|
+
}, button.label) : /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
922
|
+
icon: faArrowUpRight,
|
|
923
|
+
className: styles$h.productArrowIcon,
|
|
924
|
+
"aria-hidden": "true"
|
|
925
|
+
}))));
|
|
933
926
|
};
|
|
934
927
|
// Alias for backward compatibility
|
|
935
928
|
var ProductCardHorizontalParts = ProductCardHorizontal;
|
|
936
929
|
|
|
937
|
-
var styles$
|
|
930
|
+
var styles$f = {"productDetails":"ProductCardDetails-module__productDetails___-sx2l"};
|
|
938
931
|
|
|
939
932
|
// Adapter to map design system props to ProductCardHorizontalParts props
|
|
940
933
|
var SpareCardAdapter = function (props) {
|
|
941
934
|
var spare = props.spare,
|
|
942
935
|
rest = __rest(props, ["spare"]);
|
|
943
936
|
return /*#__PURE__*/React.createElement(ProductCardHorizontalParts, {
|
|
937
|
+
className: styles$f.spareCard,
|
|
944
938
|
url: (spare === null || spare === void 0 ? void 0 : spare.url) || (spare === null || spare === void 0 ? void 0 : spare.link) || "#",
|
|
945
939
|
title: (spare === null || spare === void 0 ? void 0 : spare.name) || (spare === null || spare === void 0 ? void 0 : spare.title) || "",
|
|
946
940
|
description: (spare === null || spare === void 0 ? void 0 : spare.description) || "",
|
|
@@ -966,7 +960,8 @@ var ProductCardDetails = function (_a) {
|
|
|
966
960
|
hit = _a.hit,
|
|
967
961
|
_b = _a.className,
|
|
968
962
|
className = _b === void 0 ? "" : _b,
|
|
969
|
-
ProductCardComponent = _a.ProductCardComponent
|
|
963
|
+
ProductCardComponent = _a.ProductCardComponent,
|
|
964
|
+
hidespares = _a.hidespares;
|
|
970
965
|
// Build the hit object expected by ProductDetailsCard
|
|
971
966
|
var hitData = hit || {
|
|
972
967
|
id: id,
|
|
@@ -977,7 +972,7 @@ var ProductCardDetails = function (_a) {
|
|
|
977
972
|
image: imageUrl
|
|
978
973
|
};
|
|
979
974
|
return /*#__PURE__*/React.createElement("div", {
|
|
980
|
-
className: styles$
|
|
975
|
+
className: styles$f.productDetails
|
|
981
976
|
}, /*#__PURE__*/React.createElement(edwardsvacuumDesignSystem.ProductDetailsCard, {
|
|
982
977
|
className: "".concat(className),
|
|
983
978
|
title: title,
|
|
@@ -986,7 +981,8 @@ var ProductCardDetails = function (_a) {
|
|
|
986
981
|
hit: hitData,
|
|
987
982
|
facets: facets,
|
|
988
983
|
usePlainClasses: true,
|
|
989
|
-
ProductCardComponent: ProductCardComponent || SpareCardAdapter
|
|
984
|
+
ProductCardComponent: ProductCardComponent || SpareCardAdapter,
|
|
985
|
+
hidespares: hidespares
|
|
990
986
|
}));
|
|
991
987
|
};
|
|
992
988
|
|
|
@@ -1034,7 +1030,8 @@ var ProductCardDetailsAdapter = function (props) {
|
|
|
1034
1030
|
var className = props.className,
|
|
1035
1031
|
code = props.code,
|
|
1036
1032
|
facets = props.facets,
|
|
1037
|
-
related_products = props.related_products
|
|
1033
|
+
related_products = props.related_products,
|
|
1034
|
+
hidespares = props.hidespares;
|
|
1038
1035
|
if (!title) {
|
|
1039
1036
|
return null;
|
|
1040
1037
|
}
|
|
@@ -1047,7 +1044,8 @@ var ProductCardDetailsAdapter = function (props) {
|
|
|
1047
1044
|
hit: hit,
|
|
1048
1045
|
className: className,
|
|
1049
1046
|
facets: facets,
|
|
1050
|
-
relatedProducts: (hit === null || hit === void 0 ? void 0 : hit.related_products) || related_products
|
|
1047
|
+
relatedProducts: (hit === null || hit === void 0 ? void 0 : hit.related_products) || related_products,
|
|
1048
|
+
hidespares: hidespares
|
|
1051
1049
|
});
|
|
1052
1050
|
};
|
|
1053
1051
|
var AlgoliaDynamicSearchLeybold = function (props) {
|
|
@@ -1112,7 +1110,7 @@ var QrFormLeybold = function (props) {
|
|
|
1112
1110
|
})));
|
|
1113
1111
|
};
|
|
1114
1112
|
|
|
1115
|
-
var styles$
|
|
1113
|
+
var styles$e = {"overlay":"SearchModal-module__overlay___Vbvg9","modal":"SearchModal-module__modal___1k5gO","closeButton":"SearchModal-module__closeButton___AN0zt","closeButton__icon":"SearchModal-module__closeButton__icon___vISSw","closeButton__text":"SearchModal-module__closeButton__text___-4EH1","closeButtonDesktop":"SearchModal-module__closeButtonDesktop___Lxxb0","closeButtonMobile":"SearchModal-module__closeButtonMobile___WIIMS","stickyHeader":"SearchModal-module__stickyHeader___wp-gA","scrollableContent":"SearchModal-module__scrollableContent___lrZP3"};
|
|
1116
1114
|
|
|
1117
1115
|
var ModalCloseButton = function (_a) {
|
|
1118
1116
|
var onClick = _a.onClick,
|
|
@@ -1124,7 +1122,9 @@ var ModalCloseButton = function (_a) {
|
|
|
1124
1122
|
type: "button",
|
|
1125
1123
|
onClick: onClick,
|
|
1126
1124
|
"aria-label": ariaLabel,
|
|
1127
|
-
className: "".concat(styles$
|
|
1125
|
+
className: "".concat(styles$e.closeButton, " ").concat(className)
|
|
1126
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
1127
|
+
className: styles$e.closeButton__icon
|
|
1128
1128
|
}, /*#__PURE__*/React.createElement("svg", {
|
|
1129
1129
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1130
1130
|
viewBox: "0 0 24 24",
|
|
@@ -1144,7 +1144,9 @@ var ModalCloseButton = function (_a) {
|
|
|
1144
1144
|
y1: "6",
|
|
1145
1145
|
x2: "18",
|
|
1146
1146
|
y2: "18"
|
|
1147
|
-
})))
|
|
1147
|
+
}))), /*#__PURE__*/React.createElement("span", {
|
|
1148
|
+
className: styles$e.closeButton__text
|
|
1149
|
+
}, "CLOSE X"));
|
|
1148
1150
|
};
|
|
1149
1151
|
|
|
1150
1152
|
var SearchModal = function (_a) {
|
|
@@ -1154,7 +1156,8 @@ var SearchModal = function (_a) {
|
|
|
1154
1156
|
title = _b === void 0 ? 'Search' : _b,
|
|
1155
1157
|
children = _a.children,
|
|
1156
1158
|
_c = _a.className,
|
|
1157
|
-
className = _c === void 0 ? '' : _c
|
|
1159
|
+
className = _c === void 0 ? '' : _c,
|
|
1160
|
+
stickyHeaderContent = _a.stickyHeaderContent;
|
|
1158
1161
|
var modalRef = React.useRef(null);
|
|
1159
1162
|
var previouslyFocusedElement = React.useRef(null);
|
|
1160
1163
|
React.useEffect(function () {
|
|
@@ -1225,7 +1228,7 @@ var SearchModal = function (_a) {
|
|
|
1225
1228
|
}
|
|
1226
1229
|
};
|
|
1227
1230
|
return /*#__PURE__*/React.createElement("div", {
|
|
1228
|
-
className: styles$
|
|
1231
|
+
className: styles$e.overlay,
|
|
1229
1232
|
onClick: handleOverlayClick,
|
|
1230
1233
|
"aria-hidden": "true"
|
|
1231
1234
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -1234,25 +1237,27 @@ var SearchModal = function (_a) {
|
|
|
1234
1237
|
"aria-modal": "true",
|
|
1235
1238
|
"aria-label": title,
|
|
1236
1239
|
tabIndex: -1,
|
|
1237
|
-
className: "".concat(styles$
|
|
1240
|
+
className: "".concat(styles$e.modal, " ").concat(className)
|
|
1238
1241
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1239
|
-
className: styles$
|
|
1240
|
-
}, /*#__PURE__*/React.createElement(
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1242
|
+
className: styles$e.stickyHeader
|
|
1243
|
+
}, /*#__PURE__*/React.createElement(ModalCloseButton, {
|
|
1244
|
+
onClick: onClose,
|
|
1245
|
+
className: styles$e.closeButtonMobile
|
|
1246
|
+
}), stickyHeaderContent), /*#__PURE__*/React.createElement("div", {
|
|
1247
|
+
className: styles$e.scrollableContent
|
|
1248
|
+
}, /*#__PURE__*/React.createElement(ModalCloseButton, {
|
|
1249
|
+
onClick: onClose,
|
|
1250
|
+
className: styles$e.closeButtonDesktop
|
|
1251
|
+
}), children)));
|
|
1247
1252
|
};
|
|
1248
1253
|
|
|
1249
|
-
var styles$
|
|
1254
|
+
var styles$d = {"searchBar":"SearchBar-module__searchBar___5ak1g","inputWrapper":"SearchBar-module__inputWrapper___-4wrM","searchIcon":"SearchBar-module__searchIcon___VAuDz","searchInput":"SearchBar-module__searchInput___1K4GN","clearButton":"SearchBar-module__clearButton___JQYg-","submitButton":"SearchBar-module__submitButton___DZWsQ","submitButton__text":"SearchBar-module__submitButton__text___WkUsL","submitButton__icon":"SearchBar-module__submitButton__icon___s-ltv"};
|
|
1250
1255
|
|
|
1251
1256
|
var SearchIcon = function (_a) {
|
|
1252
1257
|
var _b = _a.className,
|
|
1253
1258
|
className = _b === void 0 ? '' : _b;
|
|
1254
1259
|
return /*#__PURE__*/React.createElement("svg", {
|
|
1255
|
-
className: "".concat(styles$
|
|
1260
|
+
className: "".concat(styles$d.searchIcon, " ").concat(className),
|
|
1256
1261
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1257
1262
|
viewBox: "0 0 24 24",
|
|
1258
1263
|
fill: "none",
|
|
@@ -1291,7 +1296,7 @@ var SearchInput = function (_a) {
|
|
|
1291
1296
|
placeholder: placeholder,
|
|
1292
1297
|
autoFocus: autoFocus,
|
|
1293
1298
|
"aria-label": "Search",
|
|
1294
|
-
className: "".concat(styles$
|
|
1299
|
+
className: "".concat(styles$d.searchInput, " ").concat(className)
|
|
1295
1300
|
});
|
|
1296
1301
|
};
|
|
1297
1302
|
|
|
@@ -1302,16 +1307,21 @@ var SearchSubmitButton = function (_a) {
|
|
|
1302
1307
|
_c = _a.ariaLabel,
|
|
1303
1308
|
ariaLabel = _c === void 0 ? 'Search' : _c,
|
|
1304
1309
|
_d = _a.label,
|
|
1305
|
-
label = _d === void 0 ? 'Search' : _d
|
|
1306
|
-
|
|
1307
|
-
|
|
1310
|
+
label = _d === void 0 ? 'Search' : _d;
|
|
1311
|
+
_a.variant;
|
|
1312
|
+
var _f = _a.className,
|
|
1313
|
+
className = _f === void 0 ? '' : _f;
|
|
1308
1314
|
return /*#__PURE__*/React.createElement("button", {
|
|
1309
1315
|
type: "submit",
|
|
1310
1316
|
onClick: onClick,
|
|
1311
1317
|
disabled: disabled,
|
|
1312
1318
|
"aria-label": ariaLabel,
|
|
1313
|
-
className: "".concat(styles$
|
|
1314
|
-
},
|
|
1319
|
+
className: "".concat(styles$d.submitButton, " ").concat(className)
|
|
1320
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
1321
|
+
className: styles$d.submitButton__text
|
|
1322
|
+
}, label), /*#__PURE__*/React.createElement("span", {
|
|
1323
|
+
className: styles$d.submitButton__icon
|
|
1324
|
+
}, /*#__PURE__*/React.createElement(SearchIcon, null)));
|
|
1315
1325
|
};
|
|
1316
1326
|
|
|
1317
1327
|
var SearchBar = function (_a) {
|
|
@@ -1322,7 +1332,9 @@ var SearchBar = function (_a) {
|
|
|
1322
1332
|
_b = _a.autoFocus,
|
|
1323
1333
|
autoFocus = _b === void 0 ? false : _b,
|
|
1324
1334
|
_c = _a.className,
|
|
1325
|
-
className = _c === void 0 ? '' : _c
|
|
1335
|
+
className = _c === void 0 ? '' : _c,
|
|
1336
|
+
_d = _a.variant,
|
|
1337
|
+
variant = _d === void 0 ? 'instant' : _d;
|
|
1326
1338
|
var handleSubmit = function (event) {
|
|
1327
1339
|
event.preventDefault();
|
|
1328
1340
|
onSubmit();
|
|
@@ -1333,23 +1345,169 @@ var SearchBar = function (_a) {
|
|
|
1333
1345
|
onSubmit();
|
|
1334
1346
|
}
|
|
1335
1347
|
};
|
|
1348
|
+
var handleClear = function () {
|
|
1349
|
+
onChange('');
|
|
1350
|
+
};
|
|
1351
|
+
var showClearButton = value.length > 0;
|
|
1336
1352
|
return /*#__PURE__*/React.createElement("form", {
|
|
1337
1353
|
onSubmit: handleSubmit,
|
|
1338
|
-
className: "".concat(styles$
|
|
1354
|
+
className: "".concat(styles$d.searchBar, " ").concat(className)
|
|
1339
1355
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1340
|
-
className: styles$
|
|
1356
|
+
className: styles$d.inputWrapper
|
|
1341
1357
|
}, /*#__PURE__*/React.createElement(SearchIcon, null), /*#__PURE__*/React.createElement(SearchInput, {
|
|
1342
1358
|
value: value,
|
|
1343
1359
|
onChange: onChange,
|
|
1344
1360
|
onKeyDown: handleKeyDown,
|
|
1345
1361
|
placeholder: placeholder,
|
|
1346
1362
|
autoFocus: autoFocus
|
|
1347
|
-
})
|
|
1348
|
-
|
|
1363
|
+
}), showClearButton && /*#__PURE__*/React.createElement("button", {
|
|
1364
|
+
type: "button",
|
|
1365
|
+
onClick: handleClear,
|
|
1366
|
+
className: styles$d.clearButton,
|
|
1367
|
+
"aria-label": "Clear search"
|
|
1368
|
+
}, "CLEAR X")), /*#__PURE__*/React.createElement(SearchSubmitButton, {
|
|
1369
|
+
onClick: onSubmit,
|
|
1370
|
+
label: "SEE ALL RESULTS",
|
|
1371
|
+
variant: variant
|
|
1349
1372
|
}));
|
|
1350
1373
|
};
|
|
1351
1374
|
|
|
1352
|
-
var styles$
|
|
1375
|
+
var styles$c = {"contentCard":"ContentCardHorizontal-module__contentCard___l-Kim","contentCard--instant-view":"ContentCardHorizontal-module__contentCard--instant-view___4wK9-","contentExcerpt":"ContentCardHorizontal-module__contentExcerpt___tqg1v","contentCard--results-view":"ContentCardHorizontal-module__contentCard--results-view___oBP2u","contentMeta":"ContentCardHorizontal-module__contentMeta___rEW-X","contentCategory":"ContentCardHorizontal-module__contentCategory___NssVD","contentMetaText":"ContentCardHorizontal-module__contentMetaText___muYBN","contentTitle":"ContentCardHorizontal-module__contentTitle___54gEo"};
|
|
1376
|
+
|
|
1377
|
+
var ContentCardHorizontal = function (_a) {
|
|
1378
|
+
_a.id;
|
|
1379
|
+
var title = _a.title,
|
|
1380
|
+
url = _a.url,
|
|
1381
|
+
category = _a.category,
|
|
1382
|
+
meta = _a.meta,
|
|
1383
|
+
excerpt = _a.excerpt,
|
|
1384
|
+
_b = _a.className,
|
|
1385
|
+
className = _b === void 0 ? "" : _b,
|
|
1386
|
+
_c = _a.variant,
|
|
1387
|
+
variant = _c === void 0 ? "instant-view" : _c;
|
|
1388
|
+
var cardClasses = classNames(styles$c.contentCard, styles$c["contentCard--".concat(variant)], className);
|
|
1389
|
+
return /*#__PURE__*/React.createElement("a", {
|
|
1390
|
+
href: url,
|
|
1391
|
+
className: cardClasses,
|
|
1392
|
+
"aria-label": "View content: ".concat(title)
|
|
1393
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1394
|
+
className: styles$c.contentMeta
|
|
1395
|
+
}, category && /*#__PURE__*/React.createElement("span", {
|
|
1396
|
+
className: styles$c.contentCategory
|
|
1397
|
+
}, category), meta && /*#__PURE__*/React.createElement("span", {
|
|
1398
|
+
className: styles$c.contentMetaText
|
|
1399
|
+
}, meta)), /*#__PURE__*/React.createElement("h3", {
|
|
1400
|
+
className: styles$c.contentTitle
|
|
1401
|
+
}, title), excerpt && /*#__PURE__*/React.createElement("p", {
|
|
1402
|
+
className: styles$c.contentExcerpt
|
|
1403
|
+
}, excerpt));
|
|
1404
|
+
};
|
|
1405
|
+
|
|
1406
|
+
var styles$b = {"instantResultsLayout":"InstantResults-module__instantResultsLayout___oy-o4","columnsGrid":"InstantResults-module__columnsGrid___bHRUM","resultsColumn":"InstantResults-module__resultsColumn___ZBSlT","columnHeader":"InstantResults-module__columnHeader___VYYhi","showingText":"InstantResults-module__showingText___lECiA","seeAllButton":"InstantResults-module__seeAllButton___xEDAX","chevronIcon":"InstantResults-module__chevronIcon___bjb3q","resultsList":"InstantResults-module__resultsList___7s3PT","divider":"InstantResults-module__divider___Ky6zK","loadingState":"InstantResults-module__loadingState___l0fMq","errorState":"InstantResults-module__errorState___hTBbE","spinner":"InstantResults-module__spinner___85jF-"};
|
|
1407
|
+
|
|
1408
|
+
var FederatedInstantResultsLayout = function (_a) {
|
|
1409
|
+
_a.query;
|
|
1410
|
+
var products = _a.products,
|
|
1411
|
+
contents = _a.contents,
|
|
1412
|
+
isLoadingProducts = _a.isLoadingProducts,
|
|
1413
|
+
isLoadingContents = _a.isLoadingContents,
|
|
1414
|
+
productsError = _a.productsError,
|
|
1415
|
+
contentsError = _a.contentsError,
|
|
1416
|
+
onSeeAllProducts = _a.onSeeAllProducts,
|
|
1417
|
+
onSeeAllContents = _a.onSeeAllContents;
|
|
1418
|
+
_a.onSeeAllCombined;
|
|
1419
|
+
products.length + contents.length;
|
|
1420
|
+
// Show first 3 results from each category
|
|
1421
|
+
var displayProducts = products.slice(0, 3);
|
|
1422
|
+
var displayContents = contents.slice(0, 3);
|
|
1423
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1424
|
+
className: styles$b.instantResultsLayout
|
|
1425
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1426
|
+
className: styles$b.columnsGrid
|
|
1427
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1428
|
+
className: styles$b.resultsColumn
|
|
1429
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1430
|
+
className: styles$b.columnHeader
|
|
1431
|
+
}, /*#__PURE__*/React.createElement("p", {
|
|
1432
|
+
className: styles$b.showingText
|
|
1433
|
+
}, "SHOWING ", displayProducts.length, " OF ", products.length, " RESULTS"), /*#__PURE__*/React.createElement("button", {
|
|
1434
|
+
type: "button",
|
|
1435
|
+
className: styles$b.seeAllButton,
|
|
1436
|
+
onClick: onSeeAllProducts
|
|
1437
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
1438
|
+
className: styles$b.chevronIcon,
|
|
1439
|
+
width: "12",
|
|
1440
|
+
height: "6",
|
|
1441
|
+
viewBox: "0 0 12 6",
|
|
1442
|
+
fill: "none",
|
|
1443
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1444
|
+
"aria-hidden": "true"
|
|
1445
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
1446
|
+
d: "M1 1L6 5L11 1",
|
|
1447
|
+
stroke: "currentColor",
|
|
1448
|
+
strokeWidth: "2",
|
|
1449
|
+
strokeLinecap: "round",
|
|
1450
|
+
strokeLinejoin: "round"
|
|
1451
|
+
})), /*#__PURE__*/React.createElement("span", null, "See all products"))), isLoadingProducts ? /*#__PURE__*/React.createElement("div", {
|
|
1452
|
+
className: styles$b.loadingState
|
|
1453
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1454
|
+
className: styles$b.spinner,
|
|
1455
|
+
"aria-label": "Loading..."
|
|
1456
|
+
}), /*#__PURE__*/React.createElement("p", null, "Loading products...")) : productsError ? /*#__PURE__*/React.createElement("div", {
|
|
1457
|
+
className: styles$b.errorState
|
|
1458
|
+
}, /*#__PURE__*/React.createElement("p", null, productsError)) : displayProducts.length > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
1459
|
+
className: styles$b.resultsList
|
|
1460
|
+
}, displayProducts.map(function (product, index) {
|
|
1461
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
1462
|
+
key: product.id
|
|
1463
|
+
}, /*#__PURE__*/React.createElement(ProductCardHorizontal, product), index < displayProducts.length - 1 && /*#__PURE__*/React.createElement("hr", {
|
|
1464
|
+
className: styles$b.divider
|
|
1465
|
+
}));
|
|
1466
|
+
})) : null), /*#__PURE__*/React.createElement("div", {
|
|
1467
|
+
className: styles$b.resultsColumn
|
|
1468
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1469
|
+
className: styles$b.columnHeader
|
|
1470
|
+
}, /*#__PURE__*/React.createElement("p", {
|
|
1471
|
+
className: styles$b.showingText
|
|
1472
|
+
}, "SHOWING ", displayContents.length, " OF ", contents.length, " RESULTS"), /*#__PURE__*/React.createElement("button", {
|
|
1473
|
+
type: "button",
|
|
1474
|
+
className: styles$b.seeAllButton,
|
|
1475
|
+
onClick: onSeeAllContents
|
|
1476
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
1477
|
+
className: styles$b.chevronIcon,
|
|
1478
|
+
width: "12",
|
|
1479
|
+
height: "6",
|
|
1480
|
+
viewBox: "0 0 12 6",
|
|
1481
|
+
fill: "none",
|
|
1482
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1483
|
+
"aria-hidden": "true"
|
|
1484
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
1485
|
+
d: "M1 1L6 5L11 1",
|
|
1486
|
+
stroke: "currentColor",
|
|
1487
|
+
strokeWidth: "2",
|
|
1488
|
+
strokeLinecap: "round",
|
|
1489
|
+
strokeLinejoin: "round"
|
|
1490
|
+
})), /*#__PURE__*/React.createElement("span", null, "See all"))), isLoadingContents ? /*#__PURE__*/React.createElement("div", {
|
|
1491
|
+
className: styles$b.loadingState
|
|
1492
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1493
|
+
className: styles$b.spinner,
|
|
1494
|
+
"aria-label": "Loading..."
|
|
1495
|
+
}), /*#__PURE__*/React.createElement("p", null, "Loading content...")) : contentsError ? /*#__PURE__*/React.createElement("div", {
|
|
1496
|
+
className: styles$b.errorState
|
|
1497
|
+
}, /*#__PURE__*/React.createElement("p", null, contentsError)) : displayContents.length > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
1498
|
+
className: styles$b.resultsList
|
|
1499
|
+
}, displayContents.map(function (content, index) {
|
|
1500
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
1501
|
+
key: content.id
|
|
1502
|
+
}, /*#__PURE__*/React.createElement(ContentCardHorizontal, _extends({}, content, {
|
|
1503
|
+
variant: "instant-view"
|
|
1504
|
+
})), index < displayContents.length - 1 && /*#__PURE__*/React.createElement("hr", {
|
|
1505
|
+
className: styles$b.divider
|
|
1506
|
+
}));
|
|
1507
|
+
})) : null)));
|
|
1508
|
+
};
|
|
1509
|
+
|
|
1510
|
+
var styles$a = {"resultsCount":"ResultsCount-module__resultsCount___cNM6f"};
|
|
1353
1511
|
|
|
1354
1512
|
var ResultsCount = function (_a) {
|
|
1355
1513
|
var count = _a.count,
|
|
@@ -1358,11 +1516,11 @@ var ResultsCount = function (_a) {
|
|
|
1358
1516
|
className = _b === void 0 ? '' : _b;
|
|
1359
1517
|
var label = count === 1 ? type.slice(0, -1) : type;
|
|
1360
1518
|
return /*#__PURE__*/React.createElement("span", {
|
|
1361
|
-
className: "".concat(styles$
|
|
1519
|
+
className: "".concat(styles$a.resultsCount, " ").concat(className)
|
|
1362
1520
|
}, count, " ", label);
|
|
1363
1521
|
};
|
|
1364
1522
|
|
|
1365
|
-
var styles$
|
|
1523
|
+
var styles$9 = {"seeAllButton":"SeeAllLinkButton-module__seeAllButton___eAQqJ"};
|
|
1366
1524
|
|
|
1367
1525
|
var SeeAllLinkButton = function (_a) {
|
|
1368
1526
|
var onClick = _a.onClick,
|
|
@@ -1373,7 +1531,7 @@ var SeeAllLinkButton = function (_a) {
|
|
|
1373
1531
|
return /*#__PURE__*/React.createElement("button", {
|
|
1374
1532
|
type: "button",
|
|
1375
1533
|
onClick: onClick,
|
|
1376
|
-
className: "".concat(styles$
|
|
1534
|
+
className: "".concat(styles$9.seeAllButton, " ").concat(className)
|
|
1377
1535
|
}, label, /*#__PURE__*/React.createElement("svg", {
|
|
1378
1536
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1379
1537
|
viewBox: "0 0 24 24",
|
|
@@ -1388,7 +1546,7 @@ var SeeAllLinkButton = function (_a) {
|
|
|
1388
1546
|
})));
|
|
1389
1547
|
};
|
|
1390
1548
|
|
|
1391
|
-
var styles$
|
|
1549
|
+
var styles$8 = {"resultsColumn":"ResultsColumn-module__resultsColumn___AexF5","columnHeader":"ResultsColumn-module__columnHeader___-aUWU","columnTitle":"ResultsColumn-module__columnTitle___Gddr-","resultsList":"ResultsColumn-module__resultsList___BkEie","columnFooter":"ResultsColumn-module__columnFooter___4zJUp","loadingState":"ResultsColumn-module__loadingState___wme5F","errorState":"ResultsColumn-module__errorState___NI4fW","emptyState":"ResultsColumn-module__emptyState___tvefj","spinner":"ResultsColumn-module__spinner___hhntn"};
|
|
1392
1550
|
|
|
1393
1551
|
var ResultsColumn = function (_a) {
|
|
1394
1552
|
var title = _a.title,
|
|
@@ -1400,118 +1558,51 @@ var ResultsColumn = function (_a) {
|
|
|
1400
1558
|
_b = _a.className,
|
|
1401
1559
|
className = _b === void 0 ? '' : _b;
|
|
1402
1560
|
return /*#__PURE__*/React.createElement("div", {
|
|
1403
|
-
className: "".concat(styles$
|
|
1561
|
+
className: "".concat(styles$8.resultsColumn, " ").concat(className)
|
|
1404
1562
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1405
|
-
className: styles$
|
|
1563
|
+
className: styles$8.columnHeader
|
|
1406
1564
|
}, /*#__PURE__*/React.createElement("h3", {
|
|
1407
|
-
className: styles$
|
|
1565
|
+
className: styles$8.columnTitle
|
|
1408
1566
|
}, title), !isLoading && !error && count > 0 && /*#__PURE__*/React.createElement(ResultsCount, {
|
|
1409
1567
|
count: count,
|
|
1410
1568
|
type: title.toLowerCase().includes('product') ? 'products' : 'content'
|
|
1411
1569
|
})), isLoading && /*#__PURE__*/React.createElement("div", {
|
|
1412
|
-
className: styles$
|
|
1570
|
+
className: styles$8.loadingState
|
|
1413
1571
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1414
|
-
className: styles$
|
|
1572
|
+
className: styles$8.spinner,
|
|
1415
1573
|
"aria-label": "Loading..."
|
|
1416
1574
|
}), /*#__PURE__*/React.createElement("p", null, "Loading ", title.toLowerCase(), "...")), error && /*#__PURE__*/React.createElement("div", {
|
|
1417
|
-
className: styles$
|
|
1575
|
+
className: styles$8.errorState
|
|
1418
1576
|
}, /*#__PURE__*/React.createElement("p", null, error)), !isLoading && !error && count === 0 && /*#__PURE__*/React.createElement("div", {
|
|
1419
|
-
className: styles$
|
|
1577
|
+
className: styles$8.emptyState
|
|
1420
1578
|
}, /*#__PURE__*/React.createElement("p", null, "No ", title.toLowerCase(), " found")), !isLoading && !error && count > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
1421
|
-
className: styles$
|
|
1579
|
+
className: styles$8.resultsList
|
|
1422
1580
|
}, children), /*#__PURE__*/React.createElement("div", {
|
|
1423
|
-
className: styles$
|
|
1581
|
+
className: styles$8.columnFooter
|
|
1424
1582
|
}, /*#__PURE__*/React.createElement(SeeAllLinkButton, {
|
|
1425
1583
|
onClick: onSeeAll,
|
|
1426
1584
|
label: "See all ".concat(title.toLowerCase())
|
|
1427
1585
|
}))));
|
|
1428
1586
|
};
|
|
1429
1587
|
|
|
1430
|
-
var styles$
|
|
1588
|
+
var styles$7 = {"filtersPanel":"Filters-module__filtersPanel___T3SlK","filtersList":"Filters-module__filtersList___jPgkP","filterAccordion":"Filters-module__filterAccordion___Mf9Oe","accordionHeader":"Filters-module__accordionHeader___DtPJx","accordionTitle":"Filters-module__accordionTitle___YtHXW","accordionIcon":"Filters-module__accordionIcon___zRGrv","accordionIconExpanded":"Filters-module__accordionIconExpanded___pkkjv","accordionContent":"Filters-module__accordionContent___SqhIu","accordionSearch":"Filters-module__accordionSearch___V0A74","filterSearch":"Filters-module__filterSearch___Jc8AX","searchIcon":"Filters-module__searchIcon___pas1t","searchInput":"Filters-module__searchInput___nzOMK","clearButton":"Filters-module__clearButton___tHl6L","filterList":"Filters-module__filterList___TLqBu","filterItem":"Filters-module__filterItem___lA2rv","filterCheckboxInput":"Filters-module__filterCheckboxInput___NAcGz","filterCheckbox":"Filters-module__filterCheckbox___9In3q","filterLabel":"Filters-module__filterLabel___w-M8J","filterCount":"Filters-module__filterCount___XMsmy","filterItemMobile":"Filters-module__filterItemMobile___bqRMi","filterItemMobileRefined":"Filters-module__filterItemMobileRefined___VnLfK","filterItemDesktopNoCheckbox":"Filters-module__filterItemDesktopNoCheckbox___rX7Vy","filterItemDesktopRefined":"Filters-module__filterItemDesktopRefined___XaVGp","noResults":"Filters-module__noResults___ZdZ4V","loadingState":"Filters-module__loadingState___k6olr","spinner":"Filters-module__spinner___hvTaP","appliedFilters":"Filters-module__appliedFilters___hP4x-","appliedFiltersTitle":"Filters-module__appliedFiltersTitle___k6VbJ","appliedFiltersList":"Filters-module__appliedFiltersList___-fx9D","appliedFilterTag":"Filters-module__appliedFilterTag___hd5yc","tagLabel":"Filters-module__tagLabel___0ImQk","tagRemoveButton":"Filters-module__tagRemoveButton___JaA8M"};
|
|
1431
1589
|
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
return /*#__PURE__*/React.createElement("a", {
|
|
1442
|
-
href: url,
|
|
1443
|
-
className: "".concat(styles$5.contentCard, " ").concat(className),
|
|
1444
|
-
"aria-label": "View content: ".concat(title)
|
|
1445
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1446
|
-
className: styles$5.contentMeta
|
|
1447
|
-
}, category && /*#__PURE__*/React.createElement("span", {
|
|
1448
|
-
className: styles$5.contentCategory
|
|
1449
|
-
}, category), meta && /*#__PURE__*/React.createElement("span", {
|
|
1450
|
-
className: styles$5.contentMetaText
|
|
1451
|
-
}, meta)), /*#__PURE__*/React.createElement("h3", {
|
|
1452
|
-
className: styles$5.contentTitle
|
|
1453
|
-
}, title), excerpt && /*#__PURE__*/React.createElement("p", {
|
|
1454
|
-
className: styles$5.contentExcerpt
|
|
1455
|
-
}, excerpt));
|
|
1590
|
+
/*!
|
|
1591
|
+
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
1592
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
1593
|
+
* Copyright 2024 Fonticons, Inc.
|
|
1594
|
+
*/
|
|
1595
|
+
const faMagnifyingGlass = {
|
|
1596
|
+
prefix: 'fal',
|
|
1597
|
+
iconName: 'magnifying-glass',
|
|
1598
|
+
icon: [512, 512, [128269, "search"], "f002", "M384 208A176 176 0 1 0 32 208a176 176 0 1 0 352 0zM343.3 366C307 397.2 259.7 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 51.7-18.8 99-50 135.3L507.3 484.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L343.3 366z"]
|
|
1456
1599
|
};
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
var query = _a.query,
|
|
1462
|
-
products = _a.products,
|
|
1463
|
-
contents = _a.contents,
|
|
1464
|
-
isLoadingProducts = _a.isLoadingProducts,
|
|
1465
|
-
isLoadingContents = _a.isLoadingContents,
|
|
1466
|
-
productsError = _a.productsError,
|
|
1467
|
-
contentsError = _a.contentsError,
|
|
1468
|
-
onSeeAllProducts = _a.onSeeAllProducts,
|
|
1469
|
-
onSeeAllContents = _a.onSeeAllContents,
|
|
1470
|
-
onSeeAllCombined = _a.onSeeAllCombined;
|
|
1471
|
-
var totalResults = products.length + contents.length;
|
|
1472
|
-
var hasResults = totalResults > 0;
|
|
1473
|
-
var showCombinedButton = hasResults && !isLoadingProducts && !isLoadingContents;
|
|
1474
|
-
// Show first 3 results from each category
|
|
1475
|
-
var displayProducts = products.slice(0, 3);
|
|
1476
|
-
var displayContents = contents.slice(0, 3);
|
|
1477
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1478
|
-
className: styles$4.instantResultsLayout
|
|
1479
|
-
}, query && /*#__PURE__*/React.createElement("div", {
|
|
1480
|
-
className: styles$4.queryHeader
|
|
1481
|
-
}, /*#__PURE__*/React.createElement("h2", {
|
|
1482
|
-
className: styles$4.queryText
|
|
1483
|
-
}, "Results for ", /*#__PURE__*/React.createElement("span", {
|
|
1484
|
-
className: styles$4.queryHighlight
|
|
1485
|
-
}, "\"", query, "\"")), showCombinedButton && /*#__PURE__*/React.createElement(SeeAllLinkButton, {
|
|
1486
|
-
onClick: onSeeAllCombined,
|
|
1487
|
-
label: "See all results"
|
|
1488
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
1489
|
-
className: styles$4.columnsGrid
|
|
1490
|
-
}, /*#__PURE__*/React.createElement(ResultsColumn, {
|
|
1491
|
-
title: "Products",
|
|
1492
|
-
count: products.length,
|
|
1493
|
-
isLoading: isLoadingProducts,
|
|
1494
|
-
error: productsError,
|
|
1495
|
-
onSeeAll: onSeeAllProducts
|
|
1496
|
-
}, displayProducts.map(function (product) {
|
|
1497
|
-
return /*#__PURE__*/React.createElement(ProductCardHorizontal, _extends({
|
|
1498
|
-
key: product.id
|
|
1499
|
-
}, product));
|
|
1500
|
-
})), /*#__PURE__*/React.createElement(ResultsColumn, {
|
|
1501
|
-
title: "Content",
|
|
1502
|
-
count: contents.length,
|
|
1503
|
-
isLoading: isLoadingContents,
|
|
1504
|
-
error: contentsError,
|
|
1505
|
-
onSeeAll: onSeeAllContents
|
|
1506
|
-
}, displayContents.map(function (content) {
|
|
1507
|
-
return /*#__PURE__*/React.createElement(ContentCardHorizontal, _extends({
|
|
1508
|
-
key: content.id
|
|
1509
|
-
}, content));
|
|
1510
|
-
}))));
|
|
1600
|
+
const faXmark = {
|
|
1601
|
+
prefix: 'fal',
|
|
1602
|
+
iconName: 'xmark',
|
|
1603
|
+
icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.6 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z"]
|
|
1511
1604
|
};
|
|
1512
1605
|
|
|
1513
|
-
var styles$3 = {"filtersPanel":"Filters-module__filtersPanel___T3SlK","filtersPanelHeader":"Filters-module__filtersPanelHeader___XOBTi","filtersPanelTitle":"Filters-module__filtersPanelTitle___Mnn10","filtersList":"Filters-module__filtersList___jPgkP","filterAccordion":"Filters-module__filterAccordion___Mf9Oe","accordionHeader":"Filters-module__accordionHeader___DtPJx","accordionTitle":"Filters-module__accordionTitle___YtHXW","accordionIcon":"Filters-module__accordionIcon___zRGrv","accordionIconExpanded":"Filters-module__accordionIconExpanded___pkkjv","accordionContent":"Filters-module__accordionContent___SqhIu","accordionSearch":"Filters-module__accordionSearch___V0A74","filterSearch":"Filters-module__filterSearch___Jc8AX","searchIcon":"Filters-module__searchIcon___pas1t","searchInput":"Filters-module__searchInput___nzOMK","clearButton":"Filters-module__clearButton___tHl6L","filterList":"Filters-module__filterList___TLqBu","filterItem":"Filters-module__filterItem___lA2rv","filterCheckbox":"Filters-module__filterCheckbox___9In3q","filterLabel":"Filters-module__filterLabel___w-M8J","filterCount":"Filters-module__filterCount___XMsmy","noResults":"Filters-module__noResults___ZdZ4V","loadingState":"Filters-module__loadingState___k6olr","spinner":"Filters-module__spinner___hvTaP","appliedFilters":"Filters-module__appliedFilters___hP4x-","appliedFiltersHeader":"Filters-module__appliedFiltersHeader___w-ZBN","appliedFiltersTitle":"Filters-module__appliedFiltersTitle___k6VbJ","appliedFiltersCount":"Filters-module__appliedFiltersCount___UQikX","clearAllButton":"Filters-module__clearAllButton___yviGV","appliedFiltersList":"Filters-module__appliedFiltersList___-fx9D","appliedFilterTag":"Filters-module__appliedFilterTag___hd5yc","tagLabel":"Filters-module__tagLabel___0ImQk","tagRemoveButton":"Filters-module__tagRemoveButton___JaA8M"};
|
|
1514
|
-
|
|
1515
1606
|
/**
|
|
1516
1607
|
* FilterSearch - Search input for filtering facet values
|
|
1517
1608
|
*/
|
|
@@ -1528,61 +1619,51 @@ var FilterSearch = function (_a) {
|
|
|
1528
1619
|
onChange("");
|
|
1529
1620
|
};
|
|
1530
1621
|
return /*#__PURE__*/React.createElement("div", {
|
|
1531
|
-
className: "".concat(styles$
|
|
1532
|
-
}, /*#__PURE__*/React.createElement(
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
height: "16",
|
|
1536
|
-
viewBox: "0 0 16 16",
|
|
1537
|
-
fill: "none",
|
|
1538
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1622
|
+
className: "".concat(styles$7.filterSearch, " ").concat(className || "")
|
|
1623
|
+
}, !value && /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
1624
|
+
icon: faMagnifyingGlass,
|
|
1625
|
+
className: styles$7.searchIcon,
|
|
1539
1626
|
"aria-hidden": "true"
|
|
1540
|
-
}, /*#__PURE__*/React.createElement("
|
|
1541
|
-
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",
|
|
1542
|
-
stroke: "currentColor",
|
|
1543
|
-
strokeWidth: "2",
|
|
1544
|
-
strokeLinecap: "round",
|
|
1545
|
-
strokeLinejoin: "round"
|
|
1546
|
-
}), /*#__PURE__*/React.createElement("path", {
|
|
1547
|
-
d: "M15 15L11.5 11.5",
|
|
1548
|
-
stroke: "currentColor",
|
|
1549
|
-
strokeWidth: "2",
|
|
1550
|
-
strokeLinecap: "round",
|
|
1551
|
-
strokeLinejoin: "round"
|
|
1552
|
-
})), /*#__PURE__*/React.createElement("input", {
|
|
1627
|
+
}), /*#__PURE__*/React.createElement("input", {
|
|
1553
1628
|
type: "text",
|
|
1554
1629
|
value: value,
|
|
1555
1630
|
onChange: handleChange,
|
|
1556
1631
|
placeholder: placeholder,
|
|
1557
|
-
className: styles$
|
|
1632
|
+
className: styles$7.searchInput,
|
|
1558
1633
|
"aria-label": placeholder
|
|
1559
1634
|
}), value && /*#__PURE__*/React.createElement("button", {
|
|
1560
1635
|
type: "button",
|
|
1561
1636
|
onClick: handleClear,
|
|
1562
|
-
className: styles$
|
|
1637
|
+
className: styles$7.clearButton,
|
|
1563
1638
|
"aria-label": "Clear search"
|
|
1564
|
-
}, /*#__PURE__*/React.createElement(
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
viewBox: "0 0 12 12",
|
|
1568
|
-
fill: "none",
|
|
1569
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
1570
|
-
}, /*#__PURE__*/React.createElement("path", {
|
|
1571
|
-
d: "M9 3L3 9M3 3L9 9",
|
|
1572
|
-
stroke: "currentColor",
|
|
1573
|
-
strokeWidth: "2",
|
|
1574
|
-
strokeLinecap: "round",
|
|
1575
|
-
strokeLinejoin: "round"
|
|
1576
|
-
}))));
|
|
1639
|
+
}, /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
1640
|
+
icon: freeSolidSvgIcons.faXmark
|
|
1641
|
+
})));
|
|
1577
1642
|
};
|
|
1578
1643
|
|
|
1644
|
+
var CheckIcon = function () {
|
|
1645
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
1646
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1647
|
+
width: "9",
|
|
1648
|
+
height: "7",
|
|
1649
|
+
viewBox: "0 0 9 7",
|
|
1650
|
+
fill: "none"
|
|
1651
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
1652
|
+
d: "M8.73456 0.104504C9.02185 0.279451 9.08614 0.615889 8.8772 0.856441L3.7342 6.77774C3.62371 6.90558 3.45294 6.98465 3.2641 6.99811C3.07525 7.01156 2.89244 6.95269 2.75984 6.84166L0.188342 4.68846C-0.0627808 4.47819 -0.0627808 4.13671 0.188342 3.92643C0.439465 3.71616 0.847289 3.71616 1.09841 3.92643L3.13753 5.63385L7.83856 0.222257C8.04749 -0.0182957 8.44929 -0.0721258 8.73658 0.102822L8.73456 0.104504Z",
|
|
1653
|
+
fill: "#E2001A"
|
|
1654
|
+
}));
|
|
1655
|
+
};
|
|
1579
1656
|
/**
|
|
1580
1657
|
* FilterItem - Individual facet item with checkbox and count
|
|
1581
1658
|
*/
|
|
1582
1659
|
var FilterItem = function (_a) {
|
|
1583
1660
|
var value = _a.value,
|
|
1584
1661
|
onToggle = _a.onToggle,
|
|
1585
|
-
className = _a.className
|
|
1662
|
+
className = _a.className,
|
|
1663
|
+
_b = _a.variant,
|
|
1664
|
+
variant = _b === void 0 ? 'desktop' : _b,
|
|
1665
|
+
_c = _a.showCheckbox,
|
|
1666
|
+
showCheckbox = _c === void 0 ? true : _c;
|
|
1586
1667
|
var handleChange = function () {
|
|
1587
1668
|
onToggle(value.value);
|
|
1588
1669
|
};
|
|
@@ -1592,19 +1673,50 @@ var FilterItem = function (_a) {
|
|
|
1592
1673
|
onToggle(value.value);
|
|
1593
1674
|
}
|
|
1594
1675
|
};
|
|
1676
|
+
// Mobile variant: Plain button (no checkbox)
|
|
1677
|
+
if (variant === 'mobile') {
|
|
1678
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
1679
|
+
type: "button",
|
|
1680
|
+
className: "".concat(styles$7.filterItemMobile, " ").concat(value.isRefined ? styles$7.filterItemMobileRefined : '', " ").concat(className || ""),
|
|
1681
|
+
onClick: handleChange,
|
|
1682
|
+
onKeyDown: handleKeyDown,
|
|
1683
|
+
"aria-pressed": value.isRefined
|
|
1684
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
1685
|
+
className: styles$7.filterLabel
|
|
1686
|
+
}, value.value), value.count > 0 && /*#__PURE__*/React.createElement("span", {
|
|
1687
|
+
className: styles$7.filterCount
|
|
1688
|
+
}, "(", value.count, ")"));
|
|
1689
|
+
}
|
|
1690
|
+
// Desktop without checkbox (Content tab): Plain button with red text when selected
|
|
1691
|
+
if (!showCheckbox) {
|
|
1692
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
1693
|
+
type: "button",
|
|
1694
|
+
className: "".concat(styles$7.filterItemDesktopNoCheckbox, " ").concat(value.isRefined ? styles$7.filterItemDesktopRefined : '', " ").concat(className || ""),
|
|
1695
|
+
onClick: handleChange,
|
|
1696
|
+
onKeyDown: handleKeyDown,
|
|
1697
|
+
"aria-pressed": value.isRefined
|
|
1698
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
1699
|
+
className: styles$7.filterLabel
|
|
1700
|
+
}, value.value), value.count > 0 && /*#__PURE__*/React.createElement("span", {
|
|
1701
|
+
className: styles$7.filterCount
|
|
1702
|
+
}, "(", value.count, ")"));
|
|
1703
|
+
}
|
|
1704
|
+
// Desktop with checkbox (Products tab): Multi-select checkboxes
|
|
1595
1705
|
return /*#__PURE__*/React.createElement("label", {
|
|
1596
|
-
className: "".concat(styles$
|
|
1706
|
+
className: "".concat(styles$7.filterItem, " ").concat(className || ""),
|
|
1597
1707
|
onKeyDown: handleKeyDown
|
|
1598
1708
|
}, /*#__PURE__*/React.createElement("input", {
|
|
1599
1709
|
type: "checkbox",
|
|
1600
1710
|
checked: value.isRefined,
|
|
1601
1711
|
onChange: handleChange,
|
|
1602
|
-
className: styles$
|
|
1712
|
+
className: styles$7.filterCheckboxInput,
|
|
1603
1713
|
"aria-label": "".concat(value.value, " (").concat(value.count, " results)")
|
|
1604
|
-
}), /*#__PURE__*/React.createElement("
|
|
1605
|
-
className: styles$
|
|
1714
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
1715
|
+
className: styles$7.filterCheckbox
|
|
1716
|
+
}, value.isRefined && /*#__PURE__*/React.createElement(CheckIcon, null)), /*#__PURE__*/React.createElement("span", {
|
|
1717
|
+
className: styles$7.filterLabel
|
|
1606
1718
|
}, value.value), /*#__PURE__*/React.createElement("span", {
|
|
1607
|
-
className: styles$
|
|
1719
|
+
className: styles$7.filterCount
|
|
1608
1720
|
}, "(", value.count, ")"));
|
|
1609
1721
|
};
|
|
1610
1722
|
|
|
@@ -1616,10 +1728,14 @@ var FilterAccordion = function (_a) {
|
|
|
1616
1728
|
isExpanded = _a.isExpanded,
|
|
1617
1729
|
onToggle = _a.onToggle,
|
|
1618
1730
|
onValueToggle = _a.onValueToggle,
|
|
1619
|
-
className = _a.className
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1731
|
+
className = _a.className,
|
|
1732
|
+
_b = _a.variant,
|
|
1733
|
+
variant = _b === void 0 ? 'desktop' : _b,
|
|
1734
|
+
_c = _a.showCheckbox,
|
|
1735
|
+
showCheckbox = _c === void 0 ? true : _c;
|
|
1736
|
+
var _d = React.useState(""),
|
|
1737
|
+
searchQuery = _d[0],
|
|
1738
|
+
setSearchQuery = _d[1];
|
|
1623
1739
|
// Filter facet values based on search query
|
|
1624
1740
|
var filteredValues = React.useMemo(function () {
|
|
1625
1741
|
if (!searchQuery.trim()) {
|
|
@@ -1647,18 +1763,18 @@ var FilterAccordion = function (_a) {
|
|
|
1647
1763
|
onValueToggle(facet.attribute, value);
|
|
1648
1764
|
};
|
|
1649
1765
|
return /*#__PURE__*/React.createElement("div", {
|
|
1650
|
-
className: "".concat(styles$
|
|
1766
|
+
className: "".concat(styles$7.filterAccordion, " ").concat(className || "")
|
|
1651
1767
|
}, /*#__PURE__*/React.createElement("button", {
|
|
1652
1768
|
type: "button",
|
|
1653
|
-
className: "".concat(styles$
|
|
1769
|
+
className: "".concat(styles$7.accordionHeader, " ").concat(isExpanded ? styles$7.accordionHeaderExpanded : ""),
|
|
1654
1770
|
onClick: handleToggle,
|
|
1655
1771
|
onKeyDown: handleKeyDown,
|
|
1656
1772
|
"aria-expanded": isExpanded,
|
|
1657
1773
|
"aria-controls": "accordion-".concat(facet.id)
|
|
1658
1774
|
}, /*#__PURE__*/React.createElement("span", {
|
|
1659
|
-
className: styles$
|
|
1775
|
+
className: styles$7.accordionTitle
|
|
1660
1776
|
}, facet.label), /*#__PURE__*/React.createElement("svg", {
|
|
1661
|
-
className: "".concat(styles$
|
|
1777
|
+
className: "".concat(styles$7.accordionIcon, " ").concat(isExpanded ? styles$7.accordionIconExpanded : ""),
|
|
1662
1778
|
width: "16",
|
|
1663
1779
|
height: "16",
|
|
1664
1780
|
viewBox: "0 0 16 16",
|
|
@@ -1673,23 +1789,25 @@ var FilterAccordion = function (_a) {
|
|
|
1673
1789
|
strokeLinejoin: "round"
|
|
1674
1790
|
}))), isExpanded && /*#__PURE__*/React.createElement("div", {
|
|
1675
1791
|
id: "accordion-".concat(facet.id),
|
|
1676
|
-
className: styles$
|
|
1677
|
-
}, facet.searchable && facet.values.length > 5 && /*#__PURE__*/React.createElement("div", {
|
|
1678
|
-
className: styles$
|
|
1792
|
+
className: styles$7.accordionContent
|
|
1793
|
+
}, variant === 'desktop' && facet.searchable && facet.values.length > 5 && /*#__PURE__*/React.createElement("div", {
|
|
1794
|
+
className: styles$7.accordionSearch
|
|
1679
1795
|
}, /*#__PURE__*/React.createElement(FilterSearch, {
|
|
1680
1796
|
value: searchQuery,
|
|
1681
1797
|
onChange: setSearchQuery,
|
|
1682
1798
|
placeholder: "Search"
|
|
1683
1799
|
})), /*#__PURE__*/React.createElement("div", {
|
|
1684
|
-
className: styles$
|
|
1800
|
+
className: styles$7.filterList
|
|
1685
1801
|
}, filteredValues.length > 0 ? filteredValues.map(function (value) {
|
|
1686
1802
|
return /*#__PURE__*/React.createElement(FilterItem, {
|
|
1687
1803
|
key: value.value,
|
|
1688
1804
|
value: value,
|
|
1689
|
-
onToggle: handleValueToggle
|
|
1805
|
+
onToggle: handleValueToggle,
|
|
1806
|
+
variant: variant,
|
|
1807
|
+
showCheckbox: showCheckbox
|
|
1690
1808
|
});
|
|
1691
1809
|
}) : /*#__PURE__*/React.createElement("div", {
|
|
1692
|
-
className: styles$
|
|
1810
|
+
className: styles$7.noResults
|
|
1693
1811
|
}, "No results found"))));
|
|
1694
1812
|
};
|
|
1695
1813
|
|
|
@@ -1712,26 +1830,26 @@ var AppliedFilterTag = function (_a) {
|
|
|
1712
1830
|
}
|
|
1713
1831
|
};
|
|
1714
1832
|
return /*#__PURE__*/React.createElement("div", {
|
|
1715
|
-
className: "".concat(styles$
|
|
1833
|
+
className: "".concat(styles$7.appliedFilterTag, " ").concat(className || "")
|
|
1716
1834
|
}, /*#__PURE__*/React.createElement("span", {
|
|
1717
|
-
className: styles$
|
|
1835
|
+
className: styles$7.tagLabel
|
|
1718
1836
|
}, label || value), /*#__PURE__*/React.createElement("button", {
|
|
1719
1837
|
type: "button",
|
|
1720
1838
|
onClick: handleRemove,
|
|
1721
1839
|
onKeyDown: handleKeyDown,
|
|
1722
|
-
className: styles$
|
|
1840
|
+
className: styles$7.tagRemoveButton,
|
|
1723
1841
|
"aria-label": "Remove ".concat(label || value, " filter")
|
|
1724
1842
|
}, /*#__PURE__*/React.createElement("svg", {
|
|
1725
|
-
width: "
|
|
1726
|
-
height: "
|
|
1727
|
-
viewBox: "0 0
|
|
1843
|
+
width: "10",
|
|
1844
|
+
height: "10",
|
|
1845
|
+
viewBox: "0 0 10 10",
|
|
1728
1846
|
fill: "none",
|
|
1729
1847
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1730
1848
|
"aria-hidden": "true"
|
|
1731
1849
|
}, /*#__PURE__*/React.createElement("path", {
|
|
1732
|
-
d: "
|
|
1850
|
+
d: "M8 2L2 8M2 2L8 8",
|
|
1733
1851
|
stroke: "currentColor",
|
|
1734
|
-
strokeWidth: "
|
|
1852
|
+
strokeWidth: "1.5",
|
|
1735
1853
|
strokeLinecap: "round",
|
|
1736
1854
|
strokeLinejoin: "round"
|
|
1737
1855
|
}))));
|
|
@@ -1742,9 +1860,9 @@ var AppliedFilterTag = function (_a) {
|
|
|
1742
1860
|
*/
|
|
1743
1861
|
var AppliedFilters = function (_a) {
|
|
1744
1862
|
var facets = _a.facets,
|
|
1745
|
-
onRemove = _a.onRemove
|
|
1746
|
-
|
|
1747
|
-
className = _a.className;
|
|
1863
|
+
onRemove = _a.onRemove;
|
|
1864
|
+
_a.onClearAll;
|
|
1865
|
+
var className = _a.className;
|
|
1748
1866
|
// Extract all refined (selected) filters
|
|
1749
1867
|
var appliedFilters = React.useMemo(function () {
|
|
1750
1868
|
var filters = [];
|
|
@@ -1766,31 +1884,12 @@ var AppliedFilters = function (_a) {
|
|
|
1766
1884
|
if (appliedFilters.length === 0) {
|
|
1767
1885
|
return null;
|
|
1768
1886
|
}
|
|
1769
|
-
var handleClearAll = function () {
|
|
1770
|
-
if (onClearAll) {
|
|
1771
|
-
onClearAll();
|
|
1772
|
-
} else {
|
|
1773
|
-
// If no clearAll handler, remove each filter individually
|
|
1774
|
-
appliedFilters.forEach(function (filter) {
|
|
1775
|
-
onRemove(filter.attribute, filter.value);
|
|
1776
|
-
});
|
|
1777
|
-
}
|
|
1778
|
-
};
|
|
1779
1887
|
return /*#__PURE__*/React.createElement("div", {
|
|
1780
|
-
className: "".concat(styles$
|
|
1781
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1782
|
-
className: styles$3.appliedFiltersHeader
|
|
1888
|
+
className: "".concat(styles$7.appliedFilters, " ").concat(className || "")
|
|
1783
1889
|
}, /*#__PURE__*/React.createElement("h4", {
|
|
1784
|
-
className: styles$
|
|
1785
|
-
}, "Applied filters",
|
|
1786
|
-
className: styles$
|
|
1787
|
-
}, "(", appliedFilters.length, ")")), appliedFilters.length > 1 && /*#__PURE__*/React.createElement("button", {
|
|
1788
|
-
type: "button",
|
|
1789
|
-
onClick: handleClearAll,
|
|
1790
|
-
className: styles$3.clearAllButton,
|
|
1791
|
-
"aria-label": "Clear all filters"
|
|
1792
|
-
}, "Clear all")), /*#__PURE__*/React.createElement("div", {
|
|
1793
|
-
className: styles$3.appliedFiltersList
|
|
1890
|
+
className: styles$7.appliedFiltersTitle
|
|
1891
|
+
}, "Applied filters"), /*#__PURE__*/React.createElement("div", {
|
|
1892
|
+
className: styles$7.appliedFiltersList
|
|
1794
1893
|
}, appliedFilters.map(function (filter) {
|
|
1795
1894
|
return /*#__PURE__*/React.createElement(AppliedFilterTag, {
|
|
1796
1895
|
key: "".concat(filter.attribute, "-").concat(filter.value),
|
|
@@ -1804,15 +1903,23 @@ var AppliedFilters = function (_a) {
|
|
|
1804
1903
|
|
|
1805
1904
|
/**
|
|
1806
1905
|
* FiltersPanel - Main container for all filters
|
|
1906
|
+
*
|
|
1907
|
+
* Fully controlled component - renders based on facets prop.
|
|
1908
|
+
* When facets change (e.g., after API refetch), component re-renders with new data.
|
|
1909
|
+
* Accordion expansion state persists across refetches, with new facets respecting defaultExpanded.
|
|
1807
1910
|
*/
|
|
1808
1911
|
var FiltersPanel = function (_a) {
|
|
1809
1912
|
var facets = _a.facets,
|
|
1810
1913
|
onFacetToggle = _a.onFacetToggle,
|
|
1811
1914
|
_b = _a.isLoading,
|
|
1812
1915
|
isLoading = _b === void 0 ? false : _b,
|
|
1813
|
-
className = _a.className
|
|
1814
|
-
|
|
1815
|
-
|
|
1916
|
+
className = _a.className,
|
|
1917
|
+
_c = _a.variant,
|
|
1918
|
+
variant = _c === void 0 ? 'desktop' : _c,
|
|
1919
|
+
_d = _a.showCheckbox,
|
|
1920
|
+
showCheckbox = _d === void 0 ? true : _d;
|
|
1921
|
+
// Track which accordions are expanded (transient UI state)
|
|
1922
|
+
var _e = React.useState(function () {
|
|
1816
1923
|
// Initialize with default expanded facets
|
|
1817
1924
|
var expanded = new Set();
|
|
1818
1925
|
facets.forEach(function (facet) {
|
|
@@ -1822,8 +1929,30 @@ var FiltersPanel = function (_a) {
|
|
|
1822
1929
|
});
|
|
1823
1930
|
return expanded;
|
|
1824
1931
|
}),
|
|
1825
|
-
expandedAccordions =
|
|
1826
|
-
setExpandedAccordions =
|
|
1932
|
+
expandedAccordions = _e[0],
|
|
1933
|
+
setExpandedAccordions = _e[1];
|
|
1934
|
+
// Sync expansion state when facets change (e.g., new facets appear after refetch)
|
|
1935
|
+
React.useEffect(function () {
|
|
1936
|
+
setExpandedAccordions(function (prev) {
|
|
1937
|
+
var next = new Set(prev);
|
|
1938
|
+
// Add new facets with defaultExpanded
|
|
1939
|
+
facets.forEach(function (facet) {
|
|
1940
|
+
if (facet.defaultExpanded && !next.has(facet.id)) {
|
|
1941
|
+
next.add(facet.id);
|
|
1942
|
+
}
|
|
1943
|
+
});
|
|
1944
|
+
// Remove facets that no longer exist
|
|
1945
|
+
var currentFacetIds = new Set(facets.map(function (f) {
|
|
1946
|
+
return f.id;
|
|
1947
|
+
}));
|
|
1948
|
+
next.forEach(function (id) {
|
|
1949
|
+
if (!currentFacetIds.has(id)) {
|
|
1950
|
+
next.delete(id);
|
|
1951
|
+
}
|
|
1952
|
+
});
|
|
1953
|
+
return next;
|
|
1954
|
+
});
|
|
1955
|
+
}, [facets]);
|
|
1827
1956
|
var handleAccordionToggle = React.useCallback(function (facetId) {
|
|
1828
1957
|
setExpandedAccordions(function (prev) {
|
|
1829
1958
|
var next = new Set(prev);
|
|
@@ -1853,32 +1982,24 @@ var FiltersPanel = function (_a) {
|
|
|
1853
1982
|
}, [facets, onFacetToggle]);
|
|
1854
1983
|
if (isLoading) {
|
|
1855
1984
|
return /*#__PURE__*/React.createElement("div", {
|
|
1856
|
-
className: "".concat(styles$
|
|
1985
|
+
className: "".concat(styles$7.filtersPanel, " ").concat(className || "")
|
|
1857
1986
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1858
|
-
className: styles$
|
|
1859
|
-
}, /*#__PURE__*/React.createElement("h3", {
|
|
1860
|
-
className: styles$3.filtersPanelTitle
|
|
1861
|
-
}, "Filters")), /*#__PURE__*/React.createElement("div", {
|
|
1862
|
-
className: styles$3.loadingState
|
|
1987
|
+
className: styles$7.loadingState
|
|
1863
1988
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1864
|
-
className: styles$
|
|
1989
|
+
className: styles$7.spinner
|
|
1865
1990
|
}), /*#__PURE__*/React.createElement("p", null, "Loading filters...")));
|
|
1866
1991
|
}
|
|
1867
1992
|
if (!facets || facets.length === 0) {
|
|
1868
1993
|
return null;
|
|
1869
1994
|
}
|
|
1870
1995
|
return /*#__PURE__*/React.createElement("div", {
|
|
1871
|
-
className: "".concat(styles$
|
|
1872
|
-
}, /*#__PURE__*/React.createElement(
|
|
1873
|
-
className: styles$3.filtersPanelHeader
|
|
1874
|
-
}, /*#__PURE__*/React.createElement("h3", {
|
|
1875
|
-
className: styles$3.filtersPanelTitle
|
|
1876
|
-
}, "Filters")), /*#__PURE__*/React.createElement(AppliedFilters, {
|
|
1996
|
+
className: "".concat(styles$7.filtersPanel, " ").concat(className || "")
|
|
1997
|
+
}, showCheckbox && /*#__PURE__*/React.createElement(AppliedFilters, {
|
|
1877
1998
|
facets: facets,
|
|
1878
1999
|
onRemove: handleRemoveFilter,
|
|
1879
2000
|
onClearAll: handleClearAll
|
|
1880
2001
|
}), /*#__PURE__*/React.createElement("div", {
|
|
1881
|
-
className: styles$
|
|
2002
|
+
className: styles$7.filtersList
|
|
1882
2003
|
}, facets.map(function (facet) {
|
|
1883
2004
|
return /*#__PURE__*/React.createElement(FilterAccordion, {
|
|
1884
2005
|
key: facet.id,
|
|
@@ -1887,12 +2008,87 @@ var FiltersPanel = function (_a) {
|
|
|
1887
2008
|
onToggle: function () {
|
|
1888
2009
|
return handleAccordionToggle(facet.id);
|
|
1889
2010
|
},
|
|
1890
|
-
onValueToggle: handleValueToggle
|
|
2011
|
+
onValueToggle: handleValueToggle,
|
|
2012
|
+
variant: variant,
|
|
2013
|
+
showCheckbox: showCheckbox
|
|
1891
2014
|
});
|
|
1892
2015
|
})));
|
|
1893
2016
|
};
|
|
1894
2017
|
|
|
1895
|
-
var styles$
|
|
2018
|
+
var styles$6 = {"productCardVertical":"ProductCardVertical-module__productCardVertical___kXgmt","productCardVertical--hover":"ProductCardVertical-module__productCardVertical--hover___8Nsyp","productCardVertical__button":"ProductCardVertical-module__productCardVertical__button___oQPJG","productCardVertical--focus":"ProductCardVertical-module__productCardVertical--focus___8U57I","productCardVertical__imageWrapper":"ProductCardVertical-module__productCardVertical__imageWrapper___SgKoZ","productCardVertical__image":"ProductCardVertical-module__productCardVertical__image___kg-QU","productCardVertical__content":"ProductCardVertical-module__productCardVertical__content___sZdOs","productCardVertical__title":"ProductCardVertical-module__productCardVertical__title___PPKWb","productCardVertical__description":"ProductCardVertical-module__productCardVertical__description___Ai90p","productCardVertical__footer":"ProductCardVertical-module__productCardVertical__footer___rv6BH"};
|
|
2019
|
+
|
|
2020
|
+
/**
|
|
2021
|
+
* ProductCardVertical - Vertical product card for grid layouts
|
|
2022
|
+
*
|
|
2023
|
+
* Used in full results view with 4-column grid (desktop) or 2-column grid (mobile).
|
|
2024
|
+
* Figma spec: Default (no shadow) → Hover (shadow + grey button) → Focus (border + shadow)
|
|
2025
|
+
*
|
|
2026
|
+
* @example
|
|
2027
|
+
* ```tsx
|
|
2028
|
+
* <ProductCardVertical
|
|
2029
|
+
* title="TURBOVAC i - High vacuum turbopump"
|
|
2030
|
+
* url="/products/turbovac-i"
|
|
2031
|
+
* imageUrl="/assets/search-product.png"
|
|
2032
|
+
* productId="21312VISH"
|
|
2033
|
+
* description="Premium high-performance turbomolecular pump"
|
|
2034
|
+
* buttonLabel="BUY ONLINE"
|
|
2035
|
+
* />
|
|
2036
|
+
* ```
|
|
2037
|
+
*/
|
|
2038
|
+
var ProductCardVertical = function (_a) {
|
|
2039
|
+
var _b;
|
|
2040
|
+
var id = _a.id,
|
|
2041
|
+
title = _a.title,
|
|
2042
|
+
url = _a.url,
|
|
2043
|
+
imageUrl = _a.imageUrl;
|
|
2044
|
+
_a.productId;
|
|
2045
|
+
var description = _a.description,
|
|
2046
|
+
_c = _a.buttonLabel,
|
|
2047
|
+
buttonLabel = _c === void 0 ? 'BUY ONLINE' : _c,
|
|
2048
|
+
onButtonClick = _a.onButtonClick,
|
|
2049
|
+
className = _a.className,
|
|
2050
|
+
_d = _a.variant,
|
|
2051
|
+
variant = _d === void 0 ? 'desktop' : _d,
|
|
2052
|
+
forceState = _a["data-force-state"];
|
|
2053
|
+
var handleButtonClick = function (e) {
|
|
2054
|
+
e.preventDefault(); // Prevent card link navigation
|
|
2055
|
+
e.stopPropagation(); // Stop event bubbling
|
|
2056
|
+
onButtonClick === null || onButtonClick === void 0 ? void 0 : onButtonClick();
|
|
2057
|
+
};
|
|
2058
|
+
var cardClasses = classNames(styles$6.productCardVertical, styles$6["productCardVertical--".concat(variant)], (_b = {}, _b[styles$6['productCardVertical--hover']] = forceState === 'hover', _b[styles$6['productCardVertical--focus']] = forceState === 'focus', _b), className);
|
|
2059
|
+
return /*#__PURE__*/React.createElement("a", {
|
|
2060
|
+
href: url,
|
|
2061
|
+
className: cardClasses,
|
|
2062
|
+
"aria-label": "View product: ".concat(title),
|
|
2063
|
+
"data-product-id": id
|
|
2064
|
+
}, imageUrl && /*#__PURE__*/React.createElement("div", {
|
|
2065
|
+
className: styles$6.productCardVertical__imageWrapper
|
|
2066
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
2067
|
+
src: imageUrl,
|
|
2068
|
+
alt: title,
|
|
2069
|
+
className: styles$6.productCardVertical__image,
|
|
2070
|
+
objectFit: "contain",
|
|
2071
|
+
objectPosition: "center",
|
|
2072
|
+
loading: "lazy"
|
|
2073
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
2074
|
+
className: styles$6.productCardVertical__content
|
|
2075
|
+
}, /*#__PURE__*/React.createElement("h3", {
|
|
2076
|
+
className: styles$6.productCardVertical__title
|
|
2077
|
+
}, title), description && /*#__PURE__*/React.createElement("p", {
|
|
2078
|
+
className: styles$6.productCardVertical__description
|
|
2079
|
+
}, description)), /*#__PURE__*/React.createElement("button", {
|
|
2080
|
+
type: "button",
|
|
2081
|
+
onClick: handleButtonClick,
|
|
2082
|
+
className: styles$6.productCardVertical__button,
|
|
2083
|
+
"aria-label": "".concat(buttonLabel, " - ").concat(title),
|
|
2084
|
+
tabIndex: -1
|
|
2085
|
+
}, /*#__PURE__*/React.createElement("span", null, buttonLabel), /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
2086
|
+
icon: proSolidSvgIcons.faArrowUpRightFromSquare,
|
|
2087
|
+
"aria-hidden": "true"
|
|
2088
|
+
})));
|
|
2089
|
+
};
|
|
2090
|
+
|
|
2091
|
+
var styles$5 = {"resultsView":"ResultsView-module__resultsView___S4Wh2","searchBarWrapper":"ResultsView-module__searchBarWrapper___XNtwR","tabsContainer":"ResultsView-module__tabsContainer___mB-Q2","tabs":"ResultsView-module__tabs___rOexd","tabSeparator":"ResultsView-module__tabSeparator___MSq9p","mobileFilterButton":"ResultsView-module__mobileFilterButton___ZrMQY","resultsContainer":"ResultsView-module__resultsContainer___J4URa","sidebar":"ResultsView-module__sidebar___nQq5J","assistanceBanner":"ResultsView-module__assistanceBanner___1r72a","mainContent":"ResultsView-module__mainContent___S9eIG","productsGrid":"ResultsView-module__productsGrid___gnAQ-","contentsList":"ResultsView-module__contentsList___tcfNG","contentDivider":"ResultsView-module__contentDivider___5n6sl","resultsList":"ResultsView-module__resultsList___8eYNX","resultsSection":"ResultsView-module__resultsSection___sCUaO","sectionTitle":"ResultsView-module__sectionTitle___mfvH3","loadingState":"ResultsView-module__loadingState___W5YXx","errorState":"ResultsView-module__errorState___UkkG-","emptyState":"ResultsView-module__emptyState___D0Iyn","spinner":"ResultsView-module__spinner___nk8E5","emptyIcon":"ResultsView-module__emptyIcon___fes8T","paginationWrapper":"ResultsView-module__paginationWrapper___mDTyl","searchBarDesktopOnly":"ResultsView-module__searchBarDesktopOnly___dZHUw","tabsContainerDesktopOnly":"ResultsView-module__tabsContainerDesktopOnly___-MQpa"};
|
|
1896
2092
|
|
|
1897
2093
|
var ResultsList = function (_a) {
|
|
1898
2094
|
var type = _a.type,
|
|
@@ -1906,15 +2102,15 @@ var ResultsList = function (_a) {
|
|
|
1906
2102
|
className = _d === void 0 ? '' : _d;
|
|
1907
2103
|
if (isLoading) {
|
|
1908
2104
|
return /*#__PURE__*/React.createElement("div", {
|
|
1909
|
-
className: "".concat(styles$
|
|
2105
|
+
className: "".concat(styles$5.loadingState, " ").concat(className)
|
|
1910
2106
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1911
|
-
className: styles$
|
|
2107
|
+
className: styles$5.spinner,
|
|
1912
2108
|
"aria-label": "Loading..."
|
|
1913
2109
|
}), /*#__PURE__*/React.createElement("p", null, "Loading results..."));
|
|
1914
2110
|
}
|
|
1915
2111
|
if (error) {
|
|
1916
2112
|
return /*#__PURE__*/React.createElement("div", {
|
|
1917
|
-
className: "".concat(styles$
|
|
2113
|
+
className: "".concat(styles$5.errorState, " ").concat(className)
|
|
1918
2114
|
}, /*#__PURE__*/React.createElement("p", null, error));
|
|
1919
2115
|
}
|
|
1920
2116
|
var hasProducts = products.length > 0;
|
|
@@ -1922,7 +2118,7 @@ var ResultsList = function (_a) {
|
|
|
1922
2118
|
var hasResults = hasProducts || hasContents;
|
|
1923
2119
|
if (!hasResults) {
|
|
1924
2120
|
return /*#__PURE__*/React.createElement("div", {
|
|
1925
|
-
className: "".concat(styles$
|
|
2121
|
+
className: "".concat(styles$5.emptyState, " ").concat(className)
|
|
1926
2122
|
}, /*#__PURE__*/React.createElement("svg", {
|
|
1927
2123
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1928
2124
|
viewBox: "0 0 24 24",
|
|
@@ -1931,7 +2127,7 @@ var ResultsList = function (_a) {
|
|
|
1931
2127
|
strokeWidth: "2",
|
|
1932
2128
|
strokeLinecap: "round",
|
|
1933
2129
|
strokeLinejoin: "round",
|
|
1934
|
-
className: styles$
|
|
2130
|
+
className: styles$5.emptyIcon
|
|
1935
2131
|
}, /*#__PURE__*/React.createElement("circle", {
|
|
1936
2132
|
cx: "11",
|
|
1937
2133
|
cy: "11",
|
|
@@ -1943,42 +2139,322 @@ var ResultsList = function (_a) {
|
|
|
1943
2139
|
// Render based on type
|
|
1944
2140
|
if (type === 'products') {
|
|
1945
2141
|
return /*#__PURE__*/React.createElement("div", {
|
|
1946
|
-
className: "".concat(styles$
|
|
2142
|
+
className: "".concat(styles$5.productsGrid, " ").concat(className)
|
|
1947
2143
|
}, products.map(function (product) {
|
|
1948
|
-
return /*#__PURE__*/React.createElement(
|
|
2144
|
+
return /*#__PURE__*/React.createElement(ProductCardVertical, _extends({
|
|
1949
2145
|
key: product.id
|
|
1950
|
-
}, product
|
|
2146
|
+
}, product, {
|
|
2147
|
+
buttonLabel: "BUY ONLINE"
|
|
2148
|
+
}));
|
|
1951
2149
|
}));
|
|
1952
2150
|
}
|
|
1953
2151
|
if (type === 'content') {
|
|
1954
2152
|
return /*#__PURE__*/React.createElement("div", {
|
|
1955
|
-
className: "".concat(styles$
|
|
1956
|
-
}, contents.map(function (content) {
|
|
1957
|
-
return /*#__PURE__*/React.createElement(
|
|
2153
|
+
className: "".concat(styles$5.contentsList, " ").concat(className)
|
|
2154
|
+
}, contents.map(function (content, index) {
|
|
2155
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
1958
2156
|
key: content.id
|
|
1959
|
-
},
|
|
2157
|
+
}, index > 0 && /*#__PURE__*/React.createElement("hr", {
|
|
2158
|
+
className: styles$5.contentDivider
|
|
2159
|
+
}), /*#__PURE__*/React.createElement(ContentCardHorizontal, _extends({}, content, {
|
|
2160
|
+
variant: "results-view"
|
|
2161
|
+
})));
|
|
1960
2162
|
}));
|
|
1961
2163
|
}
|
|
1962
|
-
// type === 'all' - Show mixed results
|
|
2164
|
+
// type === 'all' - Show mixed results (not in current Figma design, but keep for compatibility)
|
|
1963
2165
|
return /*#__PURE__*/React.createElement("div", {
|
|
1964
|
-
className: "".concat(styles$
|
|
2166
|
+
className: "".concat(styles$5.resultsList, " ").concat(className)
|
|
1965
2167
|
}, hasProducts && /*#__PURE__*/React.createElement("div", {
|
|
1966
|
-
className: styles$
|
|
2168
|
+
className: styles$5.resultsSection
|
|
1967
2169
|
}, /*#__PURE__*/React.createElement("h3", {
|
|
1968
|
-
className: styles$
|
|
1969
|
-
}, "Products (", products.length, ")"),
|
|
1970
|
-
|
|
2170
|
+
className: styles$5.sectionTitle
|
|
2171
|
+
}, "Products (", products.length, ")"), /*#__PURE__*/React.createElement("div", {
|
|
2172
|
+
className: styles$5.productsGrid
|
|
2173
|
+
}, products.map(function (product) {
|
|
2174
|
+
return /*#__PURE__*/React.createElement(ProductCardVertical, _extends({
|
|
1971
2175
|
key: product.id
|
|
1972
|
-
}, product
|
|
1973
|
-
|
|
1974
|
-
|
|
2176
|
+
}, product, {
|
|
2177
|
+
buttonLabel: "BUY ONLINE"
|
|
2178
|
+
}));
|
|
2179
|
+
}))), hasContents && /*#__PURE__*/React.createElement("div", {
|
|
2180
|
+
className: styles$5.resultsSection
|
|
1975
2181
|
}, /*#__PURE__*/React.createElement("h3", {
|
|
1976
|
-
className: styles$
|
|
1977
|
-
}, "Content (", contents.length, ")"),
|
|
1978
|
-
|
|
2182
|
+
className: styles$5.sectionTitle
|
|
2183
|
+
}, "Content (", contents.length, ")"), /*#__PURE__*/React.createElement("div", {
|
|
2184
|
+
className: styles$5.contentsList
|
|
2185
|
+
}, contents.map(function (content, index) {
|
|
2186
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
1979
2187
|
key: content.id
|
|
1980
|
-
},
|
|
1981
|
-
|
|
2188
|
+
}, index > 0 && /*#__PURE__*/React.createElement("hr", {
|
|
2189
|
+
className: styles$5.contentDivider
|
|
2190
|
+
}), /*#__PURE__*/React.createElement(ContentCardHorizontal, _extends({}, content, {
|
|
2191
|
+
variant: "results-view"
|
|
2192
|
+
})));
|
|
2193
|
+
}))));
|
|
2194
|
+
};
|
|
2195
|
+
|
|
2196
|
+
var styles$4 = {"tabButton":"TabButton-module__tabButton___cMU45","tabButton__count":"TabButton-module__tabButton__count___nlS1p","tabButton__label":"TabButton-module__tabButton__label___YGpiC","tabButton__results":"TabButton-module__tabButton__results___Nr6gr","tabButton--desktop":"TabButton-module__tabButton--desktop___fbAaC","tabButton--active":"TabButton-module__tabButton--active___gj6Jp","tabButton--mobile":"TabButton-module__tabButton--mobile___AnLwy"};
|
|
2197
|
+
|
|
2198
|
+
/**
|
|
2199
|
+
* TabButton - Tab navigation component with result counts
|
|
2200
|
+
*
|
|
2201
|
+
* Supports two layout variants:
|
|
2202
|
+
* - Desktop: Background colours, top red underline when active, rounded corners
|
|
2203
|
+
* - Mobile: Text-only with bottom border underline when active
|
|
2204
|
+
*
|
|
2205
|
+
* @example
|
|
2206
|
+
* ```tsx
|
|
2207
|
+
* // Desktop variant
|
|
2208
|
+
* <TabButton
|
|
2209
|
+
* label="WEB SHOP RESULTS"
|
|
2210
|
+
* count={542}
|
|
2211
|
+
* isActive={true}
|
|
2212
|
+
* onClick={() => setActiveTab('products')}
|
|
2213
|
+
* variant="desktop"
|
|
2214
|
+
* />
|
|
2215
|
+
*
|
|
2216
|
+
* // Mobile variant
|
|
2217
|
+
* <TabButton
|
|
2218
|
+
* label="WEB SHOP"
|
|
2219
|
+
* isActive={false}
|
|
2220
|
+
* onClick={() => setActiveTab('content')}
|
|
2221
|
+
* variant="mobile"
|
|
2222
|
+
* />
|
|
2223
|
+
* ```
|
|
2224
|
+
*/
|
|
2225
|
+
var TabButton = function (_a) {
|
|
2226
|
+
var _b;
|
|
2227
|
+
var label = _a.label,
|
|
2228
|
+
count = _a.count,
|
|
2229
|
+
isActive = _a.isActive,
|
|
2230
|
+
onClick = _a.onClick,
|
|
2231
|
+
_c = _a.variant,
|
|
2232
|
+
variant = _c === void 0 ? 'desktop' : _c,
|
|
2233
|
+
className = _a.className;
|
|
2234
|
+
var buttonClasses = classNames(styles$4.tabButton, styles$4["tabButton--".concat(variant)], (_b = {}, _b[styles$4['tabButton--active']] = isActive, _b), className);
|
|
2235
|
+
// Split label to hide " RESULTS" on mobile
|
|
2236
|
+
var labelParts = label.split(' RESULTS');
|
|
2237
|
+
var mainLabel = labelParts[0];
|
|
2238
|
+
var hasResults = labelParts.length > 1;
|
|
2239
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
2240
|
+
type: "button",
|
|
2241
|
+
role: "tab",
|
|
2242
|
+
"aria-selected": isActive,
|
|
2243
|
+
"aria-controls": "tabpanel-".concat(label.toLowerCase().replace(/\s+/g, '-')),
|
|
2244
|
+
onClick: onClick,
|
|
2245
|
+
className: buttonClasses
|
|
2246
|
+
}, count !== undefined && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
2247
|
+
className: styles$4.tabButton__count
|
|
2248
|
+
}, count), ' '), /*#__PURE__*/React.createElement("span", {
|
|
2249
|
+
className: styles$4.tabButton__label
|
|
2250
|
+
}, mainLabel, hasResults && /*#__PURE__*/React.createElement("span", {
|
|
2251
|
+
className: styles$4.tabButton__results
|
|
2252
|
+
}, " RESULTS")));
|
|
2253
|
+
};
|
|
2254
|
+
|
|
2255
|
+
var AssistanceIcon = function (props) {
|
|
2256
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
2257
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2258
|
+
width: "87",
|
|
2259
|
+
height: "87",
|
|
2260
|
+
viewBox: "0 0 87 87",
|
|
2261
|
+
fill: "none"
|
|
2262
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
2263
|
+
d: "M10.875 4.83247H47.125C50.463 4.83247 53.1667 7.53564 53.1667 10.8731V39.8679C53.1667 43.2053 50.463 45.9085 47.125 45.9085H33.6068C31.6281 45.9085 29.7099 46.6032 28.1844 47.8717L19.3333 55.2412V48.3247C19.3333 46.9958 18.2458 45.9085 16.9167 45.9085H10.875C7.53698 45.9085 4.83333 43.2053 4.83333 39.8679V10.8731C4.83333 7.53564 7.53698 4.83247 10.875 4.83247ZM0 10.8731V39.8679C0 45.8783 4.86354 50.741 10.875 50.741H14.5V60.4059C14.5 61.3422 15.0437 62.203 15.8896 62.5956C16.7354 62.9883 17.7474 62.8675 18.4573 62.2634L31.2807 51.5867C31.9302 51.043 32.7609 50.741 33.6068 50.741H47.125C53.1365 50.741 58 45.8783 58 39.8679V10.8731C58 4.86268 53.1365 0 47.125 0H10.875C4.86354 0 0 4.86268 0 10.8731ZM33.8333 64.0303V58.8958L29 62.9279V64.0454C29 70.0558 33.8635 74.9184 39.875 74.9184H53.3932C54.2391 74.9184 55.0698 75.2205 55.7193 75.7641L68.5427 86.4409C69.2677 87.0449 70.2646 87.1657 71.1104 86.7731C71.9563 86.3804 72.5 85.5197 72.5 84.5834V74.9184H76.125C82.1365 74.9184 87 70.0558 87 64.0454V35.0505C87 29.0401 82.1365 24.1775 76.125 24.1775H65.25V29.0099H76.125C79.463 29.0099 82.1667 31.7131 82.1667 35.0505V64.0454C82.1667 67.3828 79.463 70.086 76.125 70.086H70.0833C68.7542 70.086 67.6667 71.1733 67.6667 72.5022V79.4187L58.8156 72.034C57.2901 70.7655 55.3719 70.0709 53.3932 70.0709H39.875C36.537 70.0709 33.8333 67.3677 33.8333 64.0303ZM29 13.2893C32.1115 13.2893 34.6188 15.8112 34.6188 18.907C34.6188 21.5951 32.9573 22.9844 31.1146 23.815C28.8943 24.8117 26.5682 27.0618 26.5682 30.203C26.5682 31.5319 27.6557 32.6192 28.9849 32.6192C30.3141 32.6192 31.4016 31.5319 31.4016 30.203C31.4016 29.6291 31.9151 28.7532 33.0781 28.2247C35.7667 27.0165 39.437 24.3134 39.437 18.907C39.437 13.1383 34.7547 8.45683 28.9849 8.45683C23.2151 8.45683 18.5328 13.1383 18.5328 18.907C18.5328 20.236 19.6203 21.3233 20.9495 21.3233C22.2786 21.3233 23.3661 20.236 23.3661 18.907C23.3813 15.8112 25.8885 13.2893 29 13.2893ZM32.0208 39.8679C32.0208 38.2067 30.6615 36.8476 29 36.8476C27.3385 36.8476 25.9792 38.2067 25.9792 39.8679C25.9792 41.5291 27.3385 42.8882 29 42.8882C30.6615 42.8882 32.0208 41.5291 32.0208 39.8679Z",
|
|
2264
|
+
fill: "#39788E"
|
|
2265
|
+
}));
|
|
2266
|
+
};
|
|
2267
|
+
|
|
2268
|
+
var styles$3 = {"assistanceBanner":"AssistanceBanner-module__assistanceBanner___b97es","assistanceBanner__icon":"AssistanceBanner-module__assistanceBanner__icon___8NzJj","assistanceBanner__title":"AssistanceBanner-module__assistanceBanner__title___Wtkkt","assistanceBanner__description":"AssistanceBanner-module__assistanceBanner__description___AjoOr","assistanceBanner__link":"AssistanceBanner-module__assistanceBanner__link___5L45N","assistanceBanner__chevron":"AssistanceBanner-module__assistanceBanner__chevron___4km-f"};
|
|
2269
|
+
|
|
2270
|
+
/**
|
|
2271
|
+
* AssistanceBanner - Help widget for search sidebar
|
|
2272
|
+
*
|
|
2273
|
+
* Displays a call-to-action for users who need assistance finding products.
|
|
2274
|
+
* Features chat icon, heading, description, and contact link with chevron.
|
|
2275
|
+
*
|
|
2276
|
+
* Desktop only - hidden on mobile to save space.
|
|
2277
|
+
*
|
|
2278
|
+
* @example
|
|
2279
|
+
* ```tsx
|
|
2280
|
+
* <AssistanceBanner
|
|
2281
|
+
* title="Need Assistance?"
|
|
2282
|
+
* description="Can't find what you're looking for? Our team is ready to help."
|
|
2283
|
+
* linkText="Contact support"
|
|
2284
|
+
* linkUrl="/contact"
|
|
2285
|
+
* />
|
|
2286
|
+
* ```
|
|
2287
|
+
*/
|
|
2288
|
+
var AssistanceBanner = function (_a) {
|
|
2289
|
+
var _b = _a.title,
|
|
2290
|
+
title = _b === void 0 ? 'Need Assistance?' : _b,
|
|
2291
|
+
_c = _a.description,
|
|
2292
|
+
description = _c === void 0 ? "Can't find what you're looking for? Our team is ready to help." : _c,
|
|
2293
|
+
_d = _a.linkText,
|
|
2294
|
+
linkText = _d === void 0 ? 'Contact support' : _d,
|
|
2295
|
+
_e = _a.linkUrl,
|
|
2296
|
+
linkUrl = _e === void 0 ? '/contact' : _e,
|
|
2297
|
+
onLinkClick = _a.onLinkClick,
|
|
2298
|
+
className = _a.className;
|
|
2299
|
+
var handleLinkClick = function (e) {
|
|
2300
|
+
if (onLinkClick) {
|
|
2301
|
+
e.preventDefault();
|
|
2302
|
+
onLinkClick();
|
|
2303
|
+
}
|
|
2304
|
+
};
|
|
2305
|
+
var bannerClasses = classNames(styles$3.assistanceBanner, className);
|
|
2306
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2307
|
+
className: bannerClasses
|
|
2308
|
+
}, /*#__PURE__*/React.createElement(AssistanceIcon, {
|
|
2309
|
+
className: styles$3.assistanceBanner__icon,
|
|
2310
|
+
"aria-hidden": "true"
|
|
2311
|
+
}), /*#__PURE__*/React.createElement("h3", {
|
|
2312
|
+
className: styles$3.assistanceBanner__title
|
|
2313
|
+
}, title), /*#__PURE__*/React.createElement("p", {
|
|
2314
|
+
className: styles$3.assistanceBanner__description
|
|
2315
|
+
}, description), /*#__PURE__*/React.createElement("a", {
|
|
2316
|
+
href: linkUrl,
|
|
2317
|
+
onClick: onLinkClick ? handleLinkClick : undefined,
|
|
2318
|
+
className: styles$3.assistanceBanner__link
|
|
2319
|
+
}, /*#__PURE__*/React.createElement("span", null, linkText), /*#__PURE__*/React.createElement("svg", {
|
|
2320
|
+
className: styles$3.assistanceBanner__chevron,
|
|
2321
|
+
width: "12",
|
|
2322
|
+
height: "6",
|
|
2323
|
+
viewBox: "0 0 12 6",
|
|
2324
|
+
fill: "none",
|
|
2325
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2326
|
+
"aria-hidden": "true"
|
|
2327
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
2328
|
+
d: "M1 1L6 5L11 1",
|
|
2329
|
+
stroke: "currentColor",
|
|
2330
|
+
strokeWidth: "2",
|
|
2331
|
+
strokeLinecap: "round",
|
|
2332
|
+
strokeLinejoin: "round"
|
|
2333
|
+
}))));
|
|
2334
|
+
};
|
|
2335
|
+
|
|
2336
|
+
var styles$2 = {"drawerOverlay":"FilterDrawer-module__drawerOverlay___P6M4y","drawerOverlay--open":"FilterDrawer-module__drawerOverlay--open___blJZo","drawerPanel":"FilterDrawer-module__drawerPanel___35h-U","drawerPanel--open":"FilterDrawer-module__drawerPanel--open___Fw1SY","drawerCloseButton":"FilterDrawer-module__drawerCloseButton___cfMmf","drawerContent":"FilterDrawer-module__drawerContent___KBff6"};
|
|
2337
|
+
|
|
2338
|
+
/**
|
|
2339
|
+
* FilterDrawer - Mobile slide-in filter panel
|
|
2340
|
+
*
|
|
2341
|
+
* Slides in from the right with a dark overlay. Used on mobile to show filters
|
|
2342
|
+
* when screen space is limited. Includes focus trap, escape key handling, and
|
|
2343
|
+
* body scroll prevention.
|
|
2344
|
+
*
|
|
2345
|
+
* Desktop: Hidden (filters shown in sidebar)
|
|
2346
|
+
* Mobile: Slide-in drawer overlay
|
|
2347
|
+
*
|
|
2348
|
+
* @example
|
|
2349
|
+
* ```tsx
|
|
2350
|
+
* <FilterDrawer
|
|
2351
|
+
* isOpen={isFilterDrawerOpen}
|
|
2352
|
+
* onClose={() => setIsFilterDrawerOpen(false)}
|
|
2353
|
+
* >
|
|
2354
|
+
* <FiltersPanel facets={facets} onFacetToggle={handleToggle} />
|
|
2355
|
+
* </FilterDrawer>
|
|
2356
|
+
* ```
|
|
2357
|
+
*/
|
|
2358
|
+
var FilterDrawer = function (_a) {
|
|
2359
|
+
var _b, _c;
|
|
2360
|
+
var isOpen = _a.isOpen,
|
|
2361
|
+
onClose = _a.onClose,
|
|
2362
|
+
children = _a.children,
|
|
2363
|
+
className = _a.className;
|
|
2364
|
+
var drawerRef = React.useRef(null);
|
|
2365
|
+
var previouslyFocusedElement = React.useRef(null);
|
|
2366
|
+
// Focus management
|
|
2367
|
+
React.useEffect(function () {
|
|
2368
|
+
if (isOpen) {
|
|
2369
|
+
// Store previously focused element
|
|
2370
|
+
previouslyFocusedElement.current = document.activeElement;
|
|
2371
|
+
// Focus the drawer
|
|
2372
|
+
if (drawerRef.current) {
|
|
2373
|
+
drawerRef.current.focus();
|
|
2374
|
+
}
|
|
2375
|
+
// Prevent body scroll
|
|
2376
|
+
document.body.style.overflow = 'hidden';
|
|
2377
|
+
} else {
|
|
2378
|
+
// Restore body scroll
|
|
2379
|
+
document.body.style.overflow = '';
|
|
2380
|
+
// Return focus to previously focused element
|
|
2381
|
+
if (previouslyFocusedElement.current) {
|
|
2382
|
+
previouslyFocusedElement.current.focus();
|
|
2383
|
+
}
|
|
2384
|
+
}
|
|
2385
|
+
return function () {
|
|
2386
|
+
document.body.style.overflow = '';
|
|
2387
|
+
};
|
|
2388
|
+
}, [isOpen]);
|
|
2389
|
+
// Escape key handler
|
|
2390
|
+
React.useEffect(function () {
|
|
2391
|
+
var handleEscape = function (event) {
|
|
2392
|
+
if (event.key === 'Escape' && isOpen) {
|
|
2393
|
+
onClose();
|
|
2394
|
+
}
|
|
2395
|
+
};
|
|
2396
|
+
document.addEventListener('keydown', handleEscape);
|
|
2397
|
+
return function () {
|
|
2398
|
+
return document.removeEventListener('keydown', handleEscape);
|
|
2399
|
+
};
|
|
2400
|
+
}, [isOpen, onClose]);
|
|
2401
|
+
// Focus trap implementation
|
|
2402
|
+
React.useEffect(function () {
|
|
2403
|
+
if (!isOpen || !drawerRef.current) return;
|
|
2404
|
+
var drawer = drawerRef.current;
|
|
2405
|
+
var focusableElements = drawer.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
|
2406
|
+
var firstElement = focusableElements[0];
|
|
2407
|
+
var lastElement = focusableElements[focusableElements.length - 1];
|
|
2408
|
+
var handleTab = function (event) {
|
|
2409
|
+
if (event.key !== 'Tab') return;
|
|
2410
|
+
if (event.shiftKey) {
|
|
2411
|
+
// Shift + Tab
|
|
2412
|
+
if (document.activeElement === firstElement) {
|
|
2413
|
+
event.preventDefault();
|
|
2414
|
+
lastElement === null || lastElement === void 0 ? void 0 : lastElement.focus();
|
|
2415
|
+
}
|
|
2416
|
+
} else {
|
|
2417
|
+
// Tab
|
|
2418
|
+
if (document.activeElement === lastElement) {
|
|
2419
|
+
event.preventDefault();
|
|
2420
|
+
firstElement === null || firstElement === void 0 ? void 0 : firstElement.focus();
|
|
2421
|
+
}
|
|
2422
|
+
}
|
|
2423
|
+
};
|
|
2424
|
+
drawer.addEventListener('keydown', handleTab);
|
|
2425
|
+
return function () {
|
|
2426
|
+
return drawer.removeEventListener('keydown', handleTab);
|
|
2427
|
+
};
|
|
2428
|
+
}, [isOpen]);
|
|
2429
|
+
if (!isOpen) return null;
|
|
2430
|
+
var handleOverlayClick = function (event) {
|
|
2431
|
+
if (event.target === event.currentTarget) {
|
|
2432
|
+
onClose();
|
|
2433
|
+
}
|
|
2434
|
+
};
|
|
2435
|
+
var overlayClasses = classNames(styles$2.drawerOverlay, (_b = {}, _b[styles$2['drawerOverlay--open']] = isOpen, _b));
|
|
2436
|
+
var panelClasses = classNames(styles$2.drawerPanel, (_c = {}, _c[styles$2['drawerPanel--open']] = isOpen, _c), className);
|
|
2437
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2438
|
+
className: overlayClasses,
|
|
2439
|
+
onClick: handleOverlayClick,
|
|
2440
|
+
"aria-hidden": "true"
|
|
2441
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
2442
|
+
type: "button",
|
|
2443
|
+
onClick: onClose,
|
|
2444
|
+
"aria-label": "Close filters",
|
|
2445
|
+
className: styles$2.drawerCloseButton
|
|
2446
|
+
}, /*#__PURE__*/React.createElement(reactFontawesome.FontAwesomeIcon, {
|
|
2447
|
+
icon: faXmark
|
|
2448
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
2449
|
+
ref: drawerRef,
|
|
2450
|
+
role: "dialog",
|
|
2451
|
+
"aria-modal": "true",
|
|
2452
|
+
"aria-label": "Filter options",
|
|
2453
|
+
tabIndex: -1,
|
|
2454
|
+
className: panelClasses
|
|
2455
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2456
|
+
className: styles$2.drawerContent
|
|
2457
|
+
}, children)));
|
|
1982
2458
|
};
|
|
1983
2459
|
|
|
1984
2460
|
var FederatedResultsView = function (_a) {
|
|
@@ -1997,58 +2473,112 @@ var FederatedResultsView = function (_a) {
|
|
|
1997
2473
|
totalPages = _a.totalPages,
|
|
1998
2474
|
onPageChange = _a.onPageChange,
|
|
1999
2475
|
facets = _a.facets,
|
|
2000
|
-
onFacetToggle = _a.onFacetToggle
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
count: products.length
|
|
2005
|
-
}, {
|
|
2006
|
-
id: "content",
|
|
2007
|
-
label: "Content",
|
|
2008
|
-
count: contents.length
|
|
2009
|
-
}];
|
|
2476
|
+
onFacetToggle = _a.onFacetToggle,
|
|
2477
|
+
isFilterDrawerOpen = _a.isFilterDrawerOpen,
|
|
2478
|
+
onFilterDrawerToggle = _a.onFilterDrawerToggle,
|
|
2479
|
+
onFilterDrawerClose = _a.onFilterDrawerClose;
|
|
2010
2480
|
var isLoading = activeTab === "products" && isLoadingProducts || activeTab === "content" && isLoadingContents;
|
|
2011
2481
|
var error = activeTab === "products" ? productsError : contentsError;
|
|
2012
2482
|
// Filter results based on active tab
|
|
2013
2483
|
var displayProducts = activeTab === "content" ? [] : products;
|
|
2014
2484
|
var displayContents = activeTab === "products" ? [] : contents;
|
|
2485
|
+
// Content tab single-select handler (clears all others when selecting)
|
|
2486
|
+
var handleContentCategorySelect = React.useCallback(function (attribute, value) {
|
|
2487
|
+
var facet = facets.find(function (f) {
|
|
2488
|
+
return f.attribute === attribute;
|
|
2489
|
+
});
|
|
2490
|
+
if (!facet) return;
|
|
2491
|
+
// Clear ALL values in this facet first
|
|
2492
|
+
facet.values.forEach(function (v) {
|
|
2493
|
+
if (v.isRefined) {
|
|
2494
|
+
onFacetToggle(attribute, v.value); // Unselect
|
|
2495
|
+
}
|
|
2496
|
+
});
|
|
2497
|
+
// Then select the clicked value (if not already selected)
|
|
2498
|
+
var clickedValue = facet.values.find(function (v) {
|
|
2499
|
+
return v.value === value;
|
|
2500
|
+
});
|
|
2501
|
+
if (clickedValue && !clickedValue.isRefined) {
|
|
2502
|
+
onFacetToggle(attribute, value); // Select
|
|
2503
|
+
}
|
|
2504
|
+
}, [facets, onFacetToggle]);
|
|
2505
|
+
// Track if any filters applied
|
|
2506
|
+
var hasAppliedFilters = React.useMemo(function () {
|
|
2507
|
+
return facets.some(function (facet) {
|
|
2508
|
+
return facet.values.some(function (value) {
|
|
2509
|
+
return value.isRefined;
|
|
2510
|
+
});
|
|
2511
|
+
});
|
|
2512
|
+
}, [facets]);
|
|
2513
|
+
// Track previous filter state to detect transitions
|
|
2514
|
+
var prevHasAppliedFilters = React.useRef(hasAppliedFilters);
|
|
2515
|
+
// Auto-close drawer when transitioning FROM filters applied TO no filters (mobile only)
|
|
2516
|
+
React.useEffect(function () {
|
|
2517
|
+
// Only close if we HAD filters and now have NONE (not on initial open)
|
|
2518
|
+
if (prevHasAppliedFilters.current && !hasAppliedFilters && isFilterDrawerOpen && onFilterDrawerClose) {
|
|
2519
|
+
onFilterDrawerClose();
|
|
2520
|
+
}
|
|
2521
|
+
prevHasAppliedFilters.current = hasAppliedFilters;
|
|
2522
|
+
}, [hasAppliedFilters, isFilterDrawerOpen, onFilterDrawerClose]);
|
|
2015
2523
|
return /*#__PURE__*/React.createElement("div", {
|
|
2016
|
-
className: styles$
|
|
2524
|
+
className: styles$5.resultsView
|
|
2017
2525
|
}, /*#__PURE__*/React.createElement("div", {
|
|
2018
|
-
className: styles$
|
|
2526
|
+
className: "".concat(styles$5.searchBarWrapper, " ").concat(styles$5.searchBarDesktopOnly)
|
|
2019
2527
|
}, /*#__PURE__*/React.createElement(SearchBar, {
|
|
2020
2528
|
value: query,
|
|
2021
2529
|
onChange: onQueryChange,
|
|
2022
2530
|
onSubmit: onSearchSubmit,
|
|
2023
|
-
placeholder: "Refine your search..."
|
|
2531
|
+
placeholder: "Refine your search...",
|
|
2532
|
+
variant: "results"
|
|
2024
2533
|
})), /*#__PURE__*/React.createElement("div", {
|
|
2025
|
-
className: styles$
|
|
2534
|
+
className: "".concat(styles$5.tabsContainer, " ").concat(styles$5.tabsContainerDesktopOnly)
|
|
2026
2535
|
}, /*#__PURE__*/React.createElement("div", {
|
|
2027
|
-
className: styles$
|
|
2536
|
+
className: styles$5.tabs,
|
|
2028
2537
|
role: "tablist"
|
|
2029
|
-
},
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
"
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2538
|
+
}, /*#__PURE__*/React.createElement(TabButton, {
|
|
2539
|
+
label: "WEB SHOP RESULTS",
|
|
2540
|
+
count: products.length,
|
|
2541
|
+
isActive: activeTab === "products",
|
|
2542
|
+
onClick: function () {
|
|
2543
|
+
return onTabChange("products");
|
|
2544
|
+
},
|
|
2545
|
+
variant: "desktop"
|
|
2546
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
2547
|
+
className: styles$5.tabSeparator
|
|
2548
|
+
}), /*#__PURE__*/React.createElement(TabButton, {
|
|
2549
|
+
label: "WEBSITE RESULTS",
|
|
2550
|
+
count: contents.length,
|
|
2551
|
+
isActive: activeTab === "content",
|
|
2552
|
+
onClick: function () {
|
|
2553
|
+
return onTabChange("content");
|
|
2554
|
+
},
|
|
2555
|
+
variant: "desktop"
|
|
2556
|
+
})), onFilterDrawerToggle && /*#__PURE__*/React.createElement("button", {
|
|
2557
|
+
type: "button",
|
|
2558
|
+
className: styles$5.mobileFilterButton,
|
|
2559
|
+
onClick: onFilterDrawerToggle
|
|
2560
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
2561
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2562
|
+
width: "15",
|
|
2563
|
+
height: "11",
|
|
2564
|
+
viewBox: "0 0 15 11",
|
|
2565
|
+
fill: "none",
|
|
2566
|
+
"aria-hidden": "true"
|
|
2567
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
2568
|
+
d: "M0 0.6875C0 0.30651 0.313477 0 0.703125 0H14.2969C14.6865 0 15 0.30651 15 0.6875C15 1.06849 14.6865 1.375 14.2969 1.375H0.703125C0.313477 1.375 0 1.06849 0 0.6875ZM2.8125 5.5C2.8125 5.11901 3.12598 4.8125 3.51562 4.8125H11.4844C11.874 4.8125 12.1875 5.11901 12.1875 5.5C12.1875 5.88099 11.874 6.1875 11.4844 6.1875H3.51562C3.12598 6.1875 2.8125 5.88099 2.8125 5.5ZM9.375 10.3125C9.375 10.6935 9.06152 11 8.67188 11H6.32812C5.93848 11 5.625 10.6935 5.625 10.3125C5.625 9.93151 5.93848 9.625 6.32812 9.625H8.67188C9.06152 9.625 9.375 9.93151 9.375 10.3125Z",
|
|
2569
|
+
fill: "currentColor"
|
|
2570
|
+
})), /*#__PURE__*/React.createElement("span", null, "Filter"))), /*#__PURE__*/React.createElement("div", {
|
|
2571
|
+
className: styles$5.resultsContainer
|
|
2045
2572
|
}, /*#__PURE__*/React.createElement("aside", {
|
|
2046
|
-
className: styles$
|
|
2573
|
+
className: styles$5.sidebar
|
|
2047
2574
|
}, /*#__PURE__*/React.createElement(FiltersPanel, {
|
|
2048
2575
|
facets: facets,
|
|
2049
|
-
onFacetToggle: onFacetToggle
|
|
2576
|
+
onFacetToggle: activeTab === "products" ? onFacetToggle : handleContentCategorySelect,
|
|
2577
|
+
showCheckbox: activeTab === "products"
|
|
2578
|
+
}), /*#__PURE__*/React.createElement(AssistanceBanner, {
|
|
2579
|
+
className: styles$5.assistanceBanner
|
|
2050
2580
|
})), /*#__PURE__*/React.createElement("main", {
|
|
2051
|
-
className: styles$
|
|
2581
|
+
className: styles$5.mainContent
|
|
2052
2582
|
}, /*#__PURE__*/React.createElement("div", {
|
|
2053
2583
|
id: "tabpanel-".concat(activeTab),
|
|
2054
2584
|
role: "tabpanel",
|
|
@@ -2060,17 +2590,26 @@ var FederatedResultsView = function (_a) {
|
|
|
2060
2590
|
isLoading: isLoading,
|
|
2061
2591
|
error: error
|
|
2062
2592
|
}), !isLoading && !error && (displayProducts.length > 0 || displayContents.length > 0) && /*#__PURE__*/React.createElement("div", {
|
|
2063
|
-
className: styles$
|
|
2593
|
+
className: styles$5.paginationWrapper
|
|
2064
2594
|
}, /*#__PURE__*/React.createElement(Pagination, {
|
|
2065
2595
|
currentPage: currentPage,
|
|
2066
2596
|
totalPages: totalPages,
|
|
2067
2597
|
onPageChange: onPageChange,
|
|
2068
2598
|
maxVisiblePages: 10,
|
|
2599
|
+
showPrevious: false,
|
|
2069
2600
|
ariaLabel: "".concat(activeTab === "products" ? "Products" : "Content", " pagination")
|
|
2070
|
-
})))))
|
|
2601
|
+
}))))), onFilterDrawerClose && /*#__PURE__*/React.createElement(FilterDrawer, {
|
|
2602
|
+
isOpen: isFilterDrawerOpen || false,
|
|
2603
|
+
onClose: onFilterDrawerClose
|
|
2604
|
+
}, /*#__PURE__*/React.createElement(FiltersPanel, {
|
|
2605
|
+
facets: facets,
|
|
2606
|
+
onFacetToggle: activeTab === "products" ? onFacetToggle : handleContentCategorySelect,
|
|
2607
|
+
variant: "mobile",
|
|
2608
|
+
showCheckbox: activeTab === "products"
|
|
2609
|
+
})));
|
|
2071
2610
|
};
|
|
2072
2611
|
|
|
2073
|
-
var styles$1 = {"searchExperience":"FederatedSearchExperience-module__searchExperience___gug9X","searchBarSection":"FederatedSearchExperience-module__searchBarSection___f0Ykq","instantResultsSection":"FederatedSearchExperience-module__instantResultsSection___AG3qn","fullResultsSection":"FederatedSearchExperience-module__fullResultsSection___NH16U"};
|
|
2612
|
+
var styles$1 = {"searchExperience":"FederatedSearchExperience-module__searchExperience___gug9X","searchBarSection":"FederatedSearchExperience-module__searchBarSection___f0Ykq","searchBarDesktopOnly":"FederatedSearchExperience-module__searchBarDesktopOnly___CetKZ","searchBarMobileOnly":"FederatedSearchExperience-module__searchBarMobileOnly___Ityxp","resultsHeaderMobileOnly":"FederatedSearchExperience-module__resultsHeaderMobileOnly___09ef-","tabsContainerSticky":"FederatedSearchExperience-module__tabsContainerSticky___-HdY5","tabs":"FederatedSearchExperience-module__tabs___Vatv8","tabSeparator":"FederatedSearchExperience-module__tabSeparator___AUjhW","mobileFilterButtonWrapper":"FederatedSearchExperience-module__mobileFilterButtonWrapper___JkRtk","mobileFilterButton":"FederatedSearchExperience-module__mobileFilterButton___sRc-w","filterIndicatorDot":"FederatedSearchExperience-module__filterIndicatorDot___vqVi2","instantResultsSection":"FederatedSearchExperience-module__instantResultsSection___AG3qn","fullResultsSection":"FederatedSearchExperience-module__fullResultsSection___NH16U"};
|
|
2074
2613
|
|
|
2075
2614
|
/**
|
|
2076
2615
|
* FederatedSearchExperience - Top-level search experience component
|
|
@@ -2131,21 +2670,93 @@ var FederatedSearchExperience = function (_a) {
|
|
|
2131
2670
|
totalPages = _a.totalPages,
|
|
2132
2671
|
onPageChange = _a.onPageChange,
|
|
2133
2672
|
facets = _a.facets,
|
|
2134
|
-
onFacetToggle = _a.onFacetToggle
|
|
2673
|
+
onFacetToggle = _a.onFacetToggle,
|
|
2674
|
+
isFilterDrawerOpen = _a.isFilterDrawerOpen,
|
|
2675
|
+
onFilterDrawerToggle = _a.onFilterDrawerToggle,
|
|
2676
|
+
onFilterDrawerClose = _a.onFilterDrawerClose;
|
|
2677
|
+
// Track if any filters are active (for red dot indicator)
|
|
2678
|
+
var hasAppliedFilters = React.useMemo(function () {
|
|
2679
|
+
return facets.some(function (facet) {
|
|
2680
|
+
return facet.values.some(function (value) {
|
|
2681
|
+
return value.isRefined;
|
|
2682
|
+
});
|
|
2683
|
+
});
|
|
2684
|
+
}, [facets]);
|
|
2135
2685
|
return /*#__PURE__*/React.createElement(SearchModal, {
|
|
2136
2686
|
isOpen: isOpen,
|
|
2137
2687
|
onClose: onClose,
|
|
2138
|
-
title: "Search"
|
|
2688
|
+
title: "Search",
|
|
2689
|
+
stickyHeaderContent: activeView === "instant" ? /*#__PURE__*/React.createElement("div", {
|
|
2690
|
+
className: styles$1.searchBarMobileOnly
|
|
2691
|
+
}, /*#__PURE__*/React.createElement(SearchBar, {
|
|
2692
|
+
value: query,
|
|
2693
|
+
onChange: onQueryChange,
|
|
2694
|
+
onSubmit: onSearchSubmit,
|
|
2695
|
+
placeholder: "Discover products, innovations, and resources...",
|
|
2696
|
+
autoFocus: true,
|
|
2697
|
+
variant: "instant"
|
|
2698
|
+
})) : activeView === "results" ? /*#__PURE__*/React.createElement("div", {
|
|
2699
|
+
className: styles$1.resultsHeaderMobileOnly
|
|
2700
|
+
}, /*#__PURE__*/React.createElement(SearchBar, {
|
|
2701
|
+
value: query,
|
|
2702
|
+
onChange: onQueryChange,
|
|
2703
|
+
onSubmit: onSearchSubmit,
|
|
2704
|
+
placeholder: "Refine your search...",
|
|
2705
|
+
variant: "results"
|
|
2706
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
2707
|
+
className: styles$1.tabsContainerSticky
|
|
2708
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2709
|
+
className: styles$1.tabs,
|
|
2710
|
+
role: "tablist"
|
|
2711
|
+
}, /*#__PURE__*/React.createElement(TabButton, {
|
|
2712
|
+
label: "WEB SHOP RESULTS",
|
|
2713
|
+
count: products.length,
|
|
2714
|
+
isActive: activeTab === "products",
|
|
2715
|
+
onClick: function () {
|
|
2716
|
+
return onTabChange("products");
|
|
2717
|
+
},
|
|
2718
|
+
variant: "mobile"
|
|
2719
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
2720
|
+
className: styles$1.tabSeparator
|
|
2721
|
+
}), /*#__PURE__*/React.createElement(TabButton, {
|
|
2722
|
+
label: "WEBSITE RESULTS",
|
|
2723
|
+
count: contents.length,
|
|
2724
|
+
isActive: activeTab === "content",
|
|
2725
|
+
onClick: function () {
|
|
2726
|
+
return onTabChange("content");
|
|
2727
|
+
},
|
|
2728
|
+
variant: "mobile"
|
|
2729
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
2730
|
+
className: styles$1.mobileFilterButtonWrapper
|
|
2731
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
2732
|
+
type: "button",
|
|
2733
|
+
className: styles$1.mobileFilterButton,
|
|
2734
|
+
onClick: onFilterDrawerToggle
|
|
2735
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
2736
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2737
|
+
width: "15",
|
|
2738
|
+
height: "11",
|
|
2739
|
+
viewBox: "0 0 15 11",
|
|
2740
|
+
fill: "none",
|
|
2741
|
+
"aria-hidden": "true"
|
|
2742
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
2743
|
+
d: "M0 0.6875C0 0.30651 0.313477 0 0.703125 0H14.2969C14.6865 0 15 0.30651 15 0.6875C15 1.06849 14.6865 1.375 14.2969 1.375H0.703125C0.313477 1.375 0 1.06849 0 0.6875ZM2.8125 5.5C2.8125 5.11901 3.12598 4.8125 3.51562 4.8125H11.4844C11.874 4.8125 12.1875 5.11901 12.1875 5.5C12.1875 5.88099 11.874 6.1875 11.4844 6.1875H3.51562C3.12598 6.1875 2.8125 5.88099 2.8125 5.5ZM9.375 10.3125C9.375 10.6935 9.06152 11 8.67188 11H6.32812C5.93848 11 5.625 10.6935 5.625 10.3125C5.625 9.93151 5.93848 9.625 6.32812 9.625H8.67188C9.06152 9.625 9.375 9.93151 9.375 10.3125Z",
|
|
2744
|
+
fill: "currentColor"
|
|
2745
|
+
})), /*#__PURE__*/React.createElement("span", null, "Filter")), hasAppliedFilters && /*#__PURE__*/React.createElement("span", {
|
|
2746
|
+
className: styles$1.filterIndicatorDot,
|
|
2747
|
+
"aria-hidden": "true"
|
|
2748
|
+
})))) : undefined
|
|
2139
2749
|
}, /*#__PURE__*/React.createElement("div", {
|
|
2140
2750
|
className: styles$1.searchExperience
|
|
2141
2751
|
}, activeView === "instant" && /*#__PURE__*/React.createElement("div", {
|
|
2142
|
-
className: styles$1.searchBarSection
|
|
2752
|
+
className: "".concat(styles$1.searchBarSection, " ").concat(styles$1.searchBarDesktopOnly)
|
|
2143
2753
|
}, /*#__PURE__*/React.createElement(SearchBar, {
|
|
2144
2754
|
value: query,
|
|
2145
2755
|
onChange: onQueryChange,
|
|
2146
2756
|
onSubmit: onSearchSubmit,
|
|
2147
2757
|
placeholder: "Discover products, innovations, and resources...",
|
|
2148
|
-
autoFocus: true
|
|
2758
|
+
autoFocus: true,
|
|
2759
|
+
variant: "instant"
|
|
2149
2760
|
})), activeView === "instant" && /*#__PURE__*/React.createElement("div", {
|
|
2150
2761
|
className: styles$1.instantResultsSection
|
|
2151
2762
|
}, query ? /*#__PURE__*/React.createElement(FederatedInstantResultsLayout, {
|
|
@@ -2197,7 +2808,10 @@ var FederatedSearchExperience = function (_a) {
|
|
|
2197
2808
|
totalPages: totalPages,
|
|
2198
2809
|
onPageChange: onPageChange,
|
|
2199
2810
|
facets: facets,
|
|
2200
|
-
onFacetToggle: onFacetToggle
|
|
2811
|
+
onFacetToggle: onFacetToggle,
|
|
2812
|
+
isFilterDrawerOpen: isFilterDrawerOpen,
|
|
2813
|
+
onFilterDrawerToggle: onFilterDrawerToggle,
|
|
2814
|
+
onFilterDrawerClose: onFilterDrawerClose
|
|
2201
2815
|
}))));
|
|
2202
2816
|
};
|
|
2203
2817
|
|
|
@@ -2268,6 +2882,7 @@ exports.PaginationButton = PaginationButton;
|
|
|
2268
2882
|
exports.PaginationEllipsis = PaginationEllipsis;
|
|
2269
2883
|
exports.PaginationItem = PaginationItem;
|
|
2270
2884
|
exports.ProductCardHorizontal = ProductCardHorizontal;
|
|
2885
|
+
exports.ProductCardVertical = ProductCardVertical;
|
|
2271
2886
|
exports.QrForm = QrFormLeybold;
|
|
2272
2887
|
exports.QrFormLeybold = QrFormLeybold;
|
|
2273
2888
|
exports.ResultsColumn = ResultsColumn;
|