@royaloperahouse/chord 0.1.0 → 0.3.0

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 (272) hide show
  1. package/README.md +9 -0
  2. package/dist/chord.cjs.development.js +567 -278
  3. package/dist/chord.cjs.development.js.map +1 -1
  4. package/dist/chord.cjs.production.min.js +1 -1
  5. package/dist/chord.cjs.production.min.js.map +1 -1
  6. package/dist/chord.esm.js +567 -279
  7. package/dist/chord.esm.js.map +1 -1
  8. package/dist/components/atoms/Account/Account.d.ts +1 -1
  9. package/dist/components/atoms/Basket/Basket.d.ts +1 -1
  10. package/dist/components/atoms/Dropdown/Dropdown.d.ts +1 -1
  11. package/dist/components/atoms/Dropdown/Dropdown.style.d.ts +1 -1
  12. package/dist/components/atoms/Icons/SvgIcons/index.d.ts +0 -1
  13. package/dist/components/atoms/Logo/Logo.d.ts +1 -1
  14. package/dist/components/atoms/Search/Search.d.ts +1 -1
  15. package/dist/components/atoms/SponsorLogo/SponsorLogo.d.ts +4 -0
  16. package/dist/components/atoms/SponsorLogo/SponsorLogo.style.d.ts +1 -0
  17. package/dist/components/atoms/SponsorLogo/index.d.ts +2 -0
  18. package/dist/components/atoms/Tab/Tab.d.ts +1 -1
  19. package/dist/components/atoms/index.d.ts +2 -1
  20. package/dist/components/molecules/NavTop/NavTop.d.ts +1 -1
  21. package/dist/components/molecules/Tabs/Tabs.d.ts +1 -1
  22. package/dist/components/molecules/Tabs/Tabs.style.d.ts +1 -1
  23. package/dist/components/organisms/Navigation/Navigation.d.ts +1 -1
  24. package/dist/index.d.ts +2 -2
  25. package/dist/styles/themes.d.ts +6 -0
  26. package/dist/types/navigation.d.ts +24 -0
  27. package/dist/types/types.d.ts +24 -2
  28. package/package.json +10 -6
  29. package/dist/components/atoms/Icons/SvgIcons/Logos/Sponsors/Sponsor.svg.d.ts +0 -4
  30. package/dist/components/atoms/Image/Image.d.ts +0 -38
  31. package/src/components/atoms/Account/Account.stories.tsx +0 -93
  32. package/src/components/atoms/Account/Account.test.tsx +0 -54
  33. package/src/components/atoms/Account/Account.tsx +0 -25
  34. package/src/components/atoms/Account/index.tsx +0 -3
  35. package/src/components/atoms/Basket/Basket.stories.tsx +0 -79
  36. package/src/components/atoms/Basket/Basket.style.tsx +0 -74
  37. package/src/components/atoms/Basket/Basket.test.tsx +0 -35
  38. package/src/components/atoms/Basket/Basket.tsx +0 -34
  39. package/src/components/atoms/Basket/index.tsx +0 -3
  40. package/src/components/atoms/Buttons/Button.style.tsx +0 -31
  41. package/src/components/atoms/Buttons/Button.tsx +0 -21
  42. package/src/components/atoms/Buttons/ButtonIconWrapper.style.tsx +0 -10
  43. package/src/components/atoms/Buttons/Buttons.stories.tsx +0 -77
  44. package/src/components/atoms/Buttons/Primary/PrimaryButton.stories.tsx +0 -94
  45. package/src/components/atoms/Buttons/Primary/PrimaryButton.test.tsx +0 -39
  46. package/src/components/atoms/Buttons/Primary/PrimaryButton.tsx +0 -14
  47. package/src/components/atoms/Buttons/Primary/PrimaryButtonWrapper.style.tsx +0 -11
  48. package/src/components/atoms/Buttons/Secondary/SecondaryButton.stories.tsx +0 -84
  49. package/src/components/atoms/Buttons/Secondary/SecondaryButton.test.tsx +0 -39
  50. package/src/components/atoms/Buttons/Secondary/SecondaryButton.tsx +0 -14
  51. package/src/components/atoms/Buttons/Secondary/SecondaryButtonWrapper.style.tsx +0 -11
  52. package/src/components/atoms/Buttons/Tertiary/TertiaryButton.stories.tsx +0 -73
  53. package/src/components/atoms/Buttons/Tertiary/TertiaryButton.style.tsx +0 -29
  54. package/src/components/atoms/Buttons/Tertiary/TertiaryButton.test.tsx +0 -29
  55. package/src/components/atoms/Buttons/Tertiary/TertiaryButton.tsx +0 -18
  56. package/src/components/atoms/Buttons/index.tsx +0 -5
  57. package/src/components/atoms/Dropdown/Dropdown.stories.tsx +0 -153
  58. package/src/components/atoms/Dropdown/Dropdown.style.tsx +0 -64
  59. package/src/components/atoms/Dropdown/Dropdown.test.tsx +0 -67
  60. package/src/components/atoms/Dropdown/Dropdown.tsx +0 -131
  61. package/src/components/atoms/Dropdown/index.tsx +0 -3
  62. package/src/components/atoms/Grid/Grid.stories.tsx +0 -127
  63. package/src/components/atoms/Grid/Grid.test.tsx +0 -17
  64. package/src/components/atoms/Grid/Grid.tsx +0 -11
  65. package/src/components/atoms/Grid/GridItem.test.tsx +0 -25
  66. package/src/components/atoms/Grid/GridItem.tsx +0 -24
  67. package/src/components/atoms/Grid/index.tsx +0 -3
  68. package/src/components/atoms/Heading/Heading.stories.tsx +0 -44
  69. package/src/components/atoms/Heading/Heading.style.tsx +0 -14
  70. package/src/components/atoms/Heading/Heading.test.tsx +0 -13
  71. package/src/components/atoms/Heading/Heading.tsx +0 -15
  72. package/src/components/atoms/Heading/index.tsx +0 -3
  73. package/src/components/atoms/Icons/Icons.stories.tsx +0 -190
  74. package/src/components/atoms/Icons/Icons.style.tsx +0 -24
  75. package/src/components/atoms/Icons/Icons.test.tsx +0 -31
  76. package/src/components/atoms/Icons/Icons.tsx +0 -20
  77. package/src/components/atoms/Icons/StorybookSupport/Iconography.tsx +0 -27
  78. package/src/components/atoms/Icons/StorybookSupport/IconsDiv.style.tsx +0 -49
  79. package/src/components/atoms/Icons/SvgIcons/12px/Remove.svg.tsx +0 -11
  80. package/src/components/atoms/Icons/SvgIcons/12px/Tick.svg.tsx +0 -11
  81. package/src/components/atoms/Icons/SvgIcons/Actions/AddToMyList.svg.tsx +0 -13
  82. package/src/components/atoms/Icons/SvgIcons/Actions/BookTickets.svg.tsx +0 -20
  83. package/src/components/atoms/Icons/SvgIcons/Actions/ChooseDates.svg.tsx +0 -11
  84. package/src/components/atoms/Icons/SvgIcons/Actions/EditMyList.svg.tsx +0 -16
  85. package/src/components/atoms/Icons/SvgIcons/Actions/Filter.svg.tsx +0 -19
  86. package/src/components/atoms/Icons/SvgIcons/Actions/FindAScreening.svg.tsx +0 -31
  87. package/src/components/atoms/Icons/SvgIcons/Actions/OnMyList.svg.tsx +0 -16
  88. package/src/components/atoms/Icons/SvgIcons/Actions/Reminder.svg.tsx +0 -11
  89. package/src/components/atoms/Icons/SvgIcons/Actions/Subscribe.svg.tsx +0 -9
  90. package/src/components/atoms/Icons/SvgIcons/Actions/Watch.svg.tsx +0 -9
  91. package/src/components/atoms/Icons/SvgIcons/Arrows/Arrow.svg.tsx +0 -11
  92. package/src/components/atoms/Icons/SvgIcons/Arrows/CarouselArrow.svg.tsx +0 -11
  93. package/src/components/atoms/Icons/SvgIcons/Arrows/DropdownArrow.svg.tsx +0 -8
  94. package/src/components/atoms/Icons/SvgIcons/Descriptors/Cinema.svg.tsx +0 -31
  95. package/src/components/atoms/Icons/SvgIcons/Descriptors/Clock.svg.tsx +0 -15
  96. package/src/components/atoms/Icons/SvgIcons/Descriptors/CreditCard.svg.tsx +0 -19
  97. package/src/components/atoms/Icons/SvgIcons/Descriptors/Email.svg.tsx +0 -11
  98. package/src/components/atoms/Icons/SvgIcons/Descriptors/Info.svg.tsx +0 -13
  99. package/src/components/atoms/Icons/SvgIcons/Descriptors/List.svg.tsx +0 -22
  100. package/src/components/atoms/Icons/SvgIcons/Descriptors/Location.svg.tsx +0 -15
  101. package/src/components/atoms/Icons/SvgIcons/Descriptors/PDF.svg.tsx +0 -20
  102. package/src/components/atoms/Icons/SvgIcons/Descriptors/Phone.svg.tsx +0 -11
  103. package/src/components/atoms/Icons/SvgIcons/Descriptors/Print.svg.tsx +0 -11
  104. package/src/components/atoms/Icons/SvgIcons/Descriptors/Secure.svg.tsx +0 -15
  105. package/src/components/atoms/Icons/SvgIcons/Descriptors/Tickets.svg.tsx +0 -13
  106. package/src/components/atoms/Icons/SvgIcons/Logos/Social/Facebook.svg.tsx +0 -11
  107. package/src/components/atoms/Icons/SvgIcons/Logos/Social/Instagram.svg.tsx +0 -19
  108. package/src/components/atoms/Icons/SvgIcons/Logos/Social/Tiktok.svg.tsx +0 -11
  109. package/src/components/atoms/Icons/SvgIcons/Logos/Social/Twitter.svg.tsx +0 -11
  110. package/src/components/atoms/Icons/SvgIcons/Logos/Social/Youtube.svg.tsx +0 -11
  111. package/src/components/atoms/Icons/SvgIcons/Logos/Sponsors/Sponsor.svg.tsx +0 -26
  112. package/src/components/atoms/Icons/SvgIcons/Navigation/BalletAndDance.svg.tsx +0 -11
  113. package/src/components/atoms/Icons/SvgIcons/Navigation/Basket.svg.tsx +0 -11
  114. package/src/components/atoms/Icons/SvgIcons/Navigation/BasketFull.svg.tsx +0 -11
  115. package/src/components/atoms/Icons/SvgIcons/Navigation/Home.svg.tsx +0 -11
  116. package/src/components/atoms/Icons/SvgIcons/Navigation/LiveStream.svg.tsx +0 -24
  117. package/src/components/atoms/Icons/SvgIcons/Navigation/Menu.svg.tsx +0 -10
  118. package/src/components/atoms/Icons/SvgIcons/Navigation/OperaAndMusic.svg.tsx +0 -17
  119. package/src/components/atoms/Icons/SvgIcons/Navigation/Search.svg.tsx +0 -11
  120. package/src/components/atoms/Icons/SvgIcons/Navigation/Settings.svg.tsx +0 -15
  121. package/src/components/atoms/Icons/SvgIcons/Navigation/User.svg.tsx +0 -15
  122. package/src/components/atoms/Icons/SvgIcons/Navigation/UserSignedIn.svg.tsx +0 -12
  123. package/src/components/atoms/Icons/SvgIcons/Text/Delete.svg.tsx +0 -12
  124. package/src/components/atoms/Icons/SvgIcons/Text/Shift.svg.tsx +0 -8
  125. package/src/components/atoms/Icons/SvgIcons/Text/Space.svg.tsx +0 -8
  126. package/src/components/atoms/Icons/SvgIcons/Utility/Close.svg.tsx +0 -11
  127. package/src/components/atoms/Icons/SvgIcons/Utility/Confirm.svg.tsx +0 -8
  128. package/src/components/atoms/Icons/SvgIcons/Utility/Detract.svg.tsx +0 -8
  129. package/src/components/atoms/Icons/SvgIcons/Utility/Expand.svg.tsx +0 -8
  130. package/src/components/atoms/Icons/SvgIcons/Utility/ExternalLink.svg.tsx +0 -12
  131. package/src/components/atoms/Icons/SvgIcons/Utility/GridView.svg.tsx +0 -11
  132. package/src/components/atoms/Icons/SvgIcons/Utility/ListView.svg.tsx +0 -10
  133. package/src/components/atoms/Icons/SvgIcons/Utility/Refresh.svg.tsx +0 -15
  134. package/src/components/atoms/Icons/SvgIcons/Video/AudioDescription.svg.tsx +0 -16
  135. package/src/components/atoms/Icons/SvgIcons/Video/Back10.svg.tsx +0 -16
  136. package/src/components/atoms/Icons/SvgIcons/Video/Clips.svg.tsx +0 -10
  137. package/src/components/atoms/Icons/SvgIcons/Video/Forward10.svg.tsx +0 -16
  138. package/src/components/atoms/Icons/SvgIcons/Video/FullScreen.svg.tsx +0 -11
  139. package/src/components/atoms/Icons/SvgIcons/Video/Minimise.svg.tsx +0 -11
  140. package/src/components/atoms/Icons/SvgIcons/Video/Muted.svg.tsx +0 -15
  141. package/src/components/atoms/Icons/SvgIcons/Video/Pause.svg.tsx +0 -9
  142. package/src/components/atoms/Icons/SvgIcons/Video/Play.svg.tsx +0 -9
  143. package/src/components/atoms/Icons/SvgIcons/Video/Restart.svg.tsx +0 -11
  144. package/src/components/atoms/Icons/SvgIcons/Video/Subtitles.svg.tsx +0 -17
  145. package/src/components/atoms/Icons/SvgIcons/Video/Trailer.svg.tsx +0 -12
  146. package/src/components/atoms/Icons/SvgIcons/Video/Volume.svg.tsx +0 -19
  147. package/src/components/atoms/Icons/SvgIcons/index.tsx +0 -149
  148. package/src/components/atoms/Icons/__snapshots__/Icons.test.tsx.snap +0 -1954
  149. package/src/components/atoms/Icons/index.tsx +0 -2
  150. package/src/components/atoms/Image/Image.tsx +0 -72
  151. package/src/components/atoms/ImageAspectRatioWrapper/ImageAspectRatio.test.tsx +0 -23
  152. package/src/components/atoms/ImageAspectRatioWrapper/ImageAspectRatioWrapper.stories.tsx +0 -71
  153. package/src/components/atoms/ImageAspectRatioWrapper/ImageAspectRatioWrapper.tsx +0 -15
  154. package/src/components/atoms/ImageAspectRatioWrapper/index.tsx +0 -3
  155. package/src/components/atoms/IndividualListing/IndividualListing.stories.tsx +0 -51
  156. package/src/components/atoms/IndividualListing/IndividualListing.style.tsx +0 -33
  157. package/src/components/atoms/IndividualListing/IndividualListing.test.tsx +0 -30
  158. package/src/components/atoms/IndividualListing/IndividualListing.tsx +0 -22
  159. package/src/components/atoms/IndividualListing/index.tsx +0 -3
  160. package/src/components/atoms/Logo/Logo.stories.tsx +0 -48
  161. package/src/components/atoms/Logo/Logo.style.tsx +0 -18
  162. package/src/components/atoms/Logo/Logo.tsx +0 -30
  163. package/src/components/atoms/Logo/index.tsx +0 -3
  164. package/src/components/atoms/Search/Search.stories.tsx +0 -63
  165. package/src/components/atoms/Search/Search.style.tsx +0 -36
  166. package/src/components/atoms/Search/Search.test.tsx +0 -24
  167. package/src/components/atoms/Search/Search.tsx +0 -16
  168. package/src/components/atoms/Search/index.tsx +0 -3
  169. package/src/components/atoms/SectionSplitter/SectionSplitter.stories.tsx +0 -47
  170. package/src/components/atoms/SectionSplitter/SectionSplitter.style.tsx +0 -11
  171. package/src/components/atoms/SectionSplitter/SectionSplitter.tsx +0 -22
  172. package/src/components/atoms/SectionSplitter/index.tsx +0 -3
  173. package/src/components/atoms/Sponsorship/Sponsorship.stories.tsx +0 -38
  174. package/src/components/atoms/Sponsorship/Sponsorship.test.tsx +0 -36
  175. package/src/components/atoms/Sponsorship/Sponsorship.tsx +0 -53
  176. package/src/components/atoms/Sponsorship/index.tsx +0 -3
  177. package/src/components/atoms/Tab/Tab.stories.tsx +0 -67
  178. package/src/components/atoms/Tab/Tab.style.tsx +0 -105
  179. package/src/components/atoms/Tab/Tab.test.tsx +0 -28
  180. package/src/components/atoms/Tab/Tab.tsx +0 -34
  181. package/src/components/atoms/Tab/index.tsx +0 -3
  182. package/src/components/atoms/TextLink/TextLink.stories.tsx +0 -81
  183. package/src/components/atoms/TextLink/TextLink.style.tsx +0 -26
  184. package/src/components/atoms/TextLink/TextLink.test.tsx +0 -39
  185. package/src/components/atoms/TextLink/TextLink.tsx +0 -20
  186. package/src/components/atoms/TextLink/index.tsx +0 -3
  187. package/src/components/atoms/TypeTags/TypeTags.stories.tsx +0 -57
  188. package/src/components/atoms/TypeTags/TypeTags.style.tsx +0 -28
  189. package/src/components/atoms/TypeTags/TypeTags.test.tsx +0 -21
  190. package/src/components/atoms/TypeTags/TypeTags.tsx +0 -15
  191. package/src/components/atoms/TypeTags/index.tsx +0 -3
  192. package/src/components/atoms/index.tsx +0 -22
  193. package/src/components/index.tsx +0 -38
  194. package/src/components/molecules/ContactNewsletter/ContactNewsletter.style.tsx +0 -116
  195. package/src/components/molecules/ContactNewsletter/ContactNewsletter.test.tsx +0 -85
  196. package/src/components/molecules/ContactNewsletter/ContactNewsletter.tsx +0 -51
  197. package/src/components/molecules/ContactNewsletter/index.tsx +0 -3
  198. package/src/components/molecules/Editorial/Editorial.stories.tsx +0 -78
  199. package/src/components/molecules/Editorial/Editorial.style.tsx +0 -73
  200. package/src/components/molecules/Editorial/Editorial.test.tsx +0 -73
  201. package/src/components/molecules/Editorial/Editorial.tsx +0 -32
  202. package/src/components/molecules/Editorial/index.tsx +0 -3
  203. package/src/components/molecules/NavTop/NavTop.stories.tsx +0 -95
  204. package/src/components/molecules/NavTop/NavTop.style.tsx +0 -14
  205. package/src/components/molecules/NavTop/NavTop.test.tsx +0 -113
  206. package/src/components/molecules/NavTop/NavTop.tsx +0 -27
  207. package/src/components/molecules/NavTop/index.tsx +0 -3
  208. package/src/components/molecules/PeopleListing/PeopleListing.stories.tsx +0 -185
  209. package/src/components/molecules/PeopleListing/PeopleListing.style.tsx +0 -8
  210. package/src/components/molecules/PeopleListing/PeopleListing.test.tsx +0 -24
  211. package/src/components/molecules/PeopleListing/PeopleListing.tsx +0 -27
  212. package/src/components/molecules/PeopleListing/index.tsx +0 -3
  213. package/src/components/molecules/PolicyLinks/PolicyLinks.style.tsx +0 -41
  214. package/src/components/molecules/PolicyLinks/PolicyLinks.test.tsx +0 -28
  215. package/src/components/molecules/PolicyLinks/PolicyLinks.tsx +0 -19
  216. package/src/components/molecules/PolicyLinks/index.tsx +0 -3
  217. package/src/components/molecules/PromoWithTitle/PromoWithTitle.stories.tsx +0 -119
  218. package/src/components/molecules/PromoWithTitle/PromoWithTitle.style.tsx +0 -108
  219. package/src/components/molecules/PromoWithTitle/PromoWithTitle.test.tsx +0 -75
  220. package/src/components/molecules/PromoWithTitle/PromoWithTitle.tsx +0 -53
  221. package/src/components/molecules/PromoWithTitle/index.tsx +0 -3
  222. package/src/components/molecules/SearchBar/SearchBar.stories.tsx +0 -35
  223. package/src/components/molecules/SearchBar/SearchBar.style.tsx +0 -66
  224. package/src/components/molecules/SearchBar/SearchBar.test.tsx +0 -63
  225. package/src/components/molecules/SearchBar/SearchBar.tsx +0 -69
  226. package/src/components/molecules/SearchBar/index.tsx +0 -3
  227. package/src/components/molecules/SectionTitle/SectionTitle.stories.tsx +0 -68
  228. package/src/components/molecules/SectionTitle/SectionTitle.style.tsx +0 -34
  229. package/src/components/molecules/SectionTitle/SectionTitle.test.tsx +0 -35
  230. package/src/components/molecules/SectionTitle/SectionTitle.tsx +0 -25
  231. package/src/components/molecules/SectionTitle/index.tsx +0 -3
  232. package/src/components/molecules/Tabs/Tabs.stories.tsx +0 -101
  233. package/src/components/molecules/Tabs/Tabs.style.tsx +0 -74
  234. package/src/components/molecules/Tabs/Tabs.test.tsx +0 -149
  235. package/src/components/molecules/Tabs/Tabs.tsx +0 -67
  236. package/src/components/molecules/Tabs/index.tsx +0 -3
  237. package/src/components/molecules/TextOnly/TextOnly.stories.tsx +0 -74
  238. package/src/components/molecules/TextOnly/TextOnly.style.tsx +0 -56
  239. package/src/components/molecules/TextOnly/TextOnly.test.tsx +0 -79
  240. package/src/components/molecules/TextOnly/TextOnly.tsx +0 -16
  241. package/src/components/molecules/TextOnly/index.tsx +0 -3
  242. package/src/components/molecules/index.tsx +0 -7
  243. package/src/components/organisms/Footer/Footer.stories.tsx +0 -54
  244. package/src/components/organisms/Footer/Footer.style.tsx +0 -72
  245. package/src/components/organisms/Footer/Footer.test.tsx +0 -31
  246. package/src/components/organisms/Footer/Footer.tsx +0 -53
  247. package/src/components/organisms/Footer/exampleData.json +0 -78
  248. package/src/components/organisms/Footer/index.tsx +0 -3
  249. package/src/components/organisms/Navigation/Navigation.stories.tsx +0 -110
  250. package/src/components/organisms/Navigation/Navigation.style.tsx +0 -87
  251. package/src/components/organisms/Navigation/Navigation.test.tsx +0 -115
  252. package/src/components/organisms/Navigation/Navigation.tsx +0 -109
  253. package/src/components/organisms/Navigation/index.tsx +0 -3
  254. package/src/components/organisms/Navigation/menuData.json +0 -104
  255. package/src/components/organisms/index.tsx +0 -4
  256. package/src/index.tsx +0 -44
  257. package/src/jest.setup.ts +0 -1
  258. package/src/styles/GlobalStyles.tsx +0 -205
  259. package/src/styles/StorybookSupport/Colours/Colours.stories.mdx +0 -101
  260. package/src/styles/StorybookSupport/Colours/StorybookColourBox.tsx +0 -32
  261. package/src/styles/ThemeProvider.tsx +0 -11
  262. package/src/styles/themes.ts +0 -398
  263. package/src/styles/viewports.ts +0 -14
  264. package/src/types/buttonTypes.ts +0 -42
  265. package/src/types/editorial.ts +0 -84
  266. package/src/types/footer.ts +0 -49
  267. package/src/types/iconTypes.ts +0 -38
  268. package/src/types/image.ts +0 -13
  269. package/src/types/images.d.ts +0 -1
  270. package/src/types/index.tsx +0 -5
  271. package/src/types/navigation.ts +0 -149
  272. package/src/types/types.ts +0 -276
@@ -1,78 +0,0 @@
1
- import React from 'react';
2
- import { Meta, Story } from '@storybook/react';
3
- import EditorialComponent from './Editorial';
4
- import GlobalStyles from '../../../styles/GlobalStyles';
5
- import ThemeProvider from '../../../styles/ThemeProvider';
6
- import { ThemeType } from '../../../types/types';
7
- import EditorialImage from '../../../../external/images/editorial.jpeg';
8
-
9
- const meta: Meta = {
10
- title: 'Components/Editorial/Editorial',
11
- component: EditorialComponent,
12
- argTypes: {
13
- text: {
14
- description: 'Body text inside the component',
15
- },
16
- subtitle: {
17
- description: 'Subtitle inside the component',
18
- },
19
- imagePosition: {
20
- description: 'Position of the image inside the component',
21
- },
22
- ref: {
23
- table: { disable: true },
24
- },
25
- theme: {
26
- table: { disable: true },
27
- },
28
- as: {
29
- table: { disable: true },
30
- },
31
- forwardedAs: {
32
- table: { disable: true },
33
- },
34
- },
35
- decorators: [
36
- (Story) => (
37
- <ThemeProvider theme={ThemeType.Core}>
38
- <GlobalStyles />
39
- {Story()}
40
- </ThemeProvider>
41
- ),
42
- ],
43
- parameters: {
44
- docs: {
45
- description: {
46
- component: 'This component is used to house any textural information which have imagery',
47
- withSource: 'none',
48
- },
49
- },
50
- design: {
51
- type: 'figma',
52
- url: 'https://www.figma.com/file/PtlqtJAjr87djTyD0x40m9/Royal-Opera-House-UI-Guide-and-Spec?node-id=1664%3A8523',
53
- },
54
- jest: ['Editorial'],
55
- },
56
- };
57
-
58
- export default meta;
59
-
60
- interface IStorybookEditorialProps {
61
- text: string;
62
- subtitle?: string;
63
- imagePosition?: 'left' | 'right';
64
- }
65
-
66
- const EditorialTemplate: Story<IStorybookEditorialProps> = (args) => (
67
- <EditorialComponent {...args}>
68
- <img src={EditorialImage} alt="test" />
69
- </EditorialComponent>
70
- );
71
-
72
- export const Editorial = EditorialTemplate.bind({});
73
- Editorial.args = {
74
- text: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. In maximus ante nec nulla commodo, quis gravida erat dapibus. Sed varius ante et iaculis molestie. Ut elit orci, auctor non placerat eu, consequat quis elit. Aliquam auctor tristique leo, eget gravida tortor faucibus et. Integer est sem, sagittis ut efficitur rhoncus, dignissim ut metus. Vivamus ullamcorper in velit sed elementum.
75
-
76
- Nunc sed dui dolor. Donec ullamcorper mollis elit, eu consequat leo aliquet quis. Aenean enim lectus, tincidunt vel augue id, gravida porttitor quam. Aenean euismod nunc eget nibh commodo, sed dapibus libero ultrices. Pellentesque vel nibh mattis, tincidunt diam eget, placerat ipsum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.`,
77
- subtitle: 'Editorial subtitle',
78
- };
@@ -1,73 +0,0 @@
1
- import styled from 'styled-components';
2
- import { IEditorialGridProps } from '../../../types/editorial';
3
- import { devices } from '../../../styles/viewports';
4
-
5
- export const EditorialGrid = styled.div<IEditorialGridProps>`
6
- display: grid;
7
- grid-template-columns: repeat(12, minmax(0, 1fr));
8
- gap: var(--grid-column-gap);
9
- grid-template-areas: ${({ imageToLeft }) =>
10
- imageToLeft
11
- ? `'left left left left left . right right right right right right'`
12
- : `'left left left left left left . right right right right right'`};
13
-
14
- @media ${devices.mobile} {
15
- & {
16
- display: grid;
17
- grid-template-columns: 100%;
18
- grid-template-rows: min-content 24px min-content;
19
- grid-template-areas:
20
- 'row1'
21
- '.'
22
- 'row2';
23
- }
24
- }
25
- `;
26
-
27
- export const EditorialImageWrapper = styled.div<IEditorialGridProps>`
28
- grid-area: ${({ imageToLeft }) => (imageToLeft ? 'left' : 'right')};
29
- @media ${devices.mobile} {
30
- & {
31
- grid-area: row1;
32
- }
33
- `;
34
-
35
- export const EditorialTextWrapper = styled.div<IEditorialGridProps>`
36
- grid-area: ${({ imageToLeft }) => (imageToLeft ? 'right' : 'left')};
37
- align-self: center;
38
- @media ${devices.mobile} {
39
- & {
40
- grid-area: row2;
41
- align-self: start;
42
- }
43
- `;
44
-
45
- export const EditorialSubtitle = styled.span`
46
- font-family: var(--font-family-subtitles);
47
- font-size: var(--font-size-subtitles-1);
48
- font-weight: var(--font-weigth-subtitles-1);
49
- line-height: var(--line-height-subtitles-1);
50
- letter-spacing: var(--letter-spacing-subtitles-1);
51
- text-transform: var(--text-transform-subtitles-1);
52
- margin-bottom: var(--editorial-subtitle-margin-bottom);
53
- display: block;
54
- overflow-wrap: break-word;
55
- `;
56
-
57
- export const EditorialText = styled.div`
58
- font-family: var(--font-family-body);
59
- font-size: var(--font-size-body-1);
60
- font-weight: var(--font-weigth-body-1);
61
- line-height: var(--line-height-body-1);
62
- letter-spacing: var(--letter-spacing-body-1);
63
- text-transform: var(--text-transform-body-1);
64
- margin: 0;
65
- padding: 0;
66
- white-space: break-spaces;
67
- overflow-wrap: break-word;
68
-
69
- em {
70
- font-family: var(--font-family-body-italics);
71
- font-style: normal;
72
- }
73
- `;
@@ -1,73 +0,0 @@
1
- import React from 'react';
2
- import { render, within } from '@testing-library/react';
3
- import Editorial from './Editorial';
4
-
5
- describe('Editorial component', () => {
6
- const Image = () => <img data-testid="test-image" src="/foo" alt="test" />;
7
- const text = 'foo text';
8
- const subtitle = 'foo subtitle';
9
-
10
- it('renders image to the left if no position is set', () => {
11
- const { getByTestId } = render(
12
- <Editorial text={text}>
13
- <Image />
14
- </Editorial>
15
- );
16
-
17
- const imageGridItem = getByTestId('image-wrapper');
18
- const textGridItem = getByTestId('text-wrapper');
19
-
20
- expect(imageGridItem).toHaveStyle({ 'grid-area': 'left' });
21
- expect(textGridItem).toHaveStyle({ 'grid-area': 'right' });
22
- expect(within(imageGridItem).getByTestId('test-image')).toBeInTheDocument();
23
- expect(within(textGridItem).getByText(text)).toBeInTheDocument();
24
- });
25
-
26
- it('renders only image and text if subtitle is not provided', () => {
27
- const { getByTestId } = render(
28
- <Editorial text={text}>
29
- <Image />
30
- </Editorial>
31
- );
32
-
33
- const imageGridItem = getByTestId('image-wrapper');
34
- const textGridItem = getByTestId('text-wrapper');
35
- expect(within(imageGridItem).getByTestId('test-image')).toBeInTheDocument();
36
- expect(within(textGridItem).getByText(text)).toBeInTheDocument();
37
- expect(within(textGridItem).queryAllByText(subtitle)).toHaveLength(0);
38
- });
39
-
40
- it('renders image and text properly when image position is left', () => {
41
- const { getByTestId } = render(
42
- <Editorial imagePosition="left" text={text} subtitle={subtitle}>
43
- <Image />
44
- </Editorial>
45
- );
46
-
47
- const imageGridItem = getByTestId('image-wrapper');
48
- const textGridItem = getByTestId('text-wrapper');
49
-
50
- expect(imageGridItem).toHaveStyle({ 'grid-area': 'left' });
51
- expect(textGridItem).toHaveStyle({ 'grid-area': 'right' });
52
- expect(within(imageGridItem).getByTestId('test-image')).toBeInTheDocument();
53
- expect(within(textGridItem).getByText(text)).toBeInTheDocument();
54
- expect(within(textGridItem).getByText(subtitle)).toBeInTheDocument();
55
- });
56
-
57
- it('renders image and text properly when image position is right', () => {
58
- const { getByTestId } = render(
59
- <Editorial imagePosition="right" text={text} subtitle={subtitle}>
60
- <Image />
61
- </Editorial>
62
- );
63
-
64
- const imageGridItem = getByTestId('image-wrapper');
65
- const textGridItem = getByTestId('text-wrapper');
66
-
67
- expect(imageGridItem).toHaveStyle({ 'grid-area': 'right' });
68
- expect(textGridItem).toHaveStyle({ 'grid-area': 'left' });
69
- expect(within(imageGridItem).getByTestId('test-image')).toBeInTheDocument();
70
- expect(within(textGridItem).getByText(text)).toBeInTheDocument();
71
- expect(within(textGridItem).getByText(subtitle)).toBeInTheDocument();
72
- });
73
- });
@@ -1,32 +0,0 @@
1
- import React, { FunctionComponent } from 'react';
2
- import { Grid, GridItem, ImageAspectRatioWrapper } from '../../atoms';
3
- import {
4
- EditorialGrid,
5
- EditorialImageWrapper,
6
- EditorialSubtitle,
7
- EditorialText,
8
- EditorialTextWrapper,
9
- } from './Editorial.style';
10
- import { IEditorialProps } from '../../../types/editorial';
11
- import { AspectRatio } from '../../../types/image';
12
-
13
- const Editorial: FunctionComponent<IEditorialProps> = ({ imagePosition = 'left', subtitle, text, children }) => {
14
- const imageToLeft = imagePosition === 'left';
15
- return (
16
- <Grid>
17
- <GridItem columnStartDesktop={3} columnSpanDesktop={12} columnStartDevice={2} columnSpanDevice={12}>
18
- <EditorialGrid imageToLeft={imageToLeft}>
19
- <EditorialImageWrapper data-testid="image-wrapper" imageToLeft={imageToLeft}>
20
- <ImageAspectRatioWrapper aspectRatio={AspectRatio['1:1']}>{children}</ImageAspectRatioWrapper>
21
- </EditorialImageWrapper>
22
- <EditorialTextWrapper data-testid="text-wrapper" imageToLeft={imageToLeft}>
23
- {subtitle ? <EditorialSubtitle>{subtitle}</EditorialSubtitle> : null}
24
- <EditorialText dangerouslySetInnerHTML={{ __html: text }} />
25
- </EditorialTextWrapper>
26
- </EditorialGrid>
27
- </GridItem>
28
- </Grid>
29
- );
30
- };
31
-
32
- export default Editorial;
@@ -1,3 +0,0 @@
1
- import Editorial from './Editorial';
2
-
3
- export default Editorial;
@@ -1,95 +0,0 @@
1
- import React from 'react';
2
- import { Story, Meta } from '@storybook/react';
3
- import GlobalStyles from '../../../styles/GlobalStyles';
4
- import ThemeProvider from '../../../styles/ThemeProvider';
5
- import NavTop from './index';
6
- import { ThemeType } from '../../../types/types';
7
- import { INavTopProps } from '../../../types/navigation';
8
-
9
- export default {
10
- title: 'Components/Navigation/NavTop',
11
- component: NavTop,
12
- argTypes: {
13
- ref: {
14
- table: { disable: true },
15
- },
16
- theme: {
17
- table: { disable: true },
18
- },
19
- as: {
20
- table: { disable: true },
21
- },
22
- forwardedAs: {
23
- table: { disable: true },
24
- },
25
- },
26
- parameters: {
27
- docs: {
28
- description: {
29
- component: 'Navigation tabs',
30
- withSource: 'none',
31
- },
32
- },
33
- design: {
34
- type: 'figma',
35
- url: 'https://www.figma.com/file/PtlqtJAjr87djTyD0x40m9/Royal-Opera-House-UI-Guide-and-Spec?node-id=166%3A0',
36
- },
37
- jest: ['NavTop'],
38
- },
39
- decorators: [
40
- (Story) => (
41
- <ThemeProvider theme={ThemeType.Core}>
42
- <GlobalStyles />
43
- {Story()}
44
- </ThemeProvider>
45
- ),
46
- ],
47
- } as Meta;
48
-
49
- const Template: Story<INavTopProps> = (args) => <NavTop {...args} />;
50
-
51
- export const NavTopDefault = Template.bind({});
52
-
53
- NavTopDefault.args = {
54
- accountText: 'SIGN IN',
55
- accountIcon: 'User',
56
- accountOptions: [
57
- {
58
- option: 'OPTION 1',
59
- optionLink: 'link 1',
60
- },
61
- {
62
- option: 'OPTION 2',
63
- optionLink: 'link 2',
64
- },
65
- {
66
- option: 'OPTION 3',
67
- optionLink: 'link 3',
68
- },
69
- ],
70
- onLink: () => {},
71
- };
72
-
73
- export const NavTopWithBasket = Template.bind({});
74
-
75
- NavTopWithBasket.args = {
76
- accountText: 'USER NAME',
77
- accountIcon: 'UserSignedIn',
78
- accountOptions: [
79
- {
80
- option: 'OPTION 1',
81
- optionLink: 'link 1',
82
- },
83
- {
84
- option: 'OPTION 2',
85
- optionLink: 'link 2',
86
- },
87
- {
88
- option: 'OPTION 3',
89
- optionLink: 'link 3',
90
- },
91
- ],
92
- onLink: () => {},
93
- basketText: '20 MINS',
94
- basketNumItems: 5,
95
- };
@@ -1,14 +0,0 @@
1
- import styled from 'styled-components';
2
- import { devices } from '../../../styles/viewports';
3
-
4
- export const NavTopContainer = styled.div`
5
- display: flex;
6
- flex-direction: row;
7
- column-gap: 16px;
8
- justify-content: flex-end;
9
- height: 26px;
10
-
11
- @media ${devices.mobile} {
12
- column-gap: 8px;
13
- }
14
- `;
@@ -1,113 +0,0 @@
1
- import React from 'react';
2
- import { render, fireEvent } from '@testing-library/react';
3
- import NavTop from './NavTop';
4
- import { IOptionItem } from '../../../types/types';
5
-
6
- describe('NavTop component', () => {
7
- const onLinkHandler = jest.fn();
8
- const onClick = jest.fn();
9
-
10
- it('renders text with specific text', () => {
11
- const accountText = 'SIGN IN';
12
- const accountIcon = 'User';
13
- const accountOptions: IOptionItem[] = [];
14
- const onLink = onLinkHandler;
15
- const basketText = '20 MINS';
16
- const basketNumItems = 5;
17
- const onClickSearch = onClick;
18
-
19
- const { getByText } = render(
20
- <NavTop
21
- onClickSearch={onClickSearch}
22
- basketNumItems={basketNumItems}
23
- basketText={basketText}
24
- accountText={accountText}
25
- accountOptions={accountOptions}
26
- accountIcon={accountIcon}
27
- onLink={onLink}
28
- ></NavTop>
29
- );
30
-
31
- expect(getByText(accountText)).toBeInTheDocument();
32
- expect(getByText(basketText)).toBeInTheDocument();
33
- expect(getByText(basketNumItems)).toBeInTheDocument();
34
- });
35
-
36
- it('calls onLink callback when Account is clicked', () => {
37
- const accountText = 'SIGN IN';
38
- const accountIcon = 'User';
39
- const accountOptions: IOptionItem[] = [];
40
- const onLink = onLinkHandler;
41
- const basketText = '20 MINS';
42
- const basketNumItems = 5;
43
- const onClickSearch = onClick;
44
-
45
- const { getByText } = render(
46
- <NavTop
47
- onClickSearch={onClickSearch}
48
- basketNumItems={basketNumItems}
49
- basketText={basketText}
50
- accountText={accountText}
51
- accountOptions={accountOptions}
52
- accountIcon={accountIcon}
53
- onLink={onLink}
54
- ></NavTop>
55
- );
56
-
57
- fireEvent.click(getByText('SIGN IN'));
58
-
59
- expect(onLinkHandler).toBeCalled();
60
- });
61
-
62
- it('calls onLink callback when Basket is clicked', () => {
63
- const accountText = 'SIGN IN';
64
- const accountIcon = 'User';
65
- const accountOptions: IOptionItem[] = [];
66
- const onLink = onLinkHandler;
67
- const basketText = '20 MINS';
68
- const basketNumItems = 5;
69
- const onClickSearch = onClick;
70
-
71
- const { getByText } = render(
72
- <NavTop
73
- onClickSearch={onClickSearch}
74
- basketNumItems={basketNumItems}
75
- basketText={basketText}
76
- accountText={accountText}
77
- accountOptions={accountOptions}
78
- accountIcon={accountIcon}
79
- onLink={onLink}
80
- ></NavTop>
81
- );
82
-
83
- fireEvent.click(getByText('20 MINS'));
84
-
85
- expect(onLinkHandler).toBeCalled();
86
- });
87
-
88
- it('calls onLink callback when Search is clicked', () => {
89
- const accountText = 'SIGN IN';
90
- const accountIcon = 'User';
91
- const accountOptions: IOptionItem[] = [];
92
- const onLink = onLinkHandler;
93
- const basketText = '20 MINS';
94
- const basketNumItems = 5;
95
- const onClickSearch = onClick;
96
-
97
- const { getByTestId } = render(
98
- <NavTop
99
- onClickSearch={onClickSearch}
100
- basketNumItems={basketNumItems}
101
- basketText={basketText}
102
- accountText={accountText}
103
- accountOptions={accountOptions}
104
- accountIcon={accountIcon}
105
- onLink={onLink}
106
- ></NavTop>
107
- );
108
-
109
- fireEvent.click(getByTestId('search-icon'));
110
-
111
- expect(onClick).toBeCalled();
112
- });
113
- });
@@ -1,27 +0,0 @@
1
- import React from 'react';
2
- import { NavTopContainer } from './NavTop.style';
3
- import { INavTopProps } from '../../../types/navigation';
4
- import Basket from '../../atoms/Basket';
5
- import Search from '../../atoms/Search';
6
- import Account from '../../atoms/Account';
7
-
8
- const NavTop = ({
9
- accountText,
10
- accountIcon,
11
- accountOptions,
12
- onLink,
13
- basketText,
14
- basketNumItems,
15
- onClickSearch,
16
- isShowSearch = false,
17
- }: INavTopProps) => {
18
- return (
19
- <NavTopContainer>
20
- <Search onClick={onClickSearch} selected={isShowSearch}></Search>
21
- <Basket text={basketText} numItems={basketNumItems} onClick={onLink}></Basket>
22
- <Account title={accountText} options={accountOptions} iconName={accountIcon} onClick={onLink}></Account>
23
- </NavTopContainer>
24
- );
25
- };
26
-
27
- export default NavTop;
@@ -1,3 +0,0 @@
1
- import NavTop from './NavTop';
2
-
3
- export default NavTop;