@uob-web-and-digital/component-library 0.0.41 → 0.0.42

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.
@@ -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';
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';
5
5
  export type IconProps = {
6
6
  /**
7
7
  * The theme to use
@@ -15,7 +15,7 @@ export interface CardFeaturedNewsProps {
15
15
  location?: string;
16
16
  copy?: string;
17
17
  isPrimary?: boolean;
18
- titleTag: 'h2' | 'h3';
18
+ titleTag: 'h2' | 'h3' | 'h4';
19
19
  }
20
20
  /**
21
21
  * Primary UI component for user interaction
@@ -7,8 +7,9 @@ export interface CardRelatedProps {
7
7
  title: string;
8
8
  subtitle: string;
9
9
  href: string;
10
+ titleTag?: 'h2' | 'h3';
10
11
  }
11
12
  /**
12
13
  * Primary UI component for user interaction
13
14
  */
14
- export default function CardRelated({ theme, inverse, title, subtitle, href }: CardRelatedProps): ReactElement;
15
+ export default function CardRelated({ theme, inverse, title, subtitle, href, titleTag }: CardRelatedProps): ReactElement;
@@ -14,8 +14,9 @@ export interface CardStaffProps {
14
14
  isSingle?: boolean;
15
15
  phone: string;
16
16
  email: string;
17
+ titleTag?: 'h2' | 'h3';
17
18
  }
18
19
  /**
19
20
  * Primary UI component for user interaction
20
21
  */
21
- export default function CardStaff({ theme, inverse, image, name, jobTitle, department, href, copy, phone, email, isSingle }: CardStaffProps): ReactElement;
22
+ export default function CardStaff({ theme, inverse, image, name, jobTitle, department, href, copy, phone, email, isSingle, titleTag }: CardStaffProps): ReactElement;
@@ -9,8 +9,9 @@ export interface CardVideoProps {
9
9
  title: string;
10
10
  youtubeId: string;
11
11
  buttonLabel: string;
12
+ titleTag?: 'h2' | 'h3';
12
13
  }
13
14
  /**
14
15
  * Primary UI component for user interaction
15
16
  */
16
- export default function CardVideo({ theme, inverse, image, title, youtubeId, buttonLabel }: CardVideoProps): ReactElement;
17
+ export default function CardVideo({ theme, inverse, image, title, youtubeId, buttonLabel, titleTag }: CardVideoProps): ReactElement;
@@ -16,7 +16,8 @@ export interface CarouselProps {
16
16
  inverse?: boolean;
17
17
  type: string;
18
18
  title?: string;
19
+ useH3ForCards?: boolean;
19
20
  cards: Omit<CardNewsProps, 'titleTag'>[] | CardFeaturedProps[] | CardVideoProps[] | CardPromoProps[] | CardPromoSignpostProps[] | CardPromoVideoProps[] | CardStaffProps[] | CardRelatedProps[] | CardImageProps[] | CardFeaturedNewsProps[];
20
21
  exploreMore?: string;
21
22
  }
22
- export default function Carousel({ theme, inverse, type, title, cards, exploreMore }: CarouselProps): ReactElement;
23
+ export default function Carousel({ theme, inverse, type, title, cards, useH3ForCards, exploreMore }: CarouselProps): ReactElement;
@@ -0,0 +1,11 @@
1
+ import { ReactElement } from 'react';
2
+ import { ThemeProps } from '../../../themeProps';
3
+ import { CardFeaturedNewsProps } from '../../molecules/CardFeaturedNews/CardFeaturedNews';
4
+ import './fiveArticlesGrid.scss';
5
+ export interface FiveArticlesGridProps {
6
+ theme: ThemeProps;
7
+ heading?: string;
8
+ featuredArticle: CardFeaturedNewsProps;
9
+ otherLeadArticles: Omit<CardFeaturedNewsProps, 'theme'>[];
10
+ }
11
+ export default function FiveArticlesGrid({ theme, heading, featuredArticle, otherLeadArticles }: FiveArticlesGridProps): ReactElement;
@@ -0,0 +1,10 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import FiveArticlesGrid from './FiveArticlesGrid';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof FiveArticlesGrid;
6
+ tags: string[];
7
+ };
8
+ export default meta;
9
+ type Story = StoryObj<typeof meta>;
10
+ export declare const Example: Story;
@@ -0,0 +1,2 @@
1
+ import { FiveArticlesGridProps } from './FiveArticlesGrid';
2
+ export declare const fiveArticlesGridProps: FiveArticlesGridProps;
@@ -21,7 +21,7 @@ export interface SignPostProps {
21
21
  }
22
22
  type SignPostItem = {
23
23
  title: string;
24
- tag: string;
24
+ tag?: string;
25
25
  linkLabel: string;
26
26
  linkUrl: string;
27
27
  external?: boolean;
@@ -1,2 +1,3 @@
1
1
  import { SignPostProps } from './SignPost';
2
2
  export declare const signPostProps: SignPostProps;
3
+ export declare const newsArticleSignPostProps: SignPostProps;
@@ -6,8 +6,9 @@ import './staffListingCarousel.scss';
6
6
  export interface StaffListingCarouselProps {
7
7
  theme: ThemeProps;
8
8
  inverse?: boolean;
9
+ fullWidth?: boolean;
9
10
  heading: string;
10
11
  cards: CardStaffProps[];
11
12
  singleLink: LinkWithArrowProps;
12
13
  }
13
- export default function StaffListingCarousel({ theme, inverse, heading, cards, singleLink }: StaffListingCarouselProps): ReactElement;
14
+ export default function StaffListingCarousel({ theme, inverse, fullWidth, heading, cards, singleLink }: StaffListingCarouselProps): ReactElement;
package/dist/index.d.ts CHANGED
@@ -56,6 +56,7 @@ interface CardVideoProps {
56
56
  title: string;
57
57
  youtubeId: string;
58
58
  buttonLabel: string;
59
+ titleTag?: 'h2' | 'h3';
59
60
  }
60
61
 
61
62
  interface CardPromoProps {
@@ -174,6 +175,7 @@ interface CardStaffProps {
174
175
  isSingle?: boolean;
175
176
  phone: string;
176
177
  email: string;
178
+ titleTag?: 'h2' | 'h3';
177
179
  }
178
180
 
179
181
  interface CardRelatedProps {
@@ -182,6 +184,7 @@ interface CardRelatedProps {
182
184
  title: string;
183
185
  subtitle: string;
184
186
  href: string;
187
+ titleTag?: 'h2' | 'h3';
185
188
  }
186
189
 
187
190
  interface CardImageProps {
@@ -205,7 +208,7 @@ interface CardFeaturedNewsProps {
205
208
  location?: string;
206
209
  copy?: string;
207
210
  isPrimary?: boolean;
208
- titleTag: 'h2' | 'h3';
211
+ titleTag: 'h2' | 'h3' | 'h4';
209
212
  }
210
213
 
211
214
  interface CarouselProps {
@@ -213,10 +216,11 @@ interface CarouselProps {
213
216
  inverse?: boolean;
214
217
  type: string;
215
218
  title?: string;
219
+ useH3ForCards?: boolean;
216
220
  cards: Omit<CardNewsProps, 'titleTag'>[] | CardFeaturedProps[] | CardVideoProps[] | CardPromoProps[] | CardPromoSignpostProps[] | CardPromoVideoProps[] | CardStaffProps[] | CardRelatedProps[] | CardImageProps[] | CardFeaturedNewsProps[];
217
221
  exploreMore?: string;
218
222
  }
219
- declare function Carousel({ theme, inverse, type, title, cards, exploreMore }: CarouselProps): ReactElement;
223
+ declare function Carousel({ theme, inverse, type, title, cards, useH3ForCards, exploreMore }: CarouselProps): ReactElement;
220
224
 
221
225
  interface FeaturedContentProps {
222
226
  /**
@@ -270,7 +274,7 @@ interface FeaturedVideoProps {
270
274
  */
271
275
  declare function FeaturedVideo({ theme, title, image, youtubeId, youtubeButtonLabel, audioYoutubeButtonLabel, audioYoutubeId }: FeaturedVideoProps): ReactElement | null;
272
276
 
273
- 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' | 'briefcase' | 'notepad' | 'external' | 'clearing-tick' | 'phone' | 'email' | 'quote-marks' | 'calendar' | 'clock' | 'internet' | 'slim-location' | 'bathroom' | 'catering' | 'pound' | 'scroll' | 'settings';
277
+ 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' | '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';
274
278
 
275
279
  interface FooterLinkProps {
276
280
  label: string;
@@ -501,7 +505,7 @@ interface SignPostProps {
501
505
  }
502
506
  type SignPostItem = {
503
507
  title: string;
504
- tag: string;
508
+ tag?: string;
505
509
  linkLabel: string;
506
510
  linkUrl: string;
507
511
  external?: boolean;
@@ -842,11 +846,12 @@ declare function Pagination({ theme, numOfPages, onClick, currentPage }: Paginat
842
846
  interface StaffListingCarouselProps {
843
847
  theme: ThemeProps;
844
848
  inverse?: boolean;
849
+ fullWidth?: boolean;
845
850
  heading: string;
846
851
  cards: CardStaffProps[];
847
852
  singleLink: LinkWithArrowProps;
848
853
  }
849
- declare function StaffListingCarousel({ theme, inverse, heading, cards, singleLink }: StaffListingCarouselProps): ReactElement;
854
+ declare function StaffListingCarousel({ theme, inverse, fullWidth, heading, cards, singleLink }: StaffListingCarouselProps): ReactElement;
850
855
 
851
856
  interface RelatedCoursesProps {
852
857
  theme: ThemeProps;
@@ -1105,4 +1110,12 @@ interface NewsArticlesPromoBlockProps {
1105
1110
  }
1106
1111
  declare function NewsArticlesPromoBlock({ theme, heading, cards }: NewsArticlesPromoBlockProps): ReactElement;
1107
1112
 
1108
- export { Accordion, AcreditationPromotion, Breadcrumbs, CTAComponent, Carousel, ClearingBanner, CourseDeliveryPills, FeaturedContent, FeaturedSignpost, FeaturedVideo, Footer, GeneralSearchFilter, Header, Hero, HeroCarousel, ImageBlock, ImageCarousel, IntroText, LeadNewsArticles, ListingFilterWrapper, ListingResults, ListingResultsCount, MainWrapper, NewsArticlesPromoBlock, Pagination, PromoBlock, QuoteBlock, RelatedCourses, RichText, SearchCourses, SignPost, SkipToContent, StaffListingCarousel, StandardListingFilter, TabsBlock, TextWithBackground, TopicSelector, VideoCardComponent, VideoEmbed };
1113
+ interface FiveArticlesGridProps {
1114
+ theme: ThemeProps;
1115
+ heading?: string;
1116
+ featuredArticle: CardFeaturedNewsProps;
1117
+ otherLeadArticles: Omit<CardFeaturedNewsProps, 'theme'>[];
1118
+ }
1119
+ declare function FiveArticlesGrid({ theme, heading, featuredArticle, otherLeadArticles }: FiveArticlesGridProps): ReactElement;
1120
+
1121
+ export { Accordion, AcreditationPromotion, Breadcrumbs, CTAComponent, Carousel, ClearingBanner, CourseDeliveryPills, FeaturedContent, FeaturedSignpost, FeaturedVideo, FiveArticlesGrid, Footer, GeneralSearchFilter, Header, Hero, HeroCarousel, ImageBlock, ImageCarousel, IntroText, LeadNewsArticles, ListingFilterWrapper, ListingResults, ListingResultsCount, MainWrapper, NewsArticlesPromoBlock, Pagination, PromoBlock, QuoteBlock, RelatedCourses, RichText, SearchCourses, SignPost, SkipToContent, StaffListingCarousel, StandardListingFilter, TabsBlock, TextWithBackground, TopicSelector, VideoCardComponent, VideoEmbed };