@uob-web-and-digital/component-library 0.0.96 → 0.0.98

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.
Files changed (23) hide show
  1. package/dist/components/atoms/Heading/Heading.d.ts +1 -1
  2. package/dist/components/atoms/Icons/Icons.d.ts +1 -1
  3. package/dist/components/molecules/CardProfile/CardProfile.d.ts +18 -0
  4. package/dist/components/molecules/CardProfile/CardProfile.stories.d.ts +13 -0
  5. package/dist/components/molecules/CardPromo/CardPromo.d.ts +2 -0
  6. package/dist/components/molecules/FilterAccordion/FilterAccordion.stories.d.ts +1 -0
  7. package/dist/components/molecules/ListingResultCard/Cards/ProfileCard.d.ts +17 -0
  8. package/dist/components/molecules/ListingResultCard/ListingResultCard.d.ts +2 -1
  9. package/dist/components/molecules/ListingResultCard/ListingResultCard.stories.d.ts +1 -0
  10. package/dist/components/molecules/ListingResultCard/defaultProps.d.ts +2 -0
  11. package/dist/components/organisms/HeroCourses/defaultProps.d.ts +2 -2
  12. package/dist/components/organisms/HeroProfile/HeroProfile.d.ts +2 -1
  13. package/dist/components/organisms/ListingResults/ListingResults.d.ts +2 -1
  14. package/dist/components/organisms/PromoBlock/PromoBlock.d.ts +9 -2
  15. package/dist/components/organisms/PromoBlock/PromoBlock.stories.d.ts +1 -0
  16. package/dist/components/organisms/PromoBlock/defaultProps.d.ts +1 -0
  17. package/dist/components/organisms/TwoColumnWrapper/TwoColumnWrapper.d.ts +12 -0
  18. package/dist/components/organisms/TwoColumnWrapper/TwoColumnWrapper.stories.d.ts +16 -0
  19. package/dist/index.d.ts +76 -6
  20. package/dist/main.css +1 -1
  21. package/dist/main.js +4 -4
  22. package/dist/module.js +4 -4
  23. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { ReactElement, ReactNode } from 'react';
2
2
  export interface HeadingProps {
3
- htmlTag: 'h1' | 'h2' | 'h3' | 'h4';
3
+ htmlTag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5';
4
4
  classNames?: string;
5
5
  children?: ReactNode;
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { ThemeProps } from '../../../themeProps';
3
3
  import './icons.scss';
4
- export type IconType = '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' | 'award_star' | 'warning-light' | 'warning-dark' | 'information' | 'star' | 'menu' | 'co-present' | 'assignment-add' | 'cast-for-education' | 'live-tv' | 'supervisor-account' | 'experiment' | 'footprint' | 'flag';
4
+ export type IconType = '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' | 'award_star' | 'warning-light' | 'warning-dark' | 'information' | 'star' | 'menu' | 'co-present' | 'assignment-add' | 'cast-for-education' | 'live-tv' | 'supervisor-account' | 'experiment' | 'footprint' | 'flag' | 'chat';
5
5
  export type IconProps = {
6
6
  /**
7
7
  * The theme to use
@@ -0,0 +1,18 @@
1
+ import { ReactElement } from 'react';
2
+ import { ImageProps } from '../../atoms/Image/Image';
3
+ import { ThemeProps } from '../../../themeProps';
4
+ import './cardProfile.scss';
5
+ export interface CardProfileProps {
6
+ theme: ThemeProps;
7
+ inverse?: boolean;
8
+ image: ImageProps;
9
+ name: string;
10
+ courseTitle: string;
11
+ copy: string;
12
+ href: string;
13
+ titleTag?: 'h2' | 'h3';
14
+ }
15
+ /**
16
+ * Primary UI component for user interaction
17
+ */
18
+ export default function CardProfile({ theme, inverse, image, name, courseTitle, href, copy, titleTag }: CardProfileProps): ReactElement;
@@ -0,0 +1,13 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import CardProfile from './CardProfile';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof CardProfile;
6
+ tags: string[];
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof CardProfile>;
13
+ export declare const ExampleSingleCard: Story;
@@ -14,6 +14,8 @@ export interface CardPromoProps {
14
14
  publishDate?: string;
15
15
  authorString?: string;
16
16
  readingTime?: string;
17
+ studyLevel?: string;
18
+ topic?: string;
17
19
  location?: string;
18
20
  copy?: string;
19
21
  isSingle?: boolean;
@@ -9,3 +9,4 @@ export default meta;
9
9
  type Story = StoryObj<typeof FilterAccordion>;
10
10
  export declare const RadioButtons: Story;
11
11
  export declare const Checkboxes: Story;
12
+ export declare const CheckboxesExpandable: Story;
@@ -0,0 +1,17 @@
1
+ import { ReactElement } from 'react';
2
+ import { ImageProps } from '../../../atoms/Image/Image';
3
+ import { SearchResultDetailProps } from '../../../atoms/SearchResultDetail/SearchResultDetail';
4
+ import { ThemeProps } from '../../../../themeProps';
5
+ export interface ProfileCardProps {
6
+ theme: ThemeProps;
7
+ type: 'profile';
8
+ image?: ImageProps;
9
+ title: string;
10
+ url: string;
11
+ description?: string;
12
+ jobTitle?: string;
13
+ department?: string;
14
+ details: Omit<SearchResultDetailProps, 'theme'>[];
15
+ showCategory?: boolean;
16
+ }
17
+ export default function ProfileCard({ theme, image, title, url, description, jobTitle, department, details }: ProfileCardProps): ReactElement;
@@ -6,5 +6,6 @@ import { NewsCardProps } from './Cards/NewsCard';
6
6
  import { PageCardProps } from './Cards/PageCard';
7
7
  import { StaffCardProps } from './Cards/StaffCard';
8
8
  import './listingResultCard.scss';
9
- export type ListingResultCardProps = AccomodationCardProps | CourseCardProps | EventCardProps | NewsCardProps | PageCardProps | StaffCardProps;
9
+ import { ProfileCardProps } from './Cards/ProfileCard';
10
+ export type ListingResultCardProps = AccomodationCardProps | CourseCardProps | EventCardProps | NewsCardProps | PageCardProps | StaffCardProps | ProfileCardProps;
10
11
  export default function ListingResultCard(props: ListingResultCardProps): ReactElement;
@@ -17,3 +17,4 @@ export declare const NewsCard: Story;
17
17
  export declare const AccomodationCard: Story;
18
18
  export declare const CourseCard: Story;
19
19
  export declare const CourseCardH3Title: Story;
20
+ export declare const ProfileCard: Story;
@@ -4,6 +4,7 @@ import { StaffCardProps } from './Cards/StaffCard';
4
4
  import { NewsCardProps } from './Cards/NewsCard';
5
5
  import { AccomodationCardProps } from './Cards/AccomodationCard';
6
6
  import { CourseCardProps } from './Cards/CourseCard';
7
+ import { ProfileCardProps } from './Cards/ProfileCard';
7
8
  export declare const pageCardProps: PageCardProps;
8
9
  export declare const eventCardProps: EventCardProps;
9
10
  export declare const eventCardRichTextProps: EventCardProps;
@@ -11,3 +12,4 @@ export declare const staffCardProps: StaffCardProps;
11
12
  export declare const newsCardProps: NewsCardProps;
12
13
  export declare const accomodationCardProps: AccomodationCardProps;
13
14
  export declare const courseCardProps: CourseCardProps;
15
+ export declare const profileCardProps: ProfileCardProps;
@@ -4,7 +4,7 @@ export declare const ranking: import("./components/CourseTileRanking").CourseTil
4
4
  theme: import("../../../themeProps").ThemeProps;
5
5
  inverse?: boolean | undefined;
6
6
  title: string;
7
- titleTag?: "h1" | "h2" | "h3" | "h4" | undefined;
7
+ titleTag?: "h1" | "h2" | "h3" | "h4" | "h5" | undefined;
8
8
  awardShort: string;
9
9
  links?: Omit<import("../../atoms/TextButton/TextButton").TextButtonProps, "theme">[] | undefined;
10
10
  heroType: "UG" | "UG Dubai" | "PGT Dubai" | "Other";
@@ -24,7 +24,7 @@ export declare const deliveryFormat: import("./components/CourseTile").CourseTil
24
24
  theme: import("../../../themeProps").ThemeProps;
25
25
  inverse?: boolean | undefined;
26
26
  title: string;
27
- titleTag?: "h1" | "h2" | "h3" | "h4" | undefined;
27
+ titleTag?: "h1" | "h2" | "h3" | "h4" | "h5" | undefined;
28
28
  awardShort: string;
29
29
  links?: Omit<import("../../atoms/TextButton/TextButton").TextButtonProps, "theme">[] | undefined;
30
30
  heroType: "UG" | "UG Dubai" | "PGT Dubai" | "Other";
@@ -8,6 +8,7 @@ export interface HeroProfileProps {
8
8
  theme: ThemeProps;
9
9
  inverse: boolean;
10
10
  studentName: string;
11
+ titleTag?: 'h1' | 'h2' | 'h3' | 'h4';
11
12
  image: {
12
13
  src: {
13
14
  small?: string;
@@ -22,4 +23,4 @@ export interface HeroProfileProps {
22
23
  homeCountry?: string;
23
24
  studentIntro?: string;
24
25
  }
25
- export default function HeroProfile({ theme, studentName, studentStatus, courseName, studyLevel, homeCountry, studentIntro, image, inverse }: HeroProfileProps): ReactElement | null;
26
+ export default function HeroProfile({ theme, studentName, studentStatus, courseName, studyLevel, titleTag, homeCountry, studentIntro, image, inverse }: HeroProfileProps): ReactElement | null;
@@ -7,7 +7,8 @@ import { PageCardProps } from '../../molecules/ListingResultCard/Cards/PageCard'
7
7
  import { StaffCardProps } from '../../molecules/ListingResultCard/Cards/StaffCard';
8
8
  import { ThemeProps } from '../../../themeProps';
9
9
  import { HeadingProps } from '../../molecules/Heading/Heading';
10
- type CardProps = Omit<AccomodationCardProps, 'showCategory' | 'theme'> | Omit<CourseCardProps, 'showCategory' | 'theme'> | Omit<EventCardProps, 'showCategory' | 'theme'> | Omit<NewsCardProps, 'showCategory' | 'theme'> | Omit<PageCardProps, 'showCategory' | 'theme'> | Omit<StaffCardProps, 'showCategory' | 'theme'>;
10
+ import { ProfileCardProps } from '../../molecules/ListingResultCard/Cards/ProfileCard';
11
+ type CardProps = Omit<AccomodationCardProps, 'showCategory' | 'theme'> | Omit<CourseCardProps, 'showCategory' | 'theme'> | Omit<EventCardProps, 'showCategory' | 'theme'> | Omit<NewsCardProps, 'showCategory' | 'theme'> | Omit<PageCardProps, 'showCategory' | 'theme'> | Omit<StaffCardProps, 'showCategory' | 'theme'> | Omit<ProfileCardProps, 'showCategory' | 'theme'>;
11
12
  export interface ListingResultsProps {
12
13
  theme: ThemeProps;
13
14
  showCategory?: boolean;
@@ -5,6 +5,7 @@ import { CardPromoProps } from '../../molecules/CardPromo/CardPromo';
5
5
  import { CardPromoSignpostProps } from '../../molecules/CardPromoSignpost/CardPromoSignpost';
6
6
  import { CardPromoVideoProps } from '../../molecules/CardPromoVideo/CardPromoVideo';
7
7
  import './promoBlock.scss';
8
+ import { SelectOptionsProps } from '../../atoms/FormSelect/FormSelect';
8
9
  export interface PromoBlockProps {
9
10
  /**
10
11
  * The theme to use
@@ -25,7 +26,7 @@ export interface PromoBlockProps {
25
26
  /**
26
27
  * Optional cardTitleTag of the component
27
28
  */
28
- cardTitleTag?: 'h2' | 'h3' | 'h4';
29
+ cardTitleTag?: 'h2' | 'h3' | 'h4' | 'h5';
29
30
  /**
30
31
  * Optional description of the component
31
32
  */
@@ -54,5 +55,11 @@ export interface PromoBlockProps {
54
55
  * Prop used to optimise layout in courses page
55
56
  */
56
57
  fullWidth?: boolean;
58
+ /**
59
+ * Prop used to enable/disable filters
60
+ */
61
+ showFilters?: boolean;
62
+ studyLevelFilterData?: SelectOptionsProps[];
63
+ topicFilterData?: SelectOptionsProps[];
57
64
  }
58
- export default function PromoBlock({ theme, inverse, type, title, description, link, cards, imageOrientation, titleTag, cardTitleTag, cardCopyIsRichText, fullWidth }: PromoBlockProps): ReactElement | null;
65
+ export default function PromoBlock({ theme, inverse, type, title, description, link, cards, imageOrientation, titleTag, cardTitleTag, cardCopyIsRichText, fullWidth, showFilters, studyLevelFilterData, topicFilterData }: PromoBlockProps): ReactElement | null;
@@ -30,3 +30,4 @@ export declare const PromoBlockVideoOneCardOnly: Story;
30
30
  export declare const PromoBlockVideoTwoCardsOnly: Story;
31
31
  export declare const PromoBlockVideoThreeCardsOnly: Story;
32
32
  export declare const PromoBlockVideoFourCardsPlus: Story;
33
+ export declare const PromoBlockFilters: Story;
@@ -5,3 +5,4 @@ export declare const promoBlockSignpostProps: PromoBlockProps;
5
5
  export declare const promoBlockVideoProps: PromoBlockProps;
6
6
  export declare const promoBlockForCoursePage: PromoBlockProps;
7
7
  export declare const promoBlockForScholarshipAward: PromoBlockProps;
8
+ export declare const promoBlockFiltersData: PromoBlockProps;
@@ -0,0 +1,12 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { ThemeProps } from '../../../themeProps';
3
+ import './twoColumnWrapper.scss';
4
+ export interface TwoColumnWrapperProps {
5
+ /**
6
+ * The theme to use
7
+ */
8
+ theme: ThemeProps;
9
+ firstColumn: ReactNode;
10
+ secondColumn?: ReactNode;
11
+ }
12
+ export default function TwoColumnWrapper({ theme, firstColumn, secondColumn }: TwoColumnWrapperProps): ReactElement;
@@ -0,0 +1,16 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import TwoColumnWrapper from './TwoColumnWrapper';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof TwoColumnWrapper;
6
+ tags: string[];
7
+ parameters: {
8
+ backgrounds: {
9
+ default: string;
10
+ };
11
+ };
12
+ };
13
+ export default meta;
14
+ type Story = StoryObj<typeof TwoColumnWrapper>;
15
+ export declare const Default: Story;
16
+ export declare const NoUnibuddyPresent: Story;
package/dist/index.d.ts CHANGED
@@ -37,7 +37,7 @@ interface LinkWithArrowProps {
37
37
  }
38
38
 
39
39
  interface HeadingProps$1 {
40
- htmlTag: 'h1' | 'h2' | 'h3' | 'h4';
40
+ htmlTag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5';
41
41
  classNames?: string;
42
42
  children?: ReactNode;
43
43
  }
@@ -203,6 +203,8 @@ interface CardPromoProps {
203
203
  publishDate?: string;
204
204
  authorString?: string;
205
205
  readingTime?: string;
206
+ studyLevel?: string;
207
+ topic?: string;
206
208
  location?: string;
207
209
  copy?: string;
208
210
  isSingle?: boolean;
@@ -343,6 +345,21 @@ interface CarouselProps {
343
345
  }
344
346
  declare function Carousel({ theme, inverse, type, title, cards, cardTitleTag, setCardInverse, exploreMore, cardCopyIsRichText }: CarouselProps): ReactElement;
345
347
 
348
+ interface CardProfileProps {
349
+ theme: ThemeProps;
350
+ inverse?: boolean;
351
+ image: ImageProps;
352
+ name: string;
353
+ courseTitle: string;
354
+ copy: string;
355
+ href: string;
356
+ titleTag?: 'h2' | 'h3';
357
+ }
358
+ /**
359
+ * Primary UI component for user interaction
360
+ */
361
+ declare function CardProfile({ theme, inverse, image, name, courseTitle, href, copy, titleTag }: CardProfileProps): ReactElement;
362
+
346
363
  interface CenterWrapperProps {
347
364
  /**
348
365
  * The theme to use
@@ -366,7 +383,7 @@ interface ParagraphLinkProps {
366
383
  externalLink?: boolean;
367
384
  }
368
385
 
369
- type IconType = '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' | 'award_star' | 'warning-light' | 'warning-dark' | 'information' | 'star' | 'menu' | 'co-present' | 'assignment-add' | 'cast-for-education' | 'live-tv' | 'supervisor-account' | 'experiment' | 'footprint' | 'flag';
386
+ type IconType = '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' | 'award_star' | 'warning-light' | 'warning-dark' | 'information' | 'star' | 'menu' | 'co-present' | 'assignment-add' | 'cast-for-education' | 'live-tv' | 'supervisor-account' | 'experiment' | 'footprint' | 'flag' | 'chat';
370
387
  type IconProps = {
371
388
  /**
372
389
  * The theme to use
@@ -1066,7 +1083,20 @@ interface StaffCardProps {
1066
1083
  showCategory?: boolean;
1067
1084
  }
1068
1085
 
1069
- type CardProps = Omit<AccomodationCardProps, 'showCategory' | 'theme'> | Omit<CourseCardProps, 'showCategory' | 'theme'> | Omit<EventCardProps, 'showCategory' | 'theme'> | Omit<NewsCardProps, 'showCategory' | 'theme'> | Omit<PageCardProps, 'showCategory' | 'theme'> | Omit<StaffCardProps, 'showCategory' | 'theme'>;
1086
+ interface ProfileCardProps {
1087
+ theme: ThemeProps;
1088
+ type: 'profile';
1089
+ image?: ImageProps;
1090
+ title: string;
1091
+ url: string;
1092
+ description?: string;
1093
+ jobTitle?: string;
1094
+ department?: string;
1095
+ details: Omit<SearchResultDetailProps, 'theme'>[];
1096
+ showCategory?: boolean;
1097
+ }
1098
+
1099
+ type CardProps = Omit<AccomodationCardProps, 'showCategory' | 'theme'> | Omit<CourseCardProps, 'showCategory' | 'theme'> | Omit<EventCardProps, 'showCategory' | 'theme'> | Omit<NewsCardProps, 'showCategory' | 'theme'> | Omit<PageCardProps, 'showCategory' | 'theme'> | Omit<StaffCardProps, 'showCategory' | 'theme'> | Omit<ProfileCardProps, 'showCategory' | 'theme'>;
1070
1100
  interface ListingResultsProps {
1071
1101
  theme: ThemeProps;
1072
1102
  showCategory?: boolean;
@@ -1121,7 +1151,7 @@ interface PromoBlockProps$1 {
1121
1151
  /**
1122
1152
  * Optional cardTitleTag of the component
1123
1153
  */
1124
- cardTitleTag?: 'h2' | 'h3' | 'h4';
1154
+ cardTitleTag?: 'h2' | 'h3' | 'h4' | 'h5';
1125
1155
  /**
1126
1156
  * Optional description of the component
1127
1157
  */
@@ -1150,8 +1180,14 @@ interface PromoBlockProps$1 {
1150
1180
  * Prop used to optimise layout in courses page
1151
1181
  */
1152
1182
  fullWidth?: boolean;
1183
+ /**
1184
+ * Prop used to enable/disable filters
1185
+ */
1186
+ showFilters?: boolean;
1187
+ studyLevelFilterData?: SelectOptionsProps[];
1188
+ topicFilterData?: SelectOptionsProps[];
1153
1189
  }
1154
- declare function PromoBlock({ theme, inverse, type, title, description, link, cards, imageOrientation, titleTag, cardTitleTag, cardCopyIsRichText, fullWidth }: PromoBlockProps$1): ReactElement | null;
1190
+ declare function PromoBlock({ theme, inverse, type, title, description, link, cards, imageOrientation, titleTag, cardTitleTag, cardCopyIsRichText, fullWidth, showFilters, studyLevelFilterData, topicFilterData }: PromoBlockProps$1): ReactElement | null;
1155
1191
 
1156
1192
  interface PromoBlockProps {
1157
1193
  /**
@@ -1606,4 +1642,38 @@ interface LocationSectionProps {
1606
1642
  }
1607
1643
  declare function LocationSection({ theme, embedChildren, googleMapLink, address, services }: LocationSectionProps): ReactElement;
1608
1644
 
1609
- 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, LocationSection, type LocationSectionProps, LocationSelector, type LocationSelectorProps, MainWrapper, type MainWrapperProps, ModalCTA, type ModalCTAProps, NewsArticlesPromoBlock, type NewsArticlesPromoBlockProps, Pagination, type PaginationProps, PromoBlock, PromoBlockGrid, type PromoBlockProps$1 as PromoBlockProps, QuoteBlock, type QuoteBlockProps, RelatedCourses, type RelatedCoursesProps, ResearchStoryCarousel, type ResearchStoryCarouselProps, RichText, type RichTextProps, ScrollableTable, ScrollableTableCategory, type ScrollableTableProps, 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 };
1645
+ interface HeroProfileProps {
1646
+ /**
1647
+ * The theme to use
1648
+ */
1649
+ theme: ThemeProps;
1650
+ inverse: boolean;
1651
+ studentName: string;
1652
+ titleTag?: 'h1' | 'h2' | 'h3' | 'h4';
1653
+ image: {
1654
+ src: {
1655
+ small?: string;
1656
+ medium?: string;
1657
+ default: string;
1658
+ };
1659
+ alt: string;
1660
+ };
1661
+ studentStatus?: string;
1662
+ courseName?: string;
1663
+ studyLevel?: string;
1664
+ homeCountry?: string;
1665
+ studentIntro?: string;
1666
+ }
1667
+ declare function HeroProfile({ theme, studentName, studentStatus, courseName, studyLevel, titleTag, homeCountry, studentIntro, image, inverse }: HeroProfileProps): ReactElement | null;
1668
+
1669
+ interface TwoColumnWrapperProps {
1670
+ /**
1671
+ * The theme to use
1672
+ */
1673
+ theme: ThemeProps;
1674
+ firstColumn: ReactNode;
1675
+ secondColumn?: ReactNode;
1676
+ }
1677
+ declare function TwoColumnWrapper({ theme, firstColumn, secondColumn }: TwoColumnWrapperProps): ReactElement;
1678
+
1679
+ export { Accordion, type AccordionProps, type AccreditationPromotionProps, AcreditationPromotion, AlertBanner, type AlertBannerProps, AnchorTarget, type AnchorTargetProps, Breadcrumbs, type BreadcrumbsProps, CTAComponent, type CTAComponentProps, CardProfile, type CardProfileProps, 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, HeroProfile, type HeroProfileProps, 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, LocationSection, type LocationSectionProps, LocationSelector, type LocationSelectorProps, MainWrapper, type MainWrapperProps, ModalCTA, type ModalCTAProps, NewsArticlesPromoBlock, type NewsArticlesPromoBlockProps, Pagination, type PaginationProps, PromoBlock, PromoBlockGrid, type PromoBlockProps$1 as PromoBlockProps, QuoteBlock, type QuoteBlockProps, RelatedCourses, type RelatedCoursesProps, ResearchStoryCarousel, type ResearchStoryCarouselProps, RichText, type RichTextProps, ScrollableTable, ScrollableTableCategory, type ScrollableTableProps, 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, TwoColumnWrapper, type TwoColumnWrapperProps, VideoCardComponent, type VideoCardComponentProps, VideoEmbed, type VideoEmbedProps };