@uob-web-and-digital/component-library 0.0.47 → 0.0.49
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/CourseIcon/CourseIcon.stories.d.ts +8 -9
- package/dist/components/atoms/IconControl/IconControl.d.ts +17 -0
- package/dist/components/atoms/IconControl/IconControl.stories.d.ts +13 -0
- package/dist/components/atoms/IconControl/defaultProps.d.ts +3 -0
- package/dist/components/atoms/Icons/Icons.d.ts +1 -1
- package/dist/components/atoms/Icons/Icons.stories.d.ts +12 -0
- package/dist/components/molecules/GenericDetail/GenericDetail.d.ts +11 -0
- package/dist/components/molecules/GenericDetail/GenericDetail.stories.d.ts +10 -0
- package/dist/components/molecules/Heading/Heading.d.ts +2 -1
- package/dist/components/molecules/ListingResultCard/Cards/CourseCard.d.ts +6 -3
- package/dist/components/molecules/Wysiwyg/Wysiwyg.d.ts +9 -0
- package/dist/components/molecules/Wysiwyg/Wysiwyg.stories.d.ts +11 -0
- package/dist/components/molecules/Wysiwyg/defaultProps.d.ts +2 -0
- package/dist/components/organisms/AlertBanner/AlertBanner.d.ts +11 -0
- package/dist/components/organisms/AlertBanner/AlertBanner.stories.d.ts +15 -0
- package/dist/components/organisms/AlertBanner/defaultProps.d.ts +2 -0
- package/dist/components/organisms/AnchorTarget/AnchorTarget.d.ts +10 -0
- package/dist/components/organisms/AnchorTarget/AnchorTarget.stories.d.ts +15 -0
- package/dist/components/organisms/CTAComponent/CTAComponent.d.ts +1 -1
- package/dist/components/organisms/CTAComponent/CTAComponent.stories.d.ts +2 -1
- package/dist/components/organisms/CTAComponent/defaultProps.d.ts +2 -0
- package/dist/components/organisms/CentreWrapper/CentreWrapper.d.ts +11 -0
- package/dist/components/organisms/CentreWrapper/CentreWrapper.stories.d.ts +15 -0
- package/dist/components/organisms/FeaturedSignpost/defaultProps.d.ts +1 -0
- package/dist/components/organisms/GenericDetailSection/GenericDetailSection.d.ts +12 -0
- package/dist/components/organisms/GenericDetailSection/GenericDetailSection.stories.d.ts +12 -0
- package/dist/components/organisms/GenericDetailSection/defaultProps.d.ts +4 -0
- package/dist/components/organisms/Hero/Hero.d.ts +1 -1
- package/dist/components/organisms/Hero/defaultProps.d.ts +1 -0
- package/dist/components/organisms/ImageCarousel/defaultProps.d.ts +1 -0
- package/dist/components/organisms/ListingResults/ListingResults.d.ts +3 -1
- package/dist/components/organisms/PromoBlock/defaultProps.d.ts +1 -0
- package/dist/components/organisms/PromoBlockGrid/PromoBlockGrid.d.ts +42 -0
- package/dist/components/organisms/PromoBlockGrid/PromoBlockGrid.stories.d.ts +17 -0
- package/dist/components/organisms/PromoBlockGrid/defaultProps.d.ts +2 -0
- package/dist/components/organisms/QuoteBlock/QuoteBlock.d.ts +5 -4
- package/dist/components/organisms/QuoteBlock/QuoteBlock.stories.d.ts +4 -1
- package/dist/components/organisms/QuoteBlock/defatultProps.d.ts +2 -0
- package/dist/components/organisms/RelatedCourses/RelatedCourses.d.ts +2 -1
- package/dist/components/organisms/RelatedCourses/RelatedCourses.stories.d.ts +4 -1
- package/dist/components/organisms/RichText/defaultProps.d.ts +1 -0
- package/dist/components/organisms/StaffListingCarousel/StaffListingCarousel.stories.d.ts +3 -2
- package/dist/components/organisms/TextWithBackground/TextWithBackground.d.ts +3 -3
- package/dist/components/organisms/TextWithBackground/TextWithBackground.stories.d.ts +2 -0
- package/dist/components/organisms/TextWithBackground/defaultProps.d.ts +3 -0
- package/dist/components/organisms/TopicSelector/TopicSelector.d.ts +2 -1
- package/dist/index.d.ts +101 -18
- package/dist/main.css +1 -1
- package/dist/main.js +5 -5
- package/dist/module.js +5 -5
- package/package.json +1 -1
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import CourseIcon from './CourseIcon';
|
|
1
|
+
import { ReactElement } from 'react';
|
|
3
2
|
declare const meta: {
|
|
4
3
|
title: string;
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
parameters: {
|
|
5
|
+
layout: string;
|
|
6
|
+
backgrounds: {
|
|
7
|
+
default: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
7
10
|
};
|
|
8
11
|
export default meta;
|
|
9
|
-
|
|
10
|
-
export declare const Clearing: Story;
|
|
11
|
-
export declare const Phone: Story;
|
|
12
|
-
export declare const Email: Story;
|
|
13
|
-
export declare const PalePhone: Story;
|
|
12
|
+
export declare const allCourseIconsExample: () => ReactElement;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IconType } from '../Icons/Icons';
|
|
3
|
+
import { ThemeProps } from '../../../themeProps';
|
|
4
|
+
import './iconControl.scss';
|
|
5
|
+
export interface IconControlProps {
|
|
6
|
+
theme: ThemeProps;
|
|
7
|
+
inverse?: boolean;
|
|
8
|
+
title: string;
|
|
9
|
+
icon: IconType;
|
|
10
|
+
onClick?: () => void;
|
|
11
|
+
ariaControls?: string;
|
|
12
|
+
isSubmit?: boolean;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
}
|
|
15
|
+
type Ref = HTMLButtonElement | null;
|
|
16
|
+
export declare const IconControl: React.ForwardRefExoticComponent<IconControlProps & React.RefAttributes<Ref>>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { StoryObj } from '@storybook/react';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: import("react").ForwardRefExoticComponent<import("./IconControl").IconControlProps & import("react").RefAttributes<HTMLButtonElement | null>>;
|
|
6
|
+
tags: string[];
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj<typeof meta>;
|
|
10
|
+
export declare const CloseControlDarkBackground: Story;
|
|
11
|
+
export declare const CloseControlLightBackground: Story;
|
|
12
|
+
export declare const DownControlDarkBackground: Story;
|
|
13
|
+
export declare const DownControlLightBackground: Story;
|
|
@@ -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' | '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';
|
|
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' | 'warning-light' | 'warning-dark' | 'information';
|
|
5
5
|
export type IconProps = {
|
|
6
6
|
/**
|
|
7
7
|
* The theme to use
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import { IconType } from '../../atoms/Icons/Icons';
|
|
4
|
+
import './genericDetail.scss';
|
|
5
|
+
export interface GenericDetailProps {
|
|
6
|
+
theme: ThemeProps;
|
|
7
|
+
iconType: IconType;
|
|
8
|
+
title: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}
|
|
11
|
+
export default function GenericDetail({ iconType, title, value, theme }: GenericDetailProps): ReactElement;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import GenericDetail from './GenericDetail';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof GenericDetail;
|
|
6
|
+
tags: string[];
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj<typeof meta>;
|
|
10
|
+
export declare const Default: Story;
|
|
@@ -15,6 +15,7 @@ export interface HeadingProps {
|
|
|
15
15
|
title?: string;
|
|
16
16
|
description?: string;
|
|
17
17
|
linkProps?: LinkProps;
|
|
18
|
+
fullWidth?: boolean;
|
|
18
19
|
}
|
|
19
|
-
export default function Heading({ title, description, linkProps, theme, inverse }: HeadingProps): ReactElement | null;
|
|
20
|
+
export default function Heading({ title, description, linkProps, theme, inverse, fullWidth }: HeadingProps): ReactElement | null;
|
|
20
21
|
export {};
|
|
@@ -10,9 +10,12 @@ export interface CourseCardProps {
|
|
|
10
10
|
description?: string;
|
|
11
11
|
supervisors?: string;
|
|
12
12
|
department?: string;
|
|
13
|
-
studyLevel
|
|
14
|
-
studyMode
|
|
13
|
+
studyLevel?: string;
|
|
14
|
+
studyMode?: string;
|
|
15
|
+
courseType?: string;
|
|
16
|
+
qualification?: string;
|
|
17
|
+
studyLocation?: string;
|
|
15
18
|
fundingType?: string;
|
|
16
19
|
showCategory?: boolean;
|
|
17
20
|
}
|
|
18
|
-
export default function CourseCard({ theme, type, image, title, url, description, supervisors, department, studyLevel, studyMode, fundingType, showCategory }: CourseCardProps): ReactElement;
|
|
21
|
+
export default function CourseCard({ theme, type, image, title, url, description, supervisors, department, studyLevel, studyMode, fundingType, courseType, qualification, studyLocation, showCategory }: CourseCardProps): ReactElement;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import './wysiwyg.scss';
|
|
4
|
+
export interface WysiwygProps {
|
|
5
|
+
theme: ThemeProps;
|
|
6
|
+
inverse?: boolean;
|
|
7
|
+
text: string;
|
|
8
|
+
}
|
|
9
|
+
export default function Wysiwyg({ theme, inverse, text }: WysiwygProps): ReactElement;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import Wysiwyg from './Wysiwyg';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof Wysiwyg;
|
|
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;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import { RichTextProps } from '../RichText/RichText';
|
|
4
|
+
import './alertBanner.scss';
|
|
5
|
+
export interface AlertBannerProps {
|
|
6
|
+
theme: ThemeProps;
|
|
7
|
+
inverse?: boolean;
|
|
8
|
+
richText: RichTextProps;
|
|
9
|
+
type: 'warning' | 'success' | 'information';
|
|
10
|
+
}
|
|
11
|
+
export default function AlertBanner({ theme, inverse, type, richText }: AlertBannerProps): ReactElement;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import AlertBanner from './AlertBanner';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof AlertBanner;
|
|
6
|
+
tags: string[];
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj<typeof meta>;
|
|
10
|
+
export declare const DarkWarning: Story;
|
|
11
|
+
export declare const DarkInformation: Story;
|
|
12
|
+
export declare const DarkSuccess: Story;
|
|
13
|
+
export declare const LightWarning: Story;
|
|
14
|
+
export declare const LightInformation: Story;
|
|
15
|
+
export declare const LightSuccess: Story;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode, ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import './anchorTarget.scss';
|
|
4
|
+
export interface AnchorTargetProps {
|
|
5
|
+
theme: ThemeProps;
|
|
6
|
+
inverse?: boolean;
|
|
7
|
+
targetLabel: string;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export default function AnchorTarget({ theme, inverse, targetLabel, children }: AnchorTargetProps): ReactElement;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import AnchorTarget from './AnchorTarget';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof AnchorTarget;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
backgrounds: {
|
|
9
|
+
default: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export default meta;
|
|
14
|
+
type Story = StoryObj<typeof AnchorTarget>;
|
|
15
|
+
export declare const Default: Story;
|
|
@@ -9,5 +9,6 @@ export default meta;
|
|
|
9
9
|
type Story = StoryObj<typeof meta>;
|
|
10
10
|
export declare const Dark: Story;
|
|
11
11
|
export declare const Light: Story;
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const HighlightedOnDarkBackground: Story;
|
|
13
|
+
export declare const HighlightedOnLightBackground: Story;
|
|
13
14
|
export declare const ExampleNoImage: Story;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import './centreWrapper.scss';
|
|
4
|
+
export interface CenterWrapperProps {
|
|
5
|
+
/**
|
|
6
|
+
* The theme to use
|
|
7
|
+
*/
|
|
8
|
+
theme: ThemeProps;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export default function CenterWrapper({ theme, children }: CenterWrapperProps): ReactElement;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import CentreWrapper from './CentreWrapper';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof CentreWrapper;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
backgrounds: {
|
|
9
|
+
default: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export default meta;
|
|
14
|
+
type Story = StoryObj<typeof CentreWrapper>;
|
|
15
|
+
export declare const Default: Story;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
3
|
+
import { GenericDetailProps } from '../../molecules/GenericDetail/GenericDetail';
|
|
4
|
+
import { TextButtonProps } from '../../atoms/TextButton/TextButton';
|
|
5
|
+
import './genericDetailSection.scss';
|
|
6
|
+
export interface GenericDetailSectionProps {
|
|
7
|
+
theme: ThemeProps;
|
|
8
|
+
title: string;
|
|
9
|
+
detailColumns: Omit<GenericDetailProps, 'theme'>[][];
|
|
10
|
+
buttons?: TextButtonProps[];
|
|
11
|
+
}
|
|
12
|
+
export default function GenericDetailSection({ theme, title, detailColumns, buttons }: GenericDetailSectionProps): ReactElement;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import GenericDetailSection from './GenericDetailSection';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof GenericDetailSection;
|
|
6
|
+
tags: string[];
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj<typeof meta>;
|
|
10
|
+
export declare const AccommodationDetails: Story;
|
|
11
|
+
export declare const ContactDetails: Story;
|
|
12
|
+
export declare const EventDetails: Story;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GenericDetailSectionProps } from './GenericDetailSection';
|
|
2
|
+
export declare const genericDetailSectionPropsAccommodation: GenericDetailSectionProps;
|
|
3
|
+
export declare const genericDetailSectionPropsEvents: GenericDetailSectionProps;
|
|
4
|
+
export declare const genericDetailSectionPropsContact: GenericDetailSectionProps;
|
|
@@ -3,3 +3,4 @@ export declare const colourBlockHeroProps: HeroProps;
|
|
|
3
3
|
export declare const rectangleImageHeroProps: HeroProps;
|
|
4
4
|
export declare const linesOfIntentImageHeroProps: HeroProps;
|
|
5
5
|
export declare const newsHeroProps: HeroProps;
|
|
6
|
+
export declare const accommodationHeroProps: HeroProps;
|
|
@@ -6,11 +6,13 @@ import { NewsCardProps } from '../../molecules/ListingResultCard/Cards/NewsCard'
|
|
|
6
6
|
import { PageCardProps } from '../../molecules/ListingResultCard/Cards/PageCard';
|
|
7
7
|
import { StaffCardProps } from '../../molecules/ListingResultCard/Cards/StaffCard';
|
|
8
8
|
import { ThemeProps } from '../../../themeProps';
|
|
9
|
+
import { HeadingProps } from '../../molecules/Heading/Heading';
|
|
9
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
11
|
export interface ListingResultsProps {
|
|
11
12
|
theme: ThemeProps;
|
|
12
13
|
showCategory?: boolean;
|
|
13
14
|
cards: CardProps[];
|
|
15
|
+
headingInfo?: HeadingProps;
|
|
14
16
|
}
|
|
15
|
-
export default function ListingResults({ theme, showCategory, cards }: ListingResultsProps): ReactElement;
|
|
17
|
+
export default function ListingResults({ theme, showCategory, cards, headingInfo }: ListingResultsProps): ReactElement;
|
|
16
18
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PromoBlockProps } from './PromoBlock';
|
|
2
2
|
export declare const promoBlockProps: PromoBlockProps;
|
|
3
|
+
export declare const promoBlockPropsAccommodation: PromoBlockProps;
|
|
3
4
|
export declare const promoBlockSignpostProps: PromoBlockProps;
|
|
4
5
|
export declare const promoBlockVideoProps: PromoBlockProps;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { LinkWithArrowProps } from '../../atoms/LinkWithArrow/LinkWithArrow';
|
|
3
|
+
import { ThemeProps } from '../../../themeProps';
|
|
4
|
+
import { CardPromoProps } from '../../molecules/CardPromo/CardPromo';
|
|
5
|
+
import { CardPromoSignpostProps } from '../../molecules/CardPromoSignpost/CardPromoSignpost';
|
|
6
|
+
import { CardPromoVideoProps } from '../../molecules/CardPromoVideo/CardPromoVideo';
|
|
7
|
+
import './promoBlockGrid.scss';
|
|
8
|
+
export interface PromoBlockProps {
|
|
9
|
+
/**
|
|
10
|
+
* The theme to use
|
|
11
|
+
*/
|
|
12
|
+
theme: ThemeProps;
|
|
13
|
+
/**
|
|
14
|
+
* Whether to inverse the colours
|
|
15
|
+
*/
|
|
16
|
+
inverse?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Optional title of the component
|
|
19
|
+
*/
|
|
20
|
+
title?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Optional description of the component
|
|
23
|
+
*/
|
|
24
|
+
description?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Optional link elements
|
|
27
|
+
*/
|
|
28
|
+
link?: LinkWithArrowProps;
|
|
29
|
+
/**
|
|
30
|
+
* Promo block will work with three card types
|
|
31
|
+
*/
|
|
32
|
+
type: 'promo' | 'promo-signpost' | 'promo-video';
|
|
33
|
+
/**
|
|
34
|
+
* A Promo block component can have any number of items
|
|
35
|
+
*/
|
|
36
|
+
cards: CardPromoProps[] | CardPromoSignpostProps[] | CardPromoVideoProps[];
|
|
37
|
+
/**
|
|
38
|
+
* Only applies to the signpost card and if there is only one
|
|
39
|
+
*/
|
|
40
|
+
imageOrientation: 'left' | 'right';
|
|
41
|
+
}
|
|
42
|
+
export default function PromoBlockGrid({ theme, inverse, type, title, description, link, cards, imageOrientation }: PromoBlockProps): ReactElement | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import PromoBlockGrid from './PromoBlockGrid';
|
|
3
|
+
import './promoBlockGrid.scss';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: typeof PromoBlockGrid;
|
|
7
|
+
tags: string[];
|
|
8
|
+
parameters: {
|
|
9
|
+
backgrounds: {
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof PromoBlockGrid>;
|
|
16
|
+
export declare const PromoBlockFourCardsPlus: Story;
|
|
17
|
+
export declare const PromoBlockFourCardsPlusDark: Story;
|
|
@@ -6,12 +6,13 @@ import './QuoteBlock.scss';
|
|
|
6
6
|
type LinkProps = Omit<LinkWithArrowProps, 'theme' | 'inverse'>;
|
|
7
7
|
export interface QuoteBlockProps extends HeadingProps {
|
|
8
8
|
theme: ThemeProps;
|
|
9
|
+
inverse?: boolean;
|
|
9
10
|
title?: string;
|
|
10
|
-
cite
|
|
11
|
-
role
|
|
11
|
+
cite?: string;
|
|
12
|
+
role?: string;
|
|
12
13
|
quote: string;
|
|
13
|
-
quoteeProfileImage
|
|
14
|
-
quoteeProfileImageAltText
|
|
14
|
+
quoteeProfileImage?: string;
|
|
15
|
+
quoteeProfileImageAltText?: string;
|
|
15
16
|
cta?: LinkProps;
|
|
16
17
|
}
|
|
17
18
|
export default function QuoteBlock({ theme, inverse, title, description, cite, role, quote, quoteeProfileImage, quoteeProfileImageAltText, cta }: QuoteBlockProps): ReactElement;
|
|
@@ -13,4 +13,7 @@ declare const meta: {
|
|
|
13
13
|
};
|
|
14
14
|
export default meta;
|
|
15
15
|
type Story = StoryObj<typeof QuoteBlock>;
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const ExampleIncludingHeading: Story;
|
|
17
|
+
export declare const ExampleIncludingHeadingLight: Story;
|
|
18
|
+
export declare const ExampleQuoteOnly: Story;
|
|
19
|
+
export declare const ExampleQuoteWithCite: Story;
|
|
@@ -7,6 +7,7 @@ export interface RelatedCoursesProps {
|
|
|
7
7
|
inverse?: boolean;
|
|
8
8
|
heading: string;
|
|
9
9
|
fullWidth?: boolean;
|
|
10
|
+
headingStyle?: 'news' | null;
|
|
10
11
|
cards: CardRelatedProps[];
|
|
11
12
|
}
|
|
12
|
-
export default function RelatedCourses({ theme, inverse, heading, fullWidth, cards }: RelatedCoursesProps): ReactElement;
|
|
13
|
+
export default function RelatedCourses({ theme, inverse, heading, headingStyle, fullWidth, cards }: RelatedCoursesProps): ReactElement;
|
|
@@ -7,5 +7,8 @@ declare const meta: {
|
|
|
7
7
|
};
|
|
8
8
|
export default meta;
|
|
9
9
|
type Story = StoryObj<typeof meta>;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const ExampleFourOrMoreCourses: Story;
|
|
11
|
+
export declare const ExampleWithNewsStyleHeading: Story;
|
|
11
12
|
export declare const ExampleOneCourse: Story;
|
|
13
|
+
export declare const ExampleTwoCourses: Story;
|
|
14
|
+
export declare const ExampleThreeCourses: Story;
|
|
@@ -2,3 +2,4 @@ import { RichTextProps } from './RichText';
|
|
|
2
2
|
export declare const richTextProps: RichTextProps;
|
|
3
3
|
export declare const newsArticleRichText: RichTextProps;
|
|
4
4
|
export declare const newsArticleRichTextBullets: RichTextProps;
|
|
5
|
+
export declare const richTextAccommodation: RichTextProps;
|
|
@@ -7,5 +7,6 @@ declare const meta: {
|
|
|
7
7
|
};
|
|
8
8
|
export default meta;
|
|
9
9
|
type Story = StoryObj<typeof meta>;
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
10
|
+
export declare const ExampleThreeOrMoreStaff: Story;
|
|
11
|
+
export declare const ExampleOneStaff: Story;
|
|
12
|
+
export declare const ExampleTwoStaff: Story;
|
|
@@ -13,9 +13,9 @@ export interface TextWithBackgroundProps {
|
|
|
13
13
|
headingLevel: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
14
14
|
headingText: string;
|
|
15
15
|
text: string;
|
|
16
|
-
url
|
|
17
|
-
linkTitle
|
|
16
|
+
url?: string;
|
|
17
|
+
linkTitle?: string;
|
|
18
18
|
externalLink?: boolean;
|
|
19
|
-
linkStyle
|
|
19
|
+
linkStyle?: 'primary' | 'secondary' | 'paragraph-link';
|
|
20
20
|
}
|
|
21
21
|
export default function TextWithBackground({ text, theme, inverse, headingLevel, headingText, url, linkTitle, externalLink, linkStyle }: TextWithBackgroundProps): ReactElement;
|
|
@@ -15,6 +15,8 @@ type Story = StoryObj<typeof TextWithBackground>;
|
|
|
15
15
|
export declare const DarkWithPrimaryButton: Story;
|
|
16
16
|
export declare const DarkWithSecondaryButton: Story;
|
|
17
17
|
export declare const DarkWithParagraphLink: Story;
|
|
18
|
+
export declare const DarkNoLink: Story;
|
|
18
19
|
export declare const LightWithPrimaryButton: Story;
|
|
19
20
|
export declare const LightWithSecondaryButton: Story;
|
|
20
21
|
export declare const LightWithParagraphLink: Story;
|
|
22
|
+
export declare const LightNoLink: Story;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
|
+
import { ThemeProps } from '../../../themeProps';
|
|
2
3
|
import './topicSelector.scss';
|
|
3
4
|
import { PillProps } from '../../atoms/Pill/Pill';
|
|
4
5
|
export interface TopicSelectorProps {
|
|
5
6
|
/**
|
|
6
7
|
* The theme to use
|
|
7
8
|
*/
|
|
8
|
-
theme
|
|
9
|
+
theme: ThemeProps;
|
|
9
10
|
/**
|
|
10
11
|
* The pills to display the list
|
|
11
12
|
*/
|