@royaloperahouse/chord 2.1.9-a-chord-development → 2.1.9-c-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/dist/chord.cjs.development.js +57 -34
- package/dist/chord.cjs.development.js.map +1 -1
- package/dist/chord.cjs.production.min.js +1 -1
- package/dist/chord.cjs.production.min.js.map +1 -1
- package/dist/chord.esm.js +57 -34
- package/dist/chord.esm.js.map +1 -1
- package/dist/components/molecules/ReadMore/ReadMore.style.d.ts +2 -0
- package/dist/helpers/htmlStrings.d.ts +2 -0
- package/dist/helpers/keyboards.d.ts +3 -0
- package/dist/types/types.d.ts +10 -2
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ var React__default = _interopDefault(React);
|
|
|
9
9
|
var styled = require('styled-components');
|
|
10
10
|
var styled__default = _interopDefault(styled);
|
|
11
11
|
var moment = _interopDefault(require('moment'));
|
|
12
|
+
var server = require('react-dom/server');
|
|
12
13
|
|
|
13
14
|
(function (Colors) {
|
|
14
15
|
Colors["White"] = "white";
|
|
@@ -5920,6 +5921,14 @@ var truncateHtmlString = function truncateHtmlString(str, resultLength, addDots)
|
|
|
5920
5921
|
var truncate = function truncate(str, n) {
|
|
5921
5922
|
return str.length >= n ? str.substring(0, n) : str;
|
|
5922
5923
|
};
|
|
5924
|
+
var truncateReactNodeString = function truncateReactNodeString(node, resultLength, addDots) {
|
|
5925
|
+
if (addDots === void 0) {
|
|
5926
|
+
addDots = false;
|
|
5927
|
+
}
|
|
5928
|
+
|
|
5929
|
+
var nodeString = server.renderToString( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, node));
|
|
5930
|
+
return truncateHtmlString(nodeString, resultLength, addDots);
|
|
5931
|
+
};
|
|
5923
5932
|
|
|
5924
5933
|
var _excluded$b = ["text"],
|
|
5925
5934
|
_excluded2$1 = ["text"];
|
|
@@ -8224,83 +8233,97 @@ var MiniCard = function MiniCard(_ref) {
|
|
|
8224
8233
|
}, title)))));
|
|
8225
8234
|
};
|
|
8226
8235
|
|
|
8227
|
-
var _templateObject$17, _templateObject2$O;
|
|
8236
|
+
var _templateObject$17, _templateObject2$O, _templateObject3$F, _templateObject4$w;
|
|
8228
8237
|
var ReadMoreContainer = /*#__PURE__*/styled__default.div(_templateObject$17 || (_templateObject$17 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin: 0px 0px 12px 0px !important;\n }\n width: 100%;\n"])));
|
|
8229
|
-
var LinkContainer = /*#__PURE__*/styled__default.div(_templateObject2$O || (_templateObject2$O = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n
|
|
8238
|
+
var LinkContainer = /*#__PURE__*/styled__default.div(_templateObject2$O || (_templateObject2$O = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n padding-top: 24px;\n gap: 8px;\n\n :hover {\n cursor: pointer;\n }\n"])));
|
|
8239
|
+
var FullTextContainer = /*#__PURE__*/styled__default.div(_templateObject3$F || (_templateObject3$F = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
|
|
8240
|
+
var ContentContainer$4 = /*#__PURE__*/styled__default.div(_templateObject4$w || (_templateObject4$w = /*#__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"])));
|
|
8241
|
+
|
|
8242
|
+
var keyDown = function keyDown(e, toggleFunction) {
|
|
8243
|
+
if (e.key === 'Enter' || e.key === 'Space') {
|
|
8244
|
+
toggleFunction();
|
|
8245
|
+
}
|
|
8246
|
+
};
|
|
8230
8247
|
|
|
8231
8248
|
var ReadMore = function ReadMore(_ref) {
|
|
8232
8249
|
var title = _ref.title,
|
|
8250
|
+
introText = _ref.introText,
|
|
8233
8251
|
fullText = _ref.fullText,
|
|
8234
8252
|
_ref$initOpen = _ref.initOpen,
|
|
8235
8253
|
initOpen = _ref$initOpen === void 0 ? false : _ref$initOpen,
|
|
8236
8254
|
showMoreText = _ref.showMoreText,
|
|
8237
8255
|
hideText = _ref.hideText,
|
|
8238
|
-
characterLimit = _ref.characterLimit
|
|
8256
|
+
characterLimit = _ref.characterLimit,
|
|
8257
|
+
_ref$truncate = _ref.truncate,
|
|
8258
|
+
truncate = _ref$truncate === void 0 ? true : _ref$truncate;
|
|
8239
8259
|
|
|
8240
8260
|
var _useState = React.useState(initOpen),
|
|
8241
8261
|
isFullTextOpen = _useState[0],
|
|
8242
8262
|
setIsFullTextOpen = _useState[1];
|
|
8243
8263
|
|
|
8244
|
-
var _useState2 = React.useState(
|
|
8245
|
-
|
|
8246
|
-
|
|
8264
|
+
var _useState2 = React.useState('0px'),
|
|
8265
|
+
textHeight = _useState2[0],
|
|
8266
|
+
setTextHeight = _useState2[1];
|
|
8267
|
+
|
|
8268
|
+
var _useState3 = React.useState(initOpen ? {
|
|
8269
|
+
visibility: 'visible'
|
|
8247
8270
|
} : {
|
|
8248
|
-
visibility: 'hidden'
|
|
8249
|
-
display: 'none'
|
|
8271
|
+
visibility: 'hidden'
|
|
8250
8272
|
}),
|
|
8251
|
-
textVisibility =
|
|
8252
|
-
setTextVisibility =
|
|
8273
|
+
textVisibility = _useState3[0],
|
|
8274
|
+
setTextVisibility = _useState3[1];
|
|
8275
|
+
|
|
8276
|
+
var content = React.useRef(null);
|
|
8277
|
+
React.useEffect(function () {
|
|
8278
|
+
if (content != null && content.current && initOpen) {
|
|
8279
|
+
setTextHeight(content.current.scrollHeight + "px");
|
|
8280
|
+
}
|
|
8281
|
+
}, [content, initOpen]);
|
|
8253
8282
|
|
|
8254
8283
|
var toggleFullText = function toggleFullText() {
|
|
8255
8284
|
if (!fullText) return;
|
|
8256
8285
|
setIsFullTextOpen(!isFullTextOpen);
|
|
8286
|
+
setTextHeight(isFullTextOpen ? '0px' : content.current.scrollHeight + "px");
|
|
8257
8287
|
setTextVisibility(isFullTextOpen ? {
|
|
8258
|
-
visibility: 'hidden'
|
|
8259
|
-
display: 'none'
|
|
8288
|
+
visibility: 'hidden'
|
|
8260
8289
|
} : {
|
|
8261
|
-
visibility: 'visible'
|
|
8262
|
-
display: 'block'
|
|
8290
|
+
visibility: 'visible'
|
|
8263
8291
|
});
|
|
8264
8292
|
};
|
|
8265
8293
|
|
|
8266
|
-
var
|
|
8267
|
-
|
|
8268
|
-
toggleFullText();
|
|
8269
|
-
}
|
|
8294
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
8295
|
+
keyDown(e, toggleFullText);
|
|
8270
8296
|
};
|
|
8271
8297
|
|
|
8272
|
-
var INTRO_CHAR_LIMIT = characterLimit != null ? characterLimit : 115;
|
|
8273
|
-
|
|
8274
|
-
var setIntroText = function setIntroText(text) {
|
|
8275
|
-
if (text.length <= INTRO_CHAR_LIMIT) {
|
|
8276
|
-
return text;
|
|
8277
|
-
}
|
|
8278
|
-
|
|
8279
|
-
return text.slice(0, INTRO_CHAR_LIMIT) + '...';
|
|
8280
|
-
};
|
|
8298
|
+
var INTRO_CHAR_LIMIT = truncate ? characterLimit != null ? characterLimit : 115 : undefined;
|
|
8299
|
+
var truncatedText = truncate ? truncateReactNodeString(introText != null ? introText : '', INTRO_CHAR_LIMIT, true) : introText;
|
|
8281
8300
|
|
|
8282
|
-
var
|
|
8283
|
-
return
|
|
8301
|
+
var IntroText = function IntroText() {
|
|
8302
|
+
return introText ? /*#__PURE__*/React__default.createElement(ContentContainer$4, null, /*#__PURE__*/React__default.createElement(FullTextContainer, null, truncatedText)) : null;
|
|
8284
8303
|
};
|
|
8285
8304
|
|
|
8286
|
-
var content = React.useRef(null);
|
|
8287
8305
|
var contentContainerId = title + "-read-more-content";
|
|
8288
8306
|
return /*#__PURE__*/React__default.createElement(AccordionContainer, {
|
|
8289
8307
|
tabIndex: 0,
|
|
8290
|
-
onKeyDown:
|
|
8308
|
+
onKeyDown: handleKeyDown
|
|
8291
8309
|
}, /*#__PURE__*/React__default.createElement(ReadMoreContainer, {
|
|
8292
8310
|
"aria-label": title,
|
|
8293
8311
|
"aria-expanded": isFullTextOpen,
|
|
8294
8312
|
"aria-controls": contentContainerId
|
|
8295
8313
|
}, /*#__PURE__*/React__default.createElement(Header, {
|
|
8296
|
-
level: 5
|
|
8297
|
-
|
|
8314
|
+
level: 5,
|
|
8315
|
+
semanticLevel: 3
|
|
8316
|
+
}, title)), !isFullTextOpen && /*#__PURE__*/React__default.createElement(IntroText, null), /*#__PURE__*/React__default.createElement(ContentContainer$4, {
|
|
8298
8317
|
"data-testid": "richcontainer",
|
|
8299
8318
|
ref: content,
|
|
8300
8319
|
id: contentContainerId,
|
|
8301
8320
|
"aria-live": "polite",
|
|
8321
|
+
style: {
|
|
8322
|
+
maxHeight: "" + textHeight
|
|
8323
|
+
}
|
|
8324
|
+
}, /*#__PURE__*/React__default.createElement(FullTextContainer, {
|
|
8302
8325
|
style: textVisibility
|
|
8303
|
-
}, fullText), /*#__PURE__*/React__default.createElement(LinkContainer, null, (fullText || isFullTextOpen) && /*#__PURE__*/React__default.createElement(TextLink, {
|
|
8326
|
+
}, fullText)), /*#__PURE__*/React__default.createElement(LinkContainer, null, (fullText || isFullTextOpen) && /*#__PURE__*/React__default.createElement(TextLink, {
|
|
8304
8327
|
tabIndex: 0,
|
|
8305
8328
|
role: "button",
|
|
8306
8329
|
onClick: toggleFullText
|