@royaloperahouse/chord 2.2.1 → 2.2.2

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,6 @@
1
+ ## [2.2.2]
2
+ - Allow accordions to take different display and semantic levels
3
+
1
4
  ## [2.2.1]
2
5
  - Read More Component
3
6
 
@@ -5617,8 +5617,8 @@ var _templateObject$K, _templateObject2$u, _templateObject3$n, _templateObject4$
5617
5617
  var AccordionContainer = /*#__PURE__*/styled__default.div(_templateObject$K || (_templateObject$K = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n div {\n overflow: hidden;\n }\n"])));
5618
5618
  var LineContainer = /*#__PURE__*/styled__default.div(_templateObject2$u || (_templateObject2$u = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n height: 2px;\n background-color: var(--base-color-lightgrey);\n width: 100%;\n"])));
5619
5619
  var ChildrenContainer = /*#__PURE__*/styled__default.div(_templateObject3$n || (_templateObject3$n = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 0px 20px 28px 20px;\n\n @media ", " {\n margin: 12px 0px 24px 0px;\n }\n"])), devices.mobile);
5620
- var TitleContainer$3 = /*#__PURE__*/styled__default.div(_templateObject4$h || (_templateObject4$h = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n\n && a {\n font-size: var(--font-size-subtitle-1);\n font-family: var(--font-family-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 margin: 28px 20px;\n\n @media ", " {\n margin: 12px 20px 12px 0px;\n }\n }\n\n && svg {\n width: var(--navigation-middle-gap);\n height: var(--navigation-middle-gap);\n margin-right: 20px;\n\n @media ", " {\n margin-right: 0px;\n }\n }\n\n :hover {\n cursor: pointer;\n }\n"])), devices.mobile, devices.mobile);
5621
- var ContentContainer = /*#__PURE__*/styled__default.div(_templateObject5$b || (_templateObject5$b = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n overflow: auto;\n transition: max-height 0.2s 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"])));
5620
+ var TitleContainer$3 = /*#__PURE__*/styled__default.div(_templateObject4$h || (_templateObject4$h = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n\n && h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n div {\n margin: 21px 20px;\n white-space: break-spaces;\n overflow-wrap: break-word;\n\n @media ", " {\n margin: 12px 20px 12px 0px;\n }\n }\n\n && svg {\n width: var(--navigation-middle-gap);\n height: var(--navigation-middle-gap);\n margin-right: 20px;\n\n @media ", " {\n margin-right: 0px;\n }\n }\n\n :hover {\n cursor: pointer;\n }\n"])), devices.mobile, devices.mobile);
5621
+ var ContentContainer = /*#__PURE__*/styled__default.div(_templateObject5$b || (_templateObject5$b = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n overflow: auto;\n transition: max-height 0.2s 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\n @media ", " {\n transition: 100% 0.2s ease;\n }\n"])), devices.mobile);
5622
5622
 
5623
5623
  var Accordion = function Accordion(_ref) {
5624
5624
  var _ref$title = _ref.title,
@@ -5628,7 +5628,13 @@ var Accordion = function Accordion(_ref) {
5628
5628
  children = _ref.children,
5629
5629
  visibleStandfirst = _ref.visibleStandfirst,
5630
5630
  _ref$initOpen = _ref.initOpen,
5631
- initOpen = _ref$initOpen === void 0 ? false : _ref$initOpen;
5631
+ initOpen = _ref$initOpen === void 0 ? false : _ref$initOpen,
5632
+ _ref$contentType = _ref.contentType,
5633
+ contentType = _ref$contentType === void 0 ? 'subtitle' : _ref$contentType,
5634
+ _ref$semanticLevel = _ref.semanticLevel,
5635
+ semanticLevel = _ref$semanticLevel === void 0 ? 4 : _ref$semanticLevel,
5636
+ _ref$displayLevel = _ref.displayLevel,
5637
+ displayLevel = _ref$displayLevel === void 0 ? 1 : _ref$displayLevel;
5632
5638
 
5633
5639
  var _useState = React.useState(initOpen),
5634
5640
  openAccordion = _useState[0],
@@ -5681,6 +5687,34 @@ var Accordion = function Accordion(_ref) {
5681
5687
  };
5682
5688
 
5683
5689
  var contentContainerId = title + "-accordion-content";
5690
+
5691
+ var AccordionTitle = function AccordionTitle(_ref2) {
5692
+ var level = _ref2.level,
5693
+ semanticLevel = _ref2.semanticLevel;
5694
+ var subtitleLevel = level;
5695
+
5696
+ if (contentType === 'header') {
5697
+ return /*#__PURE__*/React__default.createElement(Header, {
5698
+ semanticLevel: semanticLevel,
5699
+ level: level
5700
+ }, title);
5701
+ } else if (contentType === 'subtitle') {
5702
+ if (contentType === 'subtitle') {
5703
+ if (![1, 2].includes(level)) {
5704
+ console.warn('Invalid Subtitle level:', level);
5705
+ subtitleLevel = level > 2 ? 2 : level;
5706
+ }
5707
+ }
5708
+
5709
+ return /*#__PURE__*/React__default.createElement(Subtitle, Object.assign({}, {
5710
+ level: subtitleLevel,
5711
+ semanticLevel: semanticLevel
5712
+ }), title);
5713
+ }
5714
+
5715
+ return null;
5716
+ };
5717
+
5684
5718
  return /*#__PURE__*/React__default.createElement(AccordionContainer, {
5685
5719
  tabIndex: 0,
5686
5720
  onKeyDown: keyDown
@@ -5691,9 +5725,10 @@ var Accordion = function Accordion(_ref) {
5691
5725
  "aria-label": title,
5692
5726
  "aria-expanded": openAccordion,
5693
5727
  "aria-controls": contentContainerId
5694
- }, /*#__PURE__*/React__default.createElement("h4", null, /*#__PURE__*/React__default.createElement("a", {
5695
- className: "accordion-title"
5696
- }, title)), children && /*#__PURE__*/React__default.createElement(Icon, {
5728
+ }, /*#__PURE__*/React__default.createElement(AccordionTitle, {
5729
+ level: displayLevel,
5730
+ semanticLevel: semanticLevel
5731
+ }, title), children && /*#__PURE__*/React__default.createElement(Icon, {
5697
5732
  iconName: iconName
5698
5733
  })), visibleStandfirst && /*#__PURE__*/React__default.createElement(Standfirst, null), /*#__PURE__*/React__default.createElement(ContentContainer, {
5699
5734
  "data-testid": "richcontainer",
@@ -5724,7 +5759,10 @@ var Accordions = function Accordions(_ref) {
5724
5759
  key: accordion.title + "-" + index,
5725
5760
  title: accordion.title,
5726
5761
  showLine: isLastAccordion(index),
5727
- visibleStandfirst: accordion.visibleStandfirst
5762
+ visibleStandfirst: accordion.visibleStandfirst,
5763
+ contentType: accordion.contentType,
5764
+ displayLevel: accordion.displayLevel,
5765
+ semanticLevel: accordion.semanticLevel
5728
5766
  }, accordion.children);
5729
5767
  }));
5730
5768
  };