@odx/websites-react 1.1.125 → 1.1.126
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlimRichText.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/text/SlimRichText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAK,KAAK,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAW,KAAK,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAEvE,KAAK,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;AAE7E,MAAM,WAAW,iBACf,SAAQ,aAAa,EACnB,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"SlimRichText.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/text/SlimRichText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAK,KAAK,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAW,KAAK,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAEvE,KAAK,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;AAE7E,MAAM,WAAW,iBACf,SAAQ,aAAa,EACnB,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAyKF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6C7C,CAAC;AAEF,OAAO,EAAC,YAAY,EAAC,CAAC"}
|
|
@@ -4,14 +4,43 @@ import { Link } from '../../actions/link';
|
|
|
4
4
|
import { cn } from '../../../utils';
|
|
5
5
|
import { ListItem, OrderedList, UnorderedList } from '../list';
|
|
6
6
|
import { BodyText } from '../../typography/bodyText';
|
|
7
|
-
const getOptions = ({ LinkComponent, variant, maxLength, ellipsis, charCount, showEllipsisAlways, }) => ({
|
|
7
|
+
const getOptions = ({ LinkComponent, variant, maxLength, ellipsis, charCount, showEllipsisAlways, remainingContent, isCollectingRemaining = false, }) => ({
|
|
8
8
|
replace: domNode => {
|
|
9
9
|
const isMaxLengthDefined = typeof maxLength === 'number';
|
|
10
10
|
const isMaxLengthReached = isMaxLengthDefined && charCount.count >= maxLength;
|
|
11
|
+
if (isCollectingRemaining) {
|
|
12
|
+
if (domNode.type === 'text' && typeof domNode.data === 'string') {
|
|
13
|
+
remainingContent.content += domNode.data;
|
|
14
|
+
}
|
|
15
|
+
else if (domNode instanceof Element) {
|
|
16
|
+
domToReact(domNode.children, getOptions({
|
|
17
|
+
LinkComponent,
|
|
18
|
+
variant,
|
|
19
|
+
maxLength,
|
|
20
|
+
ellipsis,
|
|
21
|
+
charCount,
|
|
22
|
+
showEllipsisAlways,
|
|
23
|
+
remainingContent,
|
|
24
|
+
isCollectingRemaining: true,
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
return _jsx(_Fragment, {});
|
|
28
|
+
}
|
|
11
29
|
if (isMaxLengthReached) {
|
|
30
|
+
domToReact([domNode], getOptions({
|
|
31
|
+
LinkComponent,
|
|
32
|
+
variant,
|
|
33
|
+
maxLength,
|
|
34
|
+
ellipsis,
|
|
35
|
+
charCount,
|
|
36
|
+
showEllipsisAlways,
|
|
37
|
+
remainingContent,
|
|
38
|
+
isCollectingRemaining: true,
|
|
39
|
+
}));
|
|
12
40
|
return _jsx(_Fragment, {});
|
|
13
41
|
}
|
|
14
42
|
if (isMaxLengthDefined &&
|
|
43
|
+
!isCollectingRemaining &&
|
|
15
44
|
domNode.type === 'text' &&
|
|
16
45
|
typeof domNode.data === 'string') {
|
|
17
46
|
const text = domNode.data || '';
|
|
@@ -20,18 +49,34 @@ const getOptions = ({ LinkComponent, variant, maxLength, ellipsis, charCount, sh
|
|
|
20
49
|
const truncatedText = text.substring(0, remainingChars);
|
|
21
50
|
const remainingText = text.substring(remainingChars);
|
|
22
51
|
charCount.count = maxLength;
|
|
23
|
-
|
|
52
|
+
remainingContent.content += remainingText;
|
|
53
|
+
return (_jsxs(_Fragment, { children: [truncatedText, ellipsis] }));
|
|
24
54
|
}
|
|
25
55
|
charCount.count += text.length;
|
|
26
56
|
return _jsx(_Fragment, { children: text });
|
|
27
57
|
}
|
|
58
|
+
if (isCollectingRemaining &&
|
|
59
|
+
domNode.type === 'text' &&
|
|
60
|
+
typeof domNode.data === 'string') {
|
|
61
|
+
remainingContent.content += domNode.data;
|
|
62
|
+
return _jsx(_Fragment, {});
|
|
63
|
+
}
|
|
28
64
|
if (!(domNode instanceof Element)) {
|
|
29
65
|
return;
|
|
30
66
|
}
|
|
31
67
|
const { type, name, children, attribs } = domNode;
|
|
32
68
|
if (type !== 'tag')
|
|
33
69
|
return false;
|
|
34
|
-
const childNodes = domToReact(children, getOptions({
|
|
70
|
+
const childNodes = domToReact(children, getOptions({
|
|
71
|
+
LinkComponent,
|
|
72
|
+
variant,
|
|
73
|
+
maxLength,
|
|
74
|
+
ellipsis,
|
|
75
|
+
charCount,
|
|
76
|
+
showEllipsisAlways,
|
|
77
|
+
remainingContent,
|
|
78
|
+
isCollectingRemaining,
|
|
79
|
+
}));
|
|
35
80
|
const Tag = name.toLowerCase();
|
|
36
81
|
switch (name) {
|
|
37
82
|
case 'a':
|
|
@@ -60,6 +105,7 @@ const getOptions = ({ LinkComponent, variant, maxLength, ellipsis, charCount, sh
|
|
|
60
105
|
const SlimRichText = ({ text, className, LinkComponent, bottomSpacing = true, maxLength, ellipsis = '\u2026', showEllipsisAlways = false, ...props }) => {
|
|
61
106
|
if (typeof text !== 'string' || !text)
|
|
62
107
|
return;
|
|
108
|
+
const remainingContent = { content: '' };
|
|
63
109
|
const parsedNodes = parse(text, getOptions({
|
|
64
110
|
LinkComponent: LinkComponent ? LinkComponent : 'a',
|
|
65
111
|
variant: props.variant,
|
|
@@ -67,10 +113,12 @@ const SlimRichText = ({ text, className, LinkComponent, bottomSpacing = true, ma
|
|
|
67
113
|
ellipsis,
|
|
68
114
|
charCount: { count: 0 },
|
|
69
115
|
showEllipsisAlways,
|
|
116
|
+
remainingContent,
|
|
117
|
+
isCollectingRemaining: false,
|
|
70
118
|
}));
|
|
71
119
|
const isPlainText = typeof parsedNodes === 'string';
|
|
72
|
-
return (
|
|
73
|
-
'[&>p]:mb-3 [&>ul]:mb-3 [&>p:last-child]:mb-0 [&>ul:last-child]:mb-0 [&>ol:last-child]:last:mb-0', bottomSpacing && 'pb-8', className), ...props, children: parsedNodes }));
|
|
120
|
+
return (_jsxs(BodyText, { className: cn(!isPlainText &&
|
|
121
|
+
'[&>p]:mb-3 [&>ul]:mb-3 [&>p:last-child]:mb-0 [&>ul:last-child]:mb-0 [&>ol:last-child]:last:mb-0', bottomSpacing && 'pb-8', className), ...props, children: [parsedNodes, remainingContent.content && (_jsx("span", { className: "hidden", children: remainingContent.content }))] }));
|
|
74
122
|
};
|
|
75
123
|
export { SlimRichText };
|
|
76
124
|
//# sourceMappingURL=SlimRichText.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlimRichText.js","sourceRoot":"","sources":["../../../../src/components/layout/text/SlimRichText.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,EAEZ,OAAO,EACP,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,EAAE,EAAqB,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAqB,MAAM,2BAA2B,CAAC;AAoBvE,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"SlimRichText.js","sourceRoot":"","sources":["../../../../src/components/layout/text/SlimRichText.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odx/websites-react",
|
|
3
3
|
"author": "Drägerwerk AG & Co. KGaA",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.126",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"description": "ODX React component library for websites",
|
|
7
7
|
"type": "module",
|
|
@@ -535,8 +535,8 @@
|
|
|
535
535
|
"typescript": "^5.4.5",
|
|
536
536
|
"vitest": "^3.1.0-beta.1",
|
|
537
537
|
"@odx/eslint-config-websites": "0.0.1",
|
|
538
|
-
"@odx/websites-
|
|
539
|
-
"@odx/websites-
|
|
538
|
+
"@odx/websites-tsconfig": "0.0.0",
|
|
539
|
+
"@odx/websites-ui": "0.2.38"
|
|
540
540
|
},
|
|
541
541
|
"peerDependencies": {
|
|
542
542
|
"@odx/websites-ui": ">=0.2.1",
|