@royaloperahouse/harmonic 1.0.5-b → 1.0.5-d

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/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { Account, Accordion, Accordions, AnchorBar, AnnouncementBanner, AltHeader, AnchorTabBar, AuxiliaryNav, Basket, BodyText, Card, Cards, Carousel, CastFilter, CinemaBadge, ContactCard, ContactNewsletter, ContentSummary, ControlledDropdown, Dropdown, CreditListing, Editorial, Footer, GlobalStyles, Grid, GridItem, Header, HighlightsCarousel, HighlightsCarouselCinema, HighlightsCarouselCore, HighlightsCarouselStream, HotFilters, Icon, ImageAspectRatioWrapper, ImageWithCaption, Information, Logo, Navigation, NavTop, MinimalCarousel, Overline, PageHeading, PageHeadingCompact, PageHeadingImpact, PageHeadingPanel, PageHeadingHighlight, PageHeadingPromo, PageHeadingHighlightCarousel, Pagination, PasswordStrength, Person, Paywall, PersonDetails, PeopleListing, PolicyLinks, PrimaryButton, Progress, PromoWithTags, PromoWithTitle, Radio2, RadioGroup2, ReadMore, RotatorButtons, Search, StatusBanner, SearchBar, SecondaryButton, SecondaryLogo, SocialLinks, SectionSplitter, SectionTitle, Select2, Select2Async, SignUpForm, Swipe, SwipeRef, Sponsorship, StickyBar, Stepper, StreamBadge, Subtitle, TertiaryButton, ThemeProvider, TitleWithCTA, Tab, Table, TabLink, Tabs, TextArea, TextField, TextFieldLegacy, TextLink, Tickbox, Tickbox2, Timer, TypeTags, UpsellCard, UpsellCards, UpsellSection, VideoControls, VideoWithControls } from './components';
1
+ import { Account, Accordion, Accordions, AnchorBar, AnnouncementBanner, AltHeader, AnchorTabBar, AuxiliaryNav, Basket, BodyText, Card, Cards, Carousel, CastFilter, CinemaBadge, ContactCard, ContactNewsletter, ContentSummary, ControlledDropdown, Dropdown, CreditListing, Editorial, Footer, GlobalStyles, Grid, GridItem, Header, HighlightsCarousel, HighlightsCarouselCinema, HighlightsCarouselCore, HighlightsCarouselStream, HotFilters, Icon, ImageAspectRatioWrapper, ImageWithCaption, Information, Logo, Navigation, NavTop, MinimalCarousel, CustomStrategyTabsFilter, Overline, PageHeading, PageHeadingCompact, PageHeadingImpact, PageHeadingPanel, PageHeadingHighlight, PageHeadingPromo, PageHeadingHighlightCarousel, Pagination, PasswordStrength, Person, Paywall, PersonDetails, PeopleListing, PolicyLinks, PrimaryButton, Progress, PromoWithTags, PromoWithTitle, Radio2, RadioGroup2, ReadMore, RotatorButtons, Search, StatusBanner, SearchBar, SecondaryButton, SecondaryLogo, SocialLinks, SectionSplitter, SectionTitle, Select2, Select2Async, SignUpForm, Swipe, SwipeRef, Sponsorship, StickyBar, Stepper, StreamBadge, Subtitle, TertiaryButton, ThemeProvider, TitleWithCTA, Tab, Table, TabLink, Tabs, TextArea, TextField, TextFieldLegacy, TextLink, Tickbox, Tickbox2, Timer, TypeTags, UpsellCard, UpsellCards, UpsellSection, VideoControls, VideoWithControls } from './components';
2
2
  import BodyContent from './components/molecules/BodyContent';
3
3
  import Quote from './components/molecules/Quote';
4
4
  import { devices, breakpoints } from './styles/viewports';
5
5
  import zIndexes from './styles/zIndexes';
6
- import { AspectRatio, ButtonType, CarouselType, Colors, IconNameType, IntegratedTimerProps, ITimerProps, TickboxMode, ThemeColor, ThemeType, EditorialLink, IInformationTitleProps, IInformationCTAProps } from './types';
6
+ import { AspectRatio, ButtonType, CarouselType, Colors, IconNameType, IntegratedTimerProps, ITimerProps, TickboxMode, ThemeColor, ThemeType, EditorialLink, IInformationTitleProps, IInformationCTAProps, TCustomStrategyTabsFilterProps, TCustomStrategyTabsFilterItem } from './types';
7
7
  import { MiniCard } from './components/molecules';
8
8
  import { ModalWindow } from './components/organisms';
9
9
  import AuxiliaryButton from './components/atoms/Buttons/Auxiliary/AuxiliaryButton';
@@ -12,4 +12,4 @@ import HarmonicThemeProvider, { useHarmonicTheme } from './styles/HarmonicThemeP
12
12
  import { HarmonicSize } from './types/typography';
13
13
  import { HarmonicHeader, HarmonicSubtitle, BodyCopyHarmonic, HarmonicOverline, ButtonText, Caption, NavigationText } from './components/Typography';
14
14
  export { useHarmonicTheme };
15
- export { Account, Accordion, Accordions, AnchorBar, AnnouncementBanner, AltHeader, AnchorTabBar, AuxiliaryButton, AuxiliaryNav, AspectRatio, Basket, BodyContent, BodyText, breakpoints, ButtonType, Card, Cards, CarouselType, Carousel, CastFilter, CinemaBadge, Colors, ContactCard, ContactNewsletter, ContentSummary, ControlledDropdown, Dropdown, CreditListing, devices, Editorial, EditorialLink, Footer, GlobalStyles, Grid, GridItem, HarmonicSize, HarmonicThemeProvider, Header, HighlightsCarousel, HighlightsCarouselCinema, HighlightsCarouselCore, HighlightsCarouselStream, HotFilters, Icon, IconNameType, ImageAspectRatioWrapper, ImageWithCaption, Information, Logo, IInformationCTAProps, IInformationTitleProps, ITimerProps, IntegratedTimerProps, MinimalCarousel, MiniCard, ModalWindow, Navigation, NavTop, Overline, PageHeading, PageHeadingCompact, PageHeadingImpact, PageHeadingPanel, PageHeadingHighlight, PageHeadingPromo, PageHeadingHighlightCarousel, Pagination, PasswordStrength, Person, PersonCard, PersonDetails, Paywall, PeopleListing, PolicyLinks, PrimaryButton, Progress, PromoWithTags, PromoWithTitle, Radio2, RadioGroup2, ReadMore, RotatorButtons, Search, StatusBanner, SearchBar, SecondaryButton, SecondaryLogo, SocialLinks, SectionSplitter, SectionTitle, Select2, Select2Async, SignUpForm, Swipe, SwipeRef, Sponsorship, StickyBar, Stepper, StreamBadge, Subtitle, Tab, Table, TabLink, Tabs, TertiaryButton, TextArea, TextField, TextFieldLegacy, TextLink, ThemeColor, ThemeProvider, ThemeType, TitleWithCTA, Tickbox, Tickbox2, TickboxMode, Timer, TypeTags, UpsellCard, UpsellCards, UpsellSection, Quote, VideoControls, VideoWithControls, zIndexes, HarmonicHeader, HarmonicSubtitle, BodyCopyHarmonic, HarmonicOverline, ButtonText, Caption, NavigationText, };
15
+ export { Account, Accordion, Accordions, AnchorBar, AnnouncementBanner, AltHeader, AnchorTabBar, AuxiliaryButton, AuxiliaryNav, AspectRatio, Basket, BodyContent, BodyText, breakpoints, ButtonType, Card, Cards, CarouselType, Carousel, CastFilter, CinemaBadge, Colors, ContactCard, ContactNewsletter, ContentSummary, ControlledDropdown, Dropdown, CreditListing, devices, Editorial, EditorialLink, Footer, GlobalStyles, Grid, GridItem, HarmonicSize, HarmonicThemeProvider, Header, HighlightsCarousel, HighlightsCarouselCinema, HighlightsCarouselCore, HighlightsCarouselStream, HotFilters, Icon, IconNameType, ImageAspectRatioWrapper, ImageWithCaption, Information, Logo, IInformationCTAProps, IInformationTitleProps, ITimerProps, IntegratedTimerProps, MinimalCarousel, MiniCard, CustomStrategyTabsFilter, ModalWindow, Navigation, NavTop, Overline, PageHeading, PageHeadingCompact, PageHeadingImpact, PageHeadingPanel, PageHeadingHighlight, PageHeadingPromo, PageHeadingHighlightCarousel, Pagination, PasswordStrength, Person, PersonCard, PersonDetails, Paywall, PeopleListing, PolicyLinks, PrimaryButton, Progress, PromoWithTags, PromoWithTitle, Radio2, RadioGroup2, ReadMore, RotatorButtons, Search, StatusBanner, SearchBar, SecondaryButton, SecondaryLogo, SocialLinks, SectionSplitter, SectionTitle, Select2, Select2Async, SignUpForm, Swipe, SwipeRef, Sponsorship, StickyBar, Stepper, StreamBadge, Subtitle, Tab, Table, TabLink, Tabs, TCustomStrategyTabsFilterProps, TCustomStrategyTabsFilterItem, TertiaryButton, TextArea, TextField, TextFieldLegacy, TextLink, ThemeColor, ThemeProvider, ThemeType, TitleWithCTA, Tickbox, Tickbox2, TickboxMode, Timer, TypeTags, UpsellCard, UpsellCards, UpsellSection, Quote, VideoControls, VideoWithControls, zIndexes, HarmonicHeader, HarmonicSubtitle, BodyCopyHarmonic, HarmonicOverline, ButtonText, Caption, NavigationText, };
@@ -4,7 +4,7 @@ import { IImageWithCaptionProps } from './image';
4
4
  import { IntegratedTimerProps } from './timer';
5
5
  import { ILogosProps } from './types';
6
6
  import { EditorialLink } from './editorial';
7
- import { TypographyLevel } from './typography';
7
+ import { HarmonicSize, TypographyLevel } from './typography';
8
8
  export declare enum CarouselType {
9
9
  Image = "image",
10
10
  SmallCard = "SmallCard",
@@ -52,6 +52,19 @@ export interface ICarouselProps {
52
52
  * CSS class name
53
53
  */
54
54
  className?: string;
55
+ /**
56
+ * Enables infinite scroll once user interacts with buttons
57
+ */
58
+ enableInfiniteOnInteraction?: boolean;
59
+ /**
60
+ * Custom Title grid position
61
+ */
62
+ titleGrid?: {
63
+ columnStartDesktop: number;
64
+ columnSpanDesktop: number;
65
+ columnStartDevice: number;
66
+ columnSpanDevice: number;
67
+ };
55
68
  }
56
69
  export interface ICarouselWrapperProps {
57
70
  /**
@@ -177,6 +190,14 @@ export interface IHighlightsCarouselProps {
177
190
  * Additional CSS class names to apply to the navigation component.
178
191
  */
179
192
  className?: string;
193
+ /**
194
+ * Title size to be applied no title.
195
+ */
196
+ titleSize?: HarmonicSize;
197
+ /**
198
+ * Additional CSS class names to apply to the title component.
199
+ */
200
+ titleClassName?: string;
180
201
  }
181
202
  export declare type IHighlightsCoreCarouselProps = Omit<IHighlightsCarouselProps, 'logo'>;
182
203
  export interface IHighlightsCinemaCarouselProps extends Omit<IHighlightsCarouselProps, 'logo'> {
@@ -1,5 +1,5 @@
1
1
  import type { FooterData } from './footer';
2
- import { Colors, ThemeType, ThemeColor } from './types';
2
+ import { Colors, ThemeType, ThemeColor, TCustomStrategyTabsFilterProps, TCustomStrategyTabsFilterItem } from './types';
3
3
  import { INavigationProps, INavTopProps } from './navigation';
4
4
  import { CarouselType } from './carousel';
5
5
  import { IconNameType } from './iconTypes';
@@ -12,5 +12,5 @@ import { IntegratedTimerProps, ITimerProps } from './timer';
12
12
  import { ICreditListing } from './creditListing';
13
13
  import { ModalWindowProps } from './modalWindow';
14
14
  import { IInformationTitleProps, IInformationCTAProps } from './information';
15
- export { AspectRatio, ButtonType, CarouselType, Colors, EditorialLink, IconNameType, ICreditListing, IPageHeadingCompactProps, INavigationProps, INavTopProps, IntegratedTimerProps, ITimerProps, ModalWindowProps, TickboxMode, ThemeColor, ThemeType, IInformationTitleProps, IInformationCTAProps, };
15
+ export { AspectRatio, ButtonType, CarouselType, Colors, EditorialLink, IconNameType, ICreditListing, IPageHeadingCompactProps, INavigationProps, INavTopProps, IntegratedTimerProps, ITimerProps, ModalWindowProps, TickboxMode, ThemeColor, ThemeType, IInformationTitleProps, IInformationCTAProps, TCustomStrategyTabsFilterProps, TCustomStrategyTabsFilterItem, };
16
16
  export type { FooterData };
@@ -437,6 +437,56 @@ export declare type IHotFilterProps = {
437
437
  selectedIndex?: number;
438
438
  onSelect?: (index: number) => void;
439
439
  };
440
+ /**
441
+ * Represents a single tab item rendered by the
442
+ * {@link CustomStrategyTabsFilter} component.
443
+ */
444
+ export declare type TCustomStrategyTabsFilterItem = Omit<IHotFilterItem, 'onClick'> & {
445
+ /**
446
+ * Indicates whether the tab is currently selected.
447
+ */
448
+ isSelected: boolean;
449
+ /**
450
+ * Unique identifier for the tab.
451
+ */
452
+ id: string;
453
+ /**
454
+ * Optional list of tab IDs that are allowed to be selected
455
+ * simultaneously with this tab.
456
+ *
457
+ * Useful for implementing multi-select filter behavior.
458
+ */
459
+ allowedSelectedWith?: string[];
460
+ };
461
+ /**
462
+ * Props for the {@link CustomStrategyTabsFilter} component.
463
+ */
464
+ export declare type TCustomStrategyTabsFilterProps = Omit<IHotFilterProps, 'items' | 'selectedIndex' | 'onSelect'> & {
465
+ /**
466
+ * Collection of tabs to display.
467
+ */
468
+ items: TCustomStrategyTabsFilterItem[];
469
+ /**
470
+ * Callback invoked when a tab is clicked.
471
+ *
472
+ * @param item The selected tab item.
473
+ * @returns Any value required by the consuming implementation.
474
+ */
475
+ onClick: <T>(item: TCustomStrategyTabsFilterItem) => T;
476
+ customViewConfig?: Partial<{
477
+ selectIcon: IconNameType;
478
+ backgroundColor: {
479
+ select: ThemeColor;
480
+ unselect: ThemeColor;
481
+ };
482
+ textColor: {
483
+ select: ThemeColor;
484
+ unselect: ThemeColor;
485
+ };
486
+ hoveredColor: ThemeColor;
487
+ pressedColor: ThemeColor;
488
+ }>;
489
+ };
440
490
  export declare type ICastFilterItem = {
441
491
  /**
442
492
  * Stable identifier for selection mapping and rendering keys.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@royaloperahouse/harmonic",
3
- "version": "1.0.5-b",
3
+ "version": "1.0.5-d",
4
4
  "author": "Royal Opera House",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",