@uob-web-and-digital/component-library 0.0.61 → 0.0.64
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/FormSelect/FormSelect.d.ts +2 -1
- package/dist/components/atoms/FormSelect/FormSelect.stories.d.ts +1 -1
- package/dist/components/atoms/LinkWithIcon/LinkWithIcon.d.ts +15 -0
- package/dist/components/atoms/LinkWithIcon/LinkWithIcon.stories.d.ts +11 -0
- package/dist/components/molecules/InPageNavigationLinks/InPageNavigationLinks.d.ts +9 -3
- package/dist/components/molecules/LocationSelector/LocationSelector.d.ts +13 -0
- package/dist/components/molecules/LocationSelector/LocationSelector.stories.d.ts +14 -0
- package/dist/components/molecules/LocationSelector/defaultProps.d.ts +2 -0
- package/dist/components/organisms/AnchorTarget/AnchorTarget.d.ts +2 -1
- package/dist/components/organisms/HeroCourses/HeroCourses.d.ts +33 -0
- package/dist/components/organisms/HeroCourses/HeroCourses.stories.d.ts +13 -0
- package/dist/components/organisms/HeroCourses/components/CourseTile.d.ts +8 -0
- package/dist/components/organisms/HeroCourses/components/CourseTileRanking.d.ts +9 -0
- package/dist/components/organisms/HeroCourses/components/CourseTileSelect.d.ts +7 -0
- package/dist/components/organisms/HeroCourses/defaultProps.d.ts +40 -0
- package/dist/components/organisms/ImageBlock/ImageBlock.d.ts +2 -1
- package/dist/components/organisms/IntroText/IntroText.d.ts +2 -1
- package/dist/components/organisms/IntroText/defaultProps.d.ts +2 -0
- package/dist/components/organisms/RichText/defaultProps.d.ts +1 -0
- package/dist/components/organisms/StaffListingCarousel/StaffListingCarousel.d.ts +2 -1
- package/dist/components/organisms/StaffListingCarousel/StaffListingCarousel.stories.d.ts +1 -0
- package/dist/components/organisms/TextWithBackground/TextWithBackground.d.ts +2 -1
- package/dist/components/organisms/VideoEmbed/VideoEmbed.d.ts +3 -1
- package/dist/index.d.ts +92 -12
- package/dist/main.css +1 -1
- package/dist/main.js +4 -11
- package/dist/module.js +4 -11
- package/dist/utils/util.d.ts +0 -1
- package/package.json +2 -3
- /package/dist/components/organisms/QuoteBlock/{defatultProps.d.ts → defaultProps.d.ts} +0 -0
|
@@ -17,5 +17,6 @@ export interface FormSelectProps {
|
|
|
17
17
|
selectOptions: SelectOptionsProps[];
|
|
18
18
|
defaultValue: string;
|
|
19
19
|
hiddenLabel?: boolean;
|
|
20
|
+
customLabel?: string;
|
|
20
21
|
}
|
|
21
|
-
export declare const FormSelect: ({ theme, inverse, fieldName, selectOptions, defaultValue, hiddenLabel, title, onChange }: FormSelectProps) => ReactElement;
|
|
22
|
+
export declare const FormSelect: ({ theme, inverse, fieldName, selectOptions, defaultValue, hiddenLabel, customLabel, title, onChange }: FormSelectProps) => ReactElement;
|
|
@@ -3,7 +3,7 @@ import type { StoryObj } from '@storybook/react';
|
|
|
3
3
|
import { FormSelect } from './FormSelect';
|
|
4
4
|
declare const meta: {
|
|
5
5
|
title: string;
|
|
6
|
-
component: ({ theme, inverse, fieldName, selectOptions, defaultValue, hiddenLabel, title, onChange }: import("./FormSelect").FormSelectProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
6
|
+
component: ({ theme, inverse, fieldName, selectOptions, defaultValue, hiddenLabel, customLabel, title, onChange }: import("./FormSelect").FormSelectProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
7
7
|
tags: string[];
|
|
8
8
|
};
|
|
9
9
|
export default meta;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import { IconProps } from '../../atoms/Icons/Icons';
|
|
4
|
+
import './linkWithIcon.scss';
|
|
5
|
+
export interface LinkWithIconProps {
|
|
6
|
+
theme: ThemeProps;
|
|
7
|
+
inverse?: boolean;
|
|
8
|
+
url: string;
|
|
9
|
+
title: string;
|
|
10
|
+
externalLink: boolean;
|
|
11
|
+
iconLeft?: Omit<IconProps, 'theme'>;
|
|
12
|
+
iconRight?: Omit<IconProps, 'theme'>;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
}
|
|
15
|
+
export default function LinkWithIcon({ theme, inverse, url, title, externalLink, iconRight, iconLeft, ariaLabel }: LinkWithIconProps): ReactElement;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import LinkWithIcon from './LinkWithIcon';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof LinkWithIcon;
|
|
6
|
+
tags: string[];
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj<typeof meta>;
|
|
10
|
+
export declare const Dark: Story;
|
|
11
|
+
export declare const Light: Story;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
import { ThemeProps } from '../../../themeProps';
|
|
3
|
-
import { BreadcrumbLinkProps } from '../../atoms/BreadcrumbLink/BreadcrumbLink';
|
|
4
3
|
import { TextButtonProps } from '../../atoms/TextButton/TextButton';
|
|
4
|
+
import { LocationSelectorProps } from '../LocationSelector/LocationSelector';
|
|
5
5
|
import './inPageNavigationLinks.scss';
|
|
6
|
+
export interface InPageNavLinkProps {
|
|
7
|
+
url: string;
|
|
8
|
+
title: string;
|
|
9
|
+
active?: boolean;
|
|
10
|
+
}
|
|
6
11
|
export type InPageNavigationLinksProps = {
|
|
7
12
|
theme: ThemeProps;
|
|
8
13
|
heading?: string;
|
|
9
|
-
links:
|
|
14
|
+
links: InPageNavLinkProps[];
|
|
10
15
|
buttonLinks?: Omit<TextButtonProps, 'theme'>[];
|
|
16
|
+
locationDetails?: LocationSelectorProps;
|
|
11
17
|
};
|
|
12
|
-
export default function InPageNavigationLinks({ theme, heading, links, buttonLinks }: InPageNavigationLinksProps): ReactElement;
|
|
18
|
+
export default function InPageNavigationLinks({ theme, heading, links, buttonLinks, locationDetails }: InPageNavigationLinksProps): ReactElement;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import { FormSelectProps } from '../../atoms/FormSelect/FormSelect';
|
|
4
|
+
import './locationSelector.scss';
|
|
5
|
+
export interface LocationSelectorProps {
|
|
6
|
+
theme: ThemeProps;
|
|
7
|
+
inverse?: boolean;
|
|
8
|
+
selectorProps: FormSelectProps;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Primary UI component for user interaction
|
|
12
|
+
*/
|
|
13
|
+
export default function LocationSelector({ theme, inverse, selectorProps }: LocationSelectorProps): ReactElement;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import LocationSelector from './LocationSelector';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof LocationSelector;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof LocationSelector>;
|
|
13
|
+
export declare const LocationSelectorExampleLight: Story;
|
|
14
|
+
export declare const LocationSelectorExampleDark: Story;
|
|
@@ -6,5 +6,6 @@ export interface AnchorTargetProps {
|
|
|
6
6
|
inverse?: boolean;
|
|
7
7
|
targetLabel: string;
|
|
8
8
|
children: ReactNode;
|
|
9
|
+
includeDivider?: boolean;
|
|
9
10
|
}
|
|
10
|
-
export default function AnchorTarget({ theme, inverse, targetLabel, children }: AnchorTargetProps): ReactElement;
|
|
11
|
+
export default function AnchorTarget({ theme, inverse, includeDivider, targetLabel, children }: AnchorTargetProps): ReactElement;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import './heroCourses.scss';
|
|
4
|
+
import { TextButtonProps } from '../../atoms/TextButton/TextButton';
|
|
5
|
+
import { CourseTileProps } from './components/CourseTile';
|
|
6
|
+
import { CourseTileSelectProps } from './components/CourseTileSelect';
|
|
7
|
+
import { CourseTileRankingProps } from './components/CourseTileRanking';
|
|
8
|
+
import { HeadingProps } from '../../atoms/Heading/Heading';
|
|
9
|
+
import { LocationSelectorProps } from '../../molecules/LocationSelector/LocationSelector';
|
|
10
|
+
export interface HeroCoursesProps {
|
|
11
|
+
/**
|
|
12
|
+
* The theme to use
|
|
13
|
+
*/
|
|
14
|
+
theme: ThemeProps;
|
|
15
|
+
inverse?: boolean;
|
|
16
|
+
title: string;
|
|
17
|
+
titleTag?: HeadingProps['htmlTag'];
|
|
18
|
+
awardShort: string;
|
|
19
|
+
links?: Omit<TextButtonProps, 'theme'>[];
|
|
20
|
+
heroType: 'UG' | 'UG Dubai' | 'PGT Dubai' | 'Other';
|
|
21
|
+
award: CourseTileProps;
|
|
22
|
+
ranking?: CourseTileRankingProps;
|
|
23
|
+
yearOfEntry?: CourseTileSelectProps;
|
|
24
|
+
startDate?: CourseTileSelectProps;
|
|
25
|
+
campus?: CourseTileProps;
|
|
26
|
+
duration: CourseTileProps;
|
|
27
|
+
entryRequirements: CourseTileProps;
|
|
28
|
+
fees: CourseTileProps;
|
|
29
|
+
ucas?: CourseTileProps;
|
|
30
|
+
deliveryFormat?: CourseTileProps;
|
|
31
|
+
locationDetails?: LocationSelectorProps;
|
|
32
|
+
}
|
|
33
|
+
export default function HeroCourses({ theme, title, titleTag, awardShort, links, ranking, award, campus, ucas, duration, entryRequirements, startDate, yearOfEntry, fees, deliveryFormat, locationDetails }: HeroCoursesProps): ReactElement | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import HeroCourses from './HeroCourses';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof HeroCourses;
|
|
6
|
+
tags: string[];
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj<typeof HeroCourses>;
|
|
10
|
+
export declare const CoursesHeroSixColumnDesktop: Story;
|
|
11
|
+
export declare const CoursesHeroFiveColumnDesktop: Story;
|
|
12
|
+
export declare const CoursesHeroPostGraduate: Story;
|
|
13
|
+
export declare const CoursesHeroFourColumnDesktop: Story;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { LinkWithIconProps } from '../../../atoms/LinkWithIcon/LinkWithIcon';
|
|
3
|
+
export interface CourseTileProps {
|
|
4
|
+
title: string;
|
|
5
|
+
value: string;
|
|
6
|
+
link?: LinkWithIconProps;
|
|
7
|
+
}
|
|
8
|
+
export default function CourseTile({ title, value, link }: CourseTileProps): ReactElement;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { LinkWithIconProps } from '../../../atoms/LinkWithIcon/LinkWithIcon';
|
|
3
|
+
export interface CourseTileRankingProps {
|
|
4
|
+
title: string;
|
|
5
|
+
rank: string;
|
|
6
|
+
rankText: string;
|
|
7
|
+
link?: LinkWithIconProps;
|
|
8
|
+
}
|
|
9
|
+
export default function CourseTileRanking({ title, rank, rankText, link }: CourseTileRankingProps): ReactElement;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { FormSelectProps } from '../../../atoms/FormSelect/FormSelect';
|
|
3
|
+
export interface CourseTileSelectProps {
|
|
4
|
+
title: string;
|
|
5
|
+
selectProps: FormSelectProps;
|
|
6
|
+
}
|
|
7
|
+
export default function CourseTileSelect({ title, selectProps }: CourseTileSelectProps): ReactElement;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { HeroCoursesProps } from './HeroCourses';
|
|
2
|
+
export declare const heroCoursesProps: HeroCoursesProps;
|
|
3
|
+
export declare const ranking: import("./components/CourseTileRanking").CourseTileRankingProps | undefined, heroCoursesNoRankingProps: {
|
|
4
|
+
theme: import("../../../themeProps").ThemeProps;
|
|
5
|
+
inverse?: boolean | undefined;
|
|
6
|
+
title: string;
|
|
7
|
+
titleTag?: "h2" | "h3" | "h4" | undefined;
|
|
8
|
+
awardShort: string;
|
|
9
|
+
links?: Omit<import("../../atoms/TextButton/TextButton").TextButtonProps, "theme">[] | undefined;
|
|
10
|
+
heroType: "UG" | "UG Dubai" | "PGT Dubai" | "Other";
|
|
11
|
+
award: import("./components/CourseTile").CourseTileProps;
|
|
12
|
+
yearOfEntry?: import("./components/CourseTileSelect").CourseTileSelectProps | undefined;
|
|
13
|
+
startDate?: import("./components/CourseTileSelect").CourseTileSelectProps | undefined;
|
|
14
|
+
campus?: import("./components/CourseTile").CourseTileProps | undefined;
|
|
15
|
+
duration: import("./components/CourseTile").CourseTileProps;
|
|
16
|
+
entryRequirements: import("./components/CourseTile").CourseTileProps;
|
|
17
|
+
fees: import("./components/CourseTile").CourseTileProps;
|
|
18
|
+
ucas?: import("./components/CourseTile").CourseTileProps | undefined;
|
|
19
|
+
deliveryFormat?: import("./components/CourseTile").CourseTileProps | undefined;
|
|
20
|
+
locationDetails?: import("../../molecules/LocationSelector/LocationSelector").LocationSelectorProps | undefined;
|
|
21
|
+
};
|
|
22
|
+
export declare const deliveryFormat: import("./components/CourseTile").CourseTileProps | undefined, heroCoursesNoRankingNoDeliveryFormat: {
|
|
23
|
+
theme: import("../../../themeProps").ThemeProps;
|
|
24
|
+
inverse?: boolean | undefined;
|
|
25
|
+
title: string;
|
|
26
|
+
titleTag?: "h2" | "h3" | "h4" | undefined;
|
|
27
|
+
awardShort: string;
|
|
28
|
+
links?: Omit<import("../../atoms/TextButton/TextButton").TextButtonProps, "theme">[] | undefined;
|
|
29
|
+
heroType: "UG" | "UG Dubai" | "PGT Dubai" | "Other";
|
|
30
|
+
award: import("./components/CourseTile").CourseTileProps;
|
|
31
|
+
yearOfEntry?: import("./components/CourseTileSelect").CourseTileSelectProps | undefined;
|
|
32
|
+
startDate?: import("./components/CourseTileSelect").CourseTileSelectProps | undefined;
|
|
33
|
+
campus?: import("./components/CourseTile").CourseTileProps | undefined;
|
|
34
|
+
duration: import("./components/CourseTile").CourseTileProps;
|
|
35
|
+
entryRequirements: import("./components/CourseTile").CourseTileProps;
|
|
36
|
+
fees: import("./components/CourseTile").CourseTileProps;
|
|
37
|
+
ucas?: import("./components/CourseTile").CourseTileProps | undefined;
|
|
38
|
+
locationDetails?: import("../../molecules/LocationSelector/LocationSelector").LocationSelectorProps | undefined;
|
|
39
|
+
};
|
|
40
|
+
export declare const heroCoursesPGProps: HeroCoursesProps;
|
|
@@ -4,6 +4,7 @@ import { HeadingProps } from '../../molecules/Heading/Heading';
|
|
|
4
4
|
import { CardImageProps } from '../../molecules/CardImage/CardImage';
|
|
5
5
|
export interface ImageBlockProps extends HeadingProps {
|
|
6
6
|
fullWidth: boolean;
|
|
7
|
+
makeHeadingFullWidth?: boolean;
|
|
7
8
|
images?: Omit<CardImageProps, 'theme' | 'inverse'>[];
|
|
8
9
|
}
|
|
9
|
-
export default function ImageBlock({ theme, inverse, title, description, linkProps, fullWidth, images }: ImageBlockProps): ReactElement | null;
|
|
10
|
+
export default function ImageBlock({ theme, inverse, title, description, linkProps, fullWidth, makeHeadingFullWidth, images }: ImageBlockProps): ReactElement | null;
|
|
@@ -10,6 +10,7 @@ export interface IntroTextProps {
|
|
|
10
10
|
* Whether to inverse the colours
|
|
11
11
|
*/
|
|
12
12
|
inverse?: boolean;
|
|
13
|
+
fullWidth?: boolean;
|
|
13
14
|
text: string;
|
|
14
15
|
}
|
|
15
|
-
export default function IntroText({ text, theme, inverse }: IntroTextProps): ReactElement;
|
|
16
|
+
export default function IntroText({ text, theme, inverse, fullWidth }: IntroTextProps): ReactElement;
|
|
@@ -3,5 +3,6 @@ export declare const richTextProps: RichTextProps;
|
|
|
3
3
|
export declare const newsArticleRichText: RichTextProps;
|
|
4
4
|
export declare const newsArticleRichTextBullets: RichTextProps;
|
|
5
5
|
export declare const richTextAccommodation: RichTextProps;
|
|
6
|
+
export declare const richTextCourseOverview: RichTextProps;
|
|
6
7
|
export declare const richTextCourseDeliveryBeforeTopics: RichTextProps;
|
|
7
8
|
export declare const richTextCourseDeliveryAfterTopics: RichTextProps;
|
|
@@ -9,6 +9,7 @@ export interface StaffListingCarouselProps {
|
|
|
9
9
|
fullWidth?: boolean;
|
|
10
10
|
heading: string;
|
|
11
11
|
cards: CardStaffProps[];
|
|
12
|
+
headingStyle?: 'news' | null;
|
|
12
13
|
singleLink: LinkWithArrowProps;
|
|
13
14
|
}
|
|
14
|
-
export default function StaffListingCarousel({ theme, inverse, fullWidth, heading, cards, singleLink }: StaffListingCarouselProps): ReactElement;
|
|
15
|
+
export default function StaffListingCarousel({ theme, inverse, fullWidth, heading, headingStyle, cards, singleLink }: StaffListingCarouselProps): ReactElement;
|
|
@@ -8,5 +8,6 @@ declare const meta: {
|
|
|
8
8
|
export default meta;
|
|
9
9
|
type Story = StoryObj<typeof meta>;
|
|
10
10
|
export declare const ExampleThreeOrMoreStaff: Story;
|
|
11
|
+
export declare const ExampleWithNewsStyleHeading: Story;
|
|
11
12
|
export declare const ExampleOneStaff: Story;
|
|
12
13
|
export declare const ExampleTwoStaff: Story;
|
|
@@ -17,5 +17,6 @@ export interface TextWithBackgroundProps {
|
|
|
17
17
|
linkTitle?: string;
|
|
18
18
|
externalLink?: boolean;
|
|
19
19
|
linkStyle?: 'primary' | 'secondary' | 'paragraph-link';
|
|
20
|
+
fullWidth?: boolean;
|
|
20
21
|
}
|
|
21
|
-
export default function TextWithBackground({ text, theme, inverse, headingLevel, headingText, url, linkTitle, externalLink, linkStyle }: TextWithBackgroundProps): ReactElement;
|
|
22
|
+
export default function TextWithBackground({ text, theme, inverse, headingLevel, headingText, url, linkTitle, externalLink, linkStyle, fullWidth }: TextWithBackgroundProps): ReactElement;
|
|
@@ -17,5 +17,7 @@ export interface VideoEmbedProps {
|
|
|
17
17
|
heading?: Omit<HeadingProps, 'theme' | 'inverse'>;
|
|
18
18
|
transcript?: string;
|
|
19
19
|
fullWidth?: boolean;
|
|
20
|
+
videoCaption?: string;
|
|
21
|
+
videoCredit?: string;
|
|
20
22
|
}
|
|
21
|
-
export default function VideoEmbed({ theme, inverse, imageSrc, videoUrl, videoId, heading, audioDescribedVideoId, audioDescribedVideoUrl, transcript, fullWidth }: VideoEmbedProps): ReactElement;
|
|
23
|
+
export default function VideoEmbed({ theme, inverse, imageSrc, videoUrl, videoId, heading, audioDescribedVideoId, audioDescribedVideoUrl, transcript, fullWidth, videoCaption, videoCredit }: VideoEmbedProps): ReactElement;
|
package/dist/index.d.ts
CHANGED
|
@@ -120,8 +120,9 @@ interface AnchorTargetProps {
|
|
|
120
120
|
inverse?: boolean;
|
|
121
121
|
targetLabel: string;
|
|
122
122
|
children: ReactNode;
|
|
123
|
+
includeDivider?: boolean;
|
|
123
124
|
}
|
|
124
|
-
declare function AnchorTarget({ theme, inverse, targetLabel, children }: AnchorTargetProps): ReactElement;
|
|
125
|
+
declare function AnchorTarget({ theme, inverse, includeDivider, targetLabel, children }: AnchorTargetProps): ReactElement;
|
|
125
126
|
|
|
126
127
|
interface Link$1 {
|
|
127
128
|
url: string;
|
|
@@ -349,6 +350,19 @@ interface ParagraphLinkProps {
|
|
|
349
350
|
}
|
|
350
351
|
|
|
351
352
|
type IconType$1 = 'twitter' | 'facebook' | 'wechat' | 'weibo' | 'youtube' | 'instagram' | 'linkedin' | 'tiktok' | 'chevron-down' | 'chevron-right' | 'arrow-right' | 'arrow-right-large' | 'location' | 'hamburger' | 'cross' | 'slim-cross' | 'arrow-left' | 'search' | 'arrow-down' | 'play' | 'person' | 'people' | 'computer' | 'book' | 'mortar-board' | 'document' | 'briefcase' | 'notepad' | 'external' | 'clearing-tick' | 'phone' | 'email' | 'quote-marks' | 'calendar' | 'clock' | 'internet' | 'slim-location' | 'bathroom' | 'catering' | 'pound' | 'scroll' | 'settings' | 'rocket' | 'staggered-arrow' | 'segmented-pie-chart' | 'home' | 'domain' | 'note-add' | 'flight' | 'one' | 'two' | 'one-two-three' | 'camping' | 'groups' | 'bed' | 'restaurant' | 'success' | 'warning-light' | 'warning-dark' | 'information' | 'star' | 'menu';
|
|
353
|
+
type IconProps = {
|
|
354
|
+
/**
|
|
355
|
+
* The theme to use
|
|
356
|
+
*/
|
|
357
|
+
theme: ThemeProps;
|
|
358
|
+
/**
|
|
359
|
+
* Whether to inverse the colours
|
|
360
|
+
*/
|
|
361
|
+
inverse?: boolean;
|
|
362
|
+
icon: IconType$1;
|
|
363
|
+
name?: string;
|
|
364
|
+
ariaHidden?: boolean;
|
|
365
|
+
};
|
|
352
366
|
|
|
353
367
|
interface TextButtonWithIconProps {
|
|
354
368
|
/**
|
|
@@ -688,6 +702,7 @@ interface FormSelectProps {
|
|
|
688
702
|
selectOptions: SelectOptionsProps[];
|
|
689
703
|
defaultValue: string;
|
|
690
704
|
hiddenLabel?: boolean;
|
|
705
|
+
customLabel?: string;
|
|
691
706
|
}
|
|
692
707
|
|
|
693
708
|
interface Link {
|
|
@@ -766,6 +781,66 @@ interface HeroArticleProps {
|
|
|
766
781
|
}
|
|
767
782
|
declare function HeroArticle({ theme, inverse, title, titleTag, description, cardImage, publishDate, readTime, shareButtons }: HeroArticleProps): ReactElement | null;
|
|
768
783
|
|
|
784
|
+
interface LinkWithIconProps {
|
|
785
|
+
theme: ThemeProps;
|
|
786
|
+
inverse?: boolean;
|
|
787
|
+
url: string;
|
|
788
|
+
title: string;
|
|
789
|
+
externalLink: boolean;
|
|
790
|
+
iconLeft?: Omit<IconProps, 'theme'>;
|
|
791
|
+
iconRight?: Omit<IconProps, 'theme'>;
|
|
792
|
+
ariaLabel?: string;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
interface CourseTileProps {
|
|
796
|
+
title: string;
|
|
797
|
+
value: string;
|
|
798
|
+
link?: LinkWithIconProps;
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
interface CourseTileSelectProps {
|
|
802
|
+
title: string;
|
|
803
|
+
selectProps: FormSelectProps;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
interface CourseTileRankingProps {
|
|
807
|
+
title: string;
|
|
808
|
+
rank: string;
|
|
809
|
+
rankText: string;
|
|
810
|
+
link?: LinkWithIconProps;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
interface LocationSelectorProps {
|
|
814
|
+
theme: ThemeProps;
|
|
815
|
+
inverse?: boolean;
|
|
816
|
+
selectorProps: FormSelectProps;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
interface HeroCoursesProps {
|
|
820
|
+
/**
|
|
821
|
+
* The theme to use
|
|
822
|
+
*/
|
|
823
|
+
theme: ThemeProps;
|
|
824
|
+
inverse?: boolean;
|
|
825
|
+
title: string;
|
|
826
|
+
titleTag?: HeadingProps['htmlTag'];
|
|
827
|
+
awardShort: string;
|
|
828
|
+
links?: Omit<TextButtonProps, 'theme'>[];
|
|
829
|
+
heroType: 'UG' | 'UG Dubai' | 'PGT Dubai' | 'Other';
|
|
830
|
+
award: CourseTileProps;
|
|
831
|
+
ranking?: CourseTileRankingProps;
|
|
832
|
+
yearOfEntry?: CourseTileSelectProps;
|
|
833
|
+
startDate?: CourseTileSelectProps;
|
|
834
|
+
campus?: CourseTileProps;
|
|
835
|
+
duration: CourseTileProps;
|
|
836
|
+
entryRequirements: CourseTileProps;
|
|
837
|
+
fees: CourseTileProps;
|
|
838
|
+
ucas?: CourseTileProps;
|
|
839
|
+
deliveryFormat?: CourseTileProps;
|
|
840
|
+
locationDetails?: LocationSelectorProps;
|
|
841
|
+
}
|
|
842
|
+
declare function HeroCourses({ theme, title, titleTag, awardShort, links, ranking, award, campus, ucas, duration, entryRequirements, startDate, yearOfEntry, fees, deliveryFormat, locationDetails }: HeroCoursesProps): ReactElement | null;
|
|
843
|
+
|
|
769
844
|
interface HeroCarouselCard {
|
|
770
845
|
category: string;
|
|
771
846
|
title: string;
|
|
@@ -793,9 +868,10 @@ declare function HeroCarousel({ theme, cards }: HeroCarouselProps): ReactElement
|
|
|
793
868
|
|
|
794
869
|
interface ImageBlockProps extends HeadingProps$1 {
|
|
795
870
|
fullWidth: boolean;
|
|
871
|
+
makeHeadingFullWidth?: boolean;
|
|
796
872
|
images?: Omit<CardImageProps, 'theme' | 'inverse'>[];
|
|
797
873
|
}
|
|
798
|
-
declare function ImageBlock({ theme, inverse, title, description, linkProps, fullWidth, images }: ImageBlockProps): ReactElement | null;
|
|
874
|
+
declare function ImageBlock({ theme, inverse, title, description, linkProps, fullWidth, makeHeadingFullWidth, images }: ImageBlockProps): ReactElement | null;
|
|
799
875
|
|
|
800
876
|
interface ImageCarouselProps extends HeadingProps$1 {
|
|
801
877
|
fullWidth?: boolean;
|
|
@@ -804,18 +880,17 @@ interface ImageCarouselProps extends HeadingProps$1 {
|
|
|
804
880
|
}
|
|
805
881
|
declare function ImageCarousel({ theme, inverse, title, description, linkProps, fullWidth, widerImage, images }: ImageCarouselProps): ReactElement;
|
|
806
882
|
|
|
807
|
-
interface
|
|
808
|
-
theme: ThemeProps;
|
|
809
|
-
inverse?: boolean;
|
|
883
|
+
interface InPageNavLinkProps {
|
|
810
884
|
url: string;
|
|
811
885
|
title: string;
|
|
886
|
+
active?: boolean;
|
|
812
887
|
}
|
|
813
|
-
|
|
814
888
|
type InPageNavigationLinksProps = {
|
|
815
889
|
theme: ThemeProps;
|
|
816
890
|
heading?: string;
|
|
817
|
-
links:
|
|
891
|
+
links: InPageNavLinkProps[];
|
|
818
892
|
buttonLinks?: Omit<TextButtonProps, 'theme'>[];
|
|
893
|
+
locationDetails?: LocationSelectorProps;
|
|
819
894
|
};
|
|
820
895
|
|
|
821
896
|
interface InPageNavigationProps {
|
|
@@ -835,9 +910,10 @@ interface IntroTextProps {
|
|
|
835
910
|
* Whether to inverse the colours
|
|
836
911
|
*/
|
|
837
912
|
inverse?: boolean;
|
|
913
|
+
fullWidth?: boolean;
|
|
838
914
|
text: string;
|
|
839
915
|
}
|
|
840
|
-
declare function IntroText({ text, theme, inverse }: IntroTextProps): ReactElement;
|
|
916
|
+
declare function IntroText({ text, theme, inverse, fullWidth }: IntroTextProps): ReactElement;
|
|
841
917
|
|
|
842
918
|
interface MostReadNewsProps {
|
|
843
919
|
theme: ThemeProps;
|
|
@@ -1165,9 +1241,10 @@ interface StaffListingCarouselProps {
|
|
|
1165
1241
|
fullWidth?: boolean;
|
|
1166
1242
|
heading: string;
|
|
1167
1243
|
cards: CardStaffProps[];
|
|
1244
|
+
headingStyle?: 'news' | null;
|
|
1168
1245
|
singleLink: LinkWithArrowProps;
|
|
1169
1246
|
}
|
|
1170
|
-
declare function StaffListingCarousel({ theme, inverse, fullWidth, heading, cards, singleLink }: StaffListingCarouselProps): ReactElement;
|
|
1247
|
+
declare function StaffListingCarousel({ theme, inverse, fullWidth, heading, headingStyle, cards, singleLink }: StaffListingCarouselProps): ReactElement;
|
|
1171
1248
|
|
|
1172
1249
|
interface SidebarWrapperProps {
|
|
1173
1250
|
/**
|
|
@@ -1284,8 +1361,9 @@ interface TextWithBackgroundProps {
|
|
|
1284
1361
|
linkTitle?: string;
|
|
1285
1362
|
externalLink?: boolean;
|
|
1286
1363
|
linkStyle?: 'primary' | 'secondary' | 'paragraph-link';
|
|
1364
|
+
fullWidth?: boolean;
|
|
1287
1365
|
}
|
|
1288
|
-
declare function TextWithBackground({ text, theme, inverse, headingLevel, headingText, url, linkTitle, externalLink, linkStyle }: TextWithBackgroundProps): ReactElement;
|
|
1366
|
+
declare function TextWithBackground({ text, theme, inverse, headingLevel, headingText, url, linkTitle, externalLink, linkStyle, fullWidth }: TextWithBackgroundProps): ReactElement;
|
|
1289
1367
|
|
|
1290
1368
|
interface PillProps {
|
|
1291
1369
|
/**
|
|
@@ -1399,7 +1477,9 @@ interface VideoEmbedProps {
|
|
|
1399
1477
|
heading?: Omit<HeadingProps$1, 'theme' | 'inverse'>;
|
|
1400
1478
|
transcript?: string;
|
|
1401
1479
|
fullWidth?: boolean;
|
|
1480
|
+
videoCaption?: string;
|
|
1481
|
+
videoCredit?: string;
|
|
1402
1482
|
}
|
|
1403
|
-
declare function VideoEmbed({ theme, inverse, imageSrc, videoUrl, videoId, heading, audioDescribedVideoId, audioDescribedVideoUrl, transcript, fullWidth }: VideoEmbedProps): ReactElement;
|
|
1483
|
+
declare function VideoEmbed({ theme, inverse, imageSrc, videoUrl, videoId, heading, audioDescribedVideoId, audioDescribedVideoUrl, transcript, fullWidth, videoCaption, videoCredit }: VideoEmbedProps): ReactElement;
|
|
1404
1484
|
|
|
1405
|
-
export { Accordion, type AccordionProps, type AccreditationPromotionProps, AcreditationPromotion, AlertBanner, type AlertBannerProps, AnchorTarget, type AnchorTargetProps, Breadcrumbs, type BreadcrumbsProps, CTAComponent, type CTAComponentProps, Carousel, type CarouselProps, type CenterWrapperProps, CenterWrapper as CentreWrapper, ClearingBanner, type ClearingBannerProps, CourseDeliveryPills, type CourseDeliveryPillsProps, EmbedWrapper, type EmbedWrapperProps, FactBoxes, type FactBoxesProps, FeaturedContent, type FeaturedContentProps, FeaturedSignpost, type FeaturedSignpostProps, FeaturedVideo, type FeaturedVideoProps, FiveArticlesGrid, type FiveArticlesGridProps, Footer, type FooterProps, GeneralSearchFilter, type GeneralSearchFilterProps, GenericDetailSection, type GenericDetailSectionProps, Header, type HeaderProps, Hero, HeroArticle, type HeroArticleProps, HeroCarousel, type HeroCarouselProps, type HeroProps, ImageBlock, type ImageBlockProps, ImageCarousel, type ImageCarouselProps, InPageNavigation, type InPageNavigationProps, IntroText, type IntroTextProps, LeadNewsArticles, type LeadNewsArticlesProps, ListingFilterWrapper, type ListingFilterWrapperProps, ListingResults, ListingResultsCount, type ListingResultsCountProps, type ListingResultsProps, MainWrapper, type MainWrapperProps, NewsArticlesPromoBlock, type NewsArticlesPromoBlockProps, Pagination, type PaginationProps, PromoBlock, PromoBlockGrid, type PromoBlockProps$1 as PromoBlockProps, QuoteBlock, type QuoteBlockProps, RelatedCourses, type RelatedCoursesProps, RichText, type RichTextProps, SearchCourses, type SearchCoursesProps, SidebarWrapper, type SidebarWrapperProps, SignPost, type SignPostProps, SingleButton, type SingleButtonProps, SkipToContent, type SkipToContentProps, StaffListingCarousel, type StaffListingCarouselProps, StandardListingFilter, type StandardListingFilterProps, TabsBlock, type TabsBlockProps, TextWithBackground, type TextWithBackgroundProps, TopicSelector, type TopicSelectorProps, VideoCardComponent, type VideoCardComponentProps, VideoEmbed, type VideoEmbedProps };
|
|
1485
|
+
export { Accordion, type AccordionProps, type AccreditationPromotionProps, AcreditationPromotion, AlertBanner, type AlertBannerProps, AnchorTarget, type AnchorTargetProps, Breadcrumbs, type BreadcrumbsProps, CTAComponent, type CTAComponentProps, Carousel, type CarouselProps, type CenterWrapperProps, CenterWrapper as CentreWrapper, ClearingBanner, type ClearingBannerProps, CourseDeliveryPills, type CourseDeliveryPillsProps, EmbedWrapper, type EmbedWrapperProps, FactBoxes, type FactBoxesProps, FeaturedContent, type FeaturedContentProps, FeaturedSignpost, type FeaturedSignpostProps, FeaturedVideo, type FeaturedVideoProps, FiveArticlesGrid, type FiveArticlesGridProps, Footer, type FooterProps, GeneralSearchFilter, type GeneralSearchFilterProps, GenericDetailSection, type GenericDetailSectionProps, Header, type HeaderProps, Hero, HeroArticle, type HeroArticleProps, HeroCarousel, type HeroCarouselProps, HeroCourses, type HeroCoursesProps, type HeroProps, ImageBlock, type ImageBlockProps, ImageCarousel, type ImageCarouselProps, InPageNavigation, type InPageNavigationProps, IntroText, type IntroTextProps, LeadNewsArticles, type LeadNewsArticlesProps, ListingFilterWrapper, type ListingFilterWrapperProps, ListingResults, ListingResultsCount, type ListingResultsCountProps, type ListingResultsProps, MainWrapper, type MainWrapperProps, NewsArticlesPromoBlock, type NewsArticlesPromoBlockProps, Pagination, type PaginationProps, PromoBlock, PromoBlockGrid, type PromoBlockProps$1 as PromoBlockProps, QuoteBlock, type QuoteBlockProps, RelatedCourses, type RelatedCoursesProps, RichText, type RichTextProps, SearchCourses, type SearchCoursesProps, SidebarWrapper, type SidebarWrapperProps, SignPost, type SignPostProps, SingleButton, type SingleButtonProps, SkipToContent, type SkipToContentProps, StaffListingCarousel, type StaffListingCarouselProps, StandardListingFilter, type StandardListingFilterProps, TabsBlock, type TabsBlockProps, TextWithBackground, type TextWithBackgroundProps, TopicSelector, type TopicSelectorProps, VideoCardComponent, type VideoCardComponentProps, VideoEmbed, type VideoEmbedProps };
|