@digital-b2c/coreui-kit 0.14.6 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +21 -21
- package/README.md +52 -52
- package/dist/index.cjs +1220 -512
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +846 -76
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +175 -82
- package/dist/index.d.ts +175 -82
- package/dist/index.mjs +1153 -448
- 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);
|
|
@@ -2922,32 +3175,18 @@ var useIsAtTop = () => {
|
|
|
2922
3175
|
|
|
2923
3176
|
// src/widgets/Navigation/Navigation.module.scss
|
|
2924
3177
|
var Navigation_module_default = {
|
|
2925
|
-
|
|
2926
|
-
dropdownLink: "Navigation_module_dropdownLink",
|
|
2927
|
-
dropdownDescription: "Navigation_module_dropdownDescription",
|
|
3178
|
+
internalDropdownTitle: "Navigation_module_internalDropdownTitle",
|
|
2928
3179
|
mobileItemLink: "Navigation_module_mobileItemLink",
|
|
2929
3180
|
mobileItemTrigger: "Navigation_module_mobileItemTrigger",
|
|
2930
3181
|
mobileSubLink: "Navigation_module_mobileSubLink",
|
|
2931
|
-
navigationWrapper: "Navigation_module_navigationWrapper",
|
|
2932
3182
|
dropdownOpen: "Navigation_module_dropdownOpen",
|
|
2933
3183
|
variantTransparent: "Navigation_module_variantTransparent",
|
|
2934
3184
|
transparent: "Navigation_module_transparent",
|
|
2935
|
-
|
|
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
|
+
inner: "Navigation_module_inner",
|
|
3207
|
+
topRow: "Navigation_module_topRow",
|
|
3208
|
+
logoLink: "Navigation_module_logoLink",
|
|
3209
|
+
logoMobile: "Navigation_module_logoMobile",
|
|
3210
|
+
hamburger: "Navigation_module_hamburger",
|
|
3211
|
+
bottomRow: "Navigation_module_bottomRow",
|
|
3212
|
+
navTabs: "Navigation_module_navTabs",
|
|
3213
|
+
navTab: "Navigation_module_navTab",
|
|
3214
|
+
navTabTrigger: "Navigation_module_navTabTrigger",
|
|
3215
|
+
navTabTriggerOpen: "Navigation_module_navTabTriggerOpen",
|
|
3216
|
+
navTabActive: "Navigation_module_navTabActive",
|
|
3217
|
+
internalDropdownPanel: "Navigation_module_internalDropdownPanel",
|
|
3218
|
+
internalDropdownInner: "Navigation_module_internalDropdownInner",
|
|
3219
|
+
internalDropdownLinks: "Navigation_module_internalDropdownLinks",
|
|
3220
|
+
dropdownLinkItem: "Navigation_module_dropdownLinkItem",
|
|
3221
|
+
internalDropdownLink: "Navigation_module_internalDropdownLink",
|
|
3222
|
+
dropdownDivider: "Navigation_module_dropdownDivider",
|
|
3223
|
+
internalDropdownInfo: "Navigation_module_internalDropdownInfo",
|
|
3224
|
+
internalDropdownDescription: "Navigation_module_internalDropdownDescription",
|
|
3225
|
+
brandBars: "Navigation_module_brandBars",
|
|
3226
|
+
brandBar: "Navigation_module_brandBar",
|
|
3227
|
+
brandBarsUnfolded: "Navigation_module_brandBarsUnfolded",
|
|
3228
|
+
brandLogo: "Navigation_module_brandLogo",
|
|
3229
|
+
lenscrafters: "Navigation_module_lenscrafters",
|
|
3230
|
+
forEyes: "Navigation_module_forEyes",
|
|
3231
|
+
optical: "Navigation_module_optical",
|
|
3232
|
+
pearleVision: "Navigation_module_pearleVision",
|
|
3233
|
+
internalMobileMenu: "Navigation_module_internalMobileMenu",
|
|
3234
|
+
internalMobileMenuOpen: "Navigation_module_internalMobileMenuOpen",
|
|
3235
|
+
mobileHeader: "Navigation_module_mobileHeader",
|
|
3236
|
+
mobileClose: "Navigation_module_mobileClose",
|
|
3237
|
+
mobileBrandBars: "Navigation_module_mobileBrandBars",
|
|
3238
|
+
mobileItems: "Navigation_module_mobileItems",
|
|
3239
|
+
internalMobileItem: "Navigation_module_internalMobileItem",
|
|
3240
|
+
internalMobileItemLink: "Navigation_module_internalMobileItemLink",
|
|
3241
|
+
internalMobileItemTrigger: "Navigation_module_internalMobileItemTrigger",
|
|
3242
|
+
internalMobileItemChevron: "Navigation_module_internalMobileItemChevron",
|
|
3243
|
+
internalMobileItemChevronOpen: "Navigation_module_internalMobileItemChevronOpen",
|
|
3244
|
+
internalMobileSubItems: "Navigation_module_internalMobileSubItems",
|
|
3245
|
+
internalMobileSubItemsOpen: "Navigation_module_internalMobileSubItemsOpen",
|
|
3246
|
+
internalMobileSubItemsInner: "Navigation_module_internalMobileSubItemsInner",
|
|
3247
|
+
internalMobileSubLink: "Navigation_module_internalMobileSubLink",
|
|
3248
|
+
mobileFooter: "Navigation_module_mobileFooter"
|
|
3073
3249
|
};
|
|
3074
3250
|
var NavigationLogo = ({
|
|
3075
3251
|
mainLogo,
|
|
@@ -3095,63 +3271,355 @@ var NavigationCtas = ({
|
|
|
3095
3271
|
(rightButton == null ? void 0 : rightButton.label) && /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", href: rightButton.url, isExternal: rightButton.isExternal, children: rightButton.label })
|
|
3096
3272
|
] });
|
|
3097
3273
|
};
|
|
3274
|
+
var BRANDS = [
|
|
3275
|
+
{ key: "lenscrafters", className: Navigation_module_default.lenscrafters, label: "LensCrafters" },
|
|
3276
|
+
{ key: "forEyes", className: Navigation_module_default.forEyes, label: "For Eyes" },
|
|
3277
|
+
{ key: "optical", className: Navigation_module_default.optical, label: "Target Optical" },
|
|
3278
|
+
{ key: "pearleVision", className: Navigation_module_default.pearleVision, label: "Pearle Vision" }
|
|
3279
|
+
];
|
|
3280
|
+
var NavigationBrandBars = ({
|
|
3281
|
+
brandLogos,
|
|
3282
|
+
unfolded = false,
|
|
3283
|
+
className
|
|
3284
|
+
}) => {
|
|
3285
|
+
const hasLogos = !!brandLogos;
|
|
3286
|
+
const isUnfolded = hasLogos && unfolded;
|
|
3287
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3288
|
+
"div",
|
|
3289
|
+
{
|
|
3290
|
+
className: clsx47__default.default(Navigation_module_default.brandBars, isUnfolded && Navigation_module_default.brandBarsUnfolded, className),
|
|
3291
|
+
"aria-hidden": "true",
|
|
3292
|
+
children: BRANDS.map((brand) => {
|
|
3293
|
+
var _a;
|
|
3294
|
+
const logo = brandLogos == null ? void 0 : brandLogos[brand.key];
|
|
3295
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, brand.className), children: logo && /* @__PURE__ */ jsxRuntime.jsx("img", { className: Navigation_module_default.brandLogo, src: logo.src, alt: (_a = logo.alt) != null ? _a : brand.label }) }, brand.key);
|
|
3296
|
+
})
|
|
3297
|
+
}
|
|
3298
|
+
);
|
|
3299
|
+
};
|
|
3300
|
+
var NavigationDesktop = ({
|
|
3301
|
+
navItems,
|
|
3302
|
+
openIndex,
|
|
3303
|
+
onOpen,
|
|
3304
|
+
onScheduleClose,
|
|
3305
|
+
baseId,
|
|
3306
|
+
isTransparent = false
|
|
3307
|
+
}) => {
|
|
3308
|
+
if (!(navItems == null ? void 0 : navItems.length)) return null;
|
|
3309
|
+
const handleTriggerKeyDown = (e, index) => {
|
|
3310
|
+
var _a;
|
|
3311
|
+
if (e.key === "Escape") {
|
|
3312
|
+
onOpen(null);
|
|
3313
|
+
} else if ((e.key === "Enter" || e.key === " ") && openIndex !== index) {
|
|
3314
|
+
e.preventDefault();
|
|
3315
|
+
onOpen(index);
|
|
3316
|
+
} else if (e.key === "Tab" && !e.shiftKey && openIndex === index) {
|
|
3317
|
+
const firstLink = (_a = document.getElementById(`${baseId}-panel-${index}`)) == null ? void 0 : _a.querySelector("a, button");
|
|
3318
|
+
if (firstLink) {
|
|
3319
|
+
e.preventDefault();
|
|
3320
|
+
firstLink.focus();
|
|
3321
|
+
}
|
|
3322
|
+
}
|
|
3323
|
+
};
|
|
3324
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.navTabs, children: navItems.map((item, index) => {
|
|
3325
|
+
var _a, _b, _c, _d;
|
|
3326
|
+
const isOpen = openIndex === index;
|
|
3327
|
+
if (item.type === "link") {
|
|
3328
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.navTab, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3329
|
+
"a",
|
|
3330
|
+
{
|
|
3331
|
+
href: (_a = item.cta) == null ? void 0 : _a.url,
|
|
3332
|
+
className: clsx47__default.default(Navigation_module_default.navTabLink, item.isActive && Navigation_module_default.navTabActive),
|
|
3333
|
+
"aria-current": item.isActive ? "page" : void 0,
|
|
3334
|
+
target: ((_b = item.cta) == null ? void 0 : _b.isExternal) ? "_blank" : void 0,
|
|
3335
|
+
rel: ((_c = item.cta) == null ? void 0 : _c.isExternal) ? "noopener noreferrer" : void 0,
|
|
3336
|
+
onMouseEnter: () => onOpen(null),
|
|
3337
|
+
onFocus: () => onOpen(null),
|
|
3338
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: (_d = item.cta) == null ? void 0 : _d.label })
|
|
3339
|
+
}
|
|
3340
|
+
) }, index);
|
|
3341
|
+
}
|
|
3342
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.navTab, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3343
|
+
"button",
|
|
3344
|
+
{
|
|
3345
|
+
type: "button",
|
|
3346
|
+
id: `${baseId}-trigger-${index}`,
|
|
3347
|
+
className: clsx47__default.default(
|
|
3348
|
+
Navigation_module_default.navTabLink,
|
|
3349
|
+
Navigation_module_default.navTabTrigger,
|
|
3350
|
+
(item.isActive || isOpen) && Navigation_module_default.navTabActive,
|
|
3351
|
+
isOpen && Navigation_module_default.navTabTriggerOpen
|
|
3352
|
+
),
|
|
3353
|
+
"aria-expanded": isOpen,
|
|
3354
|
+
"aria-haspopup": "true",
|
|
3355
|
+
"aria-controls": `${baseId}-panel-${index}`,
|
|
3356
|
+
onMouseEnter: () => onOpen(index),
|
|
3357
|
+
onMouseLeave: onScheduleClose,
|
|
3358
|
+
onFocus: () => onOpen(index),
|
|
3359
|
+
onClick: () => onOpen(isOpen ? null : index),
|
|
3360
|
+
onKeyDown: (e) => handleTriggerKeyDown(e, index),
|
|
3361
|
+
children: [
|
|
3362
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: item.title }),
|
|
3363
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3364
|
+
Icon,
|
|
3365
|
+
{
|
|
3366
|
+
type: isTransparent ? "downChevronWhite" : "downChevronBlack",
|
|
3367
|
+
size: 24,
|
|
3368
|
+
"aria-hidden": "true"
|
|
3369
|
+
}
|
|
3370
|
+
)
|
|
3371
|
+
]
|
|
3372
|
+
}
|
|
3373
|
+
) }, index);
|
|
3374
|
+
}) });
|
|
3375
|
+
};
|
|
3376
|
+
var NavigationDropdown = ({
|
|
3377
|
+
item,
|
|
3378
|
+
panelId,
|
|
3379
|
+
baseId,
|
|
3380
|
+
activeIndex,
|
|
3381
|
+
onClose,
|
|
3382
|
+
onMouseEnter,
|
|
3383
|
+
onMouseLeave
|
|
3384
|
+
}) => {
|
|
3385
|
+
if (item.type !== "dropdown") return null;
|
|
3386
|
+
const { title, description, items } = item;
|
|
3387
|
+
const links = items.filter((sub) => sub.type === "link");
|
|
3388
|
+
const handleLinkKeyDown = (e, isFirst, isLast) => {
|
|
3389
|
+
if (e.key !== "Tab") return;
|
|
3390
|
+
const trigger = document.getElementById(`${baseId}-trigger-${activeIndex}`);
|
|
3391
|
+
if (e.shiftKey && isFirst) {
|
|
3392
|
+
e.preventDefault();
|
|
3393
|
+
trigger == null ? void 0 : trigger.focus();
|
|
3394
|
+
} else if (!e.shiftKey && isLast) {
|
|
3395
|
+
const nav = trigger == null ? void 0 : trigger.closest("nav");
|
|
3396
|
+
const panel = document.getElementById(panelId);
|
|
3397
|
+
const focusables = nav ? Array.from(
|
|
3398
|
+
nav.querySelectorAll(
|
|
3399
|
+
'a[href], button:not([disabled]), input:not([disabled]), select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
3400
|
+
)
|
|
3401
|
+
).filter((el) => !(panel == null ? void 0 : panel.contains(el))) : [];
|
|
3402
|
+
const next = trigger ? focusables[focusables.indexOf(trigger) + 1] : void 0;
|
|
3403
|
+
onClose();
|
|
3404
|
+
if (next) {
|
|
3405
|
+
e.preventDefault();
|
|
3406
|
+
next.focus();
|
|
3407
|
+
}
|
|
3408
|
+
}
|
|
3409
|
+
};
|
|
3410
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3411
|
+
"div",
|
|
3412
|
+
{
|
|
3413
|
+
id: panelId,
|
|
3414
|
+
className: clsx47__default.default(Navigation_module_default.internalDropdownPanel, Navigation_module_default.internalDropdownPanelOpen),
|
|
3415
|
+
onMouseEnter,
|
|
3416
|
+
onMouseLeave,
|
|
3417
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.internalDropdownInner, children: [
|
|
3418
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.internalDropdownLinks, children: links.map((sub, i) => {
|
|
3419
|
+
var _a, _b, _c, _d;
|
|
3420
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3421
|
+
"li",
|
|
3422
|
+
{
|
|
3423
|
+
className: clsx47__default.default(Navigation_module_default.dropdownLinkItem, {
|
|
3424
|
+
[Navigation_module_default.dropdownLinkSpacer]: sub.variant === "subMenuSpacer"
|
|
3425
|
+
}),
|
|
3426
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3427
|
+
"a",
|
|
3428
|
+
{
|
|
3429
|
+
href: (_a = sub.cta) == null ? void 0 : _a.url,
|
|
3430
|
+
className: Navigation_module_default.internalDropdownLink,
|
|
3431
|
+
target: ((_b = sub.cta) == null ? void 0 : _b.isExternal) ? "_blank" : void 0,
|
|
3432
|
+
rel: ((_c = sub.cta) == null ? void 0 : _c.isExternal) ? "noopener noreferrer" : void 0,
|
|
3433
|
+
onKeyDown: (e) => handleLinkKeyDown(e, i === 0, i === links.length - 1),
|
|
3434
|
+
children: (_d = sub.cta) == null ? void 0 : _d.label
|
|
3435
|
+
}
|
|
3436
|
+
)
|
|
3437
|
+
},
|
|
3438
|
+
i
|
|
3439
|
+
);
|
|
3440
|
+
}) }),
|
|
3441
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Navigation_module_default.dropdownDivider, "aria-hidden": "true" }),
|
|
3442
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.internalDropdownInfo, children: [
|
|
3443
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: Navigation_module_default.internalDropdownTitle, children: title }),
|
|
3444
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Navigation_module_default.internalDropdownDescription, children: description })
|
|
3445
|
+
] })
|
|
3446
|
+
] })
|
|
3447
|
+
}
|
|
3448
|
+
);
|
|
3449
|
+
};
|
|
3098
3450
|
var NavigationMobile = ({
|
|
3099
3451
|
id,
|
|
3100
|
-
|
|
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 logo = mainLogo ? /* @__PURE__ */ jsxRuntime.jsx(Picture, { className: Navigation_module_default.logoMobile, src: mainLogo, alt: logoAlt }) : null;
|
|
3472
|
+
if (isExternal) {
|
|
3473
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3474
|
+
"div",
|
|
3475
|
+
{
|
|
3476
|
+
id,
|
|
3477
|
+
className: clsx47__default.default(Navigation_module_default.mobileMenu, isOpen && Navigation_module_default.mobileMenuOpen),
|
|
3478
|
+
role: "dialog",
|
|
3479
|
+
"aria-modal": "true",
|
|
3480
|
+
"aria-label": "Navigation menu",
|
|
3481
|
+
"aria-hidden": !isOpen,
|
|
3482
|
+
children: [
|
|
3483
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileMenuHeader, children: [
|
|
3484
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3485
|
+
NavigationLogo,
|
|
3486
|
+
{
|
|
3487
|
+
mainLogo,
|
|
3488
|
+
homeCta,
|
|
3489
|
+
className: Navigation_module_default.mainLogoMobile,
|
|
3490
|
+
onClick: onClose
|
|
3491
|
+
}
|
|
3492
|
+
),
|
|
3493
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3494
|
+
Button,
|
|
3495
|
+
{
|
|
3496
|
+
type: "button",
|
|
3497
|
+
variant: "nofill",
|
|
3498
|
+
className: Navigation_module_default.hamburgerButton,
|
|
3499
|
+
onClick: onClose,
|
|
3500
|
+
"aria-label": "Close navigation menu",
|
|
3501
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "xBlack", size: 24, "aria-hidden": "true" })
|
|
3502
|
+
}
|
|
3503
|
+
)
|
|
3504
|
+
] }),
|
|
3505
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileMenuItems, children: navItems == null ? void 0 : navItems.map((item, index) => {
|
|
3506
|
+
var _a, _b;
|
|
3507
|
+
const subMenuId = `${baseId}-submenu-${index}`;
|
|
3508
|
+
const isExpanded = expanded.includes(index);
|
|
3509
|
+
return item.type === "dropdown" ? /* @__PURE__ */ jsxRuntime.jsxs("li", { className: Navigation_module_default.mobileItem, children: [
|
|
3510
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3511
|
+
"button",
|
|
3512
|
+
{
|
|
3513
|
+
type: "button",
|
|
3514
|
+
className: Navigation_module_default.mobileItemTrigger,
|
|
3515
|
+
onClick: () => toggleExpanded(index),
|
|
3516
|
+
"aria-expanded": isExpanded,
|
|
3517
|
+
"aria-controls": subMenuId,
|
|
3518
|
+
children: [
|
|
3519
|
+
item.title,
|
|
3520
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3521
|
+
"span",
|
|
3522
|
+
{
|
|
3523
|
+
className: clsx47__default.default(
|
|
3524
|
+
Navigation_module_default.mobileItemChevron,
|
|
3525
|
+
isExpanded && Navigation_module_default.mobileItemChevronOpen
|
|
3526
|
+
),
|
|
3527
|
+
"aria-hidden": "true",
|
|
3528
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "downChevronBlack", size: 24 })
|
|
3529
|
+
}
|
|
3530
|
+
)
|
|
3531
|
+
]
|
|
3532
|
+
}
|
|
3533
|
+
),
|
|
3534
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3535
|
+
"div",
|
|
3536
|
+
{
|
|
3537
|
+
id: subMenuId,
|
|
3538
|
+
className: clsx47__default.default(Navigation_module_default.mobileSubItems, isExpanded && Navigation_module_default.mobileSubItemsOpen),
|
|
3539
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileSubItemsInner, children: item.items.map(
|
|
3540
|
+
(subItem, i) => {
|
|
3541
|
+
var _a2, _b2;
|
|
3542
|
+
return subItem.type === "link" ? /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3543
|
+
"a",
|
|
3544
|
+
{
|
|
3545
|
+
href: (_a2 = subItem.cta) == null ? void 0 : _a2.url,
|
|
3546
|
+
className: Navigation_module_default.mobileSubLink,
|
|
3547
|
+
onClick: onClose,
|
|
3548
|
+
children: (_b2 = subItem.cta) == null ? void 0 : _b2.label
|
|
3549
|
+
}
|
|
3550
|
+
) }, i) : null;
|
|
3551
|
+
}
|
|
3552
|
+
) })
|
|
3553
|
+
}
|
|
3554
|
+
)
|
|
3555
|
+
] }, index) : /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: (_a = item.cta) == null ? void 0 : _a.url, className: Navigation_module_default.mobileItemLink, onClick: onClose, children: (_b = item.cta) == null ? void 0 : _b.label }) }, index);
|
|
3556
|
+
}) }),
|
|
3557
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3558
|
+
NavigationCtas,
|
|
3559
|
+
{
|
|
3560
|
+
className: Navigation_module_default.mobileMenuCtas,
|
|
3561
|
+
loginCta,
|
|
3562
|
+
rightButton,
|
|
3563
|
+
loginVariant: "nofillblack"
|
|
3564
|
+
}
|
|
3565
|
+
)
|
|
3566
|
+
]
|
|
3567
|
+
}
|
|
3568
|
+
);
|
|
3569
|
+
}
|
|
3114
3570
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3115
3571
|
"div",
|
|
3116
3572
|
{
|
|
3117
3573
|
id,
|
|
3118
|
-
className:
|
|
3574
|
+
className: clsx47__default.default(Navigation_module_default.internalMobileMenu, isOpen && Navigation_module_default.internalMobileMenuOpen),
|
|
3119
3575
|
role: "dialog",
|
|
3120
3576
|
"aria-modal": "true",
|
|
3121
3577
|
"aria-label": "Navigation menu",
|
|
3122
3578
|
"aria-hidden": !isOpen,
|
|
3123
3579
|
children: [
|
|
3124
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.
|
|
3125
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3126
|
-
NavigationLogo,
|
|
3127
|
-
{
|
|
3128
|
-
mainLogo,
|
|
3129
|
-
homeCta,
|
|
3130
|
-
className: Navigation_module_default.mainLogoMobile,
|
|
3131
|
-
onClick: onClose
|
|
3132
|
-
}
|
|
3133
|
-
),
|
|
3580
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileHeader, children: [
|
|
3581
|
+
homeCta && logo ? /* @__PURE__ */ jsxRuntime.jsx("a", { href: homeCta, className: Navigation_module_default.logoLink, "aria-label": logoAlt, onClick: onClose, children: logo }) : logo,
|
|
3134
3582
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3135
|
-
|
|
3583
|
+
Button,
|
|
3136
3584
|
{
|
|
3585
|
+
variant: "ghost",
|
|
3137
3586
|
type: "button",
|
|
3138
|
-
className: Navigation_module_default.
|
|
3587
|
+
className: Navigation_module_default.mobileClose,
|
|
3139
3588
|
onClick: onClose,
|
|
3140
3589
|
"aria-label": "Close navigation menu",
|
|
3141
3590
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "xBlack", size: 24, "aria-hidden": "true" })
|
|
3142
3591
|
}
|
|
3143
3592
|
)
|
|
3144
3593
|
] }),
|
|
3145
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3146
|
-
|
|
3594
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileBrandBars, "aria-hidden": "true", children: [
|
|
3595
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.lenscrafters) }),
|
|
3596
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.forEyes) }),
|
|
3597
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.optical) }),
|
|
3598
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default(Navigation_module_default.brandBar, Navigation_module_default.pearleVision) })
|
|
3599
|
+
] }),
|
|
3600
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.mobileItems, children: navItems == null ? void 0 : navItems.map((item, index) => {
|
|
3601
|
+
var _a, _b, _c, _d;
|
|
3147
3602
|
const subMenuId = `${baseId}-submenu-${index}`;
|
|
3148
3603
|
const isExpanded = expanded.includes(index);
|
|
3149
|
-
|
|
3604
|
+
if (item.type === "link") {
|
|
3605
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { className: Navigation_module_default.internalMobileItem, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3606
|
+
"a",
|
|
3607
|
+
{
|
|
3608
|
+
href: (_a = item.cta) == null ? void 0 : _a.url,
|
|
3609
|
+
className: Navigation_module_default.internalMobileItemLink,
|
|
3610
|
+
target: ((_b = item.cta) == null ? void 0 : _b.isExternal) ? "_blank" : void 0,
|
|
3611
|
+
rel: ((_c = item.cta) == null ? void 0 : _c.isExternal) ? "noopener noreferrer" : void 0,
|
|
3612
|
+
onClick: onClose,
|
|
3613
|
+
children: (_d = item.cta) == null ? void 0 : _d.label
|
|
3614
|
+
}
|
|
3615
|
+
) }, index);
|
|
3616
|
+
}
|
|
3617
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: Navigation_module_default.internalMobileItem, children: [
|
|
3150
3618
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3151
3619
|
"button",
|
|
3152
3620
|
{
|
|
3153
3621
|
type: "button",
|
|
3154
|
-
className: Navigation_module_default.
|
|
3622
|
+
className: Navigation_module_default.internalMobileItemTrigger,
|
|
3155
3623
|
onClick: () => toggleExpanded(index),
|
|
3156
3624
|
"aria-expanded": isExpanded,
|
|
3157
3625
|
"aria-controls": subMenuId,
|
|
@@ -3160,9 +3628,9 @@ var NavigationMobile = ({
|
|
|
3160
3628
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3161
3629
|
"span",
|
|
3162
3630
|
{
|
|
3163
|
-
className:
|
|
3164
|
-
Navigation_module_default.
|
|
3165
|
-
isExpanded && Navigation_module_default.
|
|
3631
|
+
className: clsx47__default.default(
|
|
3632
|
+
Navigation_module_default.internalMobileItemChevron,
|
|
3633
|
+
isExpanded && Navigation_module_default.internalMobileItemChevronOpen
|
|
3166
3634
|
),
|
|
3167
3635
|
"aria-hidden": "true",
|
|
3168
3636
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "downChevronBlack", size: 24 })
|
|
@@ -3175,129 +3643,273 @@ var NavigationMobile = ({
|
|
|
3175
3643
|
"div",
|
|
3176
3644
|
{
|
|
3177
3645
|
id: subMenuId,
|
|
3178
|
-
className:
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3646
|
+
className: clsx47__default.default(
|
|
3647
|
+
Navigation_module_default.internalMobileSubItems,
|
|
3648
|
+
isExpanded && Navigation_module_default.internalMobileSubItemsOpen
|
|
3649
|
+
),
|
|
3650
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Navigation_module_default.internalMobileSubItemsInner, children: item.items.map(
|
|
3651
|
+
(sub, i) => {
|
|
3652
|
+
var _a2, _b2, _c2, _d2;
|
|
3653
|
+
return sub.type === "link" ? /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3183
3654
|
"a",
|
|
3184
3655
|
{
|
|
3185
|
-
href: (
|
|
3186
|
-
className: Navigation_module_default.
|
|
3656
|
+
href: (_a2 = sub.cta) == null ? void 0 : _a2.url,
|
|
3657
|
+
className: Navigation_module_default.internalMobileSubLink,
|
|
3658
|
+
target: ((_b2 = sub.cta) == null ? void 0 : _b2.isExternal) ? "_blank" : void 0,
|
|
3659
|
+
rel: ((_c2 = sub.cta) == null ? void 0 : _c2.isExternal) ? "noopener noreferrer" : void 0,
|
|
3187
3660
|
onClick: onClose,
|
|
3188
|
-
children: (
|
|
3661
|
+
children: (_d2 = sub.cta) == null ? void 0 : _d2.label
|
|
3189
3662
|
}
|
|
3190
3663
|
) }, i) : null;
|
|
3191
3664
|
}
|
|
3192
3665
|
) })
|
|
3193
3666
|
}
|
|
3194
3667
|
)
|
|
3195
|
-
] }, index)
|
|
3668
|
+
] }, index);
|
|
3196
3669
|
}) }),
|
|
3197
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3670
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.mobileFooter, children: [
|
|
3671
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3672
|
+
Search,
|
|
3673
|
+
{
|
|
3674
|
+
variant: "pill",
|
|
3675
|
+
placeholder: searchPlaceholder,
|
|
3676
|
+
searchCta,
|
|
3677
|
+
onSearch
|
|
3678
|
+
}
|
|
3679
|
+
),
|
|
3680
|
+
user && /* @__PURE__ */ jsxRuntime.jsx(UserMenu, { user, dropUp: true, fullWidth: true })
|
|
3681
|
+
] })
|
|
3206
3682
|
]
|
|
3207
3683
|
}
|
|
3208
3684
|
);
|
|
3209
3685
|
};
|
|
3686
|
+
var FOCUSABLE_SELECTOR = 'a[href], button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
3687
|
+
var getFocusable = (root) => Array.from(root.querySelectorAll(FOCUSABLE_SELECTOR)).filter(
|
|
3688
|
+
(el) => el.tabIndex !== -1 && el.offsetParent !== null
|
|
3689
|
+
);
|
|
3210
3690
|
var Navigation2 = (props) => {
|
|
3211
|
-
|
|
3212
|
-
const
|
|
3213
|
-
|
|
3214
|
-
|
|
3691
|
+
var _a;
|
|
3692
|
+
const {
|
|
3693
|
+
className,
|
|
3694
|
+
variant,
|
|
3695
|
+
transparent,
|
|
3696
|
+
mainLogo,
|
|
3697
|
+
logoAlt = "EssilorLuxottica Eye Care",
|
|
3698
|
+
homeCta,
|
|
3699
|
+
loginCta,
|
|
3700
|
+
rightButton,
|
|
3701
|
+
navigationItems,
|
|
3702
|
+
user,
|
|
3703
|
+
searchPlaceholder = "Search resources",
|
|
3704
|
+
searchCta,
|
|
3705
|
+
onSearch,
|
|
3706
|
+
brandLogos
|
|
3707
|
+
} = props;
|
|
3708
|
+
const isExternal = variant !== "internal";
|
|
3709
|
+
const [isHovered, setIsHovered] = React70.useState(false);
|
|
3710
|
+
const [openIndex, setOpenIndex] = React70.useState(null);
|
|
3711
|
+
const [isMobileMenuOpen, setIsMobileMenuOpen] = React70.useState(false);
|
|
3712
|
+
const navRef = React70.useRef(null);
|
|
3713
|
+
const closeTimer = React70.useRef(null);
|
|
3215
3714
|
const isAtTop = useIsAtTop();
|
|
3216
3715
|
const { is } = useViewPort_default();
|
|
3217
|
-
const mobileMenuId =
|
|
3716
|
+
const mobileMenuId = React70.useId();
|
|
3717
|
+
const baseId = React70.useId();
|
|
3218
3718
|
const isTabletBelow = is("tablet", "below");
|
|
3219
|
-
const
|
|
3220
|
-
|
|
3719
|
+
const dropdownOpen = openIndex !== null && !isTabletBelow;
|
|
3720
|
+
const isTransparent = !!transparent && isAtTop && !isHovered && !dropdownOpen;
|
|
3721
|
+
const openItem = openIndex !== null ? (_a = navigationItems == null ? void 0 : navigationItems.items) == null ? void 0 : _a[openIndex] : void 0;
|
|
3722
|
+
const showLogoUnfolded = !!brandLogos && isAtTop && !dropdownOpen;
|
|
3723
|
+
const openDropdown = (index) => {
|
|
3724
|
+
if (closeTimer.current) clearTimeout(closeTimer.current);
|
|
3725
|
+
setOpenIndex(index);
|
|
3726
|
+
};
|
|
3727
|
+
const scheduleClose = () => {
|
|
3728
|
+
if (closeTimer.current) clearTimeout(closeTimer.current);
|
|
3729
|
+
closeTimer.current = setTimeout(() => setOpenIndex(null), 120);
|
|
3730
|
+
};
|
|
3731
|
+
const handleNavKeyDown = (e) => {
|
|
3732
|
+
if (e.key !== "Tab" || openIndex === null || !navRef.current) return;
|
|
3733
|
+
const nav = navRef.current;
|
|
3734
|
+
const panelId = `${baseId}-panel-${openIndex}`;
|
|
3735
|
+
const panel = nav.querySelector(`#${CSS.escape(panelId)}`);
|
|
3736
|
+
const trigger = nav.querySelector(`[aria-controls="${panelId}"]`);
|
|
3737
|
+
if (!panel || !trigger) return;
|
|
3738
|
+
const panelItems = getFocusable(panel);
|
|
3739
|
+
if (!panelItems.length) return;
|
|
3740
|
+
const first = panelItems[0];
|
|
3741
|
+
const last = panelItems[panelItems.length - 1];
|
|
3742
|
+
const active = document.activeElement;
|
|
3743
|
+
if (!e.shiftKey && active === trigger) {
|
|
3744
|
+
e.preventDefault();
|
|
3745
|
+
first.focus();
|
|
3746
|
+
return;
|
|
3747
|
+
}
|
|
3748
|
+
if (e.shiftKey && active === first) {
|
|
3749
|
+
e.preventDefault();
|
|
3750
|
+
trigger.focus();
|
|
3751
|
+
return;
|
|
3752
|
+
}
|
|
3753
|
+
if (!e.shiftKey && active === last) {
|
|
3754
|
+
const navItems = getFocusable(nav).filter((el) => !panel.contains(el));
|
|
3755
|
+
const idx = navItems.indexOf(trigger);
|
|
3756
|
+
const next = idx !== -1 ? navItems[idx + 1] : void 0;
|
|
3757
|
+
if (next) {
|
|
3758
|
+
e.preventDefault();
|
|
3759
|
+
next.focus();
|
|
3760
|
+
setOpenIndex(null);
|
|
3761
|
+
}
|
|
3762
|
+
}
|
|
3763
|
+
};
|
|
3764
|
+
React70.useEffect(() => {
|
|
3221
3765
|
document.body.style.overflow = isMobileMenuOpen ? "hidden" : "";
|
|
3222
3766
|
return () => {
|
|
3223
3767
|
document.body.style.overflow = "";
|
|
3224
3768
|
};
|
|
3225
3769
|
}, [isMobileMenuOpen]);
|
|
3770
|
+
React70.useEffect(() => {
|
|
3771
|
+
if (!dropdownOpen) return;
|
|
3772
|
+
const handleKey = (e) => {
|
|
3773
|
+
if (e.key === "Escape") setOpenIndex(null);
|
|
3774
|
+
};
|
|
3775
|
+
const handleOutside = (e) => {
|
|
3776
|
+
if (navRef.current && !navRef.current.contains(e.target)) {
|
|
3777
|
+
setOpenIndex(null);
|
|
3778
|
+
}
|
|
3779
|
+
};
|
|
3780
|
+
document.addEventListener("keydown", handleKey);
|
|
3781
|
+
document.addEventListener("pointerdown", handleOutside);
|
|
3782
|
+
document.addEventListener("focusin", handleOutside);
|
|
3783
|
+
return () => {
|
|
3784
|
+
document.removeEventListener("keydown", handleKey);
|
|
3785
|
+
document.removeEventListener("pointerdown", handleOutside);
|
|
3786
|
+
document.removeEventListener("focusin", handleOutside);
|
|
3787
|
+
};
|
|
3788
|
+
}, [dropdownOpen]);
|
|
3789
|
+
const logo = mainLogo ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3790
|
+
Picture,
|
|
3791
|
+
{
|
|
3792
|
+
className: clsx47__default.default(Navigation_module_default.logo, isTabletBelow && Navigation_module_default.logoMobile),
|
|
3793
|
+
src: mainLogo,
|
|
3794
|
+
alt: logoAlt
|
|
3795
|
+
}
|
|
3796
|
+
) : null;
|
|
3226
3797
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3227
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3228
|
-
"
|
|
3798
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3799
|
+
"nav",
|
|
3229
3800
|
{
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3801
|
+
ref: navRef,
|
|
3802
|
+
className: clsx47__default.default(
|
|
3803
|
+
Navigation_module_default.Navigation,
|
|
3804
|
+
dropdownOpen && Navigation_module_default.dropdownOpen,
|
|
3805
|
+
// External-only transparent / hover treatment.
|
|
3806
|
+
isExternal && transparent && Navigation_module_default.variantTransparent,
|
|
3807
|
+
isExternal && isTransparent && Navigation_module_default.transparent,
|
|
3808
|
+
className
|
|
3235
3809
|
),
|
|
3236
|
-
|
|
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
|
-
|
|
3810
|
+
"aria-label": "Main",
|
|
3811
|
+
onKeyDown: handleNavKeyDown,
|
|
3812
|
+
onMouseEnter: isExternal ? () => setIsHovered(true) : void 0,
|
|
3813
|
+
onMouseLeave: isExternal ? () => setIsHovered(false) : scheduleClose,
|
|
3814
|
+
children: [
|
|
3815
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Navigation_module_default.mainBar, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.inner, children: [
|
|
3816
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.topRow, children: [
|
|
3817
|
+
homeCta && logo ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3818
|
+
NavigationLogo,
|
|
3819
|
+
{
|
|
3820
|
+
mainLogo,
|
|
3821
|
+
homeCta,
|
|
3822
|
+
className: clsx47__default.default(Navigation_module_default.logo, isTabletBelow && Navigation_module_default.logoMobile)
|
|
3823
|
+
}
|
|
3824
|
+
) : logo,
|
|
3825
|
+
isTabletBelow ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3826
|
+
Button,
|
|
3827
|
+
{
|
|
3828
|
+
variant: "nofill",
|
|
3829
|
+
type: "button",
|
|
3830
|
+
className: isExternal ? Navigation_module_default.hamburgerButton : Navigation_module_default.hamburger,
|
|
3831
|
+
onClick: () => setIsMobileMenuOpen(true),
|
|
3832
|
+
"aria-label": "Open navigation menu",
|
|
3833
|
+
"aria-haspopup": "dialog",
|
|
3834
|
+
"aria-expanded": isMobileMenuOpen,
|
|
3835
|
+
"aria-controls": mobileMenuId,
|
|
3836
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3837
|
+
Icon,
|
|
3838
|
+
{
|
|
3839
|
+
type: isExternal && isTransparent ? "menuWhite" : "menuBlack",
|
|
3840
|
+
size: 24,
|
|
3841
|
+
"aria-hidden": "true"
|
|
3842
|
+
}
|
|
3843
|
+
)
|
|
3844
|
+
}
|
|
3845
|
+
) : isExternal ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3846
|
+
NavigationCtas,
|
|
3847
|
+
{
|
|
3848
|
+
className: Navigation_module_default.upperRight,
|
|
3849
|
+
loginCta,
|
|
3850
|
+
rightButton,
|
|
3851
|
+
loginVariant: isTransparent ? "ghost" : "nofillblack"
|
|
3852
|
+
}
|
|
3853
|
+
) : user && /* @__PURE__ */ jsxRuntime.jsx(UserMenu, { user })
|
|
3854
|
+
] }),
|
|
3855
|
+
!isTabletBelow && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Navigation_module_default.bottomRow, children: [
|
|
3856
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3857
|
+
NavigationDesktop,
|
|
3858
|
+
{
|
|
3859
|
+
navItems: navigationItems == null ? void 0 : navigationItems.items,
|
|
3860
|
+
openIndex,
|
|
3861
|
+
onOpen: openDropdown,
|
|
3862
|
+
onScheduleClose: scheduleClose,
|
|
3863
|
+
baseId,
|
|
3864
|
+
isTransparent
|
|
3865
|
+
}
|
|
3866
|
+
),
|
|
3867
|
+
!isExternal && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3868
|
+
Search,
|
|
3869
|
+
{
|
|
3870
|
+
placeholder: searchPlaceholder,
|
|
3871
|
+
searchCta,
|
|
3872
|
+
onSearch
|
|
3873
|
+
}
|
|
3874
|
+
)
|
|
3875
|
+
] })
|
|
3876
|
+
] }) }),
|
|
3877
|
+
!isExternal && /* @__PURE__ */ jsxRuntime.jsx(NavigationBrandBars, { brandLogos, unfolded: showLogoUnfolded }),
|
|
3878
|
+
dropdownOpen && (openItem == null ? void 0 : openItem.type) === "dropdown" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3879
|
+
NavigationDropdown,
|
|
3291
3880
|
{
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3881
|
+
item: openItem,
|
|
3882
|
+
panelId: `${baseId}-panel-${openIndex}`,
|
|
3883
|
+
baseId,
|
|
3884
|
+
activeIndex: openIndex,
|
|
3885
|
+
onClose: () => setOpenIndex(null),
|
|
3886
|
+
onMouseEnter: () => openDropdown(openIndex),
|
|
3887
|
+
onMouseLeave: scheduleClose
|
|
3295
3888
|
}
|
|
3296
3889
|
)
|
|
3297
|
-
]
|
|
3890
|
+
]
|
|
3298
3891
|
}
|
|
3299
3892
|
),
|
|
3300
|
-
|
|
3893
|
+
dropdownOpen && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Navigation_module_default.overlay, "aria-hidden": "true" }),
|
|
3894
|
+
isTabletBelow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3895
|
+
NavigationMobile,
|
|
3896
|
+
{
|
|
3897
|
+
id: mobileMenuId,
|
|
3898
|
+
navItems: navigationItems == null ? void 0 : navigationItems.items,
|
|
3899
|
+
mainLogo,
|
|
3900
|
+
logoAlt,
|
|
3901
|
+
homeCta,
|
|
3902
|
+
user,
|
|
3903
|
+
searchPlaceholder,
|
|
3904
|
+
searchCta,
|
|
3905
|
+
onSearch,
|
|
3906
|
+
isOpen: isMobileMenuOpen,
|
|
3907
|
+
onClose: () => setIsMobileMenuOpen(false),
|
|
3908
|
+
isExternal,
|
|
3909
|
+
loginCta,
|
|
3910
|
+
rightButton
|
|
3911
|
+
}
|
|
3912
|
+
)
|
|
3301
3913
|
] });
|
|
3302
3914
|
};
|
|
3303
3915
|
var PracticePathCardsFooter = ({ children }) => {
|
|
@@ -3339,7 +3951,7 @@ var PracticePathCards = ({
|
|
|
3339
3951
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3340
3952
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
3341
3953
|
const footerNode = (_c = slots.footer) != null ? _c : footer;
|
|
3342
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3954
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(PracticePathCards_module_default["practice-path-cards"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: PracticePathCards_module_default.container, children: [
|
|
3343
3955
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticePathCards_module_default.wrapper, children: [
|
|
3344
3956
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticePathCards_module_default.content, children: [
|
|
3345
3957
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { children: titleNode }),
|
|
@@ -3393,8 +4005,8 @@ var Teaser5050With3Text = ({
|
|
|
3393
4005
|
title: Teaser5050With3TextTitle
|
|
3394
4006
|
});
|
|
3395
4007
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3396
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3397
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4008
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Teaser5050With3Text_module_default["teaser5050-3text"], Teaser5050With3Text_module_default[variant], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050With3Text_module_default.container, children: [
|
|
4009
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Teaser5050With3Text_module_default.title, "h3"), children: titleNode }),
|
|
3398
4010
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050With3Text_module_default.content, children: [
|
|
3399
4011
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Teaser5050With3Text_module_default.cards, children: cards == null ? void 0 : cards.map((card, key) => /* @__PURE__ */ jsxRuntime.jsx(InfoCard2, __spreadValues({}, card), key)) }),
|
|
3400
4012
|
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: Teaser5050With3Text_module_default.image }, image))
|
|
@@ -3444,12 +4056,12 @@ var Teaser5050WithCta = ({
|
|
|
3444
4056
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3445
4057
|
"div",
|
|
3446
4058
|
{
|
|
3447
|
-
className:
|
|
4059
|
+
className: clsx47__default.default(Teaser5050WithCta_module_default.teaser5050, Teaser5050WithCta_module_default[variant], className),
|
|
3448
4060
|
style: { backgroundColor: bgColor ? bgColor : "#ffffff" },
|
|
3449
4061
|
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050WithCta_module_default.container, children: [
|
|
3450
4062
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.wrapper, children: [
|
|
3451
4063
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.content, children: [
|
|
3452
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4064
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(Teaser5050WithCta_module_default.title, "h3"), children: titleNode }),
|
|
3453
4065
|
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "subheading", children: subtitleNode })
|
|
3454
4066
|
] }),
|
|
3455
4067
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Teaser5050WithCta_module_default.ctaWrapper, children: ctas.map((cta, key) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3501,7 +4113,7 @@ var Carousel = (_a) => {
|
|
|
3501
4113
|
},
|
|
3502
4114
|
role: "region",
|
|
3503
4115
|
"aria-label": ariaLabel,
|
|
3504
|
-
className:
|
|
4116
|
+
className: clsx47__default.default(Carousel_module_default.carousel, className),
|
|
3505
4117
|
spaceBetween: 0,
|
|
3506
4118
|
slidesPerView: "auto",
|
|
3507
4119
|
modules: [modules.FreeMode, modules.A11y],
|
|
@@ -3511,7 +4123,7 @@ var Carousel = (_a) => {
|
|
|
3511
4123
|
children: slides.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3512
4124
|
react$1.SwiperSlide,
|
|
3513
4125
|
{
|
|
3514
|
-
className:
|
|
4126
|
+
className: clsx47__default.default(Carousel_module_default["carousel-item"], props.slideClass),
|
|
3515
4127
|
children: slide
|
|
3516
4128
|
},
|
|
3517
4129
|
index
|
|
@@ -3568,13 +4180,13 @@ var EventList = ({
|
|
|
3568
4180
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3569
4181
|
"div",
|
|
3570
4182
|
{
|
|
3571
|
-
className:
|
|
4183
|
+
className: clsx47__default.default("event-list-module", EventList_module_default["event-list-module"], className),
|
|
3572
4184
|
style: {
|
|
3573
4185
|
backgroundColor
|
|
3574
4186
|
},
|
|
3575
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className:
|
|
4187
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(EventList_module_default["event-list-container"]), children: [
|
|
3576
4188
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: EventList_module_default["event-list-header-container"], children: [
|
|
3577
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
4189
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx47__default.default(EventList_module_default["event-list-title"]), children: titleNode }),
|
|
3578
4190
|
cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3579
4191
|
Button,
|
|
3580
4192
|
{
|
|
@@ -3592,7 +4204,7 @@ var EventList = ({
|
|
|
3592
4204
|
Carousel,
|
|
3593
4205
|
{
|
|
3594
4206
|
"aria-label": "Upcoming events",
|
|
3595
|
-
wrapperClass:
|
|
4207
|
+
wrapperClass: clsx47__default.default(EventList_module_default["carousel-wrapper"], EventList_module_default[variant]),
|
|
3596
4208
|
slideClass: EventList_module_default["carousel-list-item"],
|
|
3597
4209
|
spaceBetween: 16,
|
|
3598
4210
|
slides: items.map((item) => {
|
|
@@ -3600,7 +4212,7 @@ var EventList = ({
|
|
|
3600
4212
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3601
4213
|
UpcomingEventCard,
|
|
3602
4214
|
__spreadValues({
|
|
3603
|
-
className:
|
|
4215
|
+
className: clsx47__default.default(EventList_module_default["event-card"]),
|
|
3604
4216
|
direction: "vertical",
|
|
3605
4217
|
showImage: false
|
|
3606
4218
|
}, item),
|
|
@@ -3613,7 +4225,7 @@ var EventList = ({
|
|
|
3613
4225
|
"ul",
|
|
3614
4226
|
{
|
|
3615
4227
|
"aria-label": "Upcoming events",
|
|
3616
|
-
className:
|
|
4228
|
+
className: clsx47__default.default(
|
|
3617
4229
|
EventList_module_default["event-list-wrapper"],
|
|
3618
4230
|
EventList_module_default["horizontal"],
|
|
3619
4231
|
EventList_module_default[variant]
|
|
@@ -3623,11 +4235,11 @@ var EventList = ({
|
|
|
3623
4235
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3624
4236
|
"li",
|
|
3625
4237
|
{
|
|
3626
|
-
className:
|
|
4238
|
+
className: clsx47__default.default(EventList_module_default["card-list-item"]),
|
|
3627
4239
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3628
4240
|
UpcomingEventCard,
|
|
3629
4241
|
__spreadProps(__spreadValues({}, item), {
|
|
3630
|
-
className:
|
|
4242
|
+
className: clsx47__default.default(EventList_module_default["card-item"]),
|
|
3631
4243
|
showImage: false,
|
|
3632
4244
|
direction: "vertical"
|
|
3633
4245
|
})
|
|
@@ -3642,7 +4254,7 @@ var EventList = ({
|
|
|
3642
4254
|
"ul",
|
|
3643
4255
|
{
|
|
3644
4256
|
"aria-label": "Upcoming events",
|
|
3645
|
-
className:
|
|
4257
|
+
className: clsx47__default.default(EventList_module_default["event-list-wrapper"], EventList_module_default[listDirection]),
|
|
3646
4258
|
children: items == null ? void 0 : items.map((item, index) => {
|
|
3647
4259
|
var _a2, _b, _c;
|
|
3648
4260
|
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(UpcomingEventCard, __spreadProps(__spreadValues({}, item), { direction: cardDirection })) }, (_c = (_b = (_a2 = item.title) != null ? _a2 : item.date) != null ? _b : item.location) != null ? _c : index);
|
|
@@ -3650,8 +4262,8 @@ var EventList = ({
|
|
|
3650
4262
|
}
|
|
3651
4263
|
)
|
|
3652
4264
|
] }),
|
|
3653
|
-
!isNotEmpty && emptyNode ?
|
|
3654
|
-
className:
|
|
4265
|
+
!isNotEmpty && emptyNode ? React70__default.default.cloneElement(emptyNode, {
|
|
4266
|
+
className: clsx47__default.default("empty-search-result", EventList_module_default["empty-search-result"])
|
|
3655
4267
|
}) : null
|
|
3656
4268
|
] })
|
|
3657
4269
|
}
|
|
@@ -3695,9 +4307,9 @@ var TextEvent = (props) => {
|
|
|
3695
4307
|
});
|
|
3696
4308
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3697
4309
|
const richTextNode = (_b = slots.richText) != null ? _b : richText;
|
|
3698
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className:
|
|
4310
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(TextEvent_module_default.textEvent, className), children: [
|
|
3699
4311
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", className: TextEvent_module_default.title, children: titleNode }),
|
|
3700
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4312
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(TextEvent_module_default.richText, TextEvent_module_default[variant != null ? variant : ""]), children: richTextNode })
|
|
3701
4313
|
] });
|
|
3702
4314
|
};
|
|
3703
4315
|
|
|
@@ -3728,7 +4340,7 @@ var TextBody = (props) => {
|
|
|
3728
4340
|
});
|
|
3729
4341
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3730
4342
|
const bodyNode = (_b = slots.body) != null ? _b : body;
|
|
3731
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className:
|
|
4343
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default(TextBody_module_default.textBody, className), children: [
|
|
3732
4344
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", className: TextBody_module_default.title, children: titleNode }),
|
|
3733
4345
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: TextBody_module_default.body, children: bodyNode })
|
|
3734
4346
|
] });
|
|
@@ -3771,7 +4383,7 @@ var TextCenterCtaInBottom = ({
|
|
|
3771
4383
|
});
|
|
3772
4384
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
3773
4385
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
3774
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4386
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(TextCenterCtaInBottom_module_default.textCenterCta, className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: TextCenterCtaInBottom_module_default.container, children: [
|
|
3775
4387
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TextCenterCtaInBottom_module_default.content, children: [
|
|
3776
4388
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterCtaInBottom_module_default.title, children: titleNode }),
|
|
3777
4389
|
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterCtaInBottom_module_default.subtitle, children: subtitleNode })
|
|
@@ -3779,7 +4391,7 @@ var TextCenterCtaInBottom = ({
|
|
|
3779
4391
|
!!(ctas == null ? void 0 : ctas.length) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3780
4392
|
"div",
|
|
3781
4393
|
{
|
|
3782
|
-
className:
|
|
4394
|
+
className: clsx47__default.default(
|
|
3783
4395
|
TextCenterCtaInBottom_module_default.ctaWrapper,
|
|
3784
4396
|
ctas.every((cta) => !cta.label && cta.logo) && TextCenterCtaInBottom_module_default.iconOnly
|
|
3785
4397
|
),
|
|
@@ -3833,17 +4445,17 @@ var ResourcesGridList = ({
|
|
|
3833
4445
|
defaultSort = "latest"
|
|
3834
4446
|
}) => {
|
|
3835
4447
|
var _a;
|
|
3836
|
-
const [view, setView] =
|
|
3837
|
-
const [isSidebarOpen, setIsSidebarOpen] =
|
|
3838
|
-
const [filterValue, setFilterValue] =
|
|
3839
|
-
const [sortValue, setSortValue] =
|
|
3840
|
-
const [searchQuery, setSearchQuery] =
|
|
3841
|
-
const [currentPage, setCurrentPage] =
|
|
3842
|
-
const [selectedCategory, setSelectedCategory] =
|
|
4448
|
+
const [view, setView] = React70.useState(defaultView);
|
|
4449
|
+
const [isSidebarOpen, setIsSidebarOpen] = React70.useState(false);
|
|
4450
|
+
const [filterValue, setFilterValue] = React70.useState(defaultFilter);
|
|
4451
|
+
const [sortValue, setSortValue] = React70.useState(defaultSort);
|
|
4452
|
+
const [searchQuery, setSearchQuery] = React70.useState("");
|
|
4453
|
+
const [currentPage, setCurrentPage] = React70.useState(1);
|
|
4454
|
+
const [selectedCategory, setSelectedCategory] = React70.useState(() => {
|
|
3843
4455
|
const activeIndex = categories.findIndex((cat) => cat.active);
|
|
3844
4456
|
return activeIndex === -1 ? 0 : activeIndex;
|
|
3845
4457
|
});
|
|
3846
|
-
const widgetRef =
|
|
4458
|
+
const widgetRef = React70.useRef(null);
|
|
3847
4459
|
const { is } = useViewPort_default();
|
|
3848
4460
|
const isMobile = is("tablet", "below");
|
|
3849
4461
|
const selectedValue = (_a = categories[selectedCategory]) == null ? void 0 : _a.value;
|
|
@@ -3891,7 +4503,7 @@ var ResourcesGridList = ({
|
|
|
3891
4503
|
const safeCurrentPage = Math.min(currentPage, totalPages);
|
|
3892
4504
|
const pageStart = (safeCurrentPage - 1) * ITEMS_PER_PAGE;
|
|
3893
4505
|
const paginatedItems = displayedItems.slice(pageStart, pageStart + ITEMS_PER_PAGE);
|
|
3894
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: widgetRef, className:
|
|
4506
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: widgetRef, className: clsx47__default.default(ResourcesGridList_module_default.widget, className), children: [
|
|
3895
4507
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3896
4508
|
FilterBar,
|
|
3897
4509
|
{
|
|
@@ -3910,7 +4522,7 @@ var ResourcesGridList = ({
|
|
|
3910
4522
|
isMobile && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3911
4523
|
"div",
|
|
3912
4524
|
{
|
|
3913
|
-
className:
|
|
4525
|
+
className: clsx47__default.default(
|
|
3914
4526
|
ResourcesGridList_module_default.mobileSidebarOverlay,
|
|
3915
4527
|
isSidebarOpen && ResourcesGridList_module_default.mobileSidebarOverlayOpen
|
|
3916
4528
|
),
|
|
@@ -3921,7 +4533,7 @@ var ResourcesGridList = ({
|
|
|
3921
4533
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3922
4534
|
"li",
|
|
3923
4535
|
{
|
|
3924
|
-
className:
|
|
4536
|
+
className: clsx47__default.default(
|
|
3925
4537
|
ResourcesGridList_module_default.mobileSidebarItem,
|
|
3926
4538
|
i === selectedCategory && ResourcesGridList_module_default.active
|
|
3927
4539
|
),
|
|
@@ -3966,7 +4578,7 @@ var ResourcesGridList = ({
|
|
|
3966
4578
|
onSelect: handleSelectCategory
|
|
3967
4579
|
}
|
|
3968
4580
|
),
|
|
3969
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4581
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(ResourcesGridList_module_default.cardsArea, ResourcesGridList_module_default[view]), children: paginatedItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(ResourceCardItem, { item, view }, item.id)) })
|
|
3970
4582
|
] }),
|
|
3971
4583
|
totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3972
4584
|
Pagination,
|
|
@@ -3999,7 +4611,7 @@ var Grid = ({
|
|
|
3999
4611
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4000
4612
|
Component,
|
|
4001
4613
|
{
|
|
4002
|
-
className:
|
|
4614
|
+
className: clsx47__default.default("grid", Grid_module_default.grid, className),
|
|
4003
4615
|
role,
|
|
4004
4616
|
"aria-label": ariaLabel,
|
|
4005
4617
|
"aria-labelledby": ariaLabelledBy,
|
|
@@ -4024,7 +4636,7 @@ var GridItem = ({
|
|
|
4024
4636
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4025
4637
|
Component,
|
|
4026
4638
|
{
|
|
4027
|
-
className:
|
|
4639
|
+
className: clsx47__default.default("grid-item", Grid_module_default["grid-item"], className),
|
|
4028
4640
|
role,
|
|
4029
4641
|
"aria-label": ariaLabel,
|
|
4030
4642
|
"aria-labelledby": ariaLabelledBy,
|
|
@@ -4072,13 +4684,13 @@ var BlogCardGrid = ({
|
|
|
4072
4684
|
title: BlogCardGridTitle
|
|
4073
4685
|
});
|
|
4074
4686
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
4075
|
-
const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
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:
|
|
4687
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", BlogCardGrid_module_default["wrapper"]), children: [
|
|
4688
|
+
title && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header-container", BlogCardGrid_module_default["header-container"]), children: [
|
|
4689
|
+
titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h4", className: clsx47__default.default("title", BlogCardGrid_module_default["title"]), children: titleNode }) : titleNode,
|
|
4690
|
+
cta && (cta == null ? void 0 : cta.url) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("cta-wrapper", BlogCardGrid_module_default["cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4079
4691
|
Button,
|
|
4080
4692
|
{
|
|
4081
|
-
className:
|
|
4693
|
+
className: clsx47__default.default("cta", BlogCardGrid_module_default["cta"]),
|
|
4082
4694
|
variant: "nofillblack",
|
|
4083
4695
|
href: cta.url,
|
|
4084
4696
|
isExternal: cta == null ? void 0 : cta.isExternal,
|
|
@@ -4104,11 +4716,11 @@ var BlogCardGrid = ({
|
|
|
4104
4716
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4105
4717
|
"div",
|
|
4106
4718
|
{
|
|
4107
|
-
className:
|
|
4719
|
+
className: clsx47__default.default("blog-card-grid", BlogCardGrid_module_default["blog-card-grid"], className),
|
|
4108
4720
|
style: {
|
|
4109
4721
|
backgroundColor
|
|
4110
4722
|
},
|
|
4111
|
-
children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className:
|
|
4723
|
+
children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx47__default.default("container", BlogCardGrid_module_default["container"]), children: content }) : content
|
|
4112
4724
|
}
|
|
4113
4725
|
);
|
|
4114
4726
|
};
|
|
@@ -4156,13 +4768,13 @@ var FeaturedNewsHighlights = ({
|
|
|
4156
4768
|
const sideCards = items.slice(1);
|
|
4157
4769
|
const isVariantHome = variant === "home";
|
|
4158
4770
|
const isBelowTablet = is("tablet", "below");
|
|
4159
|
-
const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4160
|
-
title && cta && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4771
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", FeaturedNewsHighlights_module_default["wrapper"]), children: [
|
|
4772
|
+
title && cta && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header-container", FeaturedNewsHighlights_module_default["header-container"]), children: [
|
|
4161
4773
|
titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h2", children: titleNode }) : titleNode,
|
|
4162
|
-
cta && (cta == null ? void 0 : cta.url) && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4774
|
+
cta && (cta == null ? void 0 : cta.url) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("cta-wrapper", FeaturedNewsHighlights_module_default["cta-wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4163
4775
|
Button,
|
|
4164
4776
|
{
|
|
4165
|
-
className:
|
|
4777
|
+
className: clsx47__default.default("cta", FeaturedNewsHighlights_module_default["cta"]),
|
|
4166
4778
|
variant: "nofillblack",
|
|
4167
4779
|
href: cta.url,
|
|
4168
4780
|
isExternal: cta == null ? void 0 : cta.isExternal,
|
|
@@ -4174,9 +4786,9 @@ var FeaturedNewsHighlights = ({
|
|
|
4174
4786
|
isVariantHome && isBelowTablet && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4175
4787
|
Carousel,
|
|
4176
4788
|
{
|
|
4177
|
-
className:
|
|
4789
|
+
className: clsx47__default.default("carousel", FeaturedNewsHighlights_module_default["carousel"]),
|
|
4178
4790
|
"aria-label": "featured news",
|
|
4179
|
-
wrapperClass:
|
|
4791
|
+
wrapperClass: clsx47__default.default(FeaturedNewsHighlights_module_default["carousel-wrapper"]),
|
|
4180
4792
|
slideClass: FeaturedNewsHighlights_module_default["carousel-list-item"],
|
|
4181
4793
|
spaceBetween: 16,
|
|
4182
4794
|
slides: items.map((item, index) => {
|
|
@@ -4185,27 +4797,27 @@ var FeaturedNewsHighlights = ({
|
|
|
4185
4797
|
NewsCard,
|
|
4186
4798
|
__spreadProps(__spreadValues({}, item), {
|
|
4187
4799
|
direction: "vertical",
|
|
4188
|
-
className:
|
|
4800
|
+
className: clsx47__default.default("carousel-news-card", FeaturedNewsHighlights_module_default["carousel-news-card"])
|
|
4189
4801
|
}),
|
|
4190
4802
|
(_a2 = item == null ? void 0 : item.title) != null ? _a2 : index
|
|
4191
4803
|
);
|
|
4192
4804
|
})
|
|
4193
4805
|
}
|
|
4194
4806
|
),
|
|
4195
|
-
(!isVariantHome || isVariantHome && !isBelowTablet) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4807
|
+
(!isVariantHome || isVariantHome && !isBelowTablet) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content-wrapper", FeaturedNewsHighlights_module_default["content-wrapper"]), children: [
|
|
4196
4808
|
featuredCard && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4197
4809
|
NewsCard,
|
|
4198
4810
|
__spreadProps(__spreadValues({}, featuredCard), {
|
|
4199
|
-
className:
|
|
4811
|
+
className: clsx47__default.default("featured-card", FeaturedNewsHighlights_module_default["featured-card"]),
|
|
4200
4812
|
renderLink
|
|
4201
4813
|
})
|
|
4202
4814
|
),
|
|
4203
|
-
sideCards && sideCards.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4815
|
+
sideCards && sideCards.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("side-content", FeaturedNewsHighlights_module_default["side-content"]), children: sideCards.map((card, index) => {
|
|
4204
4816
|
var _a2;
|
|
4205
4817
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4206
4818
|
NewsCard,
|
|
4207
4819
|
__spreadProps(__spreadValues({}, card), {
|
|
4208
|
-
className:
|
|
4820
|
+
className: clsx47__default.default("side-cards", FeaturedNewsHighlights_module_default["side-cards"]),
|
|
4209
4821
|
direction: "horizontal",
|
|
4210
4822
|
renderLink
|
|
4211
4823
|
}),
|
|
@@ -4217,11 +4829,11 @@ var FeaturedNewsHighlights = ({
|
|
|
4217
4829
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4218
4830
|
"div",
|
|
4219
4831
|
{
|
|
4220
|
-
className:
|
|
4832
|
+
className: clsx47__default.default("featured-news-higlights", FeaturedNewsHighlights_module_default["featured-news-higlights"], className),
|
|
4221
4833
|
style: {
|
|
4222
4834
|
backgroundColor
|
|
4223
4835
|
},
|
|
4224
|
-
children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className:
|
|
4836
|
+
children: hasContainer ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: clsx47__default.default("container", FeaturedNewsHighlights_module_default["container"]), children: content }) : content
|
|
4225
4837
|
}
|
|
4226
4838
|
);
|
|
4227
4839
|
};
|
|
@@ -4265,23 +4877,23 @@ var NewsCardList = ({
|
|
|
4265
4877
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4266
4878
|
"div",
|
|
4267
4879
|
{
|
|
4268
|
-
className:
|
|
4880
|
+
className: clsx47__default.default("news-card-list", NewsCardList_module_default["news-card-list"], className),
|
|
4269
4881
|
style: {
|
|
4270
4882
|
backgroundColor
|
|
4271
4883
|
},
|
|
4272
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className:
|
|
4273
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4884
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", NewsCardList_module_default["container"]), children: [
|
|
4885
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", NewsCardList_module_default["wrapper"]), children: [
|
|
4274
4886
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4275
4887
|
Input,
|
|
4276
4888
|
__spreadValues({
|
|
4277
|
-
className:
|
|
4889
|
+
className: clsx47__default.default("search-input", NewsCardList_module_default["search-input"]),
|
|
4278
4890
|
startAdornment: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search" }),
|
|
4279
4891
|
placeholder: "Search News",
|
|
4280
4892
|
endAction: searchValue ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4281
4893
|
Button,
|
|
4282
4894
|
{
|
|
4283
4895
|
variant: "nofillblack",
|
|
4284
|
-
className:
|
|
4896
|
+
className: clsx47__default.default(NewsCardList_module_default["end-action-button"]),
|
|
4285
4897
|
"aria-label": "Search",
|
|
4286
4898
|
onClick: onSearchSubmit ? () => onSearchSubmit(searchValue || "") : void 0,
|
|
4287
4899
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "rightBlack" })
|
|
@@ -4293,7 +4905,7 @@ var NewsCardList = ({
|
|
|
4293
4905
|
} : void 0
|
|
4294
4906
|
}, searchInputProps)
|
|
4295
4907
|
),
|
|
4296
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4908
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("card-wrapper", NewsCardList_module_default["card-wrapper"]), children: [
|
|
4297
4909
|
currentPage === 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4298
4910
|
FeaturedNewsHighlights2,
|
|
4299
4911
|
{
|
|
@@ -4306,8 +4918,8 @@ var NewsCardList = ({
|
|
|
4306
4918
|
/* @__PURE__ */ jsxRuntime.jsx(BlogCardGrid2, { items: cards, hasContainer: false, renderLink })
|
|
4307
4919
|
] })
|
|
4308
4920
|
] }),
|
|
4309
|
-
paginationNode ?
|
|
4310
|
-
className:
|
|
4921
|
+
paginationNode ? React70__default.default.cloneElement(paginationNode, {
|
|
4922
|
+
className: clsx47__default.default("pagination", NewsCardList_module_default["pagination"])
|
|
4311
4923
|
}) : null
|
|
4312
4924
|
] })
|
|
4313
4925
|
}
|
|
@@ -4352,15 +4964,15 @@ var BlogPost = ({
|
|
|
4352
4964
|
});
|
|
4353
4965
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
4354
4966
|
const bodyNode = (_b = slots.body) != null ? _b : body;
|
|
4355
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4356
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4967
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("blog-post", BlogPost_module_default["blog-post"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", BlogPost_module_default["container"]), children: [
|
|
4968
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("header", BlogPost_module_default["header"]), children: [
|
|
4357
4969
|
titleNode && typeof titleNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text, { tag: "h1", children: titleNode }) : titleNode,
|
|
4358
|
-
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className:
|
|
4970
|
+
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx47__default.default("image", BlogPost_module_default["image"]) }))
|
|
4359
4971
|
] }),
|
|
4360
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4361
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
4972
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content", BlogPost_module_default["content"]), children: [
|
|
4973
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("content-top", BlogPost_module_default["content-top"]), children: [
|
|
4362
4974
|
/* @__PURE__ */ jsxRuntime.jsx(Badge, { size: "sm", children: tag }),
|
|
4363
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
4975
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: clsx47__default.default("content-date", BlogPost_module_default["content-date"]), children: [
|
|
4364
4976
|
"Published ",
|
|
4365
4977
|
/* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date.value, children: date.label })
|
|
4366
4978
|
] })
|
|
@@ -4373,7 +4985,7 @@ var BlogPost = ({
|
|
|
4373
4985
|
title: "More News",
|
|
4374
4986
|
items: relatedArticles,
|
|
4375
4987
|
hasContainer: false,
|
|
4376
|
-
className:
|
|
4988
|
+
className: clsx47__default.default("related-articles", BlogPost_module_default["related-articles"])
|
|
4377
4989
|
}
|
|
4378
4990
|
)
|
|
4379
4991
|
] }) });
|
|
@@ -4421,22 +5033,22 @@ var BlogSearchResultsList = ({
|
|
|
4421
5033
|
});
|
|
4422
5034
|
const searchNode = (_a = slots.search) != null ? _a : searchResult;
|
|
4423
5035
|
const paginationNode = slots.pagination;
|
|
4424
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4425
|
-
typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
4426
|
-
className:
|
|
5036
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("search-results-list", BlogSearchResultsList_module_default["search-results-list"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", BlogSearchResultsList_module_default["container"]), children: [
|
|
5037
|
+
typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("search-result", BlogSearchResultsList_module_default["search-result"]), children: searchNode }) : React70__default.default.isValidElement(searchNode) ? React70__default.default.cloneElement(searchNode, {
|
|
5038
|
+
className: clsx47__default.default("search-result", BlogSearchResultsList_module_default["search-result"])
|
|
4427
5039
|
}) : null,
|
|
4428
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
5040
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx47__default.default("wrapper", BlogSearchResultsList_module_default["wrapper"]), children: [
|
|
4429
5041
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4430
5042
|
Input,
|
|
4431
5043
|
__spreadValues({
|
|
4432
|
-
className:
|
|
5044
|
+
className: clsx47__default.default("search-input", BlogSearchResultsList_module_default["search-input"]),
|
|
4433
5045
|
startAdornment: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search" }),
|
|
4434
5046
|
placeholder: "Search News",
|
|
4435
5047
|
endAction: searchValue ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4436
5048
|
Button,
|
|
4437
5049
|
{
|
|
4438
5050
|
variant: "nofillblack",
|
|
4439
|
-
className:
|
|
5051
|
+
className: clsx47__default.default(BlogSearchResultsList_module_default["end-action-button"]),
|
|
4440
5052
|
"aria-label": "Search",
|
|
4441
5053
|
onClick: () => onSearchSubmit(searchValue),
|
|
4442
5054
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "rightBlack" })
|
|
@@ -4450,8 +5062,8 @@ var BlogSearchResultsList = ({
|
|
|
4450
5062
|
),
|
|
4451
5063
|
/* @__PURE__ */ jsxRuntime.jsx(BlogCardGrid2, { items, hasContainer: false, renderLink })
|
|
4452
5064
|
] }),
|
|
4453
|
-
paginationNode ?
|
|
4454
|
-
className:
|
|
5065
|
+
paginationNode ? React70__default.default.cloneElement(paginationNode, {
|
|
5066
|
+
className: clsx47__default.default("pagination", BlogSearchResultsList_module_default["pagination"])
|
|
4455
5067
|
}) : null
|
|
4456
5068
|
] }) });
|
|
4457
5069
|
};
|
|
@@ -4492,11 +5104,11 @@ var GlobalSearchResultsList = ({
|
|
|
4492
5104
|
});
|
|
4493
5105
|
const searchNode = (_a = slots.search) != null ? _a : searchResult;
|
|
4494
5106
|
const paginationNode = slots.pagination;
|
|
4495
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4496
|
-
typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
4497
|
-
className:
|
|
5107
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("search-results-list", GlobalSearchResultsList_module_default["search-results-list"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx47__default.default("container", GlobalSearchResultsList_module_default["container"]), children: [
|
|
5108
|
+
typeof searchNode === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx47__default.default("search-result", GlobalSearchResultsList_module_default["search-result"]), children: searchNode }) : React70__default.default.isValidElement(searchNode) ? React70__default.default.cloneElement(searchNode, {
|
|
5109
|
+
className: clsx47__default.default("search-result", GlobalSearchResultsList_module_default["search-result"])
|
|
4498
5110
|
}) : null,
|
|
4499
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
5111
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default("wrapper", GlobalSearchResultsList_module_default["wrapper"]), children: /* @__PURE__ */ jsxRuntime.jsx(Grid, { role: "list", columns: 3, children: items.map((item, index) => {
|
|
4500
5112
|
var _a2;
|
|
4501
5113
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4502
5114
|
GridItem,
|
|
@@ -4516,8 +5128,8 @@ var GlobalSearchResultsList = ({
|
|
|
4516
5128
|
item.title ? `${item.title}-${(_a2 = item == null ? void 0 : item.id) != null ? _a2 : index}` : index
|
|
4517
5129
|
);
|
|
4518
5130
|
}) }) }),
|
|
4519
|
-
paginationNode ?
|
|
4520
|
-
className:
|
|
5131
|
+
paginationNode ? React70__default.default.cloneElement(paginationNode, {
|
|
5132
|
+
className: clsx47__default.default("pagination", GlobalSearchResultsList_module_default["pagination"])
|
|
4521
5133
|
}) : null
|
|
4522
5134
|
] }) });
|
|
4523
5135
|
};
|
|
@@ -4555,10 +5167,10 @@ var TextCenterWithMedia = ({
|
|
|
4555
5167
|
children
|
|
4556
5168
|
}) => {
|
|
4557
5169
|
var _a;
|
|
4558
|
-
const [isOpen, setIsOpen] =
|
|
4559
|
-
const dialogRef =
|
|
4560
|
-
const videoRef =
|
|
4561
|
-
|
|
5170
|
+
const [isOpen, setIsOpen] = React70.useState(false);
|
|
5171
|
+
const dialogRef = React70.useRef(null);
|
|
5172
|
+
const videoRef = React70.useRef(null);
|
|
5173
|
+
React70.useEffect(() => {
|
|
4562
5174
|
var _a2, _b;
|
|
4563
5175
|
if (isOpen) {
|
|
4564
5176
|
(_a2 = dialogRef.current) == null ? void 0 : _a2.showModal();
|
|
@@ -4575,7 +5187,7 @@ var TextCenterWithMedia = ({
|
|
|
4575
5187
|
};
|
|
4576
5188
|
const slots = resolveCompoundSlots(children, { title: TextCenterWithMediaTitle });
|
|
4577
5189
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
4578
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className:
|
|
5190
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: clsx47__default.default(TextCenterWithMedia_module_default.textCenterWithMedia, className), children: [
|
|
4579
5191
|
/* @__PURE__ */ jsxRuntime.jsxs(Container, { children: [
|
|
4580
5192
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "h2", children: titleNode }),
|
|
4581
5193
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: TextCenterWithMedia_module_default.thumbnailWrapper, children: thumbnail && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -4616,6 +5228,99 @@ var TextCenterWithMedia2 = Object.assign(TextCenterWithMedia, {
|
|
|
4616
5228
|
Title: TextCenterWithMediaTitle
|
|
4617
5229
|
});
|
|
4618
5230
|
|
|
5231
|
+
// src/widgets/QuoteSectionBlock/QuoteSectionBlock.module.scss
|
|
5232
|
+
var QuoteSectionBlock_module_default = {
|
|
5233
|
+
quoteSectionBlock: "QuoteSectionBlock_module_quoteSectionBlock",
|
|
5234
|
+
inner: "QuoteSectionBlock_module_inner",
|
|
5235
|
+
title: "QuoteSectionBlock_module_title",
|
|
5236
|
+
swiperContainer: "QuoteSectionBlock_module_swiperContainer",
|
|
5237
|
+
card: "QuoteSectionBlock_module_card",
|
|
5238
|
+
quoteLogo: "QuoteSectionBlock_module_quoteLogo",
|
|
5239
|
+
bodyText: "QuoteSectionBlock_module_bodyText",
|
|
5240
|
+
attribution: "QuoteSectionBlock_module_attribution",
|
|
5241
|
+
displayPhoto: "QuoteSectionBlock_module_displayPhoto",
|
|
5242
|
+
displayName: "QuoteSectionBlock_module_displayName",
|
|
5243
|
+
attributionText: "QuoteSectionBlock_module_attributionText",
|
|
5244
|
+
jobTitleLogo: "QuoteSectionBlock_module_jobTitleLogo",
|
|
5245
|
+
controls: "QuoteSectionBlock_module_controls"
|
|
5246
|
+
};
|
|
5247
|
+
var QuoteSectionBlock = ({ className, title, items = [] }) => {
|
|
5248
|
+
const { is } = useViewPort_default();
|
|
5249
|
+
const isMobile = is("tablet", "below");
|
|
5250
|
+
const [swiperInstance, setSwiperInstance] = React70.useState(null);
|
|
5251
|
+
const [activeIndex, setActiveIndex] = React70.useState(0);
|
|
5252
|
+
if (!items.length) return null;
|
|
5253
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx47__default.default(QuoteSectionBlock_module_default.quoteSectionBlock, className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.inner, children: [
|
|
5254
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: QuoteSectionBlock_module_default.title, children: title }),
|
|
5255
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: QuoteSectionBlock_module_default.swiperContainer, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5256
|
+
react$1.Swiper,
|
|
5257
|
+
{
|
|
5258
|
+
slidesPerView: "auto",
|
|
5259
|
+
spaceBetween: isMobile ? 8 : 32,
|
|
5260
|
+
onSwiper: setSwiperInstance,
|
|
5261
|
+
onSlideChange: (swiper) => setActiveIndex(swiper.activeIndex),
|
|
5262
|
+
children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(react$1.SwiperSlide, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.card, children: [
|
|
5263
|
+
(item == null ? void 0 : item.quoteLogo) && /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.quoteLogo, alt: "", className: QuoteSectionBlock_module_default.quoteLogo }),
|
|
5264
|
+
(item == null ? void 0 : item.bodyText) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: QuoteSectionBlock_module_default.bodyText, children: item.bodyText }),
|
|
5265
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.attribution, children: [
|
|
5266
|
+
(item == null ? void 0 : item.displayPhoto) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5267
|
+
"img",
|
|
5268
|
+
{
|
|
5269
|
+
src: item.displayPhoto,
|
|
5270
|
+
alt: item.displayName,
|
|
5271
|
+
className: QuoteSectionBlock_module_default.displayPhoto
|
|
5272
|
+
}
|
|
5273
|
+
),
|
|
5274
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: QuoteSectionBlock_module_default.attributionText, children: [
|
|
5275
|
+
(item == null ? void 0 : item.displayName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: QuoteSectionBlock_module_default.displayName, children: item.displayName }),
|
|
5276
|
+
(item == null ? void 0 : item.jobTitleLogo) && /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.jobTitleLogo, alt: "", className: QuoteSectionBlock_module_default.jobTitleLogo })
|
|
5277
|
+
] })
|
|
5278
|
+
] })
|
|
5279
|
+
] }) }, index))
|
|
5280
|
+
}
|
|
5281
|
+
) }),
|
|
5282
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5283
|
+
Pagination,
|
|
5284
|
+
{
|
|
5285
|
+
className: QuoteSectionBlock_module_default.controls,
|
|
5286
|
+
totalPages: items.length,
|
|
5287
|
+
currentPage: activeIndex + 1,
|
|
5288
|
+
loop: true,
|
|
5289
|
+
onPageChange: (page) => swiperInstance == null ? void 0 : swiperInstance.slideTo(page - 1)
|
|
5290
|
+
},
|
|
5291
|
+
activeIndex
|
|
5292
|
+
)
|
|
5293
|
+
] }) });
|
|
5294
|
+
};
|
|
5295
|
+
function useIntersectionObserver({
|
|
5296
|
+
animateOnce = false,
|
|
5297
|
+
options = {}
|
|
5298
|
+
} = {}) {
|
|
5299
|
+
const observeRef = React70.useRef(null);
|
|
5300
|
+
const [isVisible, setIsVisible] = React70.useState(false);
|
|
5301
|
+
if (typeof IntersectionObserver === "undefined") {
|
|
5302
|
+
console.warn("IntersectionObserver is not supported in this browser.");
|
|
5303
|
+
return { observeRef, isVisible: true };
|
|
5304
|
+
}
|
|
5305
|
+
React70.useEffect(() => {
|
|
5306
|
+
const currentRef = observeRef.current;
|
|
5307
|
+
if (!currentRef) return;
|
|
5308
|
+
const observer = new IntersectionObserver((entries) => {
|
|
5309
|
+
const entry = entries[0];
|
|
5310
|
+
if (!entry) return;
|
|
5311
|
+
setIsVisible(entry.isIntersecting);
|
|
5312
|
+
if (entry.isIntersecting && animateOnce) {
|
|
5313
|
+
observer.disconnect();
|
|
5314
|
+
}
|
|
5315
|
+
}, options);
|
|
5316
|
+
observer.observe(currentRef);
|
|
5317
|
+
return () => {
|
|
5318
|
+
observer.disconnect();
|
|
5319
|
+
};
|
|
5320
|
+
}, [observeRef, animateOnce, options]);
|
|
5321
|
+
return { observeRef, isVisible };
|
|
5322
|
+
}
|
|
5323
|
+
|
|
4619
5324
|
exports.Anchor = Anchor;
|
|
4620
5325
|
exports.Badge = Badge;
|
|
4621
5326
|
exports.BlogCardGrid = BlogCardGrid2;
|
|
@@ -4650,8 +5355,10 @@ exports.Pagination = Pagination;
|
|
|
4650
5355
|
exports.Picture = Picture;
|
|
4651
5356
|
exports.PracticeCard = PracticeCard;
|
|
4652
5357
|
exports.PracticePathCards = PracticePathCards2;
|
|
5358
|
+
exports.QuoteSectionBlock = QuoteSectionBlock;
|
|
4653
5359
|
exports.ResourceCardItem = ResourceCardItem;
|
|
4654
5360
|
exports.ResourcesGridList = ResourcesGridList;
|
|
5361
|
+
exports.Search = Search;
|
|
4655
5362
|
exports.Sidebar = Sidebar;
|
|
4656
5363
|
exports.Teaser5050With3Text = Teaser5050With3Text2;
|
|
4657
5364
|
exports.Teaser5050WithCta = Teaser5050WithCta2;
|
|
@@ -4660,6 +5367,7 @@ exports.TextCenterCtaInBottom = TextCenterCtaInBottom2;
|
|
|
4660
5367
|
exports.TextCenterWithMedia = TextCenterWithMedia2;
|
|
4661
5368
|
exports.TextEvent = TextEvent2;
|
|
4662
5369
|
exports.UpcomingEventCard = UpcomingEventCard;
|
|
5370
|
+
exports.UserMenu = UserMenu;
|
|
4663
5371
|
exports.resolveCompoundSlots = resolveCompoundSlots;
|
|
4664
5372
|
exports.svgs = svgs;
|
|
4665
5373
|
exports.useIntersectionObserver = useIntersectionObserver;
|