@digital-b2c/coreui-kit 0.14.6 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var clsx43 = require('clsx');
3
+ var clsx47 = require('clsx');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
- var React69 = require('react');
5
+ var React70 = require('react');
6
6
  var gsap = require('gsap');
7
7
  var react = require('@gsap/react');
8
8
  var ScrollTrigger = require('gsap/ScrollTrigger');
@@ -13,8 +13,8 @@ var ReactPlayer = require('react-player');
13
13
 
14
14
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
15
 
16
- var clsx43__default = /*#__PURE__*/_interopDefault(clsx43);
17
- var React69__default = /*#__PURE__*/_interopDefault(React69);
16
+ var clsx47__default = /*#__PURE__*/_interopDefault(clsx47);
17
+ var React70__default = /*#__PURE__*/_interopDefault(React70);
18
18
  var gsap__default = /*#__PURE__*/_interopDefault(gsap);
19
19
  var ReactPlayer__default = /*#__PURE__*/_interopDefault(ReactPlayer);
20
20
 
@@ -68,7 +68,7 @@ var Picture = (_a) => {
68
68
  __spreadValues({
69
69
  src: desktop.src,
70
70
  alt: desktop.alt,
71
- className: clsx43__default.default(className, Picture_module_default["image-desktop"])
71
+ className: clsx47__default.default(className, Picture_module_default["image-desktop"])
72
72
  }, rest)
73
73
  ),
74
74
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -76,7 +76,7 @@ var Picture = (_a) => {
76
76
  __spreadValues({
77
77
  src: (_b2 = mobile == null ? void 0 : mobile.src) != null ? _b2 : desktop.src,
78
78
  alt: (_c = mobile == null ? void 0 : mobile.alt) != null ? _c : desktop.alt,
79
- className: clsx43__default.default(className, Picture_module_default["image-mobile"])
79
+ className: clsx47__default.default(className, Picture_module_default["image-mobile"])
80
80
  }, rest)
81
81
  )
82
82
  ] });
@@ -292,6 +292,21 @@ var SvgIconXWhite = (props) => /* @__PURE__ */ jsxRuntime.jsxs("svg", __spreadPr
292
292
  /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("clipPath", { id: "clip0_942_1878", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { width: 24, height: 24, fill: "white" }) }) })
293
293
  ] }));
294
294
  var icon_x_white_default = SvgIconXWhite;
295
+ var SvgIconUser = (props) => /* @__PURE__ */ jsxRuntime.jsxs("svg", __spreadProps(__spreadValues({ xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none" }, props), { children: [
296
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("clipPath", { id: "avatar-clip", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0.5, y: 0.5, width: 23, height: 23, rx: 11.5 }) }) }),
297
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { id: "user 1", children: [
298
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0.5, y: 0.5, width: 23, height: 23, rx: 11.5, fill: "#EEEEEE" }),
299
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { clipPath: "url(#avatar-clip)", children: [
300
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { id: "Vector", children: [
301
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 23V20.6667C21 19.429 20.5259 18.242 19.682 17.3668C18.8381 16.4917 17.6935 16 16.5 16H7.5C6.30653 16 5.16193 16.4917 4.31802 17.3668C3.47411 18.242 3 19.429 3 20.6667V23", fill: "#B5B5B5" }),
302
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 23V20.6667C21 19.429 20.5259 18.242 19.682 17.3668C18.8381 16.4917 17.6935 16 16.5 16H7.5C6.30653 16 5.16193 16.4917 4.31802 17.3668C3.47411 18.242 3 19.429 3 20.6667V23", stroke: "#A8A8A8", strokeLinecap: "round", strokeLinejoin: "round" })
303
+ ] }),
304
+ /* @__PURE__ */ jsxRuntime.jsx("path", { id: "Vector_2", d: "M12 13C14.2091 13 16 11.2091 16 9C16 6.79086 14.2091 5 12 5C9.79086 5 8 6.79086 8 9C8 11.2091 9.79086 13 12 13Z", fill: "#B5B5B5", stroke: "#A8A8A8", strokeLinecap: "round", strokeLinejoin: "round" })
305
+ ] }),
306
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0.5, y: 0.5, width: 23, height: 23, rx: 11.5, stroke: "#A8A8A8" })
307
+ ] })
308
+ ] }));
309
+ var icon_user_default = SvgIconUser;
295
310
  var SvgIconFilter = (props) => /* @__PURE__ */ jsxRuntime.jsx("svg", __spreadProps(__spreadValues({ width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props), { children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10.9991 20C10.7158 20 10.4783 19.9042 10.2866 19.7125C10.0949 19.5208 9.9991 19.2833 9.9991 19V13L4.1991 5.6C3.9491 5.26667 3.9116 4.91667 4.0866 4.55C4.2616 4.18333 4.56577 4 4.9991 4H18.9991C19.4324 4 19.7366 4.18333 19.9116 4.55C20.0866 4.91667 20.0491 5.26667 19.7991 5.6L13.9991 13V19C13.9991 19.2833 13.9033 19.5208 13.7116 19.7125C13.5199 19.9042 13.2824 20 12.9991 20H10.9991Z", fill: "#080808" }) }));
296
311
  var icon_filter_default = SvgIconFilter;
297
312
  var SvgIconInternalFilter = (props) => /* @__PURE__ */ jsxRuntime.jsx("svg", __spreadProps(__spreadValues({ width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props), { children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 18V16H9V18H3ZM3 13V11H15V13H3ZM3 8V6H21V8H3Z", fill: "#080808" }) }));
@@ -394,9 +409,10 @@ var svgs = {
394
409
  right: icon_right_default,
395
410
  tiltedRight: icon_tilted_right_default,
396
411
  xBlack: icon_x_black_default,
397
- xWhite: icon_x_white_default
412
+ xWhite: icon_x_white_default,
413
+ user: icon_user_default
398
414
  };
399
- var Icon = React69__default.default.memo(
415
+ var Icon = React70__default.default.memo(
400
416
  (_a) => {
401
417
  var _b = _a, { type, size } = _b, props = __objRest(_b, ["type", "size"]);
402
418
  if (type) {
@@ -454,7 +470,7 @@ var Button = (_a) => {
454
470
  ]);
455
471
  const isLink = !!href;
456
472
  const props = __spreadValues(__spreadValues({
457
- className: clsx43__default.default(
473
+ className: clsx47__default.default(
458
474
  Button_module_default.button,
459
475
  variant ? Button_module_default[variant] : null,
460
476
  { [Button_module_default.fullWidth]: !!fullWidth },
@@ -510,21 +526,21 @@ var getDeviceType = (width) => {
510
526
  return "desktop";
511
527
  };
512
528
  var useViewPort = () => {
513
- const [device, setDevice] = React69.useState(
529
+ const [device, setDevice] = React70.useState(
514
530
  () => typeof window !== "undefined" ? getDeviceType(window.innerWidth) : "desktop"
515
531
  );
516
- const getOtherDevices = React69.useCallback(
532
+ const getOtherDevices = React70.useCallback(
517
533
  (list, what, includeSelf = false) => {
518
534
  const deviceIndex = list.indexOf(what) + (!includeSelf ? 1 : 0);
519
535
  return [...list].slice(deviceIndex);
520
536
  },
521
537
  []
522
538
  );
523
- const onWindowResize = React69.useCallback(() => {
539
+ const onWindowResize = React70.useCallback(() => {
524
540
  setDevice(getDeviceType(window.innerWidth));
525
541
  }, []);
526
542
  const onWindowResizeDebounce = useDebounce_default(onWindowResize, 100);
527
- React69.useEffect(() => {
543
+ React70.useEffect(() => {
528
544
  window.addEventListener("resize", onWindowResizeDebounce);
529
545
  return () => window.removeEventListener("resize", onWindowResizeDebounce);
530
546
  }, [onWindowResizeDebounce]);
@@ -577,13 +593,13 @@ var BrandsStrip = ({
577
593
  cta,
578
594
  size
579
595
  }) => {
580
- const [show, setShow] = React69.useState(false);
581
- const [shouldAnimate, setShouldAnimate] = React69.useState(false);
596
+ const [show, setShow] = React70.useState(false);
597
+ const [shouldAnimate, setShouldAnimate] = React70.useState(false);
582
598
  const { is } = useViewPort_default();
583
599
  const isTabletBelow = is("tablet", "below");
584
- const containerRef = React69.useRef(null);
585
- const marqueeRef = React69.useRef(null);
586
- const timeline = React69.useRef(null);
600
+ const containerRef = React70.useRef(null);
601
+ const marqueeRef = React70.useRef(null);
602
+ const timeline = React70.useRef(null);
587
603
  const horizontalLoop = (items, config) => {
588
604
  const itemsArray = gsap__default.default.utils.toArray(items);
589
605
  const cfg = config || {};
@@ -677,7 +693,7 @@ var BrandsStrip = ({
677
693
  timeline.current.play();
678
694
  }
679
695
  };
680
- const duplicatedLogos = React69.useMemo(() => {
696
+ const duplicatedLogos = React70.useMemo(() => {
681
697
  if (logos.length === 0) return [];
682
698
  if (!shouldAnimate) return [...logos];
683
699
  return [...logos, ...logos];
@@ -686,7 +702,7 @@ var BrandsStrip = ({
686
702
  "div",
687
703
  {
688
704
  ref: containerRef,
689
- className: clsx43__default.default(
705
+ className: clsx47__default.default(
690
706
  BrandsStrip_module_default.brandsStrip,
691
707
  BrandsStrip_module_default[variant],
692
708
  { [BrandsStrip_module_default.small]: size === "small" },
@@ -695,13 +711,13 @@ var BrandsStrip = ({
695
711
  onMouseEnter: handleMouseEnter,
696
712
  onMouseLeave: handleMouseLeave,
697
713
  children: [
698
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default(BrandsStrip_module_default.container, { [BrandsStrip_module_default.blurred]: show && logos.length > 1 }), children: [
699
- title && logos.length === 1 && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx43__default.default("body", BrandsStrip_module_default.title), children: title }),
714
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default(BrandsStrip_module_default.container, { [BrandsStrip_module_default.blurred]: show && logos.length > 1 }), children: [
715
+ title && logos.length === 1 && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx47__default.default("body", BrandsStrip_module_default.title), children: title }),
700
716
  logos.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
701
717
  "div",
702
718
  {
703
719
  ref: marqueeRef,
704
- className: clsx43__default.default(BrandsStrip_module_default.logos, { [BrandsStrip_module_default.marqueeGSAP]: shouldAnimate }),
720
+ className: clsx47__default.default(BrandsStrip_module_default.logos, { [BrandsStrip_module_default.marqueeGSAP]: shouldAnimate }),
705
721
  children: duplicatedLogos.map((logo, index) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: BrandsStrip_module_default.logoWrapper, children: /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: BrandsStrip_module_default.logo }, logo)) }, `${logo.alt}-${index}`))
706
722
  }
707
723
  )
@@ -730,8 +746,8 @@ var CardSubtitle = ({ children }) => {
730
746
  };
731
747
  function resolveCompoundSlots(children, slots) {
732
748
  const resolved = {};
733
- React69.Children.forEach(children, (child) => {
734
- if (!React69.isValidElement(child)) return;
749
+ React70.Children.forEach(children, (child) => {
750
+ if (!React70.isValidElement(child)) return;
735
751
  Object.entries(slots).forEach(([key, Component]) => {
736
752
  if (child.type === Component) {
737
753
  resolved[key] = child.props.children;
@@ -745,10 +761,10 @@ function resolveCompoundSlots(children, slots) {
745
761
  var Container_module_default = {
746
762
  container: "Container_module_container"
747
763
  };
748
- var Container = React69.forwardRef(
764
+ var Container = React70.forwardRef(
749
765
  (_a, ref) => {
750
766
  var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
751
- return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({ ref, className: clsx43__default.default(Container_module_default.container, className) }, props), { children }));
767
+ return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({ ref, className: clsx47__default.default(Container_module_default.container, className) }, props), { children }));
752
768
  }
753
769
  );
754
770
  Container.displayName = "Container";
@@ -789,14 +805,14 @@ var Card = ({
789
805
  ConditionalWrapper,
790
806
  __spreadProps(__spreadValues({
791
807
  ref,
792
- className: clsx43__default.default(Card_module_default.card, Card_module_default[variant], className),
808
+ className: clsx47__default.default(Card_module_default.card, Card_module_default[variant], className),
793
809
  wrapper: Anchor,
794
810
  fallback: "div",
795
811
  condition: isLink
796
812
  }, href ? { href, isExternal } : {}), {
797
813
  children: [
798
814
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Card_module_default.logoContainer, children: [
799
- (logo == null ? void 0 : logo.src) ? /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: clsx43__default.default(Card_module_default.logo, isLink && Card_module_default.hideLogo) }, logo)) : icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon, className: clsx43__default.default(Card_module_default.logo, isLink && Card_module_default.hideLogo) }),
815
+ (logo == null ? void 0 : logo.src) ? /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: clsx47__default.default(Card_module_default.logo, isLink && Card_module_default.hideLogo) }, logo)) : icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon, className: clsx47__default.default(Card_module_default.logo, isLink && Card_module_default.hideLogo) }),
800
816
  isLink && /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "tiltedRightWhite", className: Card_module_default.logoHover })
801
817
  ] }),
802
818
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Card_module_default.content, children: [
@@ -831,10 +847,10 @@ var CountingCard = ({ className, title, count, image, children }) => {
831
847
  title: CountingCardTitle
832
848
  });
833
849
  const titleNode = (_a = slots.title) != null ? _a : title;
834
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default(CountingCard_module_default["counting-card"], className), children: [
850
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default(CountingCard_module_default["counting-card"], className), children: [
835
851
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: CountingCard_module_default.content, children: [
836
852
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "body", children: titleNode }),
837
- count && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(CountingCard_module_default.count, "h1"), children: count })
853
+ count && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(CountingCard_module_default.count, "h1"), children: count })
838
854
  ] }),
839
855
  image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: CountingCard_module_default.logo }, image))
840
856
  ] });
@@ -886,11 +902,11 @@ function FilterBar({
886
902
  searchValue,
887
903
  onSearchChange
888
904
  }) {
889
- const [openDropdown, setOpenDropdown] = React69.useState(null);
890
- const [searchState, setSearchState] = React69.useState("closed");
891
- const filterRef = React69.useRef(null);
892
- const sortRef = React69.useRef(null);
893
- const searchInputRef = React69.useRef(null);
905
+ const [openDropdown, setOpenDropdown] = React70.useState(null);
906
+ const [searchState, setSearchState] = React70.useState("closed");
907
+ const filterRef = React70.useRef(null);
908
+ const sortRef = React70.useRef(null);
909
+ const searchInputRef = React70.useRef(null);
894
910
  const closeSearch = () => {
895
911
  setSearchState("closing");
896
912
  onSearchChange("");
@@ -900,7 +916,7 @@ function FilterBar({
900
916
  onSearchChange("");
901
917
  (_a = searchInputRef.current) == null ? void 0 : _a.focus();
902
918
  };
903
- React69.useEffect(() => {
919
+ React70.useEffect(() => {
904
920
  const handleMouseDown = (e) => {
905
921
  var _a, _b;
906
922
  const target = e.target;
@@ -910,7 +926,7 @@ function FilterBar({
910
926
  document.addEventListener("mousedown", handleMouseDown);
911
927
  return () => document.removeEventListener("mousedown", handleMouseDown);
912
928
  }, []);
913
- React69.useEffect(() => {
929
+ React70.useEffect(() => {
914
930
  var _a;
915
931
  if (searchState === "open") (_a = searchInputRef.current) == null ? void 0 : _a.focus();
916
932
  }, [searchState]);
@@ -920,7 +936,7 @@ function FilterBar({
920
936
  "button",
921
937
  {
922
938
  type: "button",
923
- className: clsx43__default.default(FilterBar_module_default.chip, view === "grid" && FilterBar_module_default.active),
939
+ className: clsx47__default.default(FilterBar_module_default.chip, view === "grid" && FilterBar_module_default.active),
924
940
  onClick: () => onViewChange("grid"),
925
941
  "aria-pressed": view === "grid",
926
942
  children: [
@@ -933,7 +949,7 @@ function FilterBar({
933
949
  "button",
934
950
  {
935
951
  type: "button",
936
- className: clsx43__default.default(FilterBar_module_default.chip, view === "list" && FilterBar_module_default.active),
952
+ className: clsx47__default.default(FilterBar_module_default.chip, view === "list" && FilterBar_module_default.active),
937
953
  onClick: () => onViewChange("list"),
938
954
  "aria-pressed": view === "list",
939
955
  children: [
@@ -947,7 +963,7 @@ function FilterBar({
947
963
  /* @__PURE__ */ jsxRuntime.jsxs(
948
964
  "div",
949
965
  {
950
- className: clsx43__default.default(
966
+ className: clsx47__default.default(
951
967
  FilterBar_module_default.dropdownWrapper,
952
968
  isMobile && searchState === "open" && FilterBar_module_default.filterFaded,
953
969
  isMobile && searchState === "closing" && FilterBar_module_default.filterFading
@@ -958,7 +974,7 @@ function FilterBar({
958
974
  "button",
959
975
  {
960
976
  type: "button",
961
- className: clsx43__default.default(FilterBar_module_default.chip, filterValue !== "all" && FilterBar_module_default.active),
977
+ className: clsx47__default.default(FilterBar_module_default.chip, filterValue !== "all" && FilterBar_module_default.active),
962
978
  onClick: () => setOpenDropdown(openDropdown === "filter" ? null : "filter"),
963
979
  "aria-expanded": openDropdown === "filter",
964
980
  children: [
@@ -973,7 +989,7 @@ function FilterBar({
973
989
  type: "button",
974
990
  role: "option",
975
991
  "aria-selected": filterValue === opt.value,
976
- className: clsx43__default.default(
992
+ className: clsx47__default.default(
977
993
  FilterBar_module_default.dropdownOption,
978
994
  filterValue === opt.value && FilterBar_module_default.selected
979
995
  ),
@@ -994,7 +1010,7 @@ function FilterBar({
994
1010
  /* @__PURE__ */ jsxRuntime.jsxs(
995
1011
  "div",
996
1012
  {
997
- className: clsx43__default.default(
1013
+ className: clsx47__default.default(
998
1014
  FilterBar_module_default.dropdownWrapper,
999
1015
  isMobile && searchState === "open" && FilterBar_module_default.filterFaded,
1000
1016
  isMobile && searchState === "closing" && FilterBar_module_default.filterFading
@@ -1020,7 +1036,7 @@ function FilterBar({
1020
1036
  type: "button",
1021
1037
  role: "option",
1022
1038
  "aria-selected": sortValue === opt.value,
1023
- className: clsx43__default.default(
1039
+ className: clsx47__default.default(
1024
1040
  FilterBar_module_default.dropdownOption,
1025
1041
  sortValue === opt.value && FilterBar_module_default.selected
1026
1042
  ),
@@ -1038,7 +1054,7 @@ function FilterBar({
1038
1054
  searchState !== "closed" ? /* @__PURE__ */ jsxRuntime.jsxs(
1039
1055
  "div",
1040
1056
  {
1041
- className: clsx43__default.default(
1057
+ className: clsx47__default.default(
1042
1058
  FilterBar_module_default.searchExpanded,
1043
1059
  searchState === "closing" && FilterBar_module_default.searchCollapsing
1044
1060
  ),
@@ -1120,9 +1136,9 @@ var InfoCard = ({ className, title, subtitle, icon, badge, children }) => {
1120
1136
  });
1121
1137
  const titleNode = (_a = slots.title) != null ? _a : title;
1122
1138
  const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
1123
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default(InfoCard_module_default["info-card"], { [InfoCard_module_default.hasIcon]: !!icon }, className), children: [
1139
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default(InfoCard_module_default["info-card"], { [InfoCard_module_default.hasIcon]: !!icon }, className), children: [
1124
1140
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: InfoCard_module_default.header, children: [
1125
- icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon }) : badge ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(InfoCard_module_default.badge, "h4"), children: badge }) : null,
1141
+ icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon }) : badge ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(InfoCard_module_default.badge, "h4"), children: badge }) : null,
1126
1142
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h4", children: titleNode })
1127
1143
  ] }),
1128
1144
  subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "body", children: subtitleNode })
@@ -1186,7 +1202,7 @@ var Pagination = ({
1186
1202
  hidePagesBorder = false,
1187
1203
  renderLink
1188
1204
  }) => {
1189
- const [activePage, setActivePage] = React69.useState(currentPage);
1205
+ const [activePage, setActivePage] = React70.useState(currentPage);
1190
1206
  const goToPage = (page) => {
1191
1207
  if (page < 1 || page > totalPages) return;
1192
1208
  setActivePage(page);
@@ -1219,7 +1235,7 @@ var Pagination = ({
1219
1235
  const prevPage = activePage === 1 ? loop ? totalPages : 1 : activePage - 1;
1220
1236
  const nextPage = activePage === totalPages ? loop ? 1 : totalPages : activePage + 1;
1221
1237
  const pageItems = showEllipsis ? getPaginationRange(totalPages, activePage, siblingCount, boundaryCount) : Array.from({ length: totalPages }, (_, i) => i + 1);
1222
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default(Pagination_module_default.pagination, className), children: [
1238
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default(Pagination_module_default.pagination, className), children: [
1223
1239
  !disableArrows && (renderLink ? renderLink({
1224
1240
  page: prevPage,
1225
1241
  className: Pagination_module_default.prev,
@@ -1240,12 +1256,12 @@ var Pagination = ({
1240
1256
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: Pagination_module_default.dots, "aria-hidden": "true", children: "\u2026" }, `dots-${index}`);
1241
1257
  }
1242
1258
  const page = item;
1243
- const pageClassName = clsx43__default.default(Pagination_module_default.page, {
1259
+ const pageClassName = clsx47__default.default(Pagination_module_default.page, {
1244
1260
  [Pagination_module_default.active]: activePage === page,
1245
1261
  [Pagination_module_default.number]: hasNumber,
1246
1262
  [Pagination_module_default["no-border"]]: hidePagesBorder
1247
1263
  });
1248
- return renderLink ? /* @__PURE__ */ jsxRuntime.jsx(React69.Fragment, { children: renderLink({
1264
+ return renderLink ? /* @__PURE__ */ jsxRuntime.jsx(React70.Fragment, { children: renderLink({
1249
1265
  page,
1250
1266
  className: pageClassName,
1251
1267
  "aria-label": `Go to page ${page}`,
@@ -1292,7 +1308,7 @@ var PracticeCard_module_default = {
1292
1308
  };
1293
1309
  var PracticeCard = ({ className, title, cta, image }) => {
1294
1310
  const { url: href, isExternal } = cta != null ? cta : {};
1295
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(PracticeCard_module_default["practice-card"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(
1311
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(PracticeCard_module_default["practice-card"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(
1296
1312
  ConditionalWrapper,
1297
1313
  __spreadProps(__spreadValues({
1298
1314
  className: PracticeCard_module_default.wrapper,
@@ -1303,7 +1319,7 @@ var PracticeCard = ({ className, title, cta, image }) => {
1303
1319
  children: [
1304
1320
  image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: PracticeCard_module_default.background }, image)),
1305
1321
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticeCard_module_default.container, children: [
1306
- title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(PracticeCard_module_default.title, "h3"), children: title }),
1322
+ title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(PracticeCard_module_default.title, "h3"), children: title }),
1307
1323
  href && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticeCard_module_default.cta, children: [
1308
1324
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: PracticeCard_module_default.ctaRest, type: "right" }),
1309
1325
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: PracticeCard_module_default.ctaHover, type: "tiltedRight" })
@@ -1347,15 +1363,15 @@ var ResourceCardItem = ({ item, view, variant, renderLink }) => {
1347
1363
  "aria-disabled": isRestricted
1348
1364
  } : null;
1349
1365
  const cardLink = linkProps && isGlobalSearchVariant ? renderLink ? renderLink(__spreadProps(__spreadValues({}, linkProps), {
1350
- className: clsx43__default.default(ResourceCardItem_module_default.cardLink, isGlobalSearchVariant && ResourceCardItem_module_default[variant]),
1366
+ className: clsx47__default.default(ResourceCardItem_module_default.cardLink, isGlobalSearchVariant && ResourceCardItem_module_default[variant]),
1351
1367
  children: null
1352
1368
  })) : /* @__PURE__ */ jsxRuntime.jsx(
1353
1369
  "a",
1354
1370
  __spreadProps(__spreadValues({}, linkProps), {
1355
- className: clsx43__default.default(ResourceCardItem_module_default.cardLink, isGlobalSearchVariant && ResourceCardItem_module_default[variant])
1371
+ className: clsx47__default.default(ResourceCardItem_module_default.cardLink, isGlobalSearchVariant && ResourceCardItem_module_default[variant])
1356
1372
  })
1357
1373
  ) : null;
1358
- const linkWrapper = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("a", __spreadProps(__spreadValues({}, linkProps), { tabIndex: isGlobalSearchVariant ? -1 : 0, className: clsx43__default.default(ResourceCardItem_module_default.cardLink), children }));
1374
+ const linkWrapper = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("a", __spreadProps(__spreadValues({}, linkProps), { tabIndex: isGlobalSearchVariant ? -1 : 0, className: clsx47__default.default(ResourceCardItem_module_default.cardLink), children }));
1359
1375
  function getIcon() {
1360
1376
  switch (item.type) {
1361
1377
  case "pdf":
@@ -1372,7 +1388,7 @@ var ResourceCardItem = ({ item, view, variant, renderLink }) => {
1372
1388
  return /* @__PURE__ */ jsxRuntime.jsxs(
1373
1389
  "article",
1374
1390
  {
1375
- className: clsx43__default.default(
1391
+ className: clsx47__default.default(
1376
1392
  ResourceCardItem_module_default.cardGrid,
1377
1393
  isGlobalSearchVariant && ResourceCardItem_module_default[variant],
1378
1394
  isGlobalSearchVariant && isRestricted ? ResourceCardItem_module_default["restricted"] : null
@@ -1449,7 +1465,7 @@ var Sidebar = ({
1449
1465
  return /* @__PURE__ */ jsxRuntime.jsxs(
1450
1466
  "li",
1451
1467
  {
1452
- className: clsx43__default.default(Sidebar_module_default.sidebarItem, i === selectedIndex && Sidebar_module_default.active),
1468
+ className: clsx47__default.default(Sidebar_module_default.sidebarItem, i === selectedIndex && Sidebar_module_default.active),
1453
1469
  role: "button",
1454
1470
  tabIndex: 0,
1455
1471
  "aria-pressed": i === selectedIndex,
@@ -1507,7 +1523,7 @@ var UpcomingEventCard = ({
1507
1523
  return /* @__PURE__ */ jsxRuntime.jsxs(
1508
1524
  "article",
1509
1525
  {
1510
- className: clsx43__default.default(
1526
+ className: clsx47__default.default(
1511
1527
  "card",
1512
1528
  UpcomingEventCard_module_default["event-card"],
1513
1529
  UpcomingEventCard_module_default[direction],
@@ -1515,26 +1531,26 @@ var UpcomingEventCard = ({
1515
1531
  className
1516
1532
  ),
1517
1533
  children: [
1518
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("card-content", UpcomingEventCard_module_default["event-card-content"]), children: [
1519
- showImage && image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx43__default.default("card-image", UpcomingEventCard_module_default["event-card-image"]) })),
1534
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("card-content", UpcomingEventCard_module_default["event-card-content"]), children: [
1535
+ showImage && image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx47__default.default("card-image", UpcomingEventCard_module_default["event-card-image"]) })),
1520
1536
  /* @__PURE__ */ jsxRuntime.jsxs(
1521
1537
  "div",
1522
1538
  {
1523
- className: clsx43__default.default(
1539
+ className: clsx47__default.default(
1524
1540
  "card-text-content",
1525
1541
  UpcomingEventCard_module_default["event-card-text-content"],
1526
1542
  (!showImage || !hasImage) && UpcomingEventCard_module_default["event-card-show-image"]
1527
1543
  ),
1528
1544
  children: [
1529
1545
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: UpcomingEventCard_module_default.date, children: date }),
1530
- title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: clsx43__default.default("card-text-title"), children: title }),
1546
+ title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: clsx47__default.default("card-text-title"), children: title }),
1531
1547
  location && /* @__PURE__ */ jsxRuntime.jsx("span", { className: UpcomingEventCard_module_default.location, children: location }),
1532
- description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("card-text-description", UpcomingEventCard_module_default.description), children: description }),
1533
- cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("card-cta-wrapper", UpcomingEventCard_module_default["event-card-cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
1548
+ description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("card-text-description", UpcomingEventCard_module_default.description), children: description }),
1549
+ cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("card-cta-wrapper", UpcomingEventCard_module_default["event-card-cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
1534
1550
  Button,
1535
1551
  {
1536
1552
  variant: "secondary",
1537
- className: clsx43__default.default(
1553
+ className: clsx47__default.default(
1538
1554
  "card-cta",
1539
1555
  UpcomingEventCard_module_default["event-card-cta"],
1540
1556
  !hasCTAandImage && UpcomingEventCard_module_default.hidden
@@ -1553,12 +1569,12 @@ var UpcomingEventCard = ({
1553
1569
  cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx(
1554
1570
  "div",
1555
1571
  {
1556
- className: clsx43__default.default("card-footer", UpcomingEventCard_module_default["event-card-footer"], hasImage && UpcomingEventCard_module_default.hidden),
1572
+ className: clsx47__default.default("card-footer", UpcomingEventCard_module_default["event-card-footer"], hasImage && UpcomingEventCard_module_default.hidden),
1557
1573
  children: /* @__PURE__ */ jsxRuntime.jsx(
1558
1574
  Button,
1559
1575
  {
1560
1576
  variant: "secondary",
1561
- className: clsx43__default.default("card-cta", UpcomingEventCard_module_default["event-card-cta"]),
1577
+ className: clsx47__default.default("card-cta", UpcomingEventCard_module_default["event-card-cta"]),
1562
1578
  fullWidth: isBelowMobile,
1563
1579
  href: cta.url,
1564
1580
  icon: cta.icon,
@@ -1585,7 +1601,7 @@ var Badge_module_default = {
1585
1601
  icon: "Badge_module_icon",
1586
1602
  iconOnly: "Badge_module_iconOnly"
1587
1603
  };
1588
- var Badge = React69.forwardRef(
1604
+ var Badge = React70.forwardRef(
1589
1605
  (_a, ref) => {
1590
1606
  var _b = _a, {
1591
1607
  children,
@@ -1606,7 +1622,7 @@ var Badge = React69.forwardRef(
1606
1622
  "live",
1607
1623
  "clickable"
1608
1624
  ]);
1609
- const classes = clsx43__default.default(
1625
+ const classes = clsx47__default.default(
1610
1626
  Badge_module_default.badge,
1611
1627
  Badge_module_default[variant],
1612
1628
  Badge_module_default[size],
@@ -1617,7 +1633,7 @@ var Badge = React69.forwardRef(
1617
1633
  className
1618
1634
  );
1619
1635
  const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1620
- icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, __spreadValues({ className: clsx43__default.default("badge-icon", Badge_module_default["badge-icon"]) }, icon)),
1636
+ icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, __spreadValues({ className: clsx47__default.default("badge-icon", Badge_module_default["badge-icon"]) }, icon)),
1621
1637
  !iconOnly && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Badge_module_default.label, children })
1622
1638
  ] });
1623
1639
  if (clickable) {
@@ -1659,7 +1675,7 @@ var Input_module_default = {
1659
1675
  error: "Input_module_error",
1660
1676
  "input-field--error": "Input_module_input-field--error",
1661
1677
  "input-field--disabled": "Input_module_input-field--disabled"};
1662
- var Input = React69.forwardRef(
1678
+ var Input = React70.forwardRef(
1663
1679
  (_a, ref) => {
1664
1680
  var _b = _a, {
1665
1681
  id,
@@ -1690,7 +1706,7 @@ var Input = React69.forwardRef(
1690
1706
  "hideLabel",
1691
1707
  "type"
1692
1708
  ]);
1693
- const generatedId = React69.useId();
1709
+ const generatedId = React70.useId();
1694
1710
  const inputId = id || generatedId;
1695
1711
  const helperTextId = `${inputId}-helper`;
1696
1712
  const errorId = `${inputId}-error`;
@@ -1698,7 +1714,7 @@ var Input = React69.forwardRef(
1698
1714
  return /* @__PURE__ */ jsxRuntime.jsxs(
1699
1715
  "div",
1700
1716
  {
1701
- className: clsx43__default.default(
1717
+ className: clsx47__default.default(
1702
1718
  "input-field",
1703
1719
  Input_module_default["input-field"],
1704
1720
  {
@@ -1712,17 +1728,17 @@ var Input = React69.forwardRef(
1712
1728
  "label",
1713
1729
  {
1714
1730
  htmlFor: inputId,
1715
- className: clsx43__default.default("input-label", Input_module_default.label, {
1731
+ className: clsx47__default.default("input-label", Input_module_default.label, {
1716
1732
  ["sr-only"]: hideLabel
1717
1733
  }),
1718
1734
  children: [
1719
1735
  label,
1720
- required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx43__default.default("input-required", Input_module_default.required), "aria-hidden": "true", children: "*" })
1736
+ required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("input-required", Input_module_default.required), "aria-hidden": "true", children: "*" })
1721
1737
  ]
1722
1738
  }
1723
1739
  ),
1724
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("input-wrapper", Input_module_default.wrapper), children: [
1725
- startAdornment && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx43__default.default("input-adornment", Input_module_default.adornment), "aria-hidden": "true", children: startAdornment }),
1740
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("input-wrapper", Input_module_default.wrapper), children: [
1741
+ startAdornment && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("input-adornment", Input_module_default.adornment), "aria-hidden": "true", children: startAdornment }),
1726
1742
  /* @__PURE__ */ jsxRuntime.jsx(
1727
1743
  "input",
1728
1744
  __spreadValues({
@@ -1733,7 +1749,7 @@ var Input = React69.forwardRef(
1733
1749
  disabled,
1734
1750
  "aria-invalid": !!error,
1735
1751
  "aria-describedby": describedBy || void 0,
1736
- className: clsx43__default.default(
1752
+ className: clsx47__default.default(
1737
1753
  "input",
1738
1754
  Input_module_default.input,
1739
1755
  {
@@ -1744,11 +1760,11 @@ var Input = React69.forwardRef(
1744
1760
  )
1745
1761
  }, props)
1746
1762
  ),
1747
- endAdornment && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx43__default.default("input-adornment", Input_module_default.adornment), "aria-hidden": "true", children: endAdornment }),
1748
- endAction && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx43__default.default("input-end-action"), children: endAction })
1763
+ endAdornment && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("input-adornment", Input_module_default.adornment), "aria-hidden": "true", children: endAdornment }),
1764
+ endAction && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("input-end-action"), children: endAction })
1749
1765
  ] }),
1750
- helperText && !error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: helperTextId, className: clsx43__default.default("input-helper-text", Input_module_default["helper-text"]), children: helperText }),
1751
- error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: errorId, className: clsx43__default.default("input-error", Input_module_default.error), role: "alert", children: error })
1766
+ helperText && !error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: helperTextId, className: clsx47__default.default("input-helper-text", Input_module_default["helper-text"]), children: helperText }),
1767
+ error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: errorId, className: clsx47__default.default("input-error", Input_module_default.error), role: "alert", children: error })
1752
1768
  ]
1753
1769
  }
1754
1770
  );
@@ -1788,14 +1804,14 @@ var NewsCard = ({
1788
1804
  href: cta.url,
1789
1805
  target: cta.isExternal ? "_blank" : void 0,
1790
1806
  rel: cta.isExternal ? "noopener noreferrer" : void 0,
1791
- className: clsx43__default.default("news-card-link", NewsCard_module_default["news-card-link"]),
1807
+ className: clsx47__default.default("news-card-link", NewsCard_module_default["news-card-link"]),
1792
1808
  "aria-label": `${title}${cta.label ? ` \u2014 ${cta.label}` : ""}`
1793
1809
  } : null;
1794
1810
  const cardLink = linkProps ? renderLink ? renderLink(__spreadProps(__spreadValues({}, linkProps), { children: null })) : /* @__PURE__ */ jsxRuntime.jsx("a", __spreadValues({}, linkProps)) : null;
1795
1811
  return /* @__PURE__ */ jsxRuntime.jsxs(
1796
1812
  "article",
1797
1813
  {
1798
- className: clsx43__default.default(
1814
+ className: clsx47__default.default(
1799
1815
  "news-card",
1800
1816
  NewsCard_module_default["news-card"],
1801
1817
  NewsCard_module_default[`news-card--${direction}`],
@@ -1803,28 +1819,28 @@ var NewsCard = ({
1803
1819
  ),
1804
1820
  children: [
1805
1821
  cardLink,
1806
- image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx43__default.default("news-card-image", NewsCard_module_default["news-card-image"]) })),
1822
+ image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx47__default.default("news-card-image", NewsCard_module_default["news-card-image"]) })),
1807
1823
  /* @__PURE__ */ jsxRuntime.jsxs(
1808
1824
  "div",
1809
1825
  {
1810
- className: clsx43__default.default("news-card-content", NewsCard_module_default["news-card-content"]),
1826
+ className: clsx47__default.default("news-card-content", NewsCard_module_default["news-card-content"]),
1811
1827
  style: {
1812
1828
  "--no-image-padding": image && image.src ? 0 : "1rem"
1813
1829
  },
1814
1830
  children: [
1815
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("news-card-top-content", NewsCard_module_default["news-card-top-content"]), children: [
1816
- /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: clsx43__default.default("news-card-badge", NewsCard_module_default["news-card-badge"]), children: tag }),
1817
- /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date.value, className: clsx43__default.default("news-card-date", NewsCard_module_default["news-card-date"]), children: date.label })
1831
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("news-card-top-content", NewsCard_module_default["news-card-top-content"]), children: [
1832
+ /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: clsx47__default.default("news-card-badge", NewsCard_module_default["news-card-badge"]), children: tag }),
1833
+ /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date.value, className: clsx47__default.default("news-card-date", NewsCard_module_default["news-card-date"]), children: date.label })
1818
1834
  ] }),
1819
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("news-card-main-content", NewsCard_module_default["news-card-main-content"]), children: [
1820
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: clsx43__default.default("news-card-title", NewsCard_module_default["news-card-title"]), children: title }),
1821
- typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx43__default.default("news-card-description", NewsCard_module_default["news-card-description"]), children: description }) : description
1835
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("news-card-main-content", NewsCard_module_default["news-card-main-content"]), children: [
1836
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: clsx47__default.default("news-card-title", NewsCard_module_default["news-card-title"]), children: title }),
1837
+ typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx47__default.default("news-card-description", NewsCard_module_default["news-card-description"]), children: description }) : description
1822
1838
  ] }),
1823
- cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("news-card-cta-wrapper", NewsCard_module_default["news-card-cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
1839
+ cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("news-card-cta-wrapper", NewsCard_module_default["news-card-cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
1824
1840
  Button,
1825
1841
  {
1826
1842
  variant: "secondary",
1827
- className: clsx43__default.default("news-card-cta", NewsCard_module_default["news-card-cta"]),
1843
+ className: clsx47__default.default("news-card-cta", NewsCard_module_default["news-card-cta"]),
1828
1844
  href: cta.url,
1829
1845
  icon: cta.icon,
1830
1846
  isExternal: cta == null ? void 0 : cta.isExternal,
@@ -1855,13 +1871,278 @@ var BlogPostContent = ({ className, body, children }) => {
1855
1871
  body: BlogPostContentBody
1856
1872
  });
1857
1873
  const bodyNode = (_a = slots.body) != null ? _a : body;
1858
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("blog-post-content", BlogPostContent_module_default["blog-post-content"], className), children: bodyNode });
1874
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("blog-post-content", BlogPostContent_module_default["blog-post-content"], className), children: bodyNode });
1859
1875
  };
1860
1876
 
1861
1877
  // src/components/BlogPostContent/index.ts
1862
1878
  var BlogPostContent2 = Object.assign(BlogPostContent, {
1863
1879
  Body: BlogPostContentBody
1864
1880
  });
1881
+
1882
+ // src/components/Search/Search.module.scss
1883
+ var Search_module_default = {
1884
+ search: "Search_module_search",
1885
+ searchButton: "Search_module_searchButton",
1886
+ searchField: "Search_module_searchField",
1887
+ searchFieldLine: "Search_module_searchFieldLine",
1888
+ searchInput: "Search_module_searchInput",
1889
+ searchFieldPill: "Search_module_searchFieldPill",
1890
+ searchSubmit: "Search_module_searchSubmit"
1891
+ };
1892
+ var Search = ({
1893
+ placeholder = "Search",
1894
+ searchCta,
1895
+ onSearch,
1896
+ variant = "expandable",
1897
+ className
1898
+ }) => {
1899
+ const isPill = variant === "pill";
1900
+ const [isOpen, setIsOpen] = React70.useState(isPill);
1901
+ const [query, setQuery] = React70.useState("");
1902
+ const inputRef = React70.useRef(null);
1903
+ React70.useEffect(() => {
1904
+ var _a;
1905
+ if (isOpen && !isPill) (_a = inputRef.current) == null ? void 0 : _a.focus();
1906
+ }, [isOpen, isPill]);
1907
+ const submit = () => {
1908
+ const value = query.trim();
1909
+ if (!value) return;
1910
+ onSearch == null ? void 0 : onSearch(value);
1911
+ if (searchCta == null ? void 0 : searchCta.url) {
1912
+ const separator = searchCta.url.includes("?") ? "&" : "?";
1913
+ window.location.href = `${searchCta.url}${separator}q=${encodeURIComponent(value)}`;
1914
+ }
1915
+ };
1916
+ const handleKeyDown = (e) => {
1917
+ if (e.key === "Enter") {
1918
+ e.preventDefault();
1919
+ submit();
1920
+ } else if (e.key === "Escape" && !isPill) {
1921
+ setIsOpen(false);
1922
+ }
1923
+ };
1924
+ if (!isOpen) {
1925
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Search_module_default.search, className), children: /* @__PURE__ */ jsxRuntime.jsx(
1926
+ "button",
1927
+ {
1928
+ type: "button",
1929
+ className: Search_module_default.searchButton,
1930
+ "aria-label": (searchCta == null ? void 0 : searchCta.label) || "Search",
1931
+ "aria-expanded": false,
1932
+ onClick: () => setIsOpen(true),
1933
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search", size: 32, "aria-hidden": "true" })
1934
+ }
1935
+ ) });
1936
+ }
1937
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Search_module_default.search, className), children: /* @__PURE__ */ jsxRuntime.jsxs(
1938
+ "div",
1939
+ {
1940
+ className: clsx47__default.default(
1941
+ Search_module_default.searchField,
1942
+ isPill ? Search_module_default.searchFieldPill : Search_module_default.searchFieldLine
1943
+ ),
1944
+ children: [
1945
+ isPill && /* @__PURE__ */ jsxRuntime.jsx(
1946
+ "button",
1947
+ {
1948
+ type: "button",
1949
+ className: Search_module_default.searchSubmit,
1950
+ "aria-label": (searchCta == null ? void 0 : searchCta.label) || "Search",
1951
+ onClick: submit,
1952
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search", size: 24, "aria-hidden": "true" })
1953
+ }
1954
+ ),
1955
+ /* @__PURE__ */ jsxRuntime.jsx(
1956
+ "input",
1957
+ {
1958
+ ref: inputRef,
1959
+ type: "search",
1960
+ className: Search_module_default.searchInput,
1961
+ placeholder,
1962
+ value: query,
1963
+ "aria-label": placeholder,
1964
+ onChange: (e) => setQuery(e.target.value),
1965
+ onKeyDown: handleKeyDown,
1966
+ onBlur: () => !isPill && !query && setIsOpen(false)
1967
+ }
1968
+ ),
1969
+ !isPill ? /* @__PURE__ */ jsxRuntime.jsx(
1970
+ "button",
1971
+ {
1972
+ type: "button",
1973
+ className: Search_module_default.searchSubmit,
1974
+ "aria-label": (searchCta == null ? void 0 : searchCta.label) || "Search",
1975
+ onClick: submit,
1976
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search", size: 24, "aria-hidden": "true" })
1977
+ }
1978
+ ) : query && /* @__PURE__ */ jsxRuntime.jsx(
1979
+ "button",
1980
+ {
1981
+ type: "button",
1982
+ className: Search_module_default.searchSubmit,
1983
+ "aria-label": "Submit search",
1984
+ onClick: submit,
1985
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "rightBlack", size: 24, "aria-hidden": "true" })
1986
+ }
1987
+ )
1988
+ ]
1989
+ }
1990
+ ) });
1991
+ };
1992
+
1993
+ // src/components/UserMenu/UserMenu.module.scss
1994
+ var UserMenu_module_default = {
1995
+ userButton: "UserMenu_module_userButton",
1996
+ userMenuWrapper: "UserMenu_module_userMenuWrapper",
1997
+ fullWidth: "UserMenu_module_fullWidth",
1998
+ userChevron: "UserMenu_module_userChevron",
1999
+ userChevronOpen: "UserMenu_module_userChevronOpen",
2000
+ userMenu: "UserMenu_module_userMenu",
2001
+ userMenuUp: "UserMenu_module_userMenuUp",
2002
+ userMenuItem: "UserMenu_module_userMenuItem",
2003
+ userMenuItemDanger: "UserMenu_module_userMenuItemDanger",
2004
+ userAvatar: "UserMenu_module_userAvatar",
2005
+ userInner: "UserMenu_module_userInner",
2006
+ userLabel: "UserMenu_module_userLabel"
2007
+ };
2008
+ var UserMenu = ({ user, className, dropUp, fullWidth }) => {
2009
+ var _a, _b, _c;
2010
+ const [isOpen, setIsOpen] = React70.useState(false);
2011
+ const wrapperRef = React70.useRef(null);
2012
+ const closeTimer = React70.useRef(null);
2013
+ const hasMenu = !!((_a = user.menuItems) == null ? void 0 : _a.length);
2014
+ const openMenu = () => {
2015
+ if (closeTimer.current) clearTimeout(closeTimer.current);
2016
+ setIsOpen(true);
2017
+ };
2018
+ const scheduleClose = () => {
2019
+ if (closeTimer.current) clearTimeout(closeTimer.current);
2020
+ closeTimer.current = setTimeout(() => setIsOpen(false), 120);
2021
+ };
2022
+ const handleBlur = (e) => {
2023
+ var _a2;
2024
+ if (!((_a2 = wrapperRef.current) == null ? void 0 : _a2.contains(e.relatedTarget))) {
2025
+ setIsOpen(false);
2026
+ }
2027
+ };
2028
+ React70.useEffect(() => {
2029
+ return () => {
2030
+ if (closeTimer.current) clearTimeout(closeTimer.current);
2031
+ };
2032
+ }, []);
2033
+ React70.useEffect(() => {
2034
+ if (!isOpen) return;
2035
+ const handleKey = (e) => {
2036
+ if (e.key === "Escape") setIsOpen(false);
2037
+ };
2038
+ const handleOutside = (e) => {
2039
+ if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
2040
+ setIsOpen(false);
2041
+ }
2042
+ };
2043
+ document.addEventListener("keydown", handleKey);
2044
+ document.addEventListener("pointerdown", handleOutside);
2045
+ return () => {
2046
+ document.removeEventListener("keydown", handleKey);
2047
+ document.removeEventListener("pointerdown", handleOutside);
2048
+ };
2049
+ }, [isOpen]);
2050
+ const avatar = user.avatar ? /* @__PURE__ */ jsxRuntime.jsx(Picture, { className: UserMenu_module_default.userAvatar, src: user.avatar.src, alt: (_b = user.avatar.alt) != null ? _b : "" }) : /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "user", size: 24, className: UserMenu_module_default.userAvatar, "aria-hidden": "true" });
2051
+ if (!hasMenu) {
2052
+ const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2053
+ avatar,
2054
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: UserMenu_module_default.userInner, children: [
2055
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: UserMenu_module_default.userLabel, children: user.label }),
2056
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "downChevronBlack", size: 13, "aria-hidden": "true" })
2057
+ ] })
2058
+ ] });
2059
+ const rootClass = clsx47__default.default(UserMenu_module_default.userButton, fullWidth && UserMenu_module_default.fullWidth, className);
2060
+ return user.url ? /* @__PURE__ */ jsxRuntime.jsx(
2061
+ "a",
2062
+ {
2063
+ href: user.url,
2064
+ className: rootClass,
2065
+ target: user.isExternal ? "_blank" : void 0,
2066
+ rel: user.isExternal ? "noopener noreferrer" : void 0,
2067
+ children: content
2068
+ }
2069
+ ) : /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: rootClass, children: content });
2070
+ }
2071
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2072
+ "div",
2073
+ {
2074
+ className: clsx47__default.default(UserMenu_module_default.userMenuWrapper, fullWidth && UserMenu_module_default.fullWidth, className),
2075
+ ref: wrapperRef,
2076
+ onMouseLeave: scheduleClose,
2077
+ onBlur: handleBlur,
2078
+ children: [
2079
+ /* @__PURE__ */ jsxRuntime.jsxs(
2080
+ Button,
2081
+ {
2082
+ variant: "grey",
2083
+ type: "button",
2084
+ className: UserMenu_module_default.userButton,
2085
+ "aria-haspopup": "menu",
2086
+ "aria-expanded": isOpen,
2087
+ onMouseEnter: openMenu,
2088
+ onFocus: openMenu,
2089
+ onClick: () => setIsOpen((prev) => !prev),
2090
+ children: [
2091
+ avatar,
2092
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: UserMenu_module_default.userInner, children: [
2093
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: UserMenu_module_default.userLabel, children: user.label }),
2094
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(UserMenu_module_default.userChevron, isOpen && UserMenu_module_default.userChevronOpen), children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "downChevronBlack", size: 13, "aria-hidden": "true" }) })
2095
+ ] })
2096
+ ]
2097
+ }
2098
+ ),
2099
+ isOpen && /* @__PURE__ */ jsxRuntime.jsx(
2100
+ "div",
2101
+ {
2102
+ className: clsx47__default.default(UserMenu_module_default.userMenu, dropUp && UserMenu_module_default.userMenuUp),
2103
+ role: "menu",
2104
+ onMouseEnter: openMenu,
2105
+ onMouseLeave: scheduleClose,
2106
+ children: (_c = user.menuItems) == null ? void 0 : _c.map((item, i) => {
2107
+ const itemClass = clsx47__default.default(
2108
+ UserMenu_module_default.userMenuItem,
2109
+ item.variant === "danger" && UserMenu_module_default.userMenuItemDanger
2110
+ );
2111
+ const handleClick = () => {
2112
+ var _a2;
2113
+ (_a2 = item.onClick) == null ? void 0 : _a2.call(item);
2114
+ setIsOpen(false);
2115
+ };
2116
+ return item.url ? /* @__PURE__ */ jsxRuntime.jsx(
2117
+ "a",
2118
+ {
2119
+ href: item.url,
2120
+ role: "menuitem",
2121
+ className: itemClass,
2122
+ target: item.isExternal ? "_blank" : void 0,
2123
+ rel: item.isExternal ? "noopener noreferrer" : void 0,
2124
+ onClick: handleClick,
2125
+ children: item.label
2126
+ },
2127
+ i
2128
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
2129
+ "button",
2130
+ {
2131
+ type: "button",
2132
+ role: "menuitem",
2133
+ className: itemClass,
2134
+ onClick: handleClick,
2135
+ children: item.label
2136
+ },
2137
+ i
2138
+ );
2139
+ })
2140
+ }
2141
+ )
2142
+ ]
2143
+ }
2144
+ );
2145
+ };
1865
2146
  var CardCollectionTitle = ({ children }) => {
1866
2147
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
1867
2148
  };
@@ -1895,10 +2176,10 @@ var CardCollection = ({
1895
2176
  children
1896
2177
  }) => {
1897
2178
  var _a, _b;
1898
- const container = React69.useRef(null);
1899
- const revealWrapper = React69.useRef(null);
1900
- const extraCard = React69.useRef(null);
1901
- const [isExpanded, setIsExpanded] = React69.useState(false);
2179
+ const container = React70.useRef(null);
2180
+ const revealWrapper = React70.useRef(null);
2181
+ const extraCard = React70.useRef(null);
2182
+ const [isExpanded, setIsExpanded] = React70.useState(false);
1902
2183
  const slots = resolveCompoundSlots(children, {
1903
2184
  title: CardCollectionTitle,
1904
2185
  subtitle: CardCollectionSubtitle
@@ -1909,7 +2190,7 @@ var CardCollection = ({
1909
2190
  const visibleCards = isExamCard ? cards.slice(0, 8) : cards;
1910
2191
  const hiddenCards = isExamCard ? cards.slice(8) : [];
1911
2192
  const { contextSafe } = react.useGSAP({ scope: container });
1912
- const handleShowMore = React69.useCallback(() => {
2193
+ const handleShowMore = React70.useCallback(() => {
1913
2194
  contextSafe(() => {
1914
2195
  setIsExpanded(true);
1915
2196
  const tl = gsap__default.default.timeline({ defaults: { ease: "power3.inOut" } });
@@ -1941,13 +2222,13 @@ var CardCollection = ({
1941
2222
  Container,
1942
2223
  {
1943
2224
  ref: container,
1944
- className: clsx43__default.default(CardCollection_module_default["card-collection"], CardCollection_module_default[variant], className),
2225
+ className: clsx47__default.default(CardCollection_module_default["card-collection"], CardCollection_module_default[variant], className),
1945
2226
  children: [
1946
2227
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: CardCollection_module_default.content, children: [
1947
2228
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { children: titleNode }),
1948
2229
  subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "subheading", children: subtitleNode })
1949
2230
  ] }),
1950
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: CardCollection_module_default.wrapper, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default(CardCollection_module_default.cardWrapper, { [CardCollection_module_default["is-expanded"]]: isExpanded }), children: [
2231
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: CardCollection_module_default.wrapper, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default(CardCollection_module_default.cardWrapper, { [CardCollection_module_default["is-expanded"]]: isExpanded }), children: [
1951
2232
  visibleCards.map((card, key) => /* @__PURE__ */ jsxRuntime.jsx(Card2, __spreadValues({ className: CardCollection_module_default.card, variant: theme }, card), key)),
1952
2233
  isExamCard && hiddenCards.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { ref: revealWrapper, className: CardCollection_module_default["reveal-wrapper"], children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: CardCollection_module_default["reveal-inner"], children: hiddenCards.map((card, key) => /* @__PURE__ */ jsxRuntime.jsx(
1953
2234
  Card2,
@@ -2013,8 +2294,8 @@ var ContactModule = ({
2013
2294
  animateBlur = true
2014
2295
  }) => {
2015
2296
  var _a, _b;
2016
- const containerRef = React69.useRef(null);
2017
- const blurRef = React69.useRef(null);
2297
+ const containerRef = React70.useRef(null);
2298
+ const blurRef = React70.useRef(null);
2018
2299
  const slots = resolveCompoundSlots(children, {
2019
2300
  title: ContactModuleTitle,
2020
2301
  subtitle: ContactModuleSubtitle
@@ -2048,7 +2329,7 @@ var ContactModule = ({
2048
2329
  },
2049
2330
  { scope: containerRef, dependencies: [blurred, animateBlur] }
2050
2331
  );
2051
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: clsx43__default.default(ContactModule_module_default["contact-module"], className), children: [
2332
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: clsx47__default.default(ContactModule_module_default["contact-module"], className), children: [
2052
2333
  blurred && /* @__PURE__ */ jsxRuntime.jsx(
2053
2334
  "div",
2054
2335
  {
@@ -2063,8 +2344,8 @@ var ContactModule = ({
2063
2344
  /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: ContactModule_module_default.container, children: [
2064
2345
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ContactModule_module_default.wrapper, children: [
2065
2346
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ContactModule_module_default.content, children: [
2066
- titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(ContactModule_module_default.title, "h1"), children: titleNode }),
2067
- subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(ContactModule_module_default.subtitle, "subheading"), children: subtitleNode })
2347
+ titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(ContactModule_module_default.title, "h1"), children: titleNode }),
2348
+ subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(ContactModule_module_default.subtitle, "subheading"), children: subtitleNode })
2068
2349
  ] }),
2069
2350
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: ContactModule_module_default["cta-wrapper"], children: ctas == null ? void 0 : ctas.map((cta, key) => /* @__PURE__ */ jsxRuntime.jsx(
2070
2351
  Button,
@@ -2133,7 +2414,7 @@ var Footer = ({
2133
2414
  disclaimer: FooterDisclaimer
2134
2415
  });
2135
2416
  const titleNode = (_a = slots.disclaimer) != null ? _a : disclaimer;
2136
- return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: clsx43__default.default(Footer_module_default.footer, className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Footer_module_default.container, children: [
2417
+ return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: clsx47__default.default(Footer_module_default.footer, className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Footer_module_default.container, children: [
2137
2418
  supportContacts.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_module_default["support-section"], children: [
2138
2419
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: Footer_module_default["support-heading"], children: "SUPPORT" }),
2139
2420
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module_default.support, children: supportColumns.map((column, colIdx) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module_default["support-column"], children: column.map((group, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_module_default["support-group"], children: [
@@ -2162,7 +2443,7 @@ var Footer = ({
2162
2443
  index
2163
2444
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module_default["supporter-link-primary"], children: /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({}, supporter.image)) }, index)
2164
2445
  ) }) }),
2165
- titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(Footer_module_default.disclaimer, "p"), children: titleNode }),
2446
+ titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Footer_module_default.disclaimer, "p"), children: titleNode }),
2166
2447
  copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Footer_module_default.copyright, children: copyright })
2167
2448
  ] }),
2168
2449
  navigationLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("nav", { className: Footer_module_default["bottom-right"], children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Footer_module_default["nav-list"], children: navigationLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -2188,7 +2469,7 @@ var LogoBar_module_default = {
2188
2469
  };
2189
2470
  var LogoBar = ({ className, items }) => {
2190
2471
  if (!items || items.length === 0) return null;
2191
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(LogoBar_module_default.logoBar, className), children: items.map((item, key) => {
2472
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(LogoBar_module_default.logoBar, className), children: items.map((item, key) => {
2192
2473
  return /* @__PURE__ */ jsxRuntime.jsx(Anchor, { href: item.url, isExternal: item.isExternal, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: LogoBar_module_default.logoWrapper, children: [
2193
2474
  item.logo && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: LogoBar_module_default.logo }, item.logo)),
2194
2475
  item.hoverLogo && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: LogoBar_module_default.logoHover }, item.hoverLogo))
@@ -2260,7 +2541,7 @@ var HeroBanner = ({
2260
2541
  });
2261
2542
  const titleNode = (_a = slots.title) != null ? _a : title;
2262
2543
  const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
2263
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default(HeroBanner_module_default.heroBanner, HeroBanner_module_default[variant], className), children: [
2544
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default(HeroBanner_module_default.heroBanner, HeroBanner_module_default[variant], className), children: [
2264
2545
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBanner_module_default.container, children: [
2265
2546
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBanner_module_default.banner, children: [
2266
2547
  (titleNode || subtitleNode) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBanner_module_default.text, children: [
@@ -2270,7 +2551,7 @@ var HeroBanner = ({
2270
2551
  {
2271
2552
  tag: "h2",
2272
2553
  promoteToH1,
2273
- className: clsx43__default.default(HeroBanner_module_default.title, vBannerPodcast ? "h3" : "h1"),
2554
+ className: clsx47__default.default(HeroBanner_module_default.title, vBannerPodcast ? "h3" : "h1"),
2274
2555
  children: titleNode
2275
2556
  }
2276
2557
  ),
@@ -2279,7 +2560,7 @@ var HeroBanner = ({
2279
2560
  {
2280
2561
  tag: "div",
2281
2562
  promoteToH1: promoteToH1 && !titleNode,
2282
- className: clsx43__default.default(HeroBanner_module_default.subtitle, "subheading"),
2563
+ className: clsx47__default.default(HeroBanner_module_default.subtitle, "subheading"),
2283
2564
  children: subtitleNode
2284
2565
  }
2285
2566
  )
@@ -2353,10 +2634,10 @@ var HeroBannerCarousel = ({
2353
2634
  }) => {
2354
2635
  const { is } = useViewPort_default();
2355
2636
  const isMobile = is("tablet", "below");
2356
- const [swiperInstance, setSwiperInstance] = React69.useState(null);
2357
- const [activeIndex, setActiveIndex] = React69.useState(0);
2637
+ const [swiperInstance, setSwiperInstance] = React70.useState(null);
2638
+ const [activeIndex, setActiveIndex] = React70.useState(0);
2358
2639
  if (!items.length) return null;
2359
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(HeroBannerCarousel_module_default.heroBannerCarousel, className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBannerCarousel_module_default.inner, children: [
2640
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(HeroBannerCarousel_module_default.heroBannerCarousel, className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBannerCarousel_module_default.inner, children: [
2360
2641
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroBannerCarousel_module_default.swiperContainer, children: /* @__PURE__ */ jsxRuntime.jsx(
2361
2642
  react$1.Swiper,
2362
2643
  {
@@ -2403,7 +2684,7 @@ var HeroBannerCarousel = ({
2403
2684
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroBannerCarousel_module_default.pagination, children: items.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
2404
2685
  "button",
2405
2686
  {
2406
- className: clsx43__default.default(HeroBannerCarousel_module_default.dot, index === activeIndex && HeroBannerCarousel_module_default.dotActive),
2687
+ className: clsx47__default.default(HeroBannerCarousel_module_default.dot, index === activeIndex && HeroBannerCarousel_module_default.dotActive),
2407
2688
  onClick: () => swiperInstance == null ? void 0 : swiperInstance.slideTo(index),
2408
2689
  "aria-label": `Go to slide ${index + 1}`
2409
2690
  },
@@ -2443,16 +2724,16 @@ var AccordionItem = ({
2443
2724
  onToggle,
2444
2725
  className
2445
2726
  }) => {
2446
- const contentRef = React69.useRef(null);
2447
- const contentInnerRef = React69.useRef(null);
2448
- const timelineRef = React69.useRef(null);
2449
- const [contentHeight, setContentHeight] = React69.useState(0);
2450
- React69.useEffect(() => {
2727
+ const contentRef = React70.useRef(null);
2728
+ const contentInnerRef = React70.useRef(null);
2729
+ const timelineRef = React70.useRef(null);
2730
+ const [contentHeight, setContentHeight] = React70.useState(0);
2731
+ React70.useEffect(() => {
2451
2732
  if (contentInnerRef.current) {
2452
2733
  setContentHeight(contentInnerRef.current.scrollHeight);
2453
2734
  }
2454
2735
  }, [children]);
2455
- React69.useEffect(() => {
2736
+ React70.useEffect(() => {
2456
2737
  if (contentRef.current && contentHeight > 0) {
2457
2738
  if (timelineRef.current) {
2458
2739
  timelineRef.current.kill();
@@ -2483,7 +2764,7 @@ var AccordionItem = ({
2483
2764
  return /* @__PURE__ */ jsxRuntime.jsxs(
2484
2765
  "div",
2485
2766
  {
2486
- className: clsx43__default.default(
2767
+ className: clsx47__default.default(
2487
2768
  Accordion_module_default.accordionItem,
2488
2769
  {
2489
2770
  [Accordion_module_default.accordionItemOpen]: isOpen
@@ -2494,18 +2775,18 @@ var AccordionItem = ({
2494
2775
  /* @__PURE__ */ jsxRuntime.jsxs(
2495
2776
  "button",
2496
2777
  {
2497
- className: clsx43__default.default(Accordion_module_default.accordionHeader, {
2778
+ className: clsx47__default.default(Accordion_module_default.accordionHeader, {
2498
2779
  [Accordion_module_default.accordionHeaderOpen]: isOpen
2499
2780
  }),
2500
2781
  onClick: handleToggle,
2501
2782
  "aria-expanded": isOpen,
2502
2783
  "aria-label": `Toggle ${title}`,
2503
2784
  children: [
2504
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: Accordion_module_default.accordionHeaderLeft, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx43__default.default("body", Accordion_module_default.accordionTitle), children: title }) }),
2785
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: Accordion_module_default.accordionHeaderLeft, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("body", Accordion_module_default.accordionTitle), children: title }) }),
2505
2786
  /* @__PURE__ */ jsxRuntime.jsx(
2506
2787
  "span",
2507
2788
  {
2508
- className: clsx43__default.default(Accordion_module_default.accordionChevron, {
2789
+ className: clsx47__default.default(Accordion_module_default.accordionChevron, {
2509
2790
  [Accordion_module_default.accordionChevronOpen]: isOpen
2510
2791
  }),
2511
2792
  children: isOpen ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "filledChevronUpBlack", size: 40 }) : /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "circleChevronDown", size: 40 })
@@ -2537,7 +2818,7 @@ var Accordion = ({
2537
2818
  allowMultiple = false,
2538
2819
  onItemToggle
2539
2820
  }) => {
2540
- const [openIds, setOpenIds] = React69.useState(defaultOpenIds);
2821
+ const [openIds, setOpenIds] = React70.useState(defaultOpenIds);
2541
2822
  const handleToggle = (id) => {
2542
2823
  setOpenIds((prev) => {
2543
2824
  let newOpenIds;
@@ -2557,7 +2838,7 @@ var Accordion = ({
2557
2838
  if (items.length === 0) {
2558
2839
  return null;
2559
2840
  }
2560
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(Accordion_module_default.accordion, className), children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
2841
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Accordion_module_default.accordion, className), children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
2561
2842
  AccordionItem,
2562
2843
  {
2563
2844
  id: item.id,
@@ -2598,10 +2879,10 @@ var InternalBrandsTab_module_default = {
2598
2879
  var InternalBrandsTab = (props) => {
2599
2880
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A;
2600
2881
  const { title, subTitle, className, tabs } = props;
2601
- const [activeIndex, setActiveIndex] = React69.useState(0);
2882
+ const [activeIndex, setActiveIndex] = React70.useState(0);
2602
2883
  const { is } = useViewPort_default();
2603
2884
  const isTabletBelow = is("tablet", "below");
2604
- const accordionItems = React69.useMemo(() => {
2885
+ const accordionItems = React70.useMemo(() => {
2605
2886
  return (tabs == null ? void 0 : tabs.map((tab, index) => {
2606
2887
  var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2, _j2, _k2, _l2, _m2, _n2;
2607
2888
  return {
@@ -2647,7 +2928,7 @@ var InternalBrandsTab = (props) => {
2647
2928
  };
2648
2929
  })) || [];
2649
2930
  }, [tabs]);
2650
- return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx43__default.default(InternalBrandsTab_module_default.internalBrandsTab, className), children: [
2931
+ return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(InternalBrandsTab_module_default.internalBrandsTab, className), children: [
2651
2932
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: InternalBrandsTab_module_default.textsContainer, children: [
2652
2933
  title && /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", className: InternalBrandsTab_module_default.title, children: title }),
2653
2934
  subTitle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: InternalBrandsTab_module_default.subTitle, children: subTitle })
@@ -2663,7 +2944,7 @@ var InternalBrandsTab = (props) => {
2663
2944
  },
2664
2945
  index
2665
2946
  )) }),
2666
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(InternalBrandsTab_module_default.contentArea), children: ((_a = tabs == null ? void 0 : tabs[activeIndex]) == null ? void 0 : _a.topContent) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2947
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(InternalBrandsTab_module_default.contentArea), children: ((_a = tabs == null ? void 0 : tabs[activeIndex]) == null ? void 0 : _a.topContent) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2667
2948
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: InternalBrandsTab_module_default.topContent, children: [
2668
2949
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2669
2950
  ((_b = tabs[activeIndex].topContent) == null ? void 0 : _b.title) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: InternalBrandsTab_module_default.topContentTitle, children: (_c = tabs[activeIndex].topContent) == null ? void 0 : _c.title }),
@@ -2761,22 +3042,22 @@ var MiniBanner = ({
2761
3042
  const titleNode = (_b = slots.title) != null ? _b : title;
2762
3043
  const subtitleNode = (_c = slots.subtitle) != null ? _c : subtitle;
2763
3044
  const goBackNode = slots == null ? void 0 : slots.goBack;
2764
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default(MiniBanner_module_default.minibanner, MiniBanner_module_default[variant], className), children: [
3045
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default(MiniBanner_module_default.minibanner, MiniBanner_module_default[variant], className), children: [
2765
3046
  ((background == null ? void 0 : background.src) || ((_d = background == null ? void 0 : background.desktop) == null ? void 0 : _d.src) || ((_e = background == null ? void 0 : background.mobile) == null ? void 0 : _e.src)) && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: MiniBanner_module_default.background }, background)),
2766
- /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx43__default.default(goBackNode && MiniBanner_module_default.container), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniBanner_module_default.wrapper, children: [
3047
+ /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx47__default.default(goBackNode && MiniBanner_module_default.container), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniBanner_module_default.wrapper, children: [
2767
3048
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniBanner_module_default.textContainer, children: [
2768
3049
  (logo == null ? void 0 : logo.src) && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: MiniBanner_module_default.logo }, logo)),
2769
- pretitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(MiniBanner_module_default.pretitle, "small"), children: pretitleNode }),
3050
+ pretitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(MiniBanner_module_default.pretitle, "small"), children: pretitleNode }),
2770
3051
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniBanner_module_default.headingWrapper, children: [
2771
- goBackNode ? React69__default.default.cloneElement(goBackNode, {
2772
- className: clsx43__default.default("back-button", MiniBanner_module_default["back-button"])
3052
+ goBackNode ? React70__default.default.cloneElement(goBackNode, {
3053
+ className: clsx47__default.default("back-button", MiniBanner_module_default["back-button"])
2773
3054
  }) : null,
2774
- titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(MiniBanner_module_default.title, isMiniBannerTextLeft ? "h1" : "h4"), children: titleNode })
3055
+ titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(MiniBanner_module_default.title, isMiniBannerTextLeft ? "h1" : "h4"), children: titleNode })
2775
3056
  ] }),
2776
3057
  subtitleNode && /* @__PURE__ */ jsxRuntime.jsx(
2777
3058
  "div",
2778
3059
  {
2779
- className: clsx43__default.default(MiniBanner_module_default.title, {
3060
+ className: clsx47__default.default(MiniBanner_module_default.title, {
2780
3061
  subheading: isMiniBannerNoBG,
2781
3062
  h1: !isMiniBannerNoBG && !isMiniBannerTextLeft,
2782
3063
  h4: isMiniBannerTextLeft
@@ -2849,14 +3130,14 @@ var MiniSectionCta = ({
2849
3130
  return /* @__PURE__ */ jsxRuntime.jsx(
2850
3131
  "div",
2851
3132
  {
2852
- className: clsx43__default.default(MiniSectionCta_module_default.miniSectionCta, MiniSectionCta_module_default[variant], theme && MiniSectionCta_module_default[theme], className),
3133
+ className: clsx47__default.default(MiniSectionCta_module_default.miniSectionCta, MiniSectionCta_module_default[variant], theme && MiniSectionCta_module_default[theme], className),
2853
3134
  children: /* @__PURE__ */ jsxRuntime.jsx(Container, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniSectionCta_module_default.wrapper, children: [
2854
3135
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniSectionCta_module_default.col, children: [
2855
3136
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: variant === "BgColorBlack" || variant === "BgColorGrey" ? "h3" : "h2", children: titleNode }),
2856
3137
  subtitleNode && /* @__PURE__ */ jsxRuntime.jsx(
2857
3138
  "div",
2858
3139
  {
2859
- className: clsx43__default.default(MiniSectionCta_module_default.subtitle, variant === "infoCallout" ? "h4" : "subheading"),
3140
+ className: clsx47__default.default(MiniSectionCta_module_default.subtitle, variant === "infoCallout" ? "h4" : "subheading"),
2860
3141
  children: subtitleNode
2861
3142
  }
2862
3143
  )
@@ -2882,37 +3163,9 @@ var MiniSectionCta2 = Object.assign(MiniSectionCta, {
2882
3163
  Title: MiniSectionCtaTitle,
2883
3164
  Subtitle: MiniSectionCtaSubtitle
2884
3165
  });
2885
- function useIntersectionObserver({
2886
- animateOnce = false,
2887
- options = {}
2888
- } = {}) {
2889
- const observeRef = React69.useRef(null);
2890
- const [isVisible, setIsVisible] = React69.useState(false);
2891
- if (typeof IntersectionObserver === "undefined") {
2892
- console.warn("IntersectionObserver is not supported in this browser.");
2893
- return { observeRef, isVisible: true };
2894
- }
2895
- React69.useEffect(() => {
2896
- const currentRef = observeRef.current;
2897
- if (!currentRef) return;
2898
- const observer = new IntersectionObserver((entries) => {
2899
- const entry = entries[0];
2900
- if (!entry) return;
2901
- setIsVisible(entry.isIntersecting);
2902
- if (entry.isIntersecting && animateOnce) {
2903
- observer.disconnect();
2904
- }
2905
- }, options);
2906
- observer.observe(currentRef);
2907
- return () => {
2908
- observer.disconnect();
2909
- };
2910
- }, [observeRef, animateOnce, options]);
2911
- return { observeRef, isVisible };
2912
- }
2913
3166
  var useIsAtTop = () => {
2914
- const [isAtTop, setIsAtTop] = React69.useState(true);
2915
- React69.useEffect(() => {
3167
+ const [isAtTop, setIsAtTop] = React70.useState(true);
3168
+ React70.useEffect(() => {
2916
3169
  const handleScroll = () => setIsAtTop(window.scrollY === 0);
2917
3170
  window.addEventListener("scroll", handleScroll, { passive: true });
2918
3171
  return () => window.removeEventListener("scroll", handleScroll);
@@ -2922,32 +3175,18 @@ var useIsAtTop = () => {
2922
3175
 
2923
3176
  // src/widgets/Navigation/Navigation.module.scss
2924
3177
  var Navigation_module_default = {
2925
- dropdownTitle: "Navigation_module_dropdownTitle",
2926
- dropdownLink: "Navigation_module_dropdownLink",
2927
- dropdownDescription: "Navigation_module_dropdownDescription",
3178
+ internalDropdownTitle: "Navigation_module_internalDropdownTitle",
2928
3179
  mobileItemLink: "Navigation_module_mobileItemLink",
2929
3180
  mobileItemTrigger: "Navigation_module_mobileItemTrigger",
2930
3181
  mobileSubLink: "Navigation_module_mobileSubLink",
2931
- navigationWrapper: "Navigation_module_navigationWrapper",
2932
3182
  dropdownOpen: "Navigation_module_dropdownOpen",
2933
3183
  variantTransparent: "Navigation_module_variantTransparent",
2934
3184
  transparent: "Navigation_module_transparent",
2935
- navigation: "Navigation_module_navigation",
2936
- upperNav: "Navigation_module_upperNav",
2937
- mainLogo: "Navigation_module_mainLogo",
2938
- mainLogoLink: "Navigation_module_mainLogoLink",
3185
+ logo: "Navigation_module_logo",
2939
3186
  upperRight: "Navigation_module_upperRight",
2940
- lowerNav: "Navigation_module_lowerNav",
2941
- lowerNavItem: "Navigation_module_lowerNavItem",
2942
3187
  overlay: "Navigation_module_overlay",
2943
- dropdownTrigger: "Navigation_module_dropdownTrigger",
2944
- dropdownTriggerOpen: "Navigation_module_dropdownTriggerOpen",
2945
- dropdownPanel: "Navigation_module_dropdownPanel",
2946
- dropdownPanelOpen: "Navigation_module_dropdownPanelOpen",
2947
- dropdownInner: "Navigation_module_dropdownInner",
2948
- dropdownLinks: "Navigation_module_dropdownLinks",
2949
- dropdownLinkContainer: "Navigation_module_dropdownLinkContainer",
2950
- dropdownInfo: "Navigation_module_dropdownInfo",
3188
+ mainLogoLink: "Navigation_module_mainLogoLink",
3189
+ dropdownLinkSpacer: "Navigation_module_dropdownLinkSpacer",
2951
3190
  mainLogoMobile: "Navigation_module_mainLogoMobile",
2952
3191
  hamburgerButton: "Navigation_module_hamburgerButton",
2953
3192
  mobileMenu: "Navigation_module_mobileMenu",
@@ -2960,116 +3199,53 @@ var Navigation_module_default = {
2960
3199
  mobileSubItems: "Navigation_module_mobileSubItems",
2961
3200
  mobileSubItemsOpen: "Navigation_module_mobileSubItemsOpen",
2962
3201
  mobileSubItemsInner: "Navigation_module_mobileSubItemsInner",
2963
- mobileMenuCtas: "Navigation_module_mobileMenuCtas"
2964
- };
2965
- var NavigationDesktop = ({
2966
- navigationItems,
2967
- isTransparent,
2968
- onDropdownOpenChange
2969
- }) => {
2970
- var _a;
2971
- const [activeDropdown, setActiveDropdown] = React69.useState(null);
2972
- const closeTimer = React69.useRef(null);
2973
- const dropdownWrapperRefs = React69.useRef([]);
2974
- const baseId = React69.useId();
2975
- const setDropdown = (index) => {
2976
- setActiveDropdown(index);
2977
- onDropdownOpenChange == null ? void 0 : onDropdownOpenChange(index !== null);
2978
- };
2979
- const handleDropdownEnter = (index) => {
2980
- if (closeTimer.current) clearTimeout(closeTimer.current);
2981
- setDropdown(index);
2982
- };
2983
- const handleDropdownLeave = () => {
2984
- closeTimer.current = setTimeout(() => setDropdown(null), 100);
2985
- };
2986
- const handleDropdownBlur = (e, index) => {
2987
- if (!e.currentTarget.contains(e.relatedTarget)) {
2988
- if (activeDropdown === index) setDropdown(null);
2989
- }
2990
- };
2991
- const handleTriggerKeyDown = (e, index) => {
2992
- if (e.key === "Escape") {
2993
- setDropdown(null);
2994
- } else if ((e.key === "Enter" || e.key === " ") && activeDropdown !== index) {
2995
- e.preventDefault();
2996
- setDropdown(index);
2997
- }
2998
- };
2999
- const handleDropdownKeyDown = (e, index) => {
3000
- var _a2, _b;
3001
- if (e.key === "Escape") {
3002
- setDropdown(null);
3003
- (_b = (_a2 = dropdownWrapperRefs.current[index]) == null ? void 0 : _a2.querySelector("button")) == null ? void 0 : _b.focus();
3004
- }
3005
- };
3006
- if (!((_a = navigationItems == null ? void 0 : navigationItems.items) == null ? void 0 : _a.length)) return null;
3007
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.lowerNav, children: navigationItems.items.map((item, index) => {
3008
- var _a2, _b, _c;
3009
- const panelId = `${baseId}-panel-${index}`;
3010
- const isOpen = activeDropdown === index;
3011
- return item.type === "dropdown" ? /* @__PURE__ */ jsxRuntime.jsxs(
3012
- "li",
3013
- {
3014
- className: Navigation_module_default.lowerNavItem,
3015
- ref: (el) => {
3016
- dropdownWrapperRefs.current[index] = el;
3017
- },
3018
- onBlur: (e) => handleDropdownBlur(e, index),
3019
- children: [
3020
- /* @__PURE__ */ jsxRuntime.jsx(
3021
- Button,
3022
- {
3023
- variant: "navnofillblack",
3024
- className: clsx43__default.default(Navigation_module_default.dropdownTrigger, { [Navigation_module_default.dropdownTriggerOpen]: isOpen }),
3025
- icon: isTransparent ? "downChevronWhite" : "downChevronBlack",
3026
- isActive: isOpen,
3027
- "aria-expanded": isOpen,
3028
- "aria-haspopup": "true",
3029
- "aria-controls": panelId,
3030
- onMouseEnter: () => handleDropdownEnter(index),
3031
- onMouseLeave: handleDropdownLeave,
3032
- onClick: () => setDropdown(isOpen ? null : index),
3033
- onKeyDown: (e) => handleTriggerKeyDown(e, index),
3034
- children: item.title
3035
- }
3036
- ),
3037
- /* @__PURE__ */ jsxRuntime.jsx(
3038
- "div",
3039
- {
3040
- id: panelId,
3041
- className: clsx43__default.default(Navigation_module_default.dropdownPanel, { [Navigation_module_default.dropdownPanelOpen]: isOpen }),
3042
- "aria-hidden": !isOpen,
3043
- onMouseEnter: () => handleDropdownEnter(index),
3044
- onMouseLeave: handleDropdownLeave,
3045
- onKeyDown: (e) => handleDropdownKeyDown(e, index),
3046
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.dropdownInner, children: [
3047
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.dropdownLinks, children: item.items.map(
3048
- (subItem, i) => {
3049
- var _a3, _b2;
3050
- return subItem.type === "link" ? /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.dropdownLinkContainer, children: /* @__PURE__ */ jsxRuntime.jsx(
3051
- "a",
3052
- {
3053
- href: (_a3 = subItem.cta) == null ? void 0 : _a3.url,
3054
- className: Navigation_module_default.dropdownLink,
3055
- tabIndex: isOpen ? void 0 : -1,
3056
- children: (_b2 = subItem.cta) == null ? void 0 : _b2.label
3057
- }
3058
- ) }, i) : null;
3059
- }
3060
- ) }),
3061
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.dropdownInfo, children: [
3062
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: Navigation_module_default.dropdownTitle, children: item.title }),
3063
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: Navigation_module_default.dropdownDescription, children: item.description })
3064
- ] })
3065
- ] })
3066
- }
3067
- )
3068
- ]
3069
- },
3070
- index
3071
- ) : /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.lowerNavItem, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "navnofillblack", href: (_a2 = item.cta) == null ? void 0 : _a2.url, isExternal: (_b = item.cta) == null ? void 0 : _b.isExternal, children: (_c = item.cta) == null ? void 0 : _c.label }) }, index);
3072
- }) });
3202
+ mobileMenuCtas: "Navigation_module_mobileMenuCtas",
3203
+ Navigation: "Navigation_module_Navigation",
3204
+ mainBar: "Navigation_module_mainBar",
3205
+ navTabLink: "Navigation_module_navTabLink",
3206
+ inner: "Navigation_module_inner",
3207
+ topRow: "Navigation_module_topRow",
3208
+ logoLink: "Navigation_module_logoLink",
3209
+ logoMobile: "Navigation_module_logoMobile",
3210
+ hamburger: "Navigation_module_hamburger",
3211
+ bottomRow: "Navigation_module_bottomRow",
3212
+ navTabs: "Navigation_module_navTabs",
3213
+ navTab: "Navigation_module_navTab",
3214
+ navTabTrigger: "Navigation_module_navTabTrigger",
3215
+ navTabTriggerOpen: "Navigation_module_navTabTriggerOpen",
3216
+ navTabActive: "Navigation_module_navTabActive",
3217
+ internalDropdownPanel: "Navigation_module_internalDropdownPanel",
3218
+ internalDropdownInner: "Navigation_module_internalDropdownInner",
3219
+ internalDropdownLinks: "Navigation_module_internalDropdownLinks",
3220
+ dropdownLinkItem: "Navigation_module_dropdownLinkItem",
3221
+ internalDropdownLink: "Navigation_module_internalDropdownLink",
3222
+ dropdownDivider: "Navigation_module_dropdownDivider",
3223
+ internalDropdownInfo: "Navigation_module_internalDropdownInfo",
3224
+ internalDropdownDescription: "Navigation_module_internalDropdownDescription",
3225
+ brandBars: "Navigation_module_brandBars",
3226
+ brandBar: "Navigation_module_brandBar",
3227
+ brandBarsUnfolded: "Navigation_module_brandBarsUnfolded",
3228
+ brandLogo: "Navigation_module_brandLogo",
3229
+ lenscrafters: "Navigation_module_lenscrafters",
3230
+ forEyes: "Navigation_module_forEyes",
3231
+ optical: "Navigation_module_optical",
3232
+ pearleVision: "Navigation_module_pearleVision",
3233
+ internalMobileMenu: "Navigation_module_internalMobileMenu",
3234
+ internalMobileMenuOpen: "Navigation_module_internalMobileMenuOpen",
3235
+ mobileHeader: "Navigation_module_mobileHeader",
3236
+ mobileClose: "Navigation_module_mobileClose",
3237
+ mobileBrandBars: "Navigation_module_mobileBrandBars",
3238
+ mobileItems: "Navigation_module_mobileItems",
3239
+ internalMobileItem: "Navigation_module_internalMobileItem",
3240
+ internalMobileItemLink: "Navigation_module_internalMobileItemLink",
3241
+ internalMobileItemTrigger: "Navigation_module_internalMobileItemTrigger",
3242
+ internalMobileItemChevron: "Navigation_module_internalMobileItemChevron",
3243
+ internalMobileItemChevronOpen: "Navigation_module_internalMobileItemChevronOpen",
3244
+ internalMobileSubItems: "Navigation_module_internalMobileSubItems",
3245
+ internalMobileSubItemsOpen: "Navigation_module_internalMobileSubItemsOpen",
3246
+ internalMobileSubItemsInner: "Navigation_module_internalMobileSubItemsInner",
3247
+ internalMobileSubLink: "Navigation_module_internalMobileSubLink",
3248
+ mobileFooter: "Navigation_module_mobileFooter"
3073
3249
  };
3074
3250
  var NavigationLogo = ({
3075
3251
  mainLogo,
@@ -3095,63 +3271,355 @@ var NavigationCtas = ({
3095
3271
  (rightButton == null ? void 0 : rightButton.label) && /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", href: rightButton.url, isExternal: rightButton.isExternal, children: rightButton.label })
3096
3272
  ] });
3097
3273
  };
3274
+ var BRANDS = [
3275
+ { key: "lenscrafters", className: Navigation_module_default.lenscrafters, label: "LensCrafters" },
3276
+ { key: "forEyes", className: Navigation_module_default.forEyes, label: "For Eyes" },
3277
+ { key: "optical", className: Navigation_module_default.optical, label: "Target Optical" },
3278
+ { key: "pearleVision", className: Navigation_module_default.pearleVision, label: "Pearle Vision" }
3279
+ ];
3280
+ var NavigationBrandBars = ({
3281
+ brandLogos,
3282
+ unfolded = false,
3283
+ className
3284
+ }) => {
3285
+ const hasLogos = !!brandLogos;
3286
+ const isUnfolded = hasLogos && unfolded;
3287
+ return /* @__PURE__ */ jsxRuntime.jsx(
3288
+ "div",
3289
+ {
3290
+ className: clsx47__default.default(Navigation_module_default.brandBars, isUnfolded && Navigation_module_default.brandBarsUnfolded, className),
3291
+ "aria-hidden": "true",
3292
+ children: BRANDS.map((brand) => {
3293
+ var _a;
3294
+ const logo = brandLogos == null ? void 0 : brandLogos[brand.key];
3295
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, brand.className), children: logo && /* @__PURE__ */ jsxRuntime.jsx("img", { className: Navigation_module_default.brandLogo, src: logo.src, alt: (_a = logo.alt) != null ? _a : brand.label }) }, brand.key);
3296
+ })
3297
+ }
3298
+ );
3299
+ };
3300
+ var NavigationDesktop = ({
3301
+ navItems,
3302
+ openIndex,
3303
+ onOpen,
3304
+ onScheduleClose,
3305
+ baseId,
3306
+ isTransparent = false
3307
+ }) => {
3308
+ if (!(navItems == null ? void 0 : navItems.length)) return null;
3309
+ const handleTriggerKeyDown = (e, index) => {
3310
+ var _a;
3311
+ if (e.key === "Escape") {
3312
+ onOpen(null);
3313
+ } else if ((e.key === "Enter" || e.key === " ") && openIndex !== index) {
3314
+ e.preventDefault();
3315
+ onOpen(index);
3316
+ } else if (e.key === "Tab" && !e.shiftKey && openIndex === index) {
3317
+ const firstLink = (_a = document.getElementById(`${baseId}-panel-${index}`)) == null ? void 0 : _a.querySelector("a, button");
3318
+ if (firstLink) {
3319
+ e.preventDefault();
3320
+ firstLink.focus();
3321
+ }
3322
+ }
3323
+ };
3324
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.navTabs, children: navItems.map((item, index) => {
3325
+ var _a, _b, _c, _d;
3326
+ const isOpen = openIndex === index;
3327
+ if (item.type === "link") {
3328
+ return /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.navTab, children: /* @__PURE__ */ jsxRuntime.jsx(
3329
+ "a",
3330
+ {
3331
+ href: (_a = item.cta) == null ? void 0 : _a.url,
3332
+ className: clsx47__default.default(Navigation_module_default.navTabLink, item.isActive && Navigation_module_default.navTabActive),
3333
+ "aria-current": item.isActive ? "page" : void 0,
3334
+ target: ((_b = item.cta) == null ? void 0 : _b.isExternal) ? "_blank" : void 0,
3335
+ rel: ((_c = item.cta) == null ? void 0 : _c.isExternal) ? "noopener noreferrer" : void 0,
3336
+ onMouseEnter: () => onOpen(null),
3337
+ onFocus: () => onOpen(null),
3338
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: (_d = item.cta) == null ? void 0 : _d.label })
3339
+ }
3340
+ ) }, index);
3341
+ }
3342
+ return /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.navTab, children: /* @__PURE__ */ jsxRuntime.jsxs(
3343
+ "button",
3344
+ {
3345
+ type: "button",
3346
+ id: `${baseId}-trigger-${index}`,
3347
+ className: clsx47__default.default(
3348
+ Navigation_module_default.navTabLink,
3349
+ Navigation_module_default.navTabTrigger,
3350
+ (item.isActive || isOpen) && Navigation_module_default.navTabActive,
3351
+ isOpen && Navigation_module_default.navTabTriggerOpen
3352
+ ),
3353
+ "aria-expanded": isOpen,
3354
+ "aria-haspopup": "true",
3355
+ "aria-controls": `${baseId}-panel-${index}`,
3356
+ onMouseEnter: () => onOpen(index),
3357
+ onMouseLeave: onScheduleClose,
3358
+ onFocus: () => onOpen(index),
3359
+ onClick: () => onOpen(isOpen ? null : index),
3360
+ onKeyDown: (e) => handleTriggerKeyDown(e, index),
3361
+ children: [
3362
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.title }),
3363
+ /* @__PURE__ */ jsxRuntime.jsx(
3364
+ Icon,
3365
+ {
3366
+ type: isTransparent ? "downChevronWhite" : "downChevronBlack",
3367
+ size: 24,
3368
+ "aria-hidden": "true"
3369
+ }
3370
+ )
3371
+ ]
3372
+ }
3373
+ ) }, index);
3374
+ }) });
3375
+ };
3376
+ var NavigationDropdown = ({
3377
+ item,
3378
+ panelId,
3379
+ baseId,
3380
+ activeIndex,
3381
+ onClose,
3382
+ onMouseEnter,
3383
+ onMouseLeave
3384
+ }) => {
3385
+ if (item.type !== "dropdown") return null;
3386
+ const { title, description, items } = item;
3387
+ const links = items.filter((sub) => sub.type === "link");
3388
+ const handleLinkKeyDown = (e, isFirst, isLast) => {
3389
+ if (e.key !== "Tab") return;
3390
+ const trigger = document.getElementById(`${baseId}-trigger-${activeIndex}`);
3391
+ if (e.shiftKey && isFirst) {
3392
+ e.preventDefault();
3393
+ trigger == null ? void 0 : trigger.focus();
3394
+ } else if (!e.shiftKey && isLast) {
3395
+ const nav = trigger == null ? void 0 : trigger.closest("nav");
3396
+ const panel = document.getElementById(panelId);
3397
+ const focusables = nav ? Array.from(
3398
+ nav.querySelectorAll(
3399
+ 'a[href], button:not([disabled]), input:not([disabled]), select, textarea, [tabindex]:not([tabindex="-1"])'
3400
+ )
3401
+ ).filter((el) => !(panel == null ? void 0 : panel.contains(el))) : [];
3402
+ const next = trigger ? focusables[focusables.indexOf(trigger) + 1] : void 0;
3403
+ onClose();
3404
+ if (next) {
3405
+ e.preventDefault();
3406
+ next.focus();
3407
+ }
3408
+ }
3409
+ };
3410
+ return /* @__PURE__ */ jsxRuntime.jsx(
3411
+ "div",
3412
+ {
3413
+ id: panelId,
3414
+ className: clsx47__default.default(Navigation_module_default.internalDropdownPanel, Navigation_module_default.internalDropdownPanelOpen),
3415
+ onMouseEnter,
3416
+ onMouseLeave,
3417
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.internalDropdownInner, children: [
3418
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.internalDropdownLinks, children: links.map((sub, i) => {
3419
+ var _a, _b, _c, _d;
3420
+ return /* @__PURE__ */ jsxRuntime.jsx(
3421
+ "li",
3422
+ {
3423
+ className: clsx47__default.default(Navigation_module_default.dropdownLinkItem, {
3424
+ [Navigation_module_default.dropdownLinkSpacer]: sub.variant === "subMenuSpacer"
3425
+ }),
3426
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3427
+ "a",
3428
+ {
3429
+ href: (_a = sub.cta) == null ? void 0 : _a.url,
3430
+ className: Navigation_module_default.internalDropdownLink,
3431
+ target: ((_b = sub.cta) == null ? void 0 : _b.isExternal) ? "_blank" : void 0,
3432
+ rel: ((_c = sub.cta) == null ? void 0 : _c.isExternal) ? "noopener noreferrer" : void 0,
3433
+ onKeyDown: (e) => handleLinkKeyDown(e, i === 0, i === links.length - 1),
3434
+ children: (_d = sub.cta) == null ? void 0 : _d.label
3435
+ }
3436
+ )
3437
+ },
3438
+ i
3439
+ );
3440
+ }) }),
3441
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: Navigation_module_default.dropdownDivider, "aria-hidden": "true" }),
3442
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.internalDropdownInfo, children: [
3443
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: Navigation_module_default.internalDropdownTitle, children: title }),
3444
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Navigation_module_default.internalDropdownDescription, children: description })
3445
+ ] })
3446
+ ] })
3447
+ }
3448
+ );
3449
+ };
3098
3450
  var NavigationMobile = ({
3099
3451
  id,
3100
- navigationItems,
3452
+ navItems,
3101
3453
  mainLogo,
3454
+ logoAlt = "EssilorLuxottica Eye Care",
3102
3455
  homeCta,
3103
- loginCta,
3104
- rightButton,
3456
+ user,
3457
+ searchPlaceholder,
3458
+ searchCta,
3459
+ onSearch,
3105
3460
  isOpen,
3106
- onClose
3461
+ onClose,
3462
+ isExternal = false,
3463
+ loginCta,
3464
+ rightButton
3107
3465
  }) => {
3108
- var _a;
3109
- const [expanded, setExpanded] = React69.useState([]);
3110
- const baseId = React69.useId();
3466
+ const [expanded, setExpanded] = React70.useState([]);
3467
+ const baseId = React70.useId();
3111
3468
  const toggleExpanded = (index) => {
3112
3469
  setExpanded((prev) => prev.includes(index) ? prev.filter((i) => i !== index) : [...prev, index]);
3113
3470
  };
3471
+ const logo = mainLogo ? /* @__PURE__ */ jsxRuntime.jsx(Picture, { className: Navigation_module_default.logoMobile, src: mainLogo, alt: logoAlt }) : null;
3472
+ if (isExternal) {
3473
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3474
+ "div",
3475
+ {
3476
+ id,
3477
+ className: clsx47__default.default(Navigation_module_default.mobileMenu, isOpen && Navigation_module_default.mobileMenuOpen),
3478
+ role: "dialog",
3479
+ "aria-modal": "true",
3480
+ "aria-label": "Navigation menu",
3481
+ "aria-hidden": !isOpen,
3482
+ children: [
3483
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileMenuHeader, children: [
3484
+ /* @__PURE__ */ jsxRuntime.jsx(
3485
+ NavigationLogo,
3486
+ {
3487
+ mainLogo,
3488
+ homeCta,
3489
+ className: Navigation_module_default.mainLogoMobile,
3490
+ onClick: onClose
3491
+ }
3492
+ ),
3493
+ /* @__PURE__ */ jsxRuntime.jsx(
3494
+ Button,
3495
+ {
3496
+ type: "button",
3497
+ variant: "nofill",
3498
+ className: Navigation_module_default.hamburgerButton,
3499
+ onClick: onClose,
3500
+ "aria-label": "Close navigation menu",
3501
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "xBlack", size: 24, "aria-hidden": "true" })
3502
+ }
3503
+ )
3504
+ ] }),
3505
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileMenuItems, children: navItems == null ? void 0 : navItems.map((item, index) => {
3506
+ var _a, _b;
3507
+ const subMenuId = `${baseId}-submenu-${index}`;
3508
+ const isExpanded = expanded.includes(index);
3509
+ return item.type === "dropdown" ? /* @__PURE__ */ jsxRuntime.jsxs("li", { className: Navigation_module_default.mobileItem, children: [
3510
+ /* @__PURE__ */ jsxRuntime.jsxs(
3511
+ "button",
3512
+ {
3513
+ type: "button",
3514
+ className: Navigation_module_default.mobileItemTrigger,
3515
+ onClick: () => toggleExpanded(index),
3516
+ "aria-expanded": isExpanded,
3517
+ "aria-controls": subMenuId,
3518
+ children: [
3519
+ item.title,
3520
+ /* @__PURE__ */ jsxRuntime.jsx(
3521
+ "span",
3522
+ {
3523
+ className: clsx47__default.default(
3524
+ Navigation_module_default.mobileItemChevron,
3525
+ isExpanded && Navigation_module_default.mobileItemChevronOpen
3526
+ ),
3527
+ "aria-hidden": "true",
3528
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "downChevronBlack", size: 24 })
3529
+ }
3530
+ )
3531
+ ]
3532
+ }
3533
+ ),
3534
+ /* @__PURE__ */ jsxRuntime.jsx(
3535
+ "div",
3536
+ {
3537
+ id: subMenuId,
3538
+ className: clsx47__default.default(Navigation_module_default.mobileSubItems, isExpanded && Navigation_module_default.mobileSubItemsOpen),
3539
+ children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileSubItemsInner, children: item.items.map(
3540
+ (subItem, i) => {
3541
+ var _a2, _b2;
3542
+ return subItem.type === "link" ? /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3543
+ "a",
3544
+ {
3545
+ href: (_a2 = subItem.cta) == null ? void 0 : _a2.url,
3546
+ className: Navigation_module_default.mobileSubLink,
3547
+ onClick: onClose,
3548
+ children: (_b2 = subItem.cta) == null ? void 0 : _b2.label
3549
+ }
3550
+ ) }, i) : null;
3551
+ }
3552
+ ) })
3553
+ }
3554
+ )
3555
+ ] }, index) : /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: (_a = item.cta) == null ? void 0 : _a.url, className: Navigation_module_default.mobileItemLink, onClick: onClose, children: (_b = item.cta) == null ? void 0 : _b.label }) }, index);
3556
+ }) }),
3557
+ /* @__PURE__ */ jsxRuntime.jsx(
3558
+ NavigationCtas,
3559
+ {
3560
+ className: Navigation_module_default.mobileMenuCtas,
3561
+ loginCta,
3562
+ rightButton,
3563
+ loginVariant: "nofillblack"
3564
+ }
3565
+ )
3566
+ ]
3567
+ }
3568
+ );
3569
+ }
3114
3570
  return /* @__PURE__ */ jsxRuntime.jsxs(
3115
3571
  "div",
3116
3572
  {
3117
3573
  id,
3118
- className: clsx43__default.default(Navigation_module_default.mobileMenu, isOpen && Navigation_module_default.mobileMenuOpen),
3574
+ className: clsx47__default.default(Navigation_module_default.internalMobileMenu, isOpen && Navigation_module_default.internalMobileMenuOpen),
3119
3575
  role: "dialog",
3120
3576
  "aria-modal": "true",
3121
3577
  "aria-label": "Navigation menu",
3122
3578
  "aria-hidden": !isOpen,
3123
3579
  children: [
3124
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileMenuHeader, children: [
3125
- /* @__PURE__ */ jsxRuntime.jsx(
3126
- NavigationLogo,
3127
- {
3128
- mainLogo,
3129
- homeCta,
3130
- className: Navigation_module_default.mainLogoMobile,
3131
- onClick: onClose
3132
- }
3133
- ),
3580
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileHeader, children: [
3581
+ homeCta && logo ? /* @__PURE__ */ jsxRuntime.jsx("a", { href: homeCta, className: Navigation_module_default.logoLink, "aria-label": logoAlt, onClick: onClose, children: logo }) : logo,
3134
3582
  /* @__PURE__ */ jsxRuntime.jsx(
3135
- "button",
3583
+ Button,
3136
3584
  {
3585
+ variant: "ghost",
3137
3586
  type: "button",
3138
- className: Navigation_module_default.hamburgerButton,
3587
+ className: Navigation_module_default.mobileClose,
3139
3588
  onClick: onClose,
3140
3589
  "aria-label": "Close navigation menu",
3141
3590
  children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "xBlack", size: 24, "aria-hidden": "true" })
3142
3591
  }
3143
3592
  )
3144
3593
  ] }),
3145
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileMenuItems, children: (_a = navigationItems == null ? void 0 : navigationItems.items) == null ? void 0 : _a.map((item, index) => {
3146
- var _a2, _b;
3594
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileBrandBars, "aria-hidden": "true", children: [
3595
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.lenscrafters) }),
3596
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.forEyes) }),
3597
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.optical) }),
3598
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.pearleVision) })
3599
+ ] }),
3600
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileItems, children: navItems == null ? void 0 : navItems.map((item, index) => {
3601
+ var _a, _b, _c, _d;
3147
3602
  const subMenuId = `${baseId}-submenu-${index}`;
3148
3603
  const isExpanded = expanded.includes(index);
3149
- return item.type === "dropdown" ? /* @__PURE__ */ jsxRuntime.jsxs("li", { className: Navigation_module_default.mobileItem, children: [
3604
+ if (item.type === "link") {
3605
+ return /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.internalMobileItem, children: /* @__PURE__ */ jsxRuntime.jsx(
3606
+ "a",
3607
+ {
3608
+ href: (_a = item.cta) == null ? void 0 : _a.url,
3609
+ className: Navigation_module_default.internalMobileItemLink,
3610
+ target: ((_b = item.cta) == null ? void 0 : _b.isExternal) ? "_blank" : void 0,
3611
+ rel: ((_c = item.cta) == null ? void 0 : _c.isExternal) ? "noopener noreferrer" : void 0,
3612
+ onClick: onClose,
3613
+ children: (_d = item.cta) == null ? void 0 : _d.label
3614
+ }
3615
+ ) }, index);
3616
+ }
3617
+ return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: Navigation_module_default.internalMobileItem, children: [
3150
3618
  /* @__PURE__ */ jsxRuntime.jsxs(
3151
3619
  "button",
3152
3620
  {
3153
3621
  type: "button",
3154
- className: Navigation_module_default.mobileItemTrigger,
3622
+ className: Navigation_module_default.internalMobileItemTrigger,
3155
3623
  onClick: () => toggleExpanded(index),
3156
3624
  "aria-expanded": isExpanded,
3157
3625
  "aria-controls": subMenuId,
@@ -3160,9 +3628,9 @@ var NavigationMobile = ({
3160
3628
  /* @__PURE__ */ jsxRuntime.jsx(
3161
3629
  "span",
3162
3630
  {
3163
- className: clsx43__default.default(
3164
- Navigation_module_default.mobileItemChevron,
3165
- isExpanded && Navigation_module_default.mobileItemChevronOpen
3631
+ className: clsx47__default.default(
3632
+ Navigation_module_default.internalMobileItemChevron,
3633
+ isExpanded && Navigation_module_default.internalMobileItemChevronOpen
3166
3634
  ),
3167
3635
  "aria-hidden": "true",
3168
3636
  children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "downChevronBlack", size: 24 })
@@ -3175,129 +3643,273 @@ var NavigationMobile = ({
3175
3643
  "div",
3176
3644
  {
3177
3645
  id: subMenuId,
3178
- className: clsx43__default.default(Navigation_module_default.mobileSubItems, isExpanded && Navigation_module_default.mobileSubItemsOpen),
3179
- children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileSubItemsInner, children: item.items.map(
3180
- (subItem, i) => {
3181
- var _a3, _b2;
3182
- return subItem.type === "link" ? /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3646
+ className: clsx47__default.default(
3647
+ Navigation_module_default.internalMobileSubItems,
3648
+ isExpanded && Navigation_module_default.internalMobileSubItemsOpen
3649
+ ),
3650
+ children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.internalMobileSubItemsInner, children: item.items.map(
3651
+ (sub, i) => {
3652
+ var _a2, _b2, _c2, _d2;
3653
+ return sub.type === "link" ? /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3183
3654
  "a",
3184
3655
  {
3185
- href: (_a3 = subItem.cta) == null ? void 0 : _a3.url,
3186
- className: Navigation_module_default.mobileSubLink,
3656
+ href: (_a2 = sub.cta) == null ? void 0 : _a2.url,
3657
+ className: Navigation_module_default.internalMobileSubLink,
3658
+ target: ((_b2 = sub.cta) == null ? void 0 : _b2.isExternal) ? "_blank" : void 0,
3659
+ rel: ((_c2 = sub.cta) == null ? void 0 : _c2.isExternal) ? "noopener noreferrer" : void 0,
3187
3660
  onClick: onClose,
3188
- children: (_b2 = subItem.cta) == null ? void 0 : _b2.label
3661
+ children: (_d2 = sub.cta) == null ? void 0 : _d2.label
3189
3662
  }
3190
3663
  ) }, i) : null;
3191
3664
  }
3192
3665
  ) })
3193
3666
  }
3194
3667
  )
3195
- ] }, index) : /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: (_a2 = item.cta) == null ? void 0 : _a2.url, className: Navigation_module_default.mobileItemLink, onClick: onClose, children: (_b = item.cta) == null ? void 0 : _b.label }) }, index);
3668
+ ] }, index);
3196
3669
  }) }),
3197
- /* @__PURE__ */ jsxRuntime.jsx(
3198
- NavigationCtas,
3199
- {
3200
- className: Navigation_module_default.mobileMenuCtas,
3201
- loginCta,
3202
- rightButton,
3203
- loginVariant: "nofillblack"
3204
- }
3205
- )
3670
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileFooter, children: [
3671
+ /* @__PURE__ */ jsxRuntime.jsx(
3672
+ Search,
3673
+ {
3674
+ variant: "pill",
3675
+ placeholder: searchPlaceholder,
3676
+ searchCta,
3677
+ onSearch
3678
+ }
3679
+ ),
3680
+ user && /* @__PURE__ */ jsxRuntime.jsx(UserMenu, { user, dropUp: true, fullWidth: true })
3681
+ ] })
3206
3682
  ]
3207
3683
  }
3208
3684
  );
3209
3685
  };
3686
+ var FOCUSABLE_SELECTOR = 'a[href], button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])';
3687
+ var getFocusable = (root) => Array.from(root.querySelectorAll(FOCUSABLE_SELECTOR)).filter(
3688
+ (el) => el.tabIndex !== -1 && el.offsetParent !== null
3689
+ );
3210
3690
  var Navigation2 = (props) => {
3211
- const { className, variant, homeCta, loginCta, mainLogo, rightButton, navigationItems } = props;
3212
- const [isHovered, setIsHovered] = React69.useState(false);
3213
- const [hasOpenDropdown, setHasOpenDropdown] = React69.useState(false);
3214
- const [isMobileMenuOpen, setIsMobileMenuOpen] = React69.useState(false);
3691
+ var _a;
3692
+ const {
3693
+ className,
3694
+ variant,
3695
+ transparent,
3696
+ mainLogo,
3697
+ logoAlt = "EssilorLuxottica Eye Care",
3698
+ homeCta,
3699
+ loginCta,
3700
+ rightButton,
3701
+ navigationItems,
3702
+ user,
3703
+ searchPlaceholder = "Search resources",
3704
+ searchCta,
3705
+ onSearch,
3706
+ brandLogos
3707
+ } = props;
3708
+ const isExternal = variant !== "internal";
3709
+ const [isHovered, setIsHovered] = React70.useState(false);
3710
+ const [openIndex, setOpenIndex] = React70.useState(null);
3711
+ const [isMobileMenuOpen, setIsMobileMenuOpen] = React70.useState(false);
3712
+ const navRef = React70.useRef(null);
3713
+ const closeTimer = React70.useRef(null);
3215
3714
  const isAtTop = useIsAtTop();
3216
3715
  const { is } = useViewPort_default();
3217
- const mobileMenuId = React69.useId();
3716
+ const mobileMenuId = React70.useId();
3717
+ const baseId = React70.useId();
3218
3718
  const isTabletBelow = is("tablet", "below");
3219
- const isTransparent = variant === "transparent" && isAtTop && !isHovered && !hasOpenDropdown;
3220
- React69.useEffect(() => {
3719
+ const dropdownOpen = openIndex !== null && !isTabletBelow;
3720
+ const isTransparent = !!transparent && isAtTop && !isHovered && !dropdownOpen;
3721
+ const openItem = openIndex !== null ? (_a = navigationItems == null ? void 0 : navigationItems.items) == null ? void 0 : _a[openIndex] : void 0;
3722
+ const showLogoUnfolded = !!brandLogos && isAtTop && !dropdownOpen;
3723
+ const openDropdown = (index) => {
3724
+ if (closeTimer.current) clearTimeout(closeTimer.current);
3725
+ setOpenIndex(index);
3726
+ };
3727
+ const scheduleClose = () => {
3728
+ if (closeTimer.current) clearTimeout(closeTimer.current);
3729
+ closeTimer.current = setTimeout(() => setOpenIndex(null), 120);
3730
+ };
3731
+ const handleNavKeyDown = (e) => {
3732
+ if (e.key !== "Tab" || openIndex === null || !navRef.current) return;
3733
+ const nav = navRef.current;
3734
+ const panelId = `${baseId}-panel-${openIndex}`;
3735
+ const panel = nav.querySelector(`#${CSS.escape(panelId)}`);
3736
+ const trigger = nav.querySelector(`[aria-controls="${panelId}"]`);
3737
+ if (!panel || !trigger) return;
3738
+ const panelItems = getFocusable(panel);
3739
+ if (!panelItems.length) return;
3740
+ const first = panelItems[0];
3741
+ const last = panelItems[panelItems.length - 1];
3742
+ const active = document.activeElement;
3743
+ if (!e.shiftKey && active === trigger) {
3744
+ e.preventDefault();
3745
+ first.focus();
3746
+ return;
3747
+ }
3748
+ if (e.shiftKey && active === first) {
3749
+ e.preventDefault();
3750
+ trigger.focus();
3751
+ return;
3752
+ }
3753
+ if (!e.shiftKey && active === last) {
3754
+ const navItems = getFocusable(nav).filter((el) => !panel.contains(el));
3755
+ const idx = navItems.indexOf(trigger);
3756
+ const next = idx !== -1 ? navItems[idx + 1] : void 0;
3757
+ if (next) {
3758
+ e.preventDefault();
3759
+ next.focus();
3760
+ setOpenIndex(null);
3761
+ }
3762
+ }
3763
+ };
3764
+ React70.useEffect(() => {
3221
3765
  document.body.style.overflow = isMobileMenuOpen ? "hidden" : "";
3222
3766
  return () => {
3223
3767
  document.body.style.overflow = "";
3224
3768
  };
3225
3769
  }, [isMobileMenuOpen]);
3770
+ React70.useEffect(() => {
3771
+ if (!dropdownOpen) return;
3772
+ const handleKey = (e) => {
3773
+ if (e.key === "Escape") setOpenIndex(null);
3774
+ };
3775
+ const handleOutside = (e) => {
3776
+ if (navRef.current && !navRef.current.contains(e.target)) {
3777
+ setOpenIndex(null);
3778
+ }
3779
+ };
3780
+ document.addEventListener("keydown", handleKey);
3781
+ document.addEventListener("pointerdown", handleOutside);
3782
+ document.addEventListener("focusin", handleOutside);
3783
+ return () => {
3784
+ document.removeEventListener("keydown", handleKey);
3785
+ document.removeEventListener("pointerdown", handleOutside);
3786
+ document.removeEventListener("focusin", handleOutside);
3787
+ };
3788
+ }, [dropdownOpen]);
3789
+ const logo = mainLogo ? /* @__PURE__ */ jsxRuntime.jsx(
3790
+ Picture,
3791
+ {
3792
+ className: clsx47__default.default(Navigation_module_default.logo, isTabletBelow && Navigation_module_default.logoMobile),
3793
+ src: mainLogo,
3794
+ alt: logoAlt
3795
+ }
3796
+ ) : null;
3226
3797
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3227
- /* @__PURE__ */ jsxRuntime.jsx(
3228
- "div",
3798
+ /* @__PURE__ */ jsxRuntime.jsxs(
3799
+ "nav",
3229
3800
  {
3230
- className: clsx43__default.default(
3231
- Navigation_module_default.navigationWrapper,
3232
- variant === "transparent" && Navigation_module_default.variantTransparent,
3233
- isTransparent && Navigation_module_default.transparent,
3234
- hasOpenDropdown && !isTabletBelow && Navigation_module_default.dropdownOpen
3801
+ ref: navRef,
3802
+ className: clsx47__default.default(
3803
+ Navigation_module_default.Navigation,
3804
+ dropdownOpen && Navigation_module_default.dropdownOpen,
3805
+ // External-only transparent / hover treatment.
3806
+ isExternal && transparent && Navigation_module_default.variantTransparent,
3807
+ isExternal && isTransparent && Navigation_module_default.transparent,
3808
+ className
3235
3809
  ),
3236
- onMouseEnter: () => setIsHovered(true),
3237
- onMouseLeave: () => setIsHovered(false),
3238
- children: /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: clsx43__default.default(Navigation_module_default.navigation, className), "aria-label": "Main", children: [
3239
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.upperNav, children: [
3240
- /* @__PURE__ */ jsxRuntime.jsx(
3241
- NavigationLogo,
3242
- {
3243
- mainLogo,
3244
- homeCta,
3245
- className: clsx43__default.default(Navigation_module_default.mainLogo, isTabletBelow && Navigation_module_default.mainLogoMobile)
3246
- }
3247
- ),
3248
- isTabletBelow ? /* @__PURE__ */ jsxRuntime.jsx(
3249
- "button",
3250
- {
3251
- type: "button",
3252
- className: Navigation_module_default.hamburgerButton,
3253
- onClick: () => setIsMobileMenuOpen(true),
3254
- "aria-label": "Open navigation menu",
3255
- "aria-haspopup": "dialog",
3256
- "aria-expanded": isMobileMenuOpen,
3257
- "aria-controls": mobileMenuId,
3258
- children: /* @__PURE__ */ jsxRuntime.jsx(
3259
- Icon,
3260
- {
3261
- type: isTransparent ? "menuWhite" : "menuBlack",
3262
- size: 24,
3263
- "aria-hidden": "true"
3264
- }
3265
- )
3266
- }
3267
- ) : /* @__PURE__ */ jsxRuntime.jsx(
3268
- NavigationCtas,
3269
- {
3270
- className: Navigation_module_default.upperRight,
3271
- loginCta,
3272
- rightButton,
3273
- loginVariant: isTransparent ? "ghost" : "nofillblack"
3274
- }
3275
- )
3276
- ] }),
3277
- isTabletBelow ? /* @__PURE__ */ jsxRuntime.jsx(
3278
- NavigationMobile,
3279
- {
3280
- id: mobileMenuId,
3281
- navigationItems,
3282
- mainLogo,
3283
- homeCta,
3284
- loginCta,
3285
- rightButton,
3286
- isOpen: isMobileMenuOpen,
3287
- onClose: () => setIsMobileMenuOpen(false)
3288
- }
3289
- ) : /* @__PURE__ */ jsxRuntime.jsx(
3290
- NavigationDesktop,
3810
+ "aria-label": "Main",
3811
+ onKeyDown: handleNavKeyDown,
3812
+ onMouseEnter: isExternal ? () => setIsHovered(true) : void 0,
3813
+ onMouseLeave: isExternal ? () => setIsHovered(false) : scheduleClose,
3814
+ children: [
3815
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: Navigation_module_default.mainBar, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.inner, children: [
3816
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.topRow, children: [
3817
+ homeCta && logo ? /* @__PURE__ */ jsxRuntime.jsx(
3818
+ NavigationLogo,
3819
+ {
3820
+ mainLogo,
3821
+ homeCta,
3822
+ className: clsx47__default.default(Navigation_module_default.logo, isTabletBelow && Navigation_module_default.logoMobile)
3823
+ }
3824
+ ) : logo,
3825
+ isTabletBelow ? /* @__PURE__ */ jsxRuntime.jsx(
3826
+ Button,
3827
+ {
3828
+ variant: "nofill",
3829
+ type: "button",
3830
+ className: isExternal ? Navigation_module_default.hamburgerButton : Navigation_module_default.hamburger,
3831
+ onClick: () => setIsMobileMenuOpen(true),
3832
+ "aria-label": "Open navigation menu",
3833
+ "aria-haspopup": "dialog",
3834
+ "aria-expanded": isMobileMenuOpen,
3835
+ "aria-controls": mobileMenuId,
3836
+ children: /* @__PURE__ */ jsxRuntime.jsx(
3837
+ Icon,
3838
+ {
3839
+ type: isExternal && isTransparent ? "menuWhite" : "menuBlack",
3840
+ size: 24,
3841
+ "aria-hidden": "true"
3842
+ }
3843
+ )
3844
+ }
3845
+ ) : isExternal ? /* @__PURE__ */ jsxRuntime.jsx(
3846
+ NavigationCtas,
3847
+ {
3848
+ className: Navigation_module_default.upperRight,
3849
+ loginCta,
3850
+ rightButton,
3851
+ loginVariant: isTransparent ? "ghost" : "nofillblack"
3852
+ }
3853
+ ) : user && /* @__PURE__ */ jsxRuntime.jsx(UserMenu, { user })
3854
+ ] }),
3855
+ !isTabletBelow && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.bottomRow, children: [
3856
+ /* @__PURE__ */ jsxRuntime.jsx(
3857
+ NavigationDesktop,
3858
+ {
3859
+ navItems: navigationItems == null ? void 0 : navigationItems.items,
3860
+ openIndex,
3861
+ onOpen: openDropdown,
3862
+ onScheduleClose: scheduleClose,
3863
+ baseId,
3864
+ isTransparent
3865
+ }
3866
+ ),
3867
+ !isExternal && /* @__PURE__ */ jsxRuntime.jsx(
3868
+ Search,
3869
+ {
3870
+ placeholder: searchPlaceholder,
3871
+ searchCta,
3872
+ onSearch
3873
+ }
3874
+ )
3875
+ ] })
3876
+ ] }) }),
3877
+ !isExternal && /* @__PURE__ */ jsxRuntime.jsx(NavigationBrandBars, { brandLogos, unfolded: showLogoUnfolded }),
3878
+ dropdownOpen && (openItem == null ? void 0 : openItem.type) === "dropdown" && /* @__PURE__ */ jsxRuntime.jsx(
3879
+ NavigationDropdown,
3291
3880
  {
3292
- navigationItems,
3293
- isTransparent,
3294
- onDropdownOpenChange: setHasOpenDropdown
3881
+ item: openItem,
3882
+ panelId: `${baseId}-panel-${openIndex}`,
3883
+ baseId,
3884
+ activeIndex: openIndex,
3885
+ onClose: () => setOpenIndex(null),
3886
+ onMouseEnter: () => openDropdown(openIndex),
3887
+ onMouseLeave: scheduleClose
3295
3888
  }
3296
3889
  )
3297
- ] })
3890
+ ]
3298
3891
  }
3299
3892
  ),
3300
- hasOpenDropdown && !isTabletBelow && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Navigation_module_default.overlay, "aria-hidden": "true" })
3893
+ dropdownOpen && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Navigation_module_default.overlay, "aria-hidden": "true" }),
3894
+ isTabletBelow && /* @__PURE__ */ jsxRuntime.jsx(
3895
+ NavigationMobile,
3896
+ {
3897
+ id: mobileMenuId,
3898
+ navItems: navigationItems == null ? void 0 : navigationItems.items,
3899
+ mainLogo,
3900
+ logoAlt,
3901
+ homeCta,
3902
+ user,
3903
+ searchPlaceholder,
3904
+ searchCta,
3905
+ onSearch,
3906
+ isOpen: isMobileMenuOpen,
3907
+ onClose: () => setIsMobileMenuOpen(false),
3908
+ isExternal,
3909
+ loginCta,
3910
+ rightButton
3911
+ }
3912
+ )
3301
3913
  ] });
3302
3914
  };
3303
3915
  var PracticePathCardsFooter = ({ children }) => {
@@ -3339,7 +3951,7 @@ var PracticePathCards = ({
3339
3951
  const titleNode = (_a = slots.title) != null ? _a : title;
3340
3952
  const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
3341
3953
  const footerNode = (_c = slots.footer) != null ? _c : footer;
3342
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(PracticePathCards_module_default["practice-path-cards"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: PracticePathCards_module_default.container, children: [
3954
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(PracticePathCards_module_default["practice-path-cards"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: PracticePathCards_module_default.container, children: [
3343
3955
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticePathCards_module_default.wrapper, children: [
3344
3956
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticePathCards_module_default.content, children: [
3345
3957
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { children: titleNode }),
@@ -3393,8 +4005,8 @@ var Teaser5050With3Text = ({
3393
4005
  title: Teaser5050With3TextTitle
3394
4006
  });
3395
4007
  const titleNode = (_a = slots.title) != null ? _a : title;
3396
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(Teaser5050With3Text_module_default["teaser5050-3text"], Teaser5050With3Text_module_default[variant], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050With3Text_module_default.container, children: [
3397
- titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(Teaser5050With3Text_module_default.title, "h3"), children: titleNode }),
4008
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Teaser5050With3Text_module_default["teaser5050-3text"], Teaser5050With3Text_module_default[variant], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050With3Text_module_default.container, children: [
4009
+ titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Teaser5050With3Text_module_default.title, "h3"), children: titleNode }),
3398
4010
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050With3Text_module_default.content, children: [
3399
4011
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: Teaser5050With3Text_module_default.cards, children: cards == null ? void 0 : cards.map((card, key) => /* @__PURE__ */ jsxRuntime.jsx(InfoCard2, __spreadValues({}, card), key)) }),
3400
4012
  image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: Teaser5050With3Text_module_default.image }, image))
@@ -3444,12 +4056,12 @@ var Teaser5050WithCta = ({
3444
4056
  return /* @__PURE__ */ jsxRuntime.jsx(
3445
4057
  "div",
3446
4058
  {
3447
- className: clsx43__default.default(Teaser5050WithCta_module_default.teaser5050, Teaser5050WithCta_module_default[variant], className),
4059
+ className: clsx47__default.default(Teaser5050WithCta_module_default.teaser5050, Teaser5050WithCta_module_default[variant], className),
3448
4060
  style: { backgroundColor: bgColor ? bgColor : "#ffffff" },
3449
4061
  children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050WithCta_module_default.container, children: [
3450
4062
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.wrapper, children: [
3451
4063
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.content, children: [
3452
- titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(Teaser5050WithCta_module_default.title, "h3"), children: titleNode }),
4064
+ titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Teaser5050WithCta_module_default.title, "h3"), children: titleNode }),
3453
4065
  subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "subheading", children: subtitleNode })
3454
4066
  ] }),
3455
4067
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: Teaser5050WithCta_module_default.ctaWrapper, children: ctas.map((cta, key) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -3501,7 +4113,7 @@ var Carousel = (_a) => {
3501
4113
  },
3502
4114
  role: "region",
3503
4115
  "aria-label": ariaLabel,
3504
- className: clsx43__default.default(Carousel_module_default.carousel, className),
4116
+ className: clsx47__default.default(Carousel_module_default.carousel, className),
3505
4117
  spaceBetween: 0,
3506
4118
  slidesPerView: "auto",
3507
4119
  modules: [modules.FreeMode, modules.A11y],
@@ -3511,7 +4123,7 @@ var Carousel = (_a) => {
3511
4123
  children: slides.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsx(
3512
4124
  react$1.SwiperSlide,
3513
4125
  {
3514
- className: clsx43__default.default(Carousel_module_default["carousel-item"], props.slideClass),
4126
+ className: clsx47__default.default(Carousel_module_default["carousel-item"], props.slideClass),
3515
4127
  children: slide
3516
4128
  },
3517
4129
  index
@@ -3568,13 +4180,13 @@ var EventList = ({
3568
4180
  return /* @__PURE__ */ jsxRuntime.jsx(
3569
4181
  "div",
3570
4182
  {
3571
- className: clsx43__default.default("event-list-module", EventList_module_default["event-list-module"], className),
4183
+ className: clsx47__default.default("event-list-module", EventList_module_default["event-list-module"], className),
3572
4184
  style: {
3573
4185
  backgroundColor
3574
4186
  },
3575
- children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx43__default.default(EventList_module_default["event-list-container"]), children: [
4187
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(EventList_module_default["event-list-container"]), children: [
3576
4188
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: EventList_module_default["event-list-header-container"], children: [
3577
- titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx43__default.default(EventList_module_default["event-list-title"]), children: titleNode }),
4189
+ titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx47__default.default(EventList_module_default["event-list-title"]), children: titleNode }),
3578
4190
  cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx(
3579
4191
  Button,
3580
4192
  {
@@ -3592,7 +4204,7 @@ var EventList = ({
3592
4204
  Carousel,
3593
4205
  {
3594
4206
  "aria-label": "Upcoming events",
3595
- wrapperClass: clsx43__default.default(EventList_module_default["carousel-wrapper"], EventList_module_default[variant]),
4207
+ wrapperClass: clsx47__default.default(EventList_module_default["carousel-wrapper"], EventList_module_default[variant]),
3596
4208
  slideClass: EventList_module_default["carousel-list-item"],
3597
4209
  spaceBetween: 16,
3598
4210
  slides: items.map((item) => {
@@ -3600,7 +4212,7 @@ var EventList = ({
3600
4212
  return /* @__PURE__ */ jsxRuntime.jsx(
3601
4213
  UpcomingEventCard,
3602
4214
  __spreadValues({
3603
- className: clsx43__default.default(EventList_module_default["event-card"]),
4215
+ className: clsx47__default.default(EventList_module_default["event-card"]),
3604
4216
  direction: "vertical",
3605
4217
  showImage: false
3606
4218
  }, item),
@@ -3613,7 +4225,7 @@ var EventList = ({
3613
4225
  "ul",
3614
4226
  {
3615
4227
  "aria-label": "Upcoming events",
3616
- className: clsx43__default.default(
4228
+ className: clsx47__default.default(
3617
4229
  EventList_module_default["event-list-wrapper"],
3618
4230
  EventList_module_default["horizontal"],
3619
4231
  EventList_module_default[variant]
@@ -3623,11 +4235,11 @@ var EventList = ({
3623
4235
  return /* @__PURE__ */ jsxRuntime.jsx(
3624
4236
  "li",
3625
4237
  {
3626
- className: clsx43__default.default(EventList_module_default["card-list-item"]),
4238
+ className: clsx47__default.default(EventList_module_default["card-list-item"]),
3627
4239
  children: /* @__PURE__ */ jsxRuntime.jsx(
3628
4240
  UpcomingEventCard,
3629
4241
  __spreadProps(__spreadValues({}, item), {
3630
- className: clsx43__default.default(EventList_module_default["card-item"]),
4242
+ className: clsx47__default.default(EventList_module_default["card-item"]),
3631
4243
  showImage: false,
3632
4244
  direction: "vertical"
3633
4245
  })
@@ -3642,7 +4254,7 @@ var EventList = ({
3642
4254
  "ul",
3643
4255
  {
3644
4256
  "aria-label": "Upcoming events",
3645
- className: clsx43__default.default(EventList_module_default["event-list-wrapper"], EventList_module_default[listDirection]),
4257
+ className: clsx47__default.default(EventList_module_default["event-list-wrapper"], EventList_module_default[listDirection]),
3646
4258
  children: items == null ? void 0 : items.map((item, index) => {
3647
4259
  var _a2, _b, _c;
3648
4260
  return /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(UpcomingEventCard, __spreadProps(__spreadValues({}, item), { direction: cardDirection })) }, (_c = (_b = (_a2 = item.title) != null ? _a2 : item.date) != null ? _b : item.location) != null ? _c : index);
@@ -3650,8 +4262,8 @@ var EventList = ({
3650
4262
  }
3651
4263
  )
3652
4264
  ] }),
3653
- !isNotEmpty && emptyNode ? React69__default.default.cloneElement(emptyNode, {
3654
- className: clsx43__default.default("empty-search-result", EventList_module_default["empty-search-result"])
4265
+ !isNotEmpty && emptyNode ? React70__default.default.cloneElement(emptyNode, {
4266
+ className: clsx47__default.default("empty-search-result", EventList_module_default["empty-search-result"])
3655
4267
  }) : null
3656
4268
  ] })
3657
4269
  }
@@ -3695,9 +4307,9 @@ var TextEvent = (props) => {
3695
4307
  });
3696
4308
  const titleNode = (_a = slots.title) != null ? _a : title;
3697
4309
  const richTextNode = (_b = slots.richText) != null ? _b : richText;
3698
- return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx43__default.default(TextEvent_module_default.textEvent, className), children: [
4310
+ return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(TextEvent_module_default.textEvent, className), children: [
3699
4311
  /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", className: TextEvent_module_default.title, children: titleNode }),
3700
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(TextEvent_module_default.richText, TextEvent_module_default[variant != null ? variant : ""]), children: richTextNode })
4312
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(TextEvent_module_default.richText, TextEvent_module_default[variant != null ? variant : ""]), children: richTextNode })
3701
4313
  ] });
3702
4314
  };
3703
4315
 
@@ -3728,7 +4340,7 @@ var TextBody = (props) => {
3728
4340
  });
3729
4341
  const titleNode = (_a = slots.title) != null ? _a : title;
3730
4342
  const bodyNode = (_b = slots.body) != null ? _b : body;
3731
- return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx43__default.default(TextBody_module_default.textBody, className), children: [
4343
+ return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(TextBody_module_default.textBody, className), children: [
3732
4344
  titleNode && /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", className: TextBody_module_default.title, children: titleNode }),
3733
4345
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: TextBody_module_default.body, children: bodyNode })
3734
4346
  ] });
@@ -3771,7 +4383,7 @@ var TextCenterCtaInBottom = ({
3771
4383
  });
3772
4384
  const titleNode = (_a = slots.title) != null ? _a : title;
3773
4385
  const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
3774
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(TextCenterCtaInBottom_module_default.textCenterCta, className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: TextCenterCtaInBottom_module_default.container, children: [
4386
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(TextCenterCtaInBottom_module_default.textCenterCta, className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: TextCenterCtaInBottom_module_default.container, children: [
3775
4387
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TextCenterCtaInBottom_module_default.content, children: [
3776
4388
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterCtaInBottom_module_default.title, children: titleNode }),
3777
4389
  subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterCtaInBottom_module_default.subtitle, children: subtitleNode })
@@ -3779,7 +4391,7 @@ var TextCenterCtaInBottom = ({
3779
4391
  !!(ctas == null ? void 0 : ctas.length) && /* @__PURE__ */ jsxRuntime.jsx(
3780
4392
  "div",
3781
4393
  {
3782
- className: clsx43__default.default(
4394
+ className: clsx47__default.default(
3783
4395
  TextCenterCtaInBottom_module_default.ctaWrapper,
3784
4396
  ctas.every((cta) => !cta.label && cta.logo) && TextCenterCtaInBottom_module_default.iconOnly
3785
4397
  ),
@@ -3833,17 +4445,17 @@ var ResourcesGridList = ({
3833
4445
  defaultSort = "latest"
3834
4446
  }) => {
3835
4447
  var _a;
3836
- const [view, setView] = React69.useState(defaultView);
3837
- const [isSidebarOpen, setIsSidebarOpen] = React69.useState(false);
3838
- const [filterValue, setFilterValue] = React69.useState(defaultFilter);
3839
- const [sortValue, setSortValue] = React69.useState(defaultSort);
3840
- const [searchQuery, setSearchQuery] = React69.useState("");
3841
- const [currentPage, setCurrentPage] = React69.useState(1);
3842
- const [selectedCategory, setSelectedCategory] = React69.useState(() => {
4448
+ const [view, setView] = React70.useState(defaultView);
4449
+ const [isSidebarOpen, setIsSidebarOpen] = React70.useState(false);
4450
+ const [filterValue, setFilterValue] = React70.useState(defaultFilter);
4451
+ const [sortValue, setSortValue] = React70.useState(defaultSort);
4452
+ const [searchQuery, setSearchQuery] = React70.useState("");
4453
+ const [currentPage, setCurrentPage] = React70.useState(1);
4454
+ const [selectedCategory, setSelectedCategory] = React70.useState(() => {
3843
4455
  const activeIndex = categories.findIndex((cat) => cat.active);
3844
4456
  return activeIndex === -1 ? 0 : activeIndex;
3845
4457
  });
3846
- const widgetRef = React69.useRef(null);
4458
+ const widgetRef = React70.useRef(null);
3847
4459
  const { is } = useViewPort_default();
3848
4460
  const isMobile = is("tablet", "below");
3849
4461
  const selectedValue = (_a = categories[selectedCategory]) == null ? void 0 : _a.value;
@@ -3891,7 +4503,7 @@ var ResourcesGridList = ({
3891
4503
  const safeCurrentPage = Math.min(currentPage, totalPages);
3892
4504
  const pageStart = (safeCurrentPage - 1) * ITEMS_PER_PAGE;
3893
4505
  const paginatedItems = displayedItems.slice(pageStart, pageStart + ITEMS_PER_PAGE);
3894
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: widgetRef, className: clsx43__default.default(ResourcesGridList_module_default.widget, className), children: [
4506
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: widgetRef, className: clsx47__default.default(ResourcesGridList_module_default.widget, className), children: [
3895
4507
  /* @__PURE__ */ jsxRuntime.jsx(
3896
4508
  FilterBar,
3897
4509
  {
@@ -3910,7 +4522,7 @@ var ResourcesGridList = ({
3910
4522
  isMobile && /* @__PURE__ */ jsxRuntime.jsxs(
3911
4523
  "div",
3912
4524
  {
3913
- className: clsx43__default.default(
4525
+ className: clsx47__default.default(
3914
4526
  ResourcesGridList_module_default.mobileSidebarOverlay,
3915
4527
  isSidebarOpen && ResourcesGridList_module_default.mobileSidebarOverlayOpen
3916
4528
  ),
@@ -3921,7 +4533,7 @@ var ResourcesGridList = ({
3921
4533
  return /* @__PURE__ */ jsxRuntime.jsxs(
3922
4534
  "li",
3923
4535
  {
3924
- className: clsx43__default.default(
4536
+ className: clsx47__default.default(
3925
4537
  ResourcesGridList_module_default.mobileSidebarItem,
3926
4538
  i === selectedCategory && ResourcesGridList_module_default.active
3927
4539
  ),
@@ -3966,7 +4578,7 @@ var ResourcesGridList = ({
3966
4578
  onSelect: handleSelectCategory
3967
4579
  }
3968
4580
  ),
3969
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default(ResourcesGridList_module_default.cardsArea, ResourcesGridList_module_default[view]), children: paginatedItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(ResourceCardItem, { item, view }, item.id)) })
4581
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(ResourcesGridList_module_default.cardsArea, ResourcesGridList_module_default[view]), children: paginatedItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(ResourceCardItem, { item, view }, item.id)) })
3970
4582
  ] }),
3971
4583
  totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsx(
3972
4584
  Pagination,
@@ -3999,7 +4611,7 @@ var Grid = ({
3999
4611
  return /* @__PURE__ */ jsxRuntime.jsx(
4000
4612
  Component,
4001
4613
  {
4002
- className: clsx43__default.default("grid", Grid_module_default.grid, className),
4614
+ className: clsx47__default.default("grid", Grid_module_default.grid, className),
4003
4615
  role,
4004
4616
  "aria-label": ariaLabel,
4005
4617
  "aria-labelledby": ariaLabelledBy,
@@ -4024,7 +4636,7 @@ var GridItem = ({
4024
4636
  return /* @__PURE__ */ jsxRuntime.jsx(
4025
4637
  Component,
4026
4638
  {
4027
- className: clsx43__default.default("grid-item", Grid_module_default["grid-item"], className),
4639
+ className: clsx47__default.default("grid-item", Grid_module_default["grid-item"], className),
4028
4640
  role,
4029
4641
  "aria-label": ariaLabel,
4030
4642
  "aria-labelledby": ariaLabelledBy,
@@ -4072,13 +4684,13 @@ var BlogCardGrid = ({
4072
4684
  title: BlogCardGridTitle
4073
4685
  });
4074
4686
  const titleNode = (_a = slots.title) != null ? _a : title;
4075
- const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("wrapper", BlogCardGrid_module_default["wrapper"]), children: [
4076
- title && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("header-container", BlogCardGrid_module_default["header-container"]), children: [
4077
- titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h4", className: clsx43__default.default("title", BlogCardGrid_module_default["title"]), children: titleNode }) : titleNode,
4078
- cta && (cta == null ? void 0 : cta.url) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("cta-wrapper", BlogCardGrid_module_default["cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
4687
+ const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", BlogCardGrid_module_default["wrapper"]), children: [
4688
+ title && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header-container", BlogCardGrid_module_default["header-container"]), children: [
4689
+ titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h4", className: clsx47__default.default("title", BlogCardGrid_module_default["title"]), children: titleNode }) : titleNode,
4690
+ cta && (cta == null ? void 0 : cta.url) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("cta-wrapper", BlogCardGrid_module_default["cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
4079
4691
  Button,
4080
4692
  {
4081
- className: clsx43__default.default("cta", BlogCardGrid_module_default["cta"]),
4693
+ className: clsx47__default.default("cta", BlogCardGrid_module_default["cta"]),
4082
4694
  variant: "nofillblack",
4083
4695
  href: cta.url,
4084
4696
  isExternal: cta == null ? void 0 : cta.isExternal,
@@ -4104,11 +4716,11 @@ var BlogCardGrid = ({
4104
4716
  return /* @__PURE__ */ jsxRuntime.jsx(
4105
4717
  "div",
4106
4718
  {
4107
- className: clsx43__default.default("blog-card-grid", BlogCardGrid_module_default["blog-card-grid"], className),
4719
+ className: clsx47__default.default("blog-card-grid", BlogCardGrid_module_default["blog-card-grid"], className),
4108
4720
  style: {
4109
4721
  backgroundColor
4110
4722
  },
4111
- children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx43__default.default("container", BlogCardGrid_module_default["container"]), children: content }) : content
4723
+ children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx47__default.default("container", BlogCardGrid_module_default["container"]), children: content }) : content
4112
4724
  }
4113
4725
  );
4114
4726
  };
@@ -4156,13 +4768,13 @@ var FeaturedNewsHighlights = ({
4156
4768
  const sideCards = items.slice(1);
4157
4769
  const isVariantHome = variant === "home";
4158
4770
  const isBelowTablet = is("tablet", "below");
4159
- const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("wrapper", FeaturedNewsHighlights_module_default["wrapper"]), children: [
4160
- title && cta && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("header-container", FeaturedNewsHighlights_module_default["header-container"]), children: [
4771
+ const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", FeaturedNewsHighlights_module_default["wrapper"]), children: [
4772
+ title && cta && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header-container", FeaturedNewsHighlights_module_default["header-container"]), children: [
4161
4773
  titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", children: titleNode }) : titleNode,
4162
- cta && (cta == null ? void 0 : cta.url) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("cta-wrapper", FeaturedNewsHighlights_module_default["cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
4774
+ cta && (cta == null ? void 0 : cta.url) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("cta-wrapper", FeaturedNewsHighlights_module_default["cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
4163
4775
  Button,
4164
4776
  {
4165
- className: clsx43__default.default("cta", FeaturedNewsHighlights_module_default["cta"]),
4777
+ className: clsx47__default.default("cta", FeaturedNewsHighlights_module_default["cta"]),
4166
4778
  variant: "nofillblack",
4167
4779
  href: cta.url,
4168
4780
  isExternal: cta == null ? void 0 : cta.isExternal,
@@ -4174,9 +4786,9 @@ var FeaturedNewsHighlights = ({
4174
4786
  isVariantHome && isBelowTablet && /* @__PURE__ */ jsxRuntime.jsx(
4175
4787
  Carousel,
4176
4788
  {
4177
- className: clsx43__default.default("carousel", FeaturedNewsHighlights_module_default["carousel"]),
4789
+ className: clsx47__default.default("carousel", FeaturedNewsHighlights_module_default["carousel"]),
4178
4790
  "aria-label": "featured news",
4179
- wrapperClass: clsx43__default.default(FeaturedNewsHighlights_module_default["carousel-wrapper"]),
4791
+ wrapperClass: clsx47__default.default(FeaturedNewsHighlights_module_default["carousel-wrapper"]),
4180
4792
  slideClass: FeaturedNewsHighlights_module_default["carousel-list-item"],
4181
4793
  spaceBetween: 16,
4182
4794
  slides: items.map((item, index) => {
@@ -4185,27 +4797,27 @@ var FeaturedNewsHighlights = ({
4185
4797
  NewsCard,
4186
4798
  __spreadProps(__spreadValues({}, item), {
4187
4799
  direction: "vertical",
4188
- className: clsx43__default.default("carousel-news-card", FeaturedNewsHighlights_module_default["carousel-news-card"])
4800
+ className: clsx47__default.default("carousel-news-card", FeaturedNewsHighlights_module_default["carousel-news-card"])
4189
4801
  }),
4190
4802
  (_a2 = item == null ? void 0 : item.title) != null ? _a2 : index
4191
4803
  );
4192
4804
  })
4193
4805
  }
4194
4806
  ),
4195
- (!isVariantHome || isVariantHome && !isBelowTablet) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("content-wrapper", FeaturedNewsHighlights_module_default["content-wrapper"]), children: [
4807
+ (!isVariantHome || isVariantHome && !isBelowTablet) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content-wrapper", FeaturedNewsHighlights_module_default["content-wrapper"]), children: [
4196
4808
  featuredCard && /* @__PURE__ */ jsxRuntime.jsx(
4197
4809
  NewsCard,
4198
4810
  __spreadProps(__spreadValues({}, featuredCard), {
4199
- className: clsx43__default.default("featured-card", FeaturedNewsHighlights_module_default["featured-card"]),
4811
+ className: clsx47__default.default("featured-card", FeaturedNewsHighlights_module_default["featured-card"]),
4200
4812
  renderLink
4201
4813
  })
4202
4814
  ),
4203
- sideCards && sideCards.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("side-content", FeaturedNewsHighlights_module_default["side-content"]), children: sideCards.map((card, index) => {
4815
+ sideCards && sideCards.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("side-content", FeaturedNewsHighlights_module_default["side-content"]), children: sideCards.map((card, index) => {
4204
4816
  var _a2;
4205
4817
  return /* @__PURE__ */ jsxRuntime.jsx(
4206
4818
  NewsCard,
4207
4819
  __spreadProps(__spreadValues({}, card), {
4208
- className: clsx43__default.default("side-cards", FeaturedNewsHighlights_module_default["side-cards"]),
4820
+ className: clsx47__default.default("side-cards", FeaturedNewsHighlights_module_default["side-cards"]),
4209
4821
  direction: "horizontal",
4210
4822
  renderLink
4211
4823
  }),
@@ -4217,11 +4829,11 @@ var FeaturedNewsHighlights = ({
4217
4829
  return /* @__PURE__ */ jsxRuntime.jsx(
4218
4830
  "div",
4219
4831
  {
4220
- className: clsx43__default.default("featured-news-higlights", FeaturedNewsHighlights_module_default["featured-news-higlights"], className),
4832
+ className: clsx47__default.default("featured-news-higlights", FeaturedNewsHighlights_module_default["featured-news-higlights"], className),
4221
4833
  style: {
4222
4834
  backgroundColor
4223
4835
  },
4224
- children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx43__default.default("container", FeaturedNewsHighlights_module_default["container"]), children: content }) : content
4836
+ children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx47__default.default("container", FeaturedNewsHighlights_module_default["container"]), children: content }) : content
4225
4837
  }
4226
4838
  );
4227
4839
  };
@@ -4265,23 +4877,23 @@ var NewsCardList = ({
4265
4877
  return /* @__PURE__ */ jsxRuntime.jsx(
4266
4878
  "div",
4267
4879
  {
4268
- className: clsx43__default.default("news-card-list", NewsCardList_module_default["news-card-list"], className),
4880
+ className: clsx47__default.default("news-card-list", NewsCardList_module_default["news-card-list"], className),
4269
4881
  style: {
4270
4882
  backgroundColor
4271
4883
  },
4272
- children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx43__default.default("container", NewsCardList_module_default["container"]), children: [
4273
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("wrapper", NewsCardList_module_default["wrapper"]), children: [
4884
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", NewsCardList_module_default["container"]), children: [
4885
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", NewsCardList_module_default["wrapper"]), children: [
4274
4886
  /* @__PURE__ */ jsxRuntime.jsx(
4275
4887
  Input,
4276
4888
  __spreadValues({
4277
- className: clsx43__default.default("search-input", NewsCardList_module_default["search-input"]),
4889
+ className: clsx47__default.default("search-input", NewsCardList_module_default["search-input"]),
4278
4890
  startAdornment: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search" }),
4279
4891
  placeholder: "Search News",
4280
4892
  endAction: searchValue ? /* @__PURE__ */ jsxRuntime.jsx(
4281
4893
  Button,
4282
4894
  {
4283
4895
  variant: "nofillblack",
4284
- className: clsx43__default.default(NewsCardList_module_default["end-action-button"]),
4896
+ className: clsx47__default.default(NewsCardList_module_default["end-action-button"]),
4285
4897
  "aria-label": "Search",
4286
4898
  onClick: onSearchSubmit ? () => onSearchSubmit(searchValue || "") : void 0,
4287
4899
  children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "rightBlack" })
@@ -4293,7 +4905,7 @@ var NewsCardList = ({
4293
4905
  } : void 0
4294
4906
  }, searchInputProps)
4295
4907
  ),
4296
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("card-wrapper", NewsCardList_module_default["card-wrapper"]), children: [
4908
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("card-wrapper", NewsCardList_module_default["card-wrapper"]), children: [
4297
4909
  currentPage === 1 && /* @__PURE__ */ jsxRuntime.jsx(
4298
4910
  FeaturedNewsHighlights2,
4299
4911
  {
@@ -4306,8 +4918,8 @@ var NewsCardList = ({
4306
4918
  /* @__PURE__ */ jsxRuntime.jsx(BlogCardGrid2, { items: cards, hasContainer: false, renderLink })
4307
4919
  ] })
4308
4920
  ] }),
4309
- paginationNode ? React69__default.default.cloneElement(paginationNode, {
4310
- className: clsx43__default.default("pagination", NewsCardList_module_default["pagination"])
4921
+ paginationNode ? React70__default.default.cloneElement(paginationNode, {
4922
+ className: clsx47__default.default("pagination", NewsCardList_module_default["pagination"])
4311
4923
  }) : null
4312
4924
  ] })
4313
4925
  }
@@ -4352,15 +4964,15 @@ var BlogPost = ({
4352
4964
  });
4353
4965
  const titleNode = (_a = slots.title) != null ? _a : title;
4354
4966
  const bodyNode = (_b = slots.body) != null ? _b : body;
4355
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("blog-post", BlogPost_module_default["blog-post"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx43__default.default("container", BlogPost_module_default["container"]), children: [
4356
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("header", BlogPost_module_default["header"]), children: [
4967
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("blog-post", BlogPost_module_default["blog-post"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", BlogPost_module_default["container"]), children: [
4968
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header", BlogPost_module_default["header"]), children: [
4357
4969
  titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h1", children: titleNode }) : titleNode,
4358
- image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx43__default.default("image", BlogPost_module_default["image"]) }))
4970
+ image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx47__default.default("image", BlogPost_module_default["image"]) }))
4359
4971
  ] }),
4360
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("content", BlogPost_module_default["content"]), children: [
4361
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("content-top", BlogPost_module_default["content-top"]), children: [
4972
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content", BlogPost_module_default["content"]), children: [
4973
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content-top", BlogPost_module_default["content-top"]), children: [
4362
4974
  /* @__PURE__ */ jsxRuntime.jsx(Badge, { size: "sm", children: tag }),
4363
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: clsx43__default.default("content-date", BlogPost_module_default["content-date"]), children: [
4975
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: clsx47__default.default("content-date", BlogPost_module_default["content-date"]), children: [
4364
4976
  "Published ",
4365
4977
  /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date.value, children: date.label })
4366
4978
  ] })
@@ -4373,7 +4985,7 @@ var BlogPost = ({
4373
4985
  title: "More News",
4374
4986
  items: relatedArticles,
4375
4987
  hasContainer: false,
4376
- className: clsx43__default.default("related-articles", BlogPost_module_default["related-articles"])
4988
+ className: clsx47__default.default("related-articles", BlogPost_module_default["related-articles"])
4377
4989
  }
4378
4990
  )
4379
4991
  ] }) });
@@ -4421,22 +5033,22 @@ var BlogSearchResultsList = ({
4421
5033
  });
4422
5034
  const searchNode = (_a = slots.search) != null ? _a : searchResult;
4423
5035
  const paginationNode = slots.pagination;
4424
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("search-results-list", BlogSearchResultsList_module_default["search-results-list"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx43__default.default("container", BlogSearchResultsList_module_default["container"]), children: [
4425
- typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx43__default.default("search-result", BlogSearchResultsList_module_default["search-result"]), children: searchNode }) : React69__default.default.isValidElement(searchNode) ? React69__default.default.cloneElement(searchNode, {
4426
- className: clsx43__default.default("search-result", BlogSearchResultsList_module_default["search-result"])
5036
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("search-results-list", BlogSearchResultsList_module_default["search-results-list"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", BlogSearchResultsList_module_default["container"]), children: [
5037
+ typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("search-result", BlogSearchResultsList_module_default["search-result"]), children: searchNode }) : React70__default.default.isValidElement(searchNode) ? React70__default.default.cloneElement(searchNode, {
5038
+ className: clsx47__default.default("search-result", BlogSearchResultsList_module_default["search-result"])
4427
5039
  }) : null,
4428
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx43__default.default("wrapper", BlogSearchResultsList_module_default["wrapper"]), children: [
5040
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", BlogSearchResultsList_module_default["wrapper"]), children: [
4429
5041
  /* @__PURE__ */ jsxRuntime.jsx(
4430
5042
  Input,
4431
5043
  __spreadValues({
4432
- className: clsx43__default.default("search-input", BlogSearchResultsList_module_default["search-input"]),
5044
+ className: clsx47__default.default("search-input", BlogSearchResultsList_module_default["search-input"]),
4433
5045
  startAdornment: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search" }),
4434
5046
  placeholder: "Search News",
4435
5047
  endAction: searchValue ? /* @__PURE__ */ jsxRuntime.jsx(
4436
5048
  Button,
4437
5049
  {
4438
5050
  variant: "nofillblack",
4439
- className: clsx43__default.default(BlogSearchResultsList_module_default["end-action-button"]),
5051
+ className: clsx47__default.default(BlogSearchResultsList_module_default["end-action-button"]),
4440
5052
  "aria-label": "Search",
4441
5053
  onClick: () => onSearchSubmit(searchValue),
4442
5054
  children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "rightBlack" })
@@ -4450,8 +5062,8 @@ var BlogSearchResultsList = ({
4450
5062
  ),
4451
5063
  /* @__PURE__ */ jsxRuntime.jsx(BlogCardGrid2, { items, hasContainer: false, renderLink })
4452
5064
  ] }),
4453
- paginationNode ? React69__default.default.cloneElement(paginationNode, {
4454
- className: clsx43__default.default("pagination", BlogSearchResultsList_module_default["pagination"])
5065
+ paginationNode ? React70__default.default.cloneElement(paginationNode, {
5066
+ className: clsx47__default.default("pagination", BlogSearchResultsList_module_default["pagination"])
4455
5067
  }) : null
4456
5068
  ] }) });
4457
5069
  };
@@ -4492,11 +5104,11 @@ var GlobalSearchResultsList = ({
4492
5104
  });
4493
5105
  const searchNode = (_a = slots.search) != null ? _a : searchResult;
4494
5106
  const paginationNode = slots.pagination;
4495
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("search-results-list", GlobalSearchResultsList_module_default["search-results-list"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx43__default.default("container", GlobalSearchResultsList_module_default["container"]), children: [
4496
- typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx43__default.default("search-result", GlobalSearchResultsList_module_default["search-result"]), children: searchNode }) : React69__default.default.isValidElement(searchNode) ? React69__default.default.cloneElement(searchNode, {
4497
- className: clsx43__default.default("search-result", GlobalSearchResultsList_module_default["search-result"])
5107
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("search-results-list", GlobalSearchResultsList_module_default["search-results-list"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", GlobalSearchResultsList_module_default["container"]), children: [
5108
+ typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("search-result", GlobalSearchResultsList_module_default["search-result"]), children: searchNode }) : React70__default.default.isValidElement(searchNode) ? React70__default.default.cloneElement(searchNode, {
5109
+ className: clsx47__default.default("search-result", GlobalSearchResultsList_module_default["search-result"])
4498
5110
  }) : null,
4499
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx43__default.default("wrapper", GlobalSearchResultsList_module_default["wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(Grid, { role: "list", columns: 3, children: items.map((item, index) => {
5111
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("wrapper", GlobalSearchResultsList_module_default["wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(Grid, { role: "list", columns: 3, children: items.map((item, index) => {
4500
5112
  var _a2;
4501
5113
  return /* @__PURE__ */ jsxRuntime.jsx(
4502
5114
  GridItem,
@@ -4516,8 +5128,8 @@ var GlobalSearchResultsList = ({
4516
5128
  item.title ? `${item.title}-${(_a2 = item == null ? void 0 : item.id) != null ? _a2 : index}` : index
4517
5129
  );
4518
5130
  }) }) }),
4519
- paginationNode ? React69__default.default.cloneElement(paginationNode, {
4520
- className: clsx43__default.default("pagination", GlobalSearchResultsList_module_default["pagination"])
5131
+ paginationNode ? React70__default.default.cloneElement(paginationNode, {
5132
+ className: clsx47__default.default("pagination", GlobalSearchResultsList_module_default["pagination"])
4521
5133
  }) : null
4522
5134
  ] }) });
4523
5135
  };
@@ -4555,10 +5167,10 @@ var TextCenterWithMedia = ({
4555
5167
  children
4556
5168
  }) => {
4557
5169
  var _a;
4558
- const [isOpen, setIsOpen] = React69.useState(false);
4559
- const dialogRef = React69.useRef(null);
4560
- const videoRef = React69.useRef(null);
4561
- React69.useEffect(() => {
5170
+ const [isOpen, setIsOpen] = React70.useState(false);
5171
+ const dialogRef = React70.useRef(null);
5172
+ const videoRef = React70.useRef(null);
5173
+ React70.useEffect(() => {
4562
5174
  var _a2, _b;
4563
5175
  if (isOpen) {
4564
5176
  (_a2 = dialogRef.current) == null ? void 0 : _a2.showModal();
@@ -4575,7 +5187,7 @@ var TextCenterWithMedia = ({
4575
5187
  };
4576
5188
  const slots = resolveCompoundSlots(children, { title: TextCenterWithMediaTitle });
4577
5189
  const titleNode = (_a = slots.title) != null ? _a : title;
4578
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: clsx43__default.default(TextCenterWithMedia_module_default.textCenterWithMedia, className), children: [
5190
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: clsx47__default.default(TextCenterWithMedia_module_default.textCenterWithMedia, className), children: [
4579
5191
  /* @__PURE__ */ jsxRuntime.jsxs(Container, { children: [
4580
5192
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "h2", children: titleNode }),
4581
5193
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterWithMedia_module_default.thumbnailWrapper, children: thumbnail && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -4616,6 +5228,99 @@ var TextCenterWithMedia2 = Object.assign(TextCenterWithMedia, {
4616
5228
  Title: TextCenterWithMediaTitle
4617
5229
  });
4618
5230
 
5231
+ // src/widgets/QuoteSectionBlock/QuoteSectionBlock.module.scss
5232
+ var QuoteSectionBlock_module_default = {
5233
+ quoteSectionBlock: "QuoteSectionBlock_module_quoteSectionBlock",
5234
+ inner: "QuoteSectionBlock_module_inner",
5235
+ title: "QuoteSectionBlock_module_title",
5236
+ swiperContainer: "QuoteSectionBlock_module_swiperContainer",
5237
+ card: "QuoteSectionBlock_module_card",
5238
+ quoteLogo: "QuoteSectionBlock_module_quoteLogo",
5239
+ bodyText: "QuoteSectionBlock_module_bodyText",
5240
+ attribution: "QuoteSectionBlock_module_attribution",
5241
+ displayPhoto: "QuoteSectionBlock_module_displayPhoto",
5242
+ displayName: "QuoteSectionBlock_module_displayName",
5243
+ attributionText: "QuoteSectionBlock_module_attributionText",
5244
+ jobTitleLogo: "QuoteSectionBlock_module_jobTitleLogo",
5245
+ controls: "QuoteSectionBlock_module_controls"
5246
+ };
5247
+ var QuoteSectionBlock = ({ className, title, items = [] }) => {
5248
+ const { is } = useViewPort_default();
5249
+ const isMobile = is("tablet", "below");
5250
+ const [swiperInstance, setSwiperInstance] = React70.useState(null);
5251
+ const [activeIndex, setActiveIndex] = React70.useState(0);
5252
+ if (!items.length) return null;
5253
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(QuoteSectionBlock_module_default.quoteSectionBlock, className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.inner, children: [
5254
+ title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: QuoteSectionBlock_module_default.title, children: title }),
5255
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: QuoteSectionBlock_module_default.swiperContainer, children: /* @__PURE__ */ jsxRuntime.jsx(
5256
+ react$1.Swiper,
5257
+ {
5258
+ slidesPerView: "auto",
5259
+ spaceBetween: isMobile ? 8 : 32,
5260
+ onSwiper: setSwiperInstance,
5261
+ onSlideChange: (swiper) => setActiveIndex(swiper.activeIndex),
5262
+ children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(react$1.SwiperSlide, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.card, children: [
5263
+ (item == null ? void 0 : item.quoteLogo) && /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.quoteLogo, alt: "", className: QuoteSectionBlock_module_default.quoteLogo }),
5264
+ (item == null ? void 0 : item.bodyText) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: QuoteSectionBlock_module_default.bodyText, children: item.bodyText }),
5265
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.attribution, children: [
5266
+ (item == null ? void 0 : item.displayPhoto) && /* @__PURE__ */ jsxRuntime.jsx(
5267
+ "img",
5268
+ {
5269
+ src: item.displayPhoto,
5270
+ alt: item.displayName,
5271
+ className: QuoteSectionBlock_module_default.displayPhoto
5272
+ }
5273
+ ),
5274
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.attributionText, children: [
5275
+ (item == null ? void 0 : item.displayName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: QuoteSectionBlock_module_default.displayName, children: item.displayName }),
5276
+ (item == null ? void 0 : item.jobTitleLogo) && /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.jobTitleLogo, alt: "", className: QuoteSectionBlock_module_default.jobTitleLogo })
5277
+ ] })
5278
+ ] })
5279
+ ] }) }, index))
5280
+ }
5281
+ ) }),
5282
+ /* @__PURE__ */ jsxRuntime.jsx(
5283
+ Pagination,
5284
+ {
5285
+ className: QuoteSectionBlock_module_default.controls,
5286
+ totalPages: items.length,
5287
+ currentPage: activeIndex + 1,
5288
+ loop: true,
5289
+ onPageChange: (page) => swiperInstance == null ? void 0 : swiperInstance.slideTo(page - 1)
5290
+ },
5291
+ activeIndex
5292
+ )
5293
+ ] }) });
5294
+ };
5295
+ function useIntersectionObserver({
5296
+ animateOnce = false,
5297
+ options = {}
5298
+ } = {}) {
5299
+ const observeRef = React70.useRef(null);
5300
+ const [isVisible, setIsVisible] = React70.useState(false);
5301
+ if (typeof IntersectionObserver === "undefined") {
5302
+ console.warn("IntersectionObserver is not supported in this browser.");
5303
+ return { observeRef, isVisible: true };
5304
+ }
5305
+ React70.useEffect(() => {
5306
+ const currentRef = observeRef.current;
5307
+ if (!currentRef) return;
5308
+ const observer = new IntersectionObserver((entries) => {
5309
+ const entry = entries[0];
5310
+ if (!entry) return;
5311
+ setIsVisible(entry.isIntersecting);
5312
+ if (entry.isIntersecting && animateOnce) {
5313
+ observer.disconnect();
5314
+ }
5315
+ }, options);
5316
+ observer.observe(currentRef);
5317
+ return () => {
5318
+ observer.disconnect();
5319
+ };
5320
+ }, [observeRef, animateOnce, options]);
5321
+ return { observeRef, isVisible };
5322
+ }
5323
+
4619
5324
  exports.Anchor = Anchor;
4620
5325
  exports.Badge = Badge;
4621
5326
  exports.BlogCardGrid = BlogCardGrid2;
@@ -4650,8 +5355,10 @@ exports.Pagination = Pagination;
4650
5355
  exports.Picture = Picture;
4651
5356
  exports.PracticeCard = PracticeCard;
4652
5357
  exports.PracticePathCards = PracticePathCards2;
5358
+ exports.QuoteSectionBlock = QuoteSectionBlock;
4653
5359
  exports.ResourceCardItem = ResourceCardItem;
4654
5360
  exports.ResourcesGridList = ResourcesGridList;
5361
+ exports.Search = Search;
4655
5362
  exports.Sidebar = Sidebar;
4656
5363
  exports.Teaser5050With3Text = Teaser5050With3Text2;
4657
5364
  exports.Teaser5050WithCta = Teaser5050WithCta2;
@@ -4660,6 +5367,7 @@ exports.TextCenterCtaInBottom = TextCenterCtaInBottom2;
4660
5367
  exports.TextCenterWithMedia = TextCenterWithMedia2;
4661
5368
  exports.TextEvent = TextEvent2;
4662
5369
  exports.UpcomingEventCard = UpcomingEventCard;
5370
+ exports.UserMenu = UserMenu;
4663
5371
  exports.resolveCompoundSlots = resolveCompoundSlots;
4664
5372
  exports.svgs = svgs;
4665
5373
  exports.useIntersectionObserver = useIntersectionObserver;