@royaloperahouse/chord 2.1.2-b-RD-11510-snapshot → 2.1.2-test-rollback-dev-reset-test

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 CHANGED
@@ -42,6 +42,10 @@
42
42
  ## [1.24.0]
43
43
  - Implement Upsell Section & Upsell Cards
44
44
 
45
+ ## [1.23.2-b]
46
+ - Add Stepper component
47
+ - Fix solo negative sign NaN bug
48
+ -
45
49
  ## [1.23.2]
46
50
  - Fix BrandingStyle not showing bug
47
51
 
@@ -56,12 +60,15 @@
56
60
  - TickBox: Added disabled and error states
57
61
 
58
62
  ## [1.21.1]
59
- - Made select state reset behaviour opt-in
63
+ - Compact PageHeading: Refactored to support iOS devices
60
64
 
61
65
  ## [1.21.0]
62
66
  - TextLogo: add new component
63
67
  - Compact PageHeading: swap logo with TextLogo to fix iOS issues
64
68
 
69
+ ## [1.20.2-a]
70
+ - Made select state reset behaviour opt-in
71
+
65
72
  ## [1.20.2]
66
73
  - Card: change cursor to default for cards without buttons
67
74
  - HighlightsCarousel: hide button in case there are no text for them
@@ -97,7 +104,7 @@
97
104
  - Change to pagination component to align page numbers with URL numbers.
98
105
 
99
106
  ## [1.15.0]
100
- - Implemented a new Select component
107
+ - Add Compact PageHeading component
101
108
 
102
109
  ## [1.14.0]
103
110
  - Added standfirst functionality to Accordion/ Accordions component and theme for Schools Platform
@@ -117,21 +124,55 @@
117
124
  ## [1.12.0]
118
125
  - Search: Extend ContentSummary and SearchBar components to support new search results
119
126
 
127
+ ## [1.11.0-a]
128
+ - Pagination: add new component
129
+
120
130
  ## [1.11.0]
121
131
  - Carousels: Rewrite logic that cuts description, to support older browsers
122
132
 
133
+ ## [1.10.0-a]
134
+ - ContentSummary: make image clickable
135
+
123
136
  ## [1.10.0]
124
137
  - PageHeadingImpact: Replace CSS background-image with HTML image element
125
138
 
126
139
  ## [1.9.0]
127
140
  - Card: Add a new prop for the hover line color
141
+ ## [1.9.0-c]
142
+ - ContentSummary: make image clickable
143
+
144
+ ## [1.9.0-b]
145
+ - ContentSummary: change image size
146
+ - SearchBar: Export component
147
+
148
+ ## [1.9.0-a]
149
+ - ContentSummary: change image props
150
+
151
+ ## [1.9.0]
152
+ - Card: Add a new prop for the hover line color
153
+
154
+ ## [1.8.1-h]
155
+ - ContentSummary: add exports
156
+
157
+ ## [1.8.1-g]
158
+ - ContentSummary: refactor
159
+
160
+ ## [1.8.1-f]
161
+ - ContentSummary: update conditional rendering
162
+
163
+ ## [1.8.1-c]
164
+ - ContentSummary: update for Search results
165
+ - ContentSummarySection: remove
166
+
167
+ ## [1.8.1-b]
168
+ - Card: add new prop for the line color on hover
128
169
 
129
170
  ## [1.8.0]
130
171
  - SearchBar: Disable
131
172
 
132
173
  ## [1.7.2]
133
174
  - Add imageAltText to Card component
134
-
175
+
135
176
  ## [1.7.0]
136
177
  - Add new ContentSummary component
137
178
  - Add new ContentSummarySection component
@@ -2316,15 +2316,15 @@ var OptionsContainer = /*#__PURE__*/styled__default.div(_templateObject3 || (_te
2316
2316
 
2317
2317
  var _templateObject$8, _templateObject2$2, _templateObject3$1, _templateObject4;
2318
2318
  var ControlledDropdownWrapper = /*#__PURE__*/styled__default.div(_templateObject$8 || (_templateObject$8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n width: fit-content;\n"])));
2319
- var ControlledDropdownHeaderContainer = /*#__PURE__*/styled__default.span(_templateObject2$2 || (_templateObject2$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: 6px;\n border-bottom: 1px solid transparent;\n height: 24px;\n line-height: 24px;\n font-size: var(--font-size-navigation);\n font-family: var(--font-family-navigation);\n font-weight: var(--font-weight-navigation);\n letter-spacing: var(--letter-spacing-navigation);\n color: var(--base-color-black);\n text-decoration: none;\n text-transform: uppercase;\n cursor: pointer;\n\n &.active, :hover, :focus, :active {\n border-bottom: 1px solid var(--base-color-", ");\n color: var(--base-color-", ");\n && svg path {\n fill: var(--base-color-", ");\n } \n }\n"])), function (_ref) {
2320
- var activeColor = _ref.activeColor;
2321
- return activeColor;
2322
- }, function (_ref2) {
2323
- var activeColor = _ref2.activeColor;
2324
- return activeColor;
2325
- }, function (_ref3) {
2326
- var activeColor = _ref3.activeColor;
2327
- return activeColor;
2319
+ var ControlledDropdownHeaderContainer = /*#__PURE__*/styled__default.span(_templateObject2$2 || (_templateObject2$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: 6px;\n border-bottom: 1px solid transparent;\n height: 24px;\n line-height: 24px;\n font-size: var(--font-size-navigation);\n font-family: var(--font-family-navigation);\n font-weight: var(--font-weight-navigation);\n letter-spacing: var(--letter-spacing-navigation);\n color: var(--base-color-black);\n text-decoration: none;\n text-transform: uppercase;\n cursor: pointer;\n\n ", "\n"])), function (_ref) {
2320
+ var active = _ref.active,
2321
+ activeColor = _ref.activeColor;
2322
+
2323
+ if (active) {
2324
+ return "\n & {\n border-bottom: 1px solid " + activeColor + ";\n color: var(--base-color-" + activeColor + ");\n }\n && svg path {\n fill: var(--base-color-" + activeColor + ");\n } \n ";
2325
+ } else {
2326
+ return '';
2327
+ }
2328
2328
  });
2329
2329
  var ControlledDropdownHeaderContainerLink = /*#__PURE__*/styled__default(ControlledDropdownHeaderContainer).attrs({
2330
2330
  as: 'a'
@@ -2420,8 +2420,7 @@ var ControlledDropdown = function ControlledDropdown(_ref) {
2420
2420
  activeColor: activeColor
2421
2421
  }, headerEvents, {
2422
2422
  tabIndex: 0,
2423
- "data-testid": "span-container",
2424
- className: active ? 'active' : ''
2423
+ "data-testid": "span-container"
2425
2424
  }), text, /*#__PURE__*/React__default.createElement(IconWrapper, {
2426
2425
  "data-testid": "dropdown-icon"
2427
2426
  }, /*#__PURE__*/React__default.createElement(Icon, {
@@ -2442,8 +2441,7 @@ var ControlledDropdown = function ControlledDropdown(_ref) {
2442
2441
  tabIndex: 0,
2443
2442
  onBlur: function onBlur() {
2444
2443
  return handleOptionBlur(index);
2445
- },
2446
- href: optionItem.optionLink
2444
+ }
2447
2445
  }, optionItem.option);
2448
2446
  })) : null) : /*#__PURE__*/React__default.createElement(ControlledDropdownHeaderContainerLink, Object.assign({
2449
2447
  active: active,
@@ -4142,16 +4140,14 @@ var NavigationWrapper = /*#__PURE__*/styled__default.div(_templateObject$v || (_
4142
4140
  });
4143
4141
  var FullScreenContainer = /*#__PURE__*/styled__default.div(_templateObject2$i || (_templateObject2$i = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n background-color: var(--base-color-black);\n width: 100vw;\n position: absolute;\n z-index: ", ";\n opacity: 0.4;\n"])), zIndexes.searchOverlay);
4144
4142
  var NavigationGrid = /*#__PURE__*/styled__default(Grid)(_templateObject3$c || (_templateObject3$c = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n background-color: var(--base-color-white);\n height: 140px;\n z-index: ", ";\n\n @media ", " {\n height: 80px;\n }\n"])), zIndexes.navigation, devices.mobile);
4145
- var SearchBackground = /*#__PURE__*/styled__default.div(_templateObject4$9 || (_templateObject4$9 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n visibility: ", ";\n background-color: var(--base-color-white);\n height: 100px;\n border-top: 1px solid var(--base-color-light-grey);\n width: 100%;\n position: absolute;\n top: 140px;\n z-index: ", ";\n\n @media ", " {\n height: 100%;\n top: 80px;\n }\n"])), function (_ref2) {
4146
- var visibile = _ref2.visibile;
4147
- return visibile ? 'visible' : 'hidden';
4143
+ var SearchBackground = /*#__PURE__*/styled__default.div(_templateObject4$9 || (_templateObject4$9 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n visibility: ", ";\n background-color: var(--base-color-white);\n height: 100px;\n border-top: 1px solid var(--base-color-light-grey);\n width: 100%;\n position: absolute;\n top: 140px;\n z-index: ", ";\n\n @media ", " {\n height: 100%;\n top: 80px;\n }\n"])), function (props) {
4144
+ return props.visibility ? 'visible' : 'hidden';
4148
4145
  }, zIndexes.search, devices.mobile);
4149
- var GridItemSearch = /*#__PURE__*/styled__default(GridItem)(_templateObject5$5 || (_templateObject5$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n visibility: ", ";\n background-color: var(--base-color-white);\n border-top: 1px solid var(--base-color-light-grey);\n width: 100%;\n position: absolute;\n top: 140px;\n z-index: ", ";\n height: 100px;\n\n @media ", " {\n height: 100%;\n top: 80px;\n }\n"])), function (_ref3) {
4150
- var visibile = _ref3.visibile;
4151
- return visibile ? 'visible' : 'hidden';
4146
+ var GridItemSearch = /*#__PURE__*/styled__default(GridItem)(_templateObject5$5 || (_templateObject5$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n visibility: ", ";\n background-color: var(--base-color-white);\n border-top: 1px solid var(--base-color-light-grey);\n width: 100%;\n position: absolute;\n top: 140px;\n z-index: ", ";\n height: 100px;\n\n @media ", " {\n height: 100%;\n top: 80px;\n }\n"])), function (props) {
4147
+ return props.visibility ? 'visible' : 'hidden';
4152
4148
  }, zIndexes.search, devices.mobile);
4153
- var NavigationGridMobile = /*#__PURE__*/styled__default(Grid)(_templateObject6$2 || (_templateObject6$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: none;\n\n @media ", " {\n display: grid;\n background-color: var(--base-color-white);\n padding-top: ", ";\n padding-bottom: var(--navigation-large-margin);\n }\n"])), devices.mobileAndTablet, function (_ref4) {
4154
- var theme = _ref4.theme;
4149
+ var NavigationGridMobile = /*#__PURE__*/styled__default(Grid)(_templateObject6$2 || (_templateObject6$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: none;\n\n @media ", " {\n display: grid;\n background-color: var(--base-color-white);\n padding-top: ", ";\n padding-bottom: var(--navigation-large-margin);\n }\n"])), devices.mobileAndTablet, function (_ref2) {
4150
+ var theme = _ref2.theme;
4155
4151
  return theme.spacing[12];
4156
4152
  });
4157
4153
  var LogoContainer = /*#__PURE__*/styled__default.div(_templateObject7$2 || (_templateObject7$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 140px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &&& .logoImg {\n height: 96px;\n width: 66px;\n }\n\n @media ", " {\n height: 80px;\n\n &&& .logoImg {\n width: 100%;\n height: 64px;\n }\n }\n"])), devices.mobile);
@@ -4583,8 +4579,7 @@ var Dropdown = function Dropdown(_ref) {
4583
4579
  return onKeyDownHandler(e, optionItem.optionLink);
4584
4580
  },
4585
4581
  colorPrimary: colorPrimary,
4586
- tabIndex: 0,
4587
- href: optionItem.optionLink
4582
+ tabIndex: 0
4588
4583
  }, optionItem.option);
4589
4584
  })));
4590
4585
  };
@@ -5034,9 +5029,9 @@ var Navigation = function Navigation(_ref) {
5034
5029
  onShowMenu: onShowMenuHandler,
5035
5030
  colorPrimary: 'navigation'
5036
5031
  })))), /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SearchBackground, {
5037
- visibile: showSearch
5032
+ visibility: showSearch
5038
5033
  }), /*#__PURE__*/React__default.createElement(GridItemSearch, {
5039
- visibile: showSearch,
5034
+ visibility: showSearch,
5040
5035
  columnStartDesktop: 2,
5041
5036
  columnSpanDesktop: 14,
5042
5037
  columnStartDevice: 2,
@@ -5664,20 +5659,29 @@ var Accordion = function Accordion(_ref) {
5664
5659
  return visibleStandfirst ? /*#__PURE__*/React__default.createElement(ContentContainer, null, /*#__PURE__*/React__default.createElement(ChildrenContainer, null, visibleStandfirst)) : null;
5665
5660
  };
5666
5661
 
5667
- return /*#__PURE__*/React__default.createElement(AccordionContainer, null, /*#__PURE__*/React__default.createElement(LineContainer, null), /*#__PURE__*/React__default.createElement(TitleContainer$3, {
5662
+ var contentContainerId = title + "-accordion-content";
5663
+ return /*#__PURE__*/React__default.createElement(AccordionContainer, {
5664
+ tabIndex: 0,
5665
+ onKeyDown: keyDown
5666
+ }, /*#__PURE__*/React__default.createElement(LineContainer, null), /*#__PURE__*/React__default.createElement(TitleContainer$3, {
5668
5667
  onClick: toggleAccordion,
5669
- onKeyDown: keyDown,
5670
- tabIndex: 0
5668
+ tabIndex: -1,
5669
+ role: "button",
5670
+ "aria-label": title,
5671
+ "aria-expanded": openAccordion,
5672
+ "aria-controls": contentContainerId
5671
5673
  }, /*#__PURE__*/React__default.createElement("h4", null, /*#__PURE__*/React__default.createElement("a", {
5672
5674
  className: "accordion-title"
5673
5675
  }, title)), children && /*#__PURE__*/React__default.createElement(Icon, {
5674
5676
  iconName: iconName
5675
- })), /*#__PURE__*/React__default.createElement(Standfirst, null), /*#__PURE__*/React__default.createElement(ContentContainer, {
5677
+ })), visibleStandfirst && /*#__PURE__*/React__default.createElement(Standfirst, null), /*#__PURE__*/React__default.createElement(ContentContainer, {
5676
5678
  "data-testid": "richcontainer",
5677
5679
  ref: content,
5678
5680
  style: {
5679
5681
  maxHeight: "" + textHeight
5680
- }
5682
+ },
5683
+ id: contentContainerId,
5684
+ "aria-live": "polite"
5681
5685
  }, /*#__PURE__*/React__default.createElement(ChildrenContainer, {
5682
5686
  style: childrenVisibility
5683
5687
  }, children)), showLine && /*#__PURE__*/React__default.createElement(LineContainer, null));
@@ -6096,10 +6100,9 @@ var AddressWrapperMobile = /*#__PURE__*/styled__default.div(_templateObject4$j |
6096
6100
  var DetailsWrapper = /*#__PURE__*/styled__default.div(_templateObject5$d || (_templateObject5$d = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n\n @media ", " {\n flex-direction: column;\n margin: 4px 0;\n }\n\n a {\n font-size: var(--font-size-body-1);\n font-family: var(--font-family-body);\n font-feature-settings: var(--font-feature-settings-body);\n font-weight: var(--font-weight-body-1);\n letter-spacing: var(--letter-spacing-body-1);\n line-height: var(--line-height-body-1);\n text-transform: var(--text-transform-body);\n color: var(--base-color-black);\n text-decoration: underline;\n\n &:before {\n display: inline-block;\n content: '';\n background-color: var(--base-color-black);\n width: 1px;\n height: 18px;\n margin: 0 8px -4px;\n\n @media ", " {\n display: none;\n }\n }\n\n &:first-child:before {\n display: none;\n }\n }\n"])), devices.mobile, devices.mobile);
6097
6101
 
6098
6102
  var divideAddressString = function divideAddressString(address) {
6099
- return address.split(',').map(function (chunk, i) {
6103
+ return address.split(',').map(function (chunk) {
6100
6104
  return /*#__PURE__*/React__default.createElement(BodyText, {
6101
- level: 1,
6102
- key: i
6105
+ level: 1
6103
6106
  }, chunk.trim());
6104
6107
  });
6105
6108
  };
@@ -6718,7 +6721,7 @@ var PrimaryButtonWithInversion = /*#__PURE__*/styled__default(PrimaryButton)(_te
6718
6721
  return invert ? theme.colors.white : theme.colors.black;
6719
6722
  });
6720
6723
 
6721
- var renderBranding = function renderBranding(brandingStyle, invert, brandingText) {
6724
+ var renderBranding = function renderBranding(brandingStyle, invert, brandingText, brandingLink) {
6722
6725
  var color = invert ? exports.Colors.Black : exports.Colors.White;
6723
6726
 
6724
6727
  switch (brandingStyle) {
@@ -6732,6 +6735,13 @@ var renderBranding = function renderBranding(brandingStyle, invert, brandingText
6732
6735
  }
6733
6736
  });
6734
6737
 
6738
+ case 'TextLink':
6739
+ return (brandingText == null ? void 0 : brandingText.trim()) && /*#__PURE__*/React__default.createElement(TextLink, {
6740
+ target: 'blank',
6741
+ href: brandingLink,
6742
+ color: color
6743
+ }, truncate(stripAllHtmlTags(brandingText), 25));
6744
+
6735
6745
  case 'StreamLogo':
6736
6746
  return /*#__PURE__*/React__default.createElement(Logo, {
6737
6747
  color: color,
@@ -6755,17 +6765,19 @@ var CompactHeaderBranding = function CompactHeaderBranding(_ref) {
6755
6765
  var brandingStyle = _ref.brandingStyle,
6756
6766
  _ref$invert = _ref.invert,
6757
6767
  invert = _ref$invert === void 0 ? false : _ref$invert,
6758
- brandingText = _ref.brandingText;
6759
- return /*#__PURE__*/React__default.createElement(CompactHeaderLogoWrapper, null, renderBranding(brandingStyle, invert, brandingText));
6768
+ brandingText = _ref.brandingText,
6769
+ brandingLink = _ref.brandingLink;
6770
+ return /*#__PURE__*/React__default.createElement(CompactHeaderLogoWrapper, null, renderBranding(brandingStyle, invert, brandingText, brandingLink));
6760
6771
  };
6761
6772
 
6762
6773
  var isIOS = function isIOS() {
6763
6774
  try {
6764
- if (typeof navigator === undefined) return false;
6775
+ console.warn('Do not use this on server side rendering, it may throw an error.');
6776
+ if (typeof navigator === 'undefined') return false;
6765
6777
  return ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || // iPad on iOS 13 detection
6766
6778
  navigator.userAgent.includes('Mac') && 'ontouchend' in document;
6767
6779
  } catch (e) {
6768
- console.warn('Error checking if device is iOS.', e);
6780
+ console.warn('Error checking if device is iOS.');
6769
6781
  return false;
6770
6782
  }
6771
6783
  }; // React hook version of isIOS
@@ -6777,7 +6789,7 @@ var useIOS = function useIOS() {
6777
6789
  setIOS = _useState[1];
6778
6790
 
6779
6791
  React.useEffect(function () {
6780
- if (typeof navigator === undefined) return;
6792
+ if (typeof navigator === 'undefined') return;
6781
6793
  setIOS(isIOS());
6782
6794
  }, []);
6783
6795
  return IOS;
@@ -6788,7 +6800,7 @@ var isMobile = function isMobile() {
6788
6800
  if (typeof window === undefined) return false;
6789
6801
  return window.innerWidth < breakpoints.sm;
6790
6802
  } catch (e) {
6791
- console.warn('Error checking if device is mobile.', e);
6803
+ console.warn('Error checking if device is mobile.');
6792
6804
  return false;
6793
6805
  }
6794
6806
  }; // React hook version of isMobile
@@ -6889,8 +6901,9 @@ var CompactHeaderImage = function CompactHeaderImage(_ref2) {
6889
6901
  var CompactHeaderVideo = function CompactHeaderVideo(_ref3) {
6890
6902
  var video = _ref3.video,
6891
6903
  poster = _ref3.poster;
6892
-
6893
6904
  // Renders fallback image if no video supplied
6905
+ console.warn('video', video);
6906
+
6894
6907
  if (!video.desktop && !video.mobile) {
6895
6908
  return /*#__PURE__*/React__default.createElement(CompactHeaderImage, Object.assign({}, poster));
6896
6909
  }
@@ -6917,7 +6930,8 @@ var PageHeadingCompact = function PageHeadingCompact(_ref4) {
6917
6930
  invert = _ref4$invert === void 0 ? false : _ref4$invert,
6918
6931
  _ref4$brandingStyle = _ref4.brandingStyle,
6919
6932
  brandingStyle = _ref4$brandingStyle === void 0 ? 'BlockText' : _ref4$brandingStyle,
6920
- brandingText = _ref4.brandingText;
6933
+ brandingText = _ref4.brandingText,
6934
+ brandingLink = _ref4.brandingLink;
6921
6935
 
6922
6936
  var _ref5 = link || {},
6923
6937
  linkText = _ref5.text,
@@ -6949,6 +6963,7 @@ var PageHeadingCompact = function PageHeadingCompact(_ref4) {
6949
6963
  }, /*#__PURE__*/React__default.createElement(CompactHeaderBranding, {
6950
6964
  brandingStyle: brandingStyle,
6951
6965
  brandingText: brandingText,
6966
+ brandingLink: brandingLink,
6952
6967
  invert: invert
6953
6968
  }), /*#__PURE__*/React__default.createElement(CompactHeaderTitleWrapper, null, /*#__PURE__*/React__default.createElement(Header, {
6954
6969
  level: titleSize,