@digital-b2c/coreui-kit 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +487 -103
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +544 -40
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +63 -11
- package/dist/index.d.ts +63 -11
- package/dist/index.mjs +486 -105
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -2
package/dist/index.cjs
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var clsx19 = require('clsx');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var React52 = require('react');
|
|
6
6
|
var gsap = require('gsap');
|
|
7
|
-
var ScrollTrigger = require('gsap/ScrollTrigger');
|
|
8
7
|
var react = require('@gsap/react');
|
|
8
|
+
var ScrollTrigger = require('gsap/ScrollTrigger');
|
|
9
|
+
var react$1 = require('swiper/react');
|
|
10
|
+
var modules = require('swiper/modules');
|
|
11
|
+
require('swiper/css');
|
|
9
12
|
|
|
10
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
14
|
|
|
12
|
-
var
|
|
15
|
+
var clsx19__default = /*#__PURE__*/_interopDefault(clsx19);
|
|
13
16
|
var React52__default = /*#__PURE__*/_interopDefault(React52);
|
|
17
|
+
var gsap__default = /*#__PURE__*/_interopDefault(gsap);
|
|
14
18
|
|
|
15
19
|
var __defProp = Object.defineProperty;
|
|
16
20
|
var __defProps = Object.defineProperties;
|
|
@@ -62,7 +66,7 @@ var Picture = (_a) => {
|
|
|
62
66
|
__spreadValues({
|
|
63
67
|
src: desktop.src,
|
|
64
68
|
alt: desktop.alt,
|
|
65
|
-
className:
|
|
69
|
+
className: clsx19__default.default(className, Picture_module_default["image-desktop"])
|
|
66
70
|
}, rest)
|
|
67
71
|
),
|
|
68
72
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -70,7 +74,7 @@ var Picture = (_a) => {
|
|
|
70
74
|
__spreadValues({
|
|
71
75
|
src: (_b2 = mobile == null ? void 0 : mobile.src) != null ? _b2 : desktop.src,
|
|
72
76
|
alt: (_c = mobile == null ? void 0 : mobile.alt) != null ? _c : desktop.alt,
|
|
73
|
-
className:
|
|
77
|
+
className: clsx19__default.default(className, Picture_module_default["image-mobile"])
|
|
74
78
|
}, rest)
|
|
75
79
|
)
|
|
76
80
|
] });
|
|
@@ -384,7 +388,7 @@ var Button = (_a) => {
|
|
|
384
388
|
]);
|
|
385
389
|
const isLink = !!href;
|
|
386
390
|
const props = __spreadValues(__spreadValues({
|
|
387
|
-
className:
|
|
391
|
+
className: clsx19__default.default(
|
|
388
392
|
Button_module_default.button,
|
|
389
393
|
variant ? Button_module_default[variant] : null,
|
|
390
394
|
{ [Button_module_default.fullWidth]: !!fullWidth },
|
|
@@ -493,9 +497,7 @@ var BrandsStrip_module_default = {
|
|
|
493
497
|
title: "BrandsStrip_module_title",
|
|
494
498
|
blurred: "BrandsStrip_module_blurred",
|
|
495
499
|
logos: "BrandsStrip_module_logos",
|
|
496
|
-
|
|
497
|
-
scrollIndividual: "BrandsStrip_module_scrollIndividual",
|
|
498
|
-
paused: "BrandsStrip_module_paused",
|
|
500
|
+
marqueeGSAP: "BrandsStrip_module_marqueeGSAP",
|
|
499
501
|
logo: "BrandsStrip_module_logo",
|
|
500
502
|
cta: "BrandsStrip_module_cta"
|
|
501
503
|
};
|
|
@@ -505,37 +507,136 @@ var BrandsStrip = ({
|
|
|
505
507
|
title,
|
|
506
508
|
logos = [],
|
|
507
509
|
cta,
|
|
508
|
-
size
|
|
509
|
-
animate = false
|
|
510
|
+
size
|
|
510
511
|
}) => {
|
|
511
512
|
const [show, setShow] = React52.useState(false);
|
|
513
|
+
const [shouldAnimate, setShouldAnimate] = React52.useState(false);
|
|
512
514
|
const { is } = useViewPort_default();
|
|
513
515
|
const isTabletBelow = is("tablet", "below");
|
|
514
|
-
const
|
|
516
|
+
const containerRef = React52.useRef(null);
|
|
517
|
+
const marqueeRef = React52.useRef(null);
|
|
518
|
+
const timeline = React52.useRef(null);
|
|
519
|
+
const horizontalLoop = (items, config) => {
|
|
520
|
+
const itemsArray = gsap__default.default.utils.toArray(items);
|
|
521
|
+
const cfg = config || {};
|
|
522
|
+
const tl = gsap__default.default.timeline({
|
|
523
|
+
repeat: cfg.repeat,
|
|
524
|
+
paused: cfg.paused,
|
|
525
|
+
defaults: { ease: "none" },
|
|
526
|
+
onReverseComplete: () => tl.totalTime(tl.rawTime() + tl.duration() * 100)
|
|
527
|
+
});
|
|
528
|
+
const length = itemsArray.length;
|
|
529
|
+
const startX = itemsArray[0].offsetLeft;
|
|
530
|
+
const widths = [];
|
|
531
|
+
const xPercents = [];
|
|
532
|
+
const pixelsPerSecond = (cfg.speed || 1) * 100;
|
|
533
|
+
const snap = cfg.snap === false ? (v) => v : gsap__default.default.utils.snap(cfg.snap || 1);
|
|
534
|
+
gsap__default.default.set(itemsArray, {
|
|
535
|
+
xPercent: (i, target) => {
|
|
536
|
+
const w = widths[i] = parseFloat(gsap__default.default.getProperty(target, "width", "px"));
|
|
537
|
+
xPercents[i] = snap(
|
|
538
|
+
parseFloat(gsap__default.default.getProperty(target, "x", "px")) / w * 100 + gsap__default.default.getProperty(target, "xPercent")
|
|
539
|
+
);
|
|
540
|
+
return xPercents[i];
|
|
541
|
+
}
|
|
542
|
+
});
|
|
543
|
+
gsap__default.default.set(itemsArray, { x: 0 });
|
|
544
|
+
const totalWidth = itemsArray[length - 1].offsetLeft + xPercents[length - 1] / 100 * widths[length - 1] - startX + itemsArray[length - 1].offsetWidth * gsap__default.default.getProperty(itemsArray[length - 1], "scaleX") + (parseFloat(cfg.paddingRight) || 0);
|
|
545
|
+
for (let i = 0; i < length; i++) {
|
|
546
|
+
const item = itemsArray[i];
|
|
547
|
+
const curX = xPercents[i] / 100 * widths[i];
|
|
548
|
+
const distanceToStart = item.offsetLeft - startX;
|
|
549
|
+
const distanceToLoop = distanceToStart + widths[i] * gsap__default.default.getProperty(item, "scaleX");
|
|
550
|
+
tl.to(
|
|
551
|
+
item,
|
|
552
|
+
{
|
|
553
|
+
xPercent: snap((curX - distanceToLoop) / widths[i] * 100),
|
|
554
|
+
duration: distanceToLoop / pixelsPerSecond
|
|
555
|
+
},
|
|
556
|
+
0
|
|
557
|
+
).fromTo(
|
|
558
|
+
item,
|
|
559
|
+
{ xPercent: snap((curX - distanceToLoop + totalWidth) / widths[i] * 100) },
|
|
560
|
+
{
|
|
561
|
+
xPercent: xPercents[i],
|
|
562
|
+
duration: (totalWidth - distanceToLoop) / pixelsPerSecond,
|
|
563
|
+
immediateRender: false
|
|
564
|
+
},
|
|
565
|
+
distanceToLoop / pixelsPerSecond
|
|
566
|
+
).add("label" + i, distanceToStart / pixelsPerSecond);
|
|
567
|
+
}
|
|
568
|
+
return tl;
|
|
569
|
+
};
|
|
570
|
+
react.useGSAP(
|
|
571
|
+
() => {
|
|
572
|
+
const refreshCalculations = () => {
|
|
573
|
+
if (!marqueeRef.current || !containerRef.current || logos.length === 0) return;
|
|
574
|
+
const items = gsap__default.default.utils.toArray(marqueeRef.current.children);
|
|
575
|
+
if (items.length === 0) return;
|
|
576
|
+
const itemWidth = items[0].clientWidth;
|
|
577
|
+
const calculatedTotalWidth = shouldAnimate ? itemWidth * items.length + 120 * (items.length - 1) / 2 : itemWidth * items.length + 120 * (items.length - 1);
|
|
578
|
+
const containerWidth = containerRef.current.clientWidth;
|
|
579
|
+
if (containerWidth === 0) {
|
|
580
|
+
requestAnimationFrame(refreshCalculations);
|
|
581
|
+
return;
|
|
582
|
+
}
|
|
583
|
+
if (containerWidth < calculatedTotalWidth) {
|
|
584
|
+
setShouldAnimate(true);
|
|
585
|
+
const ctx = gsap__default.default.context(() => {
|
|
586
|
+
const loop = horizontalLoop(items, {
|
|
587
|
+
repeat: -1,
|
|
588
|
+
speed: 1,
|
|
589
|
+
paddingRight: 120
|
|
590
|
+
});
|
|
591
|
+
timeline.current = loop;
|
|
592
|
+
}, containerRef);
|
|
593
|
+
return () => ctx.revert();
|
|
594
|
+
}
|
|
595
|
+
};
|
|
596
|
+
refreshCalculations();
|
|
597
|
+
},
|
|
598
|
+
{ scope: containerRef, dependencies: [logos] }
|
|
599
|
+
);
|
|
600
|
+
const handleMouseEnter = () => {
|
|
601
|
+
setShow(true);
|
|
602
|
+
if (timeline.current) {
|
|
603
|
+
timeline.current.pause();
|
|
604
|
+
}
|
|
605
|
+
};
|
|
606
|
+
const handleMouseLeave = () => {
|
|
607
|
+
setShow(false);
|
|
608
|
+
if (timeline.current) {
|
|
609
|
+
timeline.current.play();
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
const duplicatedLogos = React52.useMemo(() => {
|
|
613
|
+
if (logos.length === 0) return [];
|
|
614
|
+
if (!shouldAnimate) return [...logos];
|
|
615
|
+
return [...logos, ...logos];
|
|
616
|
+
}, [logos]);
|
|
515
617
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
516
618
|
"div",
|
|
517
619
|
{
|
|
518
|
-
|
|
620
|
+
ref: containerRef,
|
|
621
|
+
className: clsx19__default.default(
|
|
519
622
|
BrandsStrip_module_default.brandsStrip,
|
|
520
623
|
BrandsStrip_module_default[variant],
|
|
521
624
|
{ [BrandsStrip_module_default.small]: size === "small" },
|
|
522
625
|
className
|
|
523
626
|
),
|
|
524
|
-
onMouseEnter:
|
|
525
|
-
onMouseLeave:
|
|
526
|
-
style: { "--total-items": logos.length },
|
|
627
|
+
onMouseEnter: handleMouseEnter,
|
|
628
|
+
onMouseLeave: handleMouseLeave,
|
|
527
629
|
children: [
|
|
528
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
529
|
-
title && logos.length
|
|
530
|
-
logos.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
630
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx19__default.default(BrandsStrip_module_default.container, { [BrandsStrip_module_default.blurred]: show && logos.length > 1 }), children: [
|
|
631
|
+
title && logos.length === 1 && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx19__default.default("body", BrandsStrip_module_default.title), children: title }),
|
|
632
|
+
logos.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
531
633
|
"div",
|
|
532
634
|
{
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: BrandsStrip_module_default.logo }, logo))
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
)) })
|
|
635
|
+
ref: marqueeRef,
|
|
636
|
+
className: clsx19__default.default(BrandsStrip_module_default.logos, { [BrandsStrip_module_default.marqueeGSAP]: shouldAnimate }),
|
|
637
|
+
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}`))
|
|
638
|
+
}
|
|
639
|
+
)
|
|
539
640
|
] }),
|
|
540
641
|
cta && show && logos.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
541
642
|
Button,
|
|
@@ -575,34 +676,38 @@ function resolveCompoundSlots(children, slots) {
|
|
|
575
676
|
// src/components/Card/Card.module.scss
|
|
576
677
|
var Card_module_default = {
|
|
577
678
|
card: "Card_module_card",
|
|
578
|
-
logo: "Card_module_logo"
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Card_module_default.
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
679
|
+
logo: "Card_module_logo",
|
|
680
|
+
subtitle: "Card_module_subtitle"
|
|
681
|
+
};
|
|
682
|
+
var Card = React52.forwardRef(
|
|
683
|
+
({ className, title, subtitle, cta, icon, logo, children }, ref) => {
|
|
684
|
+
var _a, _b;
|
|
685
|
+
const slots = resolveCompoundSlots(children, {
|
|
686
|
+
title: CardTitle,
|
|
687
|
+
subtitle: CardSubtitle
|
|
688
|
+
});
|
|
689
|
+
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
690
|
+
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
691
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: clsx19__default.default(Card_module_default.card, className), children: [
|
|
692
|
+
(logo == null ? void 0 : logo.src) ? /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: Card_module_default.logo }, logo)) : icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon, className: Card_module_default.logo }),
|
|
693
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Card_module_default.content, children: [
|
|
694
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "h4", children: titleNode }),
|
|
695
|
+
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Card_module_default.subtitle, children: subtitleNode })
|
|
696
|
+
] }),
|
|
697
|
+
cta && /* @__PURE__ */ jsxRuntime.jsx(
|
|
698
|
+
Button,
|
|
699
|
+
{
|
|
700
|
+
href: cta.url,
|
|
701
|
+
isExternal: cta.isExternal,
|
|
702
|
+
variant: "secondary",
|
|
703
|
+
icon: cta.url ? "rightBlack" : void 0,
|
|
704
|
+
children: cta.label
|
|
705
|
+
}
|
|
706
|
+
)
|
|
707
|
+
] });
|
|
708
|
+
}
|
|
709
|
+
);
|
|
710
|
+
Card.displayName = "Card";
|
|
606
711
|
|
|
607
712
|
// src/components/Card/index.ts
|
|
608
713
|
var Card2 = Object.assign(Card, {
|
|
@@ -625,10 +730,10 @@ var CountingCard = ({ className, title, count, image, children }) => {
|
|
|
625
730
|
title: CountingCardTitle
|
|
626
731
|
});
|
|
627
732
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
628
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
733
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx19__default.default(CountingCard_module_default["counting-card"], className), children: [
|
|
629
734
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: CountingCard_module_default.content, children: [
|
|
630
735
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "body", children: titleNode }),
|
|
631
|
-
count && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
736
|
+
count && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(CountingCard_module_default.count, "h1"), children: count })
|
|
632
737
|
] }),
|
|
633
738
|
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: CountingCard_module_default.logo }, image))
|
|
634
739
|
] });
|
|
@@ -660,9 +765,9 @@ var InfoCard = ({ className, title, subtitle, icon, badge, children }) => {
|
|
|
660
765
|
});
|
|
661
766
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
662
767
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
663
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
768
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx19__default.default(InfoCard_module_default["info-card"], { [InfoCard_module_default.hasIcon]: !!icon }, className), children: [
|
|
664
769
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: InfoCard_module_default.header, children: [
|
|
665
|
-
icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon }) : badge ? /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
770
|
+
icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: icon }) : badge ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(InfoCard_module_default.badge, "h4"), children: badge }) : null,
|
|
666
771
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h4", children: titleNode })
|
|
667
772
|
] }),
|
|
668
773
|
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "body", children: subtitleNode })
|
|
@@ -724,7 +829,7 @@ var Pagination = ({
|
|
|
724
829
|
setActivePage(page);
|
|
725
830
|
onPageChange == null ? void 0 : onPageChange(page);
|
|
726
831
|
};
|
|
727
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
832
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx19__default.default(Pagination_module_default.pagination, className), children: [
|
|
728
833
|
!disableArrows && /* @__PURE__ */ jsxRuntime.jsx(
|
|
729
834
|
"button",
|
|
730
835
|
{
|
|
@@ -741,7 +846,7 @@ var Pagination = ({
|
|
|
741
846
|
"button",
|
|
742
847
|
{
|
|
743
848
|
onClick: () => goToPage(page),
|
|
744
|
-
className:
|
|
849
|
+
className: clsx19__default.default(Pagination_module_default.page, {
|
|
745
850
|
[Pagination_module_default.active]: activePage === page,
|
|
746
851
|
[Pagination_module_default.number]: hasNumber
|
|
747
852
|
}),
|
|
@@ -768,10 +873,13 @@ var Pagination = ({
|
|
|
768
873
|
var Container_module_default = {
|
|
769
874
|
container: "Container_module_container"
|
|
770
875
|
};
|
|
771
|
-
var Container = (
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
};
|
|
876
|
+
var Container = React52.forwardRef(
|
|
877
|
+
(_a, ref) => {
|
|
878
|
+
var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
|
|
879
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({ ref, className: clsx19__default.default(Container_module_default.container, className) }, props), { children }));
|
|
880
|
+
}
|
|
881
|
+
);
|
|
882
|
+
Container.displayName = "Container";
|
|
775
883
|
|
|
776
884
|
// src/components/PracticeCard/PracticeCard.module.scss
|
|
777
885
|
var PracticeCard_module_default = {
|
|
@@ -786,7 +894,7 @@ var PracticeCard_module_default = {
|
|
|
786
894
|
};
|
|
787
895
|
var PracticeCard = ({ className, title, cta, image }) => {
|
|
788
896
|
const { url: href, isExternal } = cta != null ? cta : {};
|
|
789
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
897
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(PracticeCard_module_default["practice-card"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
790
898
|
ConditionalWrapper,
|
|
791
899
|
__spreadProps(__spreadValues({
|
|
792
900
|
className: PracticeCard_module_default.wrapper,
|
|
@@ -797,7 +905,7 @@ var PracticeCard = ({ className, title, cta, image }) => {
|
|
|
797
905
|
children: [
|
|
798
906
|
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: PracticeCard_module_default.background }, image)),
|
|
799
907
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticeCard_module_default.container, children: [
|
|
800
|
-
title && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
908
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(PracticeCard_module_default.title, "h3"), children: title }),
|
|
801
909
|
href && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticeCard_module_default.cta, children: [
|
|
802
910
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { className: PracticeCard_module_default.ctaRest, type: "right" }),
|
|
803
911
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { className: PracticeCard_module_default.ctaHover, type: "tiltedRight" })
|
|
@@ -819,31 +927,94 @@ var CardCollection_module_default = {
|
|
|
819
927
|
"card-collection": "CardCollection_module_card-collection",
|
|
820
928
|
content: "CardCollection_module_content",
|
|
821
929
|
wrapper: "CardCollection_module_wrapper",
|
|
930
|
+
cardWrapper: "CardCollection_module_cardWrapper",
|
|
822
931
|
threeCols: "CardCollection_module_threeCols",
|
|
823
|
-
examCard: "CardCollection_module_examCard"
|
|
932
|
+
examCard: "CardCollection_module_examCard",
|
|
933
|
+
"reveal-wrapper": "CardCollection_module_reveal-wrapper",
|
|
934
|
+
"reveal-inner": "CardCollection_module_reveal-inner",
|
|
935
|
+
card: "CardCollection_module_card",
|
|
936
|
+
"is-expanded": "CardCollection_module_is-expanded",
|
|
937
|
+
cta: "CardCollection_module_cta"
|
|
824
938
|
};
|
|
825
939
|
var CardCollection = ({
|
|
826
940
|
className,
|
|
827
941
|
variant = "default",
|
|
828
942
|
title,
|
|
829
943
|
subtitle,
|
|
830
|
-
cards,
|
|
944
|
+
cards = [],
|
|
945
|
+
ctaLabel,
|
|
831
946
|
children
|
|
832
947
|
}) => {
|
|
833
948
|
var _a, _b;
|
|
949
|
+
const container = React52.useRef(null);
|
|
950
|
+
const revealWrapper = React52.useRef(null);
|
|
951
|
+
const extraCard = React52.useRef(null);
|
|
952
|
+
const [isExpanded, setIsExpanded] = React52.useState(false);
|
|
834
953
|
const slots = resolveCompoundSlots(children, {
|
|
835
954
|
title: CardCollectionTitle,
|
|
836
955
|
subtitle: CardCollectionSubtitle
|
|
837
956
|
});
|
|
838
957
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
839
958
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
959
|
+
const isExamCard = variant === "examCard";
|
|
960
|
+
const visibleCards = isExamCard ? cards.slice(0, 8) : cards;
|
|
961
|
+
const hiddenCards = isExamCard ? cards.slice(8) : [];
|
|
962
|
+
const { contextSafe } = react.useGSAP({ scope: container });
|
|
963
|
+
const handleShowMore = React52.useCallback(() => {
|
|
964
|
+
contextSafe(() => {
|
|
965
|
+
setIsExpanded(true);
|
|
966
|
+
const tl = gsap__default.default.timeline({ defaults: { ease: "power3.inOut" } });
|
|
967
|
+
tl.to(`.${CardCollection_module_default.cta}`, {
|
|
968
|
+
opacity: 0,
|
|
969
|
+
y: 20,
|
|
970
|
+
duration: 0.3,
|
|
971
|
+
display: "none"
|
|
972
|
+
}).to(`.${CardCollection_module_default.cardWrapper}`, { height: "auto", duration: 0.2 }, "<").to(
|
|
973
|
+
revealWrapper.current,
|
|
974
|
+
{
|
|
975
|
+
height: "auto",
|
|
976
|
+
duration: 0.3
|
|
977
|
+
},
|
|
978
|
+
"-=0.1"
|
|
979
|
+
).from(
|
|
980
|
+
extraCard.current,
|
|
981
|
+
{
|
|
982
|
+
opacity: 0,
|
|
983
|
+
y: 30,
|
|
984
|
+
duration: 0.3,
|
|
985
|
+
clearProps: "all"
|
|
986
|
+
},
|
|
987
|
+
"-=0.3"
|
|
988
|
+
);
|
|
989
|
+
})();
|
|
990
|
+
}, [contextSafe]);
|
|
991
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
992
|
+
Container,
|
|
993
|
+
{
|
|
994
|
+
ref: container,
|
|
995
|
+
className: clsx19__default.default(CardCollection_module_default["card-collection"], CardCollection_module_default[variant], className),
|
|
996
|
+
children: [
|
|
997
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: CardCollection_module_default.content, children: [
|
|
998
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { children: titleNode }),
|
|
999
|
+
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "subheading", children: subtitleNode })
|
|
1000
|
+
] }),
|
|
1001
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: CardCollection_module_default.wrapper, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx19__default.default(CardCollection_module_default.cardWrapper, { [CardCollection_module_default["is-expanded"]]: isExpanded }), children: [
|
|
1002
|
+
visibleCards.map((card, key) => /* @__PURE__ */ jsxRuntime.jsx(Card2, __spreadValues({ className: CardCollection_module_default.card }, card), key)),
|
|
1003
|
+
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(Card2, __spreadValues({ ref: extraCard, className: CardCollection_module_default.card }, card), key)) }) }),
|
|
1004
|
+
isExamCard && !isExpanded && ctaLabel && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1005
|
+
Button,
|
|
1006
|
+
{
|
|
1007
|
+
variant: "secondary",
|
|
1008
|
+
icon: "downChevronBlack",
|
|
1009
|
+
className: CardCollection_module_default.cta,
|
|
1010
|
+
onClick: handleShowMore,
|
|
1011
|
+
children: ctaLabel
|
|
1012
|
+
}
|
|
1013
|
+
)
|
|
1014
|
+
] }) })
|
|
1015
|
+
]
|
|
1016
|
+
}
|
|
1017
|
+
);
|
|
847
1018
|
};
|
|
848
1019
|
|
|
849
1020
|
// src/widgets/CardCollection/index.ts
|
|
@@ -920,7 +1091,7 @@ var ContactModule = ({
|
|
|
920
1091
|
},
|
|
921
1092
|
{ scope: containerRef, dependencies: [blurred, animateBlur] }
|
|
922
1093
|
);
|
|
923
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className:
|
|
1094
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: clsx19__default.default(ContactModule_module_default["contact-module"], className), children: [
|
|
924
1095
|
blurred && /* @__PURE__ */ jsxRuntime.jsx(
|
|
925
1096
|
"div",
|
|
926
1097
|
{
|
|
@@ -935,8 +1106,8 @@ var ContactModule = ({
|
|
|
935
1106
|
/* @__PURE__ */ jsxRuntime.jsxs(Container, { className: ContactModule_module_default.container, children: [
|
|
936
1107
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ContactModule_module_default.wrapper, children: [
|
|
937
1108
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ContactModule_module_default.content, children: [
|
|
938
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
939
|
-
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1109
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(ContactModule_module_default.title, "h1"), children: titleNode }),
|
|
1110
|
+
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(ContactModule_module_default.subtitle, "subheading"), children: subtitleNode })
|
|
940
1111
|
] }),
|
|
941
1112
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ContactModule_module_default["cta-wrapper"], children: ctas == null ? void 0 : ctas.map((cta, key) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
942
1113
|
Button,
|
|
@@ -960,6 +1131,75 @@ var ContactModule2 = Object.assign(ContactModule, {
|
|
|
960
1131
|
Title: ContactModuleTitle,
|
|
961
1132
|
Subtitle: ContactModuleSubtitle
|
|
962
1133
|
});
|
|
1134
|
+
var FooterDisclaimer = ({ children }) => {
|
|
1135
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
1136
|
+
};
|
|
1137
|
+
|
|
1138
|
+
// src/widgets/Footer/Footer.module.scss
|
|
1139
|
+
var Footer_module_default = {
|
|
1140
|
+
footer: "Footer_module_footer",
|
|
1141
|
+
container: "Footer_module_container",
|
|
1142
|
+
bottom: "Footer_module_bottom",
|
|
1143
|
+
"bottom-left": "Footer_module_bottom-left",
|
|
1144
|
+
"bottom-right": "Footer_module_bottom-right",
|
|
1145
|
+
supporters: "Footer_module_supporters",
|
|
1146
|
+
"supporters-logos": "Footer_module_supporters-logos",
|
|
1147
|
+
"supporter-link-primary": "Footer_module_supporter-link-primary",
|
|
1148
|
+
"supporter-link": "Footer_module_supporter-link",
|
|
1149
|
+
disclaimer: "Footer_module_disclaimer",
|
|
1150
|
+
copyright: "Footer_module_copyright",
|
|
1151
|
+
"nav-list": "Footer_module_nav-list",
|
|
1152
|
+
"nav-link": "Footer_module_nav-link"
|
|
1153
|
+
};
|
|
1154
|
+
var Footer = ({
|
|
1155
|
+
className,
|
|
1156
|
+
supporters = [],
|
|
1157
|
+
navigationLinks = [],
|
|
1158
|
+
disclaimer,
|
|
1159
|
+
copyright,
|
|
1160
|
+
children
|
|
1161
|
+
}) => {
|
|
1162
|
+
var _a;
|
|
1163
|
+
const columns = [];
|
|
1164
|
+
for (let i = 0; i < navigationLinks.length; i += 5) {
|
|
1165
|
+
columns.push(navigationLinks.slice(i, i + 5));
|
|
1166
|
+
}
|
|
1167
|
+
const slots = resolveCompoundSlots(children, {
|
|
1168
|
+
disclaimer: FooterDisclaimer
|
|
1169
|
+
});
|
|
1170
|
+
const titleNode = (_a = slots.disclaimer) != null ? _a : disclaimer;
|
|
1171
|
+
return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: clsx19__default.default(Footer_module_default.footer, className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Footer_module_default.container, children: [
|
|
1172
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_module_default.bottom, children: [
|
|
1173
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_module_default["bottom-left"], children: [
|
|
1174
|
+
supporters.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module_default.supporters, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module_default["supporters-logos"], children: supporters.map(
|
|
1175
|
+
(supporter, index) => supporter.href ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1176
|
+
"a",
|
|
1177
|
+
{
|
|
1178
|
+
href: supporter.href,
|
|
1179
|
+
target: "_blank",
|
|
1180
|
+
rel: "noopener noreferrer",
|
|
1181
|
+
className: Footer_module_default["supporter-link"],
|
|
1182
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({}, supporter.image))
|
|
1183
|
+
},
|
|
1184
|
+
index
|
|
1185
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module_default["supporter-link-primary"], children: /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({}, supporter.image)) }, index)
|
|
1186
|
+
) }) }),
|
|
1187
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(Footer_module_default.disclaimer, "p"), children: titleNode }),
|
|
1188
|
+
copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Footer_module_default.copyright, children: copyright })
|
|
1189
|
+
] }),
|
|
1190
|
+
columns.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("nav", { className: Footer_module_default["bottom-right"], children: columns.map((column, colIndex) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Footer_module_default["nav-list"], children: column.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1191
|
+
"a",
|
|
1192
|
+
__spreadProps(__spreadValues({
|
|
1193
|
+
href: link.href,
|
|
1194
|
+
className: Footer_module_default["nav-link"]
|
|
1195
|
+
}, link.isExternal ? { target: "_blank", rel: "noopener noreferrer" } : {}), {
|
|
1196
|
+
children: link.label
|
|
1197
|
+
})
|
|
1198
|
+
) }, link.label)) }, colIndex)) })
|
|
1199
|
+
] }),
|
|
1200
|
+
children
|
|
1201
|
+
] }) });
|
|
1202
|
+
};
|
|
963
1203
|
var HeroBannerTitle = ({ children }) => {
|
|
964
1204
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
965
1205
|
};
|
|
@@ -1005,22 +1245,20 @@ var HeroBanner = ({
|
|
|
1005
1245
|
var _a, _b;
|
|
1006
1246
|
const { is } = useViewPort_default();
|
|
1007
1247
|
const isTabletBelow = is("tablet", "below");
|
|
1008
|
-
const isDesktopBelow = is("desktop", "below");
|
|
1009
1248
|
const vPageHeroBanner = variant === "pageHeroBanner";
|
|
1010
1249
|
const vBannerPodcast = variant === "bannerPodcast";
|
|
1011
|
-
const animated = brands && brands.logos && brands.logos.length >= 4 && isDesktopBelow;
|
|
1012
1250
|
const slots = resolveCompoundSlots(children, {
|
|
1013
1251
|
title: HeroBannerTitle,
|
|
1014
1252
|
subtitle: HeroBannerSubtitle
|
|
1015
1253
|
});
|
|
1016
1254
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
1017
1255
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
1018
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1256
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx19__default.default(HeroBanner_module_default.heroBanner, HeroBanner_module_default[variant], className), children: [
|
|
1019
1257
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBanner_module_default.container, children: [
|
|
1020
1258
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBanner_module_default.banner, children: [
|
|
1021
1259
|
(titleNode || subtitleNode) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBanner_module_default.text, children: [
|
|
1022
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h1", { className:
|
|
1023
|
-
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1260
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: clsx19__default.default(HeroBanner_module_default.title, "h1"), children: titleNode }),
|
|
1261
|
+
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(HeroBanner_module_default.subtitle, "subtitle"), children: subtitleNode })
|
|
1024
1262
|
] }),
|
|
1025
1263
|
cta && cta.length > 0 && !vBannerPodcast && /* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroBanner_module_default.ctaContainer, children: cta.slice(0, 2).map((cta2, key) => {
|
|
1026
1264
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1043,8 +1281,7 @@ var HeroBanner = ({
|
|
|
1043
1281
|
__spreadValues({
|
|
1044
1282
|
className: HeroBanner_module_default.brandsStrip,
|
|
1045
1283
|
variant: "light",
|
|
1046
|
-
size: isTabletBelow || vPageHeroBanner ? "small" : void 0
|
|
1047
|
-
animate: animated
|
|
1284
|
+
size: isTabletBelow || vPageHeroBanner ? "small" : void 0
|
|
1048
1285
|
}, brands)
|
|
1049
1286
|
),
|
|
1050
1287
|
backgroundImage && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: HeroBanner_module_default.backgroundImage }, backgroundImage))
|
|
@@ -1075,32 +1312,72 @@ var MiniBannerSubtitle = ({ children }) => {
|
|
|
1075
1312
|
var MiniBanner_module_default = {
|
|
1076
1313
|
minibanner: "MiniBanner_module_minibanner",
|
|
1077
1314
|
background: "MiniBanner_module_background",
|
|
1078
|
-
|
|
1079
|
-
|
|
1315
|
+
textContainer: "MiniBanner_module_textContainer",
|
|
1316
|
+
logo: "MiniBanner_module_logo",
|
|
1317
|
+
headingWrapper: "MiniBanner_module_headingWrapper",
|
|
1318
|
+
title: "MiniBanner_module_title",
|
|
1319
|
+
ctaContainer: "MiniBanner_module_ctaContainer",
|
|
1320
|
+
miniBannerNoBG: "MiniBanner_module_miniBannerNoBG",
|
|
1321
|
+
miniBannerTextLeft: "MiniBanner_module_miniBannerTextLeft"
|
|
1322
|
+
};
|
|
1323
|
+
var MiniBannerPreTitle = ({ children }) => {
|
|
1324
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
1080
1325
|
};
|
|
1081
1326
|
var MiniBanner = ({
|
|
1082
1327
|
className,
|
|
1083
1328
|
variant = "default",
|
|
1329
|
+
pretitle,
|
|
1084
1330
|
title,
|
|
1085
1331
|
subtitle,
|
|
1086
1332
|
logo,
|
|
1087
1333
|
background,
|
|
1334
|
+
cta,
|
|
1088
1335
|
children
|
|
1089
1336
|
}) => {
|
|
1090
|
-
var _a, _b;
|
|
1337
|
+
var _a, _b, _c, _d, _e;
|
|
1091
1338
|
const slots = resolveCompoundSlots(children, {
|
|
1339
|
+
pretitle: MiniBannerPreTitle,
|
|
1092
1340
|
title: MiniBannerTitle,
|
|
1093
1341
|
subtitle: MiniBannerSubtitle
|
|
1094
1342
|
});
|
|
1095
|
-
const
|
|
1096
|
-
const
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1343
|
+
const { is } = useViewPort_default();
|
|
1344
|
+
const isTabletBelow = is("tablet", "below");
|
|
1345
|
+
const isMiniBannerNoBG = variant === "miniBannerNoBG";
|
|
1346
|
+
const isMiniBannerTextLeft = variant === "miniBannerTextLeft";
|
|
1347
|
+
const pretitleNode = (_a = slots.pretitle) != null ? _a : pretitle;
|
|
1348
|
+
const titleNode = (_b = slots.title) != null ? _b : title;
|
|
1349
|
+
const subtitleNode = (_c = slots.subtitle) != null ? _c : subtitle;
|
|
1350
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx19__default.default(MiniBanner_module_default.minibanner, MiniBanner_module_default[variant], className), children: [
|
|
1351
|
+
((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)),
|
|
1352
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniBanner_module_default.textContainer, children: [
|
|
1353
|
+
(logo == null ? void 0 : logo.src) && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: MiniBanner_module_default.logo }, logo)),
|
|
1354
|
+
pretitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "small", children: pretitleNode }),
|
|
1355
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: MiniBanner_module_default.headingWrapper, children: titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(MiniBanner_module_default.title, isMiniBannerTextLeft ? "h1" : "h4"), children: titleNode }) }),
|
|
1356
|
+
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1357
|
+
"div",
|
|
1358
|
+
{
|
|
1359
|
+
className: clsx19__default.default(MiniBanner_module_default.title, {
|
|
1360
|
+
subheading: isMiniBannerNoBG || isMiniBannerTextLeft,
|
|
1361
|
+
h1: !isMiniBannerNoBG && !isMiniBannerTextLeft
|
|
1362
|
+
}),
|
|
1363
|
+
children: subtitleNode
|
|
1364
|
+
}
|
|
1365
|
+
)
|
|
1366
|
+
] }),
|
|
1367
|
+
cta && cta.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: MiniBanner_module_default.ctaContainer, children: cta.slice(0, 2).map((cta2, key) => {
|
|
1368
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1369
|
+
Button,
|
|
1370
|
+
{
|
|
1371
|
+
href: cta2.url,
|
|
1372
|
+
isExternal: cta2.isExternal,
|
|
1373
|
+
variant: "secondary",
|
|
1374
|
+
fullWidth: isTabletBelow,
|
|
1375
|
+
logo: cta2.logo,
|
|
1376
|
+
children: cta2.label
|
|
1377
|
+
},
|
|
1378
|
+
key
|
|
1379
|
+
);
|
|
1380
|
+
}) })
|
|
1104
1381
|
] });
|
|
1105
1382
|
};
|
|
1106
1383
|
|
|
@@ -1143,13 +1420,13 @@ var MiniSectionCta = ({
|
|
|
1143
1420
|
});
|
|
1144
1421
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
1145
1422
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
1146
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1423
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(MiniSectionCta_module_default.miniSectionCta, MiniSectionCta_module_default[variant], className), children: /* @__PURE__ */ jsxRuntime.jsx(Container, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniSectionCta_module_default.wrapper, children: [
|
|
1147
1424
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniSectionCta_module_default.col, children: [
|
|
1148
1425
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: variant === "BgColorBlack" || variant === "BgColorGrey" ? "h3" : "h2", children: titleNode }),
|
|
1149
1426
|
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1150
1427
|
"div",
|
|
1151
1428
|
{
|
|
1152
|
-
className:
|
|
1429
|
+
className: clsx19__default.default(MiniSectionCta_module_default.subtitle, variant === "infoCallout" ? "h4" : "subheading"),
|
|
1153
1430
|
children: subtitleNode
|
|
1154
1431
|
}
|
|
1155
1432
|
)
|
|
@@ -1212,7 +1489,7 @@ var PracticePathCards = ({
|
|
|
1212
1489
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
1213
1490
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
1214
1491
|
const footerNode = (_c = slots.footer) != null ? _c : footer;
|
|
1215
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1492
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(PracticePathCards_module_default["practice-path-cards"], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: PracticePathCards_module_default.container, children: [
|
|
1216
1493
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticePathCards_module_default.wrapper, children: [
|
|
1217
1494
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PracticePathCards_module_default.content, children: [
|
|
1218
1495
|
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { children: titleNode }),
|
|
@@ -1266,8 +1543,8 @@ var Teaser5050With3Text = ({
|
|
|
1266
1543
|
title: Teaser5050With3TextTitle
|
|
1267
1544
|
});
|
|
1268
1545
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
1269
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1270
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1546
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(Teaser5050With3Text_module_default["teaser5050-3text"], Teaser5050With3Text_module_default[variant], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050With3Text_module_default.container, children: [
|
|
1547
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(Teaser5050With3Text_module_default.title, "h3"), children: titleNode }),
|
|
1271
1548
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050With3Text_module_default.content, children: [
|
|
1272
1549
|
/* @__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)) }),
|
|
1273
1550
|
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: Teaser5050With3Text_module_default.image }, image))
|
|
@@ -1312,10 +1589,10 @@ var Teaser5050WithCta = ({
|
|
|
1312
1589
|
});
|
|
1313
1590
|
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
1314
1591
|
const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
|
|
1315
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1592
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(Teaser5050WithCta_module_default.teaser5050, Teaser5050WithCta_module_default[variant], className), children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050WithCta_module_default.container, children: [
|
|
1316
1593
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.wrapper, children: [
|
|
1317
1594
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.content, children: [
|
|
1318
|
-
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1595
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx19__default.default(Teaser5050WithCta_module_default.title, "h3"), children: titleNode }),
|
|
1319
1596
|
subtitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "subheading", children: subtitleNode })
|
|
1320
1597
|
] }),
|
|
1321
1598
|
cta && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1338,6 +1615,111 @@ var Teaser5050WithCta2 = Object.assign(Teaser5050WithCta, {
|
|
|
1338
1615
|
Title: Teaser5050WithCtaTitle,
|
|
1339
1616
|
Subtitle: Teaser5050WithCtaSubtitle
|
|
1340
1617
|
});
|
|
1618
|
+
|
|
1619
|
+
// src/components/UpcomingEventCard/UpcomingEventCard.module.scss
|
|
1620
|
+
var UpcomingEventCard_module_default = {
|
|
1621
|
+
hidden: "UpcomingEventCard_module_hidden",
|
|
1622
|
+
image: "UpcomingEventCard_module_image",
|
|
1623
|
+
"text-content": "UpcomingEventCard_module_text-content",
|
|
1624
|
+
cta: "UpcomingEventCard_module_cta",
|
|
1625
|
+
date: "UpcomingEventCard_module_date",
|
|
1626
|
+
location: "UpcomingEventCard_module_location",
|
|
1627
|
+
description: "UpcomingEventCard_module_description"
|
|
1628
|
+
};
|
|
1629
|
+
var UpcomingEventCard = ({
|
|
1630
|
+
className,
|
|
1631
|
+
image,
|
|
1632
|
+
date,
|
|
1633
|
+
title,
|
|
1634
|
+
location,
|
|
1635
|
+
description,
|
|
1636
|
+
cta
|
|
1637
|
+
}) => {
|
|
1638
|
+
const { is } = useViewPort_default();
|
|
1639
|
+
const hasCtaWithoutImage = cta && cta.url && !image;
|
|
1640
|
+
const isBelowTablet = is("tablet", "below");
|
|
1641
|
+
const isBelowMobile = is("mobile-l", "below");
|
|
1642
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("article", { className: clsx19__default.default(className), children: [
|
|
1643
|
+
image && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadProps(__spreadValues({}, image), { className: clsx19__default.default(UpcomingEventCard_module_default.image, className) })),
|
|
1644
|
+
hasCtaWithoutImage && /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "secondary", className: clsx19__default.default(isBelowTablet && UpcomingEventCard_module_default.hidden), href: cta.url, children: cta.label }),
|
|
1645
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx19__default.default(UpcomingEventCard_module_default["text-content"], className), children: [
|
|
1646
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: UpcomingEventCard_module_default.date, children: date }),
|
|
1647
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h3", { children: title }),
|
|
1648
|
+
location && /* @__PURE__ */ jsxRuntime.jsx("span", { className: UpcomingEventCard_module_default.location, children: location }),
|
|
1649
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: UpcomingEventCard_module_default.description, children: description }),
|
|
1650
|
+
cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1651
|
+
Button,
|
|
1652
|
+
{
|
|
1653
|
+
variant: "secondary",
|
|
1654
|
+
className: clsx19__default.default(!isBelowTablet && !image && UpcomingEventCard_module_default.hidden, UpcomingEventCard_module_default.cta),
|
|
1655
|
+
fullWidth: isBelowMobile,
|
|
1656
|
+
href: cta.url,
|
|
1657
|
+
children: cta.label
|
|
1658
|
+
}
|
|
1659
|
+
)
|
|
1660
|
+
] })
|
|
1661
|
+
] });
|
|
1662
|
+
};
|
|
1663
|
+
|
|
1664
|
+
// src/components/Carousel/Carousel.module.scss
|
|
1665
|
+
var Carousel_module_default = {
|
|
1666
|
+
"carousel-item": "Carousel_module_carousel-item"
|
|
1667
|
+
};
|
|
1668
|
+
var Carousel = (_a) => {
|
|
1669
|
+
var _b = _a, { slides, className } = _b, props = __objRest(_b, ["slides", "className"]);
|
|
1670
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1671
|
+
react$1.Swiper,
|
|
1672
|
+
__spreadProps(__spreadValues({
|
|
1673
|
+
className: clsx19__default.default(Carousel_module_default.carousel, className),
|
|
1674
|
+
spaceBetween: 0,
|
|
1675
|
+
slidesPerView: 1,
|
|
1676
|
+
modules: [modules.FreeMode],
|
|
1677
|
+
freeMode: { enabled: true, sticky: false, momentum: true },
|
|
1678
|
+
wrapperTag: "ul",
|
|
1679
|
+
loop: false
|
|
1680
|
+
}, props), {
|
|
1681
|
+
children: slides.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsx(react$1.SwiperSlide, { tag: "li", className: Carousel_module_default["carousel-item"], children: slide }, index))
|
|
1682
|
+
})
|
|
1683
|
+
);
|
|
1684
|
+
};
|
|
1685
|
+
|
|
1686
|
+
// src/widgets/EventList/EventList.module.scss
|
|
1687
|
+
var EventList_module_default = {
|
|
1688
|
+
grey: "EventList_module_grey",
|
|
1689
|
+
"header-container": "EventList_module_header-container"
|
|
1690
|
+
};
|
|
1691
|
+
var EventListTitle = ({ children }) => {
|
|
1692
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
1693
|
+
};
|
|
1694
|
+
var EventList = ({ className, title, items, cta, variant, children }) => {
|
|
1695
|
+
var _a;
|
|
1696
|
+
const { is } = useViewPort_default();
|
|
1697
|
+
const slots = resolveCompoundSlots(children, {
|
|
1698
|
+
title: EventListTitle
|
|
1699
|
+
});
|
|
1700
|
+
const titleNode = (_a = slots.title) != null ? _a : title;
|
|
1701
|
+
const isBelowTablet = is("tablet", "below");
|
|
1702
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: clsx19__default.default(EventList_module_default.section, variant && EventList_module_default[variant], className), children: [
|
|
1703
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: EventList_module_default["header-container"], children: [
|
|
1704
|
+
titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { children: titleNode }),
|
|
1705
|
+
cta && cta.url && /* @__PURE__ */ jsxRuntime.jsx(Button, { className: EventList_module_default.cta, variant: "nofillblack", href: cta.url, icon: "rightBlack", children: cta.label })
|
|
1706
|
+
] }),
|
|
1707
|
+
variant === "grey" && isBelowTablet && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1708
|
+
Carousel,
|
|
1709
|
+
{
|
|
1710
|
+
className: EventList_module_default[variant],
|
|
1711
|
+
slides: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(UpcomingEventCard, __spreadValues({ className: variant }, item), item.title))
|
|
1712
|
+
}
|
|
1713
|
+
),
|
|
1714
|
+
variant === "grey" && !isBelowTablet && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: clsx19__default.default(EventList_module_default[variant]), children: items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: variant, children: /* @__PURE__ */ jsxRuntime.jsx(UpcomingEventCard, __spreadProps(__spreadValues({}, item), { className: variant })) }, index)) }),
|
|
1715
|
+
!variant && /* @__PURE__ */ jsxRuntime.jsx("ul", { children: items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(UpcomingEventCard, __spreadValues({}, item)) }, index)) })
|
|
1716
|
+
] });
|
|
1717
|
+
};
|
|
1718
|
+
|
|
1719
|
+
// src/widgets/EventList/index.ts
|
|
1720
|
+
var EventList2 = Object.assign(EventList, {
|
|
1721
|
+
Title: EventListTitle
|
|
1722
|
+
});
|
|
1341
1723
|
function useIntersectionObserver({
|
|
1342
1724
|
animateOnce = false,
|
|
1343
1725
|
options = {}
|
|
@@ -1376,6 +1758,8 @@ exports.ConditionalWrapper = ConditionalWrapper;
|
|
|
1376
1758
|
exports.ContactModule = ContactModule2;
|
|
1377
1759
|
exports.Container = Container;
|
|
1378
1760
|
exports.CountingCard = CountingCard2;
|
|
1761
|
+
exports.EventList = EventList2;
|
|
1762
|
+
exports.Footer = Footer;
|
|
1379
1763
|
exports.HeroBanner = HeroBanner2;
|
|
1380
1764
|
exports.Icon = Icon;
|
|
1381
1765
|
exports.InfoCard = InfoCard2;
|