@digital-b2c/coreui-kit 0.14.7 → 0.15.1
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/LICENSE.txt +21 -21
- package/README.md +52 -52
- package/dist/index.cjs +1233 -511
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +813 -103
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +96 -2
- package/dist/index.d.ts +96 -2
- package/dist/index.mjs +1166 -447
- package/dist/index.mjs.map +1 -1
- package/dist/types/global.d.ts +25 -25
- package/package.json +100 -101
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var clsx47 = require('clsx');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var
|
|
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
|
|
17
|
-
var
|
|
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:
|
|
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:
|
|
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 =
|
|
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:
|
|
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] =
|
|
529
|
+
const [device, setDevice] = React70.useState(
|
|
514
530
|
() => typeof window !== "undefined" ? getDeviceType(window.innerWidth) : "desktop"
|
|
515
531
|
);
|
|
516
|
-
const getOtherDevices =
|
|
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 =
|
|
539
|
+
const onWindowResize = React70.useCallback(() => {
|
|
524
540
|
setDevice(getDeviceType(window.innerWidth));
|
|
525
541
|
}, []);
|
|
526
542
|
const onWindowResizeDebounce = useDebounce_default(onWindowResize, 100);
|
|
527
|
-
|
|
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] =
|
|
581
|
-
const [shouldAnimate, setShouldAnimate] =
|
|
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 =
|
|
585
|
-
const marqueeRef =
|
|
586
|
-
const timeline =
|
|
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 =
|
|
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:
|
|
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:
|
|
699
|
-
title && logos.length === 1 && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
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:
|
|
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
|
-
|
|
734
|
-
if (!
|
|
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 =
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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] =
|
|
890
|
-
const [searchState, setSearchState] =
|
|
891
|
-
const filterRef =
|
|
892
|
-
const sortRef =
|
|
893
|
-
const searchInputRef =
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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] =
|
|
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:
|
|
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 =
|
|
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(
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1519
|
-
showImage && image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className:
|
|
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:
|
|
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:
|
|
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:
|
|
1533
|
-
cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
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:
|
|
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:
|
|
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:
|
|
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 =
|
|
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 =
|
|
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:
|
|
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 =
|
|
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 =
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1725
|
-
startAdornment && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
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:
|
|
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:
|
|
1748
|
-
endAction && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
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:
|
|
1751
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: errorId, className:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1816
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { className:
|
|
1817
|
-
/* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date.value, className:
|
|
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:
|
|
1820
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className:
|
|
1821
|
-
typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
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:
|
|
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:
|
|
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:
|
|
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 =
|
|
1899
|
-
const revealWrapper =
|
|
1900
|
-
const extraCard =
|
|
1901
|
-
const [isExpanded, setIsExpanded] =
|
|
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 =
|
|
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:
|
|
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:
|
|
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 =
|
|
2017
|
-
const blurRef =
|
|
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:
|
|
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:
|
|
2067
|
-
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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] =
|
|
2357
|
-
const [activeIndex, setActiveIndex] =
|
|
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:
|
|
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:
|
|
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 =
|
|
2447
|
-
const contentInnerRef =
|
|
2448
|
-
const timelineRef =
|
|
2449
|
-
const [contentHeight, setContentHeight] =
|
|
2450
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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] =
|
|
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:
|
|
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] =
|
|
2882
|
+
const [activeIndex, setActiveIndex] = React70.useState(0);
|
|
2602
2883
|
const { is } = useViewPort_default();
|
|
2603
2884
|
const isTabletBelow = is("tablet", "below");
|
|
2604
|
-
const accordionItems =
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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 ?
|
|
2772
|
-
className:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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] =
|
|
2915
|
-
|
|
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);
|
|
@@ -2923,31 +3176,17 @@ var useIsAtTop = () => {
|
|
|
2923
3176
|
// src/widgets/Navigation/Navigation.module.scss
|
|
2924
3177
|
var Navigation_module_default = {
|
|
2925
3178
|
dropdownTitle: "Navigation_module_dropdownTitle",
|
|
2926
|
-
dropdownLink: "Navigation_module_dropdownLink",
|
|
2927
|
-
dropdownDescription: "Navigation_module_dropdownDescription",
|
|
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
|
-
|
|
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
|
-
|
|
2944
|
-
|
|
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
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
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
|
+
navTabActive: "Navigation_module_navTabActive",
|
|
3207
|
+
inner: "Navigation_module_inner",
|
|
3208
|
+
topRow: "Navigation_module_topRow",
|
|
3209
|
+
logoLink: "Navigation_module_logoLink",
|
|
3210
|
+
logoMobile: "Navigation_module_logoMobile",
|
|
3211
|
+
hamburger: "Navigation_module_hamburger",
|
|
3212
|
+
bottomRow: "Navigation_module_bottomRow",
|
|
3213
|
+
navTabs: "Navigation_module_navTabs",
|
|
3214
|
+
navTab: "Navigation_module_navTab",
|
|
3215
|
+
navTabTrigger: "Navigation_module_navTabTrigger",
|
|
3216
|
+
navTabTriggerOpen: "Navigation_module_navTabTriggerOpen",
|
|
3217
|
+
dropdownPanel: "Navigation_module_dropdownPanel",
|
|
3218
|
+
dropdownInner: "Navigation_module_dropdownInner",
|
|
3219
|
+
dropdownLinks: "Navigation_module_dropdownLinks",
|
|
3220
|
+
dropdownLinkItem: "Navigation_module_dropdownLinkItem",
|
|
3221
|
+
dropdownLink: "Navigation_module_dropdownLink",
|
|
3222
|
+
dropdownDivider: "Navigation_module_dropdownDivider",
|
|
3223
|
+
dropdownInfo: "Navigation_module_dropdownInfo",
|
|
3224
|
+
dropdownDescription: "Navigation_module_dropdownDescription",
|
|
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,369 @@ 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.dropdownPanel, Navigation_module_default.dropdownPanelOpen),
|
|
3415
|
+
onMouseEnter,
|
|
3416
|
+
onMouseLeave,
|
|
3417
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.dropdownInner, children: [
|
|
3418
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.dropdownLinks, 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.dropdownLink,
|
|
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.dropdownInfo, children: [
|
|
3443
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: Navigation_module_default.dropdownTitle, children: title }),
|
|
3444
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Navigation_module_default.dropdownDescription, children: description })
|
|
3445
|
+
] })
|
|
3446
|
+
] })
|
|
3447
|
+
}
|
|
3448
|
+
);
|
|
3449
|
+
};
|
|
3098
3450
|
var NavigationMobile = ({
|
|
3099
3451
|
id,
|
|
3100
|
-
|
|
3452
|
+
navItems,
|
|
3101
3453
|
mainLogo,
|
|
3454
|
+
logoAlt = "EssilorLuxottica Eye Care",
|
|
3102
3455
|
homeCta,
|
|
3103
|
-
|
|
3104
|
-
|
|
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
|
-
|
|
3109
|
-
const
|
|
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 expandItem = (index) => {
|
|
3472
|
+
setExpanded((prev) => prev.includes(index) ? prev : [...prev, index]);
|
|
3473
|
+
};
|
|
3474
|
+
const collapseItem = (index) => {
|
|
3475
|
+
setExpanded((prev) => prev.filter((i) => i !== index));
|
|
3476
|
+
};
|
|
3477
|
+
const hoverFocusProps = (index) => ({
|
|
3478
|
+
onMouseEnter: () => expandItem(index),
|
|
3479
|
+
onMouseLeave: () => collapseItem(index),
|
|
3480
|
+
onFocus: () => expandItem(index),
|
|
3481
|
+
onBlur: (e) => {
|
|
3482
|
+
if (!e.currentTarget.contains(e.relatedTarget)) collapseItem(index);
|
|
3483
|
+
}
|
|
3484
|
+
});
|
|
3485
|
+
const logo = mainLogo ? /* @__PURE__ */ jsxRuntime.jsx(Picture, { className: Navigation_module_default.logoMobile, src: mainLogo, alt: logoAlt }) : null;
|
|
3486
|
+
if (isExternal) {
|
|
3487
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3488
|
+
"div",
|
|
3489
|
+
{
|
|
3490
|
+
id,
|
|
3491
|
+
className: clsx47__default.default(Navigation_module_default.mobileMenu, isOpen && Navigation_module_default.mobileMenuOpen),
|
|
3492
|
+
role: "dialog",
|
|
3493
|
+
"aria-modal": "true",
|
|
3494
|
+
"aria-label": "Navigation menu",
|
|
3495
|
+
"aria-hidden": !isOpen,
|
|
3496
|
+
children: [
|
|
3497
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileMenuHeader, children: [
|
|
3498
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3499
|
+
NavigationLogo,
|
|
3500
|
+
{
|
|
3501
|
+
mainLogo,
|
|
3502
|
+
homeCta,
|
|
3503
|
+
className: Navigation_module_default.mainLogoMobile,
|
|
3504
|
+
onClick: onClose
|
|
3505
|
+
}
|
|
3506
|
+
),
|
|
3507
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3508
|
+
Button,
|
|
3509
|
+
{
|
|
3510
|
+
type: "button",
|
|
3511
|
+
variant: "nofill",
|
|
3512
|
+
className: Navigation_module_default.hamburgerButton,
|
|
3513
|
+
onClick: onClose,
|
|
3514
|
+
"aria-label": "Close navigation menu",
|
|
3515
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "xBlack", size: 24, "aria-hidden": "true" })
|
|
3516
|
+
}
|
|
3517
|
+
)
|
|
3518
|
+
] }),
|
|
3519
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileMenuItems, children: navItems == null ? void 0 : navItems.map((item, index) => {
|
|
3520
|
+
var _a, _b;
|
|
3521
|
+
const subMenuId = `${baseId}-submenu-${index}`;
|
|
3522
|
+
const isExpanded = expanded.includes(index);
|
|
3523
|
+
return item.type === "dropdown" ? /* @__PURE__ */ jsxRuntime.jsxs("li", __spreadProps(__spreadValues({ className: Navigation_module_default.mobileItem }, hoverFocusProps(index)), { children: [
|
|
3524
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3525
|
+
"button",
|
|
3526
|
+
{
|
|
3527
|
+
type: "button",
|
|
3528
|
+
className: Navigation_module_default.mobileItemTrigger,
|
|
3529
|
+
onClick: () => toggleExpanded(index),
|
|
3530
|
+
"aria-expanded": isExpanded,
|
|
3531
|
+
"aria-controls": subMenuId,
|
|
3532
|
+
children: [
|
|
3533
|
+
item.title,
|
|
3534
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3535
|
+
"span",
|
|
3536
|
+
{
|
|
3537
|
+
className: clsx47__default.default(
|
|
3538
|
+
Navigation_module_default.mobileItemChevron,
|
|
3539
|
+
isExpanded && Navigation_module_default.mobileItemChevronOpen
|
|
3540
|
+
),
|
|
3541
|
+
"aria-hidden": "true",
|
|
3542
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "downChevronBlack", size: 24 })
|
|
3543
|
+
}
|
|
3544
|
+
)
|
|
3545
|
+
]
|
|
3546
|
+
}
|
|
3547
|
+
),
|
|
3548
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3549
|
+
"div",
|
|
3550
|
+
{
|
|
3551
|
+
id: subMenuId,
|
|
3552
|
+
className: clsx47__default.default(Navigation_module_default.mobileSubItems, isExpanded && Navigation_module_default.mobileSubItemsOpen),
|
|
3553
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileSubItemsInner, children: item.items.map(
|
|
3554
|
+
(subItem, i) => {
|
|
3555
|
+
var _a2, _b2;
|
|
3556
|
+
return subItem.type === "link" ? /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3557
|
+
"a",
|
|
3558
|
+
{
|
|
3559
|
+
href: (_a2 = subItem.cta) == null ? void 0 : _a2.url,
|
|
3560
|
+
className: Navigation_module_default.mobileSubLink,
|
|
3561
|
+
onClick: onClose,
|
|
3562
|
+
children: (_b2 = subItem.cta) == null ? void 0 : _b2.label
|
|
3563
|
+
}
|
|
3564
|
+
) }, i) : null;
|
|
3565
|
+
}
|
|
3566
|
+
) })
|
|
3567
|
+
}
|
|
3568
|
+
)
|
|
3569
|
+
] }), 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);
|
|
3570
|
+
}) }),
|
|
3571
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3572
|
+
NavigationCtas,
|
|
3573
|
+
{
|
|
3574
|
+
className: Navigation_module_default.mobileMenuCtas,
|
|
3575
|
+
loginCta,
|
|
3576
|
+
rightButton,
|
|
3577
|
+
loginVariant: "nofillblack"
|
|
3578
|
+
}
|
|
3579
|
+
)
|
|
3580
|
+
]
|
|
3581
|
+
}
|
|
3582
|
+
);
|
|
3583
|
+
}
|
|
3114
3584
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3115
3585
|
"div",
|
|
3116
3586
|
{
|
|
3117
3587
|
id,
|
|
3118
|
-
className:
|
|
3588
|
+
className: clsx47__default.default(Navigation_module_default.internalMobileMenu, isOpen && Navigation_module_default.internalMobileMenuOpen),
|
|
3119
3589
|
role: "dialog",
|
|
3120
3590
|
"aria-modal": "true",
|
|
3121
3591
|
"aria-label": "Navigation menu",
|
|
3122
3592
|
"aria-hidden": !isOpen,
|
|
3123
3593
|
children: [
|
|
3124
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.
|
|
3594
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileHeader, children: [
|
|
3595
|
+
homeCta && logo ? /* @__PURE__ */ jsxRuntime.jsx("a", { href: homeCta, className: Navigation_module_default.logoLink, "aria-label": logoAlt, onClick: onClose, children: logo }) : logo,
|
|
3125
3596
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3126
|
-
|
|
3127
|
-
{
|
|
3128
|
-
mainLogo,
|
|
3129
|
-
homeCta,
|
|
3130
|
-
className: Navigation_module_default.mainLogoMobile,
|
|
3131
|
-
onClick: onClose
|
|
3132
|
-
}
|
|
3133
|
-
),
|
|
3134
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3135
|
-
"button",
|
|
3597
|
+
Button,
|
|
3136
3598
|
{
|
|
3599
|
+
variant: "ghost",
|
|
3137
3600
|
type: "button",
|
|
3138
|
-
className: Navigation_module_default.
|
|
3601
|
+
className: Navigation_module_default.mobileClose,
|
|
3139
3602
|
onClick: onClose,
|
|
3140
3603
|
"aria-label": "Close navigation menu",
|
|
3141
3604
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "xBlack", size: 24, "aria-hidden": "true" })
|
|
3142
3605
|
}
|
|
3143
3606
|
)
|
|
3144
3607
|
] }),
|
|
3145
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3146
|
-
|
|
3608
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileBrandBars, "aria-hidden": "true", children: [
|
|
3609
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.lenscrafters) }),
|
|
3610
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.forEyes) }),
|
|
3611
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.optical) }),
|
|
3612
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.pearleVision) })
|
|
3613
|
+
] }),
|
|
3614
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileItems, children: navItems == null ? void 0 : navItems.map((item, index) => {
|
|
3615
|
+
var _a, _b, _c, _d;
|
|
3147
3616
|
const subMenuId = `${baseId}-submenu-${index}`;
|
|
3148
3617
|
const isExpanded = expanded.includes(index);
|
|
3149
|
-
|
|
3618
|
+
if (item.type === "link") {
|
|
3619
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.internalMobileItem, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3620
|
+
"a",
|
|
3621
|
+
{
|
|
3622
|
+
href: (_a = item.cta) == null ? void 0 : _a.url,
|
|
3623
|
+
className: Navigation_module_default.internalMobileItemLink,
|
|
3624
|
+
target: ((_b = item.cta) == null ? void 0 : _b.isExternal) ? "_blank" : void 0,
|
|
3625
|
+
rel: ((_c = item.cta) == null ? void 0 : _c.isExternal) ? "noopener noreferrer" : void 0,
|
|
3626
|
+
onClick: onClose,
|
|
3627
|
+
children: (_d = item.cta) == null ? void 0 : _d.label
|
|
3628
|
+
}
|
|
3629
|
+
) }, index);
|
|
3630
|
+
}
|
|
3631
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", __spreadProps(__spreadValues({ className: Navigation_module_default.internalMobileItem }, hoverFocusProps(index)), { children: [
|
|
3150
3632
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3151
3633
|
"button",
|
|
3152
3634
|
{
|
|
3153
3635
|
type: "button",
|
|
3154
|
-
className: Navigation_module_default.
|
|
3636
|
+
className: Navigation_module_default.internalMobileItemTrigger,
|
|
3155
3637
|
onClick: () => toggleExpanded(index),
|
|
3156
3638
|
"aria-expanded": isExpanded,
|
|
3157
3639
|
"aria-controls": subMenuId,
|
|
@@ -3160,9 +3642,9 @@ var NavigationMobile = ({
|
|
|
3160
3642
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3161
3643
|
"span",
|
|
3162
3644
|
{
|
|
3163
|
-
className:
|
|
3164
|
-
Navigation_module_default.
|
|
3165
|
-
isExpanded && Navigation_module_default.
|
|
3645
|
+
className: clsx47__default.default(
|
|
3646
|
+
Navigation_module_default.internalMobileItemChevron,
|
|
3647
|
+
isExpanded && Navigation_module_default.internalMobileItemChevronOpen
|
|
3166
3648
|
),
|
|
3167
3649
|
"aria-hidden": "true",
|
|
3168
3650
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "downChevronBlack", size: 24 })
|
|
@@ -3175,129 +3657,273 @@ var NavigationMobile = ({
|
|
|
3175
3657
|
"div",
|
|
3176
3658
|
{
|
|
3177
3659
|
id: subMenuId,
|
|
3178
|
-
className:
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3660
|
+
className: clsx47__default.default(
|
|
3661
|
+
Navigation_module_default.internalMobileSubItems,
|
|
3662
|
+
isExpanded && Navigation_module_default.internalMobileSubItemsOpen
|
|
3663
|
+
),
|
|
3664
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.internalMobileSubItemsInner, children: item.items.map(
|
|
3665
|
+
(sub, i) => {
|
|
3666
|
+
var _a2, _b2, _c2, _d2;
|
|
3667
|
+
return sub.type === "link" ? /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3183
3668
|
"a",
|
|
3184
3669
|
{
|
|
3185
|
-
href: (
|
|
3186
|
-
className: Navigation_module_default.
|
|
3670
|
+
href: (_a2 = sub.cta) == null ? void 0 : _a2.url,
|
|
3671
|
+
className: Navigation_module_default.internalMobileSubLink,
|
|
3672
|
+
target: ((_b2 = sub.cta) == null ? void 0 : _b2.isExternal) ? "_blank" : void 0,
|
|
3673
|
+
rel: ((_c2 = sub.cta) == null ? void 0 : _c2.isExternal) ? "noopener noreferrer" : void 0,
|
|
3187
3674
|
onClick: onClose,
|
|
3188
|
-
children: (
|
|
3675
|
+
children: (_d2 = sub.cta) == null ? void 0 : _d2.label
|
|
3189
3676
|
}
|
|
3190
3677
|
) }, i) : null;
|
|
3191
3678
|
}
|
|
3192
3679
|
) })
|
|
3193
3680
|
}
|
|
3194
3681
|
)
|
|
3195
|
-
] }
|
|
3682
|
+
] }), index);
|
|
3196
3683
|
}) }),
|
|
3197
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3684
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileFooter, children: [
|
|
3685
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3686
|
+
Search,
|
|
3687
|
+
{
|
|
3688
|
+
variant: "pill",
|
|
3689
|
+
placeholder: searchPlaceholder,
|
|
3690
|
+
searchCta,
|
|
3691
|
+
onSearch
|
|
3692
|
+
}
|
|
3693
|
+
),
|
|
3694
|
+
user && /* @__PURE__ */ jsxRuntime.jsx(UserMenu, { user, dropUp: true, fullWidth: true })
|
|
3695
|
+
] })
|
|
3206
3696
|
]
|
|
3207
3697
|
}
|
|
3208
3698
|
);
|
|
3209
3699
|
};
|
|
3700
|
+
var FOCUSABLE_SELECTOR = 'a[href], button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
3701
|
+
var getFocusable = (root) => Array.from(root.querySelectorAll(FOCUSABLE_SELECTOR)).filter(
|
|
3702
|
+
(el) => el.tabIndex !== -1 && el.offsetParent !== null
|
|
3703
|
+
);
|
|
3210
3704
|
var Navigation2 = (props) => {
|
|
3211
|
-
|
|
3212
|
-
const
|
|
3213
|
-
|
|
3214
|
-
|
|
3705
|
+
var _a;
|
|
3706
|
+
const {
|
|
3707
|
+
className,
|
|
3708
|
+
variant,
|
|
3709
|
+
transparent,
|
|
3710
|
+
mainLogo,
|
|
3711
|
+
logoAlt = "EssilorLuxottica Eye Care",
|
|
3712
|
+
homeCta,
|
|
3713
|
+
loginCta,
|
|
3714
|
+
rightButton,
|
|
3715
|
+
navigationItems,
|
|
3716
|
+
user,
|
|
3717
|
+
searchPlaceholder = "Search resources",
|
|
3718
|
+
searchCta,
|
|
3719
|
+
onSearch,
|
|
3720
|
+
brandLogos
|
|
3721
|
+
} = props;
|
|
3722
|
+
const isExternal = variant !== "internal";
|
|
3723
|
+
const [isHovered, setIsHovered] = React70.useState(false);
|
|
3724
|
+
const [openIndex, setOpenIndex] = React70.useState(null);
|
|
3725
|
+
const [isMobileMenuOpen, setIsMobileMenuOpen] = React70.useState(false);
|
|
3726
|
+
const navRef = React70.useRef(null);
|
|
3727
|
+
const closeTimer = React70.useRef(null);
|
|
3215
3728
|
const isAtTop = useIsAtTop();
|
|
3216
3729
|
const { is } = useViewPort_default();
|
|
3217
|
-
const mobileMenuId =
|
|
3730
|
+
const mobileMenuId = React70.useId();
|
|
3731
|
+
const baseId = React70.useId();
|
|
3218
3732
|
const isTabletBelow = is("tablet", "below");
|
|
3219
|
-
const
|
|
3220
|
-
|
|
3733
|
+
const dropdownOpen = openIndex !== null && !isTabletBelow;
|
|
3734
|
+
const isTransparent = !!transparent && isAtTop && !isHovered && !dropdownOpen;
|
|
3735
|
+
const openItem = openIndex !== null ? (_a = navigationItems == null ? void 0 : navigationItems.items) == null ? void 0 : _a[openIndex] : void 0;
|
|
3736
|
+
const showLogoUnfolded = !!brandLogos && isAtTop && !dropdownOpen;
|
|
3737
|
+
const openDropdown = (index) => {
|
|
3738
|
+
if (closeTimer.current) clearTimeout(closeTimer.current);
|
|
3739
|
+
setOpenIndex(index);
|
|
3740
|
+
};
|
|
3741
|
+
const scheduleClose = () => {
|
|
3742
|
+
if (closeTimer.current) clearTimeout(closeTimer.current);
|
|
3743
|
+
closeTimer.current = setTimeout(() => setOpenIndex(null), 120);
|
|
3744
|
+
};
|
|
3745
|
+
const handleNavKeyDown = (e) => {
|
|
3746
|
+
if (e.key !== "Tab" || openIndex === null || !navRef.current) return;
|
|
3747
|
+
const nav = navRef.current;
|
|
3748
|
+
const panelId = `${baseId}-panel-${openIndex}`;
|
|
3749
|
+
const panel = nav.querySelector(`#${CSS.escape(panelId)}`);
|
|
3750
|
+
const trigger = nav.querySelector(`[aria-controls="${panelId}"]`);
|
|
3751
|
+
if (!panel || !trigger) return;
|
|
3752
|
+
const panelItems = getFocusable(panel);
|
|
3753
|
+
if (!panelItems.length) return;
|
|
3754
|
+
const first = panelItems[0];
|
|
3755
|
+
const last = panelItems[panelItems.length - 1];
|
|
3756
|
+
const active = document.activeElement;
|
|
3757
|
+
if (!e.shiftKey && active === trigger) {
|
|
3758
|
+
e.preventDefault();
|
|
3759
|
+
first.focus();
|
|
3760
|
+
return;
|
|
3761
|
+
}
|
|
3762
|
+
if (e.shiftKey && active === first) {
|
|
3763
|
+
e.preventDefault();
|
|
3764
|
+
trigger.focus();
|
|
3765
|
+
return;
|
|
3766
|
+
}
|
|
3767
|
+
if (!e.shiftKey && active === last) {
|
|
3768
|
+
const navItems = getFocusable(nav).filter((el) => !panel.contains(el));
|
|
3769
|
+
const idx = navItems.indexOf(trigger);
|
|
3770
|
+
const next = idx !== -1 ? navItems[idx + 1] : void 0;
|
|
3771
|
+
if (next) {
|
|
3772
|
+
e.preventDefault();
|
|
3773
|
+
next.focus();
|
|
3774
|
+
setOpenIndex(null);
|
|
3775
|
+
}
|
|
3776
|
+
}
|
|
3777
|
+
};
|
|
3778
|
+
React70.useEffect(() => {
|
|
3221
3779
|
document.body.style.overflow = isMobileMenuOpen ? "hidden" : "";
|
|
3222
3780
|
return () => {
|
|
3223
3781
|
document.body.style.overflow = "";
|
|
3224
3782
|
};
|
|
3225
3783
|
}, [isMobileMenuOpen]);
|
|
3784
|
+
React70.useEffect(() => {
|
|
3785
|
+
if (!dropdownOpen) return;
|
|
3786
|
+
const handleKey = (e) => {
|
|
3787
|
+
if (e.key === "Escape") setOpenIndex(null);
|
|
3788
|
+
};
|
|
3789
|
+
const handleOutside = (e) => {
|
|
3790
|
+
if (navRef.current && !navRef.current.contains(e.target)) {
|
|
3791
|
+
setOpenIndex(null);
|
|
3792
|
+
}
|
|
3793
|
+
};
|
|
3794
|
+
document.addEventListener("keydown", handleKey);
|
|
3795
|
+
document.addEventListener("pointerdown", handleOutside);
|
|
3796
|
+
document.addEventListener("focusin", handleOutside);
|
|
3797
|
+
return () => {
|
|
3798
|
+
document.removeEventListener("keydown", handleKey);
|
|
3799
|
+
document.removeEventListener("pointerdown", handleOutside);
|
|
3800
|
+
document.removeEventListener("focusin", handleOutside);
|
|
3801
|
+
};
|
|
3802
|
+
}, [dropdownOpen]);
|
|
3803
|
+
const logo = mainLogo ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3804
|
+
Picture,
|
|
3805
|
+
{
|
|
3806
|
+
className: clsx47__default.default(Navigation_module_default.logo, isTabletBelow && Navigation_module_default.logoMobile),
|
|
3807
|
+
src: mainLogo,
|
|
3808
|
+
alt: logoAlt
|
|
3809
|
+
}
|
|
3810
|
+
) : null;
|
|
3226
3811
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3227
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3228
|
-
"
|
|
3812
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3813
|
+
"nav",
|
|
3229
3814
|
{
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3815
|
+
ref: navRef,
|
|
3816
|
+
className: clsx47__default.default(
|
|
3817
|
+
Navigation_module_default.Navigation,
|
|
3818
|
+
dropdownOpen && Navigation_module_default.dropdownOpen,
|
|
3819
|
+
// External-only transparent / hover treatment.
|
|
3820
|
+
isExternal && transparent && Navigation_module_default.variantTransparent,
|
|
3821
|
+
isExternal && isTransparent && Navigation_module_default.transparent,
|
|
3822
|
+
className
|
|
3235
3823
|
),
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3824
|
+
"aria-label": "Main",
|
|
3825
|
+
onKeyDown: handleNavKeyDown,
|
|
3826
|
+
onMouseEnter: isExternal ? () => setIsHovered(true) : void 0,
|
|
3827
|
+
onMouseLeave: isExternal ? () => setIsHovered(false) : scheduleClose,
|
|
3828
|
+
children: [
|
|
3829
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Navigation_module_default.mainBar, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.inner, children: [
|
|
3830
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.topRow, children: [
|
|
3831
|
+
homeCta && logo ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3832
|
+
NavigationLogo,
|
|
3833
|
+
{
|
|
3834
|
+
mainLogo,
|
|
3835
|
+
homeCta,
|
|
3836
|
+
className: clsx47__default.default(Navigation_module_default.logo, isTabletBelow && Navigation_module_default.logoMobile)
|
|
3837
|
+
}
|
|
3838
|
+
) : logo,
|
|
3839
|
+
isTabletBelow ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3840
|
+
Button,
|
|
3841
|
+
{
|
|
3842
|
+
variant: "nofill",
|
|
3843
|
+
type: "button",
|
|
3844
|
+
className: isExternal ? Navigation_module_default.hamburgerButton : Navigation_module_default.hamburger,
|
|
3845
|
+
onClick: () => setIsMobileMenuOpen(true),
|
|
3846
|
+
"aria-label": "Open navigation menu",
|
|
3847
|
+
"aria-haspopup": "dialog",
|
|
3848
|
+
"aria-expanded": isMobileMenuOpen,
|
|
3849
|
+
"aria-controls": mobileMenuId,
|
|
3850
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3851
|
+
Icon,
|
|
3852
|
+
{
|
|
3853
|
+
type: isExternal && isTransparent ? "menuWhite" : "menuBlack",
|
|
3854
|
+
size: 24,
|
|
3855
|
+
"aria-hidden": "true"
|
|
3856
|
+
}
|
|
3857
|
+
)
|
|
3858
|
+
}
|
|
3859
|
+
) : isExternal ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3860
|
+
NavigationCtas,
|
|
3861
|
+
{
|
|
3862
|
+
className: Navigation_module_default.upperRight,
|
|
3863
|
+
loginCta,
|
|
3864
|
+
rightButton,
|
|
3865
|
+
loginVariant: isTransparent ? "ghost" : "nofillblack"
|
|
3866
|
+
}
|
|
3867
|
+
) : user && /* @__PURE__ */ jsxRuntime.jsx(UserMenu, { user })
|
|
3868
|
+
] }),
|
|
3869
|
+
!isTabletBelow && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.bottomRow, children: [
|
|
3870
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3871
|
+
NavigationDesktop,
|
|
3872
|
+
{
|
|
3873
|
+
navItems: navigationItems == null ? void 0 : navigationItems.items,
|
|
3874
|
+
openIndex,
|
|
3875
|
+
onOpen: openDropdown,
|
|
3876
|
+
onScheduleClose: scheduleClose,
|
|
3877
|
+
baseId,
|
|
3878
|
+
isTransparent
|
|
3879
|
+
}
|
|
3880
|
+
),
|
|
3881
|
+
!isExternal && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3882
|
+
Search,
|
|
3883
|
+
{
|
|
3884
|
+
placeholder: searchPlaceholder,
|
|
3885
|
+
searchCta,
|
|
3886
|
+
onSearch
|
|
3887
|
+
}
|
|
3888
|
+
)
|
|
3889
|
+
] })
|
|
3890
|
+
] }) }),
|
|
3891
|
+
!isExternal && /* @__PURE__ */ jsxRuntime.jsx(NavigationBrandBars, { brandLogos, unfolded: showLogoUnfolded }),
|
|
3892
|
+
dropdownOpen && (openItem == null ? void 0 : openItem.type) === "dropdown" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3893
|
+
NavigationDropdown,
|
|
3291
3894
|
{
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3895
|
+
item: openItem,
|
|
3896
|
+
panelId: `${baseId}-panel-${openIndex}`,
|
|
3897
|
+
baseId,
|
|
3898
|
+
activeIndex: openIndex,
|
|
3899
|
+
onClose: () => setOpenIndex(null),
|
|
3900
|
+
onMouseEnter: () => openDropdown(openIndex),
|
|
3901
|
+
onMouseLeave: scheduleClose
|
|
3295
3902
|
}
|
|
3296
3903
|
)
|
|
3297
|
-
]
|
|
3904
|
+
]
|
|
3298
3905
|
}
|
|
3299
3906
|
),
|
|
3300
|
-
|
|
3907
|
+
dropdownOpen && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Navigation_module_default.overlay, "aria-hidden": "true" }),
|
|
3908
|
+
isTabletBelow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3909
|
+
NavigationMobile,
|
|
3910
|
+
{
|
|
3911
|
+
id: mobileMenuId,
|
|
3912
|
+
navItems: navigationItems == null ? void 0 : navigationItems.items,
|
|
3913
|
+
mainLogo,
|
|
3914
|
+
logoAlt,
|
|
3915
|
+
homeCta,
|
|
3916
|
+
user,
|
|
3917
|
+
searchPlaceholder,
|
|
3918
|
+
searchCta,
|
|
3919
|
+
onSearch,
|
|
3920
|
+
isOpen: isMobileMenuOpen,
|
|
3921
|
+
onClose: () => setIsMobileMenuOpen(false),
|
|
3922
|
+
isExternal,
|
|
3923
|
+
loginCta,
|
|
3924
|
+
rightButton
|
|
3925
|
+
}
|
|
3926
|
+
)
|
|
3301
3927
|
] });
|
|
3302
3928
|
};
|
|
3303
3929
|
var PracticePathCardsFooter = ({ children }) => {
|
|
@@ -3339,7 +3965,7 @@ var PracticePathCards = ({
|
|
|
3339
3965
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3340
3966
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
3341
3967
|
const footerNode = (_c = slots.footer) != null ? _c : footer;
|
|
3342
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3968
|
+
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
3969
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticePathCards_module_default.wrapper, children: [
|
|
3344
3970
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticePathCards_module_default.content, children: [
|
|
3345
3971
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { children: titleNode }),
|
|
@@ -3393,8 +4019,8 @@ var Teaser5050With3Text = ({
|
|
|
3393
4019
|
title: Teaser5050With3TextTitle
|
|
3394
4020
|
});
|
|
3395
4021
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3396
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3397
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4022
|
+
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: [
|
|
4023
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Teaser5050With3Text_module_default.title, "h3"), children: titleNode }),
|
|
3398
4024
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050With3Text_module_default.content, children: [
|
|
3399
4025
|
/* @__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
4026
|
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: Teaser5050With3Text_module_default.image }, image))
|
|
@@ -3444,12 +4070,12 @@ var Teaser5050WithCta = ({
|
|
|
3444
4070
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3445
4071
|
"div",
|
|
3446
4072
|
{
|
|
3447
|
-
className:
|
|
4073
|
+
className: clsx47__default.default(Teaser5050WithCta_module_default.teaser5050, Teaser5050WithCta_module_default[variant], className),
|
|
3448
4074
|
style: { backgroundColor: bgColor ? bgColor : "#ffffff" },
|
|
3449
4075
|
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050WithCta_module_default.container, children: [
|
|
3450
4076
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.wrapper, children: [
|
|
3451
4077
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.content, children: [
|
|
3452
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4078
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Teaser5050WithCta_module_default.title, "h3"), children: titleNode }),
|
|
3453
4079
|
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "subheading", children: subtitleNode })
|
|
3454
4080
|
] }),
|
|
3455
4081
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Teaser5050WithCta_module_default.ctaWrapper, children: ctas.map((cta, key) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3501,7 +4127,7 @@ var Carousel = (_a) => {
|
|
|
3501
4127
|
},
|
|
3502
4128
|
role: "region",
|
|
3503
4129
|
"aria-label": ariaLabel,
|
|
3504
|
-
className:
|
|
4130
|
+
className: clsx47__default.default(Carousel_module_default.carousel, className),
|
|
3505
4131
|
spaceBetween: 0,
|
|
3506
4132
|
slidesPerView: "auto",
|
|
3507
4133
|
modules: [modules.FreeMode, modules.A11y],
|
|
@@ -3511,7 +4137,7 @@ var Carousel = (_a) => {
|
|
|
3511
4137
|
children: slides.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3512
4138
|
react$1.SwiperSlide,
|
|
3513
4139
|
{
|
|
3514
|
-
className:
|
|
4140
|
+
className: clsx47__default.default(Carousel_module_default["carousel-item"], props.slideClass),
|
|
3515
4141
|
children: slide
|
|
3516
4142
|
},
|
|
3517
4143
|
index
|
|
@@ -3568,13 +4194,13 @@ var EventList = ({
|
|
|
3568
4194
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3569
4195
|
"div",
|
|
3570
4196
|
{
|
|
3571
|
-
className:
|
|
4197
|
+
className: clsx47__default.default("event-list-module", EventList_module_default["event-list-module"], className),
|
|
3572
4198
|
style: {
|
|
3573
4199
|
backgroundColor
|
|
3574
4200
|
},
|
|
3575
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className:
|
|
4201
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(EventList_module_default["event-list-container"]), children: [
|
|
3576
4202
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: EventList_module_default["event-list-header-container"], children: [
|
|
3577
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
4203
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx47__default.default(EventList_module_default["event-list-title"]), children: titleNode }),
|
|
3578
4204
|
cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3579
4205
|
Button,
|
|
3580
4206
|
{
|
|
@@ -3592,7 +4218,7 @@ var EventList = ({
|
|
|
3592
4218
|
Carousel,
|
|
3593
4219
|
{
|
|
3594
4220
|
"aria-label": "Upcoming events",
|
|
3595
|
-
wrapperClass:
|
|
4221
|
+
wrapperClass: clsx47__default.default(EventList_module_default["carousel-wrapper"], EventList_module_default[variant]),
|
|
3596
4222
|
slideClass: EventList_module_default["carousel-list-item"],
|
|
3597
4223
|
spaceBetween: 16,
|
|
3598
4224
|
slides: items.map((item) => {
|
|
@@ -3600,7 +4226,7 @@ var EventList = ({
|
|
|
3600
4226
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3601
4227
|
UpcomingEventCard,
|
|
3602
4228
|
__spreadValues({
|
|
3603
|
-
className:
|
|
4229
|
+
className: clsx47__default.default(EventList_module_default["event-card"]),
|
|
3604
4230
|
direction: "vertical",
|
|
3605
4231
|
showImage: false
|
|
3606
4232
|
}, item),
|
|
@@ -3613,7 +4239,7 @@ var EventList = ({
|
|
|
3613
4239
|
"ul",
|
|
3614
4240
|
{
|
|
3615
4241
|
"aria-label": "Upcoming events",
|
|
3616
|
-
className:
|
|
4242
|
+
className: clsx47__default.default(
|
|
3617
4243
|
EventList_module_default["event-list-wrapper"],
|
|
3618
4244
|
EventList_module_default["horizontal"],
|
|
3619
4245
|
EventList_module_default[variant]
|
|
@@ -3623,11 +4249,11 @@ var EventList = ({
|
|
|
3623
4249
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3624
4250
|
"li",
|
|
3625
4251
|
{
|
|
3626
|
-
className:
|
|
4252
|
+
className: clsx47__default.default(EventList_module_default["card-list-item"]),
|
|
3627
4253
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3628
4254
|
UpcomingEventCard,
|
|
3629
4255
|
__spreadProps(__spreadValues({}, item), {
|
|
3630
|
-
className:
|
|
4256
|
+
className: clsx47__default.default(EventList_module_default["card-item"]),
|
|
3631
4257
|
showImage: false,
|
|
3632
4258
|
direction: "vertical"
|
|
3633
4259
|
})
|
|
@@ -3642,7 +4268,7 @@ var EventList = ({
|
|
|
3642
4268
|
"ul",
|
|
3643
4269
|
{
|
|
3644
4270
|
"aria-label": "Upcoming events",
|
|
3645
|
-
className:
|
|
4271
|
+
className: clsx47__default.default(EventList_module_default["event-list-wrapper"], EventList_module_default[listDirection]),
|
|
3646
4272
|
children: items == null ? void 0 : items.map((item, index) => {
|
|
3647
4273
|
var _a2, _b, _c;
|
|
3648
4274
|
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 +4276,8 @@ var EventList = ({
|
|
|
3650
4276
|
}
|
|
3651
4277
|
)
|
|
3652
4278
|
] }),
|
|
3653
|
-
!isNotEmpty && emptyNode ?
|
|
3654
|
-
className:
|
|
4279
|
+
!isNotEmpty && emptyNode ? React70__default.default.cloneElement(emptyNode, {
|
|
4280
|
+
className: clsx47__default.default("empty-search-result", EventList_module_default["empty-search-result"])
|
|
3655
4281
|
}) : null
|
|
3656
4282
|
] })
|
|
3657
4283
|
}
|
|
@@ -3695,9 +4321,9 @@ var TextEvent = (props) => {
|
|
|
3695
4321
|
});
|
|
3696
4322
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3697
4323
|
const richTextNode = (_b = slots.richText) != null ? _b : richText;
|
|
3698
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className:
|
|
4324
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(TextEvent_module_default.textEvent, className), children: [
|
|
3699
4325
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", className: TextEvent_module_default.title, children: titleNode }),
|
|
3700
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4326
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(TextEvent_module_default.richText, TextEvent_module_default[variant != null ? variant : ""]), children: richTextNode })
|
|
3701
4327
|
] });
|
|
3702
4328
|
};
|
|
3703
4329
|
|
|
@@ -3728,7 +4354,7 @@ var TextBody = (props) => {
|
|
|
3728
4354
|
});
|
|
3729
4355
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3730
4356
|
const bodyNode = (_b = slots.body) != null ? _b : body;
|
|
3731
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className:
|
|
4357
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(TextBody_module_default.textBody, className), children: [
|
|
3732
4358
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", className: TextBody_module_default.title, children: titleNode }),
|
|
3733
4359
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: TextBody_module_default.body, children: bodyNode })
|
|
3734
4360
|
] });
|
|
@@ -3771,7 +4397,7 @@ var TextCenterCtaInBottom = ({
|
|
|
3771
4397
|
});
|
|
3772
4398
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3773
4399
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
3774
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4400
|
+
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
4401
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TextCenterCtaInBottom_module_default.content, children: [
|
|
3776
4402
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterCtaInBottom_module_default.title, children: titleNode }),
|
|
3777
4403
|
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterCtaInBottom_module_default.subtitle, children: subtitleNode })
|
|
@@ -3779,7 +4405,7 @@ var TextCenterCtaInBottom = ({
|
|
|
3779
4405
|
!!(ctas == null ? void 0 : ctas.length) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3780
4406
|
"div",
|
|
3781
4407
|
{
|
|
3782
|
-
className:
|
|
4408
|
+
className: clsx47__default.default(
|
|
3783
4409
|
TextCenterCtaInBottom_module_default.ctaWrapper,
|
|
3784
4410
|
ctas.every((cta) => !cta.label && cta.logo) && TextCenterCtaInBottom_module_default.iconOnly
|
|
3785
4411
|
),
|
|
@@ -3833,17 +4459,17 @@ var ResourcesGridList = ({
|
|
|
3833
4459
|
defaultSort = "latest"
|
|
3834
4460
|
}) => {
|
|
3835
4461
|
var _a;
|
|
3836
|
-
const [view, setView] =
|
|
3837
|
-
const [isSidebarOpen, setIsSidebarOpen] =
|
|
3838
|
-
const [filterValue, setFilterValue] =
|
|
3839
|
-
const [sortValue, setSortValue] =
|
|
3840
|
-
const [searchQuery, setSearchQuery] =
|
|
3841
|
-
const [currentPage, setCurrentPage] =
|
|
3842
|
-
const [selectedCategory, setSelectedCategory] =
|
|
4462
|
+
const [view, setView] = React70.useState(defaultView);
|
|
4463
|
+
const [isSidebarOpen, setIsSidebarOpen] = React70.useState(false);
|
|
4464
|
+
const [filterValue, setFilterValue] = React70.useState(defaultFilter);
|
|
4465
|
+
const [sortValue, setSortValue] = React70.useState(defaultSort);
|
|
4466
|
+
const [searchQuery, setSearchQuery] = React70.useState("");
|
|
4467
|
+
const [currentPage, setCurrentPage] = React70.useState(1);
|
|
4468
|
+
const [selectedCategory, setSelectedCategory] = React70.useState(() => {
|
|
3843
4469
|
const activeIndex = categories.findIndex((cat) => cat.active);
|
|
3844
4470
|
return activeIndex === -1 ? 0 : activeIndex;
|
|
3845
4471
|
});
|
|
3846
|
-
const widgetRef =
|
|
4472
|
+
const widgetRef = React70.useRef(null);
|
|
3847
4473
|
const { is } = useViewPort_default();
|
|
3848
4474
|
const isMobile = is("tablet", "below");
|
|
3849
4475
|
const selectedValue = (_a = categories[selectedCategory]) == null ? void 0 : _a.value;
|
|
@@ -3891,7 +4517,7 @@ var ResourcesGridList = ({
|
|
|
3891
4517
|
const safeCurrentPage = Math.min(currentPage, totalPages);
|
|
3892
4518
|
const pageStart = (safeCurrentPage - 1) * ITEMS_PER_PAGE;
|
|
3893
4519
|
const paginatedItems = displayedItems.slice(pageStart, pageStart + ITEMS_PER_PAGE);
|
|
3894
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: widgetRef, className:
|
|
4520
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: widgetRef, className: clsx47__default.default(ResourcesGridList_module_default.widget, className), children: [
|
|
3895
4521
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3896
4522
|
FilterBar,
|
|
3897
4523
|
{
|
|
@@ -3910,7 +4536,7 @@ var ResourcesGridList = ({
|
|
|
3910
4536
|
isMobile && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3911
4537
|
"div",
|
|
3912
4538
|
{
|
|
3913
|
-
className:
|
|
4539
|
+
className: clsx47__default.default(
|
|
3914
4540
|
ResourcesGridList_module_default.mobileSidebarOverlay,
|
|
3915
4541
|
isSidebarOpen && ResourcesGridList_module_default.mobileSidebarOverlayOpen
|
|
3916
4542
|
),
|
|
@@ -3921,7 +4547,7 @@ var ResourcesGridList = ({
|
|
|
3921
4547
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3922
4548
|
"li",
|
|
3923
4549
|
{
|
|
3924
|
-
className:
|
|
4550
|
+
className: clsx47__default.default(
|
|
3925
4551
|
ResourcesGridList_module_default.mobileSidebarItem,
|
|
3926
4552
|
i === selectedCategory && ResourcesGridList_module_default.active
|
|
3927
4553
|
),
|
|
@@ -3966,7 +4592,7 @@ var ResourcesGridList = ({
|
|
|
3966
4592
|
onSelect: handleSelectCategory
|
|
3967
4593
|
}
|
|
3968
4594
|
),
|
|
3969
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4595
|
+
/* @__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
4596
|
] }),
|
|
3971
4597
|
totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3972
4598
|
Pagination,
|
|
@@ -3999,7 +4625,7 @@ var Grid = ({
|
|
|
3999
4625
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4000
4626
|
Component,
|
|
4001
4627
|
{
|
|
4002
|
-
className:
|
|
4628
|
+
className: clsx47__default.default("grid", Grid_module_default.grid, className),
|
|
4003
4629
|
role,
|
|
4004
4630
|
"aria-label": ariaLabel,
|
|
4005
4631
|
"aria-labelledby": ariaLabelledBy,
|
|
@@ -4024,7 +4650,7 @@ var GridItem = ({
|
|
|
4024
4650
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4025
4651
|
Component,
|
|
4026
4652
|
{
|
|
4027
|
-
className:
|
|
4653
|
+
className: clsx47__default.default("grid-item", Grid_module_default["grid-item"], className),
|
|
4028
4654
|
role,
|
|
4029
4655
|
"aria-label": ariaLabel,
|
|
4030
4656
|
"aria-labelledby": ariaLabelledBy,
|
|
@@ -4072,13 +4698,13 @@ var BlogCardGrid = ({
|
|
|
4072
4698
|
title: BlogCardGridTitle
|
|
4073
4699
|
});
|
|
4074
4700
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
4075
|
-
const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4076
|
-
title && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4077
|
-
titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h4", className:
|
|
4078
|
-
cta && (cta == null ? void 0 : cta.url) && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4701
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", BlogCardGrid_module_default["wrapper"]), children: [
|
|
4702
|
+
title && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header-container", BlogCardGrid_module_default["header-container"]), children: [
|
|
4703
|
+
titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h4", className: clsx47__default.default("title", BlogCardGrid_module_default["title"]), children: titleNode }) : titleNode,
|
|
4704
|
+
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
4705
|
Button,
|
|
4080
4706
|
{
|
|
4081
|
-
className:
|
|
4707
|
+
className: clsx47__default.default("cta", BlogCardGrid_module_default["cta"]),
|
|
4082
4708
|
variant: "nofillblack",
|
|
4083
4709
|
href: cta.url,
|
|
4084
4710
|
isExternal: cta == null ? void 0 : cta.isExternal,
|
|
@@ -4104,11 +4730,11 @@ var BlogCardGrid = ({
|
|
|
4104
4730
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4105
4731
|
"div",
|
|
4106
4732
|
{
|
|
4107
|
-
className:
|
|
4733
|
+
className: clsx47__default.default("blog-card-grid", BlogCardGrid_module_default["blog-card-grid"], className),
|
|
4108
4734
|
style: {
|
|
4109
4735
|
backgroundColor
|
|
4110
4736
|
},
|
|
4111
|
-
children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className:
|
|
4737
|
+
children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx47__default.default("container", BlogCardGrid_module_default["container"]), children: content }) : content
|
|
4112
4738
|
}
|
|
4113
4739
|
);
|
|
4114
4740
|
};
|
|
@@ -4156,13 +4782,13 @@ var FeaturedNewsHighlights = ({
|
|
|
4156
4782
|
const sideCards = items.slice(1);
|
|
4157
4783
|
const isVariantHome = variant === "home";
|
|
4158
4784
|
const isBelowTablet = is("tablet", "below");
|
|
4159
|
-
const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4160
|
-
title && cta && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4785
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", FeaturedNewsHighlights_module_default["wrapper"]), children: [
|
|
4786
|
+
title && cta && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header-container", FeaturedNewsHighlights_module_default["header-container"]), children: [
|
|
4161
4787
|
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:
|
|
4788
|
+
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
4789
|
Button,
|
|
4164
4790
|
{
|
|
4165
|
-
className:
|
|
4791
|
+
className: clsx47__default.default("cta", FeaturedNewsHighlights_module_default["cta"]),
|
|
4166
4792
|
variant: "nofillblack",
|
|
4167
4793
|
href: cta.url,
|
|
4168
4794
|
isExternal: cta == null ? void 0 : cta.isExternal,
|
|
@@ -4174,9 +4800,9 @@ var FeaturedNewsHighlights = ({
|
|
|
4174
4800
|
isVariantHome && isBelowTablet && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4175
4801
|
Carousel,
|
|
4176
4802
|
{
|
|
4177
|
-
className:
|
|
4803
|
+
className: clsx47__default.default("carousel", FeaturedNewsHighlights_module_default["carousel"]),
|
|
4178
4804
|
"aria-label": "featured news",
|
|
4179
|
-
wrapperClass:
|
|
4805
|
+
wrapperClass: clsx47__default.default(FeaturedNewsHighlights_module_default["carousel-wrapper"]),
|
|
4180
4806
|
slideClass: FeaturedNewsHighlights_module_default["carousel-list-item"],
|
|
4181
4807
|
spaceBetween: 16,
|
|
4182
4808
|
slides: items.map((item, index) => {
|
|
@@ -4185,27 +4811,27 @@ var FeaturedNewsHighlights = ({
|
|
|
4185
4811
|
NewsCard,
|
|
4186
4812
|
__spreadProps(__spreadValues({}, item), {
|
|
4187
4813
|
direction: "vertical",
|
|
4188
|
-
className:
|
|
4814
|
+
className: clsx47__default.default("carousel-news-card", FeaturedNewsHighlights_module_default["carousel-news-card"])
|
|
4189
4815
|
}),
|
|
4190
4816
|
(_a2 = item == null ? void 0 : item.title) != null ? _a2 : index
|
|
4191
4817
|
);
|
|
4192
4818
|
})
|
|
4193
4819
|
}
|
|
4194
4820
|
),
|
|
4195
|
-
(!isVariantHome || isVariantHome && !isBelowTablet) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4821
|
+
(!isVariantHome || isVariantHome && !isBelowTablet) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content-wrapper", FeaturedNewsHighlights_module_default["content-wrapper"]), children: [
|
|
4196
4822
|
featuredCard && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4197
4823
|
NewsCard,
|
|
4198
4824
|
__spreadProps(__spreadValues({}, featuredCard), {
|
|
4199
|
-
className:
|
|
4825
|
+
className: clsx47__default.default("featured-card", FeaturedNewsHighlights_module_default["featured-card"]),
|
|
4200
4826
|
renderLink
|
|
4201
4827
|
})
|
|
4202
4828
|
),
|
|
4203
|
-
sideCards && sideCards.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4829
|
+
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
4830
|
var _a2;
|
|
4205
4831
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4206
4832
|
NewsCard,
|
|
4207
4833
|
__spreadProps(__spreadValues({}, card), {
|
|
4208
|
-
className:
|
|
4834
|
+
className: clsx47__default.default("side-cards", FeaturedNewsHighlights_module_default["side-cards"]),
|
|
4209
4835
|
direction: "horizontal",
|
|
4210
4836
|
renderLink
|
|
4211
4837
|
}),
|
|
@@ -4217,11 +4843,11 @@ var FeaturedNewsHighlights = ({
|
|
|
4217
4843
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4218
4844
|
"div",
|
|
4219
4845
|
{
|
|
4220
|
-
className:
|
|
4846
|
+
className: clsx47__default.default("featured-news-higlights", FeaturedNewsHighlights_module_default["featured-news-higlights"], className),
|
|
4221
4847
|
style: {
|
|
4222
4848
|
backgroundColor
|
|
4223
4849
|
},
|
|
4224
|
-
children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className:
|
|
4850
|
+
children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx47__default.default("container", FeaturedNewsHighlights_module_default["container"]), children: content }) : content
|
|
4225
4851
|
}
|
|
4226
4852
|
);
|
|
4227
4853
|
};
|
|
@@ -4265,23 +4891,23 @@ var NewsCardList = ({
|
|
|
4265
4891
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4266
4892
|
"div",
|
|
4267
4893
|
{
|
|
4268
|
-
className:
|
|
4894
|
+
className: clsx47__default.default("news-card-list", NewsCardList_module_default["news-card-list"], className),
|
|
4269
4895
|
style: {
|
|
4270
4896
|
backgroundColor
|
|
4271
4897
|
},
|
|
4272
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className:
|
|
4273
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4898
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", NewsCardList_module_default["container"]), children: [
|
|
4899
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", NewsCardList_module_default["wrapper"]), children: [
|
|
4274
4900
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4275
4901
|
Input,
|
|
4276
4902
|
__spreadValues({
|
|
4277
|
-
className:
|
|
4903
|
+
className: clsx47__default.default("search-input", NewsCardList_module_default["search-input"]),
|
|
4278
4904
|
startAdornment: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search" }),
|
|
4279
4905
|
placeholder: "Search News",
|
|
4280
4906
|
endAction: searchValue ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4281
4907
|
Button,
|
|
4282
4908
|
{
|
|
4283
4909
|
variant: "nofillblack",
|
|
4284
|
-
className:
|
|
4910
|
+
className: clsx47__default.default(NewsCardList_module_default["end-action-button"]),
|
|
4285
4911
|
"aria-label": "Search",
|
|
4286
4912
|
onClick: onSearchSubmit ? () => onSearchSubmit(searchValue || "") : void 0,
|
|
4287
4913
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "rightBlack" })
|
|
@@ -4293,7 +4919,7 @@ var NewsCardList = ({
|
|
|
4293
4919
|
} : void 0
|
|
4294
4920
|
}, searchInputProps)
|
|
4295
4921
|
),
|
|
4296
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4922
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("card-wrapper", NewsCardList_module_default["card-wrapper"]), children: [
|
|
4297
4923
|
currentPage === 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4298
4924
|
FeaturedNewsHighlights2,
|
|
4299
4925
|
{
|
|
@@ -4306,8 +4932,8 @@ var NewsCardList = ({
|
|
|
4306
4932
|
/* @__PURE__ */ jsxRuntime.jsx(BlogCardGrid2, { items: cards, hasContainer: false, renderLink })
|
|
4307
4933
|
] })
|
|
4308
4934
|
] }),
|
|
4309
|
-
paginationNode ?
|
|
4310
|
-
className:
|
|
4935
|
+
paginationNode ? React70__default.default.cloneElement(paginationNode, {
|
|
4936
|
+
className: clsx47__default.default("pagination", NewsCardList_module_default["pagination"])
|
|
4311
4937
|
}) : null
|
|
4312
4938
|
] })
|
|
4313
4939
|
}
|
|
@@ -4352,15 +4978,15 @@ var BlogPost = ({
|
|
|
4352
4978
|
});
|
|
4353
4979
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
4354
4980
|
const bodyNode = (_b = slots.body) != null ? _b : body;
|
|
4355
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4356
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4981
|
+
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: [
|
|
4982
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header", BlogPost_module_default["header"]), children: [
|
|
4357
4983
|
titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h1", children: titleNode }) : titleNode,
|
|
4358
|
-
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className:
|
|
4984
|
+
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx47__default.default("image", BlogPost_module_default["image"]) }))
|
|
4359
4985
|
] }),
|
|
4360
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4361
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4986
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content", BlogPost_module_default["content"]), children: [
|
|
4987
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content-top", BlogPost_module_default["content-top"]), children: [
|
|
4362
4988
|
/* @__PURE__ */ jsxRuntime.jsx(Badge, { size: "sm", children: tag }),
|
|
4363
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
4989
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: clsx47__default.default("content-date", BlogPost_module_default["content-date"]), children: [
|
|
4364
4990
|
"Published ",
|
|
4365
4991
|
/* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date.value, children: date.label })
|
|
4366
4992
|
] })
|
|
@@ -4373,7 +4999,7 @@ var BlogPost = ({
|
|
|
4373
4999
|
title: "More News",
|
|
4374
5000
|
items: relatedArticles,
|
|
4375
5001
|
hasContainer: false,
|
|
4376
|
-
className:
|
|
5002
|
+
className: clsx47__default.default("related-articles", BlogPost_module_default["related-articles"])
|
|
4377
5003
|
}
|
|
4378
5004
|
)
|
|
4379
5005
|
] }) });
|
|
@@ -4421,22 +5047,22 @@ var BlogSearchResultsList = ({
|
|
|
4421
5047
|
});
|
|
4422
5048
|
const searchNode = (_a = slots.search) != null ? _a : searchResult;
|
|
4423
5049
|
const paginationNode = slots.pagination;
|
|
4424
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4425
|
-
typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
4426
|
-
className:
|
|
5050
|
+
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: [
|
|
5051
|
+
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, {
|
|
5052
|
+
className: clsx47__default.default("search-result", BlogSearchResultsList_module_default["search-result"])
|
|
4427
5053
|
}) : null,
|
|
4428
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
5054
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", BlogSearchResultsList_module_default["wrapper"]), children: [
|
|
4429
5055
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4430
5056
|
Input,
|
|
4431
5057
|
__spreadValues({
|
|
4432
|
-
className:
|
|
5058
|
+
className: clsx47__default.default("search-input", BlogSearchResultsList_module_default["search-input"]),
|
|
4433
5059
|
startAdornment: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search" }),
|
|
4434
5060
|
placeholder: "Search News",
|
|
4435
5061
|
endAction: searchValue ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4436
5062
|
Button,
|
|
4437
5063
|
{
|
|
4438
5064
|
variant: "nofillblack",
|
|
4439
|
-
className:
|
|
5065
|
+
className: clsx47__default.default(BlogSearchResultsList_module_default["end-action-button"]),
|
|
4440
5066
|
"aria-label": "Search",
|
|
4441
5067
|
onClick: () => onSearchSubmit(searchValue),
|
|
4442
5068
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "rightBlack" })
|
|
@@ -4450,8 +5076,8 @@ var BlogSearchResultsList = ({
|
|
|
4450
5076
|
),
|
|
4451
5077
|
/* @__PURE__ */ jsxRuntime.jsx(BlogCardGrid2, { items, hasContainer: false, renderLink })
|
|
4452
5078
|
] }),
|
|
4453
|
-
paginationNode ?
|
|
4454
|
-
className:
|
|
5079
|
+
paginationNode ? React70__default.default.cloneElement(paginationNode, {
|
|
5080
|
+
className: clsx47__default.default("pagination", BlogSearchResultsList_module_default["pagination"])
|
|
4455
5081
|
}) : null
|
|
4456
5082
|
] }) });
|
|
4457
5083
|
};
|
|
@@ -4492,11 +5118,11 @@ var GlobalSearchResultsList = ({
|
|
|
4492
5118
|
});
|
|
4493
5119
|
const searchNode = (_a = slots.search) != null ? _a : searchResult;
|
|
4494
5120
|
const paginationNode = slots.pagination;
|
|
4495
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4496
|
-
typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
4497
|
-
className:
|
|
5121
|
+
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: [
|
|
5122
|
+
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, {
|
|
5123
|
+
className: clsx47__default.default("search-result", GlobalSearchResultsList_module_default["search-result"])
|
|
4498
5124
|
}) : null,
|
|
4499
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
5125
|
+
/* @__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
5126
|
var _a2;
|
|
4501
5127
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4502
5128
|
GridItem,
|
|
@@ -4516,8 +5142,8 @@ var GlobalSearchResultsList = ({
|
|
|
4516
5142
|
item.title ? `${item.title}-${(_a2 = item == null ? void 0 : item.id) != null ? _a2 : index}` : index
|
|
4517
5143
|
);
|
|
4518
5144
|
}) }) }),
|
|
4519
|
-
paginationNode ?
|
|
4520
|
-
className:
|
|
5145
|
+
paginationNode ? React70__default.default.cloneElement(paginationNode, {
|
|
5146
|
+
className: clsx47__default.default("pagination", GlobalSearchResultsList_module_default["pagination"])
|
|
4521
5147
|
}) : null
|
|
4522
5148
|
] }) });
|
|
4523
5149
|
};
|
|
@@ -4555,10 +5181,10 @@ var TextCenterWithMedia = ({
|
|
|
4555
5181
|
children
|
|
4556
5182
|
}) => {
|
|
4557
5183
|
var _a;
|
|
4558
|
-
const [isOpen, setIsOpen] =
|
|
4559
|
-
const dialogRef =
|
|
4560
|
-
const videoRef =
|
|
4561
|
-
|
|
5184
|
+
const [isOpen, setIsOpen] = React70.useState(false);
|
|
5185
|
+
const dialogRef = React70.useRef(null);
|
|
5186
|
+
const videoRef = React70.useRef(null);
|
|
5187
|
+
React70.useEffect(() => {
|
|
4562
5188
|
var _a2, _b;
|
|
4563
5189
|
if (isOpen) {
|
|
4564
5190
|
(_a2 = dialogRef.current) == null ? void 0 : _a2.showModal();
|
|
@@ -4575,7 +5201,7 @@ var TextCenterWithMedia = ({
|
|
|
4575
5201
|
};
|
|
4576
5202
|
const slots = resolveCompoundSlots(children, { title: TextCenterWithMediaTitle });
|
|
4577
5203
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
4578
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className:
|
|
5204
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: clsx47__default.default(TextCenterWithMedia_module_default.textCenterWithMedia, className), children: [
|
|
4579
5205
|
/* @__PURE__ */ jsxRuntime.jsxs(Container, { children: [
|
|
4580
5206
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "h2", children: titleNode }),
|
|
4581
5207
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterWithMedia_module_default.thumbnailWrapper, children: thumbnail && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -4616,6 +5242,99 @@ var TextCenterWithMedia2 = Object.assign(TextCenterWithMedia, {
|
|
|
4616
5242
|
Title: TextCenterWithMediaTitle
|
|
4617
5243
|
});
|
|
4618
5244
|
|
|
5245
|
+
// src/widgets/QuoteSectionBlock/QuoteSectionBlock.module.scss
|
|
5246
|
+
var QuoteSectionBlock_module_default = {
|
|
5247
|
+
quoteSectionBlock: "QuoteSectionBlock_module_quoteSectionBlock",
|
|
5248
|
+
inner: "QuoteSectionBlock_module_inner",
|
|
5249
|
+
title: "QuoteSectionBlock_module_title",
|
|
5250
|
+
swiperContainer: "QuoteSectionBlock_module_swiperContainer",
|
|
5251
|
+
card: "QuoteSectionBlock_module_card",
|
|
5252
|
+
quoteLogo: "QuoteSectionBlock_module_quoteLogo",
|
|
5253
|
+
bodyText: "QuoteSectionBlock_module_bodyText",
|
|
5254
|
+
attribution: "QuoteSectionBlock_module_attribution",
|
|
5255
|
+
displayPhoto: "QuoteSectionBlock_module_displayPhoto",
|
|
5256
|
+
displayName: "QuoteSectionBlock_module_displayName",
|
|
5257
|
+
attributionText: "QuoteSectionBlock_module_attributionText",
|
|
5258
|
+
jobTitleLogo: "QuoteSectionBlock_module_jobTitleLogo",
|
|
5259
|
+
controls: "QuoteSectionBlock_module_controls"
|
|
5260
|
+
};
|
|
5261
|
+
var QuoteSectionBlock = ({ className, title, items = [] }) => {
|
|
5262
|
+
const { is } = useViewPort_default();
|
|
5263
|
+
const isMobile = is("tablet", "below");
|
|
5264
|
+
const [swiperInstance, setSwiperInstance] = React70.useState(null);
|
|
5265
|
+
const [activeIndex, setActiveIndex] = React70.useState(0);
|
|
5266
|
+
if (!items.length) return null;
|
|
5267
|
+
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: [
|
|
5268
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: QuoteSectionBlock_module_default.title, children: title }),
|
|
5269
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: QuoteSectionBlock_module_default.swiperContainer, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5270
|
+
react$1.Swiper,
|
|
5271
|
+
{
|
|
5272
|
+
slidesPerView: "auto",
|
|
5273
|
+
spaceBetween: isMobile ? 8 : 32,
|
|
5274
|
+
onSwiper: setSwiperInstance,
|
|
5275
|
+
onSlideChange: (swiper) => setActiveIndex(swiper.activeIndex),
|
|
5276
|
+
children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(react$1.SwiperSlide, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.card, children: [
|
|
5277
|
+
(item == null ? void 0 : item.quoteLogo) && /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.quoteLogo, alt: "", className: QuoteSectionBlock_module_default.quoteLogo }),
|
|
5278
|
+
(item == null ? void 0 : item.bodyText) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: QuoteSectionBlock_module_default.bodyText, children: item.bodyText }),
|
|
5279
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.attribution, children: [
|
|
5280
|
+
(item == null ? void 0 : item.displayPhoto) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5281
|
+
"img",
|
|
5282
|
+
{
|
|
5283
|
+
src: item.displayPhoto,
|
|
5284
|
+
alt: item.displayName,
|
|
5285
|
+
className: QuoteSectionBlock_module_default.displayPhoto
|
|
5286
|
+
}
|
|
5287
|
+
),
|
|
5288
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.attributionText, children: [
|
|
5289
|
+
(item == null ? void 0 : item.displayName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: QuoteSectionBlock_module_default.displayName, children: item.displayName }),
|
|
5290
|
+
(item == null ? void 0 : item.jobTitleLogo) && /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.jobTitleLogo, alt: "", className: QuoteSectionBlock_module_default.jobTitleLogo })
|
|
5291
|
+
] })
|
|
5292
|
+
] })
|
|
5293
|
+
] }) }, index))
|
|
5294
|
+
}
|
|
5295
|
+
) }),
|
|
5296
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5297
|
+
Pagination,
|
|
5298
|
+
{
|
|
5299
|
+
className: QuoteSectionBlock_module_default.controls,
|
|
5300
|
+
totalPages: items.length,
|
|
5301
|
+
currentPage: activeIndex + 1,
|
|
5302
|
+
loop: true,
|
|
5303
|
+
onPageChange: (page) => swiperInstance == null ? void 0 : swiperInstance.slideTo(page - 1)
|
|
5304
|
+
},
|
|
5305
|
+
activeIndex
|
|
5306
|
+
)
|
|
5307
|
+
] }) });
|
|
5308
|
+
};
|
|
5309
|
+
function useIntersectionObserver({
|
|
5310
|
+
animateOnce = false,
|
|
5311
|
+
options = {}
|
|
5312
|
+
} = {}) {
|
|
5313
|
+
const observeRef = React70.useRef(null);
|
|
5314
|
+
const [isVisible, setIsVisible] = React70.useState(false);
|
|
5315
|
+
if (typeof IntersectionObserver === "undefined") {
|
|
5316
|
+
console.warn("IntersectionObserver is not supported in this browser.");
|
|
5317
|
+
return { observeRef, isVisible: true };
|
|
5318
|
+
}
|
|
5319
|
+
React70.useEffect(() => {
|
|
5320
|
+
const currentRef = observeRef.current;
|
|
5321
|
+
if (!currentRef) return;
|
|
5322
|
+
const observer = new IntersectionObserver((entries) => {
|
|
5323
|
+
const entry = entries[0];
|
|
5324
|
+
if (!entry) return;
|
|
5325
|
+
setIsVisible(entry.isIntersecting);
|
|
5326
|
+
if (entry.isIntersecting && animateOnce) {
|
|
5327
|
+
observer.disconnect();
|
|
5328
|
+
}
|
|
5329
|
+
}, options);
|
|
5330
|
+
observer.observe(currentRef);
|
|
5331
|
+
return () => {
|
|
5332
|
+
observer.disconnect();
|
|
5333
|
+
};
|
|
5334
|
+
}, [observeRef, animateOnce, options]);
|
|
5335
|
+
return { observeRef, isVisible };
|
|
5336
|
+
}
|
|
5337
|
+
|
|
4619
5338
|
exports.Anchor = Anchor;
|
|
4620
5339
|
exports.Badge = Badge;
|
|
4621
5340
|
exports.BlogCardGrid = BlogCardGrid2;
|
|
@@ -4650,8 +5369,10 @@ exports.Pagination = Pagination;
|
|
|
4650
5369
|
exports.Picture = Picture;
|
|
4651
5370
|
exports.PracticeCard = PracticeCard;
|
|
4652
5371
|
exports.PracticePathCards = PracticePathCards2;
|
|
5372
|
+
exports.QuoteSectionBlock = QuoteSectionBlock;
|
|
4653
5373
|
exports.ResourceCardItem = ResourceCardItem;
|
|
4654
5374
|
exports.ResourcesGridList = ResourcesGridList;
|
|
5375
|
+
exports.Search = Search;
|
|
4655
5376
|
exports.Sidebar = Sidebar;
|
|
4656
5377
|
exports.Teaser5050With3Text = Teaser5050With3Text2;
|
|
4657
5378
|
exports.Teaser5050WithCta = Teaser5050WithCta2;
|
|
@@ -4660,6 +5381,7 @@ exports.TextCenterCtaInBottom = TextCenterCtaInBottom2;
|
|
|
4660
5381
|
exports.TextCenterWithMedia = TextCenterWithMedia2;
|
|
4661
5382
|
exports.TextEvent = TextEvent2;
|
|
4662
5383
|
exports.UpcomingEventCard = UpcomingEventCard;
|
|
5384
|
+
exports.UserMenu = UserMenu;
|
|
4663
5385
|
exports.resolveCompoundSlots = resolveCompoundSlots;
|
|
4664
5386
|
exports.svgs = svgs;
|
|
4665
5387
|
exports.useIntersectionObserver = useIntersectionObserver;
|