@royaloperahouse/chord 0.7.29 → 0.7.32

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,5 +1,14 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## [0.7.32]
4
+ - Carousels: extend character limit for description
5
+
6
+ ## [0.7.31]
7
+ - Card: add image alt text as a prop
8
+
9
+ ## [0.7.30]
10
+ - Navigation: add possibility to pass basket link as prop
11
+
3
12
  ## [0.7.29]
4
13
  - TextOnly: change spacing for the headings
5
14
 
@@ -3225,6 +3225,7 @@ var BasketText = /*#__PURE__*/styled__default.a(_templateObject4$2 || (_template
3225
3225
 
3226
3226
  var Basket$1 = function Basket(_ref) {
3227
3227
  var text = _ref.text,
3228
+ link = _ref.link,
3228
3229
  _ref$selected = _ref.selected,
3229
3230
  selected = _ref$selected === void 0 ? false : _ref$selected,
3230
3231
  _ref$numItems = _ref.numItems,
@@ -3235,7 +3236,7 @@ var Basket$1 = function Basket(_ref) {
3235
3236
 
3236
3237
  var onClickHandler = function onClickHandler() {
3237
3238
  if (onClick) {
3238
- onClick('/basket');
3239
+ onClick(link || '/basket');
3239
3240
  }
3240
3241
  };
3241
3242
 
@@ -3524,6 +3525,7 @@ var NavTop = function NavTop(_ref) {
3524
3525
  accountOptions = _ref.accountOptions,
3525
3526
  onLink = _ref.onLink,
3526
3527
  basketText = _ref.basketText,
3528
+ basketLink = _ref.basketLink,
3527
3529
  basketNumItems = _ref.basketNumItems,
3528
3530
  onClickSearch = _ref.onClickSearch,
3529
3531
  _ref$isShowSearch = _ref.isShowSearch,
@@ -3535,6 +3537,7 @@ var NavTop = function NavTop(_ref) {
3535
3537
  selected: isShowSearch,
3536
3538
  colorPrimary: colorPrimary
3537
3539
  }), /*#__PURE__*/React__default.createElement(Basket$1, {
3540
+ link: basketLink,
3538
3541
  text: basketText,
3539
3542
  numItems: basketNumItems,
3540
3543
  onClick: onLink,
@@ -3886,6 +3889,7 @@ var Navigation = function Navigation(_ref) {
3886
3889
  accountText: navTopData.accountText,
3887
3890
  accountLink: navTopData.accountLink,
3888
3891
  basketText: navTopData.basketText,
3892
+ basketLink: navTopData.basketLink,
3889
3893
  basketNumItems: navTopData.basketNumItems,
3890
3894
  onClickSearch: onClickSearchHandler,
3891
3895
  onLink: onLinkHandler,
@@ -4407,6 +4411,48 @@ var RotatorButtonsWrapper = /*#__PURE__*/styled__default.div(_templateObject9$1
4407
4411
  var RotatorButtonsWrapperMobile = /*#__PURE__*/styled__default.div(_templateObject10$1 || (_templateObject10$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: none;\n\n @media ", " {\n & {\n display: flex;\n grid-area: 1 / 12 / 2 / 14;\n align-self: center;\n justify-content: flex-end;\n }\n }\n\n @media ", " {\n & {\n display: flex;\n grid-area: 1 / 11 / 2 / 14;\n align-self: center;\n justify-content: flex-end;\n }\n }\n"])), devices.tablet, devices.mobile);
4408
4412
  var HtmlBodyText = /*#__PURE__*/styled__default.p(_templateObject11$1 || (_templateObject11$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n padding: 0;\n margin: 0;\n"])));
4409
4413
 
4414
+ var TEXT_STYLE_HTML_TAGS_REGEXP = '<em>|</em>|<b>|</b>';
4415
+
4416
+ var stripAllHtmlTags = function stripAllHtmlTags(htmlString) {
4417
+ return htmlString.replace(/<[^>]*>/g, '');
4418
+ };
4419
+
4420
+ var insertString = function insertString(mainString, str, position) {
4421
+ return "" + mainString.substring(0, position) + str + mainString.substring(position);
4422
+ };
4423
+
4424
+ var insertHtmlTags = function insertHtmlTags(strWithTags, strWithoutTags, resultLength) {
4425
+ var htmlTagPositions = Array.from(strWithTags.matchAll(new RegExp(TEXT_STYLE_HTML_TAGS_REGEXP, 'g')));
4426
+ var tagsLength = 0;
4427
+ var resultString = strWithoutTags;
4428
+ htmlTagPositions.forEach(function (tag) {
4429
+ resultString = insertString(resultString, tag[0], tag.index);
4430
+ if (tag.index - tagsLength <= resultLength) tagsLength += tag[0].length;
4431
+ });
4432
+ return {
4433
+ stringWithInsertedTags: resultString,
4434
+ tagsLength: tagsLength
4435
+ };
4436
+ };
4437
+
4438
+ var truncateHtmlString = function truncateHtmlString(str, resultLength, addDots) {
4439
+ if (addDots === void 0) {
4440
+ addDots = false;
4441
+ }
4442
+
4443
+ var strWithoutTags = stripAllHtmlTags(str);
4444
+ if (strWithoutTags.length <= resultLength) return str;
4445
+
4446
+ var _insertHtmlTags = insertHtmlTags(str, strWithoutTags, resultLength),
4447
+ stringWithInsertedTags = _insertHtmlTags.stringWithInsertedTags,
4448
+ tagsLength = _insertHtmlTags.tagsLength;
4449
+
4450
+ var truncatedString = stringWithInsertedTags.substring(0, resultLength + tagsLength);
4451
+ var isSpaceNext = strWithoutTags[resultLength] === ' ';
4452
+ if (!isSpaceNext) truncatedString = truncatedString.substring(0, truncatedString.lastIndexOf(' '));
4453
+ return addDots ? truncatedString + "..." : truncatedString;
4454
+ };
4455
+
4410
4456
  var _excluded$8 = ["text"];
4411
4457
 
4412
4458
  var HighlightsCarousel = function HighlightsCarousel(_ref) {
@@ -4438,7 +4484,7 @@ var HighlightsCarousel = function HighlightsCarousel(_ref) {
4438
4484
  var linkText = link.text,
4439
4485
  restLink = _objectWithoutPropertiesLoose(link, _excluded$8);
4440
4486
 
4441
- var description = infoText == null ? void 0 : infoText.substring(0, 130);
4487
+ var description = infoText ? truncateHtmlString(infoText, 185, true) : '';
4442
4488
  React.useEffect(function () {
4443
4489
  var slideChangeHandler = function slideChangeHandler(s) {
4444
4490
  return setCurrentSlide(s.realIndex);
@@ -4855,6 +4901,8 @@ var Card = function Card(_ref) {
4855
4901
  _ref$tags = _ref.tags,
4856
4902
  tags = _ref$tags === void 0 ? [] : _ref$tags,
4857
4903
  image = _ref.image,
4904
+ _ref$imageAltText = _ref.imageAltText,
4905
+ imageAltText = _ref$imageAltText === void 0 ? '' : _ref$imageAltText,
4858
4906
  _ref$withContinueWatc = _ref.withContinueWatching,
4859
4907
  withContinueWatching = _ref$withContinueWatc === void 0 ? false : _ref$withContinueWatc,
4860
4908
  _ref$size = _ref.size,
@@ -4872,6 +4920,7 @@ var Card = function Card(_ref) {
4872
4920
  hovered = _useState[0],
4873
4921
  setHovered = _useState[1];
4874
4922
 
4923
+ var truncatedText = truncateHtmlString(text, 185, true);
4875
4924
  var primaryButton = links == null ? void 0 : links[0];
4876
4925
 
4877
4926
  var _ref2 = primaryButton || {},
@@ -4919,7 +4968,7 @@ var Card = function Card(_ref) {
4919
4968
  aspectRatio: exports.AspectRatio['4:3']
4920
4969
  }, /*#__PURE__*/React__default.createElement("img", {
4921
4970
  src: image,
4922
- alt: "test"
4971
+ alt: imageAltText
4923
4972
  })), withContinueWatching && /*#__PURE__*/React__default.createElement(ProgressContainer, null, /*#__PURE__*/React__default.createElement(Progress, {
4924
4973
  progress: progress
4925
4974
  }))), /*#__PURE__*/React__default.createElement(ContentContainer$2, {
@@ -4936,7 +4985,7 @@ var Card = function Card(_ref) {
4936
4985
  level: 6
4937
4986
  }, title)), subtitle ? /*#__PURE__*/React__default.createElement(SubtitleContainer, null, subtitle) : null, /*#__PURE__*/React__default.createElement(TextContainer, {
4938
4987
  dangerouslySetInnerHTML: {
4939
- __html: truncate(text, 130)
4988
+ __html: truncatedText
4940
4989
  }
4941
4990
  })), links ? /*#__PURE__*/React__default.createElement(ButtonsContainer$1, {
4942
4991
  ref: node,