@royaloperahouse/harmonic 0.1.1-c → 0.1.1

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 (34) hide show
  1. package/CHANGELOG.md +185 -6
  2. package/README.GIT +286 -0
  3. package/README.md +41 -258
  4. package/dist/components/Typography/Typography.d.ts +1 -0
  5. package/dist/components/Typography/index.d.ts +1 -2
  6. package/dist/components/atoms/ImageAspectRatioWrapper/ImageAspectRatioWrapper.d.ts +3 -2
  7. package/dist/components/atoms/ImageAspectRatioWrapper/ImageAspectRatioWrapper.style.d.ts +3 -0
  8. package/dist/components/atoms/SocialLinks/SocialLinks.d.ts +4 -0
  9. package/dist/components/atoms/SocialLinks/SocialLinks.style.d.ts +2 -0
  10. package/dist/components/atoms/SocialLinks/index.d.ts +2 -0
  11. package/dist/components/atoms/SponsorLogo/SponsorLogo.d.ts +1 -1
  12. package/dist/components/atoms/index.d.ts +2 -1
  13. package/dist/components/index.d.ts +1 -2
  14. package/dist/components/molecules/ImageWithCaption/ImageWithCaption.style.d.ts +2 -2
  15. package/dist/components/molecules/PolicyLinks/PolicyLinks.d.ts +3 -3
  16. package/dist/components/molecules/PolicyLinks/PolicyLinks.style.d.ts +1 -3
  17. package/dist/components/molecules/index.d.ts +2 -1
  18. package/dist/components/organisms/Footer/Footer.d.ts +2 -2
  19. package/dist/components/organisms/Footer/Footer.style.d.ts +5 -5
  20. package/dist/harmonic.cjs.development.css +141 -98
  21. package/dist/harmonic.cjs.development.js +1650 -1590
  22. package/dist/harmonic.cjs.development.js.map +1 -1
  23. package/dist/harmonic.cjs.production.min.js +1 -1
  24. package/dist/harmonic.cjs.production.min.js.map +1 -1
  25. package/dist/harmonic.esm.js +1518 -1455
  26. package/dist/harmonic.esm.js.map +1 -1
  27. package/dist/helpers/devices.d.ts +6 -0
  28. package/dist/styles/themes.d.ts +32 -0
  29. package/dist/types/footer.d.ts +6 -0
  30. package/dist/types/image.d.ts +14 -4
  31. package/dist/types/types.d.ts +4 -0
  32. package/dist/types/typography.d.ts +2 -15
  33. package/package.json +3 -3
  34. package/dist/components/Typography/TextLink/TextLink.d.ts +0 -5
@@ -1,9 +1,8 @@
1
1
  import { DisplayHeader, HarmonicHeader, HarmonicSubtitle, BodyCopyHarmonic, HarmonicOverline, ButtonText, Caption, NavigationText } from './Typography';
2
- import TextLinkHarmonic from './Typography/TextLink/TextLink';
3
2
  import { AltHeader, BodyText, CinemaBadge, ControlledDropdown, Grid, GridItem, Header, Icon, ImageAspectRatioWrapper, Overline, PrimaryButton, Progress, Radio, Radio2, RotatorButtons, SecondaryButton, SecondaryLogo, TertiaryButton, SectionSplitter, Sponsorship, Stepper, StreamBadge, Subtitle, Tab, TabLink, TextLogo, TextArea, TextField, TextFieldLegacy, TextLink, Tickbox, Tickbox2, Timer, TypeTags, VideoControls } from './atoms';
4
3
  import { AnchorTabBar, Footer, LiveChat, Navigation, StickyBar, TitleWithCTA, UpsellSection } from './organisms';
5
4
  import { Accordion, Accordions, AnnouncementBanner, AuxiliaryNav, Card, Cards, ContactCard, ContentSummary, CreditListing, Editorial, ImageWithCaption, Information, PageHeadingCinema, PageHeadingCompact, PageHeadingCore, PageHeadingImpact, PageHeadingPanel, PageHeadingStream, PasswordStrength, Pagination, PeopleListing, PromoWithTags, PromoWithTitle, RadioGroup, RadioGroup2, ReadMore, StatusBanner, SearchBar, SectionTitle, Select, Select2, Select2Async, Table, Tabs, TextOnly, UpsellCard, Quote, VideoWithControls } from './molecules';
6
5
  import ThemeProvider from '../styles/ThemeProvider';
7
6
  import GlobalStyles from '../styles/GlobalStyles';
8
- export { DisplayHeader, HarmonicHeader, HarmonicSubtitle, BodyCopyHarmonic, HarmonicOverline, ButtonText, Caption, NavigationText, TextLinkHarmonic, };
7
+ export { DisplayHeader, HarmonicHeader, HarmonicSubtitle, BodyCopyHarmonic, HarmonicOverline, ButtonText, Caption, NavigationText, };
9
8
  export { Accordion, Accordions, AnnouncementBanner, AltHeader, AnchorTabBar, AuxiliaryNav, BodyText, Card, Cards, ContactCard, ContentSummary, CinemaBadge, ControlledDropdown, CreditListing, Editorial, Footer, GlobalStyles, Grid, GridItem, Header, Icon, ImageAspectRatioWrapper, ImageWithCaption, Information, Navigation, Overline, PageHeadingCinema, PageHeadingCompact, PageHeadingCore, PageHeadingImpact, PageHeadingPanel, PageHeadingStream, Pagination, PasswordStrength, PeopleListing, PrimaryButton, Progress, PromoWithTags, PromoWithTitle, Radio, Radio2, RadioGroup, RadioGroup2, ReadMore, RotatorButtons, SecondaryButton, SecondaryLogo, StatusBanner, SearchBar, SectionTitle, Select, Select2, Select2Async, Sponsorship, Stepper, StickyBar, StreamBadge, Subtitle, TertiaryButton, TextOnly, ThemeProvider, TitleWithCTA, SectionSplitter, Tab, TabLink, Table, Tabs, TextArea, TextField, TextFieldLegacy, TextLink, TextLogo, Tickbox, Tickbox2, Timer, TypeTags, UpsellCard, UpsellSection, Quote, LiveChat, VideoControls, VideoWithControls, };
@@ -1,3 +1,3 @@
1
1
  import { IImageWithCaptionWrapperProps } from '../../../types/image';
2
- export declare const Wrapper: import("styled-components").StyledComponent<"div", any, IImageWithCaptionWrapperProps, never>;
3
- export declare const CaptionWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const Wrapper: import("styled-components").StyledComponent<"figure", any, IImageWithCaptionWrapperProps, never>;
3
+ export declare const CaptionWrapper: import("styled-components").StyledComponent<"figcaption", any, {}, never>;
@@ -1,4 +1,4 @@
1
- import { FunctionComponent } from 'react';
2
- import { IPolicyLinksProps } from '../../../types/footer';
3
- declare const PolicyLinks: FunctionComponent<IPolicyLinksProps>;
1
+ import React from 'react';
2
+ import { PolicyLinksProps } from '../../../types/footer';
3
+ declare const PolicyLinks: React.FC<PolicyLinksProps>;
4
4
  export default PolicyLinks;
@@ -1,3 +1 @@
1
- export declare const PolicyLinksList: import("styled-components").StyledComponent<"ul", any, {}, never>;
2
- export declare const PolicyLinkItem: import("styled-components").StyledComponent<"li", any, {}, never>;
3
- export declare const PolicyLink: import("styled-components").StyledComponent<"a", any, {}, never>;
1
+ export declare const PolicyLinksTextLinkWrapper: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../../../types/types").ITextLinkProps>, any, {}, never>;
@@ -10,6 +10,7 @@ import Information from './Information';
10
10
  import { PageHeadingCinema, PageHeadingCore, PageHeadingImpact, PageHeadingPanel, PageHeadingStream, PageHeadingCompact } from './PageHeading';
11
11
  import Pagination from './Pagination';
12
12
  import { PeopleListing, CreditListing } from './PeopleListing';
13
+ import PolicyLinks from './PolicyLinks';
13
14
  import PromoWithTags from './PromoWithTags';
14
15
  import PromoWithTitle from './PromoWithTitle';
15
16
  import RadioGroup from './RadioGroup';
@@ -31,4 +32,4 @@ import AuxiliaryNav from './AuxiliaryNav';
31
32
  import PasswordStrength from './PasswordStrength';
32
33
  import Table from './Table';
33
34
  import VideoWithControls from './VideoWithControls';
34
- export { Accordion, Accordions, AnnouncementBanner, AuxiliaryNav, Card, Cards, ContactCard, ContentSummary, CreditListing, Editorial, ImageWithCaption, Information, MiniCard, PageHeadingCinema, PageHeadingCompact, PageHeadingCore, PageHeadingImpact, PageHeadingPanel, PageHeadingStream, PasswordStrength, Pagination, PeopleListing, PromoWithTags, PromoWithTitle, RadioGroup, RadioGroup2, ReadMore, Quote, StatusBanner, SectionTitle, SearchBar, Select, Select2, Select2Async, Tabs, Table, TextOnly, UpsellCard, VideoWithControls, };
35
+ export { Accordion, Accordions, AnnouncementBanner, AuxiliaryNav, Card, Cards, ContactCard, ContentSummary, CreditListing, Editorial, ImageWithCaption, Information, MiniCard, PageHeadingCinema, PageHeadingCompact, PageHeadingCore, PageHeadingImpact, PageHeadingPanel, PageHeadingStream, PasswordStrength, Pagination, PeopleListing, PolicyLinks, PromoWithTags, PromoWithTitle, RadioGroup, RadioGroup2, ReadMore, Quote, StatusBanner, SectionTitle, SearchBar, Select, Select2, Select2Async, Tabs, Table, TextOnly, UpsellCard, VideoWithControls, };
@@ -1,4 +1,4 @@
1
- import { FunctionComponent } from 'react';
1
+ import React from 'react';
2
2
  import { IFooterProps } from '../../../types/footer';
3
- declare const Footer: FunctionComponent<IFooterProps>;
3
+ declare const Footer: React.FC<IFooterProps>;
4
4
  export default Footer;
@@ -1,6 +1,6 @@
1
- export declare const FooterSection: import("styled-components").StyledComponent<"section", any, {}, never>;
1
+ export declare const FooterSection: import("styled-components").StyledComponent<"footer", any, {}, never>;
2
2
  export declare const FooterContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
- export declare const PolicyLinksRow: import("styled-components").StyledComponent<"div", any, {}, never>;
4
- export declare const ContactNewsletterRow: import("styled-components").StyledComponent<"div", any, {}, never>;
5
- export declare const ArtsLogoRow: import("styled-components").StyledComponent<"div", any, {}, never>;
6
- export declare const AdditionalInfo: import("styled-components").StyledComponent<"p", any, {}, never>;
3
+ export declare const PolicyLinksSection: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const SocialAndNewsletterSection: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const LogoAndDescriptionSection: import("styled-components").StyledComponent<"div", any, {}, never>;
6
+ export declare const NewsletterBodyTextWrapper: import("styled-components").StyledComponent<({ level, children, tag }: import("../../../types/typography").IBodyTextProps) => import("react").JSX.Element, any, {}, never>;
@@ -1,88 +1,39 @@
1
- /* TEMPORARY SCSS FILE - will relocate when CSS module issue is fixed */
2
-
1
+ /* Global Styles for Harmonic CSS components */
3
2
  :root {
4
- --font-family-sans: 'Grey LL Bold', 'Roboto', sans-serif;
5
- --font-family-serif: 'Victor Serif Medium', 'Inria Serif Regular', serif;
6
- --harmonic-red: #F40B0B;
7
- --harmonic-black: #000000;
8
- --text-link-underline-offset: 4px;
9
- }
10
-
11
- .styles_em__v4FoO {
12
- font-style: italic;
13
- }
14
-
15
- /* ~~~~~ Color Classes ~~~~~ */
16
- .styles_color-black__a05Fo {
17
- color: var(--harmonic-black);
18
- }
19
-
20
- .styles_color-red__zwTZW {
21
- color: var(--harmonic-red);
22
- }
23
-
24
- /* ~~~~~ Mobile Styles ~~~~~ */
25
- @media (max-width: 600px) {
26
- /* Letter Spacing - Mobile */
27
- .styles_display__VgnTB {
28
- &.styles_large__vqVxY, &.styles_small__e7YDe {
29
- letter-spacing: -1.5px;
30
- }
31
- &.styles_large__vqVxY.styles_serif__b-ZjM, &.styles_large__vqVxY.styles_em__v4FoO,
32
- &.styles_small__e7YDe.styles_serif__b-ZjM, &.styles_small__e7YDe.styles_em__v4FoO {
33
- letter-spacing: -0.5px;
34
- }
35
- }
36
-
37
- .styles_header-small__W-GSS {
38
- letter-spacing: -0.75px;
3
+ --font-family-sans: 'Grey LL Bold', 'Roboto', sans-serif;
4
+ --font-family-serif: 'Victor Serif Medium', 'Inria Serif Regular', serif;
5
+ --harmonic-red: #F40B0B;
6
+ --harmonic-black: #000000;
7
+ --text-link-underline-offset: 4px;
39
8
  }
40
9
 
41
- .styles_subtitle__os3DH.styles_small__e7YDe, .styles_bodycopy__uEx9r.styles_medium__WQPZj, .styles_bodycopy__uEx9r.styles_small__e7YDe {
42
- letter-spacing: -0.2px;
43
- }
44
10
 
45
- .styles_overline__5xGDa.styles_small__e7YDe {
46
- letter-spacing: -0.3px;
11
+ /* TODO: store breakpoints here for use in css components */
12
+ /* export const breakpoints = {
13
+ xs: 320,
14
+ sm: 700,
15
+ md: 1140,
16
+ ml: 1280,
17
+ lg: 1400,
18
+ }; */
19
+ /* ~~~~~ General Styling Classes ~~~~~ */
20
+ .styles_color-black__a05Fo {
21
+ color: var(--harmonic-black);
47
22
  }
48
-
49
- /* Typography Sizes - Mobile */
50
- .styles_display__VgnTB {
51
- &.styles_large__vqVxY { font-size: 38px; }
52
- &.styles_small__e7YDe { font-size: 32px; }
23
+
24
+ .styles_color-red__zwTZW {
25
+ color: var(--harmonic-red);
53
26
  }
54
27
 
55
- .styles_header__UDH-H {
56
- &.styles_large__vqVxY { font-size: 28px; line-height: 34px; }
57
- &.styles_medium__WQPZj { font-size: 24px; line-height: 28px; }
58
- &.styles_small__e7YDe { font-size: 20px; line-height: 26px; }
28
+ .styles_em__v4FoO {
29
+ font-style: italic;
59
30
  }
31
+ /* ~~~ */
60
32
 
61
- .styles_subtitle__os3DH {
62
- &.styles_large__vqVxY { font-size: 17px; line-height: 24px; }
63
- &.styles_small__e7YDe { font-size: 14px; line-height: 20px; }
64
- }
65
-
66
- .styles_bodycopy__uEx9r {
67
- &.styles_large__vqVxY { font-size: 17px; line-height: 24px; }
68
- &.styles_medium__WQPZj { font-size: 14px; line-height: 20px; }
69
- &.styles_small__e7YDe { font-size: 11px; line-height: 16px; }
70
- }
71
-
72
- .styles_overline__5xGDa {
73
- &.styles_large__vqVxY { font-size: 14px; line-height: 17px; }
74
- &.styles_small__e7YDe { font-size: 12px; line-height: 14px; }
75
- }
76
-
77
- .styles_captiontext__-TA6x, .styles_navigationtext__qnnIo, .styles_textlinkharmonic__S77lE {
78
- font-size: 14px;
79
- line-height: 17px;
80
- }
81
- }
82
-
83
- /* ~~~~~ Desktop Styles ~~~~~ */
33
+ /* Display Headers */
84
34
  .styles_display__VgnTB {
85
35
  font-family: var(--font-family-sans);
36
+
86
37
  &.styles_large__vqVxY {
87
38
  font-size: 96px;
88
39
  letter-spacing: -5px;
@@ -98,8 +49,28 @@
98
49
  font-family: var(--font-family-serif);
99
50
  font-weight: 500;
100
51
  }
52
+
53
+ @media (max-width: 600px) {
54
+ &.styles_large__vqVxY {
55
+ font-size: 38px;
56
+ letter-spacing: -1.5px;
57
+ }
58
+
59
+ &.styles_small__e7YDe {
60
+ font-size: 32px;
61
+ letter-spacing: -1.5px;
62
+ }
63
+
64
+ &.styles_large__vqVxY.styles_serif__b-ZjM,
65
+ &.styles_large__vqVxY.styles_em__v4FoO,
66
+ &.styles_small__e7YDe.styles_serif__b-ZjM,
67
+ &.styles_small__e7YDe.styles_em__v4FoO {
68
+ letter-spacing: -0.5px;
69
+ }
70
+ }
101
71
  }
102
72
 
73
+ /* Headers */
103
74
  .styles_header__UDH-H {
104
75
  font-family: var(--font-family-sans);
105
76
  font-weight: 500;
@@ -126,6 +97,26 @@
126
97
  font-family: var(--font-family-serif);
127
98
  font-weight: 500;
128
99
  }
100
+
101
+ @media (max-width: 600px) {
102
+ &.styles_large__vqVxY {
103
+ font-size: 28px;
104
+ letter-spacing: -1.5px;
105
+ line-height: 34px;
106
+ }
107
+
108
+ &.styles_medium__WQPZj {
109
+ font-size: 24px;
110
+ letter-spacing: -1px;
111
+ line-height: 28px;
112
+ }
113
+
114
+ &.styles_small__e7YDe {
115
+ font-size: 20px;
116
+ letter-spacing: -0.75px;
117
+ line-height: 26px;
118
+ }
119
+ }
129
120
  }
130
121
 
131
122
  /* Subtitle */
@@ -133,18 +124,69 @@
133
124
  font-family: var(--font-family-sans);
134
125
  font-weight: 500;
135
126
 
136
- &.styles_large__vqVxY { font-size: 19px; line-height: 26px; }
137
- &.styles_small__e7YDe { font-size: 17px; line-height: 24px; }
127
+ &.styles_large__vqVxY {
128
+ font-size: 19px;
129
+ line-height: 26px;
130
+ }
131
+
132
+ &.styles_small__e7YDe {
133
+ font-size: 17px;
134
+ line-height: 24px;
135
+ }
136
+
137
+ @media (max-width: 600px) {
138
+ &.styles_large__vqVxY {
139
+ font-size: 17px;
140
+ line-height: 24px;
141
+ }
142
+
143
+ &.styles_small__e7YDe {
144
+ font-size: 14px;
145
+ letter-spacing: -0.2px;
146
+ line-height: 20px;
147
+ }
148
+ }
138
149
  }
139
150
 
140
151
  /* Body Copy */
141
152
  .styles_bodycopy__uEx9r {
142
153
  font-family: var(--font-family-sans);
143
154
  font-weight: 400;
155
+ letter-spacing: -0.5px;
156
+
157
+ &.styles_large__vqVxY {
158
+ font-size: 19px;
159
+ line-height: 26px;
160
+ }
161
+
162
+ &.styles_medium__WQPZj {
163
+ font-size: 17px;
164
+ line-height: 24px;
165
+ }
166
+
167
+ &.styles_small__e7YDe {
168
+ font-size: 14px;
169
+ line-height: 20px;
170
+ }
144
171
 
145
- &.styles_large__vqVxY { font-size: 19px; line-height: 26px; }
146
- &.styles_medium__WQPZj { font-size: 17px; line-height: 24px; }
147
- &.styles_small__e7YDe { font-size: 14px; line-height: 20px; }
172
+ @media (max-width: 600px) {
173
+ &.styles_large__vqVxY {
174
+ font-size: 17px;
175
+ line-height: 24px;
176
+ }
177
+
178
+ &.styles_medium__WQPZj {
179
+ font-size: 14px;
180
+ letter-spacing: -0.2px;
181
+ line-height: 20px;
182
+ }
183
+
184
+ &.styles_small__e7YDe {
185
+ font-size: 11px;
186
+ letter-spacing: -0.2px;
187
+ line-height: 16px;
188
+ }
189
+ }
148
190
  }
149
191
 
150
192
  /* Overline */
@@ -153,8 +195,19 @@
153
195
  font-weight: 500;
154
196
  text-transform: uppercase;
155
197
 
156
- &.styles_large__vqVxY { font-size: 14px; line-height: 18px; letter-spacing: -0.3px; }
157
- &.styles_small__e7YDe { font-size: 12px; line-height: 14px; letter-spacing: -0.2px; }
198
+ &.styles_large__vqVxY { font-size: 14px; line-height: 18px; letter-spacing: 0.3px; }
199
+ &.styles_small__e7YDe { font-size: 12px; line-height: 14px; letter-spacing: 0.2px; }
200
+
201
+ @media (max-width: 600px) {
202
+ &.styles_large__vqVxY {
203
+ line-height: 17px;
204
+ }
205
+
206
+ &.styles_small__e7YDe {
207
+ letter-spacing: 0.3px;
208
+ line-height: 14px;
209
+ }
210
+ }
158
211
  }
159
212
 
160
213
  /* Button Text */
@@ -171,6 +224,11 @@
171
224
  font-weight: 400;
172
225
  font-style: italic;
173
226
  line-height: 24px;
227
+
228
+ @media (max-width: 600px) {
229
+ font-size: 14px;
230
+ line-height: 17px;
231
+ }
174
232
  }
175
233
 
176
234
  /* Navigation Text */
@@ -179,21 +237,6 @@
179
237
  font-size: 17px;
180
238
  font-weight: 500;
181
239
  text-transform: uppercase;
240
+ letter-spacing: 0.4px;
182
241
  line-height: 17px;
183
- }
184
-
185
- /* Text Link */
186
- .styles_textlinkharmonic__S77lE {
187
- font-family: var(--font-family-sans);
188
- font-weight: 500;
189
- text-transform: uppercase;
190
- font-size: 17px;
191
- line-height: 14px;
192
- border-bottom: solid 1px;
193
- width: -moz-fit-content;
194
- width: fit-content;
195
- display: flex;
196
- align-items: center;
197
- cursor: pointer;
198
- text-decoration: none;
199
- }
242
+ }