Use Line Count
fancy/use-line-countFreeHook
A hook component.
Install it
npx shadcn@latest add https://www.fancycomponents.dev/r/use-line-count.jsonSource
1import { useEffect, useState } from "react"23export function useLineCount(element: HTMLElement) {4 const [lineCount, setLineCount] = useState(0)56 useEffect(() => {7 const calculateLines = () => {8 if (!element) return9 const elementHeight = element.offsetHeight10 const style = window.getComputedStyle(element)11 const lineHeight = parseInt(style.lineHeight)12 const lines = Math.floor(elementHeight / lineHeight)13 setLineCount(lines)14 }1516 calculateLines()1718 const resizeObserver = new ResizeObserver(calculateLines)19 resizeObserver.observe(element)2021 return () => {22 resizeObserver.disconnect()23 }24 }, [element])2526 return lineCount27}
Files it writes
More from fancy
All 158 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Use Debounced Dimensionsuse-debounced-dimensions | fancy | Hooks | Free | no deps | |
| Use Detect Browseruse-detect-browser | fancy | Hooks | Free | no deps | |
| Use Dimensionsuse-dimensions | fancy | Hooks | Free | no deps | |
| Use Elastic Line Eventsuse-elastic-line-events | fancy | Hooks | Free | no deps | |
| Use Line Breakdownuse-line-breakdown | fancy | Hooks | Free | no deps | |
| Use Mounteduse-mounted | fancy | Hooks | Free | no deps | |
| Use Mouse Positionuse-mouse-position | fancy | Hooks | Free | no deps | |
| Use Mouse Position Refuse-mouse-position-ref | fancy | Hooks | Free | no deps |
