@toptal/picasso 18.10.0 → 18.11.0
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/ShowMore/ShowMore.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { BaseProps } from '@toptal/picasso-shared';
|
|
3
3
|
export interface Props extends BaseProps {
|
|
4
4
|
/** Content of the component */
|
|
5
|
-
children:
|
|
6
|
-
/** Number of
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/** Number of lines displayed initially */
|
|
7
7
|
rows?: number;
|
|
8
8
|
/** Text used by action link showing whole content */
|
|
9
9
|
moreText?: string;
|
|
@@ -15,6 +15,10 @@ export interface Props extends BaseProps {
|
|
|
15
15
|
disableToggle?: boolean;
|
|
16
16
|
/** Callback triggered when show more/less is clicked */
|
|
17
17
|
onToggle?: () => void;
|
|
18
|
+
testIds?: {
|
|
19
|
+
contentWrapper?: string;
|
|
20
|
+
toggleButton?: string;
|
|
21
|
+
};
|
|
18
22
|
}
|
|
19
23
|
export declare const ShowMore: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLSpanElement>>;
|
|
20
24
|
export default ShowMore;
|
package/ShowMore/ShowMore.js
CHANGED
|
@@ -20,20 +20,23 @@ import Button from '../Button';
|
|
|
20
20
|
import { replaceLineBreaksWithTags } from './utils';
|
|
21
21
|
const useStyles = makeStyles(styles, { name: 'PicassoShowMore' });
|
|
22
22
|
export const ShowMore = forwardRef(function ShowMore(props, ref) {
|
|
23
|
-
const { children, rows = 4, initialExpanded = false, disableToggle = false, moreText = 'Show more', lessText = 'Show less', onToggle = () => { }, className, style } = props, rest = __rest(props, ["children", "rows", "initialExpanded", "disableToggle", "moreText", "lessText", "onToggle", "className", "style"]);
|
|
23
|
+
const { children, rows = 4, initialExpanded = false, disableToggle = false, moreText = 'Show more', lessText = 'Show less', onToggle = () => { }, className, style, testIds } = props, rest = __rest(props, ["children", "rows", "initialExpanded", "disableToggle", "moreText", "lessText", "onToggle", "className", "style", "testIds"]);
|
|
24
24
|
const classes = useStyles();
|
|
25
25
|
const [shownMore, setShownMore] = useState(initialExpanded);
|
|
26
|
-
const
|
|
26
|
+
const content = useMemo(() => typeof children === 'string'
|
|
27
|
+
? replaceLineBreaksWithTags(children)
|
|
28
|
+
: children, [children]);
|
|
29
|
+
const isContentVisible = rows !== 0 || shownMore;
|
|
30
|
+
const lines = shownMore ? -1 : rows;
|
|
27
31
|
return (React.createElement(React.Fragment, null,
|
|
28
|
-
React.createElement(Typography, Object.assign({}, rest, { ref: ref, size: 'medium', color: 'dark-grey', className: className, style: style }),
|
|
29
|
-
React.createElement(Truncate, { lines: !shownMore && rows }, text)),
|
|
32
|
+
React.createElement(Typography, Object.assign({}, rest, { ref: ref, size: 'medium', color: 'dark-grey', className: className, style: style, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.contentWrapper }), isContentVisible && React.createElement(Truncate, { lines: lines }, content)),
|
|
30
33
|
!disableToggle && (React.createElement(Button.Action, { onClick: () => {
|
|
31
34
|
setShownMore(!shownMore);
|
|
32
35
|
onToggle();
|
|
33
36
|
}, className: classes.toggleText, icon: React.createElement("div", { className: classes.iconWrapper },
|
|
34
37
|
React.createElement(ChevronRightIcon16, { className: cx(classes.icon, {
|
|
35
38
|
[classes.expandedIcon]: shownMore
|
|
36
|
-
}) })), iconPosition: 'right' }, shownMore ? lessText : moreText))));
|
|
39
|
+
}) })), iconPosition: 'right', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.toggleButton }, shownMore ? lessText : moreText))));
|
|
37
40
|
});
|
|
38
41
|
ShowMore.displayName = 'ShowMore';
|
|
39
42
|
export default ShowMore;
|
package/ShowMore/ShowMore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShowMore.js","sourceRoot":"","sources":["../../src/ShowMore/ShowMore.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"ShowMore.js","sourceRoot":"","sources":["../../src/ShowMore/ShowMore.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAa,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AAGrC,OAAO,kBAAkB,MAAM,wBAAwB,CAAA;AACvD,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAuBnD,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAyB,SAAS,QAAQ,CAC1E,KAAK,EACL,GAAG;IAEH,MAAM,EACJ,QAAQ,EACR,IAAI,GAAG,CAAC,EACR,eAAe,GAAG,KAAK,EACvB,aAAa,GAAG,KAAK,EACrB,QAAQ,GAAG,WAAW,EACtB,QAAQ,GAAG,WAAW,EACtB,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,SAAS,EACT,KAAK,EACL,OAAO,KAEL,KAAK,EADJ,IAAI,UACL,KAAK,EAZH,6HAYL,CAAQ,CAAA;IACT,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAC3B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,QAAQ,EACd,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,IAAI,SAAS,CAAA;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEnC,OAAO,CACL;QACE,oBAAC,UAAU,oBACL,IAAI,IACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,WAAW,EACjB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,iBACC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,KAEnC,gBAAgB,IAAI,oBAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,OAAO,CAAY,CACtD;QACZ,CAAC,aAAa,IAAI,CACjB,oBAAC,MAAM,CAAC,MAAM,IACZ,OAAO,EAAE,GAAG,EAAE;gBACZ,YAAY,CAAC,CAAC,SAAS,CAAC,CAAA;gBACxB,QAAQ,EAAE,CAAA;YACZ,CAAC,EACD,SAAS,EAAE,OAAO,CAAC,UAAU,EAC7B,IAAI,EACF,6BAAK,SAAS,EAAE,OAAO,CAAC,WAAW;gBACjC,oBAAC,kBAAkB,IACjB,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;wBAC1B,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,SAAS;qBAClC,CAAC,GACF,CACE,EAER,YAAY,EAAC,OAAO,iBACP,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,IAEjC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAClB,CACjB,CACA,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;AAEjC,eAAe,QAAQ,CAAA"}
|