@royaloperahouse/chord 2.4.4-a-chord-development → 2.4.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.
@@ -127,9 +127,12 @@ var StreamBadge = function StreamBadge(_ref) {
127
127
  var _ref$fillColor = _ref.fillColor,
128
128
  fillColor = _ref$fillColor === void 0 ? exports.Colors.White : _ref$fillColor,
129
129
  _ref$align = _ref.align,
130
- align = _ref$align === void 0 ? 'center' : _ref$align;
130
+ align = _ref$align === void 0 ? 'center' : _ref$align,
131
+ _ref$invert = _ref.invert,
132
+ invert = _ref$invert === void 0 ? false : _ref$invert;
133
+ var colour = invert ? exports.Colors.Black : fillColor;
131
134
  return /*#__PURE__*/React__default.createElement(BadgeWrapper, {
132
- fillColor: fillColor,
135
+ fillColor: colour,
133
136
  width: "100%",
134
137
  height: "100%",
135
138
  viewBox: "110 450 865 200",
@@ -227,9 +230,12 @@ var CinemaBadge = function CinemaBadge(_ref) {
227
230
  var _ref$fillColor = _ref.fillColor,
228
231
  fillColor = _ref$fillColor === void 0 ? exports.Colors.White : _ref$fillColor,
229
232
  _ref$align = _ref.align,
230
- align = _ref$align === void 0 ? 'center' : _ref$align;
233
+ align = _ref$align === void 0 ? 'center' : _ref$align,
234
+ _ref$invert = _ref.invert,
235
+ invert = _ref$invert === void 0 ? false : _ref$invert;
236
+ var colour = invert ? exports.Colors.Black : fillColor;
231
237
  return /*#__PURE__*/React__default.createElement(BadgeWrapper, {
232
- fillColor: fillColor,
238
+ fillColor: colour,
233
239
  width: "100%",
234
240
  height: "100%",
235
241
  viewBox: "110 450 865 200",
@@ -7382,59 +7388,63 @@ var ButtonsContainer$1 = /*#__PURE__*/styled__default.div(_templateObject14 || (
7382
7388
  return '';
7383
7389
  });
7384
7390
 
7385
- var TEXT_STYLE_HTML_TAGS_REGEXP = '<em>|</em>|<b>|</b>';
7386
7391
  var stripAllHtmlTags = function stripAllHtmlTags(htmlString) {
7387
7392
  return htmlString.replace(/<[^>]*>/g, '');
7388
7393
  };
7394
+ var truncateHtmlString = function truncateHtmlString(htmlString, resultLength, addDots) {
7395
+ if (addDots === void 0) {
7396
+ addDots = false;
7397
+ }
7389
7398
 
7390
- var getAllMatches = function getAllMatches(str, regExp) {
7391
- var allMatches = [];
7392
- var match;
7399
+ var parser = new DOMParser();
7400
+ var doc = parser.parseFromString(htmlString, 'text/html');
7401
+ var textContent = doc.body.textContent;
7393
7402
 
7394
- while (match = regExp.exec(str)) {
7395
- allMatches.push({
7396
- value: match[0],
7397
- index: match.index
7398
- });
7403
+ if (textContent && textContent.length <= resultLength) {
7404
+ return htmlString;
7399
7405
  }
7400
7406
 
7401
- return allMatches;
7402
- };
7403
-
7404
- var insertString = function insertString(mainString, str, position) {
7405
- return "" + mainString.substring(0, position) + str + mainString.substring(position);
7406
- };
7407
+ var accumulatedText = '';
7408
+ var tagStack = [];
7409
+ var charCount = 0;
7407
7410
 
7408
- var insertHtmlTags = function insertHtmlTags(strWithTags, strWithoutTags, resultLength) {
7409
- var htmlTagPositions = getAllMatches(strWithTags, new RegExp(TEXT_STYLE_HTML_TAGS_REGEXP, 'g'));
7410
- var tagsLength = 0;
7411
- var resultString = strWithoutTags;
7412
- htmlTagPositions.forEach(function (tag) {
7413
- resultString = insertString(resultString, tag.value, tag.index);
7414
- if (tag.index - tagsLength <= resultLength) tagsLength += tag.value.length;
7415
- });
7416
- return {
7417
- stringWithInsertedTags: resultString,
7418
- tagsLength: tagsLength
7411
+ var closeTags = function closeTags() {
7412
+ while (tagStack.length > 0) {
7413
+ accumulatedText += '</' + tagStack.pop() + '>';
7414
+ }
7419
7415
  };
7420
- };
7421
7416
 
7422
- var truncateHtmlString = function truncateHtmlString(str, resultLength, addDots) {
7423
- if (addDots === void 0) {
7424
- addDots = false;
7425
- }
7417
+ for (var i = 0; i < htmlString.length; i++) {
7418
+ var _char = htmlString[i];
7426
7419
 
7427
- var strWithoutTags = stripAllHtmlTags(str);
7428
- if (strWithoutTags.length <= resultLength) return str;
7420
+ if (_char === '<') {
7421
+ accumulatedText += _char;
7429
7422
 
7430
- var _insertHtmlTags = insertHtmlTags(str, strWithoutTags, resultLength),
7431
- stringWithInsertedTags = _insertHtmlTags.stringWithInsertedTags,
7432
- tagsLength = _insertHtmlTags.tagsLength;
7423
+ if (htmlString[i + 1] !== '/') {
7424
+ var tagNameEnd = htmlString.indexOf('>', i);
7425
+ var tagName = htmlString.slice(i + 1, tagNameEnd).split(' ')[0];
7426
+ tagStack.push(tagName);
7427
+ accumulatedText += tagName + ">";
7428
+ i = tagNameEnd;
7429
+ }
7430
+ } else if (_char === '>') {
7431
+ accumulatedText += _char;
7432
+ } else if (charCount < resultLength) {
7433
+ accumulatedText += _char;
7434
+ charCount++;
7435
+ }
7433
7436
 
7434
- var truncatedString = stringWithInsertedTags.substring(0, resultLength + tagsLength);
7435
- var isSpaceNext = strWithoutTags[resultLength] === ' ';
7436
- if (!isSpaceNext) truncatedString = truncatedString.substring(0, truncatedString.lastIndexOf(' '));
7437
- return addDots ? truncatedString + "..." : truncatedString;
7437
+ if (charCount >= resultLength) {
7438
+ if (addDots) {
7439
+ accumulatedText += '...';
7440
+ }
7441
+
7442
+ break;
7443
+ }
7444
+ }
7445
+
7446
+ closeTags();
7447
+ return accumulatedText;
7438
7448
  };
7439
7449
  var truncate = function truncate(str, n) {
7440
7450
  return str.length >= n ? str.substring(0, n) : str;
@@ -8240,7 +8250,7 @@ var PageHeadingStream = function PageHeadingStream(_ref) {
8240
8250
  };
8241
8251
 
8242
8252
  var _templateObject$$, _templateObject2$H, _templateObject3$z, _templateObject5$m, _templateObject6$h, _templateObject7$b, _templateObject8$9, _templateObject9$4, _templateObject10$4;
8243
- var BrandingTextBlock = /*#__PURE__*/styled__default.div(_templateObject$$ || (_templateObject$$ = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: var(--font-size-overline-4);\n font-family: var(--font-family-header);\n text-transform: uppercase;\n margin: 0;\n white-space: nowrap;\n @media screen and (max-width: 920px) {\n white-space: normal;\n }\n @media ", " {\n white-space: nowrap;\n }\n"])), devices.mobile);
8253
+ var BrandingTextBlock = /*#__PURE__*/styled__default.div(_templateObject$$ || (_templateObject$$ = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: var(--font-size-body-2);\n font-family: var(--font-family-header);\n text-transform: uppercase;\n margin: 0;\n white-space: nowrap;\n @media screen and (max-width: 920px) {\n white-space: normal;\n }\n @media ", " {\n white-space: nowrap;\n }\n"])), devices.mobile);
8244
8254
  var BrandingTextBody = /*#__PURE__*/styled__default.p(_templateObject2$H || (_templateObject2$H = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-family: var(--font-family-body);\n font-size: var(--font-size-heading-6);\n line-height: var(--line-height-heading-6);\n"])));
8245
8255
  var ComapctHeaderWrapper = /*#__PURE__*/styled__default.div(_templateObject3$z || (_templateObject3$z = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n display: block;\n"])));
8246
8256
  var CompactHeaderAssetWrapper = /*#__PURE__*/styled__default.div(_templateObject5$m || (_templateObject5$m = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 37.5vw;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #000;\n img {\n position: relative;\n height: 100%;\n width: 100%;\n object-fit: cover;\n }\n video {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n object-fit: contain;\n @media ", " {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n margin: auto;\n height: auto;\n max-height: 100vh;\n width: 100%;\n object-fit: contain;\n }\n }\n @media ", " {\n height: 85vw;\n max-height: 100vh;\n }\n"])), devices.mobile, devices.mobile);
@@ -8344,10 +8354,14 @@ var renderBranding = function renderBranding(brandingStyle, invert, brandingText
8344
8354
  }, truncate(stripAllHtmlTags(brandingText), 25));
8345
8355
 
8346
8356
  case 'StreamLogo':
8347
- return /*#__PURE__*/React__default.createElement(StreamBadge, null);
8357
+ return /*#__PURE__*/React__default.createElement(StreamBadge, {
8358
+ invert: invert
8359
+ });
8348
8360
 
8349
8361
  case 'CinemaLogo':
8350
- return /*#__PURE__*/React__default.createElement(CinemaBadge, null);
8362
+ return /*#__PURE__*/React__default.createElement(CinemaBadge, {
8363
+ invert: invert
8364
+ });
8351
8365
 
8352
8366
  default:
8353
8367
  return null;
@@ -10288,7 +10302,7 @@ var IntroTextContainer = /*#__PURE__*/styled__default.div(_templateObject4$A ||
10288
10302
  var isVisible = _ref2.isVisible;
10289
10303
  return isVisible ? 'visible' : 'hidden';
10290
10304
  });
10291
- var ContentContainer$5 = /*#__PURE__*/styled__default.div(_templateObject5$s || (_templateObject5$s = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n overflow: auto;\n transition: max-height 0.4s ease;\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\n & h1 {\n font-size: var(--font-size-header-4);\n font-family: var(--font-family-header);\n font-feature-settings: var(--font-feature-settings-header);\n font-weight: var(--font-weight-header-4);\n letter-spacing: var(--letter-spacing-header-4);\n line-height: var(--line-height-header-4);\n text-transform: var(--text-transform-header);\n white-space: break-spaces;\n overflow-wrap: break-word;\n }\n\n & h2 {\n font-size: var(--font-size-subtitle-1);\n font-family: var(--font-family-subtitle);\n font-feature-settings: var(--font-feature-settings-subtitle);\n font-weight: var(--font-weight-subtitle-1);\n letter-spacing: var(--letter-spacing-subtitle-1);\n line-height: var(--line-height-subtitle-1);\n text-transform: var(--text-transform-subtitle);\n white-space: break-spaces;\n overflow-wrap: break-word;\n }\n\n & em {\n font-family: var(--font-family-body-italics);\n }\n\n & u {\n font-size: var(--font-size-body-1);\n font-family: var(--font-family-body);\n }\n @media print {\n visibility: visible;\n max-height: 900px !important;\n }\n\n"])));
10305
+ var ContentContainer$5 = /*#__PURE__*/styled__default.div(_templateObject5$s || (_templateObject5$s = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n overflow: auto;\n transition: max-height 0.4s ease;\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\n & h1 {\n font-size: var(--font-size-header-4);\n font-family: var(--font-family-header);\n font-feature-settings: var(--font-feature-settings-header);\n font-weight: var(--font-weight-header-4);\n letter-spacing: var(--letter-spacing-header-4);\n line-height: var(--line-height-header-4);\n text-transform: var(--text-transform-header);\n white-space: break-spaces;\n overflow-wrap: break-word;\n }\n\n & h2 {\n font-size: var(--font-size-subtitle-1);\n font-family: var(--font-family-subtitle);\n font-feature-settings: var(--font-feature-settings-subtitle);\n font-weight: var(--font-weight-subtitle-1);\n letter-spacing: var(--letter-spacing-subtitle-1);\n line-height: var(--line-height-subtitle-1);\n text-transform: var(--text-transform-subtitle);\n white-space: break-spaces;\n overflow-wrap: break-word;\n }\n\n & em {\n font-family: var(--font-family-body-italics);\n }\n\n & u {\n font-size: var(--font-size-body-1);\n font-family: var(--font-family-body);\n }\n @media print {\n visibility: visible;\n max-height: 900px !important;\n }\n"])));
10292
10306
 
10293
10307
  var keyDown = function keyDown(e, toggleFunction) {
10294
10308
  if (e.key === 'Enter' || e.key === 'Space') {