@uob-web-and-digital/component-library 0.0.85 → 0.0.86

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' | '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' | 'co-present' | 'assignment-add' | 'cast-for-education' | 'live-tv' | 'supervisor-account' | 'experiment';
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' | 'star' | 'menu' | 'co-present' | 'assignment-add' | 'cast-for-education' | 'live-tv' | 'supervisor-account' | 'experiment' | 'footprint';
5
5
  export type IconProps = {
6
6
  /**
7
7
  * The theme to use
@@ -22,8 +22,12 @@ export interface FullModalProps {
22
22
  * Pass in the is open state
23
23
  */
24
24
  isOpen: boolean;
25
+ /**
26
+ * Whether the modal should be placed in the centre
27
+ */
28
+ centred?: boolean;
25
29
  }
26
30
  /**
27
31
  * Primary UI component for user interaction
28
32
  */
29
- export declare const FullModal: ({ theme, isOpen, closeModal, children }: FullModalProps) => ReactElement;
33
+ export declare const FullModal: ({ theme, isOpen, closeModal, children, centred }: FullModalProps) => ReactElement;
@@ -7,6 +7,7 @@ export interface CourseCardProps {
7
7
  type: 'course';
8
8
  image?: ImageProps;
9
9
  title: string;
10
+ titleTag?: string;
10
11
  url: string;
11
12
  description?: string;
12
13
  supervisors?: string;
@@ -14,4 +15,4 @@ export interface CourseCardProps {
14
15
  details: Omit<SearchResultDetailProps, 'theme'>[];
15
16
  showCategory?: boolean;
16
17
  }
17
- export default function CourseCard({ theme, type, image, title, url, description, supervisors, department, details, showCategory }: CourseCardProps): ReactElement;
18
+ export default function CourseCard({ theme, type, image, title, titleTag, url, description, supervisors, department, details, showCategory }: CourseCardProps): ReactElement;
@@ -16,3 +16,4 @@ export declare const StaffCard: Story;
16
16
  export declare const NewsCard: Story;
17
17
  export declare const AccomodationCard: Story;
18
18
  export declare const CourseCard: Story;
19
+ export declare const CourseCardH3Title: Story;
@@ -14,5 +14,6 @@ export interface EmbedWrapperProps {
14
14
  * The child components to show in the panel
15
15
  */
16
16
  children: ReactNode;
17
+ fullWidth?: boolean;
17
18
  }
18
- export default function EmbedWrapper({ theme, inverse, children }: EmbedWrapperProps): ReactElement;
19
+ export default function EmbedWrapper({ theme, inverse, children, fullWidth }: EmbedWrapperProps): ReactElement;
@@ -8,3 +8,4 @@ declare const meta: {
8
8
  export default meta;
9
9
  type Story = StoryObj<typeof EmbedWrapper>;
10
10
  export declare const Default: Story;
11
+ export declare const FullWidth: Story;
@@ -0,0 +1,12 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { ThemeProps } from '../../../themeProps';
3
+ import { GenericDetailProps } from '../../molecules/GenericDetail/GenericDetail';
4
+ import './LocationSection.scss';
5
+ export interface LocationSectionProps {
6
+ theme: ThemeProps;
7
+ embedChildren: ReactNode;
8
+ googleMapLink: string;
9
+ address: string[];
10
+ services?: Omit<GenericDetailProps, 'theme'>[];
11
+ }
12
+ export default function LocationSection({ theme, embedChildren, googleMapLink, address, services }: LocationSectionProps): ReactElement;
@@ -0,0 +1,10 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import LocationSection from './LocationSection';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof LocationSection;
6
+ tags: string[];
7
+ };
8
+ export default meta;
9
+ type Story = StoryObj<typeof meta>;
10
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ import { LocationSectionProps } from './LocationSection';
2
+ export declare const locationSectionProps: LocationSectionProps;
@@ -0,0 +1,14 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { ThemeProps } from '../../../themeProps';
3
+ import { HeadingProps } from '../../atoms/Heading/Heading';
4
+ import './modalCTA.scss';
5
+ export interface ModalCTAProps {
6
+ theme: ThemeProps;
7
+ heading: string;
8
+ inverse?: boolean;
9
+ description?: string;
10
+ buttonLabel: string;
11
+ modalChildren: ReactNode;
12
+ htmlTag?: HeadingProps['htmlTag'];
13
+ }
14
+ export default function ModalCTA({ theme, heading, inverse, description, buttonLabel, modalChildren, htmlTag }: ModalCTAProps): ReactElement;
@@ -0,0 +1,11 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import ModalCTA from './ModalCTA';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof ModalCTA;
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,2 @@
1
+ import { ModalCTAProps } from './ModalCTA';
2
+ export declare const modalCTAProps: ModalCTAProps;
package/dist/index.d.ts CHANGED
@@ -363,7 +363,7 @@ interface ParagraphLinkProps {
363
363
  externalLink?: boolean;
364
364
  }
365
365
 
366
- 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' | 'star' | 'menu' | 'co-present' | 'assignment-add' | 'cast-for-education' | 'live-tv' | 'supervisor-account' | 'experiment';
366
+ 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' | 'star' | 'menu' | 'co-present' | 'assignment-add' | 'cast-for-education' | 'live-tv' | 'supervisor-account' | 'experiment' | 'footprint';
367
367
  type IconProps = {
368
368
  /**
369
369
  * The theme to use
@@ -464,8 +464,9 @@ interface EmbedWrapperProps {
464
464
  * The child components to show in the panel
465
465
  */
466
466
  children: ReactNode;
467
+ fullWidth?: boolean;
467
468
  }
468
- declare function EmbedWrapper({ theme, inverse, children }: EmbedWrapperProps): ReactElement;
469
+ declare function EmbedWrapper({ theme, inverse, children, fullWidth }: EmbedWrapperProps): ReactElement;
469
470
 
470
471
  interface CardFactProps {
471
472
  theme: ThemeProps;
@@ -989,6 +990,7 @@ interface CourseCardProps {
989
990
  type: 'course';
990
991
  image?: ImageProps;
991
992
  title: string;
993
+ titleTag?: string;
992
994
  url: string;
993
995
  description?: string;
994
996
  supervisors?: string;
@@ -1564,4 +1566,24 @@ interface ScrollableTableProps extends RichTextProps {
1564
1566
  }
1565
1567
  declare function ScrollableTable({ text, theme, inverse, fullWidth, removeBottomPadding, tableCategory }: ScrollableTableProps): ReactElement;
1566
1568
 
1567
- 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, LocationSelector, type LocationSelectorProps, MainWrapper, type MainWrapperProps, 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 };
1569
+ interface ModalCTAProps {
1570
+ theme: ThemeProps;
1571
+ heading: string;
1572
+ inverse?: boolean;
1573
+ description?: string;
1574
+ buttonLabel: string;
1575
+ modalChildren: ReactNode;
1576
+ htmlTag?: HeadingProps$1['htmlTag'];
1577
+ }
1578
+ declare function ModalCTA({ theme, heading, inverse, description, buttonLabel, modalChildren, htmlTag }: ModalCTAProps): ReactElement;
1579
+
1580
+ interface LocationSectionProps {
1581
+ theme: ThemeProps;
1582
+ embedChildren: ReactNode;
1583
+ googleMapLink: string;
1584
+ address: string[];
1585
+ services?: Omit<GenericDetailProps, 'theme'>[];
1586
+ }
1587
+ declare function LocationSection({ theme, embedChildren, googleMapLink, address, services }: LocationSectionProps): ReactElement;
1588
+
1589
+ 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 };