@digital-b2c/coreui-kit 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import clsx23 from 'clsx';
1
+ import clsx25 from 'clsx';
2
2
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
3
3
  import React62, { forwardRef, useRef, useState, useCallback, useMemo, Children, isValidElement, useEffect } from 'react';
4
4
  import gsap$1, { gsap } from 'gsap';
@@ -58,7 +58,7 @@ var Picture = (_a) => {
58
58
  __spreadValues({
59
59
  src: desktop.src,
60
60
  alt: desktop.alt,
61
- className: clsx23(className, Picture_module_default["image-desktop"])
61
+ className: clsx25(className, Picture_module_default["image-desktop"])
62
62
  }, rest)
63
63
  ),
64
64
  /* @__PURE__ */ jsx(
@@ -66,7 +66,7 @@ var Picture = (_a) => {
66
66
  __spreadValues({
67
67
  src: (_b2 = mobile == null ? void 0 : mobile.src) != null ? _b2 : desktop.src,
68
68
  alt: (_c = mobile == null ? void 0 : mobile.alt) != null ? _c : desktop.alt,
69
- className: clsx23(className, Picture_module_default["image-mobile"])
69
+ className: clsx25(className, Picture_module_default["image-mobile"])
70
70
  }, rest)
71
71
  )
72
72
  ] });
@@ -425,7 +425,7 @@ var Button = (_a) => {
425
425
  ]);
426
426
  const isLink = !!href;
427
427
  const props = __spreadValues(__spreadValues({
428
- className: clsx23(
428
+ className: clsx25(
429
429
  Button_module_default.button,
430
430
  variant ? Button_module_default[variant] : null,
431
431
  { [Button_module_default.fullWidth]: !!fullWidth },
@@ -657,7 +657,7 @@ var BrandsStrip = ({
657
657
  "div",
658
658
  {
659
659
  ref: containerRef,
660
- className: clsx23(
660
+ className: clsx25(
661
661
  BrandsStrip_module_default.brandsStrip,
662
662
  BrandsStrip_module_default[variant],
663
663
  { [BrandsStrip_module_default.small]: size === "small" },
@@ -666,13 +666,13 @@ var BrandsStrip = ({
666
666
  onMouseEnter: handleMouseEnter,
667
667
  onMouseLeave: handleMouseLeave,
668
668
  children: [
669
- /* @__PURE__ */ jsxs("div", { className: clsx23(BrandsStrip_module_default.container, { [BrandsStrip_module_default.blurred]: show && logos.length > 1 }), children: [
670
- title && logos.length === 1 && /* @__PURE__ */ jsx("h2", { className: clsx23("body", BrandsStrip_module_default.title), children: title }),
669
+ /* @__PURE__ */ jsxs("div", { className: clsx25(BrandsStrip_module_default.container, { [BrandsStrip_module_default.blurred]: show && logos.length > 1 }), children: [
670
+ title && logos.length === 1 && /* @__PURE__ */ jsx("h2", { className: clsx25("body", BrandsStrip_module_default.title), children: title }),
671
671
  logos.length > 0 && /* @__PURE__ */ jsx(
672
672
  "div",
673
673
  {
674
674
  ref: marqueeRef,
675
- className: clsx23(BrandsStrip_module_default.logos, { [BrandsStrip_module_default.marqueeGSAP]: shouldAnimate }),
675
+ className: clsx25(BrandsStrip_module_default.logos, { [BrandsStrip_module_default.marqueeGSAP]: shouldAnimate }),
676
676
  children: duplicatedLogos.map((logo, index) => /* @__PURE__ */ jsx("div", { className: BrandsStrip_module_default.logoWrapper, children: /* @__PURE__ */ jsx(Picture, __spreadValues({ className: BrandsStrip_module_default.logo }, logo)) }, `${logo.alt}-${index}`))
677
677
  }
678
678
  )
@@ -719,7 +719,7 @@ var Container_module_default = {
719
719
  var Container = forwardRef(
720
720
  (_a, ref) => {
721
721
  var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
722
- return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({ ref, className: clsx23(Container_module_default.container, className) }, props), { children }));
722
+ return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({ ref, className: clsx25(Container_module_default.container, className) }, props), { children }));
723
723
  }
724
724
  );
725
725
  Container.displayName = "Container";
@@ -760,14 +760,14 @@ var Card = ({
760
760
  ConditionalWrapper,
761
761
  __spreadProps(__spreadValues({
762
762
  ref,
763
- className: clsx23(Card_module_default.card, Card_module_default[variant], className),
763
+ className: clsx25(Card_module_default.card, Card_module_default[variant], className),
764
764
  wrapper: Anchor,
765
765
  fallback: "div",
766
766
  condition: isLink
767
767
  }, href ? { href, isExternal } : {}), {
768
768
  children: [
769
769
  /* @__PURE__ */ jsxs("div", { className: Card_module_default.logoContainer, children: [
770
- (logo == null ? void 0 : logo.src) ? /* @__PURE__ */ jsx(Picture, __spreadValues({ className: clsx23(Card_module_default.logo, isLink && Card_module_default.hideLogo) }, logo)) : icon && /* @__PURE__ */ jsx(Icon, { type: icon, className: clsx23(Card_module_default.logo, isLink && Card_module_default.hideLogo) }),
770
+ (logo == null ? void 0 : logo.src) ? /* @__PURE__ */ jsx(Picture, __spreadValues({ className: clsx25(Card_module_default.logo, isLink && Card_module_default.hideLogo) }, logo)) : icon && /* @__PURE__ */ jsx(Icon, { type: icon, className: clsx25(Card_module_default.logo, isLink && Card_module_default.hideLogo) }),
771
771
  isLink && /* @__PURE__ */ jsx(Icon, { type: "tiltedRightWhite", className: Card_module_default.logoHover })
772
772
  ] }),
773
773
  /* @__PURE__ */ jsxs("div", { className: Card_module_default.content, children: [
@@ -802,10 +802,10 @@ var CountingCard = ({ className, title, count, image, children }) => {
802
802
  title: CountingCardTitle
803
803
  });
804
804
  const titleNode = (_a = slots.title) != null ? _a : title;
805
- return /* @__PURE__ */ jsxs("div", { className: clsx23(CountingCard_module_default["counting-card"], className), children: [
805
+ return /* @__PURE__ */ jsxs("div", { className: clsx25(CountingCard_module_default["counting-card"], className), children: [
806
806
  /* @__PURE__ */ jsxs("div", { className: CountingCard_module_default.content, children: [
807
807
  titleNode && /* @__PURE__ */ jsx("div", { className: "body", children: titleNode }),
808
- count && /* @__PURE__ */ jsx("div", { className: clsx23(CountingCard_module_default.count, "h1"), children: count })
808
+ count && /* @__PURE__ */ jsx("div", { className: clsx25(CountingCard_module_default.count, "h1"), children: count })
809
809
  ] }),
810
810
  image && /* @__PURE__ */ jsx(Picture, __spreadValues({ className: CountingCard_module_default.logo }, image))
811
811
  ] });
@@ -815,6 +815,260 @@ var CountingCard = ({ className, title, count, image, children }) => {
815
815
  var CountingCard2 = Object.assign(CountingCard, {
816
816
  Title: CountingCardTitle
817
817
  });
818
+
819
+ // src/components/FilterBar/FilterBar.module.scss
820
+ var FilterBar_module_default = {
821
+ filterBar: "FilterBar_module_filterBar",
822
+ viewToggle: "FilterBar_module_viewToggle",
823
+ filterActions: "FilterBar_module_filterActions",
824
+ chip: "FilterBar_module_chip",
825
+ active: "FilterBar_module_active",
826
+ chipLabel: "FilterBar_module_chipLabel",
827
+ dropdownWrapper: "FilterBar_module_dropdownWrapper",
828
+ searchExpanded: "FilterBar_module_searchExpanded",
829
+ searchCollapsing: "FilterBar_module_searchCollapsing",
830
+ searchIconInner: "FilterBar_module_searchIconInner",
831
+ searchInput: "FilterBar_module_searchInput",
832
+ searchClear: "FilterBar_module_searchClear",
833
+ dropdownPanel: "FilterBar_module_dropdownPanel",
834
+ filterFaded: "FilterBar_module_filterFaded",
835
+ filterFading: "FilterBar_module_filterFading",
836
+ dropdownOption: "FilterBar_module_dropdownOption",
837
+ selected: "FilterBar_module_selected"
838
+ };
839
+ var FILTER_OPTIONS = [
840
+ { value: "link", label: "Link", icon: "externalLink" },
841
+ { value: "pdf", label: "PDF", icon: "pdf" }
842
+ ];
843
+ var SORT_OPTIONS = [
844
+ { value: "latest", label: "Latest" },
845
+ { value: "oldest", label: "Oldest" },
846
+ { value: "az", label: "A \u2192 Z" },
847
+ { value: "za", label: "Z \u2192 A" }
848
+ ];
849
+ function FilterBar({
850
+ view,
851
+ onViewChange,
852
+ isMobile,
853
+ filterValue,
854
+ onFilterChange,
855
+ sortValue,
856
+ onSortChange,
857
+ searchValue,
858
+ onSearchChange
859
+ }) {
860
+ const [openDropdown, setOpenDropdown] = useState(null);
861
+ const [searchState, setSearchState] = useState("closed");
862
+ const filterRef = useRef(null);
863
+ const sortRef = useRef(null);
864
+ const searchInputRef = useRef(null);
865
+ const closeSearch = () => {
866
+ setSearchState("closing");
867
+ onSearchChange("");
868
+ };
869
+ const clearSearch = () => {
870
+ var _a;
871
+ onSearchChange("");
872
+ (_a = searchInputRef.current) == null ? void 0 : _a.focus();
873
+ };
874
+ useEffect(() => {
875
+ const handleMouseDown = (e) => {
876
+ var _a, _b;
877
+ const target = e.target;
878
+ if (((_a = filterRef.current) == null ? void 0 : _a.contains(target)) || ((_b = sortRef.current) == null ? void 0 : _b.contains(target))) return;
879
+ setOpenDropdown(null);
880
+ };
881
+ document.addEventListener("mousedown", handleMouseDown);
882
+ return () => document.removeEventListener("mousedown", handleMouseDown);
883
+ }, []);
884
+ useEffect(() => {
885
+ var _a;
886
+ if (searchState === "open") (_a = searchInputRef.current) == null ? void 0 : _a.focus();
887
+ }, [searchState]);
888
+ return /* @__PURE__ */ jsxs("div", { className: FilterBar_module_default.filterBar, children: [
889
+ /* @__PURE__ */ jsxs("div", { className: FilterBar_module_default.viewToggle, children: [
890
+ /* @__PURE__ */ jsxs(
891
+ "button",
892
+ {
893
+ type: "button",
894
+ className: clsx25(FilterBar_module_default.chip, view === "grid" && FilterBar_module_default.active),
895
+ onClick: () => onViewChange("grid"),
896
+ "aria-pressed": view === "grid",
897
+ children: [
898
+ /* @__PURE__ */ jsx(Icon, { type: "grid", size: 20, "aria-hidden": "true" }),
899
+ /* @__PURE__ */ jsx("span", { className: FilterBar_module_default.chipLabel, children: "Grid" })
900
+ ]
901
+ }
902
+ ),
903
+ /* @__PURE__ */ jsxs(
904
+ "button",
905
+ {
906
+ type: "button",
907
+ className: clsx25(FilterBar_module_default.chip, view === "list" && FilterBar_module_default.active),
908
+ onClick: () => onViewChange("list"),
909
+ "aria-pressed": view === "list",
910
+ children: [
911
+ /* @__PURE__ */ jsx(Icon, { type: "list", size: 20, "aria-hidden": "true" }),
912
+ /* @__PURE__ */ jsx("span", { className: FilterBar_module_default.chipLabel, children: "List" })
913
+ ]
914
+ }
915
+ )
916
+ ] }),
917
+ /* @__PURE__ */ jsxs("div", { className: FilterBar_module_default.filterActions, children: [
918
+ /* @__PURE__ */ jsxs(
919
+ "div",
920
+ {
921
+ className: clsx25(
922
+ FilterBar_module_default.dropdownWrapper,
923
+ isMobile && searchState === "open" && FilterBar_module_default.filterFaded,
924
+ isMobile && searchState === "closing" && FilterBar_module_default.filterFading
925
+ ),
926
+ ref: filterRef,
927
+ children: [
928
+ /* @__PURE__ */ jsxs(
929
+ "button",
930
+ {
931
+ type: "button",
932
+ className: clsx25(FilterBar_module_default.chip, filterValue !== "all" && FilterBar_module_default.active),
933
+ onClick: () => setOpenDropdown(openDropdown === "filter" ? null : "filter"),
934
+ "aria-expanded": openDropdown === "filter",
935
+ children: [
936
+ /* @__PURE__ */ jsx(Icon, { type: "filter", size: 20, "aria-hidden": "true" }),
937
+ !isMobile && /* @__PURE__ */ jsx("span", { className: FilterBar_module_default.chipLabel, children: "Filter" })
938
+ ]
939
+ }
940
+ ),
941
+ openDropdown === "filter" && /* @__PURE__ */ jsx("div", { className: FilterBar_module_default.dropdownPanel, role: "listbox", "aria-label": "Filter by type", children: FILTER_OPTIONS.map((opt) => /* @__PURE__ */ jsxs(
942
+ "button",
943
+ {
944
+ type: "button",
945
+ role: "option",
946
+ "aria-selected": filterValue === opt.value,
947
+ className: clsx25(
948
+ FilterBar_module_default.dropdownOption,
949
+ filterValue === opt.value && FilterBar_module_default.selected
950
+ ),
951
+ onClick: () => {
952
+ onFilterChange(filterValue === opt.value ? "all" : opt.value);
953
+ setOpenDropdown(null);
954
+ },
955
+ children: [
956
+ /* @__PURE__ */ jsx(Icon, { type: opt.icon, size: 20, "aria-hidden": "true" }),
957
+ opt.label
958
+ ]
959
+ },
960
+ opt.value
961
+ )) })
962
+ ]
963
+ }
964
+ ),
965
+ /* @__PURE__ */ jsxs(
966
+ "div",
967
+ {
968
+ className: clsx25(
969
+ FilterBar_module_default.dropdownWrapper,
970
+ isMobile && searchState === "open" && FilterBar_module_default.filterFaded,
971
+ isMobile && searchState === "closing" && FilterBar_module_default.filterFading
972
+ ),
973
+ ref: sortRef,
974
+ children: [
975
+ /* @__PURE__ */ jsxs(
976
+ "button",
977
+ {
978
+ type: "button",
979
+ className: FilterBar_module_default.chip,
980
+ onClick: () => setOpenDropdown(openDropdown === "sort" ? null : "sort"),
981
+ "aria-expanded": openDropdown === "sort",
982
+ children: [
983
+ /* @__PURE__ */ jsx(Icon, { type: "internalFilter", size: 20, "aria-hidden": "true" }),
984
+ !isMobile && /* @__PURE__ */ jsx("span", { className: FilterBar_module_default.chipLabel, children: "Sort" })
985
+ ]
986
+ }
987
+ ),
988
+ openDropdown === "sort" && /* @__PURE__ */ jsx("div", { className: FilterBar_module_default.dropdownPanel, role: "listbox", "aria-label": "Sort by", children: SORT_OPTIONS.map((opt) => /* @__PURE__ */ jsx(
989
+ "button",
990
+ {
991
+ type: "button",
992
+ role: "option",
993
+ "aria-selected": sortValue === opt.value,
994
+ className: clsx25(
995
+ FilterBar_module_default.dropdownOption,
996
+ sortValue === opt.value && FilterBar_module_default.selected
997
+ ),
998
+ onClick: () => {
999
+ onSortChange(opt.value);
1000
+ setOpenDropdown(null);
1001
+ },
1002
+ children: opt.label
1003
+ },
1004
+ opt.value
1005
+ )) })
1006
+ ]
1007
+ }
1008
+ ),
1009
+ searchState !== "closed" ? /* @__PURE__ */ jsxs(
1010
+ "div",
1011
+ {
1012
+ className: clsx25(
1013
+ FilterBar_module_default.searchExpanded,
1014
+ searchState === "closing" && FilterBar_module_default.searchCollapsing
1015
+ ),
1016
+ onAnimationEnd: () => {
1017
+ if (searchState === "closing") setSearchState("closed");
1018
+ },
1019
+ children: [
1020
+ /* @__PURE__ */ jsx("span", { className: FilterBar_module_default.searchIconInner, children: /* @__PURE__ */ jsx(Icon, { type: "search", size: 20, "aria-hidden": "true" }) }),
1021
+ /* @__PURE__ */ jsx(
1022
+ "input",
1023
+ {
1024
+ ref: searchInputRef,
1025
+ type: "text",
1026
+ className: FilterBar_module_default.searchInput,
1027
+ placeholder: "Search\u2026",
1028
+ value: searchValue,
1029
+ onChange: (e) => onSearchChange(e.target.value),
1030
+ onKeyDown: (e) => {
1031
+ if (e.key === "Escape") {
1032
+ if (searchValue) clearSearch();
1033
+ else closeSearch();
1034
+ }
1035
+ },
1036
+ onBlur: () => {
1037
+ if (!searchValue) closeSearch();
1038
+ }
1039
+ }
1040
+ ),
1041
+ searchValue && /* @__PURE__ */ jsx(
1042
+ "button",
1043
+ {
1044
+ type: "button",
1045
+ className: FilterBar_module_default.searchClear,
1046
+ "aria-label": "Clear search",
1047
+ onMouseDown: (e) => e.preventDefault(),
1048
+ onClick: clearSearch,
1049
+ children: /* @__PURE__ */ jsx(Icon, { type: "xBlack", size: 16, "aria-hidden": "true" })
1050
+ }
1051
+ )
1052
+ ]
1053
+ }
1054
+ ) : /* @__PURE__ */ jsxs(
1055
+ "button",
1056
+ {
1057
+ type: "button",
1058
+ className: FilterBar_module_default.chip,
1059
+ onClick: () => {
1060
+ setOpenDropdown(null);
1061
+ setSearchState("open");
1062
+ },
1063
+ children: [
1064
+ /* @__PURE__ */ jsx(Icon, { type: "search", size: 20, "aria-hidden": "true" }),
1065
+ !isMobile && /* @__PURE__ */ jsx("span", { className: FilterBar_module_default.chipLabel, children: "Search" })
1066
+ ]
1067
+ }
1068
+ )
1069
+ ] })
1070
+ ] });
1071
+ }
818
1072
  var InfoCardTitle = ({ children }) => {
819
1073
  return /* @__PURE__ */ jsx(Fragment, { children });
820
1074
  };
@@ -837,9 +1091,9 @@ var InfoCard = ({ className, title, subtitle, icon, badge, children }) => {
837
1091
  });
838
1092
  const titleNode = (_a = slots.title) != null ? _a : title;
839
1093
  const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
840
- return /* @__PURE__ */ jsxs("div", { className: clsx23(InfoCard_module_default["info-card"], { [InfoCard_module_default.hasIcon]: !!icon }, className), children: [
1094
+ return /* @__PURE__ */ jsxs("div", { className: clsx25(InfoCard_module_default["info-card"], { [InfoCard_module_default.hasIcon]: !!icon }, className), children: [
841
1095
  /* @__PURE__ */ jsxs("div", { className: InfoCard_module_default.header, children: [
842
- icon ? /* @__PURE__ */ jsx(Icon, { type: icon }) : badge ? /* @__PURE__ */ jsx("div", { className: clsx23(InfoCard_module_default.badge, "h4"), children: badge }) : null,
1096
+ icon ? /* @__PURE__ */ jsx(Icon, { type: icon }) : badge ? /* @__PURE__ */ jsx("div", { className: clsx25(InfoCard_module_default.badge, "h4"), children: badge }) : null,
843
1097
  titleNode && /* @__PURE__ */ jsx("div", { className: "h4", children: titleNode })
844
1098
  ] }),
845
1099
  subtitleNode && /* @__PURE__ */ jsx("div", { className: "body", children: subtitleNode })
@@ -901,7 +1155,7 @@ var Pagination = ({
901
1155
  setActivePage(page);
902
1156
  onPageChange == null ? void 0 : onPageChange(page);
903
1157
  };
904
- return /* @__PURE__ */ jsxs("div", { className: clsx23(Pagination_module_default.pagination, className), children: [
1158
+ return /* @__PURE__ */ jsxs("div", { className: clsx25(Pagination_module_default.pagination, className), children: [
905
1159
  !disableArrows && /* @__PURE__ */ jsx(
906
1160
  "button",
907
1161
  {
@@ -918,7 +1172,7 @@ var Pagination = ({
918
1172
  "button",
919
1173
  {
920
1174
  onClick: () => goToPage(page),
921
- className: clsx23(Pagination_module_default.page, {
1175
+ className: clsx25(Pagination_module_default.page, {
922
1176
  [Pagination_module_default.active]: activePage === page,
923
1177
  [Pagination_module_default.number]: hasNumber
924
1178
  }),
@@ -954,7 +1208,7 @@ var PracticeCard_module_default = {
954
1208
  };
955
1209
  var PracticeCard = ({ className, title, cta, image }) => {
956
1210
  const { url: href, isExternal } = cta != null ? cta : {};
957
- return /* @__PURE__ */ jsx("div", { className: clsx23(PracticeCard_module_default["practice-card"], className), children: /* @__PURE__ */ jsxs(
1211
+ return /* @__PURE__ */ jsx("div", { className: clsx25(PracticeCard_module_default["practice-card"], className), children: /* @__PURE__ */ jsxs(
958
1212
  ConditionalWrapper,
959
1213
  __spreadProps(__spreadValues({
960
1214
  className: PracticeCard_module_default.wrapper,
@@ -965,7 +1219,7 @@ var PracticeCard = ({ className, title, cta, image }) => {
965
1219
  children: [
966
1220
  image && /* @__PURE__ */ jsx(Picture, __spreadValues({ className: PracticeCard_module_default.background }, image)),
967
1221
  /* @__PURE__ */ jsxs("div", { className: PracticeCard_module_default.container, children: [
968
- title && /* @__PURE__ */ jsx("div", { className: clsx23(PracticeCard_module_default.title, "h3"), children: title }),
1222
+ title && /* @__PURE__ */ jsx("div", { className: clsx25(PracticeCard_module_default.title, "h3"), children: title }),
969
1223
  href && /* @__PURE__ */ jsxs("div", { className: PracticeCard_module_default.cta, children: [
970
1224
  /* @__PURE__ */ jsx(Icon, { className: PracticeCard_module_default.ctaRest, type: "right" }),
971
1225
  /* @__PURE__ */ jsx(Icon, { className: PracticeCard_module_default.ctaHover, type: "tiltedRight" })
@@ -976,6 +1230,106 @@ var PracticeCard = ({ className, title, cta, image }) => {
976
1230
  ) });
977
1231
  };
978
1232
 
1233
+ // src/components/ResourceCardItem/ResourceCardItem.module.scss
1234
+ var ResourceCardItem_module_default = {
1235
+ cardLink: "ResourceCardItem_module_cardLink",
1236
+ cardGrid: "ResourceCardItem_module_cardGrid",
1237
+ cardBody: "ResourceCardItem_module_cardBody",
1238
+ cardIconTitle: "ResourceCardItem_module_cardIconTitle",
1239
+ cardTitle: "ResourceCardItem_module_cardTitle",
1240
+ cardMeta: "ResourceCardItem_module_cardMeta",
1241
+ cardDate: "ResourceCardItem_module_cardDate",
1242
+ cardList: "ResourceCardItem_module_cardList",
1243
+ cardListLeft: "ResourceCardItem_module_cardListLeft",
1244
+ cardListRight: "ResourceCardItem_module_cardListRight",
1245
+ notificationDot: "ResourceCardItem_module_notificationDot",
1246
+ iconWrapper: "ResourceCardItem_module_iconWrapper"
1247
+ };
1248
+ var ResourceIcon = ({ image, type }) => {
1249
+ if (!image) return null;
1250
+ return /* @__PURE__ */ jsx("div", { className: ResourceCardItem_module_default.iconWrapper, children: /* @__PURE__ */ jsx("img", { src: image, alt: type != null ? type : "", width: 32, height: 32 }) });
1251
+ };
1252
+ var ResourceCardItem = ({ item, view }) => {
1253
+ const hasHref = Boolean(item.href);
1254
+ const linkWrapper = ({ children }) => /* @__PURE__ */ jsx("a", { href: item.href, className: ResourceCardItem_module_default.cardLink, target: "_blank", rel: "noopener noreferrer", children });
1255
+ if (view === "grid") {
1256
+ return /* @__PURE__ */ jsx("article", { className: ResourceCardItem_module_default.cardGrid, children: /* @__PURE__ */ jsxs("div", { className: ResourceCardItem_module_default.cardBody, children: [
1257
+ /* @__PURE__ */ jsx(ConditionalWrapper, { condition: hasHref, wrapper: linkWrapper, children: /* @__PURE__ */ jsxs("div", { className: ResourceCardItem_module_default.cardIconTitle, children: [
1258
+ /* @__PURE__ */ jsx(ResourceIcon, { image: item.image, type: item.type }),
1259
+ /* @__PURE__ */ jsx("span", { className: ResourceCardItem_module_default.cardTitle, children: item.title })
1260
+ ] }) }),
1261
+ /* @__PURE__ */ jsxs("div", { className: ResourceCardItem_module_default.cardMeta, children: [
1262
+ /* @__PURE__ */ jsx("span", { className: ResourceCardItem_module_default.cardDate, children: item.date }),
1263
+ item.hasNotification && /* @__PURE__ */ jsx("span", { className: ResourceCardItem_module_default.notificationDot, "aria-label": "New" })
1264
+ ] })
1265
+ ] }) });
1266
+ }
1267
+ return /* @__PURE__ */ jsxs("article", { className: ResourceCardItem_module_default.cardList, children: [
1268
+ /* @__PURE__ */ jsxs("div", { className: ResourceCardItem_module_default.cardListLeft, children: [
1269
+ item.hasNotification && /* @__PURE__ */ jsx("span", { className: ResourceCardItem_module_default.notificationDot, "aria-label": "New" }),
1270
+ /* @__PURE__ */ jsx("span", { className: ResourceCardItem_module_default.cardDate, children: item.date })
1271
+ ] }),
1272
+ /* @__PURE__ */ jsx(ConditionalWrapper, { condition: hasHref, wrapper: linkWrapper, children: /* @__PURE__ */ jsxs("div", { className: ResourceCardItem_module_default.cardListRight, children: [
1273
+ /* @__PURE__ */ jsx(ResourceIcon, { image: item.image, type: item.type }),
1274
+ /* @__PURE__ */ jsx("span", { className: ResourceCardItem_module_default.cardTitle, children: item.title })
1275
+ ] }) })
1276
+ ] });
1277
+ };
1278
+
1279
+ // src/components/Sidebar/Sidebar.module.scss
1280
+ var Sidebar_module_default = {
1281
+ sidebar: "Sidebar_module_sidebar",
1282
+ sidebarItem: "Sidebar_module_sidebarItem",
1283
+ active: "Sidebar_module_active",
1284
+ sidebarMobile: "Sidebar_module_sidebarMobile",
1285
+ hamburger: "Sidebar_module_hamburger",
1286
+ notificationDot: "Sidebar_module_notificationDot"
1287
+ };
1288
+ var Sidebar = ({
1289
+ categories,
1290
+ isMobile,
1291
+ onToggle,
1292
+ selectedIndex,
1293
+ onSelect
1294
+ }) => {
1295
+ if (isMobile) {
1296
+ return /* @__PURE__ */ jsx("div", { className: Sidebar_module_default.sidebarMobile, children: /* @__PURE__ */ jsx(
1297
+ "button",
1298
+ {
1299
+ type: "button",
1300
+ className: Sidebar_module_default.hamburger,
1301
+ "aria-label": "Open categories",
1302
+ onClick: onToggle,
1303
+ children: /* @__PURE__ */ jsx(Icon, { type: "menuBlack", size: 20, "aria-hidden": "true" })
1304
+ }
1305
+ ) });
1306
+ }
1307
+ return /* @__PURE__ */ jsx("nav", { className: Sidebar_module_default.sidebar, "aria-label": "Resource categories", children: /* @__PURE__ */ jsx("ul", { children: categories.map((cat, i) => {
1308
+ var _a;
1309
+ return /* @__PURE__ */ jsxs(
1310
+ "li",
1311
+ {
1312
+ className: clsx25(Sidebar_module_default.sidebarItem, i === selectedIndex && Sidebar_module_default.active),
1313
+ role: "button",
1314
+ tabIndex: 0,
1315
+ "aria-pressed": i === selectedIndex,
1316
+ onClick: () => onSelect(i),
1317
+ onKeyDown: (e) => {
1318
+ if (e.key === "Enter" || e.key === " ") {
1319
+ e.preventDefault();
1320
+ onSelect(i);
1321
+ }
1322
+ },
1323
+ children: [
1324
+ /* @__PURE__ */ jsx("span", { children: cat.label }),
1325
+ cat.hasNotification && /* @__PURE__ */ jsx("span", { className: Sidebar_module_default.notificationDot, "aria-label": "New" })
1326
+ ]
1327
+ },
1328
+ (_a = cat.label) != null ? _a : i
1329
+ );
1330
+ }) }) });
1331
+ };
1332
+
979
1333
  // src/components/LogoBar/LogoBar.module.scss
980
1334
  var LogoBar_module_default = {
981
1335
  logoBar: "LogoBar_module_logoBar",
@@ -985,7 +1339,7 @@ var LogoBar_module_default = {
985
1339
  };
986
1340
  var LogoBar = ({ className, items }) => {
987
1341
  if (!items || items.length === 0) return null;
988
- return /* @__PURE__ */ jsx("div", { className: clsx23(LogoBar_module_default.logoBar, className), children: items.map((item, key) => {
1342
+ return /* @__PURE__ */ jsx("div", { className: clsx25(LogoBar_module_default.logoBar, className), children: items.map((item, key) => {
989
1343
  return /* @__PURE__ */ jsx(Anchor, { href: item.url, isExternal: item.isExternal, children: /* @__PURE__ */ jsxs("div", { className: LogoBar_module_default.logoWrapper, children: [
990
1344
  item.logo && /* @__PURE__ */ jsx(Picture, __spreadValues({ className: LogoBar_module_default.logo }, item.logo)),
991
1345
  item.hoverLogo && /* @__PURE__ */ jsx(Picture, __spreadValues({ className: LogoBar_module_default.logoHover }, item.hoverLogo))
@@ -1071,13 +1425,13 @@ var CardCollection = ({
1071
1425
  Container,
1072
1426
  {
1073
1427
  ref: container,
1074
- className: clsx23(CardCollection_module_default["card-collection"], CardCollection_module_default[variant], className),
1428
+ className: clsx25(CardCollection_module_default["card-collection"], CardCollection_module_default[variant], className),
1075
1429
  children: [
1076
1430
  /* @__PURE__ */ jsxs("div", { className: CardCollection_module_default.content, children: [
1077
1431
  titleNode && /* @__PURE__ */ jsx("h2", { children: titleNode }),
1078
1432
  subtitleNode && /* @__PURE__ */ jsx("div", { className: "subheading", children: subtitleNode })
1079
1433
  ] }),
1080
- /* @__PURE__ */ jsx("div", { className: CardCollection_module_default.wrapper, children: /* @__PURE__ */ jsxs("div", { className: clsx23(CardCollection_module_default.cardWrapper, { [CardCollection_module_default["is-expanded"]]: isExpanded }), children: [
1434
+ /* @__PURE__ */ jsx("div", { className: CardCollection_module_default.wrapper, children: /* @__PURE__ */ jsxs("div", { className: clsx25(CardCollection_module_default.cardWrapper, { [CardCollection_module_default["is-expanded"]]: isExpanded }), children: [
1081
1435
  visibleCards.map((card, key) => /* @__PURE__ */ jsx(Card2, __spreadValues({ className: CardCollection_module_default.card, variant: theme }, card), key)),
1082
1436
  isExamCard && hiddenCards.length > 0 && /* @__PURE__ */ jsx("div", { ref: revealWrapper, className: CardCollection_module_default["reveal-wrapper"], children: /* @__PURE__ */ jsx("div", { className: CardCollection_module_default["reveal-inner"], children: hiddenCards.map((card, key) => /* @__PURE__ */ jsx(
1083
1437
  Card2,
@@ -1178,7 +1532,7 @@ var ContactModule = ({
1178
1532
  },
1179
1533
  { scope: containerRef, dependencies: [blurred, animateBlur] }
1180
1534
  );
1181
- return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: clsx23(ContactModule_module_default["contact-module"], className), children: [
1535
+ return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: clsx25(ContactModule_module_default["contact-module"], className), children: [
1182
1536
  blurred && /* @__PURE__ */ jsx(
1183
1537
  "div",
1184
1538
  {
@@ -1193,8 +1547,8 @@ var ContactModule = ({
1193
1547
  /* @__PURE__ */ jsxs(Container, { className: ContactModule_module_default.container, children: [
1194
1548
  /* @__PURE__ */ jsxs("div", { className: ContactModule_module_default.wrapper, children: [
1195
1549
  /* @__PURE__ */ jsxs("div", { className: ContactModule_module_default.content, children: [
1196
- titleNode && /* @__PURE__ */ jsx("div", { className: clsx23(ContactModule_module_default.title, "h1"), children: titleNode }),
1197
- subtitleNode && /* @__PURE__ */ jsx("div", { className: clsx23(ContactModule_module_default.subtitle, "subheading"), children: subtitleNode })
1550
+ titleNode && /* @__PURE__ */ jsx("div", { className: clsx25(ContactModule_module_default.title, "h1"), children: titleNode }),
1551
+ subtitleNode && /* @__PURE__ */ jsx("div", { className: clsx25(ContactModule_module_default.subtitle, "subheading"), children: subtitleNode })
1198
1552
  ] }),
1199
1553
  /* @__PURE__ */ jsx("div", { className: ContactModule_module_default["cta-wrapper"], children: ctas == null ? void 0 : ctas.map((cta, key) => /* @__PURE__ */ jsx(
1200
1554
  Button,
@@ -1255,7 +1609,7 @@ var Footer = ({
1255
1609
  disclaimer: FooterDisclaimer
1256
1610
  });
1257
1611
  const titleNode = (_a = slots.disclaimer) != null ? _a : disclaimer;
1258
- return /* @__PURE__ */ jsx("footer", { className: clsx23(Footer_module_default.footer, className), children: /* @__PURE__ */ jsxs(Container, { className: Footer_module_default.container, children: [
1612
+ return /* @__PURE__ */ jsx("footer", { className: clsx25(Footer_module_default.footer, className), children: /* @__PURE__ */ jsxs(Container, { className: Footer_module_default.container, children: [
1259
1613
  /* @__PURE__ */ jsxs("div", { className: Footer_module_default.bottom, children: [
1260
1614
  /* @__PURE__ */ jsxs("div", { className: Footer_module_default["bottom-left"], children: [
1261
1615
  supporters.length > 0 && /* @__PURE__ */ jsx("div", { className: Footer_module_default.supporters, children: /* @__PURE__ */ jsx("div", { className: Footer_module_default["supporters-logos"], children: supporters.map(
@@ -1271,7 +1625,7 @@ var Footer = ({
1271
1625
  index
1272
1626
  ) : /* @__PURE__ */ jsx("div", { className: Footer_module_default["supporter-link-primary"], children: /* @__PURE__ */ jsx(Picture, __spreadValues({}, supporter.image)) }, index)
1273
1627
  ) }) }),
1274
- titleNode && /* @__PURE__ */ jsx("div", { className: clsx23(Footer_module_default.disclaimer, "p"), children: titleNode }),
1628
+ titleNode && /* @__PURE__ */ jsx("div", { className: clsx25(Footer_module_default.disclaimer, "p"), children: titleNode }),
1275
1629
  copyright && /* @__PURE__ */ jsx("p", { className: Footer_module_default.copyright, children: copyright })
1276
1630
  ] }),
1277
1631
  columns.length > 0 && /* @__PURE__ */ jsx("nav", { className: Footer_module_default["bottom-right"], children: columns.map((column, colIndex) => /* @__PURE__ */ jsx("ul", { className: Footer_module_default["nav-list"], children: column.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
@@ -1337,7 +1691,7 @@ var HeroBanner = ({
1337
1691
  var _a, _b;
1338
1692
  const { is } = useViewPort_default();
1339
1693
  const isTabletBelow = is("tablet", "below");
1340
- const vPageHeroBanner = variant === "pageHeroBanner";
1694
+ const vMainHeroBanner = variant === "mainHeroBanner";
1341
1695
  const vBannerPodcast = variant === "bannerPodcast";
1342
1696
  const isTitleLogo = (logo == null ? void 0 : logo.variant) === "titleLogo";
1343
1697
  const GRADIENT_BANDS = [
@@ -1352,7 +1706,7 @@ var HeroBanner = ({
1352
1706
  });
1353
1707
  const titleNode = (_a = slots.title) != null ? _a : title;
1354
1708
  const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
1355
- return /* @__PURE__ */ jsxs("div", { className: clsx23(HeroBanner_module_default.heroBanner, HeroBanner_module_default[variant], className), children: [
1709
+ return /* @__PURE__ */ jsxs("div", { className: clsx25(HeroBanner_module_default.heroBanner, HeroBanner_module_default[variant], className), children: [
1356
1710
  /* @__PURE__ */ jsxs("div", { className: HeroBanner_module_default.container, children: [
1357
1711
  /* @__PURE__ */ jsxs("div", { className: HeroBanner_module_default.banner, children: [
1358
1712
  (titleNode || subtitleNode) && /* @__PURE__ */ jsxs("div", { className: HeroBanner_module_default.text, children: [
@@ -1362,7 +1716,7 @@ var HeroBanner = ({
1362
1716
  {
1363
1717
  tag: "h2",
1364
1718
  promoteToH1,
1365
- className: clsx23(HeroBanner_module_default.title, vBannerPodcast ? "h3" : "h1"),
1719
+ className: clsx25(HeroBanner_module_default.title, vBannerPodcast ? "h3" : "h1"),
1366
1720
  children: titleNode
1367
1721
  }
1368
1722
  ),
@@ -1371,7 +1725,7 @@ var HeroBanner = ({
1371
1725
  {
1372
1726
  tag: "div",
1373
1727
  promoteToH1: promoteToH1 && !titleNode,
1374
- className: clsx23(HeroBanner_module_default.subtitle, "subheading"),
1728
+ className: clsx25(HeroBanner_module_default.subtitle, "subheading"),
1375
1729
  children: subtitleNode
1376
1730
  }
1377
1731
  )
@@ -1382,7 +1736,7 @@ var HeroBanner = ({
1382
1736
  {
1383
1737
  href: cta2.url,
1384
1738
  isExternal: cta2.isExternal,
1385
- variant: key % 2 ? vPageHeroBanner && !isTabletBelow ? "nofill" : "grey" : "primary",
1739
+ variant: key % 2 ? vMainHeroBanner && !isTabletBelow ? "grey" : "nofill" : "primary",
1386
1740
  fullWidth: isTabletBelow,
1387
1741
  logo: cta2.logo,
1388
1742
  children: cta2.label
@@ -1398,7 +1752,7 @@ var HeroBanner = ({
1398
1752
  __spreadValues({
1399
1753
  className: HeroBanner_module_default.brandsStrip,
1400
1754
  variant: "light",
1401
- size: isTabletBelow || vPageHeroBanner ? "small" : void 0
1755
+ size: isTabletBelow || vMainHeroBanner ? void 0 : "small"
1402
1756
  }, brands)
1403
1757
  ),
1404
1758
  backgroundImage && !vBannerPodcast && /* @__PURE__ */ jsx(Picture, __spreadValues({ className: HeroBanner_module_default.backgroundImage }, backgroundImage))
@@ -1448,7 +1802,7 @@ var HeroBannerCarousel = ({
1448
1802
  const [swiperInstance, setSwiperInstance] = useState(null);
1449
1803
  const [activeIndex, setActiveIndex] = useState(0);
1450
1804
  if (!items.length) return null;
1451
- return /* @__PURE__ */ jsx("div", { className: clsx23(HeroBannerCarousel_module_default.heroBannerCarousel, className), children: /* @__PURE__ */ jsxs("div", { className: HeroBannerCarousel_module_default.inner, children: [
1805
+ return /* @__PURE__ */ jsx("div", { className: clsx25(HeroBannerCarousel_module_default.heroBannerCarousel, className), children: /* @__PURE__ */ jsxs("div", { className: HeroBannerCarousel_module_default.inner, children: [
1452
1806
  /* @__PURE__ */ jsx("div", { className: HeroBannerCarousel_module_default.swiperContainer, children: /* @__PURE__ */ jsx(
1453
1807
  Swiper,
1454
1808
  {
@@ -1495,7 +1849,7 @@ var HeroBannerCarousel = ({
1495
1849
  /* @__PURE__ */ jsx("div", { className: HeroBannerCarousel_module_default.pagination, children: items.map((_, index) => /* @__PURE__ */ jsx(
1496
1850
  "button",
1497
1851
  {
1498
- className: clsx23(HeroBannerCarousel_module_default.dot, index === activeIndex && HeroBannerCarousel_module_default.dotActive),
1852
+ className: clsx25(HeroBannerCarousel_module_default.dot, index === activeIndex && HeroBannerCarousel_module_default.dotActive),
1499
1853
  onClick: () => swiperInstance == null ? void 0 : swiperInstance.slideTo(index),
1500
1854
  "aria-label": `Go to slide ${index + 1}`
1501
1855
  },
@@ -1575,7 +1929,7 @@ var AccordionItem = ({
1575
1929
  return /* @__PURE__ */ jsxs(
1576
1930
  "div",
1577
1931
  {
1578
- className: clsx23(
1932
+ className: clsx25(
1579
1933
  Accordion_module_default.accordionItem,
1580
1934
  {
1581
1935
  [Accordion_module_default.accordionItemOpen]: isOpen
@@ -1586,18 +1940,18 @@ var AccordionItem = ({
1586
1940
  /* @__PURE__ */ jsxs(
1587
1941
  "button",
1588
1942
  {
1589
- className: clsx23(Accordion_module_default.accordionHeader, {
1943
+ className: clsx25(Accordion_module_default.accordionHeader, {
1590
1944
  [Accordion_module_default.accordionHeaderOpen]: isOpen
1591
1945
  }),
1592
1946
  onClick: handleToggle,
1593
1947
  "aria-expanded": isOpen,
1594
1948
  "aria-label": `Toggle ${title}`,
1595
1949
  children: [
1596
- /* @__PURE__ */ jsx("div", { className: Accordion_module_default.accordionHeaderLeft, children: /* @__PURE__ */ jsx("span", { className: clsx23("body", Accordion_module_default.accordionTitle), children: title }) }),
1950
+ /* @__PURE__ */ jsx("div", { className: Accordion_module_default.accordionHeaderLeft, children: /* @__PURE__ */ jsx("span", { className: clsx25("body", Accordion_module_default.accordionTitle), children: title }) }),
1597
1951
  /* @__PURE__ */ jsx(
1598
1952
  "span",
1599
1953
  {
1600
- className: clsx23(Accordion_module_default.accordionChevron, {
1954
+ className: clsx25(Accordion_module_default.accordionChevron, {
1601
1955
  [Accordion_module_default.accordionChevronOpen]: isOpen
1602
1956
  }),
1603
1957
  children: isOpen ? /* @__PURE__ */ jsx(Icon, { type: "filledChevronUpBlack", size: 40 }) : /* @__PURE__ */ jsx(Icon, { type: "circleChevronDown", size: 40 })
@@ -1649,7 +2003,7 @@ var Accordion = ({
1649
2003
  if (items.length === 0) {
1650
2004
  return null;
1651
2005
  }
1652
- return /* @__PURE__ */ jsx("div", { className: clsx23(Accordion_module_default.accordion, className), children: items.map((item) => /* @__PURE__ */ jsx(
2006
+ return /* @__PURE__ */ jsx("div", { className: clsx25(Accordion_module_default.accordion, className), children: items.map((item) => /* @__PURE__ */ jsx(
1653
2007
  AccordionItem,
1654
2008
  {
1655
2009
  id: item.id,
@@ -1739,7 +2093,7 @@ var InternalBrandsTab = (props) => {
1739
2093
  };
1740
2094
  })) || [];
1741
2095
  }, [tabs]);
1742
- return /* @__PURE__ */ jsxs(Container, { className: clsx23(InternalBrandsTab_module_default.internalBrandsTab, className), children: [
2096
+ return /* @__PURE__ */ jsxs(Container, { className: clsx25(InternalBrandsTab_module_default.internalBrandsTab, className), children: [
1743
2097
  /* @__PURE__ */ jsxs("div", { className: InternalBrandsTab_module_default.textsContainer, children: [
1744
2098
  title && /* @__PURE__ */ jsx(Text, { tag: "h2", className: InternalBrandsTab_module_default.title, children: title }),
1745
2099
  subTitle && /* @__PURE__ */ jsx("div", { className: InternalBrandsTab_module_default.subTitle, children: subTitle })
@@ -1755,7 +2109,7 @@ var InternalBrandsTab = (props) => {
1755
2109
  },
1756
2110
  index
1757
2111
  )) }),
1758
- /* @__PURE__ */ jsx("div", { className: clsx23(InternalBrandsTab_module_default.contentArea), children: ((_a = tabs == null ? void 0 : tabs[activeIndex]) == null ? void 0 : _a.topContent) && /* @__PURE__ */ jsxs(Fragment, { children: [
2112
+ /* @__PURE__ */ jsx("div", { className: clsx25(InternalBrandsTab_module_default.contentArea), children: ((_a = tabs == null ? void 0 : tabs[activeIndex]) == null ? void 0 : _a.topContent) && /* @__PURE__ */ jsxs(Fragment, { children: [
1759
2113
  /* @__PURE__ */ jsxs("div", { className: InternalBrandsTab_module_default.topContent, children: [
1760
2114
  /* @__PURE__ */ jsxs("div", { children: [
1761
2115
  ((_b = tabs[activeIndex].topContent) == null ? void 0 : _b.title) && /* @__PURE__ */ jsx("p", { className: InternalBrandsTab_module_default.topContentTitle, children: (_c = tabs[activeIndex].topContent) == null ? void 0 : _c.title }),
@@ -1846,17 +2200,17 @@ var MiniBanner = ({
1846
2200
  const pretitleNode = (_a = slots.pretitle) != null ? _a : pretitle;
1847
2201
  const titleNode = (_b = slots.title) != null ? _b : title;
1848
2202
  const subtitleNode = (_c = slots.subtitle) != null ? _c : subtitle;
1849
- return /* @__PURE__ */ jsxs("div", { className: clsx23(MiniBanner_module_default.minibanner, MiniBanner_module_default[variant], className), children: [
2203
+ return /* @__PURE__ */ jsxs("div", { className: clsx25(MiniBanner_module_default.minibanner, MiniBanner_module_default[variant], className), children: [
1850
2204
  ((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__ */ jsx(Picture, __spreadValues({ className: MiniBanner_module_default.background }, background)),
1851
2205
  /* @__PURE__ */ jsxs("div", { className: MiniBanner_module_default.wrapper, children: [
1852
2206
  /* @__PURE__ */ jsxs("div", { className: MiniBanner_module_default.textContainer, children: [
1853
2207
  (logo == null ? void 0 : logo.src) && /* @__PURE__ */ jsx(Picture, __spreadValues({ className: MiniBanner_module_default.logo }, logo)),
1854
- pretitleNode && /* @__PURE__ */ jsx("div", { className: clsx23(MiniBanner_module_default.pretitle, "small"), children: pretitleNode }),
1855
- /* @__PURE__ */ jsx("div", { className: MiniBanner_module_default.headingWrapper, children: titleNode && /* @__PURE__ */ jsx("div", { className: clsx23(MiniBanner_module_default.title, isMiniBannerTextLeft ? "h1" : "h4"), children: titleNode }) }),
2208
+ pretitleNode && /* @__PURE__ */ jsx("div", { className: clsx25(MiniBanner_module_default.pretitle, "small"), children: pretitleNode }),
2209
+ /* @__PURE__ */ jsx("div", { className: MiniBanner_module_default.headingWrapper, children: titleNode && /* @__PURE__ */ jsx("div", { className: clsx25(MiniBanner_module_default.title, isMiniBannerTextLeft ? "h1" : "h4"), children: titleNode }) }),
1856
2210
  subtitleNode && /* @__PURE__ */ jsx(
1857
2211
  "div",
1858
2212
  {
1859
- className: clsx23(MiniBanner_module_default.title, {
2213
+ className: clsx25(MiniBanner_module_default.title, {
1860
2214
  subheading: isMiniBannerNoBG || isMiniBannerTextLeft,
1861
2215
  h1: !isMiniBannerNoBG && !isMiniBannerTextLeft
1862
2216
  }),
@@ -1927,14 +2281,14 @@ var MiniSectionCta = ({
1927
2281
  return /* @__PURE__ */ jsx(
1928
2282
  "div",
1929
2283
  {
1930
- className: clsx23(MiniSectionCta_module_default.miniSectionCta, MiniSectionCta_module_default[variant], theme && MiniSectionCta_module_default[theme], className),
2284
+ className: clsx25(MiniSectionCta_module_default.miniSectionCta, MiniSectionCta_module_default[variant], theme && MiniSectionCta_module_default[theme], className),
1931
2285
  children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsxs("div", { className: MiniSectionCta_module_default.wrapper, children: [
1932
2286
  /* @__PURE__ */ jsxs("div", { className: MiniSectionCta_module_default.col, children: [
1933
2287
  titleNode && /* @__PURE__ */ jsx("h2", { className: variant === "BgColorBlack" || variant === "BgColorGrey" ? "h3" : "h2", children: titleNode }),
1934
2288
  subtitleNode && /* @__PURE__ */ jsx(
1935
2289
  "div",
1936
2290
  {
1937
- className: clsx23(MiniSectionCta_module_default.subtitle, variant === "infoCallout" ? "h4" : "subheading"),
2291
+ className: clsx25(MiniSectionCta_module_default.subtitle, variant === "infoCallout" ? "h4" : "subheading"),
1938
2292
  children: subtitleNode
1939
2293
  }
1940
2294
  )
@@ -1999,7 +2353,7 @@ var PracticePathCards = ({
1999
2353
  const titleNode = (_a = slots.title) != null ? _a : title;
2000
2354
  const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
2001
2355
  const footerNode = (_c = slots.footer) != null ? _c : footer;
2002
- return /* @__PURE__ */ jsx("div", { className: clsx23(PracticePathCards_module_default["practice-path-cards"], className), children: /* @__PURE__ */ jsxs(Container, { className: PracticePathCards_module_default.container, children: [
2356
+ return /* @__PURE__ */ jsx("div", { className: clsx25(PracticePathCards_module_default["practice-path-cards"], className), children: /* @__PURE__ */ jsxs(Container, { className: PracticePathCards_module_default.container, children: [
2003
2357
  /* @__PURE__ */ jsxs("div", { className: PracticePathCards_module_default.wrapper, children: [
2004
2358
  /* @__PURE__ */ jsxs("div", { className: PracticePathCards_module_default.content, children: [
2005
2359
  titleNode && /* @__PURE__ */ jsx("h2", { children: titleNode }),
@@ -2053,8 +2407,8 @@ var Teaser5050With3Text = ({
2053
2407
  title: Teaser5050With3TextTitle
2054
2408
  });
2055
2409
  const titleNode = (_a = slots.title) != null ? _a : title;
2056
- return /* @__PURE__ */ jsx("div", { className: clsx23(Teaser5050With3Text_module_default["teaser5050-3text"], Teaser5050With3Text_module_default[variant], className), children: /* @__PURE__ */ jsxs(Container, { className: Teaser5050With3Text_module_default.container, children: [
2057
- titleNode && /* @__PURE__ */ jsx("div", { className: clsx23(Teaser5050With3Text_module_default.title, "h3"), children: titleNode }),
2410
+ return /* @__PURE__ */ jsx("div", { className: clsx25(Teaser5050With3Text_module_default["teaser5050-3text"], Teaser5050With3Text_module_default[variant], className), children: /* @__PURE__ */ jsxs(Container, { className: Teaser5050With3Text_module_default.container, children: [
2411
+ titleNode && /* @__PURE__ */ jsx("div", { className: clsx25(Teaser5050With3Text_module_default.title, "h3"), children: titleNode }),
2058
2412
  /* @__PURE__ */ jsxs("div", { className: Teaser5050With3Text_module_default.content, children: [
2059
2413
  /* @__PURE__ */ jsx("div", { className: Teaser5050With3Text_module_default.cards, children: cards == null ? void 0 : cards.map((card, key) => /* @__PURE__ */ jsx(InfoCard2, __spreadValues({}, card), key)) }),
2060
2414
  image && /* @__PURE__ */ jsx(Picture, __spreadValues({ className: Teaser5050With3Text_module_default.image }, image))
@@ -2104,12 +2458,12 @@ var Teaser5050WithCta = ({
2104
2458
  return /* @__PURE__ */ jsx(
2105
2459
  "div",
2106
2460
  {
2107
- className: clsx23(Teaser5050WithCta_module_default.teaser5050, Teaser5050WithCta_module_default[variant], className),
2461
+ className: clsx25(Teaser5050WithCta_module_default.teaser5050, Teaser5050WithCta_module_default[variant], className),
2108
2462
  style: { backgroundColor: bgColor ? bgColor : "#ffffff" },
2109
2463
  children: /* @__PURE__ */ jsxs(Container, { className: Teaser5050WithCta_module_default.container, children: [
2110
2464
  /* @__PURE__ */ jsxs("div", { className: Teaser5050WithCta_module_default.wrapper, children: [
2111
2465
  /* @__PURE__ */ jsxs("div", { className: Teaser5050WithCta_module_default.content, children: [
2112
- titleNode && /* @__PURE__ */ jsx("div", { className: clsx23(Teaser5050WithCta_module_default.title, "h3"), children: titleNode }),
2466
+ titleNode && /* @__PURE__ */ jsx("div", { className: clsx25(Teaser5050WithCta_module_default.title, "h3"), children: titleNode }),
2113
2467
  subtitleNode && /* @__PURE__ */ jsx("div", { className: "subheading", children: subtitleNode })
2114
2468
  ] }),
2115
2469
  (ctas == null ? void 0 : ctas.length) && /* @__PURE__ */ jsx("div", { className: Teaser5050WithCta_module_default.ctaWrapper, children: ctas.map((cta, key) => /* @__PURE__ */ jsx(
@@ -2173,7 +2527,7 @@ var UpcomingEventCard = ({
2173
2527
  return /* @__PURE__ */ jsxs(
2174
2528
  "article",
2175
2529
  {
2176
- className: clsx23(
2530
+ className: clsx25(
2177
2531
  "card",
2178
2532
  UpcomingEventCard_module_default["event-card"],
2179
2533
  UpcomingEventCard_module_default[direction],
@@ -2181,26 +2535,26 @@ var UpcomingEventCard = ({
2181
2535
  className
2182
2536
  ),
2183
2537
  children: [
2184
- /* @__PURE__ */ jsxs("div", { className: clsx23("card-content", UpcomingEventCard_module_default["event-card-content"]), children: [
2185
- showImage && image && /* @__PURE__ */ jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx23("card-image", UpcomingEventCard_module_default["event-card-image"]) })),
2538
+ /* @__PURE__ */ jsxs("div", { className: clsx25("card-content", UpcomingEventCard_module_default["event-card-content"]), children: [
2539
+ showImage && image && /* @__PURE__ */ jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx25("card-image", UpcomingEventCard_module_default["event-card-image"]) })),
2186
2540
  /* @__PURE__ */ jsxs(
2187
2541
  "div",
2188
2542
  {
2189
- className: clsx23(
2543
+ className: clsx25(
2190
2544
  "card-text-content",
2191
2545
  UpcomingEventCard_module_default["event-card-text-content"],
2192
2546
  (!showImage || !hasImage) && UpcomingEventCard_module_default["event-card-show-image"]
2193
2547
  ),
2194
2548
  children: [
2195
2549
  /* @__PURE__ */ jsx("span", { className: UpcomingEventCard_module_default.date, children: date }),
2196
- title && /* @__PURE__ */ jsx("h3", { className: clsx23("card-text-title"), children: title }),
2550
+ title && /* @__PURE__ */ jsx("h3", { className: clsx25("card-text-title"), children: title }),
2197
2551
  location && /* @__PURE__ */ jsx("span", { className: UpcomingEventCard_module_default.location, children: location }),
2198
- description && /* @__PURE__ */ jsx("div", { className: clsx23("card-text-description", UpcomingEventCard_module_default.description), children: description }),
2552
+ description && /* @__PURE__ */ jsx("div", { className: clsx25("card-text-description", UpcomingEventCard_module_default.description), children: description }),
2199
2553
  cta && cta.url && /* @__PURE__ */ jsx(
2200
2554
  Button,
2201
2555
  {
2202
2556
  variant: "secondary",
2203
- className: clsx23(
2557
+ className: clsx25(
2204
2558
  "card-cta",
2205
2559
  UpcomingEventCard_module_default["event-card-cta"],
2206
2560
  !hasCTAandImage && UpcomingEventCard_module_default.hidden
@@ -2219,12 +2573,12 @@ var UpcomingEventCard = ({
2219
2573
  cta && cta.url && /* @__PURE__ */ jsx(
2220
2574
  "div",
2221
2575
  {
2222
- className: clsx23("card-footer", UpcomingEventCard_module_default["event-card-footer"], hasImage && UpcomingEventCard_module_default.hidden),
2576
+ className: clsx25("card-footer", UpcomingEventCard_module_default["event-card-footer"], hasImage && UpcomingEventCard_module_default.hidden),
2223
2577
  children: /* @__PURE__ */ jsx(
2224
2578
  Button,
2225
2579
  {
2226
2580
  variant: "secondary",
2227
- className: clsx23("card-cta", UpcomingEventCard_module_default["event-card-cta"]),
2581
+ className: clsx25("card-cta", UpcomingEventCard_module_default["event-card-cta"]),
2228
2582
  fullWidth: isBelowMobile,
2229
2583
  href: cta.url,
2230
2584
  icon: cta.icon,
@@ -2261,7 +2615,7 @@ var Carousel = (_a) => {
2261
2615
  },
2262
2616
  role: "region",
2263
2617
  "aria-label": ariaLabel,
2264
- className: clsx23(Carousel_module_default.carousel, className),
2618
+ className: clsx25(Carousel_module_default.carousel, className),
2265
2619
  spaceBetween: 0,
2266
2620
  slidesPerView: "auto",
2267
2621
  modules: [FreeMode, A11y],
@@ -2271,7 +2625,7 @@ var Carousel = (_a) => {
2271
2625
  children: slides.map((slide, index) => /* @__PURE__ */ jsx(
2272
2626
  SwiperSlide,
2273
2627
  {
2274
- className: clsx23(Carousel_module_default["carousel-item"], props.slideClass),
2628
+ className: clsx25(Carousel_module_default["carousel-item"], props.slideClass),
2275
2629
  children: slide
2276
2630
  },
2277
2631
  index
@@ -2321,13 +2675,13 @@ var EventList = ({
2321
2675
  return /* @__PURE__ */ jsx(
2322
2676
  "div",
2323
2677
  {
2324
- className: clsx23("event-list-module", EventList_module_default["event-list-module"], className),
2678
+ className: clsx25("event-list-module", EventList_module_default["event-list-module"], className),
2325
2679
  style: {
2326
2680
  backgroundColor
2327
2681
  },
2328
- children: /* @__PURE__ */ jsxs(Container, { className: clsx23(EventList_module_default["event-list-container"]), children: [
2682
+ children: /* @__PURE__ */ jsxs(Container, { className: clsx25(EventList_module_default["event-list-container"]), children: [
2329
2683
  /* @__PURE__ */ jsxs("div", { className: EventList_module_default["event-list-header-container"], children: [
2330
- titleNode && /* @__PURE__ */ jsx("h2", { className: clsx23(EventList_module_default["event-list-title"]), children: titleNode }),
2684
+ titleNode && /* @__PURE__ */ jsx("h2", { className: clsx25(EventList_module_default["event-list-title"]), children: titleNode }),
2331
2685
  cta && cta.url && /* @__PURE__ */ jsx(
2332
2686
  Button,
2333
2687
  {
@@ -2344,7 +2698,7 @@ var EventList = ({
2344
2698
  Carousel,
2345
2699
  {
2346
2700
  "aria-label": "Upcoming events",
2347
- wrapperClass: clsx23(EventList_module_default["carousel-wrapper"], EventList_module_default[variant]),
2701
+ wrapperClass: clsx25(EventList_module_default["carousel-wrapper"], EventList_module_default[variant]),
2348
2702
  slideClass: EventList_module_default["carousel-list-item"],
2349
2703
  spaceBetween: 16,
2350
2704
  slides: items.map((item) => {
@@ -2352,7 +2706,7 @@ var EventList = ({
2352
2706
  return /* @__PURE__ */ jsx(
2353
2707
  UpcomingEventCard,
2354
2708
  __spreadValues({
2355
- className: clsx23(EventList_module_default["event-card"]),
2709
+ className: clsx25(EventList_module_default["event-card"]),
2356
2710
  direction: "vertical",
2357
2711
  showImage: false
2358
2712
  }, item),
@@ -2365,17 +2719,17 @@ var EventList = ({
2365
2719
  "ul",
2366
2720
  {
2367
2721
  "aria-label": "Upcoming events",
2368
- className: clsx23(EventList_module_default["event-list-wrapper"], EventList_module_default["horizontal"], EventList_module_default[variant]),
2722
+ className: clsx25(EventList_module_default["event-list-wrapper"], EventList_module_default["horizontal"], EventList_module_default[variant]),
2369
2723
  children: items == null ? void 0 : items.map((item, index) => {
2370
2724
  var _a2, _b, _c;
2371
2725
  return /* @__PURE__ */ jsx(
2372
2726
  "li",
2373
2727
  {
2374
- className: clsx23(EventList_module_default["card-list-item"]),
2728
+ className: clsx25(EventList_module_default["card-list-item"]),
2375
2729
  children: /* @__PURE__ */ jsx(
2376
2730
  UpcomingEventCard,
2377
2731
  __spreadProps(__spreadValues({}, item), {
2378
- className: clsx23(EventList_module_default["card-item"]),
2732
+ className: clsx25(EventList_module_default["card-item"]),
2379
2733
  showImage: false,
2380
2734
  direction: "vertical"
2381
2735
  })
@@ -2390,7 +2744,7 @@ var EventList = ({
2390
2744
  "ul",
2391
2745
  {
2392
2746
  "aria-label": "Upcoming events",
2393
- className: clsx23(EventList_module_default["event-list-wrapper"], EventList_module_default[listDirection]),
2747
+ className: clsx25(EventList_module_default["event-list-wrapper"], EventList_module_default[listDirection]),
2394
2748
  children: items == null ? void 0 : items.map((item, index) => {
2395
2749
  var _a2, _b, _c;
2396
2750
  return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(UpcomingEventCard, __spreadProps(__spreadValues({}, item), { direction: cardDirection })) }, (_c = (_b = (_a2 = item.title) != null ? _a2 : item.date) != null ? _b : item.location) != null ? _c : index);
@@ -2437,9 +2791,9 @@ var TextEvent = (props) => {
2437
2791
  });
2438
2792
  const titleNode = (_a = slots.title) != null ? _a : title;
2439
2793
  const richTextNode = (_b = slots.richText) != null ? _b : richText;
2440
- return /* @__PURE__ */ jsxs(Container, { className: clsx23(TextEvent_module_default.textEvent, className), children: [
2794
+ return /* @__PURE__ */ jsxs(Container, { className: clsx25(TextEvent_module_default.textEvent, className), children: [
2441
2795
  /* @__PURE__ */ jsx(Text, { tag: "h2", className: TextEvent_module_default.title, children: titleNode }),
2442
- /* @__PURE__ */ jsx("div", { className: clsx23(TextEvent_module_default.richText, TextEvent_module_default[variant != null ? variant : ""]), children: richTextNode })
2796
+ /* @__PURE__ */ jsx("div", { className: clsx25(TextEvent_module_default.richText, TextEvent_module_default[variant != null ? variant : ""]), children: richTextNode })
2443
2797
  ] });
2444
2798
  };
2445
2799
 
@@ -2470,7 +2824,7 @@ var TextBody = (props) => {
2470
2824
  });
2471
2825
  const titleNode = (_a = slots.title) != null ? _a : title;
2472
2826
  const bodyNode = (_b = slots.body) != null ? _b : body;
2473
- return /* @__PURE__ */ jsxs(Container, { className: clsx23(TextBody_module_default.textBody, className), children: [
2827
+ return /* @__PURE__ */ jsxs(Container, { className: clsx25(TextBody_module_default.textBody, className), children: [
2474
2828
  titleNode && /* @__PURE__ */ jsx(Text, { tag: "h2", className: TextBody_module_default.title, children: titleNode }),
2475
2829
  /* @__PURE__ */ jsx("div", { className: TextBody_module_default.body, children: bodyNode })
2476
2830
  ] });
@@ -2513,7 +2867,7 @@ var TextCenterCtaInBottom = ({
2513
2867
  });
2514
2868
  const titleNode = (_a = slots.title) != null ? _a : title;
2515
2869
  const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
2516
- return /* @__PURE__ */ jsx("div", { className: clsx23(TextCenterCtaInBottom_module_default.textCenterCta, className), children: /* @__PURE__ */ jsxs(Container, { className: TextCenterCtaInBottom_module_default.container, children: [
2870
+ return /* @__PURE__ */ jsx("div", { className: clsx25(TextCenterCtaInBottom_module_default.textCenterCta, className), children: /* @__PURE__ */ jsxs(Container, { className: TextCenterCtaInBottom_module_default.container, children: [
2517
2871
  /* @__PURE__ */ jsxs("div", { className: TextCenterCtaInBottom_module_default.content, children: [
2518
2872
  titleNode && /* @__PURE__ */ jsx("div", { className: TextCenterCtaInBottom_module_default.title, children: titleNode }),
2519
2873
  subtitleNode && /* @__PURE__ */ jsx("div", { className: TextCenterCtaInBottom_module_default.subtitle, children: subtitleNode })
@@ -2521,7 +2875,7 @@ var TextCenterCtaInBottom = ({
2521
2875
  !!(ctas == null ? void 0 : ctas.length) && /* @__PURE__ */ jsx(
2522
2876
  "div",
2523
2877
  {
2524
- className: clsx23(
2878
+ className: clsx25(
2525
2879
  TextCenterCtaInBottom_module_default.ctaWrapper,
2526
2880
  ctas.every((cta) => !cta.label && cta.logo) && TextCenterCtaInBottom_module_default.iconOnly
2527
2881
  ),
@@ -2551,425 +2905,19 @@ var TextCenterCtaInBottom2 = Object.assign(TextCenterCtaInBottom, {
2551
2905
  // src/widgets/ResourcesGridList/ResourcesGridList.module.scss
2552
2906
  var ResourcesGridList_module_default = {
2553
2907
  widget: "ResourcesGridList_module_widget",
2554
- filterBar: "ResourcesGridList_module_filterBar",
2555
- viewToggle: "ResourcesGridList_module_viewToggle",
2556
- filterActions: "ResourcesGridList_module_filterActions",
2557
- chip: "ResourcesGridList_module_chip",
2558
- active: "ResourcesGridList_module_active",
2559
- chipLabel: "ResourcesGridList_module_chipLabel",
2560
- dropdownWrapper: "ResourcesGridList_module_dropdownWrapper",
2561
- searchExpanded: "ResourcesGridList_module_searchExpanded",
2562
- searchExpand: "ResourcesGridList_module_searchExpand",
2563
- searchCollapsing: "ResourcesGridList_module_searchCollapsing",
2564
- searchCollapse: "ResourcesGridList_module_searchCollapse",
2565
- searchIconInner: "ResourcesGridList_module_searchIconInner",
2566
- searchInput: "ResourcesGridList_module_searchInput",
2567
- searchClear: "ResourcesGridList_module_searchClear",
2568
- dropdownPanel: "ResourcesGridList_module_dropdownPanel",
2569
- searchPanel: "ResourcesGridList_module_searchPanel",
2570
- dropdownOption: "ResourcesGridList_module_dropdownOption",
2571
- selected: "ResourcesGridList_module_selected",
2572
2908
  content: "ResourcesGridList_module_content",
2573
2909
  mobileSidebarOverlay: "ResourcesGridList_module_mobileSidebarOverlay",
2574
2910
  mobileSidebarOverlayOpen: "ResourcesGridList_module_mobileSidebarOverlayOpen",
2575
2911
  mobileCategoriesPanel: "ResourcesGridList_module_mobileCategoriesPanel",
2576
2912
  mobileCategoriesList: "ResourcesGridList_module_mobileCategoriesList",
2577
2913
  mobileSidebarItem: "ResourcesGridList_module_mobileSidebarItem",
2914
+ active: "ResourcesGridList_module_active",
2578
2915
  mobileSidebarCloseColumn: "ResourcesGridList_module_mobileSidebarCloseColumn",
2579
- sidebar: "ResourcesGridList_module_sidebar",
2580
- sidebarItem: "ResourcesGridList_module_sidebarItem",
2581
- sidebarMobile: "ResourcesGridList_module_sidebarMobile",
2582
2916
  hamburger: "ResourcesGridList_module_hamburger",
2583
2917
  cardsArea: "ResourcesGridList_module_cardsArea",
2584
2918
  grid: "ResourcesGridList_module_grid",
2585
2919
  list: "ResourcesGridList_module_list",
2586
- cardLink: "ResourcesGridList_module_cardLink",
2587
- cardGrid: "ResourcesGridList_module_cardGrid",
2588
- cardBody: "ResourcesGridList_module_cardBody",
2589
- cardIconTitle: "ResourcesGridList_module_cardIconTitle",
2590
- cardTitle: "ResourcesGridList_module_cardTitle",
2591
- cardMeta: "ResourcesGridList_module_cardMeta",
2592
- cardDate: "ResourcesGridList_module_cardDate",
2593
- cardList: "ResourcesGridList_module_cardList",
2594
- cardListLeft: "ResourcesGridList_module_cardListLeft",
2595
- cardListRight: "ResourcesGridList_module_cardListRight",
2596
- notificationDot: "ResourcesGridList_module_notificationDot",
2597
- iconWrapper: "ResourcesGridList_module_iconWrapper",
2598
- pagination: "ResourcesGridList_module_pagination",
2599
- pageArrow: "ResourcesGridList_module_pageArrow",
2600
- pageDotActive: "ResourcesGridList_module_pageDotActive",
2601
- pageDot: "ResourcesGridList_module_pageDot"
2602
- };
2603
- var FILTER_OPTIONS = [
2604
- { value: "link", label: "Link", icon: "externalLink" },
2605
- { value: "pdf", label: "PDF", icon: "pdf" }
2606
- ];
2607
- var SORT_OPTIONS = [
2608
- { value: "latest", label: "Latest" },
2609
- { value: "oldest", label: "Oldest" },
2610
- { value: "az", label: "A \u2192 Z" },
2611
- { value: "za", label: "Z \u2192 A" }
2612
- ];
2613
- function FilterBar({
2614
- view,
2615
- onViewChange,
2616
- isMobile,
2617
- filterValue,
2618
- onFilterChange,
2619
- sortValue,
2620
- onSortChange,
2621
- searchValue,
2622
- onSearchChange
2623
- }) {
2624
- const [openDropdown, setOpenDropdown] = useState(null);
2625
- const [searchState, setSearchState] = useState("closed");
2626
- const filterRef = useRef(null);
2627
- const sortRef = useRef(null);
2628
- const searchRef = useRef(null);
2629
- const searchInputRef = useRef(null);
2630
- const closeSearch = () => {
2631
- setSearchState("closing");
2632
- onSearchChange("");
2633
- };
2634
- const clearSearch = () => {
2635
- var _a;
2636
- onSearchChange("");
2637
- (_a = searchInputRef.current) == null ? void 0 : _a.focus();
2638
- };
2639
- useEffect(() => {
2640
- const handleMouseDown = (e) => {
2641
- var _a, _b, _c;
2642
- const target = e.target;
2643
- if (((_a = filterRef.current) == null ? void 0 : _a.contains(target)) || ((_b = sortRef.current) == null ? void 0 : _b.contains(target)) || ((_c = searchRef.current) == null ? void 0 : _c.contains(target)))
2644
- return;
2645
- setOpenDropdown(null);
2646
- };
2647
- document.addEventListener("mousedown", handleMouseDown);
2648
- return () => document.removeEventListener("mousedown", handleMouseDown);
2649
- }, []);
2650
- useEffect(() => {
2651
- var _a;
2652
- if (searchState === "open") (_a = searchInputRef.current) == null ? void 0 : _a.focus();
2653
- }, [searchState]);
2654
- useEffect(() => {
2655
- var _a;
2656
- if (openDropdown === "search") (_a = searchInputRef.current) == null ? void 0 : _a.focus();
2657
- }, [openDropdown]);
2658
- return /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.filterBar, children: [
2659
- /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.viewToggle, children: [
2660
- /* @__PURE__ */ jsxs(
2661
- "button",
2662
- {
2663
- type: "button",
2664
- className: clsx23(ResourcesGridList_module_default.chip, view === "grid" && ResourcesGridList_module_default.active),
2665
- onClick: () => onViewChange("grid"),
2666
- "aria-pressed": view === "grid",
2667
- children: [
2668
- /* @__PURE__ */ jsx(Icon, { type: "grid", size: 20, "aria-hidden": "true" }),
2669
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.chipLabel, children: "Grid" })
2670
- ]
2671
- }
2672
- ),
2673
- /* @__PURE__ */ jsxs(
2674
- "button",
2675
- {
2676
- type: "button",
2677
- className: clsx23(ResourcesGridList_module_default.chip, view === "list" && ResourcesGridList_module_default.active),
2678
- onClick: () => onViewChange("list"),
2679
- "aria-pressed": view === "list",
2680
- children: [
2681
- /* @__PURE__ */ jsx(Icon, { type: "list", size: 20, "aria-hidden": "true" }),
2682
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.chipLabel, children: "List" })
2683
- ]
2684
- }
2685
- )
2686
- ] }),
2687
- /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.filterActions, children: [
2688
- /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.dropdownWrapper, ref: filterRef, children: [
2689
- /* @__PURE__ */ jsxs(
2690
- "button",
2691
- {
2692
- type: "button",
2693
- className: clsx23(ResourcesGridList_module_default.chip, filterValue !== "all" && ResourcesGridList_module_default.active),
2694
- onClick: () => setOpenDropdown(openDropdown === "filter" ? null : "filter"),
2695
- "aria-expanded": openDropdown === "filter",
2696
- children: [
2697
- /* @__PURE__ */ jsx(Icon, { type: "filter", size: 20, "aria-hidden": "true" }),
2698
- !isMobile && /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.chipLabel, children: "Filter" })
2699
- ]
2700
- }
2701
- ),
2702
- openDropdown === "filter" && /* @__PURE__ */ jsx("div", { className: ResourcesGridList_module_default.dropdownPanel, role: "listbox", "aria-label": "Filter by type", children: FILTER_OPTIONS.map((opt) => /* @__PURE__ */ jsxs(
2703
- "button",
2704
- {
2705
- type: "button",
2706
- role: "option",
2707
- "aria-selected": filterValue === opt.value,
2708
- className: clsx23(
2709
- ResourcesGridList_module_default.dropdownOption,
2710
- filterValue === opt.value && ResourcesGridList_module_default.selected
2711
- ),
2712
- onClick: () => {
2713
- onFilterChange(filterValue === opt.value ? "all" : opt.value);
2714
- setOpenDropdown(null);
2715
- },
2716
- children: [
2717
- /* @__PURE__ */ jsx(Icon, { type: opt.icon, size: 20, "aria-hidden": "true" }),
2718
- opt.label
2719
- ]
2720
- },
2721
- opt.value
2722
- )) })
2723
- ] }),
2724
- /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.dropdownWrapper, ref: sortRef, children: [
2725
- /* @__PURE__ */ jsxs(
2726
- "button",
2727
- {
2728
- type: "button",
2729
- className: ResourcesGridList_module_default.chip,
2730
- onClick: () => setOpenDropdown(openDropdown === "sort" ? null : "sort"),
2731
- "aria-expanded": openDropdown === "sort",
2732
- children: [
2733
- /* @__PURE__ */ jsx(Icon, { type: "internalFilter", size: 20, "aria-hidden": "true" }),
2734
- !isMobile && /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.chipLabel, children: "Sort" })
2735
- ]
2736
- }
2737
- ),
2738
- openDropdown === "sort" && /* @__PURE__ */ jsx("div", { className: ResourcesGridList_module_default.dropdownPanel, role: "listbox", "aria-label": "Sort by", children: SORT_OPTIONS.map((opt) => /* @__PURE__ */ jsx(
2739
- "button",
2740
- {
2741
- type: "button",
2742
- role: "option",
2743
- "aria-selected": sortValue === opt.value,
2744
- className: clsx23(
2745
- ResourcesGridList_module_default.dropdownOption,
2746
- sortValue === opt.value && ResourcesGridList_module_default.selected
2747
- ),
2748
- onClick: () => {
2749
- onSortChange(opt.value);
2750
- setOpenDropdown(null);
2751
- },
2752
- children: opt.label
2753
- },
2754
- opt.value
2755
- )) })
2756
- ] }),
2757
- isMobile ? (
2758
- /* Mobile — popup panel, mirroring the Filter/Sort dropdowns */
2759
- /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.dropdownWrapper, ref: searchRef, children: [
2760
- /* @__PURE__ */ jsx(
2761
- "button",
2762
- {
2763
- type: "button",
2764
- className: clsx23(ResourcesGridList_module_default.chip, searchValue !== "" && ResourcesGridList_module_default.active),
2765
- onClick: () => setOpenDropdown(openDropdown === "search" ? null : "search"),
2766
- "aria-expanded": openDropdown === "search",
2767
- "aria-label": "Search",
2768
- children: /* @__PURE__ */ jsx(Icon, { type: "search", size: 20, "aria-hidden": "true" })
2769
- }
2770
- ),
2771
- openDropdown === "search" && /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.searchPanel, children: [
2772
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.searchIconInner, children: /* @__PURE__ */ jsx(Icon, { type: "search", size: 20, "aria-hidden": "true" }) }),
2773
- /* @__PURE__ */ jsx(
2774
- "input",
2775
- {
2776
- ref: searchInputRef,
2777
- type: "text",
2778
- className: ResourcesGridList_module_default.searchInput,
2779
- placeholder: "Search\u2026",
2780
- value: searchValue,
2781
- onChange: (e) => onSearchChange(e.target.value),
2782
- onKeyDown: (e) => {
2783
- if (e.key === "Escape") {
2784
- if (searchValue) clearSearch();
2785
- else setOpenDropdown(null);
2786
- }
2787
- }
2788
- }
2789
- ),
2790
- searchValue && /* @__PURE__ */ jsx(
2791
- "button",
2792
- {
2793
- type: "button",
2794
- className: ResourcesGridList_module_default.searchClear,
2795
- "aria-label": "Clear search",
2796
- onClick: clearSearch,
2797
- children: /* @__PURE__ */ jsx(Icon, { type: "xBlack", size: 16, "aria-hidden": "true" })
2798
- }
2799
- )
2800
- ] })
2801
- ] })
2802
- ) : searchState !== "closed" ? (
2803
- /* Desktop — animated inline expand */
2804
- /* @__PURE__ */ jsxs(
2805
- "div",
2806
- {
2807
- className: clsx23(
2808
- ResourcesGridList_module_default.searchExpanded,
2809
- searchState === "closing" && ResourcesGridList_module_default.searchCollapsing
2810
- ),
2811
- onAnimationEnd: () => {
2812
- if (searchState === "closing") setSearchState("closed");
2813
- },
2814
- children: [
2815
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.searchIconInner, children: /* @__PURE__ */ jsx(Icon, { type: "search", size: 20, "aria-hidden": "true" }) }),
2816
- /* @__PURE__ */ jsx(
2817
- "input",
2818
- {
2819
- ref: searchInputRef,
2820
- type: "text",
2821
- className: ResourcesGridList_module_default.searchInput,
2822
- placeholder: "Search\u2026",
2823
- value: searchValue,
2824
- onChange: (e) => onSearchChange(e.target.value),
2825
- onKeyDown: (e) => {
2826
- if (e.key === "Escape") {
2827
- if (searchValue) clearSearch();
2828
- else closeSearch();
2829
- }
2830
- },
2831
- onBlur: () => {
2832
- if (!searchValue) closeSearch();
2833
- }
2834
- }
2835
- ),
2836
- searchValue && /* @__PURE__ */ jsx(
2837
- "button",
2838
- {
2839
- type: "button",
2840
- className: ResourcesGridList_module_default.searchClear,
2841
- "aria-label": "Clear search",
2842
- onMouseDown: (e) => e.preventDefault(),
2843
- onClick: clearSearch,
2844
- children: /* @__PURE__ */ jsx(Icon, { type: "xBlack", size: 16, "aria-hidden": "true" })
2845
- }
2846
- )
2847
- ]
2848
- }
2849
- )
2850
- ) : /* @__PURE__ */ jsxs("button", { type: "button", className: ResourcesGridList_module_default.chip, onClick: () => setSearchState("open"), children: [
2851
- /* @__PURE__ */ jsx(Icon, { type: "search", size: 20, "aria-hidden": "true" }),
2852
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.chipLabel, children: "Search" })
2853
- ] })
2854
- ] })
2855
- ] });
2856
- }
2857
- var Sidebar = ({
2858
- categories,
2859
- isMobile,
2860
- onToggle,
2861
- selectedIndex,
2862
- onSelect
2863
- }) => {
2864
- if (isMobile) {
2865
- return /* @__PURE__ */ jsx("div", { className: ResourcesGridList_module_default.sidebarMobile, children: /* @__PURE__ */ jsx(
2866
- "button",
2867
- {
2868
- type: "button",
2869
- className: ResourcesGridList_module_default.hamburger,
2870
- "aria-label": "Open categories",
2871
- onClick: onToggle,
2872
- children: /* @__PURE__ */ jsx(Icon, { type: "menuBlack", size: 20, "aria-hidden": "true" })
2873
- }
2874
- ) });
2875
- }
2876
- return /* @__PURE__ */ jsx("nav", { className: ResourcesGridList_module_default.sidebar, "aria-label": "Resource categories", children: /* @__PURE__ */ jsx("ul", { children: categories.map((cat, i) => {
2877
- var _a;
2878
- return /* @__PURE__ */ jsxs(
2879
- "li",
2880
- {
2881
- className: clsx23(ResourcesGridList_module_default.sidebarItem, i === selectedIndex && ResourcesGridList_module_default.active),
2882
- role: "button",
2883
- tabIndex: 0,
2884
- "aria-pressed": i === selectedIndex,
2885
- onClick: () => onSelect(i),
2886
- onKeyDown: (e) => {
2887
- if (e.key === "Enter" || e.key === " ") {
2888
- e.preventDefault();
2889
- onSelect(i);
2890
- }
2891
- },
2892
- children: [
2893
- /* @__PURE__ */ jsx("span", { children: cat.label }),
2894
- cat.hasNotification && /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.notificationDot, "aria-label": "New" })
2895
- ]
2896
- },
2897
- (_a = cat.label) != null ? _a : i
2898
- );
2899
- }) }) });
2900
- };
2901
- var ResourceIcon = ({ image, type }) => {
2902
- if (!image) return null;
2903
- return /* @__PURE__ */ jsx("div", { className: ResourcesGridList_module_default.iconWrapper, children: /* @__PURE__ */ jsx("img", { src: image, alt: type != null ? type : "", width: 32, height: 32 }) });
2904
- };
2905
- var ResourceCardItem = ({ item, view }) => {
2906
- const hasHref = Boolean(item.href);
2907
- const linkWrapper = ({ children }) => /* @__PURE__ */ jsx("a", { href: item.href, className: ResourcesGridList_module_default.cardLink, target: "_blank", rel: "noopener noreferrer", children });
2908
- if (view === "grid") {
2909
- return /* @__PURE__ */ jsx("article", { className: ResourcesGridList_module_default.cardGrid, children: /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.cardBody, children: [
2910
- /* @__PURE__ */ jsx(ConditionalWrapper, { condition: hasHref, wrapper: linkWrapper, children: /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.cardIconTitle, children: [
2911
- /* @__PURE__ */ jsx(ResourceIcon, { image: item.image, type: item.type }),
2912
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.cardTitle, children: item.title })
2913
- ] }) }),
2914
- /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.cardMeta, children: [
2915
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.cardDate, children: item.date }),
2916
- item.hasNotification && /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.notificationDot, "aria-label": "New" })
2917
- ] })
2918
- ] }) });
2919
- }
2920
- return /* @__PURE__ */ jsxs("article", { className: ResourcesGridList_module_default.cardList, children: [
2921
- /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.cardListLeft, children: [
2922
- item.hasNotification && /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.notificationDot, "aria-label": "New" }),
2923
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.cardDate, children: item.date })
2924
- ] }),
2925
- /* @__PURE__ */ jsx(ConditionalWrapper, { condition: hasHref, wrapper: linkWrapper, children: /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.cardListRight, children: [
2926
- /* @__PURE__ */ jsx(ResourceIcon, { image: item.image, type: item.type }),
2927
- /* @__PURE__ */ jsx("span", { className: ResourcesGridList_module_default.cardTitle, children: item.title })
2928
- ] }) })
2929
- ] });
2930
- };
2931
- var Pagination3 = ({ currentPage, totalPages, onPageChange }) => {
2932
- const isFirst = currentPage <= 1;
2933
- const isLast = currentPage >= totalPages;
2934
- return /* @__PURE__ */ jsxs("div", { className: ResourcesGridList_module_default.pagination, "aria-label": "Pagination", children: [
2935
- /* @__PURE__ */ jsx(
2936
- "button",
2937
- {
2938
- type: "button",
2939
- className: ResourcesGridList_module_default.pageArrow,
2940
- "aria-label": "Previous page",
2941
- disabled: isFirst,
2942
- onClick: () => onPageChange(currentPage - 1),
2943
- children: /* @__PURE__ */ jsx(Icon, { type: "chevronLeftBlack", size: 32, "aria-hidden": "true" })
2944
- }
2945
- ),
2946
- Array.from({ length: totalPages }, (_, i) => {
2947
- const page = i + 1;
2948
- const isActive = page === currentPage;
2949
- return /* @__PURE__ */ jsx(
2950
- "button",
2951
- {
2952
- type: "button",
2953
- className: clsx23(isActive ? ResourcesGridList_module_default.pageDotActive : ResourcesGridList_module_default.pageDot),
2954
- "aria-label": `Page ${page}`,
2955
- "aria-current": isActive ? "page" : void 0,
2956
- onClick: () => onPageChange(page)
2957
- },
2958
- page
2959
- );
2960
- }),
2961
- /* @__PURE__ */ jsx(
2962
- "button",
2963
- {
2964
- type: "button",
2965
- className: ResourcesGridList_module_default.pageArrow,
2966
- "aria-label": "Next page",
2967
- disabled: isLast,
2968
- onClick: () => onPageChange(currentPage + 1),
2969
- children: /* @__PURE__ */ jsx(Icon, { type: "chevronRightBlack", size: 32, "aria-hidden": "true" })
2970
- }
2971
- )
2972
- ] });
2920
+ notificationDot: "ResourcesGridList_module_notificationDot"
2973
2921
  };
2974
2922
  var ITEMS_PER_PAGE = 12;
2975
2923
  var ResourcesGridList = ({
@@ -3025,7 +2973,7 @@ var ResourcesGridList = ({
3025
2973
  const safeCurrentPage = Math.min(currentPage, totalPages);
3026
2974
  const pageStart = (safeCurrentPage - 1) * ITEMS_PER_PAGE;
3027
2975
  const paginatedItems = displayedItems.slice(pageStart, pageStart + ITEMS_PER_PAGE);
3028
- return /* @__PURE__ */ jsxs("div", { className: clsx23(ResourcesGridList_module_default.widget, className), children: [
2976
+ return /* @__PURE__ */ jsxs("div", { className: clsx25(ResourcesGridList_module_default.widget, className), children: [
3029
2977
  /* @__PURE__ */ jsx(
3030
2978
  FilterBar,
3031
2979
  {
@@ -3044,7 +2992,7 @@ var ResourcesGridList = ({
3044
2992
  isMobile && /* @__PURE__ */ jsxs(
3045
2993
  "div",
3046
2994
  {
3047
- className: clsx23(
2995
+ className: clsx25(
3048
2996
  ResourcesGridList_module_default.mobileSidebarOverlay,
3049
2997
  isSidebarOpen && ResourcesGridList_module_default.mobileSidebarOverlayOpen
3050
2998
  ),
@@ -3055,7 +3003,7 @@ var ResourcesGridList = ({
3055
3003
  return /* @__PURE__ */ jsxs(
3056
3004
  "li",
3057
3005
  {
3058
- className: clsx23(
3006
+ className: clsx25(
3059
3007
  ResourcesGridList_module_default.mobileSidebarItem,
3060
3008
  i === selectedCategory && ResourcesGridList_module_default.active
3061
3009
  ),
@@ -3100,18 +3048,20 @@ var ResourcesGridList = ({
3100
3048
  onSelect: handleSelectCategory
3101
3049
  }
3102
3050
  ),
3103
- /* @__PURE__ */ jsx("div", { className: clsx23(ResourcesGridList_module_default.cardsArea, ResourcesGridList_module_default[view]), children: paginatedItems.map((item, i) => {
3051
+ /* @__PURE__ */ jsx("div", { className: clsx25(ResourcesGridList_module_default.cardsArea, ResourcesGridList_module_default[view]), children: paginatedItems.map((item, i) => {
3104
3052
  var _a2;
3105
3053
  return /* @__PURE__ */ jsx(ResourceCardItem, { item, view }, (_a2 = item.title) != null ? _a2 : i);
3106
3054
  }) })
3107
3055
  ] }),
3108
3056
  totalPages > 1 && /* @__PURE__ */ jsx(
3109
- Pagination3,
3057
+ Pagination,
3110
3058
  {
3111
3059
  currentPage: safeCurrentPage,
3112
3060
  totalPages,
3061
+ loop: false,
3113
3062
  onPageChange: setCurrentPage
3114
- }
3063
+ },
3064
+ `${selectedCategory}-${filterValue}-${sortValue}-${searchQuery}`
3115
3065
  )
3116
3066
  ] });
3117
3067
  };
@@ -3144,6 +3094,6 @@ function useIntersectionObserver({
3144
3094
  return { observeRef, isVisible };
3145
3095
  }
3146
3096
 
3147
- export { Anchor, BrandsStrip, Button, Card2 as Card, CardCollection2 as CardCollection, ConditionalWrapper, ContactModule2 as ContactModule, Container, CountingCard2 as CountingCard, EventList2 as EventList, Footer, HeroBanner2 as HeroBanner, HeroBannerCarousel, Icon, InfoCard2 as InfoCard, InternalBrandsTab2 as InternalBrandsTab, LogoBar, MiniBanner2 as MiniBanner, MiniSectionCta2 as MiniSectionCta, Pagination, Picture, PracticeCard, PracticePathCards2 as PracticePathCards, ResourcesGridList, Teaser5050With3Text2 as Teaser5050With3Text, Teaser5050WithCta2 as Teaser5050WithCta, TextBody2 as TextBody, TextCenterCtaInBottom2 as TextCenterCtaInBottom, TextEvent2 as TextEvent, resolveCompoundSlots, svgs, useIntersectionObserver };
3097
+ export { Anchor, BrandsStrip, Button, Card2 as Card, CardCollection2 as CardCollection, ConditionalWrapper, ContactModule2 as ContactModule, Container, CountingCard2 as CountingCard, EventList2 as EventList, FilterBar, Footer, HeroBanner2 as HeroBanner, HeroBannerCarousel, Icon, InfoCard2 as InfoCard, InternalBrandsTab2 as InternalBrandsTab, LogoBar, MiniBanner2 as MiniBanner, MiniSectionCta2 as MiniSectionCta, Pagination, Picture, PracticeCard, PracticePathCards2 as PracticePathCards, ResourceCardItem, ResourcesGridList, Sidebar, Teaser5050With3Text2 as Teaser5050With3Text, Teaser5050WithCta2 as Teaser5050WithCta, TextBody2 as TextBody, TextCenterCtaInBottom2 as TextCenterCtaInBottom, TextEvent2 as TextEvent, resolveCompoundSlots, svgs, useIntersectionObserver };
3148
3098
  //# sourceMappingURL=index.mjs.map
3149
3099
  //# sourceMappingURL=index.mjs.map