UNPKG

react-highlighter-ts

Version:

a TypeScript rewrite of the package react-highlighter

72 lines (48 loc) 1.92 kB
[![npm version](https://badge.fury.io/js/react-highlighter-ts.svg)](https://www.npmjs.com/package/react-highlighter-ts) # react-highlighter-ts This is a TypeScript rewrite of the npm package [`react-highligher`](https://github.com/helior/react-highlighter), which has no type support, has very out of date dependencies, and seems to be abandoned (no activity since 2018). ## Version note Starting with version 18.0.0, this library's major version number will be pinned to the compatible major version of React. For React version 17.x compatability, install version `^2.2.0`. ## Usage The API for this package is identical to that of the original package, `react-highlighter`. ```tsx import * as React from "react"; import { Highlight } from "react-highlighter-ts"; export const Example = () => ( <Highlight search="hello">Hello, World!</Highlight> ); ``` See [generated type documentation](https://chadlavi.github.io/react-highlighter-ts/) for details on properties accepted by `<Highlight>`. ### Styling By default, this library wraps matches in an html `<mark>` tag, and does not style it. Most browsers style the `<mark>` tag by giving it a yellow background and black text. You can style your matches by providing a pre-styled element type to `matchElement`, passing a CSS class to `matchClass`, or passing CSS rules to `matchStyle`. ### Migrating from `react-highlighter` You should be able to migrate directly from `react-highlighter` to `react-highlighter-ts` without any changes in your source code besides adjusting your imports. ## Contributing See something amiss? Please open a PR. ## Development setup This library does not use any global dependencies, so a simple `npm install` should suffice. ## Testing Tests have been adapted from the original `react-highlighter` codebase. Tests use Jest + Enzyme. ```sh npm run test ``` or to watch file changes: ```sh npm run test:watch ```