React component that uses the css line clamping to truncate given text in specified lines.
npm install react-multiline-clampReact component that uses the css line clamping to truncate given text in specified lines.
- 🎉 Uses the css line clamp property
- 😱 It works both with plain text and HTML/Components
- 💥 Integrated show more/less behaviour
- 👂 Listens to text and lines changes and responds accordingly
- ⚙️ Easy-to-use component API
- 🌳 Tiny size, only 1.4kb
``shell`
npm install react-multiline-clamp
`jsx
import Clamp from 'react-multiline-clamp';
const MyComponent = () => { Multiline text
return (
);
};
`
`jsx
import Clamp from 'react-multiline-clamp';
const MyComponent = () => {
return (
maxLines={6}
withToggle
showMoreElement={({ toggle }) => (
)}
showLessElement={({ toggle }) => (
menossssss
)}
>
Multiline text
| Name | Type | Default | Description |
| :-------------: | :---------------------: | :---------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------: |
| children | Element | | The expected element to which the ellipsis would be applied. It could be plain text or any HTML/Component |
| lines | Number | 2 | The number of lines we want the text to be truncated to |
| maxLines | Number | 8 | The maximum number of lines we want to show after clicking on showMore button |
| withTooltip | Boolean | true | Indicates if we want the text to have a tooltip title |
| withToggle | Boolean | false | Indicates if we want to have the show more/less actions |
| showMoreElement | Element | | Element that triggers the show more action |
| showLessElement | Element | | Element that triggers the show less action |
| onShowMore | (isExpanded) => Boolean | () => {} | A callback function that gets calls every time we click on the show more/less buttons. It returns whether the text is expanded or not (Boolean) |
#### See browser support
##### Author: Mikel Parra