Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

use-clamp-text

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

use-clamp-text

react hook to clamp multiline text to a given height in a responsive way (in < 2.5kb)

  • 1.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
6.9K
decreased by-15.64%
Maintainers
1
Weekly downloads
 
Created
Source

use-clamp-text

react hook to clamp multiline text to a given height in a responsive way and with extreme flexibility (under 2.5kb)

Line Clampin’ (Truncating Multiple Line Text) is a major hassle still for most browsers.

This tiny react hook eases that pain.

Why hook?

Cause it gives extreme flexibility over how you want to control the text. Do you want truncate it or not? When to truncate it? How to show read more interactions? and more...

Usage

Basic Example

import { useClampText } from 'use-clamp-text';

const longText = "Spicy jalapeno bacon ipsum dolor amet drumstick sirloin chuck shankle. Flank ribeye pancetta andouille ham hock. Turkey cow tenderloin landjaeger filet mignon hamburger. Pig tail strip steak pastrami t-bone venison bresaola biltong corned beef drumstick pork hamburger tri-tip. Tongue ham hock corned beef tri-tip meatball t-bone fatback andouille sirloin chuck jowl biltong pastrami. Ham hock ground round landjaeger tail strip steak. Ham sirloin pork loin salami spare ribs. Jerky cow short ribs ground round. Hamburger porchetta shankle meatloaf shank.";

function ClampedText {
const [ref, { noClamp, clampedText }] = useClampText({
  text: longText,
});

  return (
    <section>
      <h1>
        {noClamp ? 'Not truncated' : 'Truncated'}
      </h1>
      <div>
        {clampedText}
      </div>
    </section>
  );
}

Advanced Example

Check out the codesandbox example

API Reference

proptyperequireddefaultdescription
textstringtrueText you wish to clamp
ellipsisstringfalse'…'String displayed after the clamped text
expandedbooleanfalsefalseTo control whether the string should be truncated or not
linesnumberfalse3Number of visible lines
debouncenumberfalse300Time in milliseconds used for debounce

Prior Art (packages I copied adapted code from)

Keywords

FAQs

Package last updated on 29 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc