@royaloperahouse/harmonic 1.0.0 → 1.0.1-a

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 (62) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/README.md +267 -43
  3. package/dist/components/atoms/Dropdown/Dropdown.d.ts +1 -1
  4. package/dist/components/atoms/Icons/StorybookSupport/Iconography.d.ts +10 -2
  5. package/dist/components/atoms/Radio/Radio.d.ts +7 -0
  6. package/dist/components/atoms/Radio/Radio.style.d.ts +4 -0
  7. package/dist/components/atoms/Radio/index.d.ts +2 -0
  8. package/dist/components/atoms/Tab/Tab.d.ts +1 -1
  9. package/dist/components/atoms/TextLogo/TextLogo.d.ts +10 -3
  10. package/dist/components/atoms/index.d.ts +2 -7
  11. package/dist/components/index.d.ts +4 -4
  12. package/dist/components/molecules/BodyContent/BodyContent.d.ts +4 -1
  13. package/dist/components/molecules/PageHeading/Compact/components/CompactHeaderBranding.d.ts +7 -1
  14. package/dist/components/molecules/PageHeading/Promo/components/Badge.d.ts +8 -2
  15. package/dist/components/molecules/PageHeading/Promo/components/Button.d.ts +8 -2
  16. package/dist/components/molecules/Pagination/Pagination.d.ts +13 -2
  17. package/dist/components/molecules/Paywall/Paywall.styles.d.ts +4 -1
  18. package/dist/components/molecules/PromoWithTitle/PromoChild.d.ts +7 -2
  19. package/dist/components/molecules/RadioGroup/RadioGroup.d.ts +7 -0
  20. package/dist/components/molecules/RadioGroup/RadioGroup.style.d.ts +1 -0
  21. package/dist/components/molecules/RadioGroup/index.d.ts +2 -0
  22. package/dist/components/molecules/Select/Select.d.ts +101 -0
  23. package/dist/components/molecules/Select/Select.style.d.ts +13 -0
  24. package/dist/components/molecules/Select/index.d.ts +2 -0
  25. package/dist/components/molecules/Select2/Select2.d.ts +3 -1
  26. package/dist/components/molecules/SignUpForm/components/SignUpFormButton.d.ts +6 -2
  27. package/dist/components/molecules/Swipe/Swipe.d.ts +6 -2
  28. package/dist/components/molecules/Table/Table.style.d.ts +1 -1
  29. package/dist/components/molecules/Table/components/HeaderCells.d.ts +4 -1
  30. package/dist/components/molecules/index.d.ts +3 -10
  31. package/dist/components/organisms/Carousels/HighlightsCarousel/components/Buttons.d.ts +3 -2
  32. package/dist/components/organisms/Carousels/HighlightsCarousel/components/InfoSection.d.ts +9 -3
  33. package/dist/components/organisms/Carousels/HighlightsCarousel/components/SwipeCarousel.d.ts +12 -3
  34. package/dist/harmonic.cjs.development.css +0 -319
  35. package/dist/harmonic.cjs.development.js +2142 -1739
  36. package/dist/harmonic.cjs.development.js.map +1 -1
  37. package/dist/harmonic.cjs.production.min.js +1 -1
  38. package/dist/harmonic.cjs.production.min.js.map +1 -1
  39. package/dist/harmonic.esm.js +2315 -1905
  40. package/dist/harmonic.esm.js.map +1 -1
  41. package/dist/index.d.ts +2 -2
  42. package/dist/styles/HarmonicThemeProvider/HarmonicThemeProvider.d.ts +0 -1
  43. package/dist/types/types.d.ts +1 -9
  44. package/package.json +1 -1
  45. package/README.GIT +0 -293
  46. package/dist/components/atoms/Icons/StorybookSupport/Iconography.types.d.ts +0 -10
  47. package/dist/components/atoms/TextLogo/TextLogo.types.d.ts +0 -10
  48. package/dist/components/molecules/BodyContent/BodyContent.types.d.ts +0 -4
  49. package/dist/components/molecules/Information/InfoCta.types.d.ts +0 -11
  50. package/dist/components/molecules/PageHeading/Compact/Compact.types.d.ts +0 -14
  51. package/dist/components/molecules/PageHeading/Compact/components/CompactHeaderBranding.types.d.ts +0 -7
  52. package/dist/components/molecules/PageHeading/Promo/components/Badge.types.d.ts +0 -7
  53. package/dist/components/molecules/PageHeading/Promo/components/Button.types.d.ts +0 -7
  54. package/dist/components/molecules/Pagination/Pagination.types.d.ts +0 -13
  55. package/dist/components/molecules/PromoWithTitle/PromoChild.types.d.ts +0 -7
  56. package/dist/components/molecules/Select2/Select2.types.d.ts +0 -6
  57. package/dist/components/molecules/SignUpForm/components/SignUpFormButton.types.d.ts +0 -6
  58. package/dist/components/molecules/Swipe/Swipe.types.d.ts +0 -17
  59. package/dist/components/molecules/Table/components/HeaderCells.types.d.ts +0 -5
  60. package/dist/components/organisms/Carousels/HighlightsCarousel/components/Buttons.types.d.ts +0 -2
  61. package/dist/components/organisms/Carousels/HighlightsCarousel/components/InfoSection.types.d.ts +0 -8
  62. package/dist/components/organisms/Carousels/HighlightsCarousel/components/SwipeCarousel.types.d.ts +0 -11
@@ -0,0 +1,101 @@
1
+ import React from 'react';
2
+ import { ISelectProps } from '../../../types/formTypes';
3
+ /**
4
+ * DEPRECATED. Use Select2 instead.
5
+ * A select component, created using <ul> and <li> elements, with bespoke accessibility
6
+ * logic.
7
+ *
8
+ * # Usage
9
+ * ## Defining a component that uses a typical Select element
10
+ * ```tsx
11
+ * const MyComponent = () => {
12
+ * const handleSelect = (value: number, text: string) => {
13
+ * console.log("Selected", value);
14
+ * };
15
+ *
16
+ * return <>
17
+ * <Select
18
+ * label="This is a label"
19
+ * options={[
20
+ * { text: "Option 1", value: 1 },
21
+ * { text: "Option 2", value: 2 },
22
+ * ]}
23
+ * onSelect={handleSelect}
24
+ * />
25
+ * </>
26
+ * }
27
+ * ```
28
+ *
29
+ * ## Defining a component that uses a disabled Select element
30
+ * ```tsx
31
+ * const MyComponent = () => {
32
+ * const handleSelect = (value: number, text: string) => {
33
+ * console.log("Selected", value);
34
+ * };
35
+ *
36
+ * return <>
37
+ * <Select
38
+ * disabled // Select component disabled explicitely
39
+ * label="This is a label"
40
+ * options={[
41
+ * { text: "Option 1", value: 1 },
42
+ * { text: "Option 2", value: 2 },
43
+ * ]}
44
+ * onSelect={handleSelect}
45
+ * />
46
+ * <Select
47
+ * label="This is a label"
48
+ * options={[]} // Select component disabled implicitely by passing an empty array of options
49
+ * onSelect={handleSelect}
50
+ * />
51
+ * </>
52
+ * }
53
+ * ```
54
+ *
55
+ * ## Defining a component with a non-labelled Select element
56
+ * ```tsx
57
+ * const MyComponent = () => {
58
+ * const handleSelect = (value: number, text: string) => {
59
+ * console.log("Selected", value);
60
+ * };
61
+ *
62
+ * return <>
63
+ * <Select
64
+ * label=""
65
+ * options={[
66
+ * { text: "Option 1", value: 1 },
67
+ * { text: "Option 2", value: 2 },
68
+ * ]}
69
+ * onSelect={handleSelect}
70
+ * />
71
+ * </>
72
+ * }
73
+ * ```
74
+ *
75
+ * ## Changing the dimensions of a Select element (px)
76
+ * ```tsx
77
+ * const MyComponent = () => {
78
+ * const handleSelect = (value: number, text: string) => {
79
+ * console.log("Selected", value);
80
+ * };
81
+ *
82
+ * const selectWidthPx = 100;
83
+ * const selectHeightPx = 27;
84
+ *
85
+ * return <>
86
+ * <Select
87
+ * label="This is a label"
88
+ * options={[
89
+ * { text: "Option 1", value: 1 },
90
+ * { text: "Option 2", value: 2 },
91
+ * ]}
92
+ * onSelect={handleSelect}
93
+ * width={selectWidthPx}
94
+ * height={selectHeightPx}
95
+ * />
96
+ * </>
97
+ * }
98
+ * ```
99
+ */
100
+ declare function Select<T>({ label, options, onSelect, disabled, resetWhenOptionsUpdate, width, height, }: ISelectProps<T>): React.JSX.Element;
101
+ export default Select;
@@ -0,0 +1,13 @@
1
+ import { ISelectProps } from '../../../types/formTypes';
2
+ export declare const ArrowIcon: import("styled-components").StyledComponent<import("react").MemoExoticComponent<(props: import("../../../types/iconTypes").IIconProps) => import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)>>, any, {
3
+ iconName: "DropdownArrow";
4
+ color: string;
5
+ title: "Select Arrow";
6
+ }, "title" | "color" | "iconName">;
7
+ export declare const Wrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
8
+ export declare const SelectWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
9
+ export declare const Options: import("styled-components").StyledComponent<"div", any, {}, never>;
10
+ export declare const Option: import("styled-components").StyledComponent<"li", any, {
11
+ hover: boolean;
12
+ }, never>;
13
+ export declare const SelectList: import("styled-components").StyledComponent<"ul", any, Pick<Required<ISelectProps<unknown>>, "height" | "width">, never>;
@@ -0,0 +1,2 @@
1
+ import Select from './Select';
2
+ export default Select;
@@ -1,8 +1,10 @@
1
1
  import React, { FunctionComponent } from 'react';
2
2
  import { DropdownIndicatorProps } from 'react-select';
3
3
  import { ISelect2Props } from '../../../types/formTypes';
4
- import { IWrapperProps } from './Select2.types';
5
4
  export declare const DropdownIndicator: (props: DropdownIndicatorProps) => React.JSX.Element;
5
+ interface IWrapperProps extends Pick<ISelect2Props, 'label' | 'error' | 'width' | 'darkMode' | 'className'> {
6
+ children: React.ReactNode;
7
+ }
6
8
  export declare const WrapperComponent: FunctionComponent<IWrapperProps>;
7
9
  /**
8
10
  * A Select2 component wraps react-select with Harmonic styling and additional elements like
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
- import { SignUpFormButtonProps } from './SignUpFormButton.types';
3
- declare const SignUpFormButton: React.FC<SignUpFormButtonProps>;
2
+ import { ThemeType } from '../../../../types/types';
3
+ declare type Props = {
4
+ theme: ThemeType;
5
+ onClick: (e: React.FormEvent) => Promise<void>;
6
+ };
7
+ declare const SignUpFormButton: React.FC<Props>;
4
8
  export default SignUpFormButton;
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
- import { SwipeRef } from './Swipe.types';
3
- export type { SwipeRef } from './Swipe.types';
2
+ export interface SwipeRef {
3
+ nextSlide: () => void;
4
+ prevSlide: () => void;
5
+ hasOverflow: () => boolean;
6
+ hasNext: () => boolean;
7
+ }
4
8
  declare const Swipe: React.ForwardRefExoticComponent<{
5
9
  children: React.ReactNode[];
6
10
  infinite?: boolean | undefined;
@@ -7,6 +7,6 @@ export declare const TableHeader: import("styled-components").StyledComponent<"t
7
7
  export declare const TableCell: import("styled-components").StyledComponent<"td", any, {
8
8
  columns: number;
9
9
  }, never>;
10
- export declare const PaginationWrapper: import("styled-components").StyledComponent<({ pageCount, currentPage, baseUrl, className, onPageChange }: import("../Pagination/Pagination.types").PageData) => import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)>, any, {}, never>;
10
+ export declare const PaginationWrapper: import("styled-components").StyledComponent<({ pageCount, currentPage, baseUrl, className, onPageChange }: import("../Pagination/Pagination").PageData) => import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)>, any, {}, never>;
11
11
  export declare const ScrollButtons: import("styled-components").StyledComponent<"div", any, {}, never>;
12
12
  export declare const AriaDescription: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -1,4 +1,7 @@
1
1
  import React from 'react';
2
- import { HeaderCellsProps } from './HeaderCells.types';
2
+ interface HeaderCellsProps {
3
+ headings: React.ReactNode[];
4
+ columns: number;
5
+ }
3
6
  declare const HeaderCells: React.FC<HeaderCellsProps>;
4
7
  export default HeaderCells;
@@ -1,13 +1,10 @@
1
1
  import Accordion from './Accordion';
2
2
  import Accordions from './Accordions';
3
3
  import AnnouncementBanner from './AnnouncementBanner';
4
- import Basket from './Basket';
5
- import BodyContent from './BodyContent';
6
4
  import Card from './Card';
7
5
  import Cards from './Cards';
8
6
  import CastFilter from './CastFilter';
9
7
  import ContactCard from './ContactCard';
10
- import ContactNewsletter from './ContactNewsletter';
11
8
  import ContentSummary from './ContentSummary';
12
9
  import Editorial from './Editorial';
13
10
  import HotFilters from './HotFilters';
@@ -18,21 +15,18 @@ import { PeopleListing, CreditListing } from './PeopleListing';
18
15
  import PolicyLinks from './PolicyLinks';
19
16
  import PromoWithTags from './PromoWithTags';
20
17
  import PromoWithTitle from './PromoWithTitle';
21
- import Quote from './Quote';
18
+ import RadioGroup from './RadioGroup';
22
19
  import RadioGroup2 from './RadioGroup2';
23
20
  import StatusBanner from './StatusBanner';
24
21
  import SearchBar from './SearchBar';
25
22
  import SectionTitle from './SectionTitle';
23
+ import Select from './Select';
26
24
  import Select2 from './Select2';
27
25
  import Select2Async from './Select2Async';
28
- import { Swipe, SwipeRef } from './Swipe';
29
26
  import Tabs from './Tabs';
30
27
  import UpsellCard from './UpsellCard';
31
28
  import ImageWithCaption from './ImageWithCaption';
32
29
  import MiniCard from './MiniCard';
33
- import NavTop from './NavTop';
34
- import PersonCard from './PersonCard';
35
- import PersonDetails from './PersonDetails';
36
30
  import ReadMore from './ReadMore';
37
31
  import AuxiliaryNav from './AuxiliaryNav';
38
32
  import PasswordStrength from './PasswordStrength';
@@ -42,5 +36,4 @@ import SignUpForm from './SignUpForm';
42
36
  import AnchorBar from './AnchorBar';
43
37
  import SkipToMain from './SkipToMain';
44
38
  import Paywall from './Paywall';
45
- import UpsellCards from './UpsellCards';
46
- export { Accordion, Accordions, AnchorBar, AnnouncementBanner, AuxiliaryNav, Basket, BodyContent, Card, Cards, CastFilter, ContactCard, ContactNewsletter, ContentSummary, CreditListing, Editorial, HotFilters, ImageWithCaption, Information, MiniCard, NavTop, PersonCard, PersonDetails, PageHeading, PageHeadingCompact, PageHeadingImpact, PageHeadingHighlight, PageHeadingPanel, PageHeadingPromo, PageHeadingHighlightCarousel, PasswordStrength, Pagination, Paywall, PeopleListing, PolicyLinks, PromoWithTags, PromoWithTitle, Quote, RadioGroup2, ReadMore, StatusBanner, SectionTitle, SearchBar, Select2, Select2Async, SignUpForm, Swipe, SwipeRef, Tabs, Table, UpsellCard, UpsellCards, VideoWithControls, SkipToMain, };
39
+ export { Accordion, Accordions, AnchorBar, AnnouncementBanner, AuxiliaryNav, Card, Cards, CastFilter, ContactCard, ContentSummary, CreditListing, Editorial, HotFilters, ImageWithCaption, Information, MiniCard, PageHeading, PageHeadingCompact, PageHeadingImpact, PageHeadingHighlight, PageHeadingPanel, PageHeadingPromo, PageHeadingHighlightCarousel, PasswordStrength, Pagination, Paywall, PeopleListing, PolicyLinks, PromoWithTags, PromoWithTitle, RadioGroup, RadioGroup2, ReadMore, StatusBanner, SectionTitle, SearchBar, Select, Select2, Select2Async, SignUpForm, Tabs, Table, UpsellCard, VideoWithControls, SkipToMain, };
@@ -1,4 +1,5 @@
1
1
  import { FunctionComponent } from 'react';
2
- import { HighlightsCarouselButtonsProps } from './Buttons.types';
3
- declare const Buttons: FunctionComponent<HighlightsCarouselButtonsProps>;
2
+ import { HighlightsCarouselSlide } from '../../../../../types/carousel';
3
+ declare type Props = Pick<HighlightsCarouselSlide, 'links' | 'auxiliaryCTA'>;
4
+ declare const Buttons: FunctionComponent<Props>;
4
5
  export default Buttons;
@@ -1,4 +1,10 @@
1
- import { FunctionComponent } from 'react';
2
- import { HighlightsCarouselInfoSectionProps } from './InfoSection.types';
3
- declare const InfoSection: FunctionComponent<HighlightsCarouselInfoSectionProps>;
1
+ import { FunctionComponent, ReactElement } from 'react';
2
+ import { HighlightsCarouselSlide } from '../../../../../types/carousel';
3
+ import { ILogosProps } from '../../../../../types/types';
4
+ declare type Props = {
5
+ logo?: ReactElement<ILogosProps> | null;
6
+ slide: HighlightsCarouselSlide;
7
+ currentSlideIndex: number;
8
+ };
9
+ declare const InfoSection: FunctionComponent<Props>;
4
10
  export default InfoSection;
@@ -1,4 +1,13 @@
1
- import { FunctionComponent } from 'react';
2
- import { HighlightsCarouselSwipeCarouselProps } from './SwipeCarousel.types';
3
- declare const SwipeCarousel: FunctionComponent<HighlightsCarouselSwipeCarouselProps>;
1
+ import React, { FunctionComponent } from 'react';
2
+ import { HighlightsCarouselSlideImage, HighlightsCarouselSlideVideo } from '../../../../../types/carousel';
3
+ import { SwipeRef } from '../../../../molecules/Swipe';
4
+ declare type Props = {
5
+ slidesMedia: (HighlightsCarouselSlideImage | HighlightsCarouselSlideVideo)[];
6
+ currentSlide: number;
7
+ setCurrentSlide: React.Dispatch<React.SetStateAction<number>>;
8
+ carouselRef: React.RefObject<SwipeRef>;
9
+ hasMultipleSlides: boolean;
10
+ carouselTitle?: string;
11
+ };
12
+ declare const SwipeCarousel: FunctionComponent<Props>;
4
13
  export default SwipeCarousel;
@@ -350,325 +350,6 @@
350
350
  font-display: swap;
351
351
  }
352
352
 
353
- /* ~~~~~ General Styling Classes ~~~~~ */
354
- .typography_color-primary__LOfDi {
355
- color: var(--color-primary);
356
- }
357
-
358
- .typography_color-black__6MHRL {
359
- color: var(--color-base-black);
360
- }
361
-
362
- .typography_color-white__PfW5s {
363
- color: var(--color-base-white);
364
- }
365
-
366
- .typography_color-red__iPlbG {
367
- color: var(--color-primary-red);
368
- }
369
-
370
- .typography_color-grey__GA1c2 {
371
- color: var(--color-base-dark-grey);
372
- }
373
-
374
- .typography_color-inherit__RDd0Y {
375
- color: inherit;
376
- }
377
-
378
- .typography_em__E6tX- {
379
- font-style: italic;
380
- }
381
- /* ~~~ */
382
-
383
- /* Display Headers */
384
- .typography_display__-F3p4 {
385
- margin: 0;
386
- font-family: var(--font-family-sans);
387
- line-height: 100%;
388
-
389
- &.typography_large__uq0zC {
390
- font-size: 96px;
391
- font-weight: 700;
392
- letter-spacing: -5px;
393
- }
394
-
395
- &.typography_small__wfQ0K {
396
- font-size: 68px;
397
- font-weight: 500;
398
- letter-spacing: -3px;
399
- }
400
-
401
- /* Serif and Italic styles */
402
- &.typography_serif__VSO38,
403
- &.typography_em__E6tX- {
404
- font-family: var(--font-family-serif);
405
- font-weight: 500;
406
- }
407
-
408
- /* Serif and Italic adjustments */
409
- &.typography_large__uq0zC.typography_serif__VSO38,
410
- &.typography_large__uq0zC.typography_em__E6tX- {
411
- letter-spacing: -3px;
412
- }
413
-
414
- &.typography_small__wfQ0K.typography_serif__VSO38,
415
- &.typography_small__wfQ0K.typography_em__E6tX- {
416
- letter-spacing: -2px;
417
- }
418
-
419
- @media (max-width: 699px) {
420
- &.typography_large__uq0zC {
421
- font-size: 38px;
422
- letter-spacing: -1.5px;
423
- }
424
-
425
- &.typography_small__wfQ0K {
426
- font-size: 32px;
427
- letter-spacing: -1.5px;
428
- }
429
-
430
- &.typography_large__uq0zC.typography_serif__VSO38,
431
- &.typography_large__uq0zC.typography_em__E6tX-,
432
- &.typography_small__wfQ0K.typography_serif__VSO38,
433
- &.typography_small__wfQ0K.typography_em__E6tX- {
434
- letter-spacing: -0.5px;
435
- }
436
- }
437
- }
438
-
439
- /* Headers */
440
- .typography_header__BexiD {
441
- margin: 0;
442
- font-family: var(--font-family-sans);
443
- font-weight: 500;
444
-
445
- &.typography_large__uq0zC {
446
- font-size: 44px;
447
- line-height: 48px;
448
- letter-spacing: -1.5px;
449
- }
450
-
451
- &.typography_medium__K0uZD {
452
- font-size: 34px;
453
- line-height: 40px;
454
- letter-spacing: -1px;
455
- }
456
-
457
- &.typography_small__wfQ0K {
458
- font-size: 26px;
459
- line-height: 32px;
460
- letter-spacing: -0.5px;
461
- }
462
-
463
- /* Serif and Italic styles */
464
- &.typography_serif__VSO38,
465
- &.typography_em__E6tX- {
466
- font-family: var(--font-family-serif);
467
- }
468
-
469
- /* Serif and Italic letter-spacing overrides */
470
- &.typography_large__uq0zC.typography_serif__VSO38,
471
- &.typography_large__uq0zC.typography_em__E6tX- {
472
- letter-spacing: -0.5px;
473
- }
474
-
475
- &.typography_medium__K0uZD.typography_serif__VSO38,
476
- &.typography_medium__K0uZD.typography_em__E6tX- {
477
- letter-spacing: -0.5px;
478
- }
479
-
480
- &.typography_small__wfQ0K.typography_serif__VSO38,
481
- &.typography_small__wfQ0K.typography_em__E6tX- {
482
- letter-spacing: -0.5px;
483
- }
484
-
485
- @media (max-width: 699px) {
486
- &.typography_large__uq0zC {
487
- font-size: 28px;
488
- line-height: 34px;
489
- letter-spacing: -1.5px;
490
- }
491
-
492
- &.typography_medium__K0uZD {
493
- font-size: 24px;
494
- line-height: 28px;
495
- letter-spacing: -1px;
496
- }
497
-
498
- &.typography_small__wfQ0K {
499
- font-size: 20px;
500
- line-height: 26px;
501
- letter-spacing: -0.75px;
502
- }
503
-
504
- /* Mobile overrides for serif/italic letter-spacing */
505
- &.typography_large__uq0zC.typography_serif__VSO38,
506
- &.typography_large__uq0zC.typography_em__E6tX-,
507
- &.typography_medium__K0uZD.typography_serif__VSO38,
508
- &.typography_medium__K0uZD.typography_em__E6tX-,
509
- &.typography_small__wfQ0K.typography_serif__VSO38,
510
- &.typography_small__wfQ0K.typography_em__E6tX- {
511
- letter-spacing: -0.5px;
512
- }
513
- }
514
- }
515
-
516
- /* Subtitle */
517
- .typography_subtitle__aoFTV {
518
- margin: 0;
519
- font-family: var(--font-family-sans);
520
- font-weight: 500;
521
-
522
- &.typography_large__uq0zC {
523
- font-size: 19px;
524
- line-height: 26px;
525
- letter-spacing: -0.5px;
526
- }
527
-
528
- &.typography_small__wfQ0K {
529
- font-size: 17px;
530
- line-height: 24px;
531
- letter-spacing: -0.5px;
532
- }
533
-
534
- @media (max-width: 699px) {
535
- &.typography_large__uq0zC {
536
- font-size: 17px;
537
- line-height: 24px;
538
- letter-spacing: -0.5px;
539
- }
540
-
541
- &.typography_small__wfQ0K {
542
- font-size: 14px;
543
- line-height: 20px;
544
- letter-spacing: -0.2px;
545
- }
546
- }
547
- }
548
-
549
- /* Body Copy */
550
- .typography_bodycopy__vYtQ8 {
551
- margin: 0;
552
- font-family: var(--font-family-sans);
553
- font-weight: 400;
554
-
555
- &.typography_large__uq0zC {
556
- font-size: 19px;
557
- line-height: 26px;
558
- letter-spacing: -0.5px;
559
- }
560
-
561
- &.typography_medium__K0uZD {
562
- font-size: 17px;
563
- line-height: 24px;
564
- letter-spacing: -0.5px;
565
- }
566
-
567
- &.typography_small__wfQ0K {
568
- font-size: 14px;
569
- line-height: 20px;
570
- letter-spacing: -0.5px;
571
- }
572
-
573
- @media (max-width: 699px) {
574
- &.typography_large__uq0zC {
575
- font-size: 17px;
576
- line-height: 24px;
577
- letter-spacing: -0.5px;
578
- }
579
-
580
- &.typography_medium__K0uZD {
581
- font-size: 14px;
582
- line-height: 20px;
583
- letter-spacing: -0.2px;
584
- }
585
-
586
- &.typography_small__wfQ0K {
587
- font-size: 11px;
588
- line-height: 16px;
589
- letter-spacing: -0.2px;
590
- }
591
- }
592
- }
593
-
594
- /* Overline */
595
- .typography_overline__EnUK3 {
596
- margin: 0;
597
- font-family: var(--font-family-sans);
598
- font-weight: 500;
599
- text-transform: uppercase;
600
-
601
- &.typography_large__uq0zC {
602
- font-size: 14px;
603
- line-height: 18px;
604
- letter-spacing: 0.3px;
605
- }
606
-
607
- &.typography_small__wfQ0K {
608
- font-size: 12px;
609
- line-height: 14px;
610
- letter-spacing: 0.2px;
611
- }
612
-
613
- @media (max-width: 699px) {
614
- &.typography_large__uq0zC {
615
- line-height: 17px;
616
- letter-spacing: 0.3px; /* Added to ensure it stays */
617
- }
618
-
619
- &.typography_small__wfQ0K {
620
- line-height: 14px;
621
- letter-spacing: 0.3px;
622
- }
623
- }
624
- }
625
-
626
- /* Button Text */
627
- .typography_buttontext__vcxNi {
628
- margin: 0;
629
- font-family: var(--font-family-sans);
630
- font-size: 17px;
631
- line-height: 20px;
632
- letter-spacing: -0.5px;
633
- font-weight: 400;
634
-
635
- @media (max-width: 699px) {
636
- font-weight: 500;
637
- line-height: 17px;
638
- }
639
- }
640
-
641
- /* Caption Text */
642
- .typography_captiontext__91UFb {
643
- margin: 0;
644
- font-family: var(--font-family-sans);
645
- font-weight: 400;
646
- font-size: 17px;
647
- line-height: 24px;
648
- letter-spacing: -0.5px;
649
-
650
- @media (max-width: 699px) {
651
- font-size: 14px;
652
- line-height: 20px;
653
- letter-spacing: -0.2px;
654
- }
655
- }
656
-
657
- /* Navigation Text */
658
- .typography_navigationtext__YfGf7 {
659
- margin: 0;
660
- font-family: var(--font-family-sans);
661
- font-size: 19px;
662
- line-height: 19px;
663
- letter-spacing: 0.4px;
664
- font-weight: 500;
665
-
666
- @media (max-width: 699px) {
667
- font-size: 17px;
668
- line-height: 17px;
669
- }
670
- }
671
-
672
353
  .core-theme-module_coreTheme__pWxYB {
673
354
  /* RBO Red */
674
355
  /* Primary Palette */