@digital-b2c/coreui-kit 0.1.0 → 0.2.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/dist/index.d.ts CHANGED
@@ -1,5 +1,43 @@
1
- import React$1, { ImgHTMLAttributes, AnchorHTMLAttributes, HTMLAttributes, ReactNode, FC, PropsWithChildren } from 'react';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React$1, { ImgHTMLAttributes, ReactNode, AnchorHTMLAttributes, HTMLAttributes, FC, PropsWithChildren } from 'react';
3
+
4
+ interface IPicture {
5
+ src: string;
6
+ alt?: string;
7
+ }
8
+
9
+ type SrcOnly = {
10
+ src: string;
11
+ desktop?: never;
12
+ mobile?: never;
13
+ };
14
+ type ResponsiveSources = {
15
+ src?: never;
16
+ desktop: IPicture;
17
+ mobile?: IPicture;
18
+ };
19
+ type PictureProps = ImgHTMLAttributes<HTMLImageElement> & (SrcOnly | ResponsiveSources);
20
+
21
+ interface ICta {
22
+ label: string;
23
+ url: string;
24
+ isExternal?: boolean;
25
+ }
26
+ interface ICtaLogo extends ICta {
27
+ pictures: PictureProps[];
28
+ }
29
+
30
+ interface BrandsStripProps {
31
+ className?: string;
32
+ variant?: 'light' | 'dark';
33
+ title?: string;
34
+ logos?: PictureProps[];
35
+ cta?: ICta;
36
+ size?: 'small';
37
+ animate?: boolean;
38
+ }
39
+
40
+ declare const BrandsStrip: ({ className, variant, title, logos, cta, size, animate, }: BrandsStripProps) => react_jsx_runtime.JSX.Element;
3
41
 
4
42
  declare const svgs: {
5
43
  ads: React$1.FunctionComponent<React$1.SVGProps<SVGSVGElement> & {
@@ -162,55 +200,78 @@ interface IconProps extends React$1.ComponentPropsWithRef<'svg'> {
162
200
  }
163
201
  declare const Icon: React$1.FC<IconProps>;
164
202
 
203
+ declare const ButtonVariantReadOnly: readonly ["primary", "secondary", "ghost", "nofill", "grey", "nofillblack", "shiny"];
204
+ type TButtonVariant = (typeof ButtonVariantReadOnly)[number];
165
205
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
166
- variant?: 'primary' | 'secondary' | 'ghost' | 'nofill' | 'grey' | 'nofillblack' | 'shiny';
206
+ variant?: TButtonVariant;
167
207
  fullWidth?: boolean;
168
208
  href?: string;
169
209
  isExternal?: boolean;
170
210
  icon?: IconType;
211
+ logo?: IPicture;
171
212
  }
172
213
 
173
214
  declare const Button: React.FC<ButtonProps>;
174
215
 
175
- interface ICta {
176
- label: string;
177
- url: string;
178
- isExternal?: boolean;
179
- }
216
+ type CardSubtitleProps = {
217
+ children: ReactNode;
218
+ };
219
+
220
+ type CardTitleProps = {
221
+ children: ReactNode;
222
+ };
180
223
 
181
224
  interface CardProps {
182
225
  className?: string;
183
- title?: string;
184
- subtitle?: string;
226
+ title?: ReactNode;
227
+ subtitle?: ReactNode;
185
228
  icon?: IconType;
186
229
  cta?: ICta;
230
+ children?: ReactNode;
187
231
  }
188
232
 
189
- declare const Card: ({ className, title, subtitle, cta, icon }: CardProps) => react_jsx_runtime.JSX.Element;
233
+ declare const Card: (({ className, title, subtitle, cta, icon, children }: CardProps) => react_jsx_runtime.JSX.Element) & {
234
+ Title: ({ children }: CardTitleProps) => react_jsx_runtime.JSX.Element;
235
+ Subtitle: ({ children }: CardSubtitleProps) => react_jsx_runtime.JSX.Element;
236
+ };
190
237
 
191
- interface IPicture {
192
- src: string;
193
- alt?: string;
194
- }
238
+ type CountingCardTitleProps = {
239
+ children: ReactNode;
240
+ };
195
241
 
196
242
  interface CountingCardProps {
197
243
  className?: string;
198
244
  count?: number;
199
- title?: string;
245
+ title?: ReactNode;
200
246
  image?: IPicture;
247
+ children?: ReactNode;
201
248
  }
202
249
 
203
- declare const CountingCard: ({ className, title, count, image }: CountingCardProps) => react_jsx_runtime.JSX.Element;
250
+ declare const CountingCard: (({ className, title, count, image, children }: CountingCardProps) => react_jsx_runtime.JSX.Element) & {
251
+ Title: ({ children }: CountingCardTitleProps) => react_jsx_runtime.JSX.Element;
252
+ };
253
+
254
+ type InfoCardSubtitleProps = {
255
+ children: ReactNode;
256
+ };
257
+
258
+ type InfoCardTitleProps = {
259
+ children: ReactNode;
260
+ };
204
261
 
205
262
  interface InfoCardProps {
206
263
  className?: string;
207
264
  icon?: IconType;
208
265
  badge?: string;
209
- title?: string;
210
- subtitle?: string;
266
+ title?: ReactNode;
267
+ subtitle?: ReactNode;
268
+ children?: ReactNode;
211
269
  }
212
270
 
213
- declare const InfoCard: ({ className, title, subtitle, icon, badge }: InfoCardProps) => react_jsx_runtime.JSX.Element;
271
+ declare const InfoCard: (({ className, title, subtitle, icon, badge, children }: InfoCardProps) => react_jsx_runtime.JSX.Element) & {
272
+ Title: ({ children }: InfoCardTitleProps) => react_jsx_runtime.JSX.Element;
273
+ Subtitle: ({ children }: InfoCardSubtitleProps) => react_jsx_runtime.JSX.Element;
274
+ };
214
275
 
215
276
  interface PaginationProps {
216
277
  className?: string;
@@ -224,20 +285,17 @@ interface PaginationProps {
224
285
 
225
286
  declare const Pagination: ({ className, totalPages, currentPage, loop, hasNumber, disableArrows, onPageChange, }: PaginationProps) => react_jsx_runtime.JSX.Element;
226
287
 
227
- type SrcOnly = {
228
- src: string;
229
- desktop?: never;
230
- mobile?: never;
231
- };
232
- type ResponsiveSources = {
233
- src?: never;
234
- desktop: IPicture;
235
- mobile?: IPicture;
236
- };
237
- type PictureProps = ImgHTMLAttributes<HTMLImageElement> & (SrcOnly | ResponsiveSources);
238
-
239
288
  declare const Picture: ({ className, ...props }: PictureProps) => react_jsx_runtime.JSX.Element;
240
289
 
290
+ interface PracticeCardProps {
291
+ className?: string;
292
+ title?: string;
293
+ cta?: ICta;
294
+ image?: IPicture;
295
+ }
296
+
297
+ declare const PracticeCard: ({ className, title, cta, image }: PracticeCardProps) => react_jsx_runtime.JSX.Element;
298
+
241
299
  interface AnchorProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
242
300
  isExternal?: boolean;
243
301
  }
@@ -262,45 +320,165 @@ type ConditionalWrapperProps = {
262
320
 
263
321
  declare const ConditionalWrapper: React.FC<PropsWithChildren<ConditionalWrapperProps>>;
264
322
 
323
+ type CardCollectionSubtitleProps = {
324
+ children: ReactNode;
325
+ };
326
+
327
+ type CardCollectionTitleProps = {
328
+ children: ReactNode;
329
+ };
330
+
265
331
  interface CardCollectionProps {
266
332
  className?: string;
267
333
  variant?: 'default' | 'threeCols' | 'examCard' | 'cardCarousel';
334
+ title?: ReactNode;
335
+ subtitle?: ReactNode;
336
+ cards?: CardProps[];
337
+ children?: ReactNode;
338
+ }
339
+
340
+ declare const CardCollection: (({ className, variant, title, subtitle, cards, children, }: CardCollectionProps) => react_jsx_runtime.JSX.Element) & {
341
+ Title: ({ children }: CardCollectionTitleProps) => react_jsx_runtime.JSX.Element;
342
+ Subtitle: ({ children }: CardCollectionSubtitleProps) => react_jsx_runtime.JSX.Element;
343
+ };
344
+
345
+ type ContactModuleSubtitleProps = {
346
+ children: ReactNode;
347
+ };
348
+
349
+ type ContactModuleTitleProps = {
350
+ children: ReactNode;
351
+ };
352
+
353
+ interface ContactModuleProps {
354
+ className?: string;
355
+ children?: ReactNode;
356
+ image?: IPicture;
357
+ title?: ReactNode;
358
+ subtitle?: ReactNode;
359
+ ctas?: ICta[];
360
+ blurred?: boolean;
361
+ }
362
+
363
+ declare const ContactModule: (({ className, children, title, subtitle, ctas, image, blurred, }: ContactModuleProps) => react_jsx_runtime.JSX.Element) & {
364
+ Title: ({ children }: ContactModuleTitleProps) => react_jsx_runtime.JSX.Element;
365
+ Subtitle: ({ children }: ContactModuleSubtitleProps) => react_jsx_runtime.JSX.Element;
366
+ };
367
+
368
+ interface HeroBannerProps {
369
+ className?: string;
370
+ variant?: 'pageHeroBanner' | 'bannerPodcast' | 'mainHeroBanner';
268
371
  title?: string;
269
372
  subtitle?: string;
270
- cards?: CardProps[];
373
+ backgroundImage?: PictureProps;
374
+ logo?: PictureProps;
375
+ cta?: ICta[];
376
+ ctaLogo?: ICtaLogo[];
377
+ brands?: BrandsStripProps;
271
378
  }
272
379
 
273
- declare const CardCollection: ({ className, variant, title, subtitle, cards, }: CardCollectionProps) => react_jsx_runtime.JSX.Element;
380
+ declare const HeroBanner: ({ className, variant, title, subtitle, backgroundImage, logo, cta, brands, }: HeroBannerProps) => react_jsx_runtime.JSX.Element;
381
+
382
+ type MiniBannerSubtitleProps = {
383
+ children: ReactNode;
384
+ };
385
+
386
+ type MiniBannerTitleProps = {
387
+ children: ReactNode;
388
+ };
389
+
390
+ interface MiniBannerProps {
391
+ className?: string;
392
+ variant?: 'default' | 'miniBannerNoBG';
393
+ logo?: IPicture;
394
+ background?: PictureProps;
395
+ title?: ReactNode;
396
+ subtitle?: ReactNode;
397
+ children?: ReactNode;
398
+ }
399
+
400
+ declare const MiniBanner: (({ className, variant, title, subtitle, logo, background, children, }: MiniBannerProps) => react_jsx_runtime.JSX.Element) & {
401
+ Title: ({ children }: MiniBannerTitleProps) => react_jsx_runtime.JSX.Element;
402
+ Subtitle: ({ children }: MiniBannerSubtitleProps) => react_jsx_runtime.JSX.Element;
403
+ };
404
+
405
+ type MiniSectionCtaSubtitleProps = {
406
+ children: ReactNode;
407
+ };
408
+
409
+ type MiniSectionCtaTitleProps = {
410
+ children: ReactNode;
411
+ };
274
412
 
275
413
  interface MiniSectionCtaProps {
276
414
  className?: string;
277
415
  variant?: 'headerCTA' | 'BgColorBlack' | 'BgColorGrey' | 'infoCallout' | 'miniTextCenterCta';
278
- title?: string;
279
- subtitle?: string;
416
+ cta?: ICta;
417
+ title?: ReactNode;
418
+ subtitle?: ReactNode;
419
+ children?: ReactNode;
420
+ }
421
+
422
+ declare const MiniSectionCta: (({ className, variant, title, subtitle, cta, children, }: MiniSectionCtaProps) => react_jsx_runtime.JSX.Element) & {
423
+ Title: ({ children }: MiniSectionCtaTitleProps) => react_jsx_runtime.JSX.Element;
424
+ Subtitle: ({ children }: MiniSectionCtaSubtitleProps) => react_jsx_runtime.JSX.Element;
425
+ };
426
+
427
+ type PracticePathCardsFooterProps = {
428
+ children: ReactNode;
429
+ };
430
+
431
+ type PracticePathCardsSubtitleProps = {
432
+ children: ReactNode;
433
+ };
434
+
435
+ type PracticePathCardsTitleProps = {
436
+ children: ReactNode;
437
+ };
438
+
439
+ interface PracticePathCardsProps {
440
+ className?: string;
441
+ children?: ReactNode;
442
+ cards?: PracticeCardProps[];
443
+ title?: ReactNode;
444
+ subtitle?: ReactNode;
445
+ footer?: ReactNode;
280
446
  cta?: ICta;
281
447
  }
282
448
 
283
- declare const MiniSectionCta: ({ className, variant, title, subtitle, cta, }: MiniSectionCtaProps) => react_jsx_runtime.JSX.Element;
449
+ declare const PracticePathCards: (({ className, children, cards, title, subtitle, footer, cta, }: PracticePathCardsProps) => react_jsx_runtime.JSX.Element) & {
450
+ Title: ({ children }: PracticePathCardsTitleProps) => react_jsx_runtime.JSX.Element;
451
+ Subtitle: ({ children }: PracticePathCardsSubtitleProps) => react_jsx_runtime.JSX.Element;
452
+ Footer: ({ children }: PracticePathCardsFooterProps) => react_jsx_runtime.JSX.Element;
453
+ };
454
+
455
+ type Teaser5050With3TextTitleProps = {
456
+ children: ReactNode;
457
+ };
284
458
 
285
459
  interface Teaser5050With3TextProps {
286
460
  className?: string;
287
461
  variant?: 'left' | 'right';
288
- title?: string;
462
+ title?: ReactNode;
289
463
  cards?: InfoCardProps[];
290
464
  image?: PictureProps;
465
+ children?: ReactNode;
291
466
  }
292
467
 
293
- declare const Teaser5050With3Text: ({ className, variant, title, cards, image, }: Teaser5050With3TextProps) => react_jsx_runtime.JSX.Element;
468
+ declare const Teaser5050With3Text: (({ className, variant, title, cards, image, children, }: Teaser5050With3TextProps) => react_jsx_runtime.JSX.Element) & {
469
+ Title: ({ children }: Teaser5050With3TextTitleProps) => react_jsx_runtime.JSX.Element;
470
+ };
294
471
 
295
472
  interface Teaser5050WithCtaProps {
296
473
  className?: string;
297
474
  variant?: 'left' | 'right';
298
- title?: string;
299
- subtitle?: string;
475
+ title?: ReactNode;
476
+ subtitle?: ReactNode;
300
477
  cta?: ICta;
301
478
  image?: PictureProps;
479
+ children?: ReactNode;
302
480
  }
303
481
 
304
- declare const Teaser5050WithCta: ({ className, variant, title, subtitle, cta, image, }: Teaser5050WithCtaProps) => react_jsx_runtime.JSX.Element;
482
+ declare const Teaser5050WithCta: ({ className, variant, title, subtitle, cta, image, children, }: Teaser5050WithCtaProps) => react_jsx_runtime.JSX.Element;
305
483
 
306
- export { Anchor, type AnchorProps, Button, type ButtonProps, Card, CardCollection, type CardCollectionProps, type CardProps, ConditionalWrapper, type ConditionalWrapperProps, Container, type ContainerProps, CountingCard, type CountingCardProps, Icon, type IconType, InfoCard, type InfoCardProps, MiniSectionCta, type MiniSectionCtaProps, Pagination, type PaginationProps, Picture, type PictureProps, Teaser5050With3Text, type Teaser5050With3TextProps, Teaser5050WithCta, type Teaser5050WithCtaProps, svgs };
484
+ 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, HeroBanner, type HeroBannerProps, 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, svgs };