Skip to content

Commit 8764a22

Browse files
committed
provide an inline option for content blob togglers
1 parent b921c68 commit 8764a22

2 files changed

Lines changed: 13 additions & 4 deletions

File tree

src/cmem/ContentBlobToggler/ContentBlobToggler.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import React, { useState } from "react";
1+
import React, { useState} from "react";
22

3-
import { Link, Spacing } from "../../index";
3+
import { Link, Spacing, InlineText } from "../../index";
44

55
export interface ContentBlobTogglerProps extends React.HTMLAttributes<HTMLDivElement> {
66
/**
@@ -31,6 +31,10 @@ export interface ContentBlobTogglerProps extends React.HTMLAttributes<HTMLDivEle
3131
Callback if toggler is necessary. Default: true
3232
*/
3333
enableToggler?: boolean;
34+
/**
35+
* Force always inline rendering.
36+
*/
37+
forceInline?: boolean;
3438
}
3539

3640
/** Shows a preview with the option to expand to a full view (and back). */
@@ -42,6 +46,7 @@ export function ContentBlobToggler({
4246
fullviewContent,
4347
startExtended = false,
4448
enableToggler = true,
49+
forceInline = false,
4550
...otherProps
4651
}: ContentBlobTogglerProps) {
4752
const [isExtended, setViewState] = useState(startExtended);
@@ -51,7 +56,7 @@ export function ContentBlobToggler({
5156
setViewState(!isExtended);
5257
};
5358

54-
return (
59+
const tooglerDisplay = (
5560
<div className={className} {...otherProps}>
5661
{!isExtended ? (
5762
<>
@@ -76,7 +81,7 @@ export function ContentBlobToggler({
7681
{fullviewContent}
7782
{enableToggler && (
7883
<div>
79-
<Spacing size="small" />
84+
{forceInline ? <>{" "}</> : <Spacing size="small" />}
8085
<Link
8186
data-test-id={"content-blob-toggler-less-link"}
8287
href="#less"
@@ -92,4 +97,6 @@ export function ContentBlobToggler({
9297
)}
9398
</div>
9499
);
100+
101+
return forceInline ? <InlineText>{tooglerDisplay}</InlineText> : tooglerDisplay;
95102
}

src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ export function StringPreviewContentBlobToggler({
5454
allowedHtmlElementsInPreview,
5555
noTogglerContentSuffix,
5656
firstNonEmptyLineOnly,
57+
...otherContentBlobTogglerProps
5758
}: StringPreviewContentBlobTogglerProps) {
5859
// need to test `firstNonEmptyLineOnly` until property is removed
5960
const useOnlyTest: StringPreviewContentBlobTogglerProps["useOnly"] = firstNonEmptyLineOnly
@@ -105,6 +106,7 @@ export function StringPreviewContentBlobToggler({
105106
fullviewContent={fullviewContent}
106107
startExtended={startExtended}
107108
enableToggler={enableToggler}
109+
{...otherContentBlobTogglerProps}
108110
/>
109111
);
110112
}

0 commit comments

Comments
 (0)