@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.
Files changed (30) hide show
  1. package/dist/components/atoms/FormSelect/FormSelect.d.ts +2 -1
  2. package/dist/components/atoms/FormSelect/FormSelect.stories.d.ts +1 -1
  3. package/dist/components/atoms/LinkWithIcon/LinkWithIcon.d.ts +15 -0
  4. package/dist/components/atoms/LinkWithIcon/LinkWithIcon.stories.d.ts +11 -0
  5. package/dist/components/molecules/InPageNavigationLinks/InPageNavigationLinks.d.ts +9 -3
  6. package/dist/components/molecules/LocationSelector/LocationSelector.d.ts +13 -0
  7. package/dist/components/molecules/LocationSelector/LocationSelector.stories.d.ts +14 -0
  8. package/dist/components/molecules/LocationSelector/defaultProps.d.ts +2 -0
  9. package/dist/components/organisms/AnchorTarget/AnchorTarget.d.ts +2 -1
  10. package/dist/components/organisms/HeroCourses/HeroCourses.d.ts +33 -0
  11. package/dist/components/organisms/HeroCourses/HeroCourses.stories.d.ts +13 -0
  12. package/dist/components/organisms/HeroCourses/components/CourseTile.d.ts +8 -0
  13. package/dist/components/organisms/HeroCourses/components/CourseTileRanking.d.ts +9 -0
  14. package/dist/components/organisms/HeroCourses/components/CourseTileSelect.d.ts +7 -0
  15. package/dist/components/organisms/HeroCourses/defaultProps.d.ts +40 -0
  16. package/dist/components/organisms/ImageBlock/ImageBlock.d.ts +2 -1
  17. package/dist/components/organisms/IntroText/IntroText.d.ts +2 -1
  18. package/dist/components/organisms/IntroText/defaultProps.d.ts +2 -0
  19. package/dist/components/organisms/RichText/defaultProps.d.ts +1 -0
  20. package/dist/components/organisms/StaffListingCarousel/StaffListingCarousel.d.ts +2 -1
  21. package/dist/components/organisms/StaffListingCarousel/StaffListingCarousel.stories.d.ts +1 -0
  22. package/dist/components/organisms/TextWithBackground/TextWithBackground.d.ts +2 -1
  23. package/dist/components/organisms/VideoEmbed/VideoEmbed.d.ts +3 -1
  24. package/dist/index.d.ts +92 -12
  25. package/dist/main.css +1 -1
  26. package/dist/main.js +4 -11
  27. package/dist/module.js +4 -11
  28. package/dist/utils/util.d.ts +0 -1
  29. package/package.json +2 -3
  30. /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: Omit<BreadcrumbLinkProps, 'theme'>[];
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;
@@ -0,0 +1,2 @@
1
+ import { LocationSelectorProps } from './LocationSelector';
2
+ export declare const locationSelectorProps: LocationSelectorProps;
@@ -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;
@@ -0,0 +1,2 @@
1
+ import { IntroTextProps } from './IntroText';
2
+ export declare const introTextProps: IntroTextProps;
@@ -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 BreadcrumbLinkProps {
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: Omit<BreadcrumbLinkProps, 'theme'>[];
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 };