@digital-b2c/coreui-kit 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as react from 'react';
3
- import react__default, { ImgHTMLAttributes, ReactNode, AnchorHTMLAttributes, HTMLAttributes, FC, PropsWithChildren } from 'react';
2
+ import * as React$1 from 'react';
3
+ import React__default, { ImgHTMLAttributes, ReactNode, Ref, AnchorHTMLAttributes, HTMLAttributes, FC, PropsWithChildren } from 'react';
4
4
 
5
5
  interface IPicture {
6
6
  src: string;
@@ -19,26 +19,6 @@ type ResponsiveSources = {
19
19
  };
20
20
  type PictureProps = ImgHTMLAttributes<HTMLImageElement> & (SrcOnly | ResponsiveSources);
21
21
 
22
- interface ICta {
23
- label: string;
24
- url: string;
25
- isExternal?: boolean;
26
- }
27
- interface ICtaLogo extends ICta {
28
- logo?: IPicture;
29
- }
30
-
31
- interface BrandsStripProps {
32
- className?: string;
33
- variant?: 'light' | 'dark';
34
- title?: string;
35
- logos?: PictureProps[];
36
- cta?: ICta;
37
- size?: 'small';
38
- }
39
-
40
- declare const BrandsStrip: ({ className, variant, title, logos, cta, size, }: BrandsStripProps) => react_jsx_runtime.JSX.Element;
41
-
42
22
  declare const svgs: {
43
23
  ads: string;
44
24
  book: string;
@@ -93,11 +73,34 @@ declare const svgs: {
93
73
  xWhite: string;
94
74
  };
95
75
  type IconType = keyof typeof svgs;
96
- interface IconProps extends react__default.ComponentPropsWithRef<'svg'> {
76
+ interface IconProps extends React__default.ComponentPropsWithRef<'svg'> {
97
77
  type: IconType;
98
78
  size?: number;
99
79
  }
100
- declare const Icon: react__default.FC<IconProps>;
80
+ declare const Icon: React__default.FC<IconProps>;
81
+
82
+ interface ICta {
83
+ label?: string;
84
+ url: string;
85
+ isExternal?: boolean;
86
+ }
87
+ interface ICtaLogo extends ICta {
88
+ logo?: IPicture;
89
+ }
90
+ interface ICtaIcon extends ICta {
91
+ icon?: IconType;
92
+ }
93
+
94
+ interface BrandsStripProps {
95
+ className?: string;
96
+ variant?: 'light' | 'dark';
97
+ title?: string;
98
+ logos?: PictureProps[];
99
+ cta?: ICta;
100
+ size?: 'small';
101
+ }
102
+
103
+ declare const BrandsStrip: ({ className, variant, title, logos, cta, size, }: BrandsStripProps) => react_jsx_runtime.JSX.Element;
101
104
 
102
105
  declare const ButtonVariantReadOnly: readonly ["primary", "secondary", "ghost", "nofill", "grey", "nofillblack", "shiny"];
103
106
  type TButtonVariant = (typeof ButtonVariantReadOnly)[number];
@@ -126,11 +129,15 @@ interface CardProps {
126
129
  subtitle?: ReactNode;
127
130
  icon?: IconType;
128
131
  logo?: IPicture;
129
- cta?: ICta;
132
+ cta?: ICtaLogo & ICtaIcon;
130
133
  children?: ReactNode;
134
+ ref?: Ref<HTMLDivElement>;
131
135
  }
132
136
 
133
- declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>> & {
137
+ declare const Card: {
138
+ ({ className, title, subtitle, cta, icon, logo, children, ref }: CardProps): react_jsx_runtime.JSX.Element;
139
+ displayName: string;
140
+ } & {
134
141
  Title: ({ children }: CardTitleProps) => react_jsx_runtime.JSX.Element;
135
142
  Subtitle: ({ children }: CardSubtitleProps) => react_jsx_runtime.JSX.Element;
136
143
  };
@@ -206,7 +213,7 @@ interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
206
213
  children: ReactNode;
207
214
  }
208
215
 
209
- declare const Container: react.ForwardRefExoticComponent<ContainerProps & react.RefAttributes<HTMLDivElement>>;
216
+ declare const Container: React$1.ForwardRefExoticComponent<ContainerProps & React$1.RefAttributes<HTMLDivElement>>;
210
217
 
211
218
  type ConditionalWrapperProps = {
212
219
  condition: boolean;
@@ -230,7 +237,7 @@ type CardCollectionTitleProps = {
230
237
 
231
238
  interface CardCollectionProps {
232
239
  className?: string;
233
- variant?: 'default' | 'threeCols' | 'examCard' | 'cardCarousel';
240
+ variant?: 'default' | 'threeCols' | 'fourCols' | 'examCard' | 'cardCarousel';
234
241
  title?: ReactNode;
235
242
  subtitle?: ReactNode;
236
243
  cards?: CardProps[];
@@ -449,7 +456,7 @@ interface EventListProps extends PropsWithChildren {
449
456
  variant?: EventListVariants;
450
457
  title?: ReactNode;
451
458
  items: UpcomingEventCardProps[];
452
- cta?: ICtaLogo & {
459
+ cta?: ICta & {
453
460
  icon: IconType;
454
461
  };
455
462
  }
@@ -480,6 +487,27 @@ declare const TextEvent: ((props: TextEventProps) => react_jsx_runtime.JSX.Eleme
480
487
  RichText: ({ children }: TextEventRichTextProps) => react_jsx_runtime.JSX.Element;
481
488
  };
482
489
 
490
+ type TextCenterCtaInBottomSubtitleProps = {
491
+ children: ReactNode;
492
+ };
493
+
494
+ type TextCenterCtaInBottomTitleProps = {
495
+ children: ReactNode;
496
+ };
497
+
498
+ interface TextCenterCtaInBottomProps {
499
+ className?: string;
500
+ title?: ReactNode;
501
+ subtitle?: ReactNode;
502
+ ctas?: ICtaLogo[];
503
+ children?: ReactNode;
504
+ }
505
+
506
+ declare const TextCenterCtaInBottom: (({ className, title, subtitle, ctas, children, }: TextCenterCtaInBottomProps) => react_jsx_runtime.JSX.Element) & {
507
+ Title: ({ children }: TextCenterCtaInBottomTitleProps) => react_jsx_runtime.JSX.Element;
508
+ Subtitle: ({ children }: TextCenterCtaInBottomSubtitleProps) => react_jsx_runtime.JSX.Element;
509
+ };
510
+
483
511
  type IntersectionObserverOptions = {
484
512
  threshold?: number | number[];
485
513
  rootMargin?: string;
@@ -503,4 +531,4 @@ type SlotMap = Record<string, SlotComponent>;
503
531
  */
504
532
  declare function resolveCompoundSlots(children: ReactNode, slots: SlotMap): Record<string, ReactNode>;
505
533
 
506
- export { Anchor, type AnchorProps, BrandsStrip, type BrandsStripProps, Button, type ButtonProps, Card, CardCollection, type CardCollectionProps, type CardProps, ConditionalWrapper, type ConditionalWrapperProps, ContactModule, type ContactModuleProps, Container, type ContainerProps, CountingCard, type CountingCardProps, EventList, type EventListProps, Footer, type FooterProps, HeroBanner, type HeroBannerProps, type ICta, type ICtaLogo, type IPicture, Icon, type IconType, InfoCard, type InfoCardProps, MiniBanner, type MiniBannerProps, MiniSectionCta, type MiniSectionCtaProps, Pagination, type PaginationProps, Picture, type PictureProps, PracticeCard, type PracticeCardProps, PracticePathCards, type PracticePathCardsProps, Teaser5050With3Text, type Teaser5050With3TextProps, Teaser5050WithCta, type Teaser5050WithCtaProps, TextEvent, type TextEventProps, resolveCompoundSlots, svgs, useIntersectionObserver };
534
+ export { Anchor, type AnchorProps, BrandsStrip, type BrandsStripProps, Button, type ButtonProps, Card, CardCollection, type CardCollectionProps, type CardProps, ConditionalWrapper, type ConditionalWrapperProps, ContactModule, type ContactModuleProps, Container, type ContainerProps, CountingCard, type CountingCardProps, EventList, type EventListProps, Footer, type FooterProps, HeroBanner, type HeroBannerProps, type ICta, type ICtaIcon, type ICtaLogo, type IPicture, Icon, type IconType, InfoCard, type InfoCardProps, MiniBanner, type MiniBannerProps, MiniSectionCta, type MiniSectionCtaProps, Pagination, type PaginationProps, Picture, type PictureProps, PracticeCard, type PracticeCardProps, PracticePathCards, type PracticePathCardsProps, Teaser5050With3Text, type Teaser5050With3TextProps, Teaser5050WithCta, type Teaser5050WithCtaProps, TextCenterCtaInBottom, type TextCenterCtaInBottomProps, TextEvent, type TextEventProps, resolveCompoundSlots, svgs, useIntersectionObserver };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as react from 'react';
3
- import react__default, { ImgHTMLAttributes, ReactNode, AnchorHTMLAttributes, HTMLAttributes, FC, PropsWithChildren } from 'react';
2
+ import * as React$1 from 'react';
3
+ import React__default, { ImgHTMLAttributes, ReactNode, Ref, AnchorHTMLAttributes, HTMLAttributes, FC, PropsWithChildren } from 'react';
4
4
 
5
5
  interface IPicture {
6
6
  src: string;
@@ -19,26 +19,6 @@ type ResponsiveSources = {
19
19
  };
20
20
  type PictureProps = ImgHTMLAttributes<HTMLImageElement> & (SrcOnly | ResponsiveSources);
21
21
 
22
- interface ICta {
23
- label: string;
24
- url: string;
25
- isExternal?: boolean;
26
- }
27
- interface ICtaLogo extends ICta {
28
- logo?: IPicture;
29
- }
30
-
31
- interface BrandsStripProps {
32
- className?: string;
33
- variant?: 'light' | 'dark';
34
- title?: string;
35
- logos?: PictureProps[];
36
- cta?: ICta;
37
- size?: 'small';
38
- }
39
-
40
- declare const BrandsStrip: ({ className, variant, title, logos, cta, size, }: BrandsStripProps) => react_jsx_runtime.JSX.Element;
41
-
42
22
  declare const svgs: {
43
23
  ads: string;
44
24
  book: string;
@@ -93,11 +73,34 @@ declare const svgs: {
93
73
  xWhite: string;
94
74
  };
95
75
  type IconType = keyof typeof svgs;
96
- interface IconProps extends react__default.ComponentPropsWithRef<'svg'> {
76
+ interface IconProps extends React__default.ComponentPropsWithRef<'svg'> {
97
77
  type: IconType;
98
78
  size?: number;
99
79
  }
100
- declare const Icon: react__default.FC<IconProps>;
80
+ declare const Icon: React__default.FC<IconProps>;
81
+
82
+ interface ICta {
83
+ label?: string;
84
+ url: string;
85
+ isExternal?: boolean;
86
+ }
87
+ interface ICtaLogo extends ICta {
88
+ logo?: IPicture;
89
+ }
90
+ interface ICtaIcon extends ICta {
91
+ icon?: IconType;
92
+ }
93
+
94
+ interface BrandsStripProps {
95
+ className?: string;
96
+ variant?: 'light' | 'dark';
97
+ title?: string;
98
+ logos?: PictureProps[];
99
+ cta?: ICta;
100
+ size?: 'small';
101
+ }
102
+
103
+ declare const BrandsStrip: ({ className, variant, title, logos, cta, size, }: BrandsStripProps) => react_jsx_runtime.JSX.Element;
101
104
 
102
105
  declare const ButtonVariantReadOnly: readonly ["primary", "secondary", "ghost", "nofill", "grey", "nofillblack", "shiny"];
103
106
  type TButtonVariant = (typeof ButtonVariantReadOnly)[number];
@@ -126,11 +129,15 @@ interface CardProps {
126
129
  subtitle?: ReactNode;
127
130
  icon?: IconType;
128
131
  logo?: IPicture;
129
- cta?: ICta;
132
+ cta?: ICtaLogo & ICtaIcon;
130
133
  children?: ReactNode;
134
+ ref?: Ref<HTMLDivElement>;
131
135
  }
132
136
 
133
- declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>> & {
137
+ declare const Card: {
138
+ ({ className, title, subtitle, cta, icon, logo, children, ref }: CardProps): react_jsx_runtime.JSX.Element;
139
+ displayName: string;
140
+ } & {
134
141
  Title: ({ children }: CardTitleProps) => react_jsx_runtime.JSX.Element;
135
142
  Subtitle: ({ children }: CardSubtitleProps) => react_jsx_runtime.JSX.Element;
136
143
  };
@@ -206,7 +213,7 @@ interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
206
213
  children: ReactNode;
207
214
  }
208
215
 
209
- declare const Container: react.ForwardRefExoticComponent<ContainerProps & react.RefAttributes<HTMLDivElement>>;
216
+ declare const Container: React$1.ForwardRefExoticComponent<ContainerProps & React$1.RefAttributes<HTMLDivElement>>;
210
217
 
211
218
  type ConditionalWrapperProps = {
212
219
  condition: boolean;
@@ -230,7 +237,7 @@ type CardCollectionTitleProps = {
230
237
 
231
238
  interface CardCollectionProps {
232
239
  className?: string;
233
- variant?: 'default' | 'threeCols' | 'examCard' | 'cardCarousel';
240
+ variant?: 'default' | 'threeCols' | 'fourCols' | 'examCard' | 'cardCarousel';
234
241
  title?: ReactNode;
235
242
  subtitle?: ReactNode;
236
243
  cards?: CardProps[];
@@ -449,7 +456,7 @@ interface EventListProps extends PropsWithChildren {
449
456
  variant?: EventListVariants;
450
457
  title?: ReactNode;
451
458
  items: UpcomingEventCardProps[];
452
- cta?: ICtaLogo & {
459
+ cta?: ICta & {
453
460
  icon: IconType;
454
461
  };
455
462
  }
@@ -480,6 +487,27 @@ declare const TextEvent: ((props: TextEventProps) => react_jsx_runtime.JSX.Eleme
480
487
  RichText: ({ children }: TextEventRichTextProps) => react_jsx_runtime.JSX.Element;
481
488
  };
482
489
 
490
+ type TextCenterCtaInBottomSubtitleProps = {
491
+ children: ReactNode;
492
+ };
493
+
494
+ type TextCenterCtaInBottomTitleProps = {
495
+ children: ReactNode;
496
+ };
497
+
498
+ interface TextCenterCtaInBottomProps {
499
+ className?: string;
500
+ title?: ReactNode;
501
+ subtitle?: ReactNode;
502
+ ctas?: ICtaLogo[];
503
+ children?: ReactNode;
504
+ }
505
+
506
+ declare const TextCenterCtaInBottom: (({ className, title, subtitle, ctas, children, }: TextCenterCtaInBottomProps) => react_jsx_runtime.JSX.Element) & {
507
+ Title: ({ children }: TextCenterCtaInBottomTitleProps) => react_jsx_runtime.JSX.Element;
508
+ Subtitle: ({ children }: TextCenterCtaInBottomSubtitleProps) => react_jsx_runtime.JSX.Element;
509
+ };
510
+
483
511
  type IntersectionObserverOptions = {
484
512
  threshold?: number | number[];
485
513
  rootMargin?: string;
@@ -503,4 +531,4 @@ type SlotMap = Record<string, SlotComponent>;
503
531
  */
504
532
  declare function resolveCompoundSlots(children: ReactNode, slots: SlotMap): Record<string, ReactNode>;
505
533
 
506
- export { Anchor, type AnchorProps, BrandsStrip, type BrandsStripProps, Button, type ButtonProps, Card, CardCollection, type CardCollectionProps, type CardProps, ConditionalWrapper, type ConditionalWrapperProps, ContactModule, type ContactModuleProps, Container, type ContainerProps, CountingCard, type CountingCardProps, EventList, type EventListProps, Footer, type FooterProps, HeroBanner, type HeroBannerProps, type ICta, type ICtaLogo, type IPicture, Icon, type IconType, InfoCard, type InfoCardProps, MiniBanner, type MiniBannerProps, MiniSectionCta, type MiniSectionCtaProps, Pagination, type PaginationProps, Picture, type PictureProps, PracticeCard, type PracticeCardProps, PracticePathCards, type PracticePathCardsProps, Teaser5050With3Text, type Teaser5050With3TextProps, Teaser5050WithCta, type Teaser5050WithCtaProps, TextEvent, type TextEventProps, resolveCompoundSlots, svgs, useIntersectionObserver };
534
+ export { Anchor, type AnchorProps, BrandsStrip, type BrandsStripProps, Button, type ButtonProps, Card, CardCollection, type CardCollectionProps, type CardProps, ConditionalWrapper, type ConditionalWrapperProps, ContactModule, type ContactModuleProps, Container, type ContainerProps, CountingCard, type CountingCardProps, EventList, type EventListProps, Footer, type FooterProps, HeroBanner, type HeroBannerProps, type ICta, type ICtaIcon, type ICtaLogo, type IPicture, Icon, type IconType, InfoCard, type InfoCardProps, MiniBanner, type MiniBannerProps, MiniSectionCta, type MiniSectionCtaProps, Pagination, type PaginationProps, Picture, type PictureProps, PracticeCard, type PracticeCardProps, PracticePathCards, type PracticePathCardsProps, Teaser5050With3Text, type Teaser5050With3TextProps, Teaser5050WithCta, type Teaser5050WithCtaProps, TextCenterCtaInBottom, type TextCenterCtaInBottomProps, TextEvent, type TextEventProps, resolveCompoundSlots, svgs, useIntersectionObserver };
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import clsx19 from 'clsx';
2
2
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
3
- import React52, { forwardRef, Children, isValidElement, useRef, useState, useCallback, useMemo, useEffect } from 'react';
3
+ import React52, { forwardRef, useRef, useState, useCallback, Children, isValidElement, useMemo, useEffect } from 'react';
4
4
  import gsap$1, { gsap } from 'gsap';
5
5
  import { useGSAP } from '@gsap/react';
6
6
  import { ScrollTrigger } from 'gsap/ScrollTrigger';
@@ -665,40 +665,54 @@ function resolveCompoundSlots(children, slots) {
665
665
  return resolved;
666
666
  }
667
667
 
668
+ // src/components/primitives/Container/Container.module.scss
669
+ var Container_module_default = {
670
+ container: "Container_module_container"
671
+ };
672
+ var Container = forwardRef(
673
+ (_a, ref) => {
674
+ var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
675
+ return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({ ref, className: clsx19(Container_module_default.container, className) }, props), { children }));
676
+ }
677
+ );
678
+ Container.displayName = "Container";
679
+
668
680
  // src/components/Card/Card.module.scss
669
681
  var Card_module_default = {
670
682
  card: "Card_module_card",
671
683
  logo: "Card_module_logo",
672
684
  subtitle: "Card_module_subtitle"
673
685
  };
674
- var Card = forwardRef(
675
- ({ className, title, subtitle, cta, icon, logo, children }, ref) => {
676
- var _a, _b;
677
- const slots = resolveCompoundSlots(children, {
678
- title: CardTitle,
679
- subtitle: CardSubtitle
680
- });
681
- const titleNode = (_a = slots.title) != null ? _a : title;
682
- const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
683
- return /* @__PURE__ */ jsxs("div", { ref, className: clsx19(Card_module_default.card, className), children: [
684
- (logo == null ? void 0 : logo.src) ? /* @__PURE__ */ jsx(Picture, __spreadValues({ className: Card_module_default.logo }, logo)) : icon && /* @__PURE__ */ jsx(Icon, { type: icon, className: Card_module_default.logo }),
685
- /* @__PURE__ */ jsxs("div", { className: Card_module_default.content, children: [
686
- titleNode && /* @__PURE__ */ jsx("h3", { className: "h4", children: titleNode }),
687
- subtitleNode && /* @__PURE__ */ jsx("div", { className: Card_module_default.subtitle, children: subtitleNode })
688
- ] }),
689
- cta && /* @__PURE__ */ jsx(
690
- Button,
691
- {
692
- href: cta.url,
693
- isExternal: cta.isExternal,
694
- variant: "secondary",
695
- icon: cta.url ? "rightBlack" : void 0,
696
- children: cta.label
697
- }
698
- )
699
- ] });
700
- }
701
- );
686
+ var Card = ({ className, title, subtitle, cta, icon, logo, children, ref }) => {
687
+ var _a, _b;
688
+ const { url: href, label, isExternal } = cta != null ? cta : {};
689
+ const slots = resolveCompoundSlots(children, {
690
+ title: CardTitle,
691
+ subtitle: CardSubtitle
692
+ });
693
+ const titleNode = (_a = slots.title) != null ? _a : title;
694
+ const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
695
+ console.log(href && !label, href, !label);
696
+ return /* @__PURE__ */ jsxs(
697
+ ConditionalWrapper,
698
+ __spreadProps(__spreadValues({
699
+ ref,
700
+ className: clsx19(Card_module_default.card, className),
701
+ wrapper: Anchor,
702
+ fallback: "div",
703
+ condition: href && !label
704
+ }, href ? { href, isExternal } : {}), {
705
+ children: [
706
+ (logo == null ? void 0 : logo.src) ? /* @__PURE__ */ jsx(Picture, __spreadValues({ className: Card_module_default.logo }, logo)) : icon && /* @__PURE__ */ jsx(Icon, { type: icon, className: Card_module_default.logo }),
707
+ /* @__PURE__ */ jsxs("div", { className: Card_module_default.content, children: [
708
+ titleNode && /* @__PURE__ */ jsx("h3", { className: "h4", children: titleNode }),
709
+ subtitleNode && /* @__PURE__ */ jsx("div", { className: Card_module_default.subtitle, children: subtitleNode })
710
+ ] }),
711
+ (cta == null ? void 0 : cta.label) && /* @__PURE__ */ jsx(Button, { href: cta.url, isExternal: cta.isExternal, variant: "secondary", icon: cta.icon, children: cta.label })
712
+ ]
713
+ })
714
+ );
715
+ };
702
716
  Card.displayName = "Card";
703
717
 
704
718
  // src/components/Card/index.ts
@@ -861,18 +875,6 @@ var Pagination = ({
861
875
  ] });
862
876
  };
863
877
 
864
- // src/components/primitives/Container/Container.module.scss
865
- var Container_module_default = {
866
- container: "Container_module_container"
867
- };
868
- var Container = forwardRef(
869
- (_a, ref) => {
870
- var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
871
- return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({ ref, className: clsx19(Container_module_default.container, className) }, props), { children }));
872
- }
873
- );
874
- Container.displayName = "Container";
875
-
876
878
  // src/components/PracticeCard/PracticeCard.module.scss
877
879
  var PracticeCard_module_default = {
878
880
  "practice-card": "PracticeCard_module_practice-card",
@@ -921,6 +923,7 @@ var CardCollection_module_default = {
921
923
  wrapper: "CardCollection_module_wrapper",
922
924
  cardWrapper: "CardCollection_module_cardWrapper",
923
925
  threeCols: "CardCollection_module_threeCols",
926
+ fourCols: "CardCollection_module_fourCols",
924
927
  examCard: "CardCollection_module_examCard",
925
928
  "reveal-wrapper": "CardCollection_module_reveal-wrapper",
926
929
  "reveal-inner": "CardCollection_module_reveal-inner",
@@ -1776,6 +1779,72 @@ var TextEvent2 = Object.assign(TextEvent, {
1776
1779
  Title: TextEventTitle,
1777
1780
  RichText: TextEventRichText
1778
1781
  });
1782
+ var TextCenterCtaInBottomTitle = ({ children }) => {
1783
+ return /* @__PURE__ */ jsx(Fragment, { children });
1784
+ };
1785
+ var TextCenterCtaInBottomSubtitle = ({ children }) => {
1786
+ return /* @__PURE__ */ jsx(Fragment, { children });
1787
+ };
1788
+
1789
+ // src/widgets/TextCenterCtaInBottom/TextCenterCtaInBottom.module.scss
1790
+ var TextCenterCtaInBottom_module_default = {
1791
+ textCenterCta: "TextCenterCtaInBottom_module_textCenterCta",
1792
+ container: "TextCenterCtaInBottom_module_container",
1793
+ content: "TextCenterCtaInBottom_module_content",
1794
+ title: "TextCenterCtaInBottom_module_title",
1795
+ subtitle: "TextCenterCtaInBottom_module_subtitle",
1796
+ ctaWrapper: "TextCenterCtaInBottom_module_ctaWrapper",
1797
+ iconOnly: "TextCenterCtaInBottom_module_iconOnly",
1798
+ cta: "TextCenterCtaInBottom_module_cta"
1799
+ };
1800
+ var TextCenterCtaInBottom = ({
1801
+ className,
1802
+ title,
1803
+ subtitle,
1804
+ ctas,
1805
+ children
1806
+ }) => {
1807
+ var _a, _b;
1808
+ const slots = resolveCompoundSlots(children, {
1809
+ title: TextCenterCtaInBottomTitle,
1810
+ subtitle: TextCenterCtaInBottomSubtitle
1811
+ });
1812
+ const titleNode = (_a = slots.title) != null ? _a : title;
1813
+ const subtitleNode = (_b = slots.subtitle) != null ? _b : subtitle;
1814
+ return /* @__PURE__ */ jsx("div", { className: clsx19(TextCenterCtaInBottom_module_default.textCenterCta, className), children: /* @__PURE__ */ jsxs(Container, { className: TextCenterCtaInBottom_module_default.container, children: [
1815
+ /* @__PURE__ */ jsxs("div", { className: TextCenterCtaInBottom_module_default.content, children: [
1816
+ titleNode && /* @__PURE__ */ jsx("div", { className: TextCenterCtaInBottom_module_default.title, children: titleNode }),
1817
+ subtitleNode && /* @__PURE__ */ jsx("div", { className: TextCenterCtaInBottom_module_default.subtitle, children: subtitleNode })
1818
+ ] }),
1819
+ (ctas == null ? void 0 : ctas.length) && /* @__PURE__ */ jsx(
1820
+ "div",
1821
+ {
1822
+ className: clsx19(
1823
+ TextCenterCtaInBottom_module_default.ctaWrapper,
1824
+ ctas.every((cta) => !cta.label && cta.logo) && TextCenterCtaInBottom_module_default.iconOnly
1825
+ ),
1826
+ children: ctas.map((cta, key) => /* @__PURE__ */ jsx(
1827
+ Button,
1828
+ {
1829
+ className: TextCenterCtaInBottom_module_default.cta,
1830
+ variant: "secondary",
1831
+ href: cta == null ? void 0 : cta.url,
1832
+ isExternal: cta == null ? void 0 : cta.isExternal,
1833
+ logo: cta.logo,
1834
+ children: cta == null ? void 0 : cta.label
1835
+ },
1836
+ key
1837
+ ))
1838
+ }
1839
+ )
1840
+ ] }) });
1841
+ };
1842
+
1843
+ // src/widgets/TextCenterCtaInBottom/index.ts
1844
+ var TextCenterCtaInBottom2 = Object.assign(TextCenterCtaInBottom, {
1845
+ Title: TextCenterCtaInBottomTitle,
1846
+ Subtitle: TextCenterCtaInBottomSubtitle
1847
+ });
1779
1848
  function useIntersectionObserver({
1780
1849
  animateOnce = false,
1781
1850
  options = {}
@@ -1805,6 +1874,6 @@ function useIntersectionObserver({
1805
1874
  return { observeRef, isVisible };
1806
1875
  }
1807
1876
 
1808
- export { Anchor, BrandsStrip, Button, Card2 as Card, CardCollection2 as CardCollection, ConditionalWrapper, ContactModule2 as ContactModule, Container, CountingCard2 as CountingCard, EventList2 as EventList, Footer, HeroBanner2 as HeroBanner, Icon, InfoCard2 as InfoCard, MiniBanner2 as MiniBanner, MiniSectionCta2 as MiniSectionCta, Pagination, Picture, PracticeCard, PracticePathCards2 as PracticePathCards, Teaser5050With3Text2 as Teaser5050With3Text, Teaser5050WithCta2 as Teaser5050WithCta, TextEvent2 as TextEvent, resolveCompoundSlots, svgs, useIntersectionObserver };
1877
+ export { Anchor, BrandsStrip, Button, Card2 as Card, CardCollection2 as CardCollection, ConditionalWrapper, ContactModule2 as ContactModule, Container, CountingCard2 as CountingCard, EventList2 as EventList, Footer, HeroBanner2 as HeroBanner, Icon, InfoCard2 as InfoCard, MiniBanner2 as MiniBanner, MiniSectionCta2 as MiniSectionCta, Pagination, Picture, PracticeCard, PracticePathCards2 as PracticePathCards, Teaser5050With3Text2 as Teaser5050With3Text, Teaser5050WithCta2 as Teaser5050WithCta, TextCenterCtaInBottom2 as TextCenterCtaInBottom, TextEvent2 as TextEvent, resolveCompoundSlots, svgs, useIntersectionObserver };
1809
1878
  //# sourceMappingURL=index.mjs.map
1810
1879
  //# sourceMappingURL=index.mjs.map