1.1.0 • Published 3 years ago

use-dotdotdot v1.1.0

Weekly downloads
331
License
MIT
Repository
github
Last release
3 years ago

use-dotdotdot

A hook to use CSS property, line-clamp, for the long text.

If only one line, use text-overflow for the long text.

If the browser doesn't support line-clamp and need multiline text, use the canvas api, measureText, to generate clamp text.

Installation

npm install use-dotdotdot

or

yarn add use-dotdotdot

Props

NameTypeDescription
width?string or numberThe width of wrapper. If not provide, the width is 100%
maxLinesnumberHow many lines at most
wrapper?React.ElementTypeDefault value is span

Example

import { useDotdotdot } from 'use-dotdotdot';

const App = () => {
  const { wrapperProps, clampText } = useDotdotdot({ maxLines: 2 });

  return (
    <div {...wrapperProps}>
      {clampText(
        'Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ex, deleniti. Ratione voluptatibus ducimus pariatur ab eaque ut vitae, reprehenderit, fugit corrupti quas impedit eum, aut veniam facilis voluptate commodi non?'
      )}
    </div>
  );
};

or use useDotdotdot create your own Component