@royaloperahouse/chord 2.1.5-a-chord-development → 2.1.5-b-chord-development

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
@@ -1,3 +1,10 @@
1
+ ## [2.1.4]
2
+ - Fix screenreader accessibility for accordions
3
+
4
+ ## [2.1.3]
5
+ - Navigation: make links links
6
+ - Clear testing errors
7
+
1
8
  ## [2.1.2]
2
9
  - TextField: include optional width param
3
10
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Royal Opera House Chord - Front End Design System
2
2
 
3
- Welcome to the Royal Opera House Front End Design System, `@royaloperahouse/chord`
3
+ Welcome to The Royal Opera House Front End Design System, `@royaloperahouse/chord`
4
4
 
5
5
  This package is a library of UI components intended to be used in the ROH website.
6
6
 
@@ -1581,6 +1581,21 @@ var Twitter = (function (_ref) {
1581
1581
  }));
1582
1582
  });
1583
1583
 
1584
+ var X = (function (_ref) {
1585
+ var _ref$color = _ref.color,
1586
+ color = _ref$color === void 0 ? '#1A1A1A' : _ref$color;
1587
+ return /*#__PURE__*/React.createElement("svg", {
1588
+ width: "100%",
1589
+ height: "100%",
1590
+ viewBox: "0 0 24 24",
1591
+ fill: "none",
1592
+ xmlns: "http://www.w3.org/2000/svg"
1593
+ }, /*#__PURE__*/React.createElement("path", {
1594
+ d: "M13.7124 10.6179L20.4133 3H18.8254L13.007 9.61448L8.35992 3H3L10.0274 13.0023L3 20.9908H4.58799L10.7324 14.0056L15.6401 20.9908H21L13.7124 10.6179ZM11.5375 13.0904L10.8255 12.0944L5.16016 4.16911H7.59922L12.1712 10.5651L12.8832 11.5611L18.8262 19.8748H16.3871L11.5375 13.0904Z",
1595
+ fill: color
1596
+ }));
1597
+ });
1598
+
1584
1599
  var Youtube = (function (_ref) {
1585
1600
  var _ref$color = _ref.color,
1586
1601
  color = _ref$color === void 0 ? '#1A1A1A' : _ref$color;
@@ -2135,6 +2150,7 @@ var IconLibrary = {
2135
2150
  UserSignedIn: UserSignedIn,
2136
2151
  Volume: Volume,
2137
2152
  Watch: Watch,
2153
+ X: X,
2138
2154
  Youtube: Youtube
2139
2155
  };
2140
2156
 
@@ -2441,7 +2457,8 @@ var ControlledDropdown = function ControlledDropdown(_ref) {
2441
2457
  tabIndex: 0,
2442
2458
  onBlur: function onBlur() {
2443
2459
  return handleOptionBlur(index);
2444
- }
2460
+ },
2461
+ href: optionItem.optionLink
2445
2462
  }, optionItem.option);
2446
2463
  })) : null) : /*#__PURE__*/React__default.createElement(ControlledDropdownHeaderContainerLink, Object.assign({
2447
2464
  active: active,
@@ -4140,14 +4157,16 @@ var NavigationWrapper = /*#__PURE__*/styled__default.div(_templateObject$v || (_
4140
4157
  });
4141
4158
  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);
4142
4159
  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);
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';
4160
+ 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) {
4161
+ var visible = _ref2.visible;
4162
+ return visible ? 'visible' : 'hidden';
4145
4163
  }, zIndexes.search, devices.mobile);
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';
4164
+ 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) {
4165
+ var visible = _ref3.visible;
4166
+ return visible ? 'visible' : 'hidden';
4148
4167
  }, zIndexes.search, devices.mobile);
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;
4168
+ 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) {
4169
+ var theme = _ref4.theme;
4151
4170
  return theme.spacing[12];
4152
4171
  });
4153
4172
  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);
@@ -4579,7 +4598,8 @@ var Dropdown = function Dropdown(_ref) {
4579
4598
  return onKeyDownHandler(e, optionItem.optionLink);
4580
4599
  },
4581
4600
  colorPrimary: colorPrimary,
4582
- tabIndex: 0
4601
+ tabIndex: 0,
4602
+ href: optionItem.optionLink
4583
4603
  }, optionItem.option);
4584
4604
  })));
4585
4605
  };
@@ -5029,9 +5049,9 @@ var Navigation = function Navigation(_ref) {
5029
5049
  onShowMenu: onShowMenuHandler,
5030
5050
  colorPrimary: 'navigation'
5031
5051
  })))), /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SearchBackground, {
5032
- visibility: showSearch
5052
+ visible: showSearch
5033
5053
  }), /*#__PURE__*/React__default.createElement(GridItemSearch, {
5034
- visibility: showSearch,
5054
+ visible: showSearch,
5035
5055
  columnStartDesktop: 2,
5036
5056
  columnSpanDesktop: 14,
5037
5057
  columnStartDevice: 2,
@@ -6100,9 +6120,10 @@ var AddressWrapperMobile = /*#__PURE__*/styled__default.div(_templateObject4$j |
6100
6120
  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);
6101
6121
 
6102
6122
  var divideAddressString = function divideAddressString(address) {
6103
- return address.split(',').map(function (chunk) {
6123
+ return address.split(',').map(function (chunk, i) {
6104
6124
  return /*#__PURE__*/React__default.createElement(BodyText, {
6105
- level: 1
6125
+ level: 1,
6126
+ key: i
6106
6127
  }, chunk.trim());
6107
6128
  });
6108
6129
  };
@@ -6777,10 +6798,10 @@ var isIOS = function isIOS() {
6777
6798
  return ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || // iPad on iOS 13 detection
6778
6799
  navigator.userAgent.includes('Mac') && 'ontouchend' in document;
6779
6800
  } catch (e) {
6780
- console.warn('Error checking if device is iOS.');
6801
+ console.warn('Error checking if device is iOS.', e);
6781
6802
  return false;
6782
6803
  }
6783
- }; // React hook version of isIOS
6804
+ }; // React hook version of isIOS (for server side rendering)
6784
6805
 
6785
6806
 
6786
6807
  var useIOS = function useIOS() {
@@ -6797,13 +6818,14 @@ var useIOS = function useIOS() {
6797
6818
 
6798
6819
  var isMobile = function isMobile() {
6799
6820
  try {
6821
+ console.warn('Do not use this on server side rendering, it may throw an error.');
6800
6822
  if (typeof window === undefined) return false;
6801
6823
  return window.innerWidth < breakpoints.sm;
6802
6824
  } catch (e) {
6803
- console.warn('Error checking if device is mobile.');
6825
+ console.warn('Error checking if device is mobile.', e);
6804
6826
  return false;
6805
6827
  }
6806
- }; // React hook version of isMobile
6828
+ }; // React hook version of isMobile (for server side rendering)
6807
6829
 
6808
6830
  var useMobile = function useMobile() {
6809
6831
  var _useState2 = React.useState(false),
@@ -6901,8 +6923,6 @@ var CompactHeaderImage = function CompactHeaderImage(_ref2) {
6901
6923
  var CompactHeaderVideo = function CompactHeaderVideo(_ref3) {
6902
6924
  var video = _ref3.video,
6903
6925
  poster = _ref3.poster;
6904
- // Renders fallback image if no video supplied
6905
- console.warn('video', video);
6906
6926
 
6907
6927
  if (!video.desktop && !video.mobile) {
6908
6928
  return /*#__PURE__*/React__default.createElement(CompactHeaderImage, Object.assign({}, poster));