@royaloperahouse/harmonic 1.0.5-a → 1.0.5-b
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/CHANGELOG.md +14 -5
- package/dist/components/atoms/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/atoms/Tab/Tab.d.ts +1 -1
- package/dist/components/molecules/SkipToMain/SkipToMain.style.d.ts +1 -1
- package/dist/harmonic.cjs.development.css +319 -0
- package/dist/harmonic.cjs.development.js +80 -55
- package/dist/harmonic.cjs.development.js.map +1 -1
- package/dist/harmonic.cjs.production.min.js +1 -1
- package/dist/harmonic.cjs.production.min.js.map +1 -1
- package/dist/harmonic.esm.js +92 -63
- package/dist/harmonic.esm.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/styles/HarmonicThemeProvider/HarmonicThemeProvider.d.ts +1 -0
- package/dist/types/modalWindow.d.ts +4 -0
- package/dist/types/types.d.ts +43 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
## [1.0.
|
|
1
|
+
## [Proposed: 1.0.5]
|
|
2
|
+
- CastFilter: prevent duplicate screen reader announcements for actor images and ensure tapping an actor image ring toggles selection.
|
|
3
|
+
|
|
4
|
+
## [Proposed: 1.0.3]
|
|
2
5
|
- Castfilter: fix NDVA issues
|
|
3
6
|
|
|
4
|
-
## [1.0.
|
|
7
|
+
## [Proposed: 1.0.2]
|
|
8
|
+
- CastFilter: fix VoiceOver selection semantics and option activation (desktop/iOS).
|
|
9
|
+
- CastFilter: add stable id-based selection support (`selectedIds`, `onSelectId`, `onApplyIds`) with backward compatibility for legacy index-based API.
|
|
10
|
+
- ModalWindow: add `closeButtonAriaLabel` and set close icon `aria-hidden="true"`
|
|
11
|
+
|
|
12
|
+
## [Proposed: 1.0.1]
|
|
13
|
+
- Accessibility fixes to CastFilter component
|
|
14
|
+
|
|
15
|
+
## [0.19.3]
|
|
5
16
|
- Carousel title realignment following font change
|
|
6
17
|
|
|
7
|
-
## [1.0.2]
|
|
8
|
-
- AnchorTabBar: fix focused element
|
|
9
18
|
|
|
10
19
|
## [1.0.1]
|
|
11
20
|
- Carousel: fix first click
|
|
12
21
|
|
|
13
22
|
## [1.0.0]
|
|
14
|
-
Addressed some tech debt:
|
|
23
|
+
Addressed some tech debt:
|
|
15
24
|
- all components are now exported for consumption from top-level public API export.
|
|
16
25
|
- Removed Radio, RadioGroup and Select components.
|
|
17
26
|
- cleaned up import/export structure of components
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { IDropdownProps } from '../../../types/types';
|
|
3
|
-
declare const Dropdown: ({ title, titleLink, selected, options, onChange, iconName, isMobileBehaviour, withOptionsInMobile, withIcon, className, role, ariaLabel, trimTabText, }: IDropdownProps) => React.JSX.Element;
|
|
3
|
+
declare const Dropdown: ({ title, titleLink, selected, options, onChange, iconName, isMobileBehaviour, withOptionsInMobile, withIcon, className, role, ariaLabel, tabLinkId, trimTabText, }: IDropdownProps) => React.JSX.Element;
|
|
4
4
|
export default Dropdown;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ITabProps } from '../../../types/types';
|
|
3
|
-
declare const Tab: ({ title, titleLink, onClick, onFocus, onReset, selected, iconName, iconDirection, withIcon, withTextInMobile, trimText, className, role, ariaLabel, color, dataTestId, isOpen, }: ITabProps) => React.JSX.Element;
|
|
3
|
+
declare const Tab: ({ title, titleLink, onClick, onFocus, onReset, selected, iconName, iconDirection, withIcon, withTextInMobile, trimText, className, role, ariaLabel, tabLinkId, color, dataTestId, isOpen, }: ITabProps) => React.JSX.Element;
|
|
4
4
|
export default Tab;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface FocusableTabProps {
|
|
2
2
|
hide?: boolean;
|
|
3
3
|
}
|
|
4
|
-
export declare const FocusableTab: import("styled-components").StyledComponent<({ title, titleLink, onClick, onFocus, onReset, selected, iconName, iconDirection, withIcon, withTextInMobile, trimText, className, role, ariaLabel, color, dataTestId, isOpen, }: import("../../../types/types").ITabProps) => import("react").JSX.Element, any, FocusableTabProps, never>;
|
|
4
|
+
export declare const FocusableTab: import("styled-components").StyledComponent<({ title, titleLink, onClick, onFocus, onReset, selected, iconName, iconDirection, withIcon, withTextInMobile, trimText, className, role, ariaLabel, tabLinkId, color, dataTestId, isOpen, }: import("../../../types/types").ITabProps) => import("react").JSX.Element, any, FocusableTabProps, never>;
|
|
5
5
|
export declare const HiddenBlock: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
6
6
|
export {};
|
|
@@ -350,6 +350,325 @@
|
|
|
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
|
+
|
|
353
672
|
.core-theme-module_coreTheme__pWxYB {
|
|
354
673
|
/* RBO Red */
|
|
355
674
|
/* Primary Palette */
|
|
@@ -208,26 +208,6 @@ var typographyStyles = {"display":"typography-module_display__ZHsz9","header":"t
|
|
|
208
208
|
var _excluded = ["children", "size", "em", "color", "serif", "hierarchy", "tag", "className"],
|
|
209
209
|
_excluded2 = ["children", "size", "color", "className", "bold", "tag"],
|
|
210
210
|
_excluded3 = ["children", "size", "color", "className"];
|
|
211
|
-
/* ~~~ Display - (use case) ~~~ */
|
|
212
|
-
var DisplayHeader = function DisplayHeader(_ref) {
|
|
213
|
-
var children = _ref.children,
|
|
214
|
-
size = _ref.size,
|
|
215
|
-
em = _ref.em,
|
|
216
|
-
_ref$color = _ref.color,
|
|
217
|
-
color = _ref$color === void 0 ? 'inherit' : _ref$color,
|
|
218
|
-
serif = _ref.serif,
|
|
219
|
-
className = _ref.className;
|
|
220
|
-
var classNames = createClassNames('display', {
|
|
221
|
-
size: size,
|
|
222
|
-
color: color,
|
|
223
|
-
serif: serif,
|
|
224
|
-
em: em,
|
|
225
|
-
className: className
|
|
226
|
-
}, typographyStyles);
|
|
227
|
-
return /*#__PURE__*/React__default.createElement("h1", {
|
|
228
|
-
className: classNames
|
|
229
|
-
}, children);
|
|
230
|
-
};
|
|
231
211
|
/* ~~~ Headers - size and hierarchy set separately ~~~ */
|
|
232
212
|
var HarmonicHeader = function HarmonicHeader(_ref2) {
|
|
233
213
|
var _ref3;
|
|
@@ -2712,6 +2692,7 @@ var Tab = function Tab(_ref) {
|
|
|
2712
2692
|
className = _ref.className,
|
|
2713
2693
|
role = _ref.role,
|
|
2714
2694
|
ariaLabel = _ref.ariaLabel,
|
|
2695
|
+
tabLinkId = _ref.tabLinkId,
|
|
2715
2696
|
color = _ref.color,
|
|
2716
2697
|
dataTestId = _ref.dataTestId,
|
|
2717
2698
|
isOpen = _ref.isOpen;
|
|
@@ -2746,8 +2727,9 @@ var Tab = function Tab(_ref) {
|
|
|
2746
2727
|
className: className,
|
|
2747
2728
|
"data-testid": dataTestId
|
|
2748
2729
|
}, /*#__PURE__*/React__default.createElement(TabText, {
|
|
2749
|
-
|
|
2730
|
+
id: tabLinkId,
|
|
2750
2731
|
trimText: trimText,
|
|
2732
|
+
color: color,
|
|
2751
2733
|
withTextInMobile: withTextInMobile,
|
|
2752
2734
|
"aria-hidden": "true"
|
|
2753
2735
|
}, title), withIcon !== 'none' && /*#__PURE__*/React__default.createElement(Icon, {
|
|
@@ -2777,6 +2759,7 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
2777
2759
|
className = _ref.className,
|
|
2778
2760
|
role = _ref.role,
|
|
2779
2761
|
ariaLabel = _ref.ariaLabel,
|
|
2762
|
+
tabLinkId = _ref.tabLinkId,
|
|
2780
2763
|
trimTabText = _ref.trimTabText;
|
|
2781
2764
|
var node = React.useRef();
|
|
2782
2765
|
var _useState = React.useState(false),
|
|
@@ -2873,6 +2856,7 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
2873
2856
|
};
|
|
2874
2857
|
var renderTab = function renderTab() {
|
|
2875
2858
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Tab, {
|
|
2859
|
+
tabLinkId: tabLinkId,
|
|
2876
2860
|
trimText: trimTabText,
|
|
2877
2861
|
title: title,
|
|
2878
2862
|
titleLink: titleLink,
|
|
@@ -2952,7 +2936,8 @@ var Account = function Account(_ref) {
|
|
|
2952
2936
|
iconName: iconName,
|
|
2953
2937
|
withOptionsInMobile: false,
|
|
2954
2938
|
withIcon: "left",
|
|
2955
|
-
className: className
|
|
2939
|
+
className: className,
|
|
2940
|
+
tabLinkId: "account-link"
|
|
2956
2941
|
});
|
|
2957
2942
|
};
|
|
2958
2943
|
|
|
@@ -5682,6 +5667,7 @@ var Accordion = function Accordion(_ref) {
|
|
|
5682
5667
|
var toggleAccordion = function toggleAccordion() {
|
|
5683
5668
|
if (React__default.Children.count(children) === 0) return;
|
|
5684
5669
|
if (openAccordion) {
|
|
5670
|
+
setIcon(collapsedStateIconData);
|
|
5685
5671
|
setOpenAccordion(false);
|
|
5686
5672
|
setTextHeight('0px');
|
|
5687
5673
|
setIcon(collapsedStateIconData);
|
|
@@ -6034,14 +6020,9 @@ var BodyContent = function BodyContent(_ref2) {
|
|
|
6034
6020
|
_ref2$renderGridItem = _ref2.renderGridItem,
|
|
6035
6021
|
renderGridItem = _ref2$renderGridItem === void 0 ? true : _ref2$renderGridItem;
|
|
6036
6022
|
var textContainerClassName = !renderGrid && !renderGridItem ? className : undefined;
|
|
6037
|
-
var content = /*#__PURE__*/React__default.createElement(
|
|
6038
|
-
tag: "div",
|
|
6039
|
-
size: "large",
|
|
6040
|
-
"data-testid": "text-container",
|
|
6023
|
+
var content = /*#__PURE__*/React__default.createElement(BodyContentTextContainer, {
|
|
6041
6024
|
className: textContainerClassName,
|
|
6042
|
-
|
|
6043
|
-
__html: addTypographyClasses(text)
|
|
6044
|
-
}
|
|
6025
|
+
html: text
|
|
6045
6026
|
});
|
|
6046
6027
|
var gridItemOrContent = renderGridItem ? (/*#__PURE__*/React__default.createElement(GridItem, {
|
|
6047
6028
|
columnStartDesktop: columnStartDesktop,
|
|
@@ -6850,12 +6831,15 @@ var CastFilters = function CastFilters(_ref) {
|
|
|
6850
6831
|
listRoleDescription = _ref.listRoleDescription,
|
|
6851
6832
|
className = _ref.className,
|
|
6852
6833
|
onSelect = _ref.onSelect,
|
|
6834
|
+
onSelectId = _ref.onSelectId,
|
|
6853
6835
|
onApply = _ref.onApply,
|
|
6836
|
+
onApplyIds = _ref.onApplyIds,
|
|
6854
6837
|
onClear = _ref.onClear,
|
|
6855
6838
|
_ref$greyscale = _ref.greyscale,
|
|
6856
6839
|
greyscale = _ref$greyscale === void 0 ? false : _ref$greyscale,
|
|
6857
6840
|
_ref$selectedIndices = _ref.selectedIndices,
|
|
6858
|
-
selectedIndices = _ref$selectedIndices === void 0 ? [] : _ref$selectedIndices
|
|
6841
|
+
selectedIndices = _ref$selectedIndices === void 0 ? [] : _ref$selectedIndices,
|
|
6842
|
+
selectedIds = _ref.selectedIds;
|
|
6859
6843
|
var _useViewport = useViewport(),
|
|
6860
6844
|
isMobile = _useViewport.isMobile;
|
|
6861
6845
|
var castWrapperRef = React.useRef(null);
|
|
@@ -6957,14 +6941,51 @@ var CastFilters = function CastFilters(_ref) {
|
|
|
6957
6941
|
isDraggingRef.current = false;
|
|
6958
6942
|
hasDraggedRef.current = false;
|
|
6959
6943
|
}, [isMobile]);
|
|
6960
|
-
var
|
|
6944
|
+
var getCastItemSelectionId = React.useCallback(function (person) {
|
|
6945
|
+
if (person.id !== undefined && person.id !== null) return String(person.id);
|
|
6946
|
+
if (person.slug !== undefined && person.slug !== null) return String(person.slug);
|
|
6947
|
+
return person.name;
|
|
6948
|
+
}, []);
|
|
6949
|
+
var isIdSelectionMode = selectedIds !== undefined;
|
|
6950
|
+
var selectedIdsSet = React.useMemo(function () {
|
|
6951
|
+
var ids = selectedIds != null ? selectedIds : [];
|
|
6952
|
+
return new Set(ids.map(function (id) {
|
|
6953
|
+
return String(id);
|
|
6954
|
+
}));
|
|
6955
|
+
}, [selectedIds]);
|
|
6956
|
+
var selectedStateIndices = React.useMemo(function () {
|
|
6957
|
+
if (!isIdSelectionMode) return selectedIndices;
|
|
6958
|
+
return cast.flatMap(function (person, index) {
|
|
6959
|
+
var itemId = getCastItemSelectionId(person);
|
|
6960
|
+
return selectedIdsSet.has(itemId) ? [index] : [];
|
|
6961
|
+
});
|
|
6962
|
+
}, [cast, getCastItemSelectionId, isIdSelectionMode, selectedIdsSet, selectedIndices]);
|
|
6963
|
+
var selectedStateIds = React.useMemo(function () {
|
|
6964
|
+
if (isIdSelectionMode) {
|
|
6965
|
+
return cast.filter(function (person) {
|
|
6966
|
+
return selectedIdsSet.has(getCastItemSelectionId(person));
|
|
6967
|
+
}).map(function (person) {
|
|
6968
|
+
return getCastItemSelectionId(person);
|
|
6969
|
+
});
|
|
6970
|
+
}
|
|
6971
|
+
return selectedIndices.map(function (index) {
|
|
6972
|
+
return cast[index];
|
|
6973
|
+
}).filter(function (person) {
|
|
6974
|
+
return person !== undefined;
|
|
6975
|
+
}).map(function (person) {
|
|
6976
|
+
return getCastItemSelectionId(person);
|
|
6977
|
+
});
|
|
6978
|
+
}, [cast, getCastItemSelectionId, isIdSelectionMode, selectedIdsSet, selectedIndices]);
|
|
6979
|
+
var handleClick = React__default.useCallback(function (index, itemId, onClick) {
|
|
6961
6980
|
if (hasDraggedRef.current) return;
|
|
6981
|
+
if (onSelectId) onSelectId(itemId);
|
|
6962
6982
|
if (onSelect) onSelect(index);
|
|
6963
6983
|
if (onClick) onClick();
|
|
6964
|
-
}, [onSelect]);
|
|
6965
|
-
var handlePersonKeydown = React__default.useCallback(function (e, index, onClick) {
|
|
6966
|
-
if (e.key === 'Enter') {
|
|
6967
|
-
|
|
6984
|
+
}, [onSelect, onSelectId]);
|
|
6985
|
+
var handlePersonKeydown = React__default.useCallback(function (e, index, itemId, onClick) {
|
|
6986
|
+
if (e.key === 'Enter' || e.key === ' ' || e.key === 'Spacebar') {
|
|
6987
|
+
e.preventDefault();
|
|
6988
|
+
handleClick(index, itemId, onClick);
|
|
6968
6989
|
}
|
|
6969
6990
|
}, [handleClick]);
|
|
6970
6991
|
var handleClearKeydown = React__default.useCallback(function (e) {
|
|
@@ -6979,27 +7000,27 @@ var CastFilters = function CastFilters(_ref) {
|
|
|
6979
7000
|
image = person.image,
|
|
6980
7001
|
_onClick = person.onClick,
|
|
6981
7002
|
ariaLabel = person['aria-label'];
|
|
6982
|
-
var
|
|
7003
|
+
var personSelectionId = getCastItemSelectionId(person);
|
|
7004
|
+
var isSelected = isIdSelectionMode ? selectedIdsSet.has(personSelectionId) : selectedIndices.includes(index);
|
|
6983
7005
|
var personImage = image || placeholderImage || defaultPlaceholderImage;
|
|
6984
7006
|
return /*#__PURE__*/React__default.createElement(PersonWrapper, {
|
|
6985
|
-
key:
|
|
7007
|
+
key: personSelectionId,
|
|
6986
7008
|
"aria-selected": isSelected,
|
|
6987
|
-
"aria-label": ariaLabel
|
|
6988
|
-
"aria-posinset": index + 1,
|
|
6989
|
-
"aria-setsize": cast.length,
|
|
7009
|
+
"aria-label": ariaLabel != null ? ariaLabel : name,
|
|
6990
7010
|
role: "option",
|
|
6991
7011
|
tabIndex: 0,
|
|
7012
|
+
onClick: function onClick() {
|
|
7013
|
+
return handleClick(index, personSelectionId, _onClick);
|
|
7014
|
+
},
|
|
6992
7015
|
onKeyDown: function onKeyDown(e) {
|
|
6993
|
-
return handlePersonKeydown(e, index, _onClick);
|
|
7016
|
+
return handlePersonKeydown(e, index, personSelectionId, _onClick);
|
|
6994
7017
|
}
|
|
6995
7018
|
}, /*#__PURE__*/React__default.createElement(PersonToggle, {
|
|
6996
7019
|
isSelected: isSelected,
|
|
6997
|
-
|
|
6998
|
-
return handleClick(index, _onClick);
|
|
6999
|
-
}
|
|
7020
|
+
"aria-hidden": "true"
|
|
7000
7021
|
}, /*#__PURE__*/React__default.createElement(PersonImage, {
|
|
7001
7022
|
src: personImage,
|
|
7002
|
-
alt:
|
|
7023
|
+
alt: "",
|
|
7003
7024
|
draggable: false,
|
|
7004
7025
|
isDefaultPlaceholder: !(!!image || !!placeholderImage),
|
|
7005
7026
|
greyscale: greyscale
|
|
@@ -7035,7 +7056,8 @@ var CastFilters = function CastFilters(_ref) {
|
|
|
7035
7056
|
ref: castWrapperRef,
|
|
7036
7057
|
role: "listbox",
|
|
7037
7058
|
"aria-roledescription": listRoleDescription != null ? listRoleDescription : 'filter list',
|
|
7038
|
-
"aria-
|
|
7059
|
+
"aria-label": "filter list",
|
|
7060
|
+
"aria-multiselectable": "true",
|
|
7039
7061
|
onMouseDown: handleMouseDown,
|
|
7040
7062
|
onMouseMove: handleMouseMove,
|
|
7041
7063
|
onMouseUp: handleMouseUp,
|
|
@@ -7046,14 +7068,15 @@ var CastFilters = function CastFilters(_ref) {
|
|
|
7046
7068
|
ref: swipeRef,
|
|
7047
7069
|
onOverflowChange: handleOverflowChange,
|
|
7048
7070
|
limitDragToNavigableRange: true
|
|
7049
|
-
}, getPersonCards())))), showActionButtonsSection && (/*#__PURE__*/React__default.createElement(ActionButtons, null,
|
|
7071
|
+
}, getPersonCards())))), showActionButtonsSection && (/*#__PURE__*/React__default.createElement(ActionButtons, null, selectedStateIndices.length === 0 && emptySelectionText && (/*#__PURE__*/React__default.createElement(BodyCopyHarmonic, {
|
|
7050
7072
|
size: "medium",
|
|
7051
7073
|
className: "mobile-only"
|
|
7052
|
-
}, emptySelectionText)),
|
|
7074
|
+
}, emptySelectionText)), selectedStateIndices.length === 0 && !emptySelectionText && /*#__PURE__*/React__default.createElement(EmptySelectionTextSpacer, null), selectedStateIndices.length > 0 && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, (onApply || onApplyIds) && (/*#__PURE__*/React__default.createElement(PrimaryButton, {
|
|
7053
7075
|
onClick: function onClick() {
|
|
7054
|
-
|
|
7076
|
+
if (onApply) onApply(selectedStateIndices);
|
|
7077
|
+
if (onApplyIds) onApplyIds(selectedStateIds);
|
|
7055
7078
|
}
|
|
7056
|
-
}, ctaText != null ? ctaText : 'Apply'), onClear && (/*#__PURE__*/React__default.createElement(TextLink, {
|
|
7079
|
+
}, ctaText != null ? ctaText : 'Apply')), onClear && (/*#__PURE__*/React__default.createElement(TextLink, {
|
|
7057
7080
|
tabIndex: 0,
|
|
7058
7081
|
role: "button",
|
|
7059
7082
|
onClick: onClear,
|
|
@@ -9053,7 +9076,7 @@ var _excluded$l = ["text"],
|
|
|
9053
9076
|
_excluded3$1 = ["text"];
|
|
9054
9077
|
var _buttonTypeToButton$1;
|
|
9055
9078
|
var LENGTH_TEXT$1 = 28;
|
|
9056
|
-
var LENGTH_TEXT_PARAGRAPH =
|
|
9079
|
+
var LENGTH_TEXT_PARAGRAPH = 185;
|
|
9057
9080
|
var buttonTypeToButton$1 = (_buttonTypeToButton$1 = {}, _buttonTypeToButton$1[exports.ButtonType.Primary] = PrimaryButton, _buttonTypeToButton$1[exports.ButtonType.Secondary] = SecondaryButton, _buttonTypeToButton$1[exports.ButtonType.Tertiary] = TertiaryButton, _buttonTypeToButton$1);
|
|
9058
9081
|
var PromoWithTags = function PromoWithTags(_ref) {
|
|
9059
9082
|
var _ref$imagePosition = _ref.imagePosition,
|
|
@@ -12232,7 +12255,7 @@ var CloseButton = /*#__PURE__*/styled__default.button(_templateObject2$19 || (_t
|
|
|
12232
12255
|
var ContentWrapper$3 = /*#__PURE__*/styled__default.div(_templateObject3$V || (_templateObject3$V = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
|
|
12233
12256
|
var Overlay = /*#__PURE__*/styled__default(Grid)(_templateObject4$N || (_templateObject4$N = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n align-content: center;\n background-color: rgba(0, 0, 0, 0.4);\n"])));
|
|
12234
12257
|
|
|
12235
|
-
var _excluded$s = ["isOpen", "setIsOpen", "children", "appElementId"];
|
|
12258
|
+
var _excluded$s = ["isOpen", "setIsOpen", "children", "appElementId", "closeButtonAriaLabel"];
|
|
12236
12259
|
var MAX_Z_INDEX = 9999999999;
|
|
12237
12260
|
if (Modal.defaultStyles.content) {
|
|
12238
12261
|
Modal.defaultStyles.content.position = 'static';
|
|
@@ -12306,6 +12329,8 @@ var ModalWindow = function ModalWindow(_ref) {
|
|
|
12306
12329
|
setIsOpen = _ref.setIsOpen,
|
|
12307
12330
|
children = _ref.children,
|
|
12308
12331
|
appElementId = _ref.appElementId,
|
|
12332
|
+
_ref$closeButtonAriaL = _ref.closeButtonAriaLabel,
|
|
12333
|
+
closeButtonAriaLabel = _ref$closeButtonAriaL === void 0 ? 'Close modal window' : _ref$closeButtonAriaL,
|
|
12309
12334
|
modalProps = _objectWithoutPropertiesLoose(_ref, _excluded$s);
|
|
12310
12335
|
var isMobile = useMobile();
|
|
12311
12336
|
var customStyles = {
|
|
@@ -12338,10 +12363,11 @@ var ModalWindow = function ModalWindow(_ref) {
|
|
|
12338
12363
|
columnSpanSmallDevice: 14
|
|
12339
12364
|
}, /*#__PURE__*/React__default.createElement(InnerModal, null, /*#__PURE__*/React__default.createElement(CloseButton, {
|
|
12340
12365
|
onClick: closeModalHandler,
|
|
12341
|
-
"aria-label":
|
|
12366
|
+
"aria-label": closeButtonAriaLabel,
|
|
12342
12367
|
tabIndex: 0
|
|
12343
12368
|
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
12344
|
-
iconName: "Close"
|
|
12369
|
+
iconName: "Close",
|
|
12370
|
+
"aria-hidden": "true"
|
|
12345
12371
|
})), /*#__PURE__*/React__default.createElement(ContentWrapper$3, null, children))), /*#__PURE__*/React__default.createElement(ScrollLock, null)));
|
|
12346
12372
|
};
|
|
12347
12373
|
|
|
@@ -14601,7 +14627,6 @@ exports.ContactNewsletter = ContactNewsletter;
|
|
|
14601
14627
|
exports.ContentSummary = ContentSummary;
|
|
14602
14628
|
exports.ControlledDropdown = ControlledDropdown;
|
|
14603
14629
|
exports.CreditListing = CreditListing;
|
|
14604
|
-
exports.DisplayHeader = DisplayHeader;
|
|
14605
14630
|
exports.Dropdown = Dropdown;
|
|
14606
14631
|
exports.Editorial = Editorial;
|
|
14607
14632
|
exports.Footer = Footer;
|