@uob-web-and-digital/component-library 0.0.30 → 0.0.32
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/components/atoms/TextButton/TextButton.d.ts +1 -2
- package/dist/components/molecules/CardImage/CardImage.d.ts +15 -0
- package/dist/components/molecules/CardImage/CardImage.stories.d.ts +18 -0
- package/dist/components/molecules/CardImage/defaultProps.d.ts +2 -0
- package/dist/components/molecules/CardPromoSignpost/CardPromoSignpost.d.ts +27 -0
- package/dist/components/molecules/CardPromoSignpost/CardPromoSignpost.stories.d.ts +15 -0
- package/dist/components/molecules/CardPromoVideo/CardPromoVideo.d.ts +19 -0
- package/dist/components/molecules/CardPromoVideo/CardPromoVideo.stories.d.ts +14 -0
- package/dist/components/molecules/CarouselNav/CarouselNav.d.ts +2 -1
- package/dist/components/molecules/CarouselNav/CarouselNav.stories.d.ts +4 -1
- package/dist/components/molecules/Heading/Heading.d.ts +20 -0
- package/dist/components/molecules/Heading/Heading.stories.d.ts +18 -0
- package/dist/components/molecules/Heading/defaultProps.d.ts +2 -0
- package/dist/components/organisms/Carousel/Carousel.d.ts +5 -2
- package/dist/components/organisms/Hero/Hero.d.ts +40 -0
- package/dist/components/organisms/Hero/Hero.stories.d.ts +15 -0
- package/dist/components/organisms/Hero/components/LinesOfIntent.d.ts +7 -0
- package/dist/components/organisms/Hero/components/PolygonImage.d.ts +15 -0
- package/dist/components/organisms/Hero/defaultProps.d.ts +4 -0
- package/dist/components/organisms/ImageBlock/ImageBlock.d.ts +9 -0
- package/dist/components/organisms/ImageBlock/ImageBlock.stories.d.ts +23 -0
- package/dist/components/organisms/ImageBlock/defaultProps.d.ts +2 -0
- package/dist/components/organisms/PromoBlock/PromoBlock.d.ts +4 -2
- package/dist/components/organisms/PromoBlock/PromoBlock.stories.d.ts +12 -0
- package/dist/components/organisms/PromoBlock/defaultProps.d.ts +2 -0
- package/dist/components/organisms/SearchCourses/SearchCourses.d.ts +6 -2
- package/dist/components/organisms/SearchCourses/SearchCourses.stories.d.ts +1 -0
- package/dist/index.d.ts +161 -7
- package/dist/main.css +1 -1
- package/dist/main.js +5 -5
- package/dist/module.js +5 -5
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
import { ThemeProps } from '../../../themeProps';
|
|
3
3
|
import './textButton.scss';
|
|
4
|
-
interface TextButtonProps {
|
|
4
|
+
export interface TextButtonProps {
|
|
5
5
|
/**
|
|
6
6
|
* The theme to use
|
|
7
7
|
*/
|
|
@@ -27,4 +27,3 @@ interface TextButtonProps {
|
|
|
27
27
|
isSubmit?: boolean;
|
|
28
28
|
}
|
|
29
29
|
export default function TextButton({ theme, inverse, label, onClick, url, externalLink, hollow, isSubmit }: TextButtonProps): ReactElement;
|
|
30
|
-
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ImageProps } from '../../atoms/Image/Image';
|
|
3
|
+
import { ThemeProps } from '../../../themeProps';
|
|
4
|
+
import './cardImage.scss';
|
|
5
|
+
export interface CardImageProps {
|
|
6
|
+
theme: ThemeProps;
|
|
7
|
+
inverse?: boolean;
|
|
8
|
+
image: ImageProps;
|
|
9
|
+
imageCaption?: string;
|
|
10
|
+
imageCredit?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Primary UI component for user interaction
|
|
14
|
+
*/
|
|
15
|
+
export default function CardImage({ theme, inverse, image, imageCaption, imageCredit }: CardImageProps): ReactElement;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import CardImage from './CardImage';
|
|
3
|
+
import './cardImage.scss';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: typeof CardImage;
|
|
7
|
+
tags: string[];
|
|
8
|
+
parameters: {
|
|
9
|
+
backgrounds: {
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof CardImage>;
|
|
16
|
+
export declare const Default: Story;
|
|
17
|
+
export declare const Dark: Story;
|
|
18
|
+
export declare const Light: Story;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ImageProps } from '../../atoms/Image/Image';
|
|
3
|
+
import { ThemeProps } from '../../../themeProps';
|
|
4
|
+
import { TextButtonProps } from '../../atoms/TextButton/TextButton';
|
|
5
|
+
import { LinkWithArrowProps } from '../../atoms/LinkWithArrow/LinkWithArrow';
|
|
6
|
+
import './cardPromoSignpost.scss';
|
|
7
|
+
export interface CardPromoSignpostProps {
|
|
8
|
+
theme: ThemeProps;
|
|
9
|
+
inverse?: boolean;
|
|
10
|
+
image?: ImageProps;
|
|
11
|
+
imageOrientation?: 'left' | 'right';
|
|
12
|
+
tag?: string;
|
|
13
|
+
title: string;
|
|
14
|
+
subtitle?: string;
|
|
15
|
+
publishDate?: string;
|
|
16
|
+
authorString?: string;
|
|
17
|
+
location?: string;
|
|
18
|
+
copy?: string;
|
|
19
|
+
isSingle?: boolean;
|
|
20
|
+
buttonPrimary?: TextButtonProps;
|
|
21
|
+
buttonSecondary?: TextButtonProps;
|
|
22
|
+
link?: LinkWithArrowProps;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Primary UI component for user interaction
|
|
26
|
+
*/
|
|
27
|
+
export default function CardPromoSignpost({ theme, inverse, image, tag, title, subtitle, publishDate, authorString, location, copy, isSingle, buttonPrimary, buttonSecondary, link, imageOrientation }: CardPromoSignpostProps): ReactElement;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import CardPromoSignpost from './CardPromoSignpost';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof CardPromoSignpost;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof CardPromoSignpost>;
|
|
13
|
+
export declare const SinglePromoSignpostCardLight: Story;
|
|
14
|
+
export declare const SinglePromoSignpostCardsDarkRightImage: Story;
|
|
15
|
+
export declare const OneOfManyPromoSignpostCardsDark: Story;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ImageProps } from '../../atoms/Image/Image';
|
|
3
|
+
import { ThemeProps } from '../../../themeProps';
|
|
4
|
+
import { ParagraphLinkProps } from '../../atoms/ParagraphLink/ParagraphLink';
|
|
5
|
+
import './cardPromoVideo.scss';
|
|
6
|
+
export interface CardPromoVideoProps {
|
|
7
|
+
theme: ThemeProps;
|
|
8
|
+
image?: ImageProps;
|
|
9
|
+
title: string;
|
|
10
|
+
publishDate?: string;
|
|
11
|
+
videoLength?: string;
|
|
12
|
+
copy?: string;
|
|
13
|
+
isSingle?: boolean;
|
|
14
|
+
link?: ParagraphLinkProps;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Primary UI component for user interaction
|
|
18
|
+
*/
|
|
19
|
+
export default function CardPromoVideo({ theme, image, title, publishDate, videoLength, copy, isSingle, link }: CardPromoVideoProps): ReactElement;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import CardPromoVideo from './CardPromoVideo';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof CardPromoVideo;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof CardPromoVideo>;
|
|
13
|
+
export declare const SinglePromoVideoCard: Story;
|
|
14
|
+
export declare const OneOfManyPromoVideoCards: Story;
|
|
@@ -3,6 +3,7 @@ import { ThemeProps } from '../../../themeProps';
|
|
|
3
3
|
import './carouselNav.scss';
|
|
4
4
|
interface CarouselNavProps {
|
|
5
5
|
theme: ThemeProps;
|
|
6
|
+
inverse?: boolean;
|
|
6
7
|
totalNumber: number;
|
|
7
8
|
currentNumber: number;
|
|
8
9
|
onClickPrev: () => void;
|
|
@@ -13,5 +14,5 @@ interface CarouselNavProps {
|
|
|
13
14
|
showNumbers?: boolean;
|
|
14
15
|
lineColor?: 'black' | 'gold';
|
|
15
16
|
}
|
|
16
|
-
export default function CarouselNav({ theme, totalNumber, currentNumber, onClickNext, onClickPrev, prevButtonDisabled, nextButtonDisabled, carouselId, showNumbers, lineColor }: CarouselNavProps): ReactElement;
|
|
17
|
+
export default function CarouselNav({ theme, inverse, totalNumber, currentNumber, onClickNext, onClickPrev, prevButtonDisabled, nextButtonDisabled, carouselId, showNumbers, lineColor }: CarouselNavProps): ReactElement;
|
|
17
18
|
export {};
|
|
@@ -7,4 +7,7 @@ declare const meta: {
|
|
|
7
7
|
};
|
|
8
8
|
export default meta;
|
|
9
9
|
type Story = StoryObj<typeof CarouselNav>;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const CarouselNavLight: Story;
|
|
11
|
+
export declare const CarouselNavDark: Story;
|
|
12
|
+
export declare const CarouselNavGoldLine: Story;
|
|
13
|
+
export declare const CarouselNavDarkGoldLine: Story;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import { LinkWithArrowProps } from '../../atoms/LinkWithArrow/LinkWithArrow';
|
|
4
|
+
import './heading.scss';
|
|
5
|
+
type LinkProps = Omit<LinkWithArrowProps, 'theme' | 'inverse'>;
|
|
6
|
+
export interface HeadingProps {
|
|
7
|
+
/**
|
|
8
|
+
* The theme to use
|
|
9
|
+
*/
|
|
10
|
+
theme: ThemeProps;
|
|
11
|
+
/**
|
|
12
|
+
* Whether to inverse the colours
|
|
13
|
+
*/
|
|
14
|
+
inverse?: boolean;
|
|
15
|
+
title?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
linkProps?: LinkProps;
|
|
18
|
+
}
|
|
19
|
+
export default function Heading({ title, description, linkProps, theme, inverse }: HeadingProps): ReactElement | null;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import Heading from './Heading';
|
|
3
|
+
import './heading.scss';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: typeof Heading;
|
|
7
|
+
tags: string[];
|
|
8
|
+
parameters: {
|
|
9
|
+
backgrounds: {
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof Heading>;
|
|
16
|
+
export declare const Default: Story;
|
|
17
|
+
export declare const Dark: Story;
|
|
18
|
+
export declare const Light: Story;
|
|
@@ -3,13 +3,16 @@ import { CardNewsProps } from '../../molecules/CardNews/CardNews';
|
|
|
3
3
|
import { CardFeaturedProps } from '../../molecules/CardFeatured/CardFeatured';
|
|
4
4
|
import { CardVideoProps } from '../../molecules/CardVideo/CardVideo';
|
|
5
5
|
import { CardPromoProps } from '../../molecules/CardPromo/CardPromo';
|
|
6
|
+
import { CardPromoSignpostProps } from '../../molecules/CardPromoSignpost/CardPromoSignpost';
|
|
7
|
+
import { CardPromoVideoProps } from '../../molecules/CardPromoVideo/CardPromoVideo';
|
|
6
8
|
import { ThemeProps } from '../../../themeProps';
|
|
7
9
|
import './carousel.scss';
|
|
8
10
|
export interface CarouselProps {
|
|
9
11
|
theme: ThemeProps;
|
|
12
|
+
inverse?: boolean;
|
|
10
13
|
type: string;
|
|
11
14
|
title?: string;
|
|
12
|
-
cards: Omit<CardNewsProps, 'titleTag'>[] | CardFeaturedProps[] | CardVideoProps[] | CardPromoProps[];
|
|
15
|
+
cards: Omit<CardNewsProps, 'titleTag'>[] | CardFeaturedProps[] | CardVideoProps[] | CardPromoProps[] | CardPromoSignpostProps[] | CardPromoVideoProps[];
|
|
13
16
|
exploreMore?: string;
|
|
14
17
|
}
|
|
15
|
-
export default function Carousel({ theme, type, title, cards, exploreMore }: CarouselProps): ReactElement;
|
|
18
|
+
export default function Carousel({ theme, inverse, type, title, cards, exploreMore }: CarouselProps): ReactElement;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import './hero.scss';
|
|
4
|
+
import { SelectOptionsProps } from '../../atoms/FormSelect/FormSelect';
|
|
5
|
+
interface Link {
|
|
6
|
+
url: string;
|
|
7
|
+
title: string;
|
|
8
|
+
externalLink?: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface CourseSearchProps {
|
|
11
|
+
defaultSearchTerm?: string;
|
|
12
|
+
placeholder: string;
|
|
13
|
+
filterTitle: string;
|
|
14
|
+
filterFieldName: string;
|
|
15
|
+
filterOptions: SelectOptionsProps[];
|
|
16
|
+
defaultFilter?: string;
|
|
17
|
+
resultsUrl: string;
|
|
18
|
+
}
|
|
19
|
+
export interface HeroProps {
|
|
20
|
+
/**
|
|
21
|
+
* The theme to use
|
|
22
|
+
*/
|
|
23
|
+
theme: ThemeProps;
|
|
24
|
+
inverse?: boolean;
|
|
25
|
+
title: string;
|
|
26
|
+
description: string;
|
|
27
|
+
image?: {
|
|
28
|
+
src: {
|
|
29
|
+
small?: string;
|
|
30
|
+
medium?: string;
|
|
31
|
+
default: string;
|
|
32
|
+
};
|
|
33
|
+
alt: string;
|
|
34
|
+
style: 'rectangle' | 'lines-of-intent';
|
|
35
|
+
};
|
|
36
|
+
links?: [] | [Link] | [Link, Link];
|
|
37
|
+
courseSearchProps?: CourseSearchProps;
|
|
38
|
+
}
|
|
39
|
+
export default function Hero({ theme, inverse, title, description, image, links, courseSearchProps }: HeroProps): ReactElement | null;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import Hero from './Hero';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof Hero;
|
|
6
|
+
tags: string[];
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj<typeof Hero>;
|
|
10
|
+
export declare const DarkColourBlock: Story;
|
|
11
|
+
export declare const LightColourBlock: Story;
|
|
12
|
+
export declare const DarkRectangleImage: Story;
|
|
13
|
+
export declare const LightRectangleImage: Story;
|
|
14
|
+
export declare const DarkLinesOfIntentImage: Story;
|
|
15
|
+
export declare const LightLinesOfIntentImage: Story;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
isMobile: boolean;
|
|
4
|
+
isTablet: boolean;
|
|
5
|
+
image: {
|
|
6
|
+
src: {
|
|
7
|
+
small?: string;
|
|
8
|
+
medium?: string;
|
|
9
|
+
default: string;
|
|
10
|
+
};
|
|
11
|
+
alt: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export default function PolygonImage({ isMobile, isTablet, image }: Props): ReactElement;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import './imageBlock.scss';
|
|
3
|
+
import { HeadingProps } from '../../molecules/Heading/Heading';
|
|
4
|
+
import { CardImageProps } from '../../molecules/CardImage/CardImage';
|
|
5
|
+
export interface ImageBlockProps extends HeadingProps {
|
|
6
|
+
fullWidth: boolean;
|
|
7
|
+
images?: Omit<CardImageProps, 'theme' | 'inverse'>[];
|
|
8
|
+
}
|
|
9
|
+
export default function ImageBlock({ theme, inverse, title, description, linkProps, fullWidth, images }: ImageBlockProps): ReactElement | null;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import ImageBlock from './ImageBlock';
|
|
3
|
+
import './imageBlock.scss';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: typeof ImageBlock;
|
|
7
|
+
tags: string[];
|
|
8
|
+
parameters: {
|
|
9
|
+
backgrounds: {
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof ImageBlock>;
|
|
16
|
+
export declare const Default: Story;
|
|
17
|
+
export declare const Dark: Story;
|
|
18
|
+
export declare const Light: Story;
|
|
19
|
+
export declare const OneImageFullWidth: Story;
|
|
20
|
+
export declare const TwoImagesFullWidth: Story;
|
|
21
|
+
export declare const OneImage: Story;
|
|
22
|
+
export declare const TwoImages: Story;
|
|
23
|
+
export declare const NoImages: Story;
|
|
@@ -2,6 +2,8 @@ import { ReactElement } from 'react';
|
|
|
2
2
|
import { LinkWithArrowProps } from '../../atoms/LinkWithArrow/LinkWithArrow';
|
|
3
3
|
import { ThemeProps } from '../../../themeProps';
|
|
4
4
|
import { CardPromoProps } from '../../molecules/CardPromo/CardPromo';
|
|
5
|
+
import { CardPromoSignpostProps } from '../../molecules/CardPromoSignpost/CardPromoSignpost';
|
|
6
|
+
import { CardPromoVideoProps } from '../../molecules/CardPromoVideo/CardPromoVideo';
|
|
5
7
|
import './promoBlock.scss';
|
|
6
8
|
export interface PromoBlockProps {
|
|
7
9
|
/**
|
|
@@ -27,10 +29,10 @@ export interface PromoBlockProps {
|
|
|
27
29
|
/**
|
|
28
30
|
* Promo block will work with three card types
|
|
29
31
|
*/
|
|
30
|
-
type: 'promo' | 'signpost' | 'video';
|
|
32
|
+
type: 'promo' | 'promo-signpost' | 'promo-video';
|
|
31
33
|
/**
|
|
32
34
|
* A Promo block component can have any number of items
|
|
33
35
|
*/
|
|
34
|
-
cards: CardPromoProps[];
|
|
36
|
+
cards: CardPromoProps[] | CardPromoSignpostProps[] | CardPromoVideoProps[];
|
|
35
37
|
}
|
|
36
38
|
export default function PromoBlock({ theme, inverse, type, title, description, link, cards }: PromoBlockProps): ReactElement | null;
|
|
@@ -17,3 +17,15 @@ export declare const PromoBlockOneCardOnly: Story;
|
|
|
17
17
|
export declare const PromoBlockTwoCardsOnly: Story;
|
|
18
18
|
export declare const PromoBlockThreeCardsOnly: Story;
|
|
19
19
|
export declare const PromoBlockFourCardsPlus: Story;
|
|
20
|
+
export declare const PromoBlockSignpostOneCardOnly: Story;
|
|
21
|
+
export declare const PromoBlockSignpostOneCardOnlyDark: Story;
|
|
22
|
+
export declare const PromoBlockSignpostTwoCardsOnly: Story;
|
|
23
|
+
export declare const PromoBlockSignpostTwoCardsOnlyDark: Story;
|
|
24
|
+
export declare const PromoBlockSignpostThreeCardsOnly: Story;
|
|
25
|
+
export declare const PromoBlockSignpostThreeCardsOnlyDark: Story;
|
|
26
|
+
export declare const PromoBlockSignpostFourCardsPlus: Story;
|
|
27
|
+
export declare const PromoBlockSignpostFourCardsPlusDark: Story;
|
|
28
|
+
export declare const PromoBlockVideoOneCardOnly: Story;
|
|
29
|
+
export declare const PromoBlockVideoTwoCardsOnly: Story;
|
|
30
|
+
export declare const PromoBlockVideoThreeCardsOnly: Story;
|
|
31
|
+
export declare const PromoBlockVideoFourCardsPlus: Story;
|
|
@@ -18,7 +18,7 @@ export interface SearchCoursesProps {
|
|
|
18
18
|
/**
|
|
19
19
|
* Title for module
|
|
20
20
|
*/
|
|
21
|
-
title
|
|
21
|
+
title?: string;
|
|
22
22
|
/**
|
|
23
23
|
* Default value to use for the search term
|
|
24
24
|
*/
|
|
@@ -47,8 +47,12 @@ export interface SearchCoursesProps {
|
|
|
47
47
|
* Results url
|
|
48
48
|
*/
|
|
49
49
|
resultsUrl: string;
|
|
50
|
+
/**
|
|
51
|
+
* The wrapped version of this component is used for Hero
|
|
52
|
+
*/
|
|
53
|
+
wrapped?: boolean;
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
52
56
|
* Search component
|
|
53
57
|
*/
|
|
54
|
-
export default function SearchCourses({ theme, inverse, title, defaultSearchTerm, placeholder, filterTitle, filterFieldName, filterOptions, defaultFilter, resultsUrl }: SearchCoursesProps): ReactElement;
|
|
58
|
+
export default function SearchCourses({ theme, inverse, title, defaultSearchTerm, placeholder, filterTitle, filterFieldName, filterOptions, defaultFilter, resultsUrl, wrapped }: SearchCoursesProps): ReactElement;
|
package/dist/index.d.ts
CHANGED
|
@@ -73,14 +73,99 @@ interface CardPromoProps {
|
|
|
73
73
|
isSingle?: boolean;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
interface TextButtonProps {
|
|
77
|
+
/**
|
|
78
|
+
* The theme to use
|
|
79
|
+
*/
|
|
80
|
+
theme: ThemeProps;
|
|
81
|
+
/**
|
|
82
|
+
* Whether to inverse the colours
|
|
83
|
+
*/
|
|
84
|
+
inverse?: boolean;
|
|
85
|
+
label: string;
|
|
86
|
+
/**
|
|
87
|
+
* Handler to use if it's a <button />
|
|
88
|
+
*/
|
|
89
|
+
onClick?: () => void;
|
|
90
|
+
url?: string;
|
|
91
|
+
externalLink?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Whether the button has a background color or is hollow
|
|
94
|
+
*/
|
|
95
|
+
hollow?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Whether the button is used as a submit button in a form
|
|
98
|
+
*/
|
|
99
|
+
isSubmit?: boolean;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
interface LinkWithArrowProps {
|
|
103
|
+
/**
|
|
104
|
+
* The theme to use
|
|
105
|
+
*/
|
|
106
|
+
theme: ThemeProps;
|
|
107
|
+
/**
|
|
108
|
+
* Whether to inverse the colours
|
|
109
|
+
*/
|
|
110
|
+
inverse?: boolean;
|
|
111
|
+
url: string;
|
|
112
|
+
title: string;
|
|
113
|
+
externalLink?: boolean;
|
|
114
|
+
onKeyDown?: (e: KeyboardEvent) => void;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
interface CardPromoSignpostProps {
|
|
118
|
+
theme: ThemeProps;
|
|
119
|
+
inverse?: boolean;
|
|
120
|
+
image?: ImageProps;
|
|
121
|
+
imageOrientation?: 'left' | 'right';
|
|
122
|
+
tag?: string;
|
|
123
|
+
title: string;
|
|
124
|
+
subtitle?: string;
|
|
125
|
+
publishDate?: string;
|
|
126
|
+
authorString?: string;
|
|
127
|
+
location?: string;
|
|
128
|
+
copy?: string;
|
|
129
|
+
isSingle?: boolean;
|
|
130
|
+
buttonPrimary?: TextButtonProps;
|
|
131
|
+
buttonSecondary?: TextButtonProps;
|
|
132
|
+
link?: LinkWithArrowProps;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
interface ParagraphLinkProps {
|
|
136
|
+
/**
|
|
137
|
+
* The theme to use
|
|
138
|
+
*/
|
|
139
|
+
theme: ThemeProps;
|
|
140
|
+
/**
|
|
141
|
+
* Whether to inverse the colours
|
|
142
|
+
*/
|
|
143
|
+
inverse?: boolean;
|
|
144
|
+
label: string;
|
|
145
|
+
url: string;
|
|
146
|
+
externalLink?: boolean;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
interface CardPromoVideoProps {
|
|
150
|
+
theme: ThemeProps;
|
|
151
|
+
image?: ImageProps;
|
|
152
|
+
title: string;
|
|
153
|
+
publishDate?: string;
|
|
154
|
+
videoLength?: string;
|
|
155
|
+
copy?: string;
|
|
156
|
+
isSingle?: boolean;
|
|
157
|
+
link?: ParagraphLinkProps;
|
|
158
|
+
}
|
|
159
|
+
|
|
76
160
|
interface CarouselProps {
|
|
77
161
|
theme: ThemeProps;
|
|
162
|
+
inverse?: boolean;
|
|
78
163
|
type: string;
|
|
79
164
|
title?: string;
|
|
80
|
-
cards: Omit<CardNewsProps, 'titleTag'>[] | CardFeaturedProps[] | CardVideoProps[] | CardPromoProps[];
|
|
165
|
+
cards: Omit<CardNewsProps, 'titleTag'>[] | CardFeaturedProps[] | CardVideoProps[] | CardPromoProps[] | CardPromoSignpostProps[] | CardPromoVideoProps[];
|
|
81
166
|
exploreMore?: string;
|
|
82
167
|
}
|
|
83
|
-
declare function Carousel({ theme, type, title, cards, exploreMore }: CarouselProps): ReactElement;
|
|
168
|
+
declare function Carousel({ theme, inverse, type, title, cards, exploreMore }: CarouselProps): ReactElement;
|
|
84
169
|
|
|
85
170
|
interface FeaturedContentProps {
|
|
86
171
|
/**
|
|
@@ -293,7 +378,7 @@ interface SearchCoursesProps {
|
|
|
293
378
|
/**
|
|
294
379
|
* Title for module
|
|
295
380
|
*/
|
|
296
|
-
title
|
|
381
|
+
title?: string;
|
|
297
382
|
/**
|
|
298
383
|
* Default value to use for the search term
|
|
299
384
|
*/
|
|
@@ -322,11 +407,15 @@ interface SearchCoursesProps {
|
|
|
322
407
|
* Results url
|
|
323
408
|
*/
|
|
324
409
|
resultsUrl: string;
|
|
410
|
+
/**
|
|
411
|
+
* The wrapped version of this component is used for Hero
|
|
412
|
+
*/
|
|
413
|
+
wrapped?: boolean;
|
|
325
414
|
}
|
|
326
415
|
/**
|
|
327
416
|
* Search component
|
|
328
417
|
*/
|
|
329
|
-
declare function SearchCourses({ theme, inverse, title, defaultSearchTerm, placeholder, filterTitle, filterFieldName, filterOptions, defaultFilter, resultsUrl }: SearchCoursesProps): ReactElement;
|
|
418
|
+
declare function SearchCourses({ theme, inverse, title, defaultSearchTerm, placeholder, filterTitle, filterFieldName, filterOptions, defaultFilter, resultsUrl, wrapped }: SearchCoursesProps): ReactElement;
|
|
330
419
|
|
|
331
420
|
interface SignPostProps {
|
|
332
421
|
/**
|
|
@@ -373,7 +462,7 @@ interface VideoCardComponentProps {
|
|
|
373
462
|
}
|
|
374
463
|
declare function VideoCardComponent({ theme, tag, title, linkUrl, linkText, externalLink, cards }: VideoCardComponentProps): ReactElement | null;
|
|
375
464
|
|
|
376
|
-
interface Link {
|
|
465
|
+
interface Link$1 {
|
|
377
466
|
url: string;
|
|
378
467
|
title: string;
|
|
379
468
|
}
|
|
@@ -384,7 +473,7 @@ interface BreadcrumbsProps {
|
|
|
384
473
|
* Links need to be provided in top down order, from parent to child
|
|
385
474
|
* E.g. Home, Level1, Level2, Level3
|
|
386
475
|
*/
|
|
387
|
-
links: Link[];
|
|
476
|
+
links: Link$1[];
|
|
388
477
|
}
|
|
389
478
|
declare function Breadcrumbs({ theme, inverse, links }: BreadcrumbsProps): ReactElement;
|
|
390
479
|
|
|
@@ -433,4 +522,69 @@ interface TextWithBackgroundProps {
|
|
|
433
522
|
}
|
|
434
523
|
declare function TextWithBackground({ text, theme, inverse, headingLevel, headingText, url, linkTitle, externalLink, linkStyle }: TextWithBackgroundProps): ReactElement;
|
|
435
524
|
|
|
436
|
-
|
|
525
|
+
interface Link {
|
|
526
|
+
url: string;
|
|
527
|
+
title: string;
|
|
528
|
+
externalLink?: boolean;
|
|
529
|
+
}
|
|
530
|
+
interface CourseSearchProps {
|
|
531
|
+
defaultSearchTerm?: string;
|
|
532
|
+
placeholder: string;
|
|
533
|
+
filterTitle: string;
|
|
534
|
+
filterFieldName: string;
|
|
535
|
+
filterOptions: SelectOptionsProps[];
|
|
536
|
+
defaultFilter?: string;
|
|
537
|
+
resultsUrl: string;
|
|
538
|
+
}
|
|
539
|
+
interface HeroProps {
|
|
540
|
+
/**
|
|
541
|
+
* The theme to use
|
|
542
|
+
*/
|
|
543
|
+
theme: ThemeProps;
|
|
544
|
+
inverse?: boolean;
|
|
545
|
+
title: string;
|
|
546
|
+
description: string;
|
|
547
|
+
image?: {
|
|
548
|
+
src: {
|
|
549
|
+
small?: string;
|
|
550
|
+
medium?: string;
|
|
551
|
+
default: string;
|
|
552
|
+
};
|
|
553
|
+
alt: string;
|
|
554
|
+
style: 'rectangle' | 'lines-of-intent';
|
|
555
|
+
};
|
|
556
|
+
links?: [] | [Link] | [Link, Link];
|
|
557
|
+
courseSearchProps?: CourseSearchProps;
|
|
558
|
+
}
|
|
559
|
+
declare function Hero({ theme, inverse, title, description, image, links, courseSearchProps }: HeroProps): ReactElement | null;
|
|
560
|
+
|
|
561
|
+
type LinkProps = Omit<LinkWithArrowProps, 'theme' | 'inverse'>;
|
|
562
|
+
interface HeadingProps {
|
|
563
|
+
/**
|
|
564
|
+
* The theme to use
|
|
565
|
+
*/
|
|
566
|
+
theme: ThemeProps;
|
|
567
|
+
/**
|
|
568
|
+
* Whether to inverse the colours
|
|
569
|
+
*/
|
|
570
|
+
inverse?: boolean;
|
|
571
|
+
title?: string;
|
|
572
|
+
description?: string;
|
|
573
|
+
linkProps?: LinkProps;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
interface CardImageProps {
|
|
577
|
+
theme: ThemeProps;
|
|
578
|
+
inverse?: boolean;
|
|
579
|
+
image: ImageProps;
|
|
580
|
+
imageCaption?: string;
|
|
581
|
+
imageCredit?: string;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
interface ImageBlockProps extends HeadingProps {
|
|
585
|
+
fullWidth: boolean;
|
|
586
|
+
images?: Omit<CardImageProps, 'theme' | 'inverse'>[];
|
|
587
|
+
}
|
|
588
|
+
declare function ImageBlock({ theme, inverse, title, description, linkProps, fullWidth, images }: ImageBlockProps): ReactElement | null;
|
|
589
|
+
|
|
590
|
+
export { Breadcrumbs, Carousel, FeaturedContent, FeaturedSignpost, FeaturedVideo, Footer, Header, Hero, HeroCarousel, ImageBlock, IntroText, MainWrapper, RichText, SearchCourses, SignPost, SkipToContent, TextWithBackground, VideoCardComponent };
|