@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.
- package/README.md +9 -0
- package/dist/chord.cjs.development.js +567 -278
- package/dist/chord.cjs.development.js.map +1 -1
- package/dist/chord.cjs.production.min.js +1 -1
- package/dist/chord.cjs.production.min.js.map +1 -1
- package/dist/chord.esm.js +567 -279
- package/dist/chord.esm.js.map +1 -1
- package/dist/components/atoms/Account/Account.d.ts +1 -1
- package/dist/components/atoms/Basket/Basket.d.ts +1 -1
- package/dist/components/atoms/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/atoms/Dropdown/Dropdown.style.d.ts +1 -1
- package/dist/components/atoms/Icons/SvgIcons/index.d.ts +0 -1
- package/dist/components/atoms/Logo/Logo.d.ts +1 -1
- package/dist/components/atoms/Search/Search.d.ts +1 -1
- package/dist/components/atoms/SponsorLogo/SponsorLogo.d.ts +4 -0
- package/dist/components/atoms/SponsorLogo/SponsorLogo.style.d.ts +1 -0
- package/dist/components/atoms/SponsorLogo/index.d.ts +2 -0
- package/dist/components/atoms/Tab/Tab.d.ts +1 -1
- package/dist/components/atoms/index.d.ts +2 -1
- package/dist/components/molecules/NavTop/NavTop.d.ts +1 -1
- package/dist/components/molecules/Tabs/Tabs.d.ts +1 -1
- package/dist/components/molecules/Tabs/Tabs.style.d.ts +1 -1
- package/dist/components/organisms/Navigation/Navigation.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/styles/themes.d.ts +6 -0
- package/dist/types/navigation.d.ts +24 -0
- package/dist/types/types.d.ts +24 -2
- package/package.json +10 -6
- package/dist/components/atoms/Icons/SvgIcons/Logos/Sponsors/Sponsor.svg.d.ts +0 -4
- package/dist/components/atoms/Image/Image.d.ts +0 -38
- package/src/components/atoms/Account/Account.stories.tsx +0 -93
- package/src/components/atoms/Account/Account.test.tsx +0 -54
- package/src/components/atoms/Account/Account.tsx +0 -25
- package/src/components/atoms/Account/index.tsx +0 -3
- package/src/components/atoms/Basket/Basket.stories.tsx +0 -79
- package/src/components/atoms/Basket/Basket.style.tsx +0 -74
- package/src/components/atoms/Basket/Basket.test.tsx +0 -35
- package/src/components/atoms/Basket/Basket.tsx +0 -34
- package/src/components/atoms/Basket/index.tsx +0 -3
- package/src/components/atoms/Buttons/Button.style.tsx +0 -31
- package/src/components/atoms/Buttons/Button.tsx +0 -21
- package/src/components/atoms/Buttons/ButtonIconWrapper.style.tsx +0 -10
- package/src/components/atoms/Buttons/Buttons.stories.tsx +0 -77
- package/src/components/atoms/Buttons/Primary/PrimaryButton.stories.tsx +0 -94
- package/src/components/atoms/Buttons/Primary/PrimaryButton.test.tsx +0 -39
- package/src/components/atoms/Buttons/Primary/PrimaryButton.tsx +0 -14
- package/src/components/atoms/Buttons/Primary/PrimaryButtonWrapper.style.tsx +0 -11
- package/src/components/atoms/Buttons/Secondary/SecondaryButton.stories.tsx +0 -84
- package/src/components/atoms/Buttons/Secondary/SecondaryButton.test.tsx +0 -39
- package/src/components/atoms/Buttons/Secondary/SecondaryButton.tsx +0 -14
- package/src/components/atoms/Buttons/Secondary/SecondaryButtonWrapper.style.tsx +0 -11
- package/src/components/atoms/Buttons/Tertiary/TertiaryButton.stories.tsx +0 -73
- package/src/components/atoms/Buttons/Tertiary/TertiaryButton.style.tsx +0 -29
- package/src/components/atoms/Buttons/Tertiary/TertiaryButton.test.tsx +0 -29
- package/src/components/atoms/Buttons/Tertiary/TertiaryButton.tsx +0 -18
- package/src/components/atoms/Buttons/index.tsx +0 -5
- package/src/components/atoms/Dropdown/Dropdown.stories.tsx +0 -153
- package/src/components/atoms/Dropdown/Dropdown.style.tsx +0 -64
- package/src/components/atoms/Dropdown/Dropdown.test.tsx +0 -67
- package/src/components/atoms/Dropdown/Dropdown.tsx +0 -131
- package/src/components/atoms/Dropdown/index.tsx +0 -3
- package/src/components/atoms/Grid/Grid.stories.tsx +0 -127
- package/src/components/atoms/Grid/Grid.test.tsx +0 -17
- package/src/components/atoms/Grid/Grid.tsx +0 -11
- package/src/components/atoms/Grid/GridItem.test.tsx +0 -25
- package/src/components/atoms/Grid/GridItem.tsx +0 -24
- package/src/components/atoms/Grid/index.tsx +0 -3
- package/src/components/atoms/Heading/Heading.stories.tsx +0 -44
- package/src/components/atoms/Heading/Heading.style.tsx +0 -14
- package/src/components/atoms/Heading/Heading.test.tsx +0 -13
- package/src/components/atoms/Heading/Heading.tsx +0 -15
- package/src/components/atoms/Heading/index.tsx +0 -3
- package/src/components/atoms/Icons/Icons.stories.tsx +0 -190
- package/src/components/atoms/Icons/Icons.style.tsx +0 -24
- package/src/components/atoms/Icons/Icons.test.tsx +0 -31
- package/src/components/atoms/Icons/Icons.tsx +0 -20
- package/src/components/atoms/Icons/StorybookSupport/Iconography.tsx +0 -27
- package/src/components/atoms/Icons/StorybookSupport/IconsDiv.style.tsx +0 -49
- package/src/components/atoms/Icons/SvgIcons/12px/Remove.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/12px/Tick.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Actions/AddToMyList.svg.tsx +0 -13
- package/src/components/atoms/Icons/SvgIcons/Actions/BookTickets.svg.tsx +0 -20
- package/src/components/atoms/Icons/SvgIcons/Actions/ChooseDates.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Actions/EditMyList.svg.tsx +0 -16
- package/src/components/atoms/Icons/SvgIcons/Actions/Filter.svg.tsx +0 -19
- package/src/components/atoms/Icons/SvgIcons/Actions/FindAScreening.svg.tsx +0 -31
- package/src/components/atoms/Icons/SvgIcons/Actions/OnMyList.svg.tsx +0 -16
- package/src/components/atoms/Icons/SvgIcons/Actions/Reminder.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Actions/Subscribe.svg.tsx +0 -9
- package/src/components/atoms/Icons/SvgIcons/Actions/Watch.svg.tsx +0 -9
- package/src/components/atoms/Icons/SvgIcons/Arrows/Arrow.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Arrows/CarouselArrow.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Arrows/DropdownArrow.svg.tsx +0 -8
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Cinema.svg.tsx +0 -31
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Clock.svg.tsx +0 -15
- package/src/components/atoms/Icons/SvgIcons/Descriptors/CreditCard.svg.tsx +0 -19
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Email.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Info.svg.tsx +0 -13
- package/src/components/atoms/Icons/SvgIcons/Descriptors/List.svg.tsx +0 -22
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Location.svg.tsx +0 -15
- package/src/components/atoms/Icons/SvgIcons/Descriptors/PDF.svg.tsx +0 -20
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Phone.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Print.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Secure.svg.tsx +0 -15
- package/src/components/atoms/Icons/SvgIcons/Descriptors/Tickets.svg.tsx +0 -13
- package/src/components/atoms/Icons/SvgIcons/Logos/Social/Facebook.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Logos/Social/Instagram.svg.tsx +0 -19
- package/src/components/atoms/Icons/SvgIcons/Logos/Social/Tiktok.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Logos/Social/Twitter.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Logos/Social/Youtube.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Logos/Sponsors/Sponsor.svg.tsx +0 -26
- package/src/components/atoms/Icons/SvgIcons/Navigation/BalletAndDance.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Navigation/Basket.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Navigation/BasketFull.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Navigation/Home.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Navigation/LiveStream.svg.tsx +0 -24
- package/src/components/atoms/Icons/SvgIcons/Navigation/Menu.svg.tsx +0 -10
- package/src/components/atoms/Icons/SvgIcons/Navigation/OperaAndMusic.svg.tsx +0 -17
- package/src/components/atoms/Icons/SvgIcons/Navigation/Search.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Navigation/Settings.svg.tsx +0 -15
- package/src/components/atoms/Icons/SvgIcons/Navigation/User.svg.tsx +0 -15
- package/src/components/atoms/Icons/SvgIcons/Navigation/UserSignedIn.svg.tsx +0 -12
- package/src/components/atoms/Icons/SvgIcons/Text/Delete.svg.tsx +0 -12
- package/src/components/atoms/Icons/SvgIcons/Text/Shift.svg.tsx +0 -8
- package/src/components/atoms/Icons/SvgIcons/Text/Space.svg.tsx +0 -8
- package/src/components/atoms/Icons/SvgIcons/Utility/Close.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Utility/Confirm.svg.tsx +0 -8
- package/src/components/atoms/Icons/SvgIcons/Utility/Detract.svg.tsx +0 -8
- package/src/components/atoms/Icons/SvgIcons/Utility/Expand.svg.tsx +0 -8
- package/src/components/atoms/Icons/SvgIcons/Utility/ExternalLink.svg.tsx +0 -12
- package/src/components/atoms/Icons/SvgIcons/Utility/GridView.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Utility/ListView.svg.tsx +0 -10
- package/src/components/atoms/Icons/SvgIcons/Utility/Refresh.svg.tsx +0 -15
- package/src/components/atoms/Icons/SvgIcons/Video/AudioDescription.svg.tsx +0 -16
- package/src/components/atoms/Icons/SvgIcons/Video/Back10.svg.tsx +0 -16
- package/src/components/atoms/Icons/SvgIcons/Video/Clips.svg.tsx +0 -10
- package/src/components/atoms/Icons/SvgIcons/Video/Forward10.svg.tsx +0 -16
- package/src/components/atoms/Icons/SvgIcons/Video/FullScreen.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Video/Minimise.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Video/Muted.svg.tsx +0 -15
- package/src/components/atoms/Icons/SvgIcons/Video/Pause.svg.tsx +0 -9
- package/src/components/atoms/Icons/SvgIcons/Video/Play.svg.tsx +0 -9
- package/src/components/atoms/Icons/SvgIcons/Video/Restart.svg.tsx +0 -11
- package/src/components/atoms/Icons/SvgIcons/Video/Subtitles.svg.tsx +0 -17
- package/src/components/atoms/Icons/SvgIcons/Video/Trailer.svg.tsx +0 -12
- package/src/components/atoms/Icons/SvgIcons/Video/Volume.svg.tsx +0 -19
- package/src/components/atoms/Icons/SvgIcons/index.tsx +0 -149
- package/src/components/atoms/Icons/__snapshots__/Icons.test.tsx.snap +0 -1954
- package/src/components/atoms/Icons/index.tsx +0 -2
- package/src/components/atoms/Image/Image.tsx +0 -72
- package/src/components/atoms/ImageAspectRatioWrapper/ImageAspectRatio.test.tsx +0 -23
- package/src/components/atoms/ImageAspectRatioWrapper/ImageAspectRatioWrapper.stories.tsx +0 -71
- package/src/components/atoms/ImageAspectRatioWrapper/ImageAspectRatioWrapper.tsx +0 -15
- package/src/components/atoms/ImageAspectRatioWrapper/index.tsx +0 -3
- package/src/components/atoms/IndividualListing/IndividualListing.stories.tsx +0 -51
- package/src/components/atoms/IndividualListing/IndividualListing.style.tsx +0 -33
- package/src/components/atoms/IndividualListing/IndividualListing.test.tsx +0 -30
- package/src/components/atoms/IndividualListing/IndividualListing.tsx +0 -22
- package/src/components/atoms/IndividualListing/index.tsx +0 -3
- package/src/components/atoms/Logo/Logo.stories.tsx +0 -48
- package/src/components/atoms/Logo/Logo.style.tsx +0 -18
- package/src/components/atoms/Logo/Logo.tsx +0 -30
- package/src/components/atoms/Logo/index.tsx +0 -3
- package/src/components/atoms/Search/Search.stories.tsx +0 -63
- package/src/components/atoms/Search/Search.style.tsx +0 -36
- package/src/components/atoms/Search/Search.test.tsx +0 -24
- package/src/components/atoms/Search/Search.tsx +0 -16
- package/src/components/atoms/Search/index.tsx +0 -3
- package/src/components/atoms/SectionSplitter/SectionSplitter.stories.tsx +0 -47
- package/src/components/atoms/SectionSplitter/SectionSplitter.style.tsx +0 -11
- package/src/components/atoms/SectionSplitter/SectionSplitter.tsx +0 -22
- package/src/components/atoms/SectionSplitter/index.tsx +0 -3
- package/src/components/atoms/Sponsorship/Sponsorship.stories.tsx +0 -38
- package/src/components/atoms/Sponsorship/Sponsorship.test.tsx +0 -36
- package/src/components/atoms/Sponsorship/Sponsorship.tsx +0 -53
- package/src/components/atoms/Sponsorship/index.tsx +0 -3
- package/src/components/atoms/Tab/Tab.stories.tsx +0 -67
- package/src/components/atoms/Tab/Tab.style.tsx +0 -105
- package/src/components/atoms/Tab/Tab.test.tsx +0 -28
- package/src/components/atoms/Tab/Tab.tsx +0 -34
- package/src/components/atoms/Tab/index.tsx +0 -3
- package/src/components/atoms/TextLink/TextLink.stories.tsx +0 -81
- package/src/components/atoms/TextLink/TextLink.style.tsx +0 -26
- package/src/components/atoms/TextLink/TextLink.test.tsx +0 -39
- package/src/components/atoms/TextLink/TextLink.tsx +0 -20
- package/src/components/atoms/TextLink/index.tsx +0 -3
- package/src/components/atoms/TypeTags/TypeTags.stories.tsx +0 -57
- package/src/components/atoms/TypeTags/TypeTags.style.tsx +0 -28
- package/src/components/atoms/TypeTags/TypeTags.test.tsx +0 -21
- package/src/components/atoms/TypeTags/TypeTags.tsx +0 -15
- package/src/components/atoms/TypeTags/index.tsx +0 -3
- package/src/components/atoms/index.tsx +0 -22
- package/src/components/index.tsx +0 -38
- package/src/components/molecules/ContactNewsletter/ContactNewsletter.style.tsx +0 -116
- package/src/components/molecules/ContactNewsletter/ContactNewsletter.test.tsx +0 -85
- package/src/components/molecules/ContactNewsletter/ContactNewsletter.tsx +0 -51
- package/src/components/molecules/ContactNewsletter/index.tsx +0 -3
- package/src/components/molecules/Editorial/Editorial.stories.tsx +0 -78
- package/src/components/molecules/Editorial/Editorial.style.tsx +0 -73
- package/src/components/molecules/Editorial/Editorial.test.tsx +0 -73
- package/src/components/molecules/Editorial/Editorial.tsx +0 -32
- package/src/components/molecules/Editorial/index.tsx +0 -3
- package/src/components/molecules/NavTop/NavTop.stories.tsx +0 -95
- package/src/components/molecules/NavTop/NavTop.style.tsx +0 -14
- package/src/components/molecules/NavTop/NavTop.test.tsx +0 -113
- package/src/components/molecules/NavTop/NavTop.tsx +0 -27
- package/src/components/molecules/NavTop/index.tsx +0 -3
- package/src/components/molecules/PeopleListing/PeopleListing.stories.tsx +0 -185
- package/src/components/molecules/PeopleListing/PeopleListing.style.tsx +0 -8
- package/src/components/molecules/PeopleListing/PeopleListing.test.tsx +0 -24
- package/src/components/molecules/PeopleListing/PeopleListing.tsx +0 -27
- package/src/components/molecules/PeopleListing/index.tsx +0 -3
- package/src/components/molecules/PolicyLinks/PolicyLinks.style.tsx +0 -41
- package/src/components/molecules/PolicyLinks/PolicyLinks.test.tsx +0 -28
- package/src/components/molecules/PolicyLinks/PolicyLinks.tsx +0 -19
- package/src/components/molecules/PolicyLinks/index.tsx +0 -3
- package/src/components/molecules/PromoWithTitle/PromoWithTitle.stories.tsx +0 -119
- package/src/components/molecules/PromoWithTitle/PromoWithTitle.style.tsx +0 -108
- package/src/components/molecules/PromoWithTitle/PromoWithTitle.test.tsx +0 -75
- package/src/components/molecules/PromoWithTitle/PromoWithTitle.tsx +0 -53
- package/src/components/molecules/PromoWithTitle/index.tsx +0 -3
- package/src/components/molecules/SearchBar/SearchBar.stories.tsx +0 -35
- package/src/components/molecules/SearchBar/SearchBar.style.tsx +0 -66
- package/src/components/molecules/SearchBar/SearchBar.test.tsx +0 -63
- package/src/components/molecules/SearchBar/SearchBar.tsx +0 -69
- package/src/components/molecules/SearchBar/index.tsx +0 -3
- package/src/components/molecules/SectionTitle/SectionTitle.stories.tsx +0 -68
- package/src/components/molecules/SectionTitle/SectionTitle.style.tsx +0 -34
- package/src/components/molecules/SectionTitle/SectionTitle.test.tsx +0 -35
- package/src/components/molecules/SectionTitle/SectionTitle.tsx +0 -25
- package/src/components/molecules/SectionTitle/index.tsx +0 -3
- package/src/components/molecules/Tabs/Tabs.stories.tsx +0 -101
- package/src/components/molecules/Tabs/Tabs.style.tsx +0 -74
- package/src/components/molecules/Tabs/Tabs.test.tsx +0 -149
- package/src/components/molecules/Tabs/Tabs.tsx +0 -67
- package/src/components/molecules/Tabs/index.tsx +0 -3
- package/src/components/molecules/TextOnly/TextOnly.stories.tsx +0 -74
- package/src/components/molecules/TextOnly/TextOnly.style.tsx +0 -56
- package/src/components/molecules/TextOnly/TextOnly.test.tsx +0 -79
- package/src/components/molecules/TextOnly/TextOnly.tsx +0 -16
- package/src/components/molecules/TextOnly/index.tsx +0 -3
- package/src/components/molecules/index.tsx +0 -7
- package/src/components/organisms/Footer/Footer.stories.tsx +0 -54
- package/src/components/organisms/Footer/Footer.style.tsx +0 -72
- package/src/components/organisms/Footer/Footer.test.tsx +0 -31
- package/src/components/organisms/Footer/Footer.tsx +0 -53
- package/src/components/organisms/Footer/exampleData.json +0 -78
- package/src/components/organisms/Footer/index.tsx +0 -3
- package/src/components/organisms/Navigation/Navigation.stories.tsx +0 -110
- package/src/components/organisms/Navigation/Navigation.style.tsx +0 -87
- package/src/components/organisms/Navigation/Navigation.test.tsx +0 -115
- package/src/components/organisms/Navigation/Navigation.tsx +0 -109
- package/src/components/organisms/Navigation/index.tsx +0 -3
- package/src/components/organisms/Navigation/menuData.json +0 -104
- package/src/components/organisms/index.tsx +0 -4
- package/src/index.tsx +0 -44
- package/src/jest.setup.ts +0 -1
- package/src/styles/GlobalStyles.tsx +0 -205
- package/src/styles/StorybookSupport/Colours/Colours.stories.mdx +0 -101
- package/src/styles/StorybookSupport/Colours/StorybookColourBox.tsx +0 -32
- package/src/styles/ThemeProvider.tsx +0 -11
- package/src/styles/themes.ts +0 -398
- package/src/styles/viewports.ts +0 -14
- package/src/types/buttonTypes.ts +0 -42
- package/src/types/editorial.ts +0 -84
- package/src/types/footer.ts +0 -49
- package/src/types/iconTypes.ts +0 -38
- package/src/types/image.ts +0 -13
- package/src/types/images.d.ts +0 -1
- package/src/types/index.tsx +0 -5
- package/src/types/navigation.ts +0 -149
- 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,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;
|