@royaloperahouse/chord 1.1.0 → 1.2.10

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 (132) hide show
  1. package/CHANGELOG.md +196 -4
  2. package/README.GIT +211 -56
  3. package/README.md +2 -2
  4. package/dist/chord.cjs.development.js +4009 -1673
  5. package/dist/chord.cjs.development.js.map +1 -1
  6. package/dist/chord.cjs.production.min.js +1 -1
  7. package/dist/chord.cjs.production.min.js.map +1 -1
  8. package/dist/chord.esm.js +4109 -1787
  9. package/dist/chord.esm.js.map +1 -1
  10. package/dist/components/atoms/Icons/SvgIcons/Logos/Social/X.svg.d.ts +4 -0
  11. package/dist/components/atoms/Icons/SvgIcons/index.d.ts +1 -0
  12. package/dist/components/atoms/Progress/Progress.d.ts +1 -1
  13. package/dist/components/atoms/Progress/Progress.styles.d.ts +10 -3
  14. package/dist/components/atoms/Radio/Radio.d.ts +3 -0
  15. package/dist/components/atoms/Radio/Radio.style.d.ts +4 -0
  16. package/dist/components/atoms/Radio/index.d.ts +2 -0
  17. package/dist/components/atoms/Sponsorship/Sponsorship.style.d.ts +2 -0
  18. package/dist/components/atoms/Stepper/Stepper.d.ts +58 -0
  19. package/dist/components/atoms/Stepper/Stepper.style.d.ts +6 -0
  20. package/dist/components/atoms/Stepper/index.d.ts +2 -0
  21. package/dist/components/atoms/TextArea/TextArea.d.ts +44 -0
  22. package/dist/components/atoms/TextArea/TextArea.style.d.ts +5 -0
  23. package/dist/components/atoms/TextArea/index.d.ts +2 -0
  24. package/dist/components/atoms/TextField/TextField.d.ts +41 -0
  25. package/dist/components/atoms/TextField/TextField.style.d.ts +5 -0
  26. package/dist/components/atoms/TextField/index.d.ts +2 -0
  27. package/dist/components/atoms/TextLogo/TextLogo.d.ts +13 -0
  28. package/dist/components/atoms/TextLogo/index.d.ts +2 -0
  29. package/dist/components/atoms/TextLogo/styled.d.ts +12 -0
  30. package/dist/components/atoms/Tickbox/Tickbox.style.d.ts +5 -0
  31. package/dist/components/atoms/Timer/Timer.d.ts +4 -0
  32. package/dist/components/atoms/Timer/Timer.style.d.ts +9 -0
  33. package/dist/components/atoms/Timer/index.d.ts +2 -0
  34. package/dist/components/atoms/Typography/Typography.d.ts +1 -1
  35. package/dist/components/atoms/VideoControls/VideoControls.d.ts +9 -0
  36. package/dist/components/atoms/VideoControls/VideoControls.style.d.ts +10 -0
  37. package/dist/components/atoms/VideoControls/index.d.ts +2 -0
  38. package/dist/components/atoms/index.d.ts +14 -6
  39. package/dist/components/index.d.ts +4 -4
  40. package/dist/components/molecules/Basket/Basket.d.ts +3 -0
  41. package/dist/components/molecules/Basket/helpers.d.ts +3 -0
  42. package/dist/components/molecules/Basket/hooks.d.ts +8 -0
  43. package/dist/components/molecules/Card/Card.style.d.ts +13 -1
  44. package/dist/components/molecules/ContentSummary/ContentSummary.d.ts +3 -0
  45. package/dist/components/molecules/ContentSummary/ContentSummary.style.d.ts +17 -0
  46. package/dist/components/molecules/ContentSummary/ContentSummaryData.d.ts +25 -0
  47. package/dist/components/molecules/ContentSummary/index.d.ts +2 -0
  48. package/dist/components/molecules/MiniCard/MiniCard.d.ts +4 -0
  49. package/dist/components/molecules/MiniCard/MiniCard.style.d.ts +6 -0
  50. package/dist/components/molecules/MiniCard/index.d.ts +2 -0
  51. package/dist/components/molecules/NavTop/NavTop.d.ts +1 -1
  52. package/dist/components/molecules/PageHeading/Compact/Compact.d.ts +4 -0
  53. package/dist/components/molecules/PageHeading/Compact/Compact.style.d.ts +24 -0
  54. package/dist/components/molecules/PageHeading/Compact/components/CompactHeaderBranding.d.ts +10 -0
  55. package/dist/components/molecules/PageHeading/Compact/index.d.ts +2 -0
  56. package/dist/components/molecules/PageHeading/Impact/Impact.d.ts +1 -1
  57. package/dist/components/molecules/PageHeading/Impact/Impact.style.d.ts +1 -0
  58. package/dist/components/molecules/PageHeading/PageHeading.style.d.ts +6 -3
  59. package/dist/components/molecules/PageHeading/Panel/Panel.d.ts +4 -0
  60. package/dist/components/molecules/PageHeading/Panel/Panel.style.d.ts +9 -0
  61. package/dist/components/molecules/PageHeading/Panel/index.d.ts +2 -0
  62. package/dist/components/molecules/PageHeading/index.d.ts +3 -1
  63. package/dist/components/molecules/Pagination/Pagination.d.ts +9 -0
  64. package/dist/components/molecules/Pagination/Pagination.style.d.ts +8 -0
  65. package/dist/components/molecules/Pagination/index.d.ts +2 -0
  66. package/dist/components/molecules/PeopleListing/CreditListing/CreditListing.d.ts +3 -0
  67. package/dist/components/molecules/PeopleListing/CreditListing/CreditListing.style.d.ts +5 -0
  68. package/dist/components/molecules/PeopleListing/CreditListing/index.d.ts +2 -0
  69. package/dist/components/molecules/PeopleListing/index.d.ts +2 -1
  70. package/dist/components/molecules/PromoWithTags/PromoWithTags.d.ts +1 -1
  71. package/dist/components/molecules/PromoWithTags/PromoWithTags.style.d.ts +11 -4
  72. package/dist/components/molecules/RadioGroup/RadioGroup.d.ts +3 -0
  73. package/dist/components/molecules/RadioGroup/RadioGroup.style.d.ts +1 -0
  74. package/dist/components/molecules/RadioGroup/index.d.ts +2 -0
  75. package/dist/components/molecules/SearchBar/SearchBar.style.d.ts +1 -0
  76. package/dist/components/molecules/Select/Select.d.ts +99 -0
  77. package/dist/components/molecules/Select/Select.style.d.ts +14 -0
  78. package/dist/components/molecules/Select/index.d.ts +2 -0
  79. package/dist/components/molecules/UpsellCard/OfferText.d.ts +2 -0
  80. package/dist/components/molecules/UpsellCard/UpsellCard.d.ts +4 -0
  81. package/dist/components/molecules/UpsellCard/UpsellCard.style.d.ts +15 -0
  82. package/dist/components/molecules/UpsellCard/index.d.ts +2 -0
  83. package/dist/components/molecules/UpsellCards/UpsellCards.d.ts +4 -0
  84. package/dist/components/molecules/UpsellCards/UpsellCards.style.d.ts +1 -0
  85. package/dist/components/molecules/UpsellCards/index.d.ts +2 -0
  86. package/dist/components/molecules/index.d.ts +10 -3
  87. package/dist/components/organisms/AnchorTabBar/AnchorTabBar.style.d.ts +4 -3
  88. package/dist/components/organisms/Navigation/Navigation.style.d.ts +6 -2
  89. package/dist/components/organisms/StickyBar/StickyBar.style.d.ts +5 -1
  90. package/dist/components/organisms/UpsellSection/UpsellSection.d.ts +4 -0
  91. package/dist/components/organisms/UpsellSection/UpsellSection.style.d.ts +3 -0
  92. package/dist/components/organisms/UpsellSection/index.d.ts +2 -0
  93. package/dist/components/organisms/index.d.ts +2 -3
  94. package/dist/helpers/arrays.d.ts +6 -0
  95. package/dist/helpers/defaultValues.d.ts +7 -0
  96. package/dist/helpers/devices.d.ts +3 -0
  97. package/dist/helpers/formatStrings.d.ts +2 -0
  98. package/dist/helpers/htmlStrings.d.ts +2 -0
  99. package/dist/helpers/urls.d.ts +2 -0
  100. package/dist/index.d.ts +6 -4
  101. package/dist/styles/themes.d.ts +1172 -96
  102. package/dist/styles/viewports.d.ts +3 -0
  103. package/dist/types/card.d.ts +40 -0
  104. package/dist/types/carousel.d.ts +22 -1
  105. package/dist/types/creditListing.d.ts +12 -0
  106. package/dist/types/editorial.d.ts +59 -55
  107. package/dist/types/formTypes.d.ts +170 -0
  108. package/dist/types/impactHeader.d.ts +122 -0
  109. package/dist/types/index.d.ts +4 -1
  110. package/dist/types/miniCard.d.ts +27 -0
  111. package/dist/types/navigation.d.ts +68 -4
  112. package/dist/types/progress.d.ts +33 -0
  113. package/dist/types/promoWithTags.d.ts +81 -0
  114. package/dist/types/tickbox.d.ts +35 -0
  115. package/dist/types/timer.d.ts +37 -0
  116. package/dist/types/types.d.ts +38 -9
  117. package/dist/types/typography.d.ts +18 -2
  118. package/dist/types/upsell.d.ts +78 -0
  119. package/dist/types/utility.d.ts +4 -0
  120. package/package.json +9 -4
  121. package/dist/components/atoms/Basket/Basket.d.ts +0 -3
  122. package/dist/components/organisms/Carousel/Carousel.d.ts +0 -5
  123. package/dist/components/organisms/Carousel/Carousel.style.d.ts +0 -6
  124. package/dist/components/organisms/Carousel/index.d.ts +0 -2
  125. package/dist/components/organisms/HighlightsCarousel/HighlightsCarousel.d.ts +0 -5
  126. package/dist/components/organisms/HighlightsCarousel/HighlightsCarousel.style.d.ts +0 -12
  127. package/dist/components/organisms/HighlightsCarousel/HighlightsCinema.d.ts +0 -4
  128. package/dist/components/organisms/HighlightsCarousel/HighlightsCore.d.ts +0 -4
  129. package/dist/components/organisms/HighlightsCarousel/HighlightsStream.d.ts +0 -4
  130. package/dist/components/organisms/HighlightsCarousel/index.d.ts +0 -5
  131. /package/dist/components/{atoms → molecules}/Basket/Basket.style.d.ts +0 -0
  132. /package/dist/components/{atoms → molecules}/Basket/index.d.ts +0 -0
@@ -2,12 +2,15 @@ export declare const breakpoints: {
2
2
  xs: number;
3
3
  sm: number;
4
4
  md: number;
5
+ ml: number;
5
6
  lg: number;
6
7
  };
7
8
  export declare const devices: {
9
+ smallMobile: string;
8
10
  mobile: string;
9
11
  tablet: string;
10
12
  mobileAndTablet: string;
11
13
  desktop: string;
14
+ smallDesktop: string;
12
15
  largeDesktop: string;
13
16
  };
@@ -1,5 +1,29 @@
1
1
  import { StyledProps } from 'styled-components';
2
+ import { Colors, IconNameType } from '.';
2
3
  import { PromoLinks } from './editorial';
4
+ import { DirectionType } from './iconTypes';
5
+ export interface CardLabelProps {
6
+ /**
7
+ * Label text
8
+ */
9
+ text: string;
10
+ /**
11
+ * Name of the icon to be used in the label
12
+ */
13
+ iconName?: IconNameType;
14
+ /**
15
+ * Direction of the icon used in the label
16
+ */
17
+ iconDirection?: DirectionType;
18
+ /**
19
+ * Icon color
20
+ */
21
+ color?: Colors;
22
+ /**
23
+ * Background color
24
+ */
25
+ bgColor?: Colors;
26
+ }
3
27
  export interface ICardProps {
4
28
  /**
5
29
  * The progress percentage
@@ -49,10 +73,22 @@ export interface ICardProps {
49
73
  * Defines if buttons are hidden; True by default;
50
74
  */
51
75
  onlyShowButtonsOnHover?: boolean;
76
+ /**
77
+ * Defines the color for a line that appears on hover
78
+ */
79
+ hoverLineColor?: Colors;
52
80
  /**
53
81
  * A callback to be called when the
54
82
  */
55
83
  onClick?: VoidFunction;
84
+ /**
85
+ * Renders label at the top of the card. E.g. Coming soon
86
+ */
87
+ labelParams?: CardLabelProps;
88
+ /**
89
+ * Defines if it is Card in the Grid or in the Carousel
90
+ */
91
+ isGridCard?: boolean;
56
92
  }
57
93
  export interface ICardContentContainerProps extends StyledProps<any> {
58
94
  /**
@@ -87,4 +123,8 @@ export interface ICardButtonContainerProps {
87
123
  * Hides buttons by default using opacity; shows buttons on
88
124
  */
89
125
  onlyShowButtonsOnHover?: boolean;
126
+ /**
127
+ * Set if content gets full width (same as image)
128
+ */
129
+ fullWidth?: boolean;
90
130
  }
@@ -2,6 +2,7 @@ import { ImgHTMLAttributes, ReactElement } from 'react';
2
2
  import { ICardProps } from './card';
3
3
  import { EditorialLink } from './editorial';
4
4
  import { IImageWithCaptionProps } from './image';
5
+ import { IntegratedTimerProps } from './timer';
5
6
  import { ILogosProps } from './types';
6
7
  export declare enum CarouselType {
7
8
  Image = "image",
@@ -12,7 +13,7 @@ export interface ICarouselProps {
12
13
  /**
13
14
  * Carousel title
14
15
  */
15
- title: string;
16
+ title?: string;
16
17
  /**
17
18
  * Carousel type.
18
19
  */
@@ -29,6 +30,10 @@ export interface ICarouselProps {
29
30
  * Carousel children (only Card and ImageAspectRatioWrapper children are allowed).
30
31
  */
31
32
  children: ReactElement<ICardProps | IImageWithCaptionProps>[];
33
+ /**
34
+ * Defines if there should be offset added at the beginning of the container. True by default;
35
+ */
36
+ useOffset?: boolean;
32
37
  }
33
38
  export interface ICarouselWrapperProps {
34
39
  /**
@@ -47,6 +52,14 @@ export interface ICarouselWrapperProps {
47
52
  * Only for image type. It sets the height in pixels of the slides in desktop(default 500)
48
53
  */
49
54
  imagesHeightDesktop?: number;
55
+ /**
56
+ * Additional top padding for slides in the carousel
57
+ */
58
+ slidesTopPadding?: number;
59
+ /**
60
+ * Sets overflow to swiper when specified
61
+ */
62
+ overflow?: string;
50
63
  }
51
64
  export declare type HighlightsCarouselSlideImage = ImgHTMLAttributes<HTMLImageElement> & {
52
65
  key: string;
@@ -68,6 +81,10 @@ export declare type HighlightsCarouselSlide = {
68
81
  * text in info section
69
82
  */
70
83
  infoText?: string;
84
+ /**
85
+ * additional info section
86
+ */
87
+ additionalInfo?: string;
71
88
  /**
72
89
  * Link in info section
73
90
  */
@@ -76,6 +93,10 @@ export declare type HighlightsCarouselSlide = {
76
93
  * Slide image
77
94
  */
78
95
  image: HighlightsCarouselSlideImage;
96
+ /**
97
+ * Params for Timer component
98
+ */
99
+ timerParams?: IntegratedTimerProps;
79
100
  };
80
101
  export interface IHighlightsCarouselProps {
81
102
  /**
@@ -0,0 +1,12 @@
1
+ import { ListingPerson } from './types';
2
+ export interface ICreditListing {
3
+ roles: {
4
+ name: string;
5
+ people: ListingPerson[];
6
+ description: string;
7
+ musicTitle: string[];
8
+ replacement: string;
9
+ additionalInfo: string;
10
+ dataROH: string;
11
+ }[];
12
+ }
@@ -1,8 +1,9 @@
1
- import { AnchorHTMLAttributes, MouseEventHandler, ReactElement, ReactNode } from 'react';
1
+ import { AnchorHTMLAttributes, ImgHTMLAttributes, MouseEventHandler, ReactElement, ReactNode } from 'react';
2
2
  import { StyledProps } from 'styled-components';
3
3
  import { ButtonType } from './buttonTypes';
4
4
  import { DirectionType, IconNameType } from './iconTypes';
5
- import { Colors, Image } from './types';
5
+ import { Colors } from './types';
6
+ import { TypographyLevel } from './typography';
6
7
  export interface IEditorialProps {
7
8
  /**
8
9
  * Text placed in the editorial component
@@ -42,12 +43,10 @@ export interface IEditorialGridProps {
42
43
  * Indicates if component should be hidden
43
44
  */
44
45
  hideSection?: boolean;
45
- }
46
- export interface IPromoWithTagsStyledProps {
47
46
  /**
48
- * Sets margin for the tags container
47
+ * Modifies styles to fixed height card
49
48
  */
50
- marginBottom?: number;
49
+ asCard?: boolean;
51
50
  }
52
51
  export declare type EditorialLink = AnchorHTMLAttributes<HTMLAnchorElement> & {
53
52
  /**
@@ -134,19 +133,7 @@ export interface IPageHeadingProps extends IThemePageHeadingProps {
134
133
  */
135
134
  children?: ReactNode;
136
135
  }
137
- export interface IPageHeadingImpactProps {
138
- /**
139
- * Text placed in the impact component
140
- */
141
- text?: string;
142
- /**
143
- * Link placed in the impact component
144
- */
145
- link?: EditorialLink;
146
- /**
147
- * Boolean to show/hide sponsorship logo (default true)
148
- */
149
- sponsor?: boolean;
136
+ export interface IImpactWrappersStyledProps extends StyledProps<any> {
150
137
  /**
151
138
  * Background url for desktops
152
139
  */
@@ -155,77 +142,94 @@ export interface IPageHeadingImpactProps {
155
142
  * Background url for devices
156
143
  */
157
144
  bgUrlDevice?: string;
145
+ }
146
+ export interface IHighlightsHeaderProps {
158
147
  /**
159
- * Logo to be placed in page heading component
148
+ * Text placed in the editorial component
160
149
  */
161
- children?: ReactNode;
150
+ title: string;
162
151
  /**
163
- * Internal anchor ref
152
+ * Subtitle placed in the editorial component
164
153
  */
165
- scrollHref?: string;
166
- }
167
- export interface IImpactWrappersStyledProps extends StyledProps<any> {
154
+ subtitle?: string;
168
155
  /**
169
- * Background url for desktops
156
+ * Text placed in the editorial component
170
157
  */
171
- bgUrlDesktop: string;
158
+ text?: string;
172
159
  /**
173
- * Background url for devices
160
+ * Explanation
174
161
  */
175
- bgUrlDevice?: string;
162
+ images?: Array<ImgHTMLAttributes<HTMLImageElement>>;
176
163
  }
177
- export interface IPromoWithTagsProps {
164
+ export declare type IContentSummaryLink = Omit<EditorialLink, 'buttonType' | 'bgColor' | 'iconName' | 'iconDirection'>;
165
+ interface IContentSummaryImageProps {
178
166
  /**
179
- * Text placed in the editorial component
167
+ * URL of the content summary image
180
168
  */
181
- text?: string;
169
+ src: string;
182
170
  /**
183
- * Title placed in the editorial component
171
+ * Alt text of the content summary image
184
172
  */
185
- title: string;
173
+ alt?: string;
174
+ }
175
+ export interface IContentSummaryProps {
186
176
  /**
187
- * Title size
177
+ * Title for content summary
188
178
  */
189
- titleSize?: 'small' | 'large';
179
+ title?: string;
190
180
  /**
191
- * Subtitle placed in the editorial component
181
+ * Subtitle field, used, e.g. for date in News summaries
192
182
  */
193
183
  subtitle?: string;
194
184
  /**
195
- * Position of the image in the editorial component
185
+ * Main text area for content summary item
196
186
  */
197
- imagePosition?: 'left' | 'right';
187
+ bodyText?: string;
198
188
  /**
199
- * Image to be displayed in the editorial component with aspect ratio 4:3
189
+ * Link object with text for cta, can also have <a> tag attributes href, target etc...
200
190
  */
201
- image?: Image;
191
+ link?: IContentSummaryLink;
202
192
  /**
203
- * Component to be displayed instead of the image after clicking on the button
193
+ * Image to display in the component with aspect ratio 1.3:1
204
194
  */
205
- children?: ReactElement<HTMLElement>;
195
+ image?: IContentSummaryImageProps;
206
196
  /**
207
- * Array of buttons props. First one should have PrimaryButton attributes, second one Tertiary button attributes
197
+ * Show an image to the left of the text or not
208
198
  */
209
- links?: PromoLinks;
199
+ showImage?: boolean;
210
200
  /**
211
- * Array of buttons props that will be displayed above the main buttons
201
+ * Display a larger title for e.g. displaying search results
212
202
  */
213
- textLinks?: EditorialLink[];
203
+ largeTitle?: boolean;
214
204
  /**
205
+ * Truncate the body text after the given number of lines
206
+ */
207
+ truncate?: number;
215
208
  /**
216
- * Array of tags in the editorial component
209
+ * Option to make the entire component clickable for search results
217
210
  */
218
- aboveTitleTags?: string[];
211
+ fullyClickable?: boolean;
219
212
  /**
220
- * Array of tags in the editorial component
213
+ * The base semantic header level for the component: 1 | 2 | 3 | 4 | 5 | 6
221
214
  */
222
- belowTitleTags?: string[];
215
+ baseSemanticLevel?: TypographyLevel;
216
+ }
217
+ export interface IPanelHeadingProps {
223
218
  /**
224
- * Text in the middle
219
+ * Content to display in the left hand panel
225
220
  */
226
- middleText?: string;
221
+ info: ReactElement<HTMLElement>;
222
+ /**
223
+ * Image to display in the right hand panel, aspect ratio 4:3
224
+ */
225
+ image?: ImgHTMLAttributes<HTMLImageElement>;
226
+ /**
227
+ * Colour of the info panel background
228
+ */
229
+ color?: Colors;
227
230
  /**
228
- * Text in the bottom
231
+ * Reference of the div to scroll to when clicking on Scroll Down
229
232
  */
230
- bottomText?: string;
233
+ scrollTo?: string;
231
234
  }
235
+ export {};
@@ -0,0 +1,170 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ import { IGridItemProps } from './types';
3
+ export interface ITextAreaProps extends Partial<IGridItemProps>, InputHTMLAttributes<HTMLTextAreaElement> {
4
+ /**
5
+ * A text label to be shown above the text area input box.
6
+ *
7
+ * Default: `undefined`
8
+ */
9
+ label?: string;
10
+ /**
11
+ * An error message to be shown below the text area input box.
12
+ *
13
+ * Default: `undefined`
14
+ */
15
+ error?: string;
16
+ /**
17
+ * Width in pixels.
18
+ *
19
+ * Default: 100% container width
20
+ */
21
+ width?: number;
22
+ /**
23
+ * Height in pixels..
24
+ *
25
+ * Default: `200px`
26
+ */
27
+ height?: number;
28
+ /**
29
+ * Specify whether or not the containing element has a dark background.
30
+ * This property affects the border colours for focused and error states.
31
+ *
32
+ * Default: `false`
33
+ */
34
+ darkMode?: boolean;
35
+ }
36
+ export interface ITextFieldProps extends InputHTMLAttributes<HTMLInputElement> {
37
+ /**
38
+ * A text label to be shown above the text input field.
39
+ */
40
+ label: string;
41
+ /**
42
+ * An error label to be shown below the text input field.
43
+ */
44
+ error?: string;
45
+ /**
46
+ * A style prop that allows us to change what colours to
47
+ * use for light or dark mode (e.g. text color, border color, etc...)
48
+ * based on the background color.
49
+ *
50
+ * Defaults to `false`.
51
+ */
52
+ darkMode?: boolean;
53
+ /**
54
+ * Width in pixels.
55
+ *
56
+ * Default: `196px`
57
+ *
58
+ */
59
+ width?: number;
60
+ }
61
+ export interface IOption<T> {
62
+ text: string;
63
+ readonly value: T;
64
+ }
65
+ export interface ISelectProps<T = unknown> {
66
+ /** The text label to be shown above the select component. */
67
+ label: string;
68
+ /**
69
+ * The options of the select component.
70
+ * If not provided OR provided an empty array,
71
+ * the component will be disabled.
72
+ */
73
+ options: readonly IOption<T>[];
74
+ /**
75
+ * Function to be ran when an option is selected.
76
+ */
77
+ onSelect: (value: IOption<T>['value'], text: IOption<T>['text']) => void;
78
+ /**
79
+ * Disables the select component
80
+ */
81
+ disabled?: boolean;
82
+ /**
83
+ * Style prop - sets the width of the select component in px.
84
+ */
85
+ width?: number | 'default';
86
+ /**
87
+ * Style prop - sets the height of the select component in px.
88
+ */
89
+ height?: number | 'default';
90
+ /**
91
+ * Opt-in to resetting the selected value to the first option,
92
+ * when the options change.
93
+ * Defaults to `false`;
94
+ */
95
+ resetWhenOptionsUpdate?: boolean;
96
+ }
97
+ export interface IStepperProps {
98
+ /** The initial value to display in the center of the element */
99
+ initialValue?: number;
100
+ /**
101
+ * Function to call when the left, minus button is clicked
102
+ */
103
+ minusAction?: () => void;
104
+ /**
105
+ * Function to call when the right, plus button is clicked
106
+ */
107
+ plusAction?: () => void;
108
+ /**
109
+ * Amount to increment and decrement by
110
+ */
111
+ step?: number;
112
+ /** An error message to be shown below the stepper.
113
+ *
114
+ * Default: `undefined`
115
+ */
116
+ error?: string;
117
+ /**
118
+ * A style prop that allows us to change what colours to
119
+ * use for light or dark mode (e.g. text color, border color, etc...)
120
+ * based on the background color.
121
+ *
122
+ * Defaults to `false`.
123
+ */
124
+ darkMode?: boolean;
125
+ /**
126
+ * Set disapled state
127
+ */
128
+ disabled?: boolean;
129
+ /**
130
+ * Minimum value allowed in the stepper
131
+ */
132
+ min?: number;
133
+ /**
134
+ * Maximum value allowed in the stepper
135
+ */
136
+ max?: number;
137
+ /**
138
+ * Description of the stepper function for screen readers,
139
+ * e.g. "Number of tickets"
140
+ */
141
+ accessibleName?: string;
142
+ }
143
+ export interface IRadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
144
+ /**
145
+ * A text label to be shown to the right of the radio.
146
+ *
147
+ * Default: `undefined`
148
+ */
149
+ label?: string;
150
+ /**
151
+ * An error message to be shown to the right of the radio button.
152
+ *
153
+ * Default: `undefined`
154
+ */
155
+ error?: string;
156
+ /**
157
+ * Callback on change of radio checked state.
158
+ */
159
+ onChange?: (label: string) => void;
160
+ }
161
+ export interface IRadioGroupProps extends Partial<IGridItemProps> {
162
+ /**
163
+ * Array of Radio Props
164
+ */
165
+ radios?: IRadioProps[];
166
+ /**
167
+ * Callback on change of radio group checked state.
168
+ */
169
+ onChange?: (checkedRadio: IRadioProps | undefined) => void;
170
+ }
@@ -0,0 +1,122 @@
1
+ import { ReactNode } from 'react';
2
+ import { EditorialLink } from '../types';
3
+ export interface IPageHeadingImpactProps {
4
+ /**
5
+ * Text placed in the impact component
6
+ */
7
+ text?: string;
8
+ /**
9
+ * Link placed in the impact component
10
+ */
11
+ link?: EditorialLink;
12
+ /**
13
+ * Boolean to show/hide sponsorship logo (default true)
14
+ */
15
+ sponsor?: boolean;
16
+ /**
17
+ * Data for custom sponsor
18
+ */
19
+ customSponsorImage?: CustomSponsorImageData;
20
+ /**
21
+ * Background url for desktops
22
+ */
23
+ bgUrlDesktop: string;
24
+ /**
25
+ * Background url for devices
26
+ */
27
+ bgUrlDevice?: string;
28
+ /**
29
+ * Alt text for the main image
30
+ */
31
+ bgImageAltText?: string;
32
+ /**
33
+ * Logo to be placed in page heading component
34
+ */
35
+ children?: ReactNode;
36
+ /**
37
+ * Internal anchor ref
38
+ */
39
+ scrollHref?: string;
40
+ }
41
+ export declare type BrandingStyle = 'BlockText' | 'BodyText' | 'StreamLogo' | 'CinemaLogo' | 'TextLink';
42
+ export interface IPageHeadingCompactProps {
43
+ /**
44
+ * Text placed in the impact component
45
+ */
46
+ title?: string;
47
+ /**
48
+ * Render title as small for long titles
49
+ */
50
+ smallTitle?: boolean;
51
+ /**
52
+ * Link placed in the impact component
53
+ */
54
+ link?: EditorialLink;
55
+ /**
56
+ * Boolean to show/hide sponsorship logo (default true)
57
+ */
58
+ sponsor?: boolean;
59
+ /**
60
+ * Data for custom sponsor
61
+ */
62
+ customSponsorImage?: CustomSponsorImageData;
63
+ /**
64
+ * Background url for desktops
65
+ */
66
+ bgUrlDesktop: string;
67
+ /**
68
+ * Background url for devices
69
+ */
70
+ bgUrlDevice?: string;
71
+ /**
72
+ * Alt text for the main image
73
+ */
74
+ bgImageAltText?: string;
75
+ /**
76
+ * Logo or Text to be placed in page heading component
77
+ * @type {string}
78
+ */
79
+ brandingStyle: BrandingStyle;
80
+ /**
81
+ * Link for the TextLink branding style option
82
+ */
83
+ brandingLink?: string;
84
+ /**
85
+ * Text to be placed in the branding section - BlockText, BodyText, or TextLink
86
+ */
87
+ brandingText?: string;
88
+ /**
89
+ * Flag whether to show inverted colors
90
+ * @default false
91
+ * @type {boolean}
92
+ * */
93
+ invert?: boolean;
94
+ /**
95
+ * Desktop video url
96
+ * @type {string}
97
+ * */
98
+ videoUrlDesktop?: string;
99
+ /**
100
+ * Mobile video url
101
+ * @type {string}
102
+ * */
103
+ videoUrlMobile?: string;
104
+ }
105
+ export interface CustomSponsorImageData {
106
+ /**
107
+ * Source URL for Sponsorship logo
108
+ */
109
+ src: string;
110
+ /**
111
+ * Alt Text for image.
112
+ */
113
+ altText?: string;
114
+ /**
115
+ * Used for Analytics.
116
+ */
117
+ dataRoh: string;
118
+ /**
119
+ * Used for Accessibility.
120
+ */
121
+ title: string;
122
+ }
@@ -7,4 +7,7 @@ import { AspectRatio } from './image';
7
7
  import { TickboxMode } from './tickbox';
8
8
  import { ButtonType } from './buttonTypes';
9
9
  import { EditorialLink } from './editorial';
10
- export { AspectRatio, ButtonType, CarouselType, Colors, EditorialLink, FooterData, IconNameType, INavigationProps, INavTopProps, TickboxMode, ThemeType, };
10
+ import { IPageHeadingCompactProps } from './impactHeader';
11
+ import { IntegratedTimerProps, ITimerProps } from './timer';
12
+ import { ICreditListing } from './creditListing';
13
+ export { AspectRatio, ButtonType, CarouselType, Colors, ICreditListing, EditorialLink, FooterData, IconNameType, IPageHeadingCompactProps, INavigationProps, INavTopProps, IntegratedTimerProps, ITimerProps, TickboxMode, ThemeType, };
@@ -0,0 +1,27 @@
1
+ import { IconNameType } from './iconTypes';
2
+ export interface IMiniCardProps {
3
+ /**
4
+ * Title placed in the component
5
+ */
6
+ title: string;
7
+ /**
8
+ * Subtitle placed in the component
9
+ */
10
+ subtitle?: string;
11
+ /**
12
+ * Image to render
13
+ */
14
+ image: string;
15
+ /**
16
+ * Image alt text
17
+ */
18
+ imageAltText: string;
19
+ /**
20
+ * An icon to be rendered in the middle of the image
21
+ */
22
+ iconName?: IconNameType;
23
+ /**
24
+ * A color for the icon
25
+ */
26
+ iconColor?: string;
27
+ }