A line-clamped text block with an expand/collapse toggle that only appears when content actually overflows.
npx shadcn@latest add @zyeon/read-more
Zyeon UI limits how often it can be asked, and Read More hasn't had its turn. Its source will show here once it has.